| 1 function $$(query,ele){if(!ele){ele=document}return Array.prototype.map.call(ele
.querySelectorAll(query),function(e){return e})}function $$$(query,ele){if(!ele)
{ele=document}return ele.querySelector(query)}this.sk=this.sk||function(){"use s
trict";var sk={};sk.clearChildren=function(ele){while(ele.firstChild){ele.remove
Child(ele.firstChild)}};sk.findParent=function(ele,nodeName){while(ele!=null){if
(ele.nodeName==nodeName){return ele}ele=ele.parentElement}return null};sk.errorM
essage=function(message){var detail={message:message};document.dispatchEvent(new
CustomEvent("error-sk",{detail:detail,bubbles:true}))};sk.Importer=function(){i
f("currentScript"in document){this.importDoc_=document.currentScript.ownerDocume
nt}else{this.importDoc_=document._currentScript.ownerDocument}};sk.Importer.prot
otype.import=function(id){return document.importNode($$$(id,this.importDoc_).con
tent,true)};sk.elePos=function(ele){var bounds=ele.getBoundingClientRect();retur
n{x:bounds.left,y:bounds.top}};sk.request=function(method,url,body,headers){retu
rn new Promise(function(resolve,reject){var req=new XMLHttpRequest;req.open(meth
od,url);if(headers){for(var k in headers){req.setRequestHeader(k,headers[k])}}re
q.onload=function(){if(req.status==200){resolve(req.response)}else{reject(req.re
sponse)}};req.onerror=function(){reject(Error("Network Error"))};req.send(body)}
)};sk.get=function(url){return sk.request("GET",url)};sk.post=function(url,body,
content_type){if(!content_type){content_type="application/json"}return sk.reques
t("POST",url,body,{"Content-Type":content_type})};sk.delete=function(url,body){r
eturn sk.request("DELETE",url,body)};sk.DomReady=new Promise(function(resolve,re
ject){if(document.readyState!="loading"){resolve()}else{document.addEventListene
r("DOMContentLoaded",resolve)}});sk.WebComponentsReady=new Promise(function(reso
lve,reject){window.addEventListener("polymer-ready",resolve)});var _Mailbox=func
tion(){this.boxes={}};_Mailbox.prototype.subscribe=function(addr,cb){var box=thi
s.boxes[addr]||{callbacks:[],value:null};box.callbacks.push(cb);cb(box.value);th
is.boxes[addr]=box};_Mailbox.prototype.unsubscribe=function(addr,cb){var box=thi
s.boxes[addr]||{callbacks:[],value:null};for(var i=box.callbacks.length-1;i>=0;i
--){if(box.callbacks[i]==cb){box.callbacks.splice(i,1)}}};_Mailbox.prototype.sen
d=function(addr,value){var box=this.boxes[addr]||{callbacks:[],value:null};box.v
alue=value;this.boxes[addr]=box;box.callbacks.forEach(function(cb){cb(value)})};
sk.Mailbox=new _Mailbox;sk.human={};var TIME_DELTAS=[{units:"w",delta:7*24*60*60
},{units:"d",delta:24*60*60},{units:"h",delta:60*60},{units:"m",delta:60},{units
:"s",delta:1}];sk.KB=1024;sk.MB=sk.KB*1024;sk.GB=sk.MB*1024;sk.TB=sk.GB*1024;sk.
PB=sk.TB*1024;var BYTES_DELTAS=[{units:" PB",delta:sk.PB},{units:" TB",delta:sk.
TB},{units:" GB",delta:sk.GB},{units:" MB",delta:sk.MB},{units:" KB",delta:sk.KB
},{units:" B",delta:1}];sk.human.pad=function(num,size){var str=num+"";while(str
.length<size)str="0"+str;return str};sk.human.strDuration=function(seconds){if(s
econds<0){seconds=-seconds}if(seconds==0){return" 0s"}var rv="";for(var i=0;i<T
IME_DELTAS.length;i++){if(TIME_DELTAS[i].delta<=seconds){var s=Math.floor(second
s/TIME_DELTAS[i].delta)+TIME_DELTAS[i].units;while(s.length<4){s=" "+s}rv+=s;sec
onds=seconds%TIME_DELTAS[i].delta}}return rv};sk.human.diffDate=function(s){var
ms=typeof s=="number"?s:Date.parse(s);var diff=(ms-Date.now())/1e3;if(diff<0){di
ff=-1*diff}return humanize(diff,TIME_DELTAS)};sk.human.bytes=function(b,unit){if
(Number.isInteger(unit)){b=b*unit}return humanize(b,BYTES_DELTAS)};function huma
nize(n,deltas){for(var i=0;i<deltas.length-1;i++){var nextDeltaRounded=Math.roun
d(n/deltas[i+1].delta)*deltas[i+1].delta;if(nextDeltaRounded/deltas[i].delta>=1)
{return Math.round(n/deltas[i].delta)+deltas[i].units}}var i=deltas.length-1;ret
urn Math.round(n/deltas[i].delta)+deltas[i].units}sk.now=function(){return Math.
round((new Date).getTime()/1e3)};sk.array={};sk.array.equal=function(a,b){if(a.l
ength!=b.length){return false}for(var i=0,len=a.length;i<len;i++){if(a[i]!==b[i]
){return false}}return true};sk.formatHTML=function(s,linksInNewWindow){var sub=
'<a href="$&">$&</a>';if(linksInNewWindow){sub='<a href="$&" target="_blank">$&<
/a>'}s=s.replace(/https?:(\/\/|//)[^ \t\n<]*/g,sub).replace(/(?:\r\n|\
n|\r)/g,"<br/>");return sk.linkifyBugs(s)};var PROJECTS_TO_ISSUETRACKERS={chromi
um:"http://crbug.com/",skia:"http://skbug.com/"};sk.linkifyBugs=function(s){for(
var project in PROJECTS_TO_ISSUETRACKERS){var re=new RegExp(project+":[0-9]+","g
");var found_bugs=s.match(re);if(found_bugs){found_bugs.forEach(function(found_b
ug){var bug_number=found_bug.split(":")[1];var bug_link='<a href="'+PROJECTS_TO_
ISSUETRACKERS[project]+bug_number+'" target="_blank">'+found_bug+"</a>";s=s.repl
ace(found_bug,bug_link)})}}return s};sk.isGoogler=function(email){return email&&
email.endsWith("@google.com")};sk.query={};sk.query.fromParamSet=function(o){if(
!o){return""}var ret=[];var keys=Object.keys(o).sort();keys.forEach(function(key
){o[key].forEach(function(value){ret.push(encodeURIComponent(key)+"="+encodeURIC
omponent(value))})});return ret.join("&")};sk.query.toParamSet=function(s){s=s||
"";var ret={};var vars=s.split("&");for(var i=0;i<vars.length;i++){var pair=vars
[i].split("=",2);if(pair.length==2){var key=decodeURIComponent(pair[0]);var valu
e=decodeURIComponent(pair[1]);if(ret.hasOwnProperty(key)){ret[key].push(value)}e
lse{ret[key]=[value]}}}return ret};sk.query.fromObject=function(o){var ret=[];Ob
ject.keys(o).forEach(function(key){ret.push(encodeURIComponent(key)+"="+encodeUR
IComponent(o[key]))});return ret.join("&")};sk.query.toObject=function(s,target)
{var target=target||{};var ret={};var vars=s.split("&");for(var i=0;i<vars.lengt
h;i++){var pair=vars[i].split("=",2);if(pair.length==2){var key=decodeURICompone
nt(pair[0]);var value=decodeURIComponent(pair[1]);if(target.hasOwnProperty(key))
{switch(typeof target[key]){case"boolean":ret[key]=value=="true";break;case"numb
er":ret[key]=Number(value);break;case"string":ret[key]=value;break;default:ret[k
ey]=value}}else{ret[key]=value}}}return ret};sk.query.splitAmp=function(queryStr
){queryStr=queryStr||"";return queryStr.split("&").join("\n")};sk.object={};sk.o
bject.getDelta=function(o,d){var ret={};Object.keys(o).forEach(function(key){if(
o[key]!=d[key]){ret[key]=o[key]}});return ret};sk.object.applyDelta=function(del
ta,o){var ret={};Object.keys(o).forEach(function(key){if(delta.hasOwnProperty(ke
y)){ret[key]=delta[key]}else{ret[key]=o[key]}});return ret};sk.object.shallowCop
y=function(o){var ret={};for(var k in o){if(o.hasOwnProperty(k)){ret[k]=o[k]}}re
turn ret};sk.stateReflector=function(page,cb){var defaultState=JSON.parse(JSON.s
tringify(page.state));var lastState=JSON.parse(JSON.stringify(page.state));setIn
terval(function(){if(Object.keys(sk.object.getDelta(lastState,page.state)).lengt
h>0){lastState=JSON.parse(JSON.stringify(page.state));var q=sk.query.fromObject(
sk.object.getDelta(page.state,defaultState));history.pushState(null,"",window.lo
cation.origin+window.location.pathname+"?"+q)}},100);var stateFromURL=function()
{var delta=sk.query.toObject(window.location.search.slice(1),defaultState);page.
state=sk.object.applyDelta(delta,defaultState);lastState=JSON.parse(JSON.stringi
fy(page.state));cb()};if(window["Polymer"]&&Polymer.version[0]=="0"){sk.WebCompo
nentsReady.then(stateFromURL)}else{sk.DomReady.then(stateFromURL)}window.addEven
tListener("popstate",stateFromURL)};sk.getRoundNumber=function(min,max,base){if(
min>max){throw"sk.getRoundNumber: min > max! ("+min+" > "+max+")"}var multipleOf
=[5,2,1];var val=(max+min)/2;if(!base){base=10}var digits=Math.floor(Math.log(Ma
th.abs(val))/Math.log(base))+1;for(var shift=0;;shift++){var shiftDiv=Math.pow(b
ase,digits-shift);for(var i=0;i<multipleOf.length;i++){var f=shiftDiv*multipleOf
[i];var newVal=Math.round(val/f)*10*f/10;if(newVal>=min&&newVal<=max){return new
Val}}}console.error("sk.getRoundNumber Couldn't find appropriate rounding "+"val
ue. Returning midpoint.");return val};sk.sortStrings=function(s){return s.sort(f
unction(a,b){return a.localeCompare(b,"en",{sensitivity:"base"})})};sk.toCapWord
s=function(s){return s.replace(/\b\w/g,function(firstLetter){return firstLetter.
toUpperCase()})};sk.truncate=function(str,len){if(str.length>len){var ellipsis="
...";return str.substring(0,len-ellipsis.length)+ellipsis}return str};sk.hashStr
ing=function(s){var hash=0;for(var i=s.length-1;i>=0;i--){hash=(hash<<5)-hash+s.
charCodeAt(i);hash|=0}return Math.abs(hash)};sk.escapeHTML=function(s){return s.
replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"&q
uot;").replace(/'/g,"'").replace(/\//g,"/")};sk.sharesElement=function
(a,b){var i=0;var j=0;while(i<a.length&&j<b.length){if(a[i]<b[j]){i++}else if(b[
j]<a[i]){j++}else{return true}}return false};sk.robust_get=function(obj,idx){if(
!idx||!obj){return}for(var i=0,len=idx.length;i<len;i++){if(typeof obj==="undefi
ned"||typeof idx[i]==="undefined"){return}obj=obj[idx[i]]}return obj};function _
hexify(i){var s=i.toString(16).toUpperCase();if(s.length<2){s="0"+s}return s}sk.
colorHex=function(colors,offset){return"#"+_hexify(colors[offset+0])+_hexify(col
ors[offset+1])+_hexify(colors[offset+2])+_hexify(colors[offset+3])};sk.colorRGB=
function(colors,offset){return"rgba("+colors[offset]+", "+colors[offset+1]+", "+
colors[offset+2]+", "+colors[offset+3]/255+")"};if(!String.prototype.startsWith)
{String.prototype.startsWith=function(searchString,position){position=position||
0;return this.indexOf(searchString,position)===position}}return sk}(); |