(function() {var h,aa=aa||{},l=this,m=function(a){return void 0!==a},ba=function(){},ca=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!= typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},da=function(a){return null!=a},n=function(a){return"array"==ca(a)},ea=function(a){var b=ca(a);return"array"==b||"object"==b&&"number"==typeof a.length},p=function(a){return"string"==typeof a},q=function(a){return"number"==typeof a},r=function(a){return"function"==ca(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a|| "function"==b},fa="closure_uid_"+(1E9*Math.random()>>>0),ga=0,ha=function(a,b,c){return a.call.apply(a.bind,arguments)},ia=function(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(ta,">"));-1!=a.indexOf('"')&&(a=a.replace(ua,"""));-1!=a.indexOf("'")&& (a=a.replace(va,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(wa,"�"));return a},ra=/&/g,sa=//g,ua=/"/g,va=/'/g,wa=/\x00/g,qa=/[\x00&<>"']/,ya=function(a,b){return ab?1:0};var za=function(a,b){b.unshift(a);ma.call(this,oa.apply(null,b));b.shift()};x(za,ma);za.prototype.name="AssertionError"; var Aa=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new za(""+e,f||[]);},z=function(a,b,c){a||Aa("",null,b,Array.prototype.slice.call(arguments,2));return a},Ba=function(a,b){throw new za("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Ca=function(a,b,c){q(a)||Aa("Expected number but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2));return a},Da=function(a,b,c){r(a)||Aa("Expected function but got %s: %s.",[ca(a), a],b,Array.prototype.slice.call(arguments,2))},Ea=function(a,b,c){t(a)||Aa("Expected object but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))},Fa=function(a,b,c){n(a)||Aa("Expected array but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))};var Ga=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},Ha=function(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c},Ia=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d},Ja=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},Ka=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},La=function(a){for(var b in a)return!1;return!0},Ma=function(a,b){b in a&&delete a[b]},Na=function(a){var b={},c;for(c in a)b[c]=a[c];return b},Oa=function(a){var b= ca(a);if("object"==b||"array"==b){if(r(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=Oa(a[c]);return b}return a},Pa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Qa=function(a,b){for(var c,d,e=1;ec?Math.max(0,a.length+c):c;if(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc&&(c=Math.max(0,a.length+c));if(p(a))return p(b)&&1== b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1},Wa=Array.prototype.forEach?function(a,b,c){z(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;fb?null:p(a)?a.charAt(b):a[b]},cb=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},eb=function(a,b){var c=Ua(a,b),d;(d=0<=c)&&db(a,c);return d},db=function(a,b){z(null!=a.length); Array.prototype.splice.call(a,b,1)},fb=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)},gb=function(a){var b=a.length;if(0=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a, b,c)},jb=function(a){for(var b={},c=0,d=0;dparseFloat(ub)){tb=String(wb);break a}}tb=ub} var xb=tb,Sa={},yb=function(a){return Ta(a,function(){for(var b=0,c=pa(String(xb)).split("."),d=pa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Eb="closure_listenable_"+(1E6*Math.random()|0),Fb=function(a){return!(!a||!a[Eb])},Gb=0;var Hb=function(a,b,c,d,e){this.listener=a;this.ub=null;this.src=b;this.type=c;this.bb=!!d;this.mb=e;this.key=++Gb;this.Aa=this.ab=!1},Ib=function(a){a.Aa=!0;a.listener=null;a.ub=null;a.src=null;a.mb=null};var Jb=function(a){this.src=a;this.C={};this.Wa=0};Jb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.C[f];a||(a=this.C[f]=[],this.Wa++);var g=Kb(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(v){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,g=e.length-1;!c.za&&0<=g;g--){c.currentTarget=e[g];var k=$b(e[g],f,!0,c),d=d&&k}for(g=0;!c.za&&g>>0),Qb=function(a){z(a,"Listener can not be null.");if(r(a))return a;z(a.handleEvent,"An object listener must have handleEvent method.");a[ac]||(a[ac]=function(b){return a.handleEvent(b)});return a[ac]};var bc=function(){y.call(this);this.P=new Jb(this);this.zd=this;this.jc=null};x(bc,y);bc.prototype[Eb]=!0;h=bc.prototype;h.addEventListener=function(a,b,c,d){Pb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Xb(this,a,b,c,d)}; h.dispatchEvent=function(a){cc(this);var b,c=this.jc;if(c){b=[];for(var d=1;c;c=c.jc)b.push(c),z(1E3>++d,"infinite loop")}c=this.zd;d=a.type||a;if(p(a))a=new la(a,c);else if(a instanceof la)a.target=a.target||c;else{var e=a;a=new la(d,c);Qa(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.za&&0<=g;g--)f=a.currentTarget=b[g],e=dc(f,d,!0,a)&&e;a.za||(f=a.currentTarget=c,e=dc(f,d,!0,a)&&e,a.za||(e=dc(f,d,!1,a)&&e));if(b)for(g=0;!a.za&&g=a.length)throw fc;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},ic=function(a,b){if(ea(a))try{Wa(a,b,void 0)}catch(c){if(c!==fc)throw c;}else{a=hc(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==fc)throw c;}}};var jc=function(a,b){this.o={};this.h=[];this.Xa=this.f=0;var c=arguments.length;if(12*this.f&&kc(this),!0):!1};var kc=function(a){if(a.f!=a.h.length){for(var b=0,c=0;b=d.h.length)throw fc;var e=d.h[b++];return a?e:d.o[e]};return e};var lc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var mc=function(a){if(a.s&&"function"==typeof a.s)return a.s();if(p(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;de&&(e+=d);return[a.Td,c,e,b.y].join("/")},uc=function(a){la.call(this,"tileevent");this.count=a};x(uc,la);var vc=function(a,b,c){this.Rd=c;this.Id=a;this.be=b;this.sb=0;this.nb=null};vc.prototype.get=function(){var a;0");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):pd(c,d));2=b.Nb&&b.cancel())}this.hd?this.hd.call(this.Ec,this):this.nc=!0;this.ua||yd(this,new zd)}};xd.prototype.Bc=function(a,b){this.Mb=!1;Ad(this,a,b)}; var Ad=function(a,b,c){a.ua=!0;a.Y=c;a.Na=!b;Bd(a)},Dd=function(a){if(a.ua){if(!a.nc)throw new Cd;a.nc=!1}};xd.prototype.Ob=function(a){Dd(this);Ed(a);Ad(this,!0,a)};var yd=function(a,b){Dd(a);Ed(b);Ad(a,!1,b)},Ed=function(a){z(!(a instanceof xd),"An execution sequence may not be initiated with a blocking Deferred.")},Fd=function(a,b,c){z(!a.yc,"Blocking Deferreds can not be re-used");a.xb.push([b,c,void 0]);a.ua&&Bd(a)}; xd.prototype.then=function(a,b,c){var d,e,f=new Mc(function(a,b){d=a;e=b});Fd(this,d,function(a){a instanceof zd?f.cancel():e(a)});return f.then(a,b,c)};Ic(xd); var Gd=function(a){return Za(a.xb,function(a){return r(a[1])})},Bd=function(a){if(a.Eb&&a.ua&&Gd(a)){var b=a.Eb,c=Hd[b];c&&(l.clearTimeout(c.W),delete Hd[b]);a.Eb=0}a.j&&(a.j.Nb--,delete a.j);for(var b=a.Y,d=c=!1;a.xb.length&&!a.Mb;){var e=a.xb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Na?g:f)try{var k=f.call(e||a.Ec,b);m(k)&&(a.Na=a.Na&&(k==b||k instanceof Error),a.Y=b=k);if(Jc(b)||"function"===typeof l.Promise&&b instanceof l.Promise)d=!0,a.Mb=!0}catch(v){b=v,a.Na=!0,Gd(a)||(c=!0)}}a.Y=b;d&&(k=u(a.Bc, a,!0),d=u(a.Bc,a,!1),b instanceof xd?(Fd(b,k,d),b.yc=!0):b.then(k,d));c&&(b=new Id(b),Hd[b.W]=b,a.Eb=b.W)},Cd=function(){ma.call(this)};x(Cd,ma);Cd.prototype.message="Deferred has already fired";Cd.prototype.name="AlreadyCalledError";var zd=function(){ma.call(this)};x(zd,ma);zd.prototype.message="Deferred was canceled";zd.prototype.name="CanceledError";var Id=function(a){this.W=l.setTimeout(u(this.de,this),0);this.gb=a}; Id.prototype.de=function(){z(Hd[this.W],"Cannot throw an error that is not scheduled.");delete Hd[this.W];throw this.gb;};var Hd={};var Kd=function(a){var b=new ld;b.kc=a;Jd(b)},Jd=function(a){var b={},c=b.document||document,d;a instanceof ld&&a.constructor===ld&&a.yd===kd?d=a.kc:(Ba("expected object of type TrustedResourceUrl, got '"+a+"' of type "+ca(a)),d="type_error:TrustedResourceUrl");var e=document.createElement("SCRIPT");a={rd:e,Va:void 0};var f=new xd(Ld,a),g=null,k=null!=b.timeout?b.timeout:5E3;0=Wd(this).value)for(r(b)&&(b=b()),a=new Pd(a,String(b),this.Wd),c&&(a.Ic=c),c="log:"+a.Vd,l.console&&(l.console.timeStamp?l.console.timeStamp(c):l.console.markTimeline&&l.console.markTimeline(c)),l.msWriteProfilerMark&&l.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.Sc)for(var e=0,f;f=b.Sc[e];e++)f(d);c=c.getParent()}}; var Xd={},Yd=null,Zd=function(a){Yd||(Yd=new Rd(""),Xd[""]=Yd,Yd.td(Ud));var b;if(!(b=Xd[a])){b=new Rd(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=Zd(a.substr(0,c));c.Oc()[d]=b;b.j=c;Xd[a]=b}return b};var $d=function(a,b){a&&a.log(Vd,b,void 0)};var ae=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,be=function(a,b){if(a)for(var c=a.split("&"),d=0;db)throw Error("Bad port number "+b);a.xa=b}else a.xa=null};ve.prototype.getPath=function(){return this.wa};ve.prototype.setPath=function(a,b){xe(this);this.wa=b?Ae(a,!0):a;return this};var ze=function(a,b,c){xe(a);b instanceof Be?(a.T=b,a.T.mc(a.I)):(c||(b=Ce(b,He)),a.T=new Be(b,0,a.I))},xe=function(a){if(a.Qd)throw Error("Tried to modify a read-only Uri");}; ve.prototype.mc=function(a){this.I=a;this.T&&this.T.mc(a);return this}; var Ie=function(a){return a instanceof ve?a.clone():new ve(a,void 0)},Ae=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ce=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,Je),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Je=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},De=/[#\/\?@]/g,Fe=/[\#\?:]/g,Ee=/[\#\?]/g,He=/[\#\?@]/g,Ge=/#/g,Be=function(a,b,c){this.f=this.i=null;this.G=a||null;this.I=!!c},Ke=function(a){a.i|| (a.i=new jc,a.f=0,a.G&&be(a.G,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=Be.prototype;h.B=function(){Ke(this);return this.f};h.add=function(a,b){Ke(this);this.G=null;a=Le(this,a);var c=this.i.get(a);c||this.i.set(a,c=[]);c.push(b);this.f=Ca(this.f)+1;return this};h.remove=function(a){Ke(this);a=Le(this,a);return this.i.$(a)?(this.G=null,this.f=Ca(this.f)-this.i.get(a).length,this.i.remove(a)):!1};h.clear=function(){this.i=this.G=null;this.f=0}; h.isEmpty=function(){Ke(this);return 0==this.f};h.$=function(a){Ke(this);a=Le(this,a);return this.i.$(a)};h.L=function(){Ke(this);for(var a=this.i.s(),b=this.i.L(),c=[],d=0;db&&(b+=e);return[df,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};w("ee.data.getTileUrl",of); var pf=function(a,b){a=Na(a);return D("/value",E(a),b)};w("ee.data.getValue",pf);var qf=function(a,b){a=Na(a);n(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));var c=E(a).add("getid","1");return D("/thumb",c,b)};w("ee.data.getThumbId",qf);var rf=function(a){return df+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};w("ee.data.makeThumbUrl",rf);var sf=function(a,b){a=Na(a);return D("/download",E(a),b)};w("ee.data.getDownloadId",sf); var tf=function(a){return df+"/api/download?docid="+a.docid+"&token="+a.token};w("ee.data.makeDownloadUrl",tf);var uf=function(a,b){a=Na(a);return D("/table",E(a),b)};w("ee.data.getTableDownloadId",uf);var vf=function(a){return df+"/api/table?docid="+a.docid+"&token="+a.token};w("ee.data.makeTableDownloadUrl",vf);var xf=function(a,b,c){var d=wf;try{return wf=a,b.call(c)}finally{wf=d}};w("ee.data.withProfiling",xf); w("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return D("/newtaskid",E(c),b)});w("ee.data.getTaskStatus",function(a,b){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");return D("/taskstatus?q="+a.join(),null,b,"GET")});w("ee.data.getTaskList",function(a){return D("/tasklist",null,a,"GET")});w("ee.data.cancelTask",function(a,b){return yf(a,"CANCEL",b)}); var yf=function(a,b,c){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");var d;a:{d=zf;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return D("/updatetask",E({id:a,action:b}),c,"POST")};w("ee.data.updateTask",yf);w("ee.data.startProcessing",function(a,b,c){b=Na(b);b.id=a;return D("/processingrequest",E(b),c)}); w("ee.data.startIngestion",function(a,b,c){a={id:a,request:fd(b)};return D("/ingestionrequest",E(a),c)});var Af=function(a,b){return D("/info",(new Be).add("id",a),b)};w("ee.data.getInfo",Af);var Bf=function(a,b){var c=E(a);return D("/list",c,b)};w("ee.data.getList",Bf);w("ee.data.getAssetRoots",function(a){return D("/buckets",null,a,"GET")});w("ee.data.createAssetHome",function(a,b){var c=E({id:a});D("/createbucket",c,b)}); w("ee.data.createAsset",function(a,b,c,d){p(a)||(a=fd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return D("/create",E(a),d)});w("ee.data.createFolder",function(a,b,c){return D("/createfolder",E({id:a,force:b||!1}),c)});w("ee.data.renameAsset",function(a,b,c){D("/rename",E({sourceId:a,destinationId:b}),c)});w("ee.data.copyAsset",function(a,b,c){D("/copy",E({sourceId:a,destinationId:b}),c)});w("ee.data.deleteAsset",function(a,b){D("/delete",E({id:a}),b)}); w("ee.data.getAssetAcl",function(a,b){return D("/getacl",E({id:a}),b,"GET")});w("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:fd(b)};D("/setacl",E(a),c)});w("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:fd(b)};D("/setproperties",E(a),c)});w("ee.data.getAssetRootQuota",function(a,b){return D("/quota",E({id:a}),b,"GET")}); var zf={je:"CANCEL",me:"UPDATE"},D=function(a,b,c,d){ff();var e=wf,f={"Content-Type":"application/x-www-form-urlencoded"},g=Ze();if(null!=g)f.Authorization=g;else if(c&&Ve&&Me)return Qe(function(){xf(e,function(){D(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new Be;e&&b.add("profiling","1");b=jf(b,a);null!=ef&&(f["X-XSRF-Token"]=ef);var k=function(a,b,c,d){var f=b("X-Earth-Engine-Computation-Profile");f&&e&&e(f);var g,k,v;b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"== b||"text/json"==b)try{g=dd(c),k=g.data}catch(R){v="Invalid JSON: "+c}else v="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error?v=g.error.message:"data"in g||(v="Malformed response: "+c);else if(0===a)v="Failed to contact Earth Engine servers. Please check your connection, firewall, or browser extension settings.";else if(200>a||300<=a)v="Server returned HTTP code: "+a;if(d)return d(k,v),null;if(!v)return k;throw Error(v);},v=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(v)|| (a+=-1!=a.indexOf("?")?"&":"?",a+=v,v=null);var R=bf+a;if(c)return Cf.push({url:R,Ob:function(a){a=a.target;var b=a.getStatus(),d=u(a.getResponseHeader,a),e;try{e=a.a?a.a.responseText:""}catch(f){$d(a.F,"Can not get responseText: "+f.message),e=""}return k(b,d,e,c)},method:g,content:v,headers:f}),Df.Lc(),null;var S=B();S.open(g,R,!1);Ga(f,function(a,b){S.setRequestHeader(b,a)});S.send(v);return k(S.status,function(a){try{return S.getResponseHeader(a)}catch(b){return null}},S.responseText,null)},Pe= function(a){var b=function(){l.gapi.config.update("client/cors",!0);Ve||(Ve=l.gapi.auth.authorize);a()};if(t(l.gapi)&&t(l.gapi.auth)&&r(l.gapi.auth.authorize))b();else{for(var c=ka().toString(36);c in l;)c+="_";l[c]=function(){delete l[c];b()};Kd("https://apis.google.com/js/client.js?onload="+c)}},Te=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(Qe,.9*c),Xe=ka()+c),Oe=b,a&&a()):b&&b(c.error||"Unknown error.")},E=function(a){var b= new Be,c;for(c in a)b.set(c,a[c]);return b},Cf=[],Df=new ad(function(){var a=Cf.shift();if(a){var b=a.url,c=a.Ob,d=a.method,e=a.content,a=a.headers,f=gf,g=new C;le.push(g);c&&g.Sa("complete",c);g.qb("ready",g.Fd);f&&(g.Ea=Math.max(0,f));g.send(b,d,e,a)}0==Cf.length||Df.Lc()},350),bf=null,df=null,ef=null,jf=ec,Oe=null,Xe=null,Me=null,Ne=[],Ve=null,cf=!1,gf=0,wf=null;var Ef=function(){};var Ff=function(){this.Z=-1};var Gf=function(){this.Z=64;this.A=Array(4);this.Bd=Array(this.Z);this.Cb=this.Ha=0;this.reset()};x(Gf,Ff);Gf.prototype.reset=function(){this.A[0]=1732584193;this.A[1]=4023233417;this.A[2]=2562383102;this.A[3]=271733878;this.Cb=this.Ha=0}; var Hf=function(a,b,c){c||(c=0);var d=Array(16);if(p(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.A[0];c=a.A[1];var e=a.A[2],f=a.A[3],g;g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^ b))+d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+ (c^f&(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295| g>>>27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295| g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295| g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^ b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295; f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+ (g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295; c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.A[0]=a.A[0]+b&4294967295;a.A[1]=a.A[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.A[2]=a.A[2]+e&4294967295;a.A[3]=a.A[3]+f&4294967295}; Gf.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.Z,d=this.Bd,e=this.Ha,f=0;fthis.Ha?this.Z:2*this.Z)-this.Ha);a[0]=128;for(var b=1;bb;++b)for(var d=0;32>d;d+=8)a[c++]=this.A[b]>>>d&255;return a};var If=function(a){this.Ya="__ee_hash__";this.dc=!1!==a;this.Ca=[];this.ta={};this.uc=[]};w("ee.Serializer",If);var Jf=new ed,Kf=new Gf,Mf=function(a,b){return Lf(new If(m(b)?b:!0),a)};w("ee.Serializer.encode",Mf);var Nf=function(a){return Jf.u(Mf(a))};w("ee.Serializer.toJSON",Nf);var Of=function(a){a=Lf(new If(!1),a);return"JSON"in l?l.JSON.stringify(a,null," "):Jf.u(a)};w("ee.Serializer.toReadableJSON",Of); var Lf=function(a,b){var c=a.fb(b);a.dc&&(c=t(c)&&"ValueRef"==c.type&&1==a.Ca.length?a.Ca[0][1]:{type:"CompoundValue",scope:a.Ca,value:c},a.Ca=[],Wa(a.uc,u(function(a){delete a[this.Ya]},a)),a.uc=[],a.ta={});return c}; If.prototype.fb=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b,c=t(a)?a[this.Ya]:null;if(this.dc&&null!=c&&this.ta[c])return{type:"ValueRef",value:this.ta[c]};if(null===a||"boolean"==typeof a||q(a)||p(a))return a;if(t(a)&&"function"==typeof a.getFullYear)return{type:"Invocation",functionName:"Date",arguments:{value:Math.floor(a.getTime())}};if(a instanceof Ef){if(b=a.encode(u(this.fb,this)),!(n(b)||t(b)&&"ArgumentRef"!=b.type))return b}else if(n(a))b=Ya(a,function(a){return this.fb(a)}, this);else if(t(a)&&!r(a))b=Ia(a,function(a){if(!r(a))return this.fb(a)},this),Ma(b,this.Ya),b={type:"Dictionary",value:b};else throw Error("Can't encode object: "+a);if(this.dc){Kf.reset();Kf.update(Jf.u(b));var c=Kf.digest().toString(),d;this.ta[c]?d=this.ta[c]:(d=String(this.Ca.length),this.Ca.push([d,b]),this.ta[c]=d);a[this.Ya]=c;this.uc.push(a);return{type:"ValueRef",value:d}}return b};var F=function(a,b,c){if(!(this instanceof F))return G(F,arguments);if(c&&(a||b))throw Error('When "opt_varName" is specified, "func" and "args" must be null.');if(a&&!b)throw Error('When "func" is specified, "args" must not be null.');this.c=a;this.m=b;this.v=c||null};x(F,Ef);w("ee.ComputedObject",F);F.prototype.evaluate=function(a){if(!a||!r(a))throw Error("evaluate() requires a callback function.");pf({json:this.u()},a)};F.prototype.evaluate=F.prototype.evaluate; F.prototype.S=function(a){return pf({json:this.u()},a)};F.prototype.getInfo=F.prototype.S;F.prototype.encode=function(a){if(null===this.c&&null===this.m)return{type:"ArgumentRef",value:this.v};var b={},c;for(c in this.m)m(this.m[c])&&(b[c]=a(this.m[c]));b={type:"Invocation",arguments:b};a=a(this.c);b[p(a)?"functionName":"function"]=a;return b};F.prototype.u=function(){return Nf(this)};F.prototype.serialize=F.prototype.u;F.prototype.toString=function(){return"ee."+this.name()+"("+Of(this)+")"}; F.prototype.toString=F.prototype.toString;F.prototype.name=function(){return"ComputedObject"};F.prototype.wc=function(a,b){var c=gb(arguments);c[0]=this;a.apply(l,c);return this};F.prototype.aside=F.prototype.wc;var Pf=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;c=new c;c.c=b.c;c.m=b.m;c.v=b.v;return c},G=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Qf={},Rf=function(a){return a.prototype instanceof F?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Sf=function(a,b){if(b==a)return!0;switch(a){case "Element":return"Element"==b||"Image"==b||"Feature"==b||"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "FeatureCollection":case "Collection":return"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "Object":return!0;default:return!1}},Tf=function(a){return q(a)|| a instanceof F&&"Number"==a.name()},Uf=function(a){return p(a)||a instanceof F&&"String"==a.name()},Vf=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var H=function(){if(!(this instanceof H))return new H};x(H,Ef);w("ee.Function",H);var Wf=ec;H.prototype.call=function(a){return this.apply(Xf(this,Array.prototype.slice.call(arguments,0)))};H.prototype.call=H.prototype.call;H.prototype.apply=function(a){a=new F(this,Yf(this,a));return Wf(a,this.D().returns)};H.prototype.apply=H.prototype.apply; var Zf=function(a,b,c){var d=m(b),e=a.D(),f=!1;if(1==c.length&&Vf(c[0])){var g=e.args;d&&(g=g.slice(1));g.length&&(f=!((1==g.length||g[1].optional)&&"Dictionary"==g[0].type))}if(f){if(c=Na(c[0]),d){d=e.args[0].name;if(d in c)throw Error("Named args for "+e.name+" can't contain keyword "+d);c[d]=b}}else c=Xf(a,d?[b].concat(c):c);return a.apply(c)},Yf=function(a,b){for(var c=a.D().args,d={},e={},f=0;f/,"");for(var c=0;c/,"");return new I(b,a)}),a&&a())};a?D("/algorithms",null,c,"GET"):c(D("/algorithms",null,void 0,"GET"))}},K=function(a,b,c,d){dg();var e=d||"";Ga(bg,function(d,g){var k=g.split(".");if(2==k.length&&k[0]==b){var k=e+k[1],v=d.D();cg[g]=!0;var R=!1;if(v.args.length)var S= v.args[0].type,R="Object"!=S&&Sf(S,c);S=R?a.prototype:a;k in S&&!S[k].signature||(S[k]=function(a){return Zf(d,R?this:void 0,Array.prototype.slice.call(arguments,0))},S[k].toString=u(d.toString,d,k,R),S[k].signature=v)}})},L=function(a){var b=function(a){for(var b in a)r(a[b])&&a[b].signature&&delete a[b]};b(a);b(a.prototype)};var M=function(a,b){var c=hg(a),d=Ya(c,function(a){return a.replace(/^opt_/,"")}),e=l.Ga?l.Ga[a.toString()].name.split(".").pop()+"()":null,e=e?" to function "+e:"",f={},g=b[0],k=t(g)&&!r(g)&&!n(g)&&!(g instanceof F);if(1d.length)throw Error("Received too many arguments"+e+". Expected at most "+d.length+" but got "+b.length+".");for(g=0;g=arguments.length){var c=arguments[0];if(b=Vf(c))a:{b=Ka(c);var d=["properties"];if(ea(b)&&ea(d)&&b.length==d.length){for(var e=b.length,f=0;fc||4/,"");c[e]=!0}var f=l.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=Zh(g),Th.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,cg[g]=!0):f[g].signature={});Qf=f;$h()}catch(k){Rh(k);return}Nh="ready";for(Oh=[];0this.rb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.R=new ji;this.ca=new oc;this.Sb=0;this.ec=null;this.Za()};x(ki,y);h=ki.prototype;h.jb=function(){var a=ka();if(!(null!=this.ec&&a-this.ecthis.rb&&0=this.B()){for(var c=this.M,d=0;d>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=mi.prototype; h.remove=function(){var a=this.M,b=a.length,c=a[0];if(!(0>=b)){if(1==b)cb(a);else{a[0]=a.pop();for(var a=0,b=this.M,d=b.length,e=b[a];a>1;){var f=2*a+1,g=2*a+2,f=ge.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.tc}};h.s=function(){for(var a=this.M,b=[],c=a.length,d=0;da.Ud)return!1;a.xc++;ii(a.ba,a.W);setTimeout(u(a.ce,a),0);return!0}; ri.prototype.ce=function(){if(!this.ra){var a=u(function(a){this.ra||((a=p(a)?a:a.src)&&(this.ba.Pa[this.W]={src:a,Cc:m(void 0)?void 0:null}),Wb(this.ba,ui,u(this.Nd,this)),this.ba.start())},this),b=this.getUrl();if(Ie(b).T.$("profiling")){var c=new C;c.Ua="blob";c.Sa("complete",u(function(){this.nd=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;var d;if(200<=c.getStatus()&&300>c.getStatus())try{d=URL.createObjectURL(ue(c))}catch(e){}a(d||b)},this));c.qb("ready",u(c.O,c));c.send(b, "GET")}else a(b)}};var vi=function(){this.J=!1};x(vi,y);vi.prototype.setActive=function(a){this.J=a};vi.prototype.Wc=function(){return this.J};var qi=function(a,b){pi.call(this,a,b)};x(qi,pi);qi.prototype.Rb=function(){return new vi};qi.prototype.cb=function(a){a.O()};qi.prototype.hc=function(a){return!a.aa&&!a.Wc()};var Z=function(a,b,c,d,e){sc.call(this,a,b,c);this.minZoom=d.minZoom||0;this.maxZoom=d.maxZoom||20;if(!window.google||!window.google.maps)throw Error("Google Maps API hasn't been initialized.");this.tileSize=d.tileSize||new google.maps.Size(256,256);this.Xc=m(d.Xc)?d.Xc:!0;this.name=d.name;this.qc=new oc;this.ic=1;this.ya=e||null};x(Z,sc);w("ee.MapLayerOverlay",Z);Z.prototype.Ad=function(a){return Pb(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.Ad;Z.prototype.ae=function(a){Yb(a)}; Z.prototype.removeTileCallback=Z.prototype.ae;Z.prototype.Ja=function(){this.dispatchEvent(new uc(this.na.length))}; Z.prototype.getTile=function(a,b,c){if(ba.y||a.y>=1<