This commit is contained in:
Éric Lemoine
2013-03-05 11:09:55 +01:00
parent 881373b178
commit 10ee3b644c
124 changed files with 25322 additions and 4149 deletions
+134 -127
View File
@@ -37,8 +37,8 @@ goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goo
goog.string.contains=function(a,b){return-1!=a.indexOf(b)};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&(b<a.length&&0<c)&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")};goog.string.removeAll=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=function(a,b){return Array(b+1).join(a)};goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};
goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",i=e[g]||"",k=RegExp("(\\d*)(\\D*)","g"),j=RegExp("(\\d*)(\\D*)","g");do{var l=k.exec(h)||["","",""],m=j.exec(i)||["","",""];if(0==l[0].length&&0==m[0].length)break;var c=0==l[1].length?0:parseInt(l[1],10),p=0==m[1].length?0:parseInt(m[1],10),c=goog.string.compareElements_(c,p)||goog.string.compareElements_(0==
l[2].length,0==m[2].length)||goog.string.compareElements_(l[2],m[2])}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",i=e[g]||"",l=RegExp("(\\d*)(\\D*)","g"),j=RegExp("(\\d*)(\\D*)","g");do{var k=l.exec(h)||["","",""],m=j.exec(i)||["","",""];if(0==k[0].length&&0==m[0].length)break;var c=0==k[1].length?0:parseInt(k[1],10),n=0==m[1].length?0:parseInt(m[1],10),c=goog.string.compareElements_(c,n)||goog.string.compareElements_(0==
k[2].length,0==m[2].length)||goog.string.compareElements_(k[2],m[2])}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmpty(a)?NaN:b};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})};
goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.doAssertFailure_=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 goog.asserts.AssertionError(""+e,f||[]);};
goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.fail=function(a,b){if(goog.asserts.ENABLE_ASSERTS)throw new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};
@@ -60,7 +60,7 @@ goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.arr
goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;
goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],e;if(goog.isArray(d)||(e=goog.isArrayLike(d))&&d.hasOwnProperty("callee"))a.push.apply(a,d);else if(e)for(var f=a.length,g=d.length,h=0;h<g;h++)a[f+h]=d[h];else a.push(d)}};goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments,1))};
goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b){for(var c=b||a,d={},e=0,f=0;f<a.length;){var g=a[f++],h=goog.isObject(g)?"o"+goog.getUid(g):(typeof g).charAt(0)+g;Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,c[e++]=g)}c.length=e};
goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var i=f+g>>1,k;k=c?b.call(e,a[i],i,a):b(d,a[i]);0<k?f=i+1:(g=i,h=!k)}return h?f:~f};goog.array.sort=function(a,b){goog.asserts.assert(null!=a.length);goog.array.ARRAY_PROTOTYPE_.sort.call(a,b||goog.array.defaultCompare)};
goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var i=f+g>>1,l;l=c?b.call(e,a[i],i,a):b(d,a[i]);0<l?f=i+1:(g=i,h=!l)}return h?f:~f};goog.array.sort=function(a,b){goog.asserts.assert(null!=a.length);goog.array.ARRAY_PROTOTYPE_.sort.call(a,b||goog.array.defaultCompare)};
goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||goog.array.defaultCompare;goog.array.sort(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value};goog.array.sortObjectsByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(a[b],c[b])})};
goog.array.isSorted=function(a,b,c){for(var b=b||goog.array.defaultCompare,d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;for(var d=a.length,c=c||goog.array.defaultCompareEquality,e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare=function(a,b,c){return goog.array.equals(a,b,c)};
goog.array.compare3=function(a,b,c){for(var c=c||goog.array.defaultCompare,d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};
@@ -112,7 +112,7 @@ goog.userAgent.determineVersion_=function(){var a="",b;goog.userAgent.OPERA&&goo
goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionCache_={};goog.userAgent.isVersion=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionCache_[a]||(goog.userAgent.isVersionCache_[a]=0<=goog.string.compareVersions(goog.userAgent.VERSION,a))};
goog.userAgent.isDocumentModeCache_={};goog.userAgent.isDocumentMode=function(a){return goog.userAgent.isDocumentModeCache_[a]||(goog.userAgent.isDocumentModeCache_[a]=goog.userAgent.IE&&!!document.documentMode&&document.documentMode>=a)};goog.debug.catchErrors=function(a,b,c){var c=c||goog.global,d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersion("535.3")&&(e=!e);c.onerror=function(b,c,h){d&&d(b,c,h);a({message:b,fileName:c,line:h});return e}};goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
goog.debug.deepExpose=function(a,b){var c=new goog.structs.Set,d=[],e=function(a,g){var h=g+" ";try{if(goog.isDef(a))if(goog.isNull(a))d.push("NULL");else if(goog.isString(a))d.push('"'+a.replace(/\n/g,"\n"+g)+'"');else if(goog.isFunction(a))d.push(String(a).replace(/\n/g,"\n"+g));else if(goog.isObject(a))if(c.contains(a))d.push("*** reference loop detected ***");else{c.add(a);d.push("{");for(var i in a)if(b||!goog.isFunction(a[i]))d.push("\n"),d.push(h),d.push(i+" = "),e(a[i],h);d.push("\n"+g+"}")}else d.push(a);
else d.push("undefined")}catch(k){d.push("*** "+k+" ***")}};e(a,"");return d.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
else d.push("undefined")}catch(l){d.push("*** "+l+" ***")}};e(a,"");return d.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
goog.debug.exposeException=function(a,b){try{var c=goog.debug.normalizeErrorObject(a);return"Message: "+goog.string.htmlEscape(c.message)+'\nUrl: <a href="view-source:'+c.fileName+'" target="_new">'+c.fileName+"</a>\nLine: "+c.lineNumber+"\n\nBrowser stack:\n"+goog.string.htmlEscape(c.stack+"-> ")+"[end]\n\nJS stack traversal:\n"+goog.string.htmlEscape(goog.debug.getStacktrace(b)+"-> ")}catch(d){return"Exception trying to expose exception! You win, we lose. "+d}};
goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c,d,e=!1;try{c=a.lineNumber||a.line||"Not available"}catch(f){c="Not available",e=!0}try{d=a.fileName||a.filename||a.sourceURL||b}catch(g){d="Not available",e=!0}return e||!a.lineNumber||!a.fileName||!a.stack?{message:a.message,name:a.name,lineNumber:c,fileName:d,stack:a.stack||"Not available"}:
a};goog.debug.enhanceError=function(a,b){var c="string"==typeof a?Error(a):a;c.stack||(c.stack=goog.debug.getStacktrace(arguments.callee.caller));if(b){for(var d=0;c["message"+d];)++d;c["message"+d]=String(b)}return c};
@@ -151,7 +151,7 @@ goog.dom.classes.remove=function(a,b){var c=goog.dom.classes.get(a),d=goog.array
goog.dom.classes.swap=function(a,b,c){for(var d=goog.dom.classes.get(a),e=!1,f=0;f<d.length;f++)d[f]==b&&(goog.array.splice(d,f--,1),e=!0);e&&(d.push(c),a.className=d.join(" "));return e};goog.dom.classes.addRemove=function(a,b,c){var d=goog.dom.classes.get(a);goog.isString(b)?goog.array.remove(d,b):goog.isArray(b)&&(d=goog.dom.classes.getDifference_(d,b));goog.isString(c)&&!goog.array.contains(d,c)?d.push(c):goog.isArray(c)&&goog.dom.classes.add_(d,c);a.className=d.join(" ")};
goog.dom.classes.has=function(a,b){return goog.array.contains(goog.dom.classes.get(a),b)};goog.dom.classes.enable=function(a,b,c){c?goog.dom.classes.add(a,b):goog.dom.classes.remove(a,b)};goog.dom.classes.toggle=function(a,b){var c=!goog.dom.classes.has(a,b);goog.dom.classes.enable(a,b,c);return c};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<c?c-=360:-180>=c&&(c=360+c);return c};
goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){for(var c=c||function(a,b){return a==b},d=d||function(b){return a[b]},e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var i=0;i<f+1;i++)g[0][i]=0;for(h=1;h<=e;h++)for(i=1;i<=e;i++)g[h][i]=c(a[h-1],b[i-1])?g[h-1][i-1]+1:Math.max(g[h-1][i],g[h][i-1]);for(var k=[],h=e,i=f;0<h&&0<i;)c(a[h-1],b[i-1])?(k.unshift(d(h-1,i-1)),h--,i--):g[h-1][i]>g[h][i-1]?h--:i--;return k};
goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){for(var c=c||function(a,b){return a==b},d=d||function(b){return a[b]},e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var i=0;i<f+1;i++)g[0][i]=0;for(h=1;h<=e;h++)for(i=1;i<=e;i++)g[h][i]=c(a[h-1],b[i-1])?g[h-1][i-1]+1:Math.max(g[h-1][i],g[h][i-1]);for(var l=[],h=e,i=f;0<h&&0<i;)c(a[h-1],b[i-1])?(l.unshift(d(h-1,i-1)),h--,i--):g[h-1][i]>g[h][i-1]?h--:i--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.standardDeviation=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments),b=goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1);return Math.sqrt(b)};goog.math.isInt=function(a){return isFinite(a)&&0==a%1};
goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.equals=function(a,b){return a==b?!0:!a||!b?!1:a.x==b.x&&a.y==b.y};goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};
goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:!a||!b?!1:a.width==b.width&&a.height==b.height};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};
@@ -237,8 +237,8 @@ goog.events.fireListeners_=function(a,b,c,d,e){var f=1,b=goog.getUid(b);if(a[b])
goog.events.dispatchEvent=function(a,b){var c=b.type||b,d=goog.events.listenerTree_;if(!(c in d))return!0;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b,b=new goog.events.Event(c,a);goog.object.extend(b,e)}var e=1,f,d=d[c],c=!0 in d,g;if(c){f=[];for(g=a;g;g=g.getParentEventTarget())f.push(g);g=d[!0];g.remaining_=g.count_;for(var h=f.length-1;!b.propagationStopped_&&0<=h&&g.remaining_;h--)b.currentTarget=f[h],e&=goog.events.fireListeners_(g,
f[h],b.type,!0,b)&&!1!=b.returnValue_}if(!1 in d)if(g=d[!1],g.remaining_=g.count_,c)for(h=0;!b.propagationStopped_&&h<f.length&&g.remaining_;h++)b.currentTarget=f[h],e&=goog.events.fireListeners_(g,f[h],b.type,!1,b)&&!1!=b.returnValue_;else for(d=a;!b.propagationStopped_&&d&&g.remaining_;d=d.getParentEventTarget())b.currentTarget=d,e&=goog.events.fireListeners_(g,d,b.type,!1,b)&&!1!=b.returnValue_;return Boolean(e)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(!goog.events.listeners_[a])return!0;var c=goog.events.listeners_[a],d=c.type,e=goog.events.listenerTree_;if(!(d in e))return!0;var e=e[d],f,g;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){f=b||goog.getObjectByName("window.event");var h=!0 in e,i=!1 in e;if(h){if(goog.events.isMarkedIeEvent_(f))return!0;goog.events.markIeEvent_(f)}var k=new goog.events.BrowserEvent;k.init(f,this);f=!0;try{if(h){for(var j=[],l=k.currentTarget;l;l=l.parentNode)j.push(l);
g=e[!0];g.remaining_=g.count_;for(var m=j.length-1;!k.propagationStopped_&&0<=m&&g.remaining_;m--)k.currentTarget=j[m],f&=goog.events.fireListeners_(g,j[m],d,!0,k);if(i){g=e[!1];g.remaining_=g.count_;for(m=0;!k.propagationStopped_&&m<j.length&&g.remaining_;m++)k.currentTarget=j[m],f&=goog.events.fireListeners_(g,j[m],d,!1,k)}}else f=goog.events.fireListener(c,k)}finally{j&&(j.length=0)}return f}d=new goog.events.BrowserEvent(b,this);return f=goog.events.fireListener(c,d)};
goog.events.handleBrowserEvent_=function(a,b){if(!goog.events.listeners_[a])return!0;var c=goog.events.listeners_[a],d=c.type,e=goog.events.listenerTree_;if(!(d in e))return!0;var e=e[d],f,g;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){f=b||goog.getObjectByName("window.event");var h=!0 in e,i=!1 in e;if(h){if(goog.events.isMarkedIeEvent_(f))return!0;goog.events.markIeEvent_(f)}var l=new goog.events.BrowserEvent;l.init(f,this);f=!0;try{if(h){for(var j=[],k=l.currentTarget;k;k=k.parentNode)j.push(k);
g=e[!0];g.remaining_=g.count_;for(var m=j.length-1;!l.propagationStopped_&&0<=m&&g.remaining_;m--)l.currentTarget=j[m],f&=goog.events.fireListeners_(g,j[m],d,!0,l);if(i){g=e[!1];g.remaining_=g.count_;for(m=0;!l.propagationStopped_&&m<j.length&&g.remaining_;m++)l.currentTarget=j[m],f&=goog.events.fireListeners_(g,j[m],d,!1,l)}}else f=goog.events.fireListener(c,l)}finally{j&&(j.length=0)}return f}d=new goog.events.BrowserEvent(b,this);return f=goog.events.fireListener(c,d)};
goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++){var d=arguments[c];b.top=Math.min(b.top,d.y);b.right=Math.max(b.right,d.x);b.bottom=Math.max(b.bottom,d.y);b.left=Math.min(b.left,d.x)}return b};goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};
goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"});goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom+=c,this.left-=d);return this};
goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};goog.math.Box.equals=function(a,b){return a==b?!0:!a||!b?!1:a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left};
@@ -434,10 +434,10 @@ goog.vec.Vec4.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3]
goog.vec.Vec4.magnitudeSquared=function(a){var b=a[0],c=a[1],d=a[2],a=a[3];return b*b+c*c+d*d+a*a};goog.vec.Vec4.magnitude=function(a){var b=a[0],c=a[1],d=a[2],a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)};goog.vec.Vec4.normalize=function(a,b){var c=1/goog.vec.Vec4.magnitude(a);b[0]=a[0]*c;b[1]=a[1]*c;b[2]=a[2]*c;b[3]=a[3]*c;return b};goog.vec.Vec4.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};
goog.vec.Vec4.lerp=function(a,b,c,d){var e=a[0],f=a[1],g=a[2],a=a[3];d[0]=(b[0]-e)*c+e;d[1]=(b[1]-f)*c+f;d[2]=(b[2]-g)*c+g;d[3]=(b[3]-a)*c+a;return d};goog.vec.Vec4.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]};goog.vec.Mat4={};goog.vec.Mat4.createFloat32=function(){return new Float32Array(16)};goog.vec.Mat4.createFloat64=function(){return new Float64Array(16)};goog.vec.Mat4.createNumber=function(){var a=Array(16);goog.vec.Mat4.setFromValues(a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return a};goog.vec.Mat4.create=function(){return goog.vec.Mat4.createFloat32()};goog.vec.Mat4.createFloat32Identity=function(){var a=goog.vec.Mat4.createFloat32();a[0]=a[5]=a[10]=a[15]=1;return a};
goog.vec.Mat4.createFloat64Identity=function(){var a=goog.vec.Mat4.createFloat64();a[0]=a[5]=a[10]=a[15]=1;return a};goog.vec.Mat4.createNumberIdentity=function(){var a=Array(16);goog.vec.Mat4.setFromValues(a,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return a};goog.vec.Mat4.createIdentity=function(){return goog.vec.Mat4.createFloat32Identity()};goog.vec.Mat4.createFloat32FromArray=function(a){var b=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFloat32FromValues=function(a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q){var r=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromValues(r,a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q);return r};goog.vec.Mat4.cloneFloat32=goog.vec.Mat4.createFloat32FromArray;goog.vec.Mat4.createFloat64FromArray=function(a){var b=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFloat64FromValues=function(a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q){var r=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromValues(r,a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q);return r};goog.vec.Mat4.cloneFloat64=goog.vec.Mat4.createFloat64FromArray;goog.vec.Mat4.createFromArray=function(a){var b=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFromValues=function(a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q){return goog.vec.Mat4.createFloat32FromValues(a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q)};goog.vec.Mat4.clone=goog.vec.Mat4.createFromArray;goog.vec.Mat4.getElement=function(a,b,c){return a[b+4*c]};goog.vec.Mat4.setElement=function(a,b,c,d){a[b+4*c]=d;return a};
goog.vec.Mat4.setFromValues=function(a,b,c,d,e,f,g,h,i,k,j,l,m,p,n,q,r){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;a[6]=h;a[7]=i;a[8]=k;a[9]=j;a[10]=l;a[11]=m;a[12]=p;a[13]=n;a[14]=q;a[15]=r;return a};goog.vec.Mat4.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};
goog.vec.Mat4.createFloat32FromValues=function(a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q){var r=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromValues(r,a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q);return r};goog.vec.Mat4.cloneFloat32=goog.vec.Mat4.createFloat32FromArray;goog.vec.Mat4.createFloat64FromArray=function(a){var b=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFloat64FromValues=function(a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q){var r=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromValues(r,a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q);return r};goog.vec.Mat4.cloneFloat64=goog.vec.Mat4.createFloat64FromArray;goog.vec.Mat4.createFromArray=function(a){var b=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFromValues=function(a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q){return goog.vec.Mat4.createFloat32FromValues(a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q)};goog.vec.Mat4.clone=goog.vec.Mat4.createFromArray;goog.vec.Mat4.getElement=function(a,b,c){return a[b+4*c]};goog.vec.Mat4.setElement=function(a,b,c,d){a[b+4*c]=d;return a};
goog.vec.Mat4.setFromValues=function(a,b,c,d,e,f,g,h,i,l,j,k,m,n,p,q,r){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;a[6]=h;a[7]=i;a[8]=l;a[9]=j;a[10]=k;a[11]=m;a[12]=n;a[13]=p;a[14]=q;a[15]=r;return a};goog.vec.Mat4.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};
goog.vec.Mat4.setFromRowMajorArray=function(a,b){a[0]=b[0];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=b[1];a[5]=b[5];a[6]=b[9];a[7]=b[13];a[8]=b[2];a[9]=b[6];a[10]=b[10];a[11]=b[14];a[12]=b[3];a[13]=b[7];a[14]=b[11];a[15]=b[15];return a};goog.vec.Mat4.setDiagonalValues=function(a,b,c,d,e){a[0]=b;a[5]=c;a[10]=d;a[15]=e;return a};goog.vec.Mat4.setDiagonal=function(a,b){a[0]=b[0];a[5]=b[1];a[10]=b[2];a[15]=b[3];return a};
goog.vec.Mat4.getDiagonal=function(a,b,c){if(c)for(var d=0<c?4*c:-c,e=0;e<4-Math.abs(c);e++)b[e]=a[d+5*e];else b[0]=a[0],b[1]=a[5],b[2]=a[10],b[3]=a[15];return b};goog.vec.Mat4.setColumnValues=function(a,b,c,d,e,f){b*=4;a[b]=c;a[b+1]=d;a[b+2]=e;a[b+3]=f;return a};goog.vec.Mat4.setColumn=function(a,b,c){b*=4;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];return a};goog.vec.Mat4.getColumn=function(a,b,c){b*=4;c[0]=a[b];c[1]=a[b+1];c[2]=a[b+2];c[3]=a[b+3];return c};
goog.vec.Mat4.setColumns=function(a,b,c,d,e){goog.vec.Mat4.setColumn(a,0,b);goog.vec.Mat4.setColumn(a,1,c);goog.vec.Mat4.setColumn(a,2,d);goog.vec.Mat4.setColumn(a,3,e);return a};goog.vec.Mat4.getColumns=function(a,b,c,d,e){goog.vec.Mat4.getColumn(a,0,b);goog.vec.Mat4.getColumn(a,1,c);goog.vec.Mat4.getColumn(a,2,d);goog.vec.Mat4.getColumn(a,3,e)};goog.vec.Mat4.setRowValues=function(a,b,c,d,e,f){a[b]=c;a[b+4]=d;a[b+8]=e;a[b+12]=f;return a};
@@ -446,12 +446,12 @@ goog.vec.Mat4.getRows=function(a,b,c,d,e){goog.vec.Mat4.getRow(a,0,b);goog.vec.M
goog.vec.Mat4.addMat=function(a,b,c){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];c[4]=a[4]+b[4];c[5]=a[5]+b[5];c[6]=a[6]+b[6];c[7]=a[7]+b[7];c[8]=a[8]+b[8];c[9]=a[9]+b[9];c[10]=a[10]+b[10];c[11]=a[11]+b[11];c[12]=a[12]+b[12];c[13]=a[13]+b[13];c[14]=a[14]+b[14];c[15]=a[15]+b[15];return c};
goog.vec.Mat4.subMat=function(a,b,c){c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];c[4]=a[4]-b[4];c[5]=a[5]-b[5];c[6]=a[6]-b[6];c[7]=a[7]-b[7];c[8]=a[8]-b[8];c[9]=a[9]-b[9];c[10]=a[10]-b[10];c[11]=a[11]-b[11];c[12]=a[12]-b[12];c[13]=a[13]-b[13];c[14]=a[14]-b[14];c[15]=a[15]-b[15];return c};
goog.vec.Mat4.multScalar=function(a,b,c){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;c[4]=a[4]*b;c[5]=a[5]*b;c[6]=a[6]*b;c[7]=a[7]*b;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12]*b;c[13]=a[13]*b;c[14]=a[14]*b;c[15]=a[15]*b;return c};
goog.vec.Mat4.multMat=function(a,b,c){var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],i=a[5],k=a[6],j=a[7],l=a[8],m=a[9],p=a[10],n=a[11],q=a[12],r=a[13],u=a[14],a=a[15],v=b[0],s=b[1],y=b[2],x=b[3],z=b[4],w=b[5],A=b[6],B=b[7],C=b[8],D=b[9],E=b[10],F=b[11],t=b[12],G=b[13],H=b[14],b=b[15];c[0]=d*v+h*s+l*y+q*x;c[1]=e*v+i*s+m*y+r*x;c[2]=f*v+k*s+p*y+u*x;c[3]=g*v+j*s+n*y+a*x;c[4]=d*z+h*w+l*A+q*B;c[5]=e*z+i*w+m*A+r*B;c[6]=f*z+k*w+p*A+u*B;c[7]=g*z+j*w+n*A+a*B;c[8]=d*C+h*D+l*E+q*F;c[9]=e*C+i*D+m*E+r*F;c[10]=f*C+k*D+
p*E+u*F;c[11]=g*C+j*D+n*E+a*F;c[12]=d*t+h*G+l*H+q*b;c[13]=e*t+i*G+m*H+r*b;c[14]=f*t+k*G+p*H+u*b;c[15]=g*t+j*G+n*H+a*b;return c};
goog.vec.Mat4.multMat=function(a,b,c){var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],i=a[5],l=a[6],j=a[7],k=a[8],m=a[9],n=a[10],p=a[11],q=a[12],r=a[13],s=a[14],a=a[15],z=b[0],w=b[1],t=b[2],v=b[3],u=b[4],x=b[5],A=b[6],B=b[7],C=b[8],D=b[9],E=b[10],F=b[11],y=b[12],G=b[13],H=b[14],b=b[15];c[0]=d*z+h*w+k*t+q*v;c[1]=e*z+i*w+m*t+r*v;c[2]=f*z+l*w+n*t+s*v;c[3]=g*z+j*w+p*t+a*v;c[4]=d*u+h*x+k*A+q*B;c[5]=e*u+i*x+m*A+r*B;c[6]=f*u+l*x+n*A+s*B;c[7]=g*u+j*x+p*A+a*B;c[8]=d*C+h*D+k*E+q*F;c[9]=e*C+i*D+m*E+r*F;c[10]=f*C+l*D+
n*E+s*F;c[11]=g*C+j*D+p*E+a*F;c[12]=d*y+h*G+k*H+q*b;c[13]=e*y+i*G+m*H+r*b;c[14]=f*y+l*G+n*H+s*b;c[15]=g*y+j*G+p*H+a*b;return c};
goog.vec.Mat4.transpose=function(a,b){if(b==a){var c=a[1],d=a[2],e=a[3],f=a[6],g=a[7],h=a[11];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=c;b[6]=a[9];b[7]=a[13];b[8]=d;b[9]=f;b[11]=a[14];b[12]=e;b[13]=g;b[14]=h}else b[0]=a[0],b[1]=a[4],b[2]=a[8],b[3]=a[12],b[4]=a[1],b[5]=a[5],b[6]=a[9],b[7]=a[13],b[8]=a[2],b[9]=a[6],b[10]=a[10],b[11]=a[14],b[12]=a[3],b[13]=a[7],b[14]=a[11],b[15]=a[15];return b};
goog.vec.Mat4.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],i=a[7],k=a[8],j=a[9],l=a[10],m=a[11],p=a[12],n=a[13],q=a[14],a=a[15];return(b*g-c*f)*(l*a-m*q)-(b*h-d*f)*(j*a-m*n)+(b*i-e*f)*(j*q-l*n)+(c*h-d*g)*(k*a-m*p)-(c*i-e*g)*(k*q-l*p)+(d*i-e*h)*(k*n-j*p)};
goog.vec.Mat4.invert=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],k=a[7],j=a[8],l=a[9],m=a[10],p=a[11],n=a[12],q=a[13],r=a[14],u=a[15],v=c*h-d*g,s=c*i-e*g,y=c*k-f*g,x=d*i-e*h,z=d*k-f*h,w=e*k-f*i,A=j*q-l*n,B=j*r-m*n,C=j*u-p*n,D=l*r-m*q,E=l*u-p*q,F=m*u-p*r,t=v*F-s*E+y*D+x*C-z*B+w*A;if(0==t)return!1;t=1/t;b[0]=(h*F-i*E+k*D)*t;b[1]=(-d*F+e*E-f*D)*t;b[2]=(q*w-r*z+u*x)*t;b[3]=(-l*w+m*z-p*x)*t;b[4]=(-g*F+i*C-k*B)*t;b[5]=(c*F-e*C+f*B)*t;b[6]=(-n*w+r*y-u*s)*t;b[7]=(j*w-m*y+p*s)*t;b[8]=
(g*E-h*C+k*A)*t;b[9]=(-c*E+d*C-f*A)*t;b[10]=(n*z-q*y+u*v)*t;b[11]=(-j*z+l*y-p*v)*t;b[12]=(-g*D+h*B-i*A)*t;b[13]=(c*D-d*B+e*A)*t;b[14]=(-n*x+q*s-r*v)*t;b[15]=(j*x-l*s+m*v)*t;return!0};goog.vec.Mat4.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]&&a[9]==b[9]&&a[10]==b[10]&&a[11]==b[11]&&a[12]==b[12]&&a[13]==b[13]&&a[14]==b[14]&&a[15]==b[15]};
goog.vec.Mat4.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],i=a[7],l=a[8],j=a[9],k=a[10],m=a[11],n=a[12],p=a[13],q=a[14],a=a[15];return(b*g-c*f)*(k*a-m*q)-(b*h-d*f)*(j*a-m*p)+(b*i-e*f)*(j*q-k*p)+(c*h-d*g)*(l*a-m*n)-(c*i-e*g)*(l*q-k*n)+(d*i-e*h)*(l*p-j*n)};
goog.vec.Mat4.invert=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],l=a[7],j=a[8],k=a[9],m=a[10],n=a[11],p=a[12],q=a[13],r=a[14],s=a[15],z=c*h-d*g,w=c*i-e*g,t=c*l-f*g,v=d*i-e*h,u=d*l-f*h,x=e*l-f*i,A=j*q-k*p,B=j*r-m*p,C=j*s-n*p,D=k*r-m*q,E=k*s-n*q,F=m*s-n*r,y=z*F-w*E+t*D+v*C-u*B+x*A;if(0==y)return!1;y=1/y;b[0]=(h*F-i*E+l*D)*y;b[1]=(-d*F+e*E-f*D)*y;b[2]=(q*x-r*u+s*v)*y;b[3]=(-k*x+m*u-n*v)*y;b[4]=(-g*F+i*C-l*B)*y;b[5]=(c*F-e*C+f*B)*y;b[6]=(-p*x+r*t-s*w)*y;b[7]=(j*x-m*t+n*w)*y;b[8]=
(g*E-h*C+l*A)*y;b[9]=(-c*E+d*C-f*A)*y;b[10]=(p*u-q*t+s*z)*y;b[11]=(-j*u+k*t-n*z)*y;b[12]=(-g*D+h*B-i*A)*y;b[13]=(c*D-d*B+e*A)*y;b[14]=(-p*v+q*w-r*z)*y;b[15]=(j*v-k*w+m*z)*y;return!0};goog.vec.Mat4.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]&&a[9]==b[9]&&a[10]==b[10]&&a[11]==b[11]&&a[12]==b[12]&&a[13]==b[13]&&a[14]==b[14]&&a[15]==b[15]};
goog.vec.Mat4.multVec3=function(a,b,c){var d=b[0],e=b[1],b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8]+a[12];c[1]=d*a[1]+e*a[5]+b*a[9]+a[13];c[2]=d*a[2]+e*a[6]+b*a[10]+a[14];return c};goog.vec.Mat4.multVec3NoTranslate=function(a,b,c){var d=b[0],e=b[1],b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8];c[1]=d*a[1]+e*a[5]+b*a[9];c[2]=d*a[2]+e*a[6]+b*a[10];return c};
goog.vec.Mat4.multVec3Projective=function(a,b,c){var d=b[0],e=b[1],b=b[2],f=1/(d*a[3]+e*a[7]+b*a[11]+a[15]);c[0]=(d*a[0]+e*a[4]+b*a[8]+a[12])*f;c[1]=(d*a[1]+e*a[5]+b*a[9]+a[13])*f;c[2]=(d*a[2]+e*a[6]+b*a[10]+a[14])*f;return c};goog.vec.Mat4.multVec4=function(a,b,c){var d=b[0],e=b[1],f=b[2],b=b[3];c[0]=d*a[0]+e*a[4]+f*a[8]+b*a[12];c[1]=d*a[1]+e*a[5]+f*a[9]+b*a[13];c[2]=d*a[2]+e*a[6]+f*a[10]+b*a[14];c[3]=d*a[3]+e*a[7]+f*a[11]+b*a[15];return c};
goog.vec.Mat4.makeTranslate=function(a,b,c,d){goog.vec.Mat4.makeIdentity(a);return goog.vec.Mat4.setColumnValues(a,3,b,c,d,1)};goog.vec.Mat4.makeScale=function(a,b,c,d){goog.vec.Mat4.makeIdentity(a);return goog.vec.Mat4.setDiagonalValues(a,b,c,d,1)};goog.vec.Mat4.makeRotate=function(a,b,c,d,e){var f=Math.cos(b),g=1-f,b=Math.sin(b);return goog.vec.Mat4.setFromValues(a,c*c*g+f,c*d*g+e*b,c*e*g-d*b,0,c*d*g-e*b,d*d*g+f,d*e*g+c*b,0,c*e*g+d*b,d*e*g-c*b,e*e*g+f,0,0,0,0,1)};
@@ -463,9 +463,9 @@ goog.vec.Mat4.makeLookAt=function(a,b,c,d){var e=goog.vec.Mat4.tmpVec4_[0];goog.
goog.vec.Mat4.makeEulerZXZ=function(a,b,c,d){var e=Math.cos(b),b=Math.sin(b),f=Math.cos(c),c=Math.sin(c),g=Math.cos(d),d=Math.sin(d);a[0]=e*g-f*b*d;a[1]=f*e*d+g*b;a[2]=d*c;a[3]=0;a[4]=-e*d-g*f*b;a[5]=e*f*g-b*d;a[6]=g*c;a[7]=0;a[8]=c*b;a[9]=-e*c;a[10]=f;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};
goog.vec.Mat4.toEulerZXZ=function(a,b,c){var d=Math.sqrt(a[2]*a[2]+a[6]*a[6]),c=c?-1:1;d>goog.vec.EPSILON?(b[2]=Math.atan2(a[2]*c,a[6]*c),b[1]=Math.atan2(d*c,a[10]),b[0]=Math.atan2(a[8]*c,-a[9]*c)):(b[0]=0,b[1]=Math.atan2(d*c,a[10]),b[2]=Math.atan2(a[1],a[0]));b[0]=(b[0]+2*Math.PI)%(2*Math.PI);b[2]=(b[2]+2*Math.PI)%(2*Math.PI);b[1]=(b[1]*c+2*Math.PI)%(2*Math.PI)*c;return b};
goog.vec.Mat4.translate=function(a,b,c,d){return goog.vec.Mat4.setColumnValues(a,3,a[0]*b+a[4]*c+a[8]*d+a[12],a[1]*b+a[5]*c+a[9]*d+a[13],a[2]*b+a[6]*c+a[10]*d+a[14],a[3]*b+a[7]*c+a[11]*d+a[15])};goog.vec.Mat4.scale=function(a,b,c,d){return goog.vec.Mat4.setFromValues(a,a[0]*b,a[1]*b,a[2]*b,a[3]*b,a[4]*c,a[5]*c,a[6]*c,a[7]*c,a[8]*d,a[9]*d,a[10]*d,a[11]*d,a[12],a[13],a[14],a[15])};
goog.vec.Mat4.rotate=function(a,b,c,d,e){var f=a[0],g=a[1],h=a[2],i=a[3],k=a[4],j=a[5],l=a[6],m=a[7],p=a[8],n=a[9],q=a[10],r=a[11],u=a[12],v=a[13],s=a[14],y=a[15],x=Math.cos(b),z=Math.sin(b),w=1-x,b=c*c*w+x,A=c*d*w+e*z,B=c*e*w-d*z,C=c*d*w-e*z,D=d*d*w+x,E=d*e*w+c*z,F=c*e*w+d*z,c=d*e*w-c*z,e=e*e*w+x;return goog.vec.Mat4.setFromValues(a,f*b+k*A+p*B,g*b+j*A+n*B,h*b+l*A+q*B,i*b+m*A+r*B,f*C+k*D+p*E,g*C+j*D+n*E,h*C+l*D+q*E,i*C+m*D+r*E,f*F+k*c+p*e,g*F+j*c+n*e,h*F+l*c+q*e,i*F+m*c+r*e,u,v,s,y)};
goog.vec.Mat4.rotateX=function(a,b){var c=a[4],d=a[5],e=a[6],f=a[7],g=a[8],h=a[9],i=a[10],k=a[11],j=Math.cos(b),l=Math.sin(b);a[4]=c*j+g*l;a[5]=d*j+h*l;a[6]=e*j+i*l;a[7]=f*j+k*l;a[8]=c*-l+g*j;a[9]=d*-l+h*j;a[10]=e*-l+i*j;a[11]=f*-l+k*j;return a};goog.vec.Mat4.rotateY=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[8],h=a[9],i=a[10],k=a[11],j=Math.cos(b),l=Math.sin(b);a[0]=c*j+g*-l;a[1]=d*j+h*-l;a[2]=e*j+i*-l;a[3]=f*j+k*-l;a[8]=c*l+g*j;a[9]=d*l+h*j;a[10]=e*l+i*j;a[11]=f*l+k*j;return a};
goog.vec.Mat4.rotateZ=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],k=a[7],j=Math.cos(b),l=Math.sin(b);a[0]=c*j+g*l;a[1]=d*j+h*l;a[2]=e*j+i*l;a[3]=f*j+k*l;a[4]=c*-l+g*j;a[5]=d*-l+h*j;a[6]=e*-l+i*j;a[7]=f*-l+k*j;return a};goog.vec.Mat4.getTranslation=function(a,b){b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};goog.vec.Mat4.tmpVec3_=[goog.vec.Vec3.createFloat64(),goog.vec.Vec3.createFloat64()];goog.vec.Mat4.tmpVec4_=[goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64()];
goog.vec.Mat4.rotate=function(a,b,c,d,e){var f=a[0],g=a[1],h=a[2],i=a[3],l=a[4],j=a[5],k=a[6],m=a[7],n=a[8],p=a[9],q=a[10],r=a[11],s=a[12],z=a[13],w=a[14],t=a[15],v=Math.cos(b),u=Math.sin(b),x=1-v,b=c*c*x+v,A=c*d*x+e*u,B=c*e*x-d*u,C=c*d*x-e*u,D=d*d*x+v,E=d*e*x+c*u,F=c*e*x+d*u,c=d*e*x-c*u,e=e*e*x+v;return goog.vec.Mat4.setFromValues(a,f*b+l*A+n*B,g*b+j*A+p*B,h*b+k*A+q*B,i*b+m*A+r*B,f*C+l*D+n*E,g*C+j*D+p*E,h*C+k*D+q*E,i*C+m*D+r*E,f*F+l*c+n*e,g*F+j*c+p*e,h*F+k*c+q*e,i*F+m*c+r*e,s,z,w,t)};
goog.vec.Mat4.rotateX=function(a,b){var c=a[4],d=a[5],e=a[6],f=a[7],g=a[8],h=a[9],i=a[10],l=a[11],j=Math.cos(b),k=Math.sin(b);a[4]=c*j+g*k;a[5]=d*j+h*k;a[6]=e*j+i*k;a[7]=f*j+l*k;a[8]=c*-k+g*j;a[9]=d*-k+h*j;a[10]=e*-k+i*j;a[11]=f*-k+l*j;return a};goog.vec.Mat4.rotateY=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[8],h=a[9],i=a[10],l=a[11],j=Math.cos(b),k=Math.sin(b);a[0]=c*j+g*-k;a[1]=d*j+h*-k;a[2]=e*j+i*-k;a[3]=f*j+l*-k;a[8]=c*k+g*j;a[9]=d*k+h*j;a[10]=e*k+i*j;a[11]=f*k+l*j;return a};
goog.vec.Mat4.rotateZ=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],l=a[7],j=Math.cos(b),k=Math.sin(b);a[0]=c*j+g*k;a[1]=d*j+h*k;a[2]=e*j+i*k;a[3]=f*j+l*k;a[4]=c*-k+g*j;a[5]=d*-k+h*j;a[6]=e*-k+i*j;a[7]=f*-k+l*j;return a};goog.vec.Mat4.getTranslation=function(a,b){b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};goog.vec.Mat4.tmpVec3_=[goog.vec.Vec3.createFloat64(),goog.vec.Vec3.createFloat64()];goog.vec.Mat4.tmpVec4_=[goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64()];
goog.vec.Mat4.tmpMat4_=[goog.vec.Mat4.createFloat64()];ol.QuadKeyCharCode={ZERO:48,ONE:49,TWO:50,THREE:51};ol.TileCoord=function(a,b,c){ol.Coordinate.call(this,b,c);this.z=a};goog.inherits(ol.TileCoord,ol.Coordinate);ol.TileCoord.createFromQuadKey=function(a){var b=a.length,c=0,d=0,e=1<<b-1,f;for(f=0;f<b;++f){switch(a.charCodeAt(f)){case ol.QuadKeyCharCode.ONE:c+=e;break;case ol.QuadKeyCharCode.TWO:d+=e;break;case ol.QuadKeyCharCode.THREE:c+=e,d+=e}e>>=1}return new ol.TileCoord(b,c,d)};
ol.TileCoord.createFromString=function(a){a=a.split("/");a=goog.array.map(a,function(a){return parseInt(a,10)});return new ol.TileCoord(a[0],a[1],a[2])};ol.TileCoord.prototype.hash=function(){return(this.x<<this.z)+this.y};ol.TileCoord.prototype.quadKey=function(){var a=Array(this.z),b=1<<this.z-1,c,d;for(c=0;c<this.z;++c)d=ol.QuadKeyCharCode.ZERO,this.x&b&&(d+=1),this.y&b&&(d+=2),a[c]=String.fromCharCode(d),b>>=1;return a.join("")};
ol.TileCoord.prototype.toString=function(){return[this.z,this.x,this.y].join("/")};ol.TileRange=function(a,b,c,d){this.minX=a;this.minY=b;this.maxX=c;this.maxY=d};goog.inherits(ol.TileRange,ol.Rectangle);ol.TileRange.boundingTileRange=function(a){var b=arguments[0],c=new ol.TileRange(b.x,b.y,b.x,b.y),d,e;for(d=1;d<arguments.length;++d)e=arguments[d],goog.asserts.assert(e.z==b.z),c.minX=Math.min(c.minX,e.x),c.minY=Math.min(c.minY,e.y),c.maxX=Math.max(c.maxX,e.x),c.maxY=Math.max(c.maxY,e.y);return c};
@@ -484,8 +484,8 @@ ol.Sphere.prototype.crossTrackDistance=function(a,b,c){this.cosineDistance(a,b);
ol.Sphere.prototype.finalBearing=function(a,b){return(this.initialBearing(b,a)+180)%360};ol.Sphere.prototype.haversineDistance=function(a,b){var c=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),e=(d-c)/2,f=goog.math.toRadians(b.x-a.x)/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*this.radius*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};
ol.Sphere.prototype.initialBearing=function(a,b){var c=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),e=goog.math.toRadians(b.x-a.x),f=Math.sin(e)*Math.cos(d),c=Math.cos(c)*Math.sin(d)-Math.sin(c)*Math.cos(d)*Math.cos(e);return goog.math.toDegrees(Math.atan2(f,c))};ol.Sphere.prototype.maximumLatitude=function(a,b){return Math.cos(Math.abs(Math.sin(goog.math.toRadians(a))*Math.cos(goog.math.toRadians(b))))};
ol.Sphere.prototype.midpoint=function(a,b){var c=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),e=goog.math.toRadians(a.x),f=goog.math.toRadians(b.x-a.x),g=Math.cos(d)*Math.cos(f),f=Math.cos(d)*Math.sin(f),g=Math.cos(c)+g,c=Math.atan2(Math.sin(c)+Math.sin(d),Math.sqrt(g*g+f*f)),e=e+Math.atan2(f,g);return new ol.Coordinate(goog.math.toDegrees(e),goog.math.toDegrees(c))};
ol.Sphere.prototype.offset=function(a,b,c){var d=goog.math.toRadians(a.y),a=goog.math.toRadians(a.x),e=b/this.radius,b=Math.asin(Math.sin(d)*Math.cos(e)+Math.cos(d)*Math.sin(e)*Math.cos(c)),c=a+Math.atan2(Math.sin(c)*Math.sin(e)*Math.cos(d),Math.cos(e)-Math.sin(d)*Math.sin(b));return new ol.Coordinate(goog.math.toDegrees(c),goog.math.toDegrees(b))};ol.sphere={};ol.sphere.NORMAL=new ol.Sphere(6370997);ol.projection={};ol.ENABLE_PROJ4JS=!0;ol.HAVE_PROJ4JS=ol.ENABLE_PROJ4JS&&"object"==typeof Proj4js;ol.ProjectionUnits={DEGREES:"degrees",METERS:"m"};ol.Projection=function(a,b,c,d){this.code_=a;this.units_=b;this.extent_=c;this.axisOrientation_=goog.isDef(d)?d:"enu"};ol.Projection.prototype.getCode=function(){return this.code_};ol.Projection.prototype.getExtent=function(){return this.extent_};ol.Projection.prototype.getUnits=function(){return this.units_};
ol.Projection.prototype.getAxisOrientation=function(){return this.axisOrientation_};ol.Proj4jsProjection_=function(a,b){ol.Projection.call(this,a,b.units,null,b.axis);this.proj4jsProj_=b;this.toEPSG4326_=null};goog.inherits(ol.Proj4jsProjection_,ol.Projection);
ol.Sphere.prototype.offset=function(a,b,c){var d=goog.math.toRadians(a.y),a=goog.math.toRadians(a.x),e=b/this.radius,b=Math.asin(Math.sin(d)*Math.cos(e)+Math.cos(d)*Math.sin(e)*Math.cos(c)),c=a+Math.atan2(Math.sin(c)*Math.sin(e)*Math.cos(d),Math.cos(e)-Math.sin(d)*Math.sin(b));return new ol.Coordinate(goog.math.toDegrees(c),goog.math.toDegrees(b))};ol.sphere={};ol.sphere.NORMAL=new ol.Sphere(6370997);ol.projection={};ol.ENABLE_PROJ4JS=!0;ol.HAVE_PROJ4JS=ol.ENABLE_PROJ4JS&&"object"==typeof Proj4js;ol.ProjectionUnits={DEGREES:"degrees",METERS:"m"};ol.Projection=function(a,b,c,d){this.code_=a;this.units_=b;this.extent_=c;this.axisOrientation_=goog.isDef(d)?d:"enu";this.defaultTileGrid_=null};ol.Projection.prototype.getCode=function(){return this.code_};ol.Projection.prototype.getExtent=function(){return this.extent_};ol.Projection.prototype.getUnits=function(){return this.units_};
ol.Projection.prototype.getAxisOrientation=function(){return this.axisOrientation_};ol.Projection.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_};ol.Projection.prototype.setDefaultTileGrid=function(a){this.defaultTileGrid_=a};ol.Proj4jsProjection_=function(a,b){ol.Projection.call(this,a,b.units,null,b.axis);this.proj4jsProj_=b;this.toEPSG4326_=null};goog.inherits(ol.Proj4jsProjection_,ol.Projection);
ol.Proj4jsProjection_.prototype.getPointResolution=function(a,b){if(this.getUnits()==ol.ProjectionUnits.DEGREES)return a;goog.isNull(this.toEPSG4326_)&&(this.toEPSG4326_=ol.projection.getTransform(this,ol.projection.getProj4jsProjectionFromCode_("EPSG:4326")));var c=[b.x-a/2,b.y,b.x+a/2,b.y,b.x,b.y-a/2,b.x,b.y+a/2],c=this.toEPSG4326_(c,c,2),d=ol.sphere.NORMAL.haversineDistance(new ol.Coordinate(c[0],c[1]),new ol.Coordinate(c[2],c[3])),c=ol.sphere.NORMAL.haversineDistance(new ol.Coordinate(c[4],c[5]),
new ol.Coordinate(c[6],c[7]));return(d+c)/2};ol.Proj4jsProjection_.prototype.getProj4jsProj=function(){return this.proj4jsProj_};ol.projection.proj4jsProjections_={};ol.projection.projections_={};ol.projection.transforms_={};ol.projection.addEquivalentProjections=function(a){ol.projection.addProjections(a);goog.array.forEach(a,function(b){goog.array.forEach(a,function(a){b!==a&&ol.projection.addTransform(b,a,ol.projection.cloneTransform)})})};
ol.projection.addEquivalentTransforms=function(a,b,c,d){goog.array.forEach(a,function(a){goog.array.forEach(b,function(b){ol.projection.addTransform(a,b,c);ol.projection.addTransform(b,a,d)})})};ol.projection.addProj4jsProjection_=function(a){var b=ol.projection.proj4jsProjections_,c=a.getCode();goog.asserts.assert(!goog.object.containsKey(b,c));b[c]=a};
@@ -496,8 +496,8 @@ ol.projection.getProj4jsProjectionFromCode_=function(a){var b=ol.projection.proj
ol.projection.getTransform=function(a,b){var c=ol.projection.transforms_,d=a.getCode(),e=b.getCode(),f;goog.object.containsKey(c,d)&&goog.object.containsKey(c[d],e)&&(f=c[d][e]);if(ol.HAVE_PROJ4JS&&!goog.isDef(f)){var g=(a instanceof ol.Proj4jsProjection_?a:ol.projection.getProj4jsProjectionFromCode_(a.getCode())).getProj4jsProj(),h=(b instanceof ol.Proj4jsProjection_?b:ol.projection.getProj4jsProjectionFromCode_(b.getCode())).getProj4jsProj();f=function(a,b,c){var d=a.length,c=1<c?c:2;goog.isDef(b)||
(b=2<c?a.slice():Array(d));goog.asserts.assert(0===b.length%c);for(var e,f=0;f<d;f+=c)e=new Proj4js.Point(a[f],a[f+1]),e=Proj4js.transform(g,h,e),b[f]=e.x,b[f+1]=e.y;return b};ol.projection.addTransform(a,b,f)}goog.isDef(f)||(goog.asserts.assert(goog.isDef(f)),f=ol.projection.identityTransform);return f};ol.projection.getTransformFromCodes=function(a,b){var c=ol.projection.getFromCode(a),d=ol.projection.getFromCode(b);return ol.projection.getTransform(c,d)};
ol.projection.identityTransform=function(a,b){if(goog.isDef(b)&&a!==b){goog.asserts.assert(!1,"This should not be used internally.");for(var c=0,d=a.length;c<d;++c)b[c]=a[c];a=b}return a};ol.projection.cloneTransform=function(a,b){var c;if(goog.isDef(b)){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];c=b}else c=a.slice();return c};ol.projection.transform=function(a,b,c){b=ol.projection.getTransform(b,c);a=[a.x,a.y];a=b(a,a,2);return new ol.Coordinate(a[0],a[1])};
ol.projection.transformWithCodes=function(a,b,c){b=ol.projection.getTransformFromCodes(b,c);a=[a.x,a.y];a=b(a,a,2);return new ol.Coordinate(a[0],a[1])};ol.IView2D=function(){};ol.IView2D.prototype.getCenter=function(){};ol.IView2D.prototype.getProjection=function(){};ol.IView2D.prototype.getResolution=function(){};ol.IView2D.prototype.getRotation=function(){};ol.IView2D.prototype.getView2DState=function(){};ol.source={};ol.source.Source=function(a){goog.events.EventTarget.call(this);this.projection_=goog.isDef(a.projection)?a.projection:null;this.extent_=goog.isDef(a.extent)?a.extent:a.projection.getExtent();this.attributions_=goog.isDef(a.attributions)?a.attributions:null};goog.inherits(ol.source.Source,goog.events.EventTarget);ol.source.Source.prototype.dispatchLoadEvent=function(){this.dispatchEvent(goog.events.EventType.LOAD)};ol.source.Source.prototype.getAttributions=function(){return this.attributions_};
ol.source.Source.prototype.getExtent=function(){return this.extent_};ol.source.Source.prototype.getProjection=function(){return this.projection_};ol.source.Source.prototype.isReady=goog.functions.TRUE;ol.source.Source.prototype.setAttributions=function(a){this.attributions_=a};ol.source.Source.prototype.setExtent=function(a){this.extent_=a};ol.source.Source.prototype.setProjection=function(a){this.projection_=a};ol.layer={};ol.layer.LayerProperty={BRIGHTNESS:"brightness",CONTRAST:"contrast",HUE:"hue",OPACITY:"opacity",SATURATION:"saturation",VISIBLE:"visible"};
ol.projection.transformWithCodes=function(a,b,c){b=ol.projection.getTransformFromCodes(b,c);a=[a.x,a.y];a=b(a,a,2);return new ol.Coordinate(a[0],a[1])};ol.IView2D=function(){};ol.IView2D.prototype.getCenter=function(){};ol.IView2D.prototype.getProjection=function(){};ol.IView2D.prototype.getResolution=function(){};ol.IView2D.prototype.getRotation=function(){};ol.IView2D.prototype.getView2DState=function(){};ol.source={};ol.source.Source=function(a){goog.events.EventTarget.call(this);this.projection_=goog.isDef(a.projection)?a.projection:null;this.extent_=goog.isDef(a.extent)?a.extent:goog.isDef(a.projection)?a.projection.getExtent():null;this.attributions_=goog.isDef(a.attributions)?a.attributions:null};goog.inherits(ol.source.Source,goog.events.EventTarget);ol.source.Source.prototype.dispatchLoadEvent=function(){this.dispatchEvent(goog.events.EventType.LOAD)};
ol.source.Source.prototype.getAttributions=function(){return this.attributions_};ol.source.Source.prototype.getExtent=function(){return this.extent_};ol.source.Source.prototype.getProjection=function(){return this.projection_};ol.source.Source.prototype.isReady=goog.functions.TRUE;ol.source.Source.prototype.setAttributions=function(a){this.attributions_=a};ol.source.Source.prototype.setExtent=function(a){this.extent_=a};ol.source.Source.prototype.setProjection=function(a){this.projection_=a};ol.layer={};ol.layer.LayerProperty={BRIGHTNESS:"brightness",CONTRAST:"contrast",HUE:"hue",OPACITY:"opacity",SATURATION:"saturation",VISIBLE:"visible"};
ol.layer.Layer=function(a){ol.Object.call(this);this.source_=a.source;this.setBrightness(goog.isDef(a.brightness)?a.brightness:0);this.setContrast(goog.isDef(a.contrast)?a.contrast:1);this.setHue(goog.isDef(a.hue)?a.hue:0);this.setOpacity(goog.isDef(a.opacity)?a.opacity:1);this.setSaturation(goog.isDef(a.saturation)?a.saturation:1);this.setVisible(goog.isDef(a.visible)?a.visible:!0);this.source_.isReady()||goog.events.listenOnce(this.source_,goog.events.EventType.LOAD,this.handleSourceLoad_,!1,this)};
goog.inherits(ol.layer.Layer,ol.Object);ol.layer.Layer.prototype.dispatchLoadEvent_=function(){this.dispatchEvent(goog.events.EventType.LOAD)};ol.layer.Layer.prototype.getBrightness=function(){return this.get(ol.layer.LayerProperty.BRIGHTNESS)};goog.exportProperty(ol.layer.Layer.prototype,"getBrightness",ol.layer.Layer.prototype.getBrightness);ol.layer.Layer.prototype.getContrast=function(){return this.get(ol.layer.LayerProperty.CONTRAST)};
goog.exportProperty(ol.layer.Layer.prototype,"getContrast",ol.layer.Layer.prototype.getContrast);ol.layer.Layer.prototype.getHue=function(){return this.get(ol.layer.LayerProperty.HUE)};goog.exportProperty(ol.layer.Layer.prototype,"getHue",ol.layer.Layer.prototype.getHue);
@@ -507,7 +507,7 @@ goog.exportProperty(ol.layer.Layer.prototype,"getVisible",ol.layer.Layer.prototy
ol.layer.Layer.prototype.setContrast=function(a){a=Math.max(0,a);a!=this.getContrast()&&this.set(ol.layer.LayerProperty.CONTRAST,a)};goog.exportProperty(ol.layer.Layer.prototype,"setContrast",ol.layer.Layer.prototype.setContrast);ol.layer.Layer.prototype.setHue=function(a){a!=this.getHue()&&this.set(ol.layer.LayerProperty.HUE,a)};goog.exportProperty(ol.layer.Layer.prototype,"setHue",ol.layer.Layer.prototype.setHue);
ol.layer.Layer.prototype.setOpacity=function(a){a=goog.math.clamp(a,0,1);a!=this.getOpacity()&&this.set(ol.layer.LayerProperty.OPACITY,a)};goog.exportProperty(ol.layer.Layer.prototype,"setOpacity",ol.layer.Layer.prototype.setOpacity);ol.layer.Layer.prototype.setSaturation=function(a){a=Math.max(0,a);a!=this.getSaturation()&&this.set(ol.layer.LayerProperty.SATURATION,a)};goog.exportProperty(ol.layer.Layer.prototype,"setSaturation",ol.layer.Layer.prototype.setSaturation);
ol.layer.Layer.prototype.setVisible=function(a){a=!!a;a!=this.getVisible()&&this.set(ol.layer.LayerProperty.VISIBLE,a)};goog.exportProperty(ol.layer.Layer.prototype,"setVisible",ol.layer.Layer.prototype.setVisible);ol.IView3D=function(){};ol.IView=function(){};ol.IView.prototype.getView2D=function(){};ol.IView.prototype.getView3D=function(){};goog.fx={};goog.fx.easing={};goog.fx.easing.easeIn=function(a){return a*a*a};goog.fx.easing.easeOut=function(a){return 1-Math.pow(1-a,3)};goog.fx.easing.inAndOut=function(a){return 3*a*a-2*a*a*a};ol.ViewHint={ANIMATING:0,INTERACTING:1};ol.View=function(){ol.Object.call(this);this.hints_=[0,0]};goog.inherits(ol.View,ol.Object);ol.View.prototype.getHints=function(){return goog.array.clone(this.hints_)};ol.View.prototype.setHint=function(a,b){goog.asserts.assert(0<=a&&a<this.hints_.length);this.hints_[a]+=b;goog.asserts.assert(0<=this.hints_[a])};ol.easing={};ol.easing.linear=function(a){return a};ol.easing.upAndDown=function(a){return 0.5>a?goog.fx.easing.inAndOut(2*a):1-goog.fx.easing.inAndOut(2*(a-0.5))};ol.easing.elastic=function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1};ol.easing.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};ol.animation={};ol.animation.bounce=function(a){var b=a.resolution,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.upAndDown;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=e((g.time-c)/d),i=b-g.view2DState.resolution;g.animate=!0;g.view2DState.resolution+=h*i;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.pan=function(a){var b=a.source,c=goog.isDef(a.start)?a.start:goog.now(),d=b.x,e=b.y,f=goog.isDef(a.duration)?a.duration:1E3,g=goog.isDef(a.easing)?a.easing:goog.fx.easing.inAndOut;return function(a,b){if(b.time<c)return b.animate=!0,b.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(b.time<c+f){var k=1-g((b.time-c)/f),j=d-b.view2DState.center.x,l=e-b.view2DState.center.y;b.animate=!0;b.view2DState.center.x+=k*j;b.view2DState.center.y+=k*l;b.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.pan=function(a){var b=a.source,c=goog.isDef(a.start)?a.start:goog.now(),d=b.x,e=b.y,f=goog.isDef(a.duration)?a.duration:1E3,g=goog.isDef(a.easing)?a.easing:goog.fx.easing.inAndOut;return function(a,b){if(b.time<c)return b.animate=!0,b.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(b.time<c+f){var l=1-g((b.time-c)/f),j=d-b.view2DState.center.x,k=e-b.view2DState.center.y;b.animate=!0;b.view2DState.center.x+=l*j;b.view2DState.center.y+=l*k;b.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.rotate=function(a){var b=a.rotation,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:goog.fx.easing.inAndOut;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),i=b-g.view2DState.rotation;g.animate=!0;g.view2DState.rotation+=h*i;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.zoom=function(a){var b=a.resolution,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.linear;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),i=b-g.view2DState.resolution;g.animate=!0;g.view2DState.resolution+=h*i;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};ol.Kinetic=function(a,b,c){this.decay_=a;this.minVelocity_=b;this.delay_=c;this.points_=[];this.initialVelocity_=this.angle_=0};ol.Kinetic.prototype.begin=function(){this.initialVelocity_=this.angle_=this.points_.length=0};ol.Kinetic.prototype.update=function(a,b){this.points_.push({x:a,y:b,t:goog.now()})};
ol.Kinetic.prototype.end=function(){for(var a=goog.now(),b=this.points_.length-1,c=b-1;0<=c&&this.points_[c].t>a-this.delay_;)c--;if(0<=c){var a=this.points_[c],b=this.points_[b],c=b.x-a.x,d=b.y-a.y;this.angle_=Math.atan2(d,c);this.initialVelocity_=Math.sqrt(c*c+d*d)/(b.t-a.t);return this.initialVelocity_>this.minVelocity_}return!1};
@@ -540,7 +540,15 @@ ol.control.Attribution.prototype.getTileSourceAttributions=function(a,b){var c={
ol.control.Attribution.prototype.setMap=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);ol.control.Attribution.superClass_.setMap.call(this,a);goog.isNull(a)||(this.listenerKeys_=[goog.events.listen(a,ol.MapEventType.POSTRENDER,this.handleMapPostrender,!1,this)])};
ol.control.Attribution.prototype.updateElement_=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.showElement(this.element,!1),this.renderedVisible_=!1);else{var b={},c={},d=this.getMap().getLayers();goog.isDef(d)&&d.forEach(function(a){a=a.getSource();c[goog.getUid(a).toString()]=a;a=a.getAttributions();if(!goog.isNull(a)){var d,e;for(e=0;e<a.length;++e)d=a[e],g=goog.getUid(d).toString(),b[g]=!0}});d=goog.object.clone(a.attributions);a=this.getTileSourceAttributions(a.usedTiles,c);
goog.object.extend(d,a);a=goog.array.map(goog.object.getKeys(d),Number);goog.array.sort(a);var e,f,g;for(e=0;e<a.length;++e)g=a[e].toString(),g in this.attributionElements_?this.attributionElementRenderedVisible_[g]||(goog.style.showElement(this.attributionElements_[g],!0),this.attributionElementRenderedVisible_[g]=!0):(f=goog.dom.createElement(goog.dom.TagName.LI),f.innerHTML=d[g].getHTML(),goog.dom.appendChild(this.ulElement_,f),this.attributionElements_[g]=f,this.attributionElementRenderedVisible_[g]=
!0),delete b[g];for(g in b)goog.dom.removeNode(this.attributionElements_[g]),delete this.attributionElements_[g],delete this.attributionElementRenderedVisible_[g];d=!goog.array.isEmpty(a);this.renderedVisible_!=d&&(goog.style.showElement(this.element,d),this.renderedVisible_=d)}};ol.control.ZOOM_DURATION=250;
!0),delete b[g];for(g in b)goog.dom.removeNode(this.attributionElements_[g]),delete this.attributionElements_[g],delete this.attributionElementRenderedVisible_[g];d=!goog.array.isEmpty(a);this.renderedVisible_!=d&&(goog.style.showElement(this.element,d),this.renderedVisible_=d)}};ol.control.ScaleLineUnits={DEGREES:"degrees",IMPERIAL:"imperial",NAUTICAL:"nautical",METRIC:"metric",US:"us"};
ol.control.ScaleLine=function(a){a=a||{};this.innerElement_=goog.dom.createDom(goog.dom.TagName.DIV,{"class":"ol-scale-line-inner"});this.element_=goog.dom.createDom(goog.dom.TagName.DIV,{"class":"ol-scale-line ol-unselectable"},this.innerElement_);this.minWidth_=goog.isDef(a.minWidth)?a.minWidth:64;this.units_=goog.isDef(a.units)?a.units:ol.control.ScaleLineUnits.METRIC;this.listenerKeys_=null;this.renderedVisible_=!1;this.renderedHTML_="";this.toEPSG4326_=null;ol.control.Control.call(this,{element:this.element_,
map:a.map,target:a.target})};goog.inherits(ol.control.ScaleLine,ol.control.Control);ol.control.ScaleLine.LEADING_DIGITS=[1,2,5];ol.control.ScaleLine.prototype.handleMapPostrender=function(a){this.updateElement_(a.frameState)};
ol.control.ScaleLine.prototype.setMap=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);ol.control.ScaleLine.superClass_.setMap.call(this,a);goog.isNull(a)||(this.listenerKeys_=[goog.events.listen(a,ol.MapEventType.POSTRENDER,this.handleMapPostrender,!1,this)])};
ol.control.ScaleLine.prototype.updateElement_=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.showElement(this.element_,!1),this.renderedVisible_=!1);else{var a=a.view2DState,b=a.center,c=a.projection,a=c.getPointResolution(a.resolution,b),d=c.getUnits();d==ol.ProjectionUnits.DEGREES&&(this.units_==ol.control.ScaleLineUnits.METRIC||this.units_==ol.control.ScaleLineUnits.IMPERIAL)?(this.toEPSG4326_=null,b=Math.cos(goog.math.toRadians(b.y)),a*=Math.PI*b*ol.sphere.NORMAL.radius/180):
d==ol.ProjectionUnits.METERS&&this.units_==ol.control.ScaleLineUnits.DEGREES?(goog.isNull(this.toEPSG4326_)&&(this.toEPSG4326_=ol.projection.getTransform(c,ol.projection.getFromCode("EPSG:4326"))),b=[b.x,b.y],b=this.toEPSG4326_(b,b,2),b=Math.cos(goog.math.toRadians(b[1])),a*=180/(Math.PI*b*ol.sphere.NORMAL.radius)):(this.toEPSG4326_=null,goog.asserts.assert((this.units_==ol.control.ScaleLineUnits.METRIC||this.units_==ol.control.ScaleLineUnits.IMPERIAL)&&d==ol.ProjectionUnits.METERS||this.units_==
ol.control.ScaleLineUnits.DEGREES&&d==ol.ProjectionUnits.DEGREES));c=this.minWidth_*a;b="";this.units_==ol.control.ScaleLineUnits.DEGREES?c<1/60?(b="\u2033",a*=3600):1>c?(b="\u2032",a*=60):b="\u00b0":this.units_==ol.control.ScaleLineUnits.IMPERIAL?0.9144>c?(b="in",a/=0.0254):1609.344>c?(b="ft",a/=0.3048):(b="mi",a/=1609.344):this.units_==ol.control.ScaleLineUnits.NAUTICAL?(a/=1852,b="nm"):this.units_==ol.control.ScaleLineUnits.METRIC?1>c?(b="mm",a*=1E3):1E3>c?b="m":(b="km",a/=1E3):this.units_==ol.control.ScaleLineUnits.US?
0.9144>c?(b="in",a*=39.37):1609.344>c?(b="ft",a/=0.30480061):(b="mi",a/=1609.3472):goog.asserts.assert(!1);for(var c=3*Math.floor(Math.log(this.minWidth_*a)/Math.log(10)),e,f;;){e=ol.control.ScaleLine.LEADING_DIGITS[c%3]*Math.pow(10,Math.floor(c/3));f=Math.round(e/a);if(f>=this.minWidth_)break;++c}e+=b;this.renderedHTML_!=e&&(this.renderedHTML_=this.innerElement_.innerHTML=e);this.renderedWidth_!=f&&(this.innerElement_.style.width=f+"px",this.renderedWidth_=f);this.renderedVisible_||(goog.style.showElement(this.element_,
!0),this.renderedVisible_=!0)}};ol.control.ZOOM_DURATION=250;
ol.control.Zoom=function(a){var b=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomIn","class":"ol-zoom-in"});goog.events.listen(b,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],this.handleIn_,!1,this);var c=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomOut","class":"ol-zoom-out"});goog.events.listen(c,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],this.handleOut_,!1,this);b=goog.dom.createDom(goog.dom.TagName.DIV,"ol-zoom ol-unselectable",b,c);ol.control.Control.call(this,
{element:b,map:a.map,target:a.target});this.delta_=goog.isDef(a.delta)?a.delta:1};goog.inherits(ol.control.Zoom,ol.control.Control);ol.control.Zoom.prototype.handleIn_=function(a){a.preventDefault();a=this.getMap();a.requestRenderFrame();a.getView().zoom(a,this.delta_,void 0,ol.control.ZOOM_DURATION)};ol.control.Zoom.prototype.handleOut_=function(a){a.preventDefault();a=this.getMap();a.requestRenderFrame();a.getView().zoom(a,-this.delta_,void 0,ol.control.ZOOM_DURATION)};ol.interaction={};ol.interaction.Interaction=function(){};ol.interaction.DblClickZoom=function(a){this.delta_=a;ol.interaction.Interaction.call(this)};goog.inherits(ol.interaction.DblClickZoom,ol.interaction.Interaction);
ol.interaction.DblClickZoom.prototype.handleMapBrowserEvent=function(a){var b=a.browserEvent;if(a.type==ol.MapBrowserEvent.EventType.DBLCLICK&&a.isMouseActionButton()){var c=a.map,d=a.getCoordinate(),e=a.browserEvent.shiftKey?-this.delta_:this.delta_,f=c.getView();goog.asserts.assert(f instanceof ol.View2D);f.zoom(c,e,d);a.preventDefault();b.preventDefault()}};ol.interaction.condition={};ol.interaction.condition.altKeyOnly=function(a){return a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.altShiftKeysOnly=function(a){return a.altKey&&!a.platformModifierKey&&a.shiftKey};ol.interaction.condition.noModifierKeys=function(a){return!a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.platformModifierKeyOnly=function(a){return!a.altKey&&a.platformModifierKey&&!a.shiftKey};
@@ -576,7 +584,7 @@ ol.projection.EPSG4326.prototype.getPointResolution=function(a){return a};ol.pro
ol.Image.prototype.getExtent=function(){return this.extent_};ol.Image.prototype.getImageElement=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};ol.Image.prototype.getResolution=function(){return this.resolution_};ol.Image.prototype.getState=function(){return this.state};
ol.Image.prototype.handleImageError_=function(){this.state=ol.ImageState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.Image.prototype.handleImageLoad_=function(){this.state=ol.ImageState.LOADED;this.unlistenImage_();this.dispatchChangeEvent()};
ol.Image.prototype.load=function(){this.state==ol.ImageState.IDLE&&(this.state=ol.ImageState.LOADING,goog.asserts.assert(goog.isNull(this.imageListenerKeys_)),this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};
ol.Image.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.PixelBounds=function(a,b,c,d){ol.Rectangle.call(this,a,b,c,d)};goog.inherits(ol.PixelBounds,ol.Rectangle);ol.tilegrid={};ol.DEFAULT_TILE_SIZE=256;
ol.Image.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.PixelBounds=function(a,b,c,d){ol.Rectangle.call(this,a,b,c,d)};goog.inherits(ol.PixelBounds,ol.Rectangle);ol.tilegrid={};ol.DEFAULT_TILE_SIZE=256;ol.DEFAULT_MAX_ZOOM=42;
ol.tilegrid.TileGrid=function(a){this.resolutions_=a.resolutions;goog.asserts.assert(goog.array.isSorted(this.resolutions_,function(a,c){return c-a},!0));this.numResolutions_=this.resolutions_.length;this.origin_=goog.isDef(a.origin)?a.origin:null;this.origins_=null;goog.isDef(a.origins)&&(this.origins_=a.origins,goog.asserts.assert(this.origins_.length==this.resolutions_.length));goog.asserts.assert(goog.isNull(this.origin_)&&!goog.isNull(this.origins_)||!goog.isNull(this.origin_)&&goog.isNull(this.origins_));
this.tileSizes_=null;goog.isDef(a.tileSizes)&&(this.tileSizes_=a.tileSizes,goog.asserts.assert(this.tileSizes_.length==this.resolutions_.length));this.tileSize_=goog.isDef(a.tileSize)?a.tileSize:goog.isNull(this.tileSizes_)?new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE):null;goog.asserts.assert(goog.isNull(this.tileSize_)&&!goog.isNull(this.tileSizes_)||!goog.isNull(this.tileSize_)&&goog.isNull(this.tileSizes_))};
ol.tilegrid.TileGrid.prototype.forEachTileCoordParentTileRange=function(a,b,c){for(var d=this.getTileCoordExtent(a),a=a.z-1;0<=a&&!b.call(c,a,this.getTileRangeForExtentAndZ(d,a));)--a};ol.tilegrid.TileGrid.prototype.getOrigin=function(a){return goog.isNull(this.origin_)?(goog.asserts.assert(!goog.isNull(this.origins_)),goog.asserts.assert(0<=a&&a<this.origins_.length),this.origins_[a]):this.origin_};
@@ -586,44 +594,46 @@ ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResolution=function(a,b){
ol.tilegrid.TileGrid.prototype.getTileCoordCenter=function(a){var b=this.getOrigin(a.z),c=this.getResolution(a.z),d=this.getTileSize(a.z);return new ol.Coordinate(b.x+(a.x+0.5)*d.width*c,b.y+(a.y+0.5)*d.height*c)};ol.tilegrid.TileGrid.prototype.getTileCoordExtent=function(a){var b=this.getOrigin(a.z),c=this.getResolution(a.z),d=this.getTileSize(a.z),e=b.x+a.x*d.width*c,a=b.y+a.y*d.height*c;return new ol.Extent(e,a,e+d.width*c,a+d.height*c)};
ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndResolution=function(a,b){return this.getTileCoordForCoordAndResolution_(a,b)};ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndResolution_=function(a,b,c){var d=this.getZForResolution(b),e=b/this.getResolution(d),f=this.getOrigin(d),g=this.getTileSize(d),h=e*(a.x-f.x)/(b*g.width),a=e*(a.y-f.y)/(b*g.height);c?(h=Math.ceil(h)-1,a=Math.ceil(a)-1):(h=Math.floor(h),a=Math.floor(a));return new ol.TileCoord(d,h,a)};
ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndZ=function(a,b){var c=this.getResolution(b);return this.getTileCoordForCoordAndResolution_(a,c)};ol.tilegrid.TileGrid.prototype.getTileCoordResolution=function(a){goog.asserts.assert(0<=a.z&&a.z<this.numResolutions_);return this.resolutions_[a.z]};
ol.tilegrid.TileGrid.prototype.getTileSize=function(a){return goog.isNull(this.tileSize_)?(goog.asserts.assert(!goog.isNull(this.tileSizes_)),goog.asserts.assert(0<=a&&a<this.tileSizes_.length),this.tileSizes_[a]):this.tileSize_};ol.tilegrid.TileGrid.prototype.getZForResolution=function(a){return ol.array.linearFindNearest(this.resolutions_,a)};
ol.tilegrid.createForProjection=function(a,b,c){var a=a.getExtent(),d=Math.max(a.maxX-a.minX,a.maxY-a.minY),b=goog.isDef(b)?b:18,c=goog.isDef(c)?c:new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE),b=Array(b+1);goog.asserts.assert(c.width==c.height);for(var d=d/c.width,e=0,f=b.length;e<f;++e)b[e]=d/Math.pow(2,e);return new ol.tilegrid.TileGrid({origin:a.getTopLeft(),resolutions:b,tileSize:c})};ol.source.TileSource=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.tileGrid=goog.isDef(a.tileGrid)?a.tileGrid:null};goog.inherits(ol.source.TileSource,ol.source.Source);ol.source.TileSource.prototype.canExpireCache=goog.functions.FALSE;
ol.source.TileSource.prototype.findLoadedTiles=function(a,b,c,d){var e=!0,f,g,h,i;for(h=d.minX;h<=d.maxX;++h)for(i=d.minY;i<=d.maxY;++i)if(f=new ol.TileCoord(c,h,i),g=f.toString(),!a[c]||!a[c][g])f=this.getTile(f),b(f)?(a[c]||(a[c]={}),a[c][g]=f):e=!1;return e};ol.source.TileSource.prototype.getResolutions=function(){return this.tileGrid.getResolutions()};ol.source.TileSource.prototype.getTileGrid=function(){return this.tileGrid};
ol.source.TileSource.prototype.useLowResolutionTiles=function(a,b){for(var c=this.getTileGrid(),d,e,f;0<=a;--a){d=c.getTileRangeForExtentAndZ(b,a);for(e=d.minX;e<=d.maxX;++e)for(f=d.minY;f<=d.maxY;++f)this.useTile(a+"/"+e+"/"+f)}};ol.source.TileSource.prototype.useTile=goog.nullFunction;ol.renderer={};
ol.tilegrid.TileGrid.prototype.getTileSize=function(a){return goog.isNull(this.tileSize_)?(goog.asserts.assert(!goog.isNull(this.tileSizes_)),goog.asserts.assert(0<=a&&a<this.tileSizes_.length),this.tileSizes_[a]):this.tileSize_};ol.tilegrid.TileGrid.prototype.getZForResolution=function(a){return ol.array.linearFindNearest(this.resolutions_,a)};ol.tilegrid.getForProjection=function(a){var b=a.getDefaultTileGrid();goog.isNull(b)&&(b=ol.tilegrid.createForProjection(a),a.setDefaultTileGrid(b));return b};
ol.tilegrid.createForProjection=function(a,b,c){var a=a.getExtent(),d=Math.max(a.maxX-a.minX,a.maxY-a.minY),b=goog.isDef(b)?b:ol.DEFAULT_MAX_ZOOM,c=goog.isDef(c)?c:new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE),b=Array(b+1);goog.asserts.assert(c.width==c.height);for(var d=d/c.width,e=0,f=b.length;e<f;++e)b[e]=d/Math.pow(2,e);return new ol.tilegrid.TileGrid({origin:a.getTopLeft(),resolutions:b,tileSize:c})};ol.source.TileSource=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.opaque_=goog.isDef(a.opaque)?a.opaque:!1;this.tileGrid=goog.isDef(a.tileGrid)?a.tileGrid:null};goog.inherits(ol.source.TileSource,ol.source.Source);ol.source.TileSource.prototype.canExpireCache=goog.functions.FALSE;
ol.source.TileSource.prototype.findLoadedTiles=function(a,b,c,d){var e=!0,f,g,h,i;for(h=d.minX;h<=d.maxX;++h)for(i=d.minY;i<=d.maxY;++i)if(f=new ol.TileCoord(c,h,i),g=f.toString(),!a[c]||!a[c][g])f=b(f),goog.isNull(f)?e=!1:(a[c]||(a[c]={}),a[c][g]=f);return e};ol.source.TileSource.prototype.getOpaque=function(){return this.opaque_};ol.source.TileSource.prototype.getResolutions=function(){return this.tileGrid.getResolutions()};ol.source.TileSource.prototype.getTileGrid=function(){return this.tileGrid};
ol.source.TileSource.prototype.useLowResolutionTiles=function(a,b,c){for(var d,e,f;0<=a;--a){d=c.getTileRangeForExtentAndZ(b,a);for(e=d.minX;e<=d.maxX;++e)for(f=d.minY;f<=d.maxY;++f)this.useTile(a+"/"+e+"/"+f)}};ol.source.TileSource.prototype.useTile=goog.nullFunction;ol.renderer={};
ol.renderer.Layer=function(a,b){ol.Object.call(this);this.mapRenderer_=a;this.layer_=b;goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.BRIGHTNESS),this.handleLayerBrightnessChange,!1,this);goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.CONTRAST),this.handleLayerContrastChange,!1,this);goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.HUE),this.handleLayerHueChange,!1,this);goog.events.listen(this.layer_,goog.events.EventType.LOAD,
this.handleLayerLoad,!1,this);goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.OPACITY),this.handleLayerOpacityChange,!1,this);goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.SATURATION),this.handleLayerSaturationChange,!1,this);goog.events.listen(this.layer_,ol.Object.getChangedEventType(ol.layer.LayerProperty.VISIBLE),this.handleLayerVisibleChange,!1,this)};goog.inherits(ol.renderer.Layer,ol.Object);
ol.renderer.Layer.prototype.dispatchChangeEvent=function(){this.dispatchEvent(goog.events.EventType.CHANGE)};ol.renderer.Layer.prototype.getLayer=function(){return this.layer_};ol.renderer.Layer.prototype.getMap=function(){return this.mapRenderer_.getMap()};ol.renderer.Layer.prototype.getMapRenderer=function(){return this.mapRenderer_};ol.renderer.Layer.prototype.handleLayerBrightnessChange=goog.nullFunction;ol.renderer.Layer.prototype.handleLayerContrastChange=goog.nullFunction;
ol.renderer.Layer.prototype.handleLayerHueChange=goog.nullFunction;ol.renderer.Layer.prototype.handleImageChange=function(a){a.target.getState()===ol.ImageState.LOADED&&this.getMap().requestRenderFrame()};ol.renderer.Layer.prototype.handleLayerLoad=function(){this.dispatchChangeEvent()};ol.renderer.Layer.prototype.handleLayerOpacityChange=function(){this.dispatchChangeEvent()};ol.renderer.Layer.prototype.handleLayerSaturationChange=goog.nullFunction;
ol.renderer.Layer.prototype.handleLayerVisibleChange=function(){this.dispatchChangeEvent()};ol.renderer.Layer.prototype.handleTileChange=function(a){a.target.getState()===ol.TileState.LOADED&&this.getMap().requestRenderFrame()};ol.renderer.Layer.prototype.scheduleExpireCache=function(a,b){b.canExpireCache()&&a.postRenderFunctions.push(goog.partial(function(a,b,e){b=goog.getUid(a).toString();a.expireCache(e.usedTiles[b])},b))};
ol.renderer.Layer.prototype.updateAttributions=function(a,b){var c,d;for(c=0;c<b.length;++c)d=b[c],a[goog.getUid(d).toString()]=d};ol.renderer.Layer.prototype.updateUsedTiles=function(a,b,c,d){b=goog.getUid(b).toString();c=c.toString();b in a?c in a[b]?a[b][c].extend(d):a[b][c]=d:(a[b]={},a[b][c]=d)};ol.renderer.Layer.prototype.updateWantedTiles=function(a,b,c){b=goog.getUid(b).toString();c=c.toString();b in a||(a[b]={});a[b][c]=!0};ol.renderer.Map=function(a,b){goog.Disposable.call(this);this.container_=a;this.map=b;this.layerRenderers={};this.mapLayersChangedListenerKey_=goog.events.listen(b,ol.Object.getChangedEventType(ol.MapProperty.LAYERS),this.handleLayersChanged,!1,this);this.layersListenerKeys_=null;this.layerRendererChangeListenKeys_={}};goog.inherits(ol.renderer.Map,goog.Disposable);ol.renderer.Map.prototype.addLayer=function(a){var b=this.createLayerRenderer(a);this.setLayerRenderer(a,b)};
ol.renderer.Layer.prototype.updateAttributions=function(a,b){var c,d;for(c=0;c<b.length;++c)d=b[c],a[goog.getUid(d).toString()]=d};ol.renderer.Layer.prototype.updateUsedTiles=function(a,b,c,d){b=goog.getUid(b).toString();c=c.toString();b in a?c in a[b]?a[b][c].extend(d):a[b][c]=d:(a[b]={},a[b][c]=d)};ol.renderer.Layer.prototype.updateWantedTiles=function(a,b,c){b=goog.getUid(b).toString();c=c.toString();b in a||(a[b]={});a[b][c]=!0};
ol.renderer.Layer.prototype.createGetTileIfLoadedFunction=function(a,b,c,d){return function(e){e=b.getTile(e,c,d);return a(e)?e:null}};ol.renderer.Map=function(a,b){goog.Disposable.call(this);this.container_=a;this.map=b;this.layerRenderers={};this.mapLayersChangedListenerKey_=goog.events.listen(b,ol.Object.getChangedEventType(ol.MapProperty.LAYERS),this.handleLayersChanged,!1,this);this.layersListenerKeys_=null;this.layerRendererChangeListenKeys_={}};goog.inherits(ol.renderer.Map,goog.Disposable);ol.renderer.Map.prototype.addLayer=function(a){var b=this.createLayerRenderer(a);this.setLayerRenderer(a,b)};
ol.renderer.Map.prototype.calculateMatrices2D=function(a){var b=a.view2DState,c=a.coordinateToPixelMatrix;goog.vec.Mat4.makeIdentity(c);goog.vec.Mat4.translate(c,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.scale(c,1/b.resolution,-1/b.resolution,1);goog.vec.Mat4.rotateZ(c,-b.rotation);goog.vec.Mat4.translate(c,-b.center.x,-b.center.y,0);a=goog.vec.Mat4.invert(c,a.pixelToCoordinateMatrix);goog.asserts.assert(a)};
ol.renderer.Map.prototype.createLayerRenderer=function(a){return new ol.renderer.Layer(this,a)};ol.renderer.Map.prototype.disposeInternal=function(){goog.object.forEach(this.layerRenderers,function(a){goog.dispose(a)});goog.events.unlistenByKey(this.mapLayersChangedListenerKey_);goog.isNull(this.layersListenerKeys_)||goog.array.forEach(this.layersListenerKeys_,goog.events.unlistenByKey);ol.renderer.Map.superClass_.disposeInternal.call(this)};ol.renderer.Map.prototype.getCanvas=goog.functions.NULL;
ol.renderer.Map.prototype.getLayerRenderer=function(a){a=goog.getUid(a);a=this.layerRenderers[a];goog.asserts.assert(goog.isDef(a));return a};ol.renderer.Map.prototype.getMap=function(){return this.map};ol.renderer.Map.prototype.handleLayerRendererChange=function(){this.getMap().render()};ol.renderer.Map.prototype.handleLayersAdd=function(a){this.addLayer(a.elem)};
ol.renderer.Map.prototype.handleLayersChanged=function(){goog.disposeAll(goog.object.getValues(this.layerRenderers));this.layerRenderers={};goog.isNull(this.layersListenerKeys_)||(goog.array.forEach(this.layersListenerKeys_,goog.events.unlistenByKey),this.layersListenerKeys_=null);var a=this.map.getLayers();goog.isDefAndNotNull(a)&&(a.forEach(this.addLayer,this),this.layersListenerKeys_=[goog.events.listen(a,ol.CollectionEventType.ADD,this.handleLayersAdd,!1,this),goog.events.listen(a,ol.CollectionEventType.REMOVE,
this.handleLayersRemove,!1,this)])};ol.renderer.Map.prototype.handleLayersRemove=function(a){this.removeLayer(a.elem)};ol.renderer.Map.prototype.removeLayer=function(a){goog.dispose(this.removeLayerRenderer(a))};ol.renderer.Map.prototype.removeLayerRenderer=function(a){a=goog.getUid(a);if(a in this.layerRenderers){var b=this.layerRenderers[a];delete this.layerRenderers[a];goog.events.unlistenByKey(this.layerRendererChangeListenKeys_[a]);delete this.layerRendererChangeListenKeys_[a];return b}return null};
ol.renderer.Map.prototype.renderFrame=goog.nullFunction;ol.renderer.Map.prototype.setLayerRenderer=function(a,b){var c=goog.getUid(a);goog.asserts.assert(!(c in this.layerRenderers));this.layerRenderers[c]=b;goog.asserts.assert(!(c in this.layerRendererChangeListenKeys_));this.layerRendererChangeListenKeys_[c]=goog.events.listen(b,goog.events.EventType.CHANGE,this.handleLayerRendererChange,!1,this)};ol.ImageUrlFunction={};ol.ImageUrlFunction.createBboxParam=function(a,b){return function(c,d){var e="ne"==b.substr(0,2)?[c.minY,c.minX,c.maxY,c.maxX]:[c.minX,c.minY,c.maxX,c.maxY];return goog.uri.utils.appendParams(a,"BBOX",e.join(","),"HEIGHT",d.height,"WIDTH",d.width)}};ol.ImageUrlFunction.nullImageUrlFunction=function(){};ol.source.ImageSource=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.imageUrlFunction=goog.isDef(a.imageUrlFunction)?a.imageUrlFunction:ol.ImageUrlFunction.nullImageUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:"anonymous";this.resolutions_=goog.isDef(a.resolutions)?a.resolutions:null;goog.asserts.assert(goog.isNull(this.resolutions_)||goog.array.isSorted(this.resolutions_,function(a,c){return c-a},!0))};
goog.inherits(ol.source.ImageSource,ol.source.Source);ol.source.ImageSource.prototype.createImage=function(a,b,c){var d=null,c=this.imageUrlFunction(a,c);goog.isDef(c)&&(d=new ol.Image(a,b,c,this.crossOrigin_,this.getAttributions()));return d};ol.source.ImageSource.prototype.findNearestResolution=function(a){goog.isNull(this.resolutions_)||(a=ol.array.linearFindNearest(this.resolutions_,a),a=this.resolutions_[a]);return a};ol.layer.ImageLayer=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.ImageLayer,ol.layer.Layer);ol.layer.ImageLayer.prototype.getImageSource=function(){return this.getSource()};ol.layer.TileLayer=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.TileLayer,ol.layer.Layer);ol.layer.TileLayer.prototype.getTileSource=function(){return this.getSource()};ol.renderer.canvas={};ol.renderer.canvas.Layer=function(a,b){ol.renderer.Layer.call(this,a,b)};goog.inherits(ol.renderer.canvas.Layer,ol.renderer.Layer);ol.renderer.canvas.ImageLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.image_=null;this.transform_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.canvas.ImageLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.ImageLayer.prototype.getImage=function(){return goog.isNull(this.image_)?null:this.image_.getImageElement(this)};ol.renderer.canvas.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.canvas.ImageLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,b=b.rotation,e;e=this.getImageLayer().getImageSource();var f=a.viewHints;!f[ol.ViewHint.ANIMATING]&&!f[ol.ViewHint.INTERACTING]&&(e=e.getImage(a.extent,d),goog.isNull(e)||(f=e.getState(),f==ol.ImageState.IDLE?(goog.events.listenOnce(e,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),e.load()):f==ol.ImageState.LOADED&&(this.image_=e)));if(!goog.isNull(this.image_)){e=this.image_;
var f=e.getExtent(),g=e.getResolution(),h=this.transform_;goog.vec.Mat4.makeIdentity(h);goog.vec.Mat4.translate(h,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(h,b);goog.vec.Mat4.scale(h,g/d,g/d,1);goog.vec.Mat4.translate(h,(f.minX-c.x)/g,(c.y-f.maxY)/g,0);this.updateAttributions(a.attributions,e.getAttributions())}};ol.renderer.canvas.TileLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.context_=this.canvasSize_=this.canvas_=null;this.transform_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.canvas.TileLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.TileLayer.prototype.getImage=function(){return this.canvas_};ol.renderer.canvas.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.canvas.TileLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.TileLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=this.getTileLayer().getTileSource(),d=goog.getUid(c).toString(),e=c.getTileGrid(),f=e.getZForResolution(b.resolution),g=e.getTileSize(f),h=e.getResolution(f),i=e.getTileRangeForExtentAndResolution(a.extent,h),k=new ol.Size(g.width*i.getWidth(),g.height*i.getHeight()),j,l;goog.isNull(this.canvas_)?(j=goog.dom.createElement(goog.dom.TagName.CANVAS),j.width=k.width,j.height=k.height,l=j.getContext("2d"),this.canvas_=
j,this.canvasSize_=k,this.context_=l):(j=this.canvas_,l=this.context_,this.canvasSize_.equals(k)||(j.width=k.width,j.height=k.height,this.canvasSize_=k));l.clearRect(0,0,k.width,k.height);k={};k[f]={};var g=goog.bind(c.findLoadedTiles,c,k,function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED}),m,p,n,q;for(n=i.minX;n<=i.maxX;++n)for(q=i.minY;q<=i.maxY;++q)if(p=new ol.TileCoord(f,n,q),j=c.getTile(p),!goog.isNull(j)){m=j.getState();if(m==ol.TileState.IDLE)goog.events.listenOnce(j,goog.events.EventType.CHANGE,
this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,c,p),m=e.getTileCoordCenter(p),a.tileQueue.enqueue(j,d,m);else if(m==ol.TileState.LOADED){k[f][p.toString()]=j;continue}else if(m==ol.TileState.ERROR)continue;e.forEachTileCoordParentTileRange(p,g)}p=goog.array.map(goog.object.getKeys(k),Number);goog.array.sort(p);var d=e.getTileCoordExtent(new ol.TileCoord(f,i.minX,i.maxY)).getTopLeft(),r,u;for(n=0;n<p.length;++n)if(j=p[n],g=e.getTileSize(j),q=k[j],j==f)for(r in q)j=q[r],l.drawImage(j.getImage(),
g.width*(j.tileCoord.x-i.minX),g.height*(i.maxY-j.tileCoord.y));else for(r in m=e.getResolution(j)/h,q)j=q[r],u=e.getTileCoordExtent(j.tileCoord),l.drawImage(j.getImage(),(u.minX-d.x)/h,(d.y-u.maxY)/h,m*g.width,m*g.height);this.updateUsedTiles(a.usedTiles,c,f,i);c.useLowResolutionTiles(f,a.extent);this.scheduleExpireCache(a,c);c=this.transform_;goog.vec.Mat4.makeIdentity(c);goog.vec.Mat4.translate(c,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(c,b.rotation);goog.vec.Mat4.scale(c,h/b.resolution,
h/b.resolution,1);goog.vec.Mat4.translate(c,(d.x-b.center.x)/h,(b.center.y-d.y)/h,0)};ol.renderer.canvas.Map=function(a,b){ol.renderer.Map.call(this,a,b);this.canvasSize_=new ol.Size(a.clientHeight,a.clientWidth);this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.canvas_.height=this.canvasSize_.height;this.canvas_.width=this.canvasSize_.width;this.canvas_.className="ol-unselectable";goog.dom.insertChildAt(a,this.canvas_,0);this.renderedVisible_=!0;this.context_=this.canvas_.getContext("2d")};goog.inherits(ol.renderer.canvas.Map,ol.renderer.Map);
ol.renderer.Map.prototype.renderFrame=goog.nullFunction;ol.renderer.Map.prototype.setLayerRenderer=function(a,b){var c=goog.getUid(a);goog.asserts.assert(!(c in this.layerRenderers));this.layerRenderers[c]=b;goog.asserts.assert(!(c in this.layerRendererChangeListenKeys_));this.layerRendererChangeListenKeys_[c]=goog.events.listen(b,goog.events.EventType.CHANGE,this.handleLayerRendererChange,!1,this)};ol.source.wms={};ol.source.wms.getUrl=function(a,b,c,d,e,f){var g=goog.isDef(f)?f:"1.3.0",f="1.3"<=g,h=e.getAxisOrientation(),c=f&&"ne"==h.substr(0,2)?[c.minY,c.minX,c.maxY,c.maxX]:[c.minX,c.minY,c.maxX,c.maxY],d={SERVICE:"WMS",VERSION:g,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0,WIDTH:d.width,HEIGHT:d.height,BBOX:c.join(",")};goog.object.extend(d,b);d[f?"CRS":"SRS"]=e.getCode();d.STYLES=b.STYLES||new String("");return goog.uri.utils.appendParamsFromMap(a,d)};ol.ImageUrlFunction={};ol.ImageUrlFunction.createWMSParams=function(a,b,c){return function(d,e,f){return ol.source.wms.getUrl(a,b,d,e,f,c)}};ol.ImageUrlFunction.nullImageUrlFunction=function(){};ol.source.ImageSource=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.imageUrlFunction=goog.isDef(a.imageUrlFunction)?a.imageUrlFunction:ol.ImageUrlFunction.nullImageUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:"anonymous";this.resolutions_=goog.isDef(a.resolutions)?a.resolutions:null;goog.asserts.assert(goog.isNull(this.resolutions_)||goog.array.isSorted(this.resolutions_,function(a,c){return c-a},!0))};
goog.inherits(ol.source.ImageSource,ol.source.Source);ol.source.ImageSource.prototype.createImage=function(a,b,c,d){var e=null,c=this.imageUrlFunction(a,c,d);goog.isDef(c)&&(e=new ol.Image(a,b,c,this.crossOrigin_,this.getAttributions()));return e};ol.source.ImageSource.prototype.findNearestResolution=function(a){goog.isNull(this.resolutions_)||(a=ol.array.linearFindNearest(this.resolutions_,a),a=this.resolutions_[a]);return a};ol.layer.ImageLayer=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.ImageLayer,ol.layer.Layer);ol.layer.ImageLayer.prototype.getImageSource=function(){return this.getSource()};ol.layer.TileLayer=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.TileLayer,ol.layer.Layer);ol.layer.TileLayer.prototype.getTileSource=function(){return this.getSource()};ol.renderer.canvas={};ol.renderer.canvas.Layer=function(a,b){ol.renderer.Layer.call(this,a,b)};goog.inherits(ol.renderer.canvas.Layer,ol.renderer.Layer);ol.renderer.canvas.ImageLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.image_=null;this.transform_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.canvas.ImageLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.ImageLayer.prototype.getImage=function(){return goog.isNull(this.image_)?null:this.image_.getImageElement(this)};ol.renderer.canvas.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.canvas.ImageLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,e=b.rotation,f=this.getImageLayer().getImageSource(),g=a.viewHints;!g[ol.ViewHint.ANIMATING]&&!g[ol.ViewHint.INTERACTING]&&(b=f.getImage(a.extent,d,b.projection),goog.isNull(b)||(f=b.getState(),f==ol.ImageState.IDLE?(goog.events.listenOnce(b,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),b.load()):f==ol.ImageState.LOADED&&(this.image_=b)));if(!goog.isNull(this.image_)){var b=
this.image_,f=b.getExtent(),g=b.getResolution(),h=this.transform_;goog.vec.Mat4.makeIdentity(h);goog.vec.Mat4.translate(h,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(h,e);goog.vec.Mat4.scale(h,g/d,g/d,1);goog.vec.Mat4.translate(h,(f.minX-c.x)/g,(c.y-f.maxY)/g,0);this.updateAttributions(a.attributions,b.getAttributions())}};ol.renderer.canvas.TileLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.context_=this.canvasSize_=this.canvas_=null;this.transform_=goog.vec.Mat4.createNumber();this.renderedTiles_=null};goog.inherits(ol.renderer.canvas.TileLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.TileLayer.prototype.getImage=function(){return this.canvas_};ol.renderer.canvas.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.canvas.TileLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.TileLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.projection,d=this.getTileLayer().getTileSource(),e=goog.getUid(d).toString(),f=d.getTileGrid();goog.isNull(f)&&(f=ol.tilegrid.getForProjection(c));var g=f.getZForResolution(b.resolution),h=f.getTileSize(g),i=f.getResolution(g),l=f.getTileRangeForExtentAndResolution(a.extent,i),j=l.getWidth(),k=l.getHeight(),h=new ol.Size(h.width*j,h.height*k),m,n;goog.isNull(this.canvas_)?(m=goog.dom.createElement(goog.dom.TagName.CANVAS),
m.width=h.width,m.height=h.height,n=m.getContext("2d"),this.canvas_=m,this.canvasSize_=h,this.context_=n,this.renderedTiles_=Array(j*k)):(m=this.canvas_,n=this.context_,this.canvasSize_.equals(h)||(m.width=h.width,m.height=h.height,this.canvasSize_=h,this.renderedTiles_=Array(j*k)));k={};k[g]={};var h=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED},d,f,c),h=goog.bind(d.findLoadedTiles,d,k,h),p,q,r,s;for(r=l.minX;r<=l.maxX;++r)for(s=l.minY;s<=
l.maxY;++s)if(q=new ol.TileCoord(g,r,s),p=d.getTile(q,f,c),!goog.isNull(p)){m=p.getState();if(m==ol.TileState.IDLE)goog.events.listenOnce(p,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,d,q),m=f.getTileCoordCenter(q),a.tileQueue.enqueue(p,e,m);else if(m==ol.TileState.LOADED){k[g][q.toString()]=p;continue}else if(m==ol.TileState.ERROR)continue;f.forEachTileCoordParentTileRange(q,h)}e=goog.array.map(goog.object.getKeys(k),Number);goog.array.sort(e);
m=d.getOpaque();var c=f.getTileCoordExtent(new ol.TileCoord(g,l.minX,l.maxY)).getTopLeft(),z,w,t,v,u,x;for(z=0;z<e.length;++z)if(p=e[z],h=f.getTileSize(p),v=k[p],p==g)for(w in v)p=v[w],q=p.tileCoord,q=(q.y-l.minY)*j+(q.x-l.minX),this.renderedTiles_[q]!=p&&(r=h.width*(p.tileCoord.x-l.minX),s=h.height*(l.maxY-p.tileCoord.y),m||n.clearRect(r,s,h.width,h.height),n.drawImage(p.getImage(),r,s),this.renderedTiles_[q]=p);else for(w in q=f.getResolution(p)/i,v){p=v[w];t=f.getTileCoordExtent(p.tileCoord);r=
(t.minX-c.x)/i;s=(c.y-t.maxY)/i;x=q*h.width;u=q*h.height;m||n.clearRect(r,s,x,u);n.drawImage(p.getImage(),r,s,x,u);s=f.getTileRangeForExtentAndZ(t,g);t=Math.max(s.minX,l.minX);p=Math.min(s.maxX,l.maxX);r=Math.max(s.minY,l.minY);for(s=Math.min(s.maxY,l.maxY);t<=p;++t)for(u=r;u<=s;++u)this.renderedTiles_[(u-l.minY)*j+(t-l.minX)]=void 0}this.updateUsedTiles(a.usedTiles,d,g,l);d.useLowResolutionTiles(g,a.extent,f);this.scheduleExpireCache(a,d);d=this.transform_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.translate(d,
a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(d,b.rotation);goog.vec.Mat4.scale(d,i/b.resolution,i/b.resolution,1);goog.vec.Mat4.translate(d,(c.x-b.center.x)/i,(b.center.y-c.y)/i,0)};ol.renderer.canvas.Map=function(a,b){ol.renderer.Map.call(this,a,b);this.canvasSize_=new ol.Size(a.clientHeight,a.clientWidth);this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.canvas_.height=this.canvasSize_.height;this.canvas_.width=this.canvasSize_.width;this.canvas_.className="ol-unselectable";goog.dom.insertChildAt(a,this.canvas_,0);this.renderedVisible_=!0;this.context_=this.canvas_.getContext("2d")};goog.inherits(ol.renderer.canvas.Map,ol.renderer.Map);
ol.renderer.canvas.Map.prototype.createLayerRenderer=function(a){if(a instanceof ol.layer.ImageLayer)return new ol.renderer.canvas.ImageLayer(this,a);if(a instanceof ol.layer.TileLayer)return new ol.renderer.canvas.TileLayer(this,a);goog.asserts.assert(!1);return null};ol.renderer.canvas.Map.prototype.getCanvas=function(){return this.canvas_};
ol.renderer.canvas.Map.prototype.renderFrame=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.showElement(this.canvas_,!1),this.renderedVisible_=!1);else{var b=a.size;this.canvasSize_.equals(b)||(this.canvas_.width=b.width,this.canvas_.height=b.height,this.canvasSize_=b);var c=this.context_;c.setTransform(1,0,0,1,0,0);var d=a.backgroundColor;c.fillStyle="rgb("+d.r.toFixed(0)+","+d.g.toFixed(0)+","+d.b.toFixed(0)+")";c.globalAlpha=1;c.fillRect(0,0,b.width,b.height);goog.array.forEach(a.layersArray,
function(b){var d=a.layerStates[goog.getUid(b)];if(d.visible)if(d.ready){var g=this.getLayerRenderer(b);g.renderFrame(a,d);b=g.getImage();goog.isNull(b)||(g=g.getTransform(),c.setTransform(goog.vec.Mat4.getElement(g,0,0),goog.vec.Mat4.getElement(g,1,0),goog.vec.Mat4.getElement(g,0,1),goog.vec.Mat4.getElement(g,1,1),goog.vec.Mat4.getElement(g,0,3),goog.vec.Mat4.getElement(g,1,3)),c.globalAlpha=d.opacity,c.drawImage(b,0,0))}else a.animate=!0},this);this.renderedVisible_||(goog.style.showElement(this.canvas_,
!0),this.renderedVisible_=!0);this.calculateMatrices2D(a)}};ol.canvas={};ol.canvas.SUPPORTED=function(){if(!("HTMLCanvasElement"in goog.global))return!1;try{var a=goog.dom.createElement(goog.dom.TagName.CANVAS);return!goog.isNull(a.getContext("2d"))}catch(b){return!1}}();ol.renderer.canvas.SUPPORTED=ol.canvas.SUPPORTED;ol.dom={};ol.dom.BrowserFeature={CAN_USE_CSS_TRANSFORM:!1,CAN_USE_CSS_TRANSFORM3D:!0,CAN_USE_MATRIX_FILTER:!1};ol.dom.setTransform=function(a,b){var c=a.style;c.WebkitTransform=b;c.MozTransform=b;c.OTransform=b;c.transform=b};
ol.dom.transformElement2D=function(a,b,c){var d;if(ol.dom.BrowserFeature.CAN_USE_CSS_TRANSFORM3D){if(goog.isDef(c)){var e=Array(16);for(d=0;16>d;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix3d("+c+")")}else if(ol.dom.BrowserFeature.CAN_USE_CSS_TRANSFORM){b=[goog.vec.Mat4.getElement(b,0,0),goog.vec.Mat4.getElement(b,1,0),goog.vec.Mat4.getElement(b,0,1),goog.vec.Mat4.getElement(b,1,1),goog.vec.Mat4.getElement(b,0,3),goog.vec.Mat4.getElement(b,1,3)];if(goog.isDef(c)){e=
Array(6);for(d=0;6>d;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix("+c+")")}else ol.dom.BrowserFeature.CAN_USE_MATRIX_FILTER?goog.asserts.assert(!1):(a=a.style,a.left=Math.round(goog.vec.Mat4.getElement(b,0,3))+"px",a.top=Math.round(goog.vec.Mat4.getElement(b,1,3))+"px")};ol.renderer.dom={};ol.renderer.dom.Layer=function(a,b,c){ol.renderer.Layer.call(this,a,b);this.target=c};goog.inherits(ol.renderer.dom.Layer,ol.renderer.Layer);ol.renderer.dom.Layer.prototype.disposeInternal=function(){goog.dom.removeNode(this.target);ol.renderer.dom.Layer.superClass_.disposeInternal.call(this)};ol.renderer.dom.Layer.prototype.getTarget=function(){return this.target};ol.renderer.dom.ImageLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.className="ol-layer-image";c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.image_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()};goog.inherits(ol.renderer.dom.ImageLayer,ol.renderer.dom.Layer);ol.renderer.dom.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};
ol.renderer.dom.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,e=b.rotation,b=this.image_,f=this.getImageLayer().getImageSource(),g=a.viewHints;!g[ol.ViewHint.ANIMATING]&&!g[ol.ViewHint.INTERACTING]&&(f=f.getImage(a.extent,d),goog.isNull(f)||(g=f.getState(),g==ol.ImageState.IDLE?(goog.events.listenOnce(f,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),f.load()):g==ol.ImageState.LOADED&&(b=f)));if(!goog.isNull(b)){var g=b.getExtent(),h=b.getResolution(),
f=goog.vec.Mat4.createNumber();goog.vec.Mat4.makeIdentity(f);goog.vec.Mat4.translate(f,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(f,e);goog.vec.Mat4.scale(f,h/d,h/d,1);goog.vec.Mat4.translate(f,(g.minX-c.x)/h,(c.y-g.maxY)/h,0);b!=this.image_&&(c=b.getImageElement(this),c.style.position="absolute",goog.dom.removeChildren(this.target),goog.dom.appendChild(this.target,c),this.image_=b);this.setTransform(f);this.updateAttributions(a.attributions,b.getAttributions())}};
ol.renderer.dom.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,e=b.rotation,f=this.image_,g=this.getImageLayer().getImageSource(),h=a.viewHints;!h[ol.ViewHint.ANIMATING]&&!h[ol.ViewHint.INTERACTING]&&(b=g.getImage(a.extent,d,b.projection),goog.isNull(b)||(g=b.getState(),g==ol.ImageState.IDLE?(goog.events.listenOnce(b,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),b.load()):g==ol.ImageState.LOADED&&(f=b)));goog.isNull(f)||(g=f.getExtent(),h=
f.getResolution(),b=goog.vec.Mat4.createNumber(),goog.vec.Mat4.makeIdentity(b),goog.vec.Mat4.translate(b,a.size.width/2,a.size.height/2,0),goog.vec.Mat4.rotateZ(b,e),goog.vec.Mat4.scale(b,h/d,h/d,1),goog.vec.Mat4.translate(b,(g.minX-c.x)/h,(c.y-g.maxY)/h,0),f!=this.image_&&(c=f.getImageElement(this),c.style.position="absolute",goog.dom.removeChildren(this.target),goog.dom.appendChild(this.target,c),this.image_=f),this.setTransform(b),this.updateAttributions(a.attributions,f.getAttributions()))};
ol.renderer.dom.ImageLayer.prototype.setTransform=function(a){goog.vec.Mat4.equals(a,this.transform_)||(ol.dom.transformElement2D(this.target,a,6),goog.vec.Mat4.setFromArray(this.transform_,a))};ol.renderer.dom.TileLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.className="ol-layer-tile";c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.renderedVisible_=!0;this.renderedOpacity_=1;this.tileLayerZs_={}};goog.inherits(ol.renderer.dom.TileLayer,ol.renderer.dom.Layer);ol.renderer.dom.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};
ol.renderer.dom.TileLayer.prototype.renderFrame=function(a,b){if(b.visible){var c=a.view2DState,d=this.getTileLayer().getTileSource(),e=goog.getUid(d).toString(),f=d.getTileGrid(),g=f.getZForResolution(c.resolution),h=f.getResolution(g),h=f.getTileRangeForExtentAndResolution(a.extent,h),i={};i[g]={};var k=goog.bind(d.findLoadedTiles,d,i,function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED}),j,l,m,p,n;for(p=h.minX;p<=h.maxX;++p)for(n=h.minY;n<=h.maxY;++n)if(m=new ol.TileCoord(g,p,n),
j=d.getTile(m),!goog.isNull(j)){l=j.getState();if(l==ol.TileState.IDLE)goog.events.listenOnce(j,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,d,m),l=f.getTileCoordCenter(m),a.tileQueue.enqueue(j,e,l);else if(l==ol.TileState.LOADED){i[g][m.toString()]=j;continue}else if(l==ol.TileState.ERROR)continue;f.forEachTileCoordParentTileRange(m,k)}m=goog.array.map(goog.object.getKeys(i),Number);goog.array.sort(m);var e={},q;for(p=0;p<m.length;++p){j=m[p];j in
this.tileLayerZs_?k=this.tileLayerZs_[j]:(k=f.getTileCoordForCoordAndZ(c.center,j),k=new ol.renderer.dom.TileLayerZ_(f,k),e[j]=!0,this.tileLayerZs_[j]=k);j=i[j];for(q in j)k.addTile(j[q]);k.finalizeAddTiles()}f=goog.array.map(goog.object.getKeys(this.tileLayerZs_),Number);goog.array.sort(f);m=goog.vec.Mat4.createNumber();for(q=0;q<f.length;++q)if(j=f[q],k=this.tileLayerZs_[j],j in i)if(n=k.getResolution(),p=k.getOrigin(),goog.vec.Mat4.makeIdentity(m),goog.vec.Mat4.translate(m,a.size.width/2,a.size.height/
2,0),goog.vec.Mat4.rotateZ(m,c.rotation),goog.vec.Mat4.scale(m,n/c.resolution,n/c.resolution,1),goog.vec.Mat4.translate(m,(p.x-c.center.x)/n,(c.center.y-p.y)/n,0),k.setTransform(m),j in e){for(j-=1;0<=j;--j)if(j in this.tileLayerZs_){goog.dom.insertSiblingAfter(k.target,this.tileLayerZs_[j].target);break}0>j&&goog.dom.insertChildAt(this.target,k.target,0)}else!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING]&&k.removeTilesOutsideExtent(a.extent);else goog.dom.removeNode(k.target),
delete this.tileLayerZs_[j];b.opacity!=this.renderedOpacity_&&(goog.style.setOpacity(this.target,b.opacity),this.renderedOpacity_=b.opacity);b.visible&&!this.renderedVisible_&&(goog.style.showElement(this.target,!0),this.renderedVisible_=!0);this.updateUsedTiles(a.usedTiles,d,g,h);d.useLowResolutionTiles(g,a.extent);this.scheduleExpireCache(a,d)}else this.renderedVisible_&&(goog.style.showElement(this.target,!1),this.renderedVisible_=!1)};
ol.renderer.dom.TileLayer.prototype.renderFrame=function(a,b){if(b.visible){var c=a.view2DState,d=c.projection,e=this.getTileLayer().getTileSource(),f=goog.getUid(e).toString(),g=e.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(d));var h=g.getZForResolution(c.resolution),i=g.getResolution(h),i=g.getTileRangeForExtentAndResolution(a.extent,i),l={};l[h]={};var j=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED},e,g,d),j=goog.bind(e.findLoadedTiles,
e,l,j),k,m,n,p,q;for(p=i.minX;p<=i.maxX;++p)for(q=i.minY;q<=i.maxY;++q)if(n=new ol.TileCoord(h,p,q),k=e.getTile(n,g,d),!goog.isNull(k)){m=k.getState();if(m==ol.TileState.IDLE)goog.events.listenOnce(k,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,e,n),m=g.getTileCoordCenter(n),a.tileQueue.enqueue(k,f,m);else if(m==ol.TileState.LOADED){l[h][n.toString()]=k;continue}else if(m==ol.TileState.ERROR)continue;g.forEachTileCoordParentTileRange(n,j)}k=goog.array.map(goog.object.getKeys(l),
Number);goog.array.sort(k);var d={},r;for(n=0;n<k.length;++n){j=k[n];j in this.tileLayerZs_?f=this.tileLayerZs_[j]:(f=g.getTileCoordForCoordAndZ(c.center,j),f=new ol.renderer.dom.TileLayerZ_(g,f),d[j]=!0,this.tileLayerZs_[j]=f);j=l[j];for(r in j)f.addTile(j[r]);f.finalizeAddTiles()}r=goog.array.map(goog.object.getKeys(this.tileLayerZs_),Number);goog.array.sort(r);n=goog.vec.Mat4.createNumber();for(k=0;k<r.length;++k)if(j=r[k],f=this.tileLayerZs_[j],j in l)if(q=f.getResolution(),p=f.getOrigin(),goog.vec.Mat4.makeIdentity(n),
goog.vec.Mat4.translate(n,a.size.width/2,a.size.height/2,0),goog.vec.Mat4.rotateZ(n,c.rotation),goog.vec.Mat4.scale(n,q/c.resolution,q/c.resolution,1),goog.vec.Mat4.translate(n,(p.x-c.center.x)/q,(c.center.y-p.y)/q,0),f.setTransform(n),j in d){for(j-=1;0<=j;--j)if(j in this.tileLayerZs_){goog.dom.insertSiblingAfter(f.target,this.tileLayerZs_[j].target);break}0>j&&goog.dom.insertChildAt(this.target,f.target,0)}else!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING]&&f.removeTilesOutsideExtent(a.extent);
else goog.dom.removeNode(f.target),delete this.tileLayerZs_[j];b.opacity!=this.renderedOpacity_&&(goog.style.setOpacity(this.target,b.opacity),this.renderedOpacity_=b.opacity);b.visible&&!this.renderedVisible_&&(goog.style.showElement(this.target,!0),this.renderedVisible_=!0);this.updateUsedTiles(a.usedTiles,e,h,i);e.useLowResolutionTiles(h,a.extent,g);this.scheduleExpireCache(a,e)}else this.renderedVisible_&&(goog.style.showElement(this.target,!1),this.renderedVisible_=!1)};
ol.renderer.dom.TileLayerZ_=function(a,b){this.target=goog.dom.createElement(goog.dom.TagName.DIV);this.target.style.position="absolute";this.tileGrid_=a;this.tileCoordOrigin_=b;this.origin_=a.getTileCoordExtent(b).getTopLeft();this.resolution_=a.getResolution(b.z);this.tiles_={};this.documentFragment_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()};
ol.renderer.dom.TileLayerZ_.prototype.addTile=function(a){var b=a.tileCoord;goog.asserts.assert(b.z==this.tileCoordOrigin_.z);var c=b.toString();if(!(c in this.tiles_)){var d=this.tileGrid_.getTileSize(b.z),e=a.getImage(this),f=e.style;f.position="absolute";f.left=(b.x-this.tileCoordOrigin_.x)*d.width+"px";f.top=(this.tileCoordOrigin_.y-b.y)*d.height+"px";goog.isNull(this.documentFragment_)&&(this.documentFragment_=document.createDocumentFragment());goog.dom.appendChild(this.documentFragment_,e);
this.tiles_[c]=a}};ol.renderer.dom.TileLayerZ_.prototype.finalizeAddTiles=function(){goog.isNull(this.documentFragment_)||(goog.dom.appendChild(this.target,this.documentFragment_),this.documentFragment_=null)};ol.renderer.dom.TileLayerZ_.prototype.getOrigin=function(){return this.origin_};ol.renderer.dom.TileLayerZ_.prototype.getResolution=function(){return this.resolution_};
@@ -657,33 +667,33 @@ ol.vec.Mat4.makeSaturation=function(a,b){goog.vec.Mat4.setFromValues(a,0.213+0.7
goog.inherits(ol.renderer.webgl.Layer,ol.renderer.Layer);ol.renderer.webgl.Layer.prototype.getColorMatrix=function(){this.colorMatrixDirty_&&this.updateColorMatrix_();return this.colorMatrix_};ol.renderer.webgl.Layer.prototype.getMapRenderer=function(){return ol.renderer.webgl.Layer.superClass_.getMapRenderer.call(this)};
ol.renderer.webgl.Layer.prototype.handleLayerBrightnessChange=function(){var a=this.getLayer().getBrightness();ol.vec.Mat4.makeBrightness(this.brightnessMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleLayerContrastChange=function(){var a=this.getLayer().getContrast();ol.vec.Mat4.makeContrast(this.contrastMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};
ol.renderer.webgl.Layer.prototype.handleLayerHueChange=function(){var a=this.getLayer().getHue();ol.vec.Mat4.makeHue(this.hueMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleLayerSaturationChange=function(){var a=this.getLayer().getSaturation();ol.vec.Mat4.makeSaturation(this.saturationMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleWebGLContextLost=goog.nullFunction;
ol.renderer.webgl.Layer.prototype.updateColorMatrix_=function(){var a=this.colorMatrix_;goog.vec.Mat4.makeIdentity(a);goog.vec.Mat4.multMat(a,this.contrastMatrix_,a);goog.vec.Mat4.multMat(a,this.brightnessMatrix_,a);goog.vec.Mat4.multMat(a,this.saturationMatrix_,a);goog.vec.Mat4.multMat(a,this.hueMatrix_,a);this.colorMatrixDirty_=!1};ol.renderer.webgl.ImageLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.texture_=this.image_=null;this.texCoordMatrix_=goog.vec.Mat4.createNumberIdentity();this.vertexCoordMatrix_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.webgl.ImageLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.Layer.prototype.updateColorMatrix_=function(){var a=this.colorMatrix_;goog.vec.Mat4.makeIdentity(a);goog.vec.Mat4.multMat(a,this.contrastMatrix_,a);goog.vec.Mat4.multMat(a,this.brightnessMatrix_,a);goog.vec.Mat4.multMat(a,this.saturationMatrix_,a);goog.vec.Mat4.multMat(a,this.hueMatrix_,a);this.colorMatrixDirty_=!1};ol.renderer.webgl.ImageLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.texture_=this.image_=null;this.texCoordMatrix_=goog.vec.Mat4.createNumberIdentity();this.projectionMatrix_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.webgl.ImageLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.ImageLayer.prototype.createTexture_=function(a){var a=a.getImageElement(this),b=this.getMapRenderer().getGL(),c=b.createTexture();b.bindTexture(goog.webgl.TEXTURE_2D,c);b.texImage2D(goog.webgl.TEXTURE_2D,0,goog.webgl.RGBA,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,a);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_S,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_T,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,
goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);return c};ol.renderer.webgl.ImageLayer.prototype.disposeInternal=function(){var a=this.getMapRenderer().getGL();a.isContextLost()||a.deleteTexture(this.texture_);ol.renderer.webgl.ImageLayer.superClass_.disposeInternal.call(this)};ol.renderer.webgl.ImageLayer.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix_};
ol.renderer.webgl.ImageLayer.prototype.getTexture=function(){return this.texture_};ol.renderer.webgl.ImageLayer.prototype.getVertexCoordMatrix=function(){return this.vertexCoordMatrix_};ol.renderer.webgl.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.webgl.ImageLayer.prototype.handleWebGLContextLost=function(){this.texture_=null};
ol.renderer.webgl.ImageLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer().getGL(),c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,c=this.image_,g=this.texture_,h=this.getImageLayer().getImageSource(),i=a.viewHints;!i[ol.ViewHint.ANIMATING]&&!i[ol.ViewHint.INTERACTING]&&(h=h.getImage(a.extent,e),goog.isNull(h)||(i=h.getState(),i==ol.ImageState.IDLE?(goog.events.listenOnce(h,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),h.load()):i==ol.ImageState.LOADED&&(c=h,
g=this.createTexture_(h),goog.isNull(this.texture_)||a.postRenderFunctions.push(goog.partial(function(a,b){a.isContextLost()||a.deleteTexture(b)},b,this.texture_)))));goog.isNull(c)||(goog.asserts.assert(!goog.isNull(g)),b=this.getMapRenderer().getCanvas(),this.updateVertexCoordMatrix_(b.width,b.height,d,e,f,c.getExtent()),d=this.texCoordMatrix_,goog.vec.Mat4.makeIdentity(d),goog.vec.Mat4.scale(d,1,-1,1),goog.vec.Mat4.translate(d,0,-1,0),this.image_=c,this.texture_=g,this.updateAttributions(a.attributions,
c.getAttributions()))};ol.renderer.webgl.ImageLayer.prototype.updateVertexCoordMatrix_=function(a,b,c,d,e,f){a*=d;b*=d;d=this.vertexCoordMatrix_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.scale(d,2/a,2/b,1);goog.vec.Mat4.rotateZ(d,-e);goog.vec.Mat4.translate(d,f.minX-c.x,f.minY-c.y,0);goog.vec.Mat4.scale(d,f.getWidth()/2,f.getHeight()/2,1);goog.vec.Mat4.translate(d,1,1,0)};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){var c=new goog.structs.Node(a,b),d=this.nodes_;d.push(c);this.moveUp_(d.length-1)};
ol.renderer.webgl.ImageLayer.prototype.getTexture=function(){return this.texture_};ol.renderer.webgl.ImageLayer.prototype.getProjectionMatrix=function(){return this.projectionMatrix_};ol.renderer.webgl.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.webgl.ImageLayer.prototype.handleWebGLContextLost=function(){this.texture_=null};
ol.renderer.webgl.ImageLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer().getGL(),c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,g=this.image_,h=this.texture_,i=this.getImageLayer().getImageSource(),l=a.viewHints;!l[ol.ViewHint.ANIMATING]&&!l[ol.ViewHint.INTERACTING]&&(c=i.getImage(a.extent,e,c.projection),goog.isNull(c)||(i=c.getState(),i==ol.ImageState.IDLE?(goog.events.listenOnce(c,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),c.load()):i==ol.ImageState.LOADED&&
(g=c,h=this.createTexture_(c),goog.isNull(this.texture_)||a.postRenderFunctions.push(goog.partial(function(a,b){a.isContextLost()||a.deleteTexture(b)},b,this.texture_)))));goog.isNull(g)||(goog.asserts.assert(!goog.isNull(h)),b=this.getMapRenderer().getCanvas(),this.updateProjectionMatrix_(b.width,b.height,d,e,f,g.getExtent()),d=this.texCoordMatrix_,goog.vec.Mat4.makeIdentity(d),goog.vec.Mat4.scale(d,1,-1,1),goog.vec.Mat4.translate(d,0,-1,0),this.image_=g,this.texture_=h,this.updateAttributions(a.attributions,
g.getAttributions()))};ol.renderer.webgl.ImageLayer.prototype.updateProjectionMatrix_=function(a,b,c,d,e,f){a*=d;b*=d;d=this.projectionMatrix_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.scale(d,2/a,2/b,1);goog.vec.Mat4.rotateZ(d,-e);goog.vec.Mat4.translate(d,f.minX-c.x,f.minY-c.y,0);goog.vec.Mat4.scale(d,f.getWidth()/2,f.getHeight()/2,1);goog.vec.Mat4.translate(d,1,1,0)};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){var c=new goog.structs.Node(a,b),d=this.nodes_;d.push(c);this.moveUp_(d.length-1)};
goog.structs.Heap.prototype.insertAll=function(a){var b,c;if(a instanceof goog.structs.Heap){if(b=a.getKeys(),c=a.getValues(),0>=a.getCount()){for(var a=this.nodes_,d=0;d<b.length;d++)a.push(new goog.structs.Node(b[d],c[d]));return}}else b=goog.object.getKeys(a),c=goog.object.getValues(a);for(d=0;d<b.length;d++)this.insert(b[d],c[d])};goog.structs.Heap.prototype.remove=function(){var a=this.nodes_,b=a.length,c=a[0];if(!(0>=b))return 1==b?goog.array.clear(a):(a[0]=a.pop(),this.moveDown_(0)),c.getValue()};
goog.structs.Heap.prototype.peek=function(){var a=this.nodes_;return 0==a.length?void 0:a[0].getValue()};goog.structs.Heap.prototype.peekKey=function(){return this.nodes_[0]&&this.nodes_[0].getKey()};goog.structs.Heap.prototype.moveDown_=function(a){for(var b=this.nodes_,c=b.length,d=b[a];a<c>>1;){var e=this.getLeftChildIndex_(a),f=this.getRightChildIndex_(a),e=f<c&&b[f].getKey()<b[e].getKey()?f:e;if(b[e].getKey()>d.getKey())break;b[a]=b[e];a=e}b[a]=d};
goog.structs.Heap.prototype.moveUp_=function(a){for(var b=this.nodes_,c=b[a];0<a;){var d=this.getParentIndex_(a);if(b[d].getKey()>c.getKey())b[a]=b[d],a=d;else break}b[a]=c};goog.structs.Heap.prototype.getLeftChildIndex_=function(a){return 2*a+1};goog.structs.Heap.prototype.getRightChildIndex_=function(a){return 2*a+2};goog.structs.Heap.prototype.getParentIndex_=function(a){return a-1>>1};
goog.structs.Heap.prototype.getValues=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getValue());return b};goog.structs.Heap.prototype.getKeys=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};goog.structs.Heap.prototype.containsValue=function(a){return goog.array.some(this.nodes_,function(b){return b.getValue()==a})};
goog.structs.Heap.prototype.containsKey=function(a){return goog.array.some(this.nodes_,function(b){return b.getKey()==a})};goog.structs.Heap.prototype.clone=function(){return new goog.structs.Heap(this)};goog.structs.Heap.prototype.getCount=function(){return this.nodes_.length};goog.structs.Heap.prototype.isEmpty=function(){return goog.array.isEmpty(this.nodes_)};goog.structs.Heap.prototype.clear=function(){goog.array.clear(this.nodes_)};goog.structs.PriorityQueue=function(){goog.structs.Heap.call(this)};goog.inherits(goog.structs.PriorityQueue,goog.structs.Heap);goog.structs.PriorityQueue.prototype.enqueue=function(a,b){this.insert(a,b)};goog.structs.PriorityQueue.prototype.dequeue=function(){return this.remove()};ol.renderer.webgl.tilelayerrenderer={};ol.renderer.webgl.tilelayerrenderer.shader={};ol.renderer.webgl.tilelayerrenderer.shader.Fragment=function(){ol.renderer.webgl.FragmentShader.call(this,"precision mediump float;\n\nuniform sampler2D uTexture;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n}")};goog.inherits(ol.renderer.webgl.tilelayerrenderer.shader.Fragment,ol.renderer.webgl.FragmentShader);goog.addSingletonGetter(ol.renderer.webgl.tilelayerrenderer.shader.Fragment);
ol.renderer.webgl.tilelayerrenderer.shader.Vertex=function(){ol.renderer.webgl.VertexShader.call(this,"attribute vec2 aPosition;\nattribute vec2 aTexCoord;\n\nvarying vec2 vTexCoord;\n\nuniform vec4 uTileOffset;\n\nvoid main(void) {\n gl_Position.xy = aPosition * uTileOffset.xy + uTileOffset.zw;\n gl_Position.z = 0.;\n gl_Position.w = 1.;\n vTexCoord = aTexCoord;\n}")};goog.inherits(ol.renderer.webgl.tilelayerrenderer.shader.Vertex,ol.renderer.webgl.VertexShader);goog.addSingletonGetter(ol.renderer.webgl.tilelayerrenderer.shader.Vertex);
ol.renderer.webgl.TileLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.fragmentShader_=ol.renderer.webgl.tilelayerrenderer.shader.Fragment.getInstance();this.vertexShader_=ol.renderer.webgl.tilelayerrenderer.shader.Vertex.getInstance();this.framebuffer_=this.texture_=this.arrayBuffer_=this.locations_=null;this.framebufferDimension_=void 0;this.texCoordMatrix_=goog.vec.Mat4.createNumber();this.vertexCoordMatrix_=goog.vec.Mat4.createNumberIdentity();this.renderedFramebufferExtent_=this.renderedTileRange_=
ol.renderer.webgl.TileLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.fragmentShader_=ol.renderer.webgl.tilelayerrenderer.shader.Fragment.getInstance();this.vertexShader_=ol.renderer.webgl.tilelayerrenderer.shader.Vertex.getInstance();this.framebuffer_=this.texture_=this.arrayBuffer_=this.locations_=null;this.framebufferDimension_=void 0;this.texCoordMatrix_=goog.vec.Mat4.createNumber();this.projectionMatrix_=goog.vec.Mat4.createNumberIdentity();this.renderedFramebufferExtent_=this.renderedTileRange_=
null};goog.inherits(ol.renderer.webgl.TileLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.TileLayer.prototype.bindFramebuffer_=function(a,b){var c=this.getMapRenderer().getGL();if(!goog.isDef(this.framebufferDimension_)||this.framebufferDimension_!=b){this.getMap();a.postRenderFunctions.push(goog.partial(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))},c,this.framebuffer_,this.texture_));var d=c.createTexture();c.bindTexture(goog.webgl.TEXTURE_2D,d);c.texImage2D(goog.webgl.TEXTURE_2D,0,goog.webgl.RGBA,b,b,0,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,
null);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);var e=c.createFramebuffer();c.bindFramebuffer(goog.webgl.FRAMEBUFFER,e);c.framebufferTexture2D(goog.webgl.FRAMEBUFFER,goog.webgl.COLOR_ATTACHMENT0,goog.webgl.TEXTURE_2D,d,0);this.texture_=d;this.framebuffer_=e;this.framebufferDimension_=b}else c.bindFramebuffer(goog.webgl.FRAMEBUFFER,this.framebuffer_)};
ol.renderer.webgl.TileLayer.prototype.disposeInternal=function(){var a=this.getMapRenderer().getGL();a.isContextLost()||(a.deleteBuffer(this.arrayBuffer_),a.deleteFramebuffer(this.framebuffer_),a.deleteTexture(this.texture_));ol.renderer.webgl.TileLayer.superClass_.disposeInternal.call(this)};ol.renderer.webgl.TileLayer.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix_};ol.renderer.webgl.TileLayer.prototype.getTexture=function(){return this.texture_};
ol.renderer.webgl.TileLayer.prototype.getVertexCoordMatrix=function(){return this.vertexCoordMatrix_};ol.renderer.webgl.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost=function(){this.framebuffer_=this.texture_=this.arrayBuffer_=this.locations_=null;this.framebufferDimension_=void 0};
ol.renderer.webgl.TileLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer(),c=b.getGL(),d=a.view2DState,e=d.center,f=this.getTileLayer().getTileSource(),g=goog.getUid(f).toString(),h=f.getTileGrid(),i=h.getZForResolution(d.resolution),k=h.getResolution(i),j=h.getTileRangeForExtentAndResolution(a.extent,k),l;if(!goog.isNull(this.renderedTileRange_)&&this.renderedTileRange_.equals(j))l=this.renderedFramebufferExtent_;else{var m=j.getSize(),p=h.getTileSize(i),m=Math.max(m.width*p.width,
m.height*p.height),m=Math.pow(2,Math.ceil(Math.log(m)/Math.log(2))),n=new ol.Size(k*m,k*m),q=h.getOrigin(i),r=q.x+j.minX*p.width*k,k=q.y+j.minY*p.height*k;l=new ol.Extent(r,k,r+n.width,k+n.height);this.bindFramebuffer_(a,m);c.viewport(0,0,m,m);c.clearColor(0,0,0,0);c.clear(goog.webgl.COLOR_BUFFER_BIT);c.disable(goog.webgl.BLEND);k=b.getProgram(this.fragmentShader_,this.vertexShader_);c.useProgram(k);goog.isNull(this.locations_)&&(this.locations_={aPosition:c.getAttribLocation(k,"aPosition"),aTexCoord:c.getAttribLocation(k,
"aTexCoord"),uTileOffset:c.getUniformLocation(k,"uTileOffset"),uTexture:c.getUniformLocation(k,"uTexture")});goog.isNull(this.arrayBuffer_)?(k=c.createBuffer(),c.bindBuffer(goog.webgl.ARRAY_BUFFER,k),c.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=k):c.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);c.enableVertexAttribArray(this.locations_.aPosition);c.vertexAttribPointer(this.locations_.aPosition,2,goog.webgl.FLOAT,
!1,16,0);c.enableVertexAttribArray(this.locations_.aTexCoord);c.vertexAttribPointer(this.locations_.aTexCoord,2,goog.webgl.FLOAT,!1,16,8);c.uniform1i(this.locations_.uTexture,0);var u={};u[i]={};for(var p=goog.bind(f.findLoadedTiles,f,u,function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED&&b.isTileTextureLoaded(a)}),k=new goog.structs.PriorityQueue,v=!0,s,y,q=j.minX;q<=j.maxX;++q)for(y=j.minY;y<=j.maxY;++y)if(r=new ol.TileCoord(i,q,y),m=f.getTile(r),!goog.isNull(m)){s=m.getState();
if(s==ol.TileState.IDLE)goog.events.listenOnce(m,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,f,r),s=h.getTileCoordCenter(r),a.tileQueue.enqueue(m,g,s);else if(s==ol.TileState.LOADED)if(b.isTileTextureLoaded(m)){u[i][r.toString()]=m;continue}else s=h.getTileCoordCenter(r),v=s.x-e.x,s=s.y-e.y,v=Math.sqrt(v*v+s*s),k.enqueue(v,m);else if(s==ol.TileState.ERROR)continue;v=!1;h.forEachTileCoordParentTileRange(r,p)}e=goog.array.map(goog.object.getKeys(u),
Number);goog.array.sort(e);var x=goog.vec.Vec4.createFloat32();goog.array.forEach(e,function(a){goog.object.forEach(u[a],function(a){var d=h.getTileCoordExtent(a.tileCoord),e=2*d.getWidth()/n.width,f=2*d.getHeight()/n.height;goog.vec.Vec4.setFromValues(x,e,f,2*(d.minX-l.minX)/n.width-1,2*(d.minY-l.minY)/n.height-1);c.uniform4fv(this.locations_.uTileOffset,x);b.bindTileTexture(a,goog.webgl.LINEAR,goog.webgl.LINEAR);c.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4)},this)},this);k.isEmpty()||a.postRenderFunctions.push(goog.partial(function(a,
b){var c,d;for(c=0;!b.isEmpty()&&4>c;++c)d=b.remove(),a.bindTileTexture(d,goog.webgl.LINEAR,goog.webgl.LINEAR)},b,k));v?(this.renderedTileRange_=j,this.renderedFramebufferExtent_=l):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,a.animate=!0)}this.updateUsedTiles(a.usedTiles,f,i,j);f.useLowResolutionTiles(i,a.extent);this.scheduleExpireCache(a,f);goog.vec.Mat4.makeIdentity(this.texCoordMatrix_);goog.vec.Mat4.translate(this.texCoordMatrix_,(d.center.x-l.minX)/(l.maxX-l.minX),(d.center.y-
l.minY)/(l.maxY-l.minY),0);goog.vec.Mat4.rotateZ(this.texCoordMatrix_,d.rotation);goog.vec.Mat4.scale(this.texCoordMatrix_,a.size.width*d.resolution/(l.maxX-l.minX),a.size.height*d.resolution/(l.maxY-l.minY),1);goog.vec.Mat4.translate(this.texCoordMatrix_,-0.5,-0.5,0)};ol.structs={};ol.structs.LRUCache=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};
ol.renderer.webgl.TileLayer.prototype.getProjectionMatrix=function(){return this.projectionMatrix_};ol.renderer.webgl.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost=function(){this.framebuffer_=this.texture_=this.arrayBuffer_=this.locations_=null;this.framebufferDimension_=void 0};
ol.renderer.webgl.TileLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer(),c=b.getGL(),d=a.view2DState,e=d.projection,f=d.center,g=this.getTileLayer().getTileSource(),h=goog.getUid(g).toString(),i=g.getTileGrid();goog.isNull(i)&&(i=ol.tilegrid.getForProjection(e));var l=i.getZForResolution(d.resolution),j=i.getResolution(l),k=i.getTileRangeForExtentAndResolution(a.extent,j),m;if(!goog.isNull(this.renderedTileRange_)&&this.renderedTileRange_.equals(k))m=this.renderedFramebufferExtent_;
else{var n=k.getSize(),p=i.getTileSize(l),n=Math.max(n.width*p.width,n.height*p.height),n=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2))),q=new ol.Size(j*n,j*n),r=i.getOrigin(l),s=r.x+k.minX*p.width*j,j=r.y+k.minY*p.height*j;m=new ol.Extent(s,j,s+q.width,j+q.height);this.bindFramebuffer_(a,n);c.viewport(0,0,n,n);c.clearColor(0,0,0,0);c.clear(goog.webgl.COLOR_BUFFER_BIT);c.disable(goog.webgl.BLEND);j=b.getProgram(this.fragmentShader_,this.vertexShader_);c.useProgram(j);goog.isNull(this.locations_)&&
(this.locations_={aPosition:c.getAttribLocation(j,"aPosition"),aTexCoord:c.getAttribLocation(j,"aTexCoord"),uTileOffset:c.getUniformLocation(j,"uTileOffset"),uTexture:c.getUniformLocation(j,"uTexture")});goog.isNull(this.arrayBuffer_)?(j=c.createBuffer(),c.bindBuffer(goog.webgl.ARRAY_BUFFER,j),c.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=j):c.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);c.enableVertexAttribArray(this.locations_.aPosition);
c.vertexAttribPointer(this.locations_.aPosition,2,goog.webgl.FLOAT,!1,16,0);c.enableVertexAttribArray(this.locations_.aTexCoord);c.vertexAttribPointer(this.locations_.aTexCoord,2,goog.webgl.FLOAT,!1,16,8);c.uniform1i(this.locations_.uTexture,0);var z={};z[l]={};for(var j=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED&&b.isTileTextureLoaded(a)},g,i,e),p=goog.bind(g.findLoadedTiles,g,z,j),j=new goog.structs.PriorityQueue,w=!0,t,v,r=k.minX;r<=
k.maxX;++r)for(v=k.minY;v<=k.maxY;++v)if(s=new ol.TileCoord(l,r,v),n=g.getTile(s,i,e),!goog.isNull(n)){t=n.getState();if(t==ol.TileState.IDLE)goog.events.listenOnce(n,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,g,s),t=i.getTileCoordCenter(s),a.tileQueue.enqueue(n,h,t);else if(t==ol.TileState.LOADED)if(b.isTileTextureLoaded(n)){z[l][s.toString()]=n;continue}else t=i.getTileCoordCenter(s),w=t.x-f.x,t=t.y-f.y,w=Math.sqrt(w*w+t*t),j.enqueue(w,n);else if(t==
ol.TileState.ERROR)continue;w=!1;i.forEachTileCoordParentTileRange(s,p)}e=goog.array.map(goog.object.getKeys(z),Number);goog.array.sort(e);var u=goog.vec.Vec4.createFloat32();goog.array.forEach(e,function(a){goog.object.forEach(z[a],function(a){var d=i.getTileCoordExtent(a.tileCoord),e=2*d.getWidth()/q.width,f=2*d.getHeight()/q.height;goog.vec.Vec4.setFromValues(u,e,f,2*(d.minX-m.minX)/q.width-1,2*(d.minY-m.minY)/q.height-1);c.uniform4fv(this.locations_.uTileOffset,u);b.bindTileTexture(a,goog.webgl.LINEAR,
goog.webgl.LINEAR);c.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4)},this)},this);j.isEmpty()||a.postRenderFunctions.push(goog.partial(function(a,b){var c,d;for(c=0;!b.isEmpty()&&4>c;++c)d=b.remove(),a.bindTileTexture(d,goog.webgl.LINEAR,goog.webgl.LINEAR)},b,j));w?(this.renderedTileRange_=k,this.renderedFramebufferExtent_=m):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,a.animate=!0)}this.updateUsedTiles(a.usedTiles,g,l,k);g.useLowResolutionTiles(l,a.extent,i);this.scheduleExpireCache(a,
g);goog.vec.Mat4.makeIdentity(this.texCoordMatrix_);goog.vec.Mat4.translate(this.texCoordMatrix_,(d.center.x-m.minX)/(m.maxX-m.minX),(d.center.y-m.minY)/(m.maxY-m.minY),0);goog.vec.Mat4.rotateZ(this.texCoordMatrix_,d.rotation);goog.vec.Mat4.scale(this.texCoordMatrix_,a.size.width*d.resolution/(m.maxX-m.minX),a.size.height*d.resolution/(m.maxY-m.minY),1);goog.vec.Mat4.translate(this.texCoordMatrix_,-0.5,-0.5,0)};ol.structs={};ol.structs.LRUCache=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};
ol.structs.LRUCache.prototype.assertValid=function(){if(0===this.count_)goog.asserts.assert(goog.object.isEmpty(this.entries_)),goog.asserts.assert(goog.isNull(this.oldest_)),goog.asserts.assert(goog.isNull(this.newest_));else{goog.asserts.assert(goog.object.getCount(this.entries_)==this.count_);goog.asserts.assert(!goog.isNull(this.oldest_));goog.asserts.assert(goog.isNull(this.oldest_.older));goog.asserts.assert(!goog.isNull(this.newest_));goog.asserts.assert(goog.isNull(this.newest_.newer));var a,
b,c=null;a=0;for(b=this.oldest_;!goog.isNull(b);b=b.newer)goog.asserts.assert(b.older===c),c=b,++a;goog.asserts.assert(a==this.count_);c=null;a=0;for(b=this.newest_;!goog.isNull(b);b=b.older)goog.asserts.assert(b.newer===c),c=b,++a;goog.asserts.assert(a==this.count_)}};ol.structs.LRUCache.prototype.clear=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};ol.structs.LRUCache.prototype.containsKey=function(a){return this.entries_.hasOwnProperty(a)};
ol.structs.LRUCache.prototype.forEach=function(a,b){for(var c=this.oldest_;!goog.isNull(c);)a.call(b,c.value_,c.key_,this),c=c.newer};ol.structs.LRUCache.prototype.get=function(a){a=this.entries_[a];goog.asserts.assert(goog.isDef(a));if(a===this.newest_)return a.value_;a===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(a.newer.older=a.older,a.older.newer=a.newer);a.newer=null;a.older=this.newest_;this.newest_=this.newest_.newer=a;return a.value_};
@@ -691,8 +701,8 @@ ol.structs.LRUCache.prototype.getCount=function(){return this.count_};ol.structs
ol.structs.LRUCache.prototype.peekLast=function(){goog.asserts.assert(!goog.isNull(this.oldest_));return this.oldest_.value_};ol.structs.LRUCache.prototype.peekLastKey=function(){goog.asserts.assert(!goog.isNull(this.oldest_));return this.oldest_.key_};
ol.structs.LRUCache.prototype.pop=function(){goog.asserts.assert(!goog.isNull(this.oldest_));goog.asserts.assert(!goog.isNull(this.newest_));var a=this.oldest_;goog.asserts.assert(a.key_ in this.entries_);delete this.entries_[a.key_];goog.isNull(a.newer)||(a.newer.older=null);this.oldest_=a.newer;goog.isNull(this.oldest_)&&(this.newest_=null);--this.count_;return a.value_};
ol.structs.LRUCache.prototype.set=function(a,b){goog.asserts.assert(!(a in{}));goog.asserts.assert(!(a in this.entries_));var c={key_:a,newer:null,older:this.newest_,value_:b};goog.isNull(this.newest_)?this.oldest_=c:this.newest_.newer=c;this.newest_=c;this.entries_[a]=c;++this.count_};ol.webgl={};ol.webgl.CONTEXT_IDS_=["webgl","webgl-experimental","webkit-3d","moz-webgl"];ol.webgl.WebGLContextEventType={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"};ol.webgl.getContext=function(a,b){var c,d,e=ol.webgl.CONTEXT_IDS_.length;for(d=0;d<e;++d)try{if(c=a.getContext(ol.webgl.CONTEXT_IDS_[d],b),!goog.isNull(c))return c}catch(f){}return null};
ol.webgl.SUPPORTED=function(){if(!("WebGLRenderingContext"in goog.global))return!1;try{var a=goog.dom.createElement(goog.dom.TagName.CANVAS);return!goog.isNull(ol.webgl.getContext(a))}catch(b){return!1}}();ol.renderer.webgl.map={};ol.renderer.webgl.map.shader={};ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK=1024;ol.renderer.webgl.map.shader.Fragment=function(){ol.renderer.webgl.FragmentShader.call(this,"precision mediump float;\n\nuniform mat4 uColorMatrix;\nuniform float uOpacity;\nuniform sampler2D uTexture;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n\n vec4 texColor = texture2D(uTexture, vTexCoord);\n vec4 color = uColorMatrix * vec4(texColor.rgb, 1.);\n color.a = texColor.a * uOpacity;\n\n gl_FragColor = color;\n\n}")};
goog.inherits(ol.renderer.webgl.map.shader.Fragment,ol.renderer.webgl.FragmentShader);goog.addSingletonGetter(ol.renderer.webgl.map.shader.Fragment);ol.renderer.webgl.map.shader.Vertex=function(){ol.renderer.webgl.VertexShader.call(this,"attribute vec2 aPosition;\nattribute vec2 aTexCoord;\n\nuniform mat4 uTexCoordMatrix;\nuniform mat4 uVertexCoordMatrix;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n gl_Position = uVertexCoordMatrix * vec4(aPosition, 0., 1.);\n vTexCoord = (uTexCoordMatrix * vec4(aTexCoord, 0., 1.)).st;\n}")};
ol.webgl.SUPPORTED=function(){if(!("WebGLRenderingContext"in goog.global))return!1;try{var a=goog.dom.createElement(goog.dom.TagName.CANVAS);return!goog.isNull(ol.webgl.getContext(a))}catch(b){return!1}}();ol.renderer.webgl.map={};ol.renderer.webgl.map.shader={};ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK=1024;ol.renderer.webgl.map.shader.Fragment=function(){ol.renderer.webgl.FragmentShader.call(this,"precision mediump float;\n\nuniform mat4 u_colorMatrix;\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\n\nvoid main(void) {\n\n vec4 texColor = texture2D(u_texture, v_texCoord);\n vec4 color = u_colorMatrix * vec4(texColor.rgb, 1.);\n color.a = texColor.a * u_opacity;\n\n gl_FragColor = color;\n\n}")};
goog.inherits(ol.renderer.webgl.map.shader.Fragment,ol.renderer.webgl.FragmentShader);goog.addSingletonGetter(ol.renderer.webgl.map.shader.Fragment);ol.renderer.webgl.map.shader.Vertex=function(){ol.renderer.webgl.VertexShader.call(this,"attribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvarying vec2 v_texCoord;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord = (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}")};
goog.inherits(ol.renderer.webgl.map.shader.Vertex,ol.renderer.webgl.VertexShader);goog.addSingletonGetter(ol.renderer.webgl.map.shader.Vertex);
ol.renderer.webgl.Map=function(a,b){ol.renderer.Map.call(this,a,b);goog.DEBUG&&(this.logger=goog.debug.Logger.getLogger("ol.renderer.webgl.maprenderer."+goog.getUid(this)));this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.canvas_.height=a.clientHeight;this.canvas_.width=a.clientWidth;this.canvas_.className="ol-unselectable";goog.dom.insertChildAt(a,this.canvas_,0);this.renderedVisible_=!0;this.canvasSize_=new ol.Size(a.clientHeight,a.clientWidth);this.gl_=ol.webgl.getContext(this.canvas_,
{alpha:!1,antialias:!0,depth:!1,preserveDrawingBuffer:!1,stencil:!1});goog.asserts.assert(!goog.isNull(this.gl_));goog.events.listen(this.canvas_,ol.webgl.WebGLContextEventType.LOST,this.handleWebGLContextLost,!1,this);goog.events.listen(this.canvas_,ol.webgl.WebGLContextEventType.RESTORED,this.handleWebGLContextResourced,!1,this);this.arrayBuffer_=this.locations_=null;this.shaderCache_={};this.programCache_={};this.textureCache_=new ol.structs.LRUCache;this.textureCacheFrameMarkerCount_=0;this.fragmentShader_=
@@ -709,11 +719,11 @@ ol.renderer.webgl.Map.prototype.handleWebGLContextLost=function(a){goog.DEBUG&&t
ol.renderer.webgl.Map.prototype.handleWebGLContextResourced=function(){goog.DEBUG&&this.logger.info("WebGLContextResourced");this.initializeGL_();this.getMap().render()};ol.renderer.webgl.Map.prototype.initializeGL_=function(){var a=this.gl_;a.activeTexture(goog.webgl.TEXTURE0);a.blendFunc(goog.webgl.SRC_ALPHA,goog.webgl.ONE_MINUS_SRC_ALPHA);a.disable(goog.webgl.CULL_FACE);a.disable(goog.webgl.DEPTH_TEST);a.disable(goog.webgl.SCISSOR_TEST)};ol.renderer.webgl.Map.prototype.isTileTextureLoaded=function(a){return this.textureCache_.containsKey(a.getKey())};
ol.renderer.webgl.Map.prototype.removeLayer=function(a){ol.renderer.webgl.Map.superClass_.removeLayer.call(this,a);a.getVisible()&&this.getMap().render()};
ol.renderer.webgl.Map.prototype.renderFrame=function(a){var b=this.getGL();if(goog.isNull(a))return this.renderedVisible_&&(goog.style.showElement(this.canvas_,!1),this.renderedVisible_=!1),!1;this.textureCache_.set(a.time.toString(),null);++this.textureCacheFrameMarkerCount_;goog.array.forEach(a.layersArray,function(b){var c=a.layerStates[goog.getUid(b)];c.visible&&c.ready&&this.getLayerRenderer(b).renderFrame(a,c)},this);var c=a.size;this.canvasSize_.equals(c)||(this.canvas_.width=c.width,this.canvas_.height=
c.height,this.canvasSize_=c);b.bindFramebuffer(goog.webgl.FRAMEBUFFER,null);var d=a.backgroundColor;b.clearColor(d.r/255,d.g/255,d.b/255,d.a);b.clear(goog.webgl.COLOR_BUFFER_BIT);b.enable(goog.webgl.BLEND);b.viewport(0,0,c.width,c.height);c=this.getProgram(this.fragmentShader_,this.vertexShader_);b.useProgram(c);goog.isNull(this.locations_)&&(this.locations_={aPosition:b.getAttribLocation(c,"aPosition"),aTexCoord:b.getAttribLocation(c,"aTexCoord"),uColorMatrix:b.getUniformLocation(c,"uColorMatrix"),
uTexCoordMatrix:b.getUniformLocation(c,"uTexCoordMatrix"),uVertexCoordMatrix:b.getUniformLocation(c,"uVertexCoordMatrix"),uOpacity:b.getUniformLocation(c,"uOpacity"),uTexture:b.getUniformLocation(c,"uTexture")});goog.isNull(this.arrayBuffer_)?(c=b.createBuffer(),b.bindBuffer(goog.webgl.ARRAY_BUFFER,c),b.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=c):b.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);b.enableVertexAttribArray(this.locations_.aPosition);
b.vertexAttribPointer(this.locations_.aPosition,2,goog.webgl.FLOAT,!1,16,0);b.enableVertexAttribArray(this.locations_.aTexCoord);b.vertexAttribPointer(this.locations_.aTexCoord,2,goog.webgl.FLOAT,!1,16,8);b.uniform1i(this.locations_.uTexture,0);goog.array.forEach(a.layersArray,function(c){var d=a.layerStates[goog.getUid(c)];d.visible&&d.ready&&(d=this.getLayerRenderer(c),b.uniformMatrix4fv(this.locations_.uTexCoordMatrix,!1,d.getTexCoordMatrix()),b.uniformMatrix4fv(this.locations_.uVertexCoordMatrix,
!1,d.getVertexCoordMatrix()),b.uniformMatrix4fv(this.locations_.uColorMatrix,!1,d.getColorMatrix()),b.uniform1f(this.locations_.uOpacity,c.getOpacity()),b.bindTexture(goog.webgl.TEXTURE_2D,d.getTexture()),b.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4))},this);this.renderedVisible_||(goog.style.showElement(this.canvas_,!0),this.renderedVisible_=!0);this.calculateMatrices2D(a);this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK&&a.postRenderFunctions.push(goog.bind(this.expireCache_,
this))};ol.renderer.webgl.SUPPORTED=ol.webgl.SUPPORTED;ol.RendererHints={};ol.ENABLE_CANVAS=!0;ol.ENABLE_DOM=!0;ol.ENABLE_WEBGL=!0;ol.RendererHint={CANVAS:"canvas",DOM:"dom",WEBGL:"webgl"};ol.DEFAULT_RENDERER_HINTS=[ol.RendererHint.WEBGL,ol.RendererHint.CANVAS,ol.RendererHint.DOM];ol.MapProperty={BACKGROUND_COLOR:"backgroundColor",LAYERS:"layers",SIZE:"size",VIEW:"view"};
c.height,this.canvasSize_=c);b.bindFramebuffer(goog.webgl.FRAMEBUFFER,null);var d=a.backgroundColor;b.clearColor(d.r/255,d.g/255,d.b/255,d.a);b.clear(goog.webgl.COLOR_BUFFER_BIT);b.enable(goog.webgl.BLEND);b.viewport(0,0,c.width,c.height);c=this.getProgram(this.fragmentShader_,this.vertexShader_);b.useProgram(c);goog.isNull(this.locations_)&&(this.locations_={a_position:b.getAttribLocation(c,"a_position"),a_texCoord:b.getAttribLocation(c,"a_texCoord"),u_colorMatrix:b.getUniformLocation(c,"u_colorMatrix"),
u_texCoordMatrix:b.getUniformLocation(c,"u_texCoordMatrix"),u_projectionMatrix:b.getUniformLocation(c,"u_projectionMatrix"),u_opacity:b.getUniformLocation(c,"u_opacity"),u_texture:b.getUniformLocation(c,"u_texture")});goog.isNull(this.arrayBuffer_)?(c=b.createBuffer(),b.bindBuffer(goog.webgl.ARRAY_BUFFER,c),b.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=c):b.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);
b.enableVertexAttribArray(this.locations_.a_position);b.vertexAttribPointer(this.locations_.a_position,2,goog.webgl.FLOAT,!1,16,0);b.enableVertexAttribArray(this.locations_.a_texCoord);b.vertexAttribPointer(this.locations_.a_texCoord,2,goog.webgl.FLOAT,!1,16,8);b.uniform1i(this.locations_.u_texture,0);goog.array.forEach(a.layersArray,function(c){var d=a.layerStates[goog.getUid(c)];d.visible&&d.ready&&(d=this.getLayerRenderer(c),b.uniformMatrix4fv(this.locations_.u_texCoordMatrix,!1,d.getTexCoordMatrix()),
b.uniformMatrix4fv(this.locations_.u_projectionMatrix,!1,d.getProjectionMatrix()),b.uniformMatrix4fv(this.locations_.u_colorMatrix,!1,d.getColorMatrix()),b.uniform1f(this.locations_.u_opacity,c.getOpacity()),b.bindTexture(goog.webgl.TEXTURE_2D,d.getTexture()),b.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4))},this);this.renderedVisible_||(goog.style.showElement(this.canvas_,!0),this.renderedVisible_=!0);this.calculateMatrices2D(a);this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK&&
a.postRenderFunctions.push(goog.bind(this.expireCache_,this))};ol.renderer.webgl.SUPPORTED=ol.webgl.SUPPORTED;ol.RendererHints={};ol.ENABLE_CANVAS=!0;ol.ENABLE_DOM=!0;ol.ENABLE_WEBGL=!0;ol.RendererHint={CANVAS:"canvas",DOM:"dom",WEBGL:"webgl"};ol.DEFAULT_RENDERER_HINTS=[ol.RendererHint.WEBGL,ol.RendererHint.CANVAS,ol.RendererHint.DOM];ol.MapProperty={BACKGROUND_COLOR:"backgroundColor",LAYERS:"layers",SIZE:"size",VIEW:"view"};
ol.Map=function(a){ol.Object.call(this);goog.DEBUG&&(this.logger=goog.debug.Logger.getLogger("ol.map."+goog.getUid(this)));a=ol.Map.createOptionsInternal(a);this.animationDelay_=new goog.async.AnimationDelay(this.renderFrame_,void 0,this);this.registerDisposable(this.animationDelay_);this.coordinateToPixelMatrix_=goog.vec.Mat4.createNumber();this.pixelToCoordinateMatrix_=goog.vec.Mat4.createNumber();this.frameState_=null;this.freezeRenderingCount_=0;this.dirty_=!1;this.target_=a.target;this.viewPropertyListenerKey_=
null;this.viewport_=goog.dom.createDom(goog.dom.TagName.DIV,"ol-viewport");this.viewport_.style.position="relative";this.viewport_.style.overflow="hidden";this.viewport_.style.width="100%";this.viewport_.style.height="100%";this.viewport_.style.msTouchAction="none";goog.dom.appendChild(this.target_,this.viewport_);this.overlayContainer_=goog.dom.createDom(goog.dom.TagName.DIV,"ol-overlaycontainer");goog.events.listen(this.overlayContainer_,[goog.events.EventType.CLICK,ol.BrowserFeature.HAS_TOUCH?
goog.events.EventType.TOUCHSTART:goog.events.EventType.MOUSEDOWN],goog.events.Event.stopPropagation);goog.dom.appendChild(this.viewport_,this.overlayContainer_);var b=new ol.MapBrowserEventHandler(this);goog.events.listen(b,goog.object.getValues(ol.MapBrowserEvent.EventType),this.handleMapBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.KeyHandler(document);goog.events.listen(b,goog.events.KeyHandler.EventType.KEY,this.handleBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.MouseWheelHandler(this.viewport_);
@@ -735,7 +745,7 @@ backgroundColor:goog.isDef(f)?f:new ol.Color(255,255,255,1),coordinateToPixelMat
ol.Map.prototype.setView=function(a){this.set(ol.MapProperty.VIEW,a)};goog.exportProperty(ol.Map.prototype,"setView",ol.Map.prototype.setView);ol.Map.prototype.unfreezeRendering=function(){goog.asserts.assert(0<this.freezeRenderingCount_);0===--this.freezeRenderingCount_&&this.dirty_&&this.animationDelay_.fire()};ol.Map.prototype.withFrozenRendering=function(a,b){this.freezeRendering();try{a.call(b)}finally{this.unfreezeRendering()}};
ol.Map.createOptionsInternal=function(a){var b={};b[ol.MapProperty.LAYERS]=goog.isDef(a.layers)?a.layers:new ol.Collection;b[ol.MapProperty.VIEW]=goog.isDef(a.view)?a.view:new ol.View2D;var c=ol.renderer.Map,d;d=goog.isDef(a.renderers)?a.renderers:goog.isDef(a.renderer)?[a.renderer]:ol.DEFAULT_RENDERER_HINTS;var e,f;for(e=0;e<d.length;++e)if(f=d[e],f==ol.RendererHint.CANVAS){if(ol.ENABLE_CANVAS&&ol.renderer.canvas.SUPPORTED){c=ol.renderer.canvas.Map;break}}else if(f==ol.RendererHint.DOM){if(ol.ENABLE_DOM&&
ol.renderer.dom.SUPPORTED){c=ol.renderer.dom.Map;break}}else if(f==ol.RendererHint.WEBGL&&ol.ENABLE_WEBGL&&ol.renderer.webgl.SUPPORTED){c=ol.renderer.webgl.Map;break}d=ol.Map.createControls_(a);e=goog.isDef(a.interactions)?a.interactions:ol.Map.createInteractions_(a);a=goog.dom.getElement(a.target);return{controls:d,interactions:e,rendererConstructor:c,target:a,values:b}};
ol.Map.createControls_=function(a){var b=[];(goog.isDef(a.attributionControl)?a.attributionControl:1)&&b.push(new ol.control.Attribution({}));if(goog.isDef(a.zoomControl)?a.zoomControl:1)a=goog.isDef(a.zoomDelta)?a.zoomDelta:4,b.push(new ol.control.Zoom({delta:a}));return b};
ol.Map.createControls_=function(a){var b=[];(goog.isDef(a.attributionControl)?a.attributionControl:1)&&b.push(new ol.control.Attribution({}));if(goog.isDef(a.scaleLineControl)&&a.scaleLineControl){var c=goog.isDef(a.scaleLineUnits)?a.scaleLineUnits:void 0;b.push(new ol.control.ScaleLine({units:c}))}if(goog.isDef(a.zoomControl)?a.zoomControl:1)a=goog.isDef(a.zoomDelta)?a.zoomDelta:4,b.push(new ol.control.Zoom({delta:a}));return b};
ol.Map.createInteractions_=function(a){var b=new ol.Collection;(goog.isDef(a.rotate)?a.rotate:1)&&b.push(new ol.interaction.DragRotate(ol.interaction.condition.altShiftKeysOnly));if(goog.isDef(a.doubleClickZoom)?a.doubleClickZoom:1){var c=goog.isDef(a.zoomDelta)?a.zoomDelta:4;b.push(new ol.interaction.DblClickZoom(c))}(goog.isDef(a.touchPan)?a.touchPan:1)&&b.push(new ol.interaction.TouchPan(new ol.Kinetic(-0.005,0.05,100)));(goog.isDef(a.touchRotate)?a.touchRotate:1)&&b.push(new ol.interaction.TouchRotate);
(goog.isDef(a.touchZoom)?a.touchZoom:1)&&b.push(new ol.interaction.TouchZoom);(goog.isDef(a.dragPan)?a.dragPan:1)&&b.push(new ol.interaction.DragPan(ol.interaction.condition.noModifierKeys,new ol.Kinetic(-0.005,0.05,100)));var c=goog.isDef(a.keyboard)?a.keyboard:!0,d=goog.isDef(a.keyboardPanOffset)?a.keyboardPanOffset:80;c&&(b.push(new ol.interaction.KeyboardPan(d)),b.push(new ol.interaction.KeyboardZoom));if(goog.isDef(a.mouseWheelZoom)?a.mouseWheelZoom:1)c=goog.isDef(a.mouseWheelZoomDelta)?a.mouseWheelZoomDelta:
1,b.push(new ol.interaction.MouseWheelZoom(c));(goog.isDef(a.shiftDragZoom)?a.shiftDragZoom:1)&&b.push(new ol.interaction.DragZoom(ol.interaction.condition.shiftKeyOnly));return b};ol.RendererHints.createFromQueryData=function(a){var b=goog.global.location.search.substring(1),a=goog.isDef(a)?a:new goog.Uri.QueryData(b);return a.containsKey("renderers")?a.get("renderers").split(","):a.containsKey("renderer")?[a.get("renderer")]:ol.DEFAULT_RENDERER_HINTS};ol.projection.addCommonProjections();ol.AnchoredElementProperty={ELEMENT:"element",MAP:"map",POSITION:"position",POSITIONING:"positioning"};ol.AnchoredElementPositioning={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};
@@ -748,53 +758,22 @@ ol.AnchoredElement.prototype.handleMapPostrender=function(){this.updatePixelPosi
ol.AnchoredElement.prototype.setMap=function(a){this.set(ol.AnchoredElementProperty.MAP,a)};goog.exportProperty(ol.AnchoredElement.prototype,"setMap",ol.AnchoredElement.prototype.setMap);ol.AnchoredElement.prototype.setPosition=function(a){this.set(ol.AnchoredElementProperty.POSITION,a)};goog.exportProperty(ol.AnchoredElement.prototype,"setPosition",ol.AnchoredElement.prototype.setPosition);ol.AnchoredElement.prototype.setPositioning=function(a){this.set(ol.AnchoredElementProperty.POSITIONING,a)};
ol.AnchoredElement.prototype.updatePixelPosition_=function(){var a=this.getMap(),b=this.getPosition();if(!goog.isDef(a)||!a.isDef()||!goog.isDef(b))this.rendered_.visible&&(goog.style.showElement(this.element_,!1),this.rendered_.visible=!1);else{var b=a.getPixelFromCoordinate(b),c=a.getSize();goog.asserts.assert(goog.isDef(c));var a=this.element_.style,d=this.getPositioning();if(d==ol.AnchoredElementPositioning.BOTTOM_RIGHT||d==ol.AnchoredElementPositioning.TOP_RIGHT){""!==this.rendered_.left_&&(this.rendered_.left_=
a.left="");var e=Math.round(c.width-b.x)+"px";this.rendered_.right_!=e&&(this.rendered_.right_=a.right=e)}else""!==this.rendered_.right_&&(this.rendered_.right_=a.right=""),e=Math.round(b.x)+"px",this.rendered_.left_!=e&&(this.rendered_.left_=a.left=e);d==ol.AnchoredElementPositioning.TOP_LEFT||d==ol.AnchoredElementPositioning.TOP_RIGHT?(""!==this.rendered_.bottom_&&(this.rendered_.bottom_=a.bottom=""),b=Math.round(b.y)+"px",this.rendered_.top_!=b&&(this.rendered_.top_=a.top=b)):(""!==this.rendered_.top_&&
(this.rendered_.top_=a.top=""),b=Math.round(c.height-b.y)+"px",this.rendered_.bottom_!=b&&(this.rendered_.bottom_=a.bottom=b));this.rendered_.visible||(goog.style.showElement(this.element_,!0),this.rendered_.visible=!0)}};/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
goog.async.Deferred=function(a,b){this.chain_=[];this.canceller_=a;this.defaultScope_=b||null};goog.async.Deferred.prototype.fired_=!1;goog.async.Deferred.prototype.hadError_=!1;goog.async.Deferred.prototype.paused_=0;goog.async.Deferred.prototype.silentlyCancelled_=!1;goog.async.Deferred.prototype.chained_=!1;goog.async.Deferred.prototype.branches_=0;
goog.async.Deferred.prototype.cancel=function(a){if(this.hasFired())this.result_ instanceof goog.async.Deferred&&this.result_.cancel();else{if(this.parent_){var b=this.parent_;delete this.parent_;a?b.cancel(a):b.branchCancel_()}this.canceller_?this.canceller_.call(this.defaultScope_,this):this.silentlyCancelled_=!0;this.hasFired()||this.errback(new goog.async.Deferred.CancelledError(this))}};goog.async.Deferred.prototype.branchCancel_=function(){this.branches_--;0>=this.branches_&&this.cancel()};
goog.async.Deferred.prototype.pause_=function(){this.paused_++};goog.async.Deferred.prototype.unpause_=function(){this.paused_--;0==this.paused_&&this.hasFired()&&this.fire_()};goog.async.Deferred.prototype.continue_=function(a,b){this.resback_(a,b);this.unpause_()};goog.async.Deferred.prototype.resback_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};
goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCancelled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCancelled_=!1}};goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!1,a)};
goog.async.Deferred.prototype.assertNotDeferred_=function(a){goog.asserts.assert(!(a instanceof goog.async.Deferred),"Deferred instances can only be chained if they are the result of a callback")};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};
goog.async.Deferred.prototype.addCallbacks=function(a,b,c){goog.asserts.assert(!this.chained_,"Chained Deferreds can not be re-used");this.chain_.push([a,b,c]);this.hasFired()&&this.fire_();return this};goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this};goog.async.Deferred.prototype.awaitDeferred=function(a){return this.addCallback(goog.bind(a.branch,a))};
goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};goog.async.Deferred.prototype.isError=function(a){return a instanceof Error};goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.chain_,function(a){return goog.isFunction(a[1])})};
goog.async.Deferred.prototype.fire_=function(){this.unhandledExceptionTimeoutId_&&(this.hasFired()&&this.hasErrback_())&&(goog.global.clearTimeout(this.unhandledExceptionTimeoutId_),delete this.unhandledExceptionTimeoutId_);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.chain_.length&&0==this.paused_;){var d=this.chain_.shift(),e=d[0],f=d[1],d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=this.hadError_&&
(g==a||this.isError(g)),this.result_=a=g);a instanceof goog.async.Deferred&&(c=!0,this.pause_())}catch(h){a=h,this.hadError_=!0,this.hasErrback_()||(b=!0)}}this.result_=a;c&&this.paused_&&(a.addCallbacks(goog.bind(this.continue_,this,!0),goog.bind(this.continue_,this,!1)),a.chained_=!0);b&&(this.unhandledExceptionTimeoutId_=goog.global.setTimeout(function(){throw a;},0))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};
goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.cancelled=function(){var a=new goog.async.Deferred;a.cancel();return a};goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);
goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError";goog.async.Deferred.CancelledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CancelledError,goog.debug.Error);goog.async.Deferred.CancelledError.prototype.message="Deferred was cancelled";goog.async.Deferred.CancelledError.prototype.name="CancelledError";goog.net={};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[];goog.net.jsloader.loadMany=function(a,b){if(a.length){var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(!c){var a=goog.net.jsloader.scriptsToLoad_,d=function(){var c=a.shift(),c=goog.net.jsloader.load(c,b);a.length&&c.addBoth(d)};d()}}};
goog.net.jsloader.load=function(a,b){var c=b||{},d=c.document||document,e=goog.dom.createElement(goog.dom.TagName.SCRIPT),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,i=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;0<i&&(h=window.setTimeout(function(){goog.net.jsloader.cleanup_(e,!0);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.TIMEOUT,"Timeout reached for loading script "+a))},i),f.timeout_=h);e.onload=
e.onreadystatechange=function(){if(!e.readyState||"loaded"==e.readyState||"complete"==e.readyState)goog.net.jsloader.cleanup_(e,c.cleanupWhenDone||!1,h),g.callback(null)};e.onerror=function(){goog.net.jsloader.cleanup_(e,!0,h);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.LOAD_ERROR,"Error while loading script "+a))};goog.dom.setProperties(e,{type:"text/javascript",charset:"UTF-8",src:a});goog.net.jsloader.getScriptParentElement_(d).appendChild(e);return g};
goog.net.jsloader.loadAndVerify=function(a,b,c){goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]||(goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]={});var d=goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_];if(goog.isDef(d[b]))return goog.async.Deferred.fail(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_OBJECT_ALREADY_EXISTS,"Verification object "+b+" already defined."));var c=goog.net.jsloader.load(a,c),e=new goog.async.Deferred(c.cancel);c.addCallback(function(){var c=d[b];
goog.isDef(c)?(e.callback(c),delete d[b]):e.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_ERROR,"Script "+a+" loaded, but verification object "+b+" was not defined."))});c.addErrback(function(a){goog.isDef(d[b])&&delete d[b];e.errback(a)});return e};goog.net.jsloader.getScriptParentElement_=function(a){var b=a.getElementsByTagName(goog.dom.TagName.HEAD);return!b||goog.array.isEmpty(b)?a.documentElement:b[0]};
goog.net.jsloader.cancel_=function(){if(this&&this.script_){var a=this.script_;a&&"SCRIPT"==a.tagName&&goog.net.jsloader.cleanup_(a,!0,this.timeout_)}};goog.net.jsloader.cleanup_=function(a,b,c){goog.isDefAndNotNull(c)&&goog.global.clearTimeout(c);a.onload=goog.nullFunction;a.onerror=goog.nullFunction;a.onreadystatechange=goog.nullFunction;b&&window.setTimeout(function(){goog.dom.removeNode(a)},0)};goog.net.jsloader.ErrorCode={LOAD_ERROR:0,TIMEOUT:1,VERIFY_ERROR:2,VERIFY_OBJECT_ALREADY_EXISTS:3};
goog.net.jsloader.Error=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);goog.debug.Error.call(this,c);this.code=a};goog.inherits(goog.net.jsloader.Error,goog.debug.Error);goog.net.Jsonp=function(a,b){this.uri_=new goog.Uri(a);this.callbackParamName_=b?b:"callback";this.timeout_=5E3};goog.net.Jsonp.CALLBACKS="_callbacks_";goog.net.Jsonp.scriptCounter_=0;goog.net.Jsonp.prototype.setRequestTimeout=function(a){this.timeout_=a};goog.net.Jsonp.prototype.getRequestTimeout=function(){return this.timeout_};
goog.net.Jsonp.prototype.send=function(a,b,c,d){a=a||null;d=d||"_"+(goog.net.Jsonp.scriptCounter_++).toString(36)+goog.now().toString(36);goog.global[goog.net.Jsonp.CALLBACKS]||(goog.global[goog.net.Jsonp.CALLBACKS]={});var e=this.uri_.clone();a&&goog.net.Jsonp.addPayloadToUri_(a,e);b&&(b=goog.net.Jsonp.newReplyHandler_(d,b),goog.global[goog.net.Jsonp.CALLBACKS][d]=b,e.setParameterValues(this.callbackParamName_,goog.net.Jsonp.CALLBACKS+"."+d));b=goog.net.jsloader.load(e.toString(),{timeout:this.timeout_,
cleanupWhenDone:!0});c=goog.net.Jsonp.newErrorHandler_(d,a,c);b.addErrback(c);return{id_:d,deferred_:b}};goog.net.Jsonp.prototype.cancel=function(a){a&&(a.deferred_&&a.deferred_.cancel(),a.id_&&goog.net.Jsonp.cleanup_(a.id_,!1))};goog.net.Jsonp.newErrorHandler_=function(a,b,c){return function(){goog.net.Jsonp.cleanup_(a,!1);c&&c(b)}};goog.net.Jsonp.newReplyHandler_=function(a,b){return function(c){goog.net.Jsonp.cleanup_(a,!0);b.apply(void 0,arguments)}};
goog.net.Jsonp.cleanup_=function(a,b){goog.global[goog.net.Jsonp.CALLBACKS][a]&&(b?delete goog.global[goog.net.Jsonp.CALLBACKS][a]:goog.global[goog.net.Jsonp.CALLBACKS][a]=goog.nullFunction)};goog.net.Jsonp.addPayloadToUri_=function(a,b){for(var c in a)(!a.hasOwnProperty||a.hasOwnProperty(c))&&b.setParameterValues(c,a[c]);return b};ol.TileUrlFunction={};ol.TileUrlFunction.createFromTemplate=function(a){var b=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(b){for(var c=[],d=b[1].charCodeAt(0),e=b[2].charCodeAt(0);d<=e;++d)c.push(a.replace(b[0],String.fromCharCode(d)));return ol.TileUrlFunction.createFromTemplates(c)}return function(b){return goog.isNull(b)?void 0:a.replace("{z}",b.z).replace("{x}",b.x).replace("{y}",b.y)}};
ol.TileUrlFunction.createFromTemplates=function(a){return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(a,ol.TileUrlFunction.createFromTemplate))};ol.TileUrlFunction.createFromTileUrlFunctions=function(a){return function(b){if(!goog.isNull(b)){var c=goog.math.modulo(b.hash(),a.length);return a[c](b)}}};
ol.TileUrlFunction.createBboxParam=function(a,b,c){return function(d){if(!goog.isNull(d)){var e=b.getTileCoordExtent(d),e="ne"==c.substr(0,2)?[e.minY,e.minX,e.maxY,e.maxX]:[e.minX,e.minY,e.maxX,e.maxY],d=b.getTileSize(d.z);return goog.uri.utils.appendParams(a,"BBOX",e.join(","),"HEIGHT",d.height,"WIDTH",d.width)}}};ol.TileUrlFunction.nullTileUrlFunction=function(){};ol.TileUrlFunction.withTileCoordTransform=function(a,b){return function(c){return goog.isNull(c)?void 0:b(a(c))}};ol.ImageTile=function(a,b,c){ol.Tile.call(this,a);this.src_=b;this.image_=new Image;goog.isNull(c)||(this.image_.crossOrigin=c);this.imageByContext_={};this.imageListenerKeys_=null};goog.inherits(ol.ImageTile,ol.Tile);ol.ImageTile.prototype.getImage=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};
ol.ImageTile.prototype.getKey=function(){return this.src_};ol.ImageTile.prototype.handleImageError_=function(){this.state=ol.TileState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.ImageTile.prototype.handleImageLoad_=function(){this.state=ol.TileState.LOADED;this.unlistenImage_();this.dispatchChangeEvent()};
ol.ImageTile.prototype.load=function(){this.state==ol.TileState.IDLE&&(this.state=ol.TileState.LOADING,goog.asserts.assert(goog.isNull(this.imageListenerKeys_)),this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};
ol.ImageTile.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK=512;ol.TileCache=function(a){ol.structs.LRUCache.call(this);this.highWaterMark_=goog.isDef(a)?a:ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK};goog.inherits(ol.TileCache,ol.structs.LRUCache);ol.TileCache.prototype.canExpireCache=function(){return this.getCount()>this.highWaterMark_};ol.TileCache.prototype.expireCache=function(a){for(var b,c;this.canExpireCache()&&!(b=this.peekLast(),c=b.tileCoord.z.toString(),c in a&&a[c].contains(b.tileCoord));)this.pop()};ol.source.ImageTileSource=function(a){ol.source.TileSource.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.tileUrlFunction=goog.isDef(a.tileUrlFunction)?a.tileUrlFunction:ol.TileUrlFunction.nullTileUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:"anonymous";this.tileCache_=new ol.TileCache};goog.inherits(ol.source.ImageTileSource,ol.source.TileSource);ol.source.ImageTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};
ol.source.ImageTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};ol.source.ImageTileSource.prototype.getTile=function(a){var b=a.toString();if(this.tileCache_.containsKey(b))return this.tileCache_.get(b);var c=this.getTileCoordUrl(a);goog.isDef(c)?(a=new ol.ImageTile(a,c,this.crossOrigin_),this.tileCache_.set(b,a)):a=null;return a};ol.source.ImageTileSource.prototype.getTileCoordUrl=function(a){return this.tileUrlFunction(a)};
ol.source.ImageTileSource.prototype.useTile=function(a){a=a.toString();this.tileCache_.containsKey(a)&&this.tileCache_.get(a)};ol.tilegrid.XYZ=function(a){var b=Array(a.maxZoom+1),c,d=2*ol.projection.EPSG3857.HALF_SIZE/ol.DEFAULT_TILE_SIZE;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);ol.tilegrid.TileGrid.call(this,{origin:new ol.Coordinate(-ol.projection.EPSG3857.HALF_SIZE,ol.projection.EPSG3857.HALF_SIZE),resolutions:b,tileSize:new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE)})};goog.inherits(ol.tilegrid.XYZ,ol.tilegrid.TileGrid);
ol.tilegrid.XYZ.prototype.forEachTileCoordParentTileRange=function(a,b,c){for(var d=a.x,e=a.y,a=a.z,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new ol.TileRange(d,e,d,e);if(b.call(c,a,f))break}};ol.BingMapsStyle={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",ROAD:"Road",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"};
ol.source.BingMaps=function(a){ol.source.ImageTileSource.call(this,{projection:ol.projection.getFromCode("EPSG:3857")});this.culture_=goog.isDef(a.culture)?a.culture:"en-us";this.ready_=!1;var b=new goog.Uri("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style);(new goog.net.Jsonp(b,"jsonp")).send({include:"ImageryProviders",key:a.key},goog.bind(this.handleImageryMetadataResponse,this))};goog.inherits(ol.source.BingMaps,ol.source.ImageTileSource);
ol.source.BingMaps.prototype.handleImageryMetadataResponse=function(a){goog.asserts.assert("ValidCredentials"==a.authenticationResultCode);goog.asserts.assert(200==a.statusCode);goog.asserts.assert("OK"==a.statusDescription);goog.asserts.assert(1==a.resourceSets.length);a=a.resourceSets[0];goog.asserts.assert(1==a.resources.length);var b=a.resources[0],c=b.zoomMin,d=b.zoomMax,a=new ol.Size(b.imageWidth,b.imageHeight),e=new ol.tilegrid.XYZ({maxZoom:d,tileSize:a});this.tileGrid=e;this.tileUrlFunction=
ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.z<c||d<a.z)return null;var b=1<<a.z,e=-a.y-1;if(0>e||b<=e)return null;b=goog.math.modulo(a.x,b);return new ol.TileCoord(a.z,b,e)},ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.culture_);return function(a){return goog.isNull(a)?void 0:c.replace("{quadkey}",a.quadKey())}})));var f=ol.projection.getTransform(ol.projection.getFromCode("EPSG:4326"),
this.getProjection()),a=goog.array.map(b.imageryProviders,function(a){var b=a.attribution,c={};goog.array.forEach(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new ol.Extent(a[1],a[0],a[3],a[2])).transform(f),g,h;for(g=b;g<=d;++g)h=g.toString(),b=e.getTileRangeForExtentAndZ(a,g),h in c?c[h].push(b):c[h]=[b]});return new ol.Attribution(b,c)});this.setAttributions(a);this.ready_=!0;this.dispatchLoadEvent()};ol.source.BingMaps.prototype.isReady=function(){return this.ready_};ol.Ellipsoid=function(a,b){this.a=a;this.flattening=b;this.b=this.a*(1-this.flattening)};
ol.Ellipsoid.prototype.vincenty=function(a,b,c,d){var c=goog.isDef(c)?c:1E-12,e=goog.isDef(d)?d:100,f=this.flattening,g=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),h=goog.math.toRadians(b.x-a.x),b=Math.atan((1-f)*Math.tan(g)),a=Math.cos(b),b=Math.sin(b),g=Math.atan((1-f)*Math.tan(d)),d=Math.cos(g),g=Math.sin(g),i=h,k,j,l;j=Infinity;for(var m,p,n;0<e;--e){l=Math.cos(i);m=Math.sin(i);p=d*m;n=a*g-b*d*l;n=Math.sqrt(p*p+n*n);if(0===n)return{distance:0,initialBearing:0,finalBearing:0};l=b*g+a*d*
l;p=Math.atan2(n,l);j=a*d*m/n;k=1-j*j;m=l-2*b*g/k;isNaN(m)&&(m=0);var q=f/16*k*(4+f*(4-3*k)),q=h+(1-q)*f*j*(p+q*n*(m+q*l*(2*m*m-1)));j=Math.abs(q-i);i=q;if(j<c)break}if(0===e)return{distance:NaN,finalBearing:NaN,initialBearing:NaN};c=this.b*this.b;f=k*(this.a*this.a-c)/c;c=1+f/16384*(4096+f*(f*(320-175*f)-768));f=f/1024*(256+f*(f*(74-47*f)-128));n=f*n*(m+f/4*(l*(2*m*m-1)-f/6*m*(4*n*n-3)*(4*m*m-3)));l=Math.cos(i);m=Math.sin(i);f=Math.atan2(d*m,a*g-b*d*l);a=Math.atan2(a*m,a*g*l-b*d);return{distance:this.b*
c*(p-n),initialBearing:goog.math.toDegrees(f),finalBearing:goog.math.toDegrees(a)}};ol.Ellipsoid.prototype.vincentyDistance=function(a,b,c,d){return this.vincenty(a,b,c,d).distance};ol.Ellipsoid.prototype.vincentyFinalBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).finalBearing};ol.Ellipsoid.prototype.vincentyInitialBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).initialBearing};ol.GeolocationProperty={ACCURACY:"accuracy",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed"};
(this.rendered_.top_=a.top=""),b=Math.round(c.height-b.y)+"px",this.rendered_.bottom_!=b&&(this.rendered_.bottom_=a.bottom=b));this.rendered_.visible||(goog.style.showElement(this.element_,!0),this.rendered_.visible=!0)}};ol.Ellipsoid=function(a,b){this.a=a;this.flattening=b;this.b=this.a*(1-this.flattening)};
ol.Ellipsoid.prototype.vincenty=function(a,b,c,d){var c=goog.isDef(c)?c:1E-12,e=goog.isDef(d)?d:100,f=this.flattening,g=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),h=goog.math.toRadians(b.x-a.x),b=Math.atan((1-f)*Math.tan(g)),a=Math.cos(b),b=Math.sin(b),g=Math.atan((1-f)*Math.tan(d)),d=Math.cos(g),g=Math.sin(g),i=h,l,j,k;j=Infinity;for(var m,n,p;0<e;--e){k=Math.cos(i);m=Math.sin(i);n=d*m;p=a*g-b*d*k;p=Math.sqrt(n*n+p*p);if(0===p)return{distance:0,initialBearing:0,finalBearing:0};k=b*g+a*d*
k;n=Math.atan2(p,k);j=a*d*m/p;l=1-j*j;m=k-2*b*g/l;isNaN(m)&&(m=0);var q=f/16*l*(4+f*(4-3*l)),q=h+(1-q)*f*j*(n+q*p*(m+q*k*(2*m*m-1)));j=Math.abs(q-i);i=q;if(j<c)break}if(0===e)return{distance:NaN,finalBearing:NaN,initialBearing:NaN};c=this.b*this.b;f=l*(this.a*this.a-c)/c;c=1+f/16384*(4096+f*(f*(320-175*f)-768));f=f/1024*(256+f*(f*(74-47*f)-128));p=f*p*(m+f/4*(k*(2*m*m-1)-f/6*m*(4*p*p-3)*(4*m*m-3)));k=Math.cos(i);m=Math.sin(i);f=Math.atan2(d*m,a*g-b*d*k);a=Math.atan2(a*m,a*g*k-b*d);return{distance:this.b*
c*(n-p),initialBearing:goog.math.toDegrees(f),finalBearing:goog.math.toDegrees(a)}};ol.Ellipsoid.prototype.vincentyDistance=function(a,b,c,d){return this.vincenty(a,b,c,d).distance};ol.Ellipsoid.prototype.vincentyFinalBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).finalBearing};ol.Ellipsoid.prototype.vincentyInitialBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).initialBearing};ol.GeolocationProperty={ACCURACY:"accuracy",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed"};
ol.Geolocation=function(a){ol.Object.call(this);this.position_=null;ol.Geolocation.SUPPORTED&&(goog.events.listen(this,ol.Object.getChangedEventType(ol.GeolocationProperty.PROJECTION),this.handleProjectionChanged_,!1,this),this.watchId_=navigator.geolocation.watchPosition(goog.bind(this.positionChange_,this),goog.bind(this.positionError_,this),a))};goog.inherits(ol.Geolocation,ol.Object);ol.Geolocation.prototype.disposeInternal=function(){navigator.geolocation.clearWatch(this.watchId_);ol.Geolocation.superClass_.disposeInternal.call(this)};
ol.Geolocation.prototype.handleProjectionChanged_=function(){var a=this.getProjection();goog.isDefAndNotNull(a)&&(this.transformFn_=ol.projection.getTransform(ol.projection.getFromCode("EPSG:4326"),a),goog.isNull(this.position_)||(a=[this.position_.x,this.position_.y],a=this.transformFn_(a,a,2),this.set(ol.GeolocationProperty.POSITION,new ol.Coordinate(a[0],a[1]))))};ol.Geolocation.SUPPORTED="geolocation"in navigator;
ol.Geolocation.prototype.positionChange_=function(a){a=a.coords;this.set(ol.GeolocationProperty.ACCURACY,a.accuracy);this.set(ol.GeolocationProperty.ALTITUDE,goog.isNull(a.altitude)?void 0:a.altitude);this.set(ol.GeolocationProperty.ALTITUDE_ACCURACY,goog.isNull(a.altitudeAccuracy)?void 0:a.altitudeAccuracy);this.set(ol.GeolocationProperty.HEADING,goog.isNull(a.heading)?void 0:goog.math.toRadians(a.heading));this.position_=new ol.Coordinate(a.longitude,a.latitude);var b=[a.longitude,a.latitude],b=
this.transformFn_(b,b,2);this.set(ol.GeolocationProperty.POSITION,new ol.Coordinate(b[0],b[1]));this.set(ol.GeolocationProperty.SPEED,goog.isNull(a.speed)?void 0:a.speed)};ol.Geolocation.prototype.positionError_=function(){};ol.Geolocation.prototype.getAccuracy=function(){return this.get(ol.GeolocationProperty.ACCURACY)};goog.exportProperty(ol.Geolocation.prototype,"getAccuracy",ol.Geolocation.prototype.getAccuracy);ol.Geolocation.prototype.getAltitude=function(){return this.get(ol.GeolocationProperty.ALTITUDE)};
goog.exportProperty(ol.Geolocation.prototype,"getAltitude",ol.Geolocation.prototype.getAltitude);ol.Geolocation.prototype.getAltitudeAccuracy=function(){return this.get(ol.GeolocationProperty.ALTITUDE_ACCURACY)};goog.exportProperty(ol.Geolocation.prototype,"getAltitudeAccuracy",ol.Geolocation.prototype.getAltitudeAccuracy);ol.Geolocation.prototype.getHeading=function(){return this.get(ol.GeolocationProperty.HEADING)};goog.exportProperty(ol.Geolocation.prototype,"getHeading",ol.Geolocation.prototype.getHeading);
ol.Geolocation.prototype.getPosition=function(){return this.get(ol.GeolocationProperty.POSITION)};goog.exportProperty(ol.Geolocation.prototype,"getPosition",ol.Geolocation.prototype.getPosition);ol.Geolocation.prototype.getProjection=function(){return this.get(ol.GeolocationProperty.PROJECTION)};goog.exportProperty(ol.Geolocation.prototype,"getProjection",ol.Geolocation.prototype.getProjection);ol.Geolocation.prototype.getSpeed=function(){return this.get(ol.GeolocationProperty.SPEED)};
goog.exportProperty(ol.Geolocation.prototype,"getSpeed",ol.Geolocation.prototype.getSpeed);ol.Geolocation.prototype.setProjection=function(a){this.set(ol.GeolocationProperty.PROJECTION,a)};goog.exportProperty(ol.Geolocation.prototype,"setProjection",ol.Geolocation.prototype.setProjection);ol.Geolocation.prototype.transformFn_=goog.functions.identity;ol.control.MousePosition=function(a){var b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":"ol-mouse-position"});ol.control.Control.call(this,{element:b,map:a.map,target:a.target});this.projection_=a.projection;this.coordinateFormat_=a.coordinateFormat;this.undefinedHTML_=goog.isDef(a.undefinedHTML)?a.undefinedHTML:"";this.renderedHTML_=b.innerHTML;this.mapProjection_=null;this.transform_=ol.projection.identityTransform;this.listenerKeys_=this.lastMouseMovePixel_=this.renderedProjection_=null};
goog.exportProperty(ol.Geolocation.prototype,"getSpeed",ol.Geolocation.prototype.getSpeed);ol.Geolocation.prototype.setProjection=function(a){this.set(ol.GeolocationProperty.PROJECTION,a)};goog.exportProperty(ol.Geolocation.prototype,"setProjection",ol.Geolocation.prototype.setProjection);ol.Geolocation.prototype.transformFn_=goog.functions.identity;ol.ImageTile=function(a,b,c){ol.Tile.call(this,a);this.src_=b;this.image_=new Image;goog.isNull(c)||(this.image_.crossOrigin=c);this.imageByContext_={};this.imageListenerKeys_=null};goog.inherits(ol.ImageTile,ol.Tile);ol.ImageTile.prototype.getImage=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};
ol.ImageTile.prototype.getKey=function(){return this.src_};ol.ImageTile.prototype.handleImageError_=function(){this.state=ol.TileState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.ImageTile.prototype.handleImageLoad_=function(){this.state=ol.TileState.LOADED;this.unlistenImage_();this.dispatchChangeEvent()};
ol.ImageTile.prototype.load=function(){this.state==ol.TileState.IDLE&&(this.state=ol.TileState.LOADING,goog.asserts.assert(goog.isNull(this.imageListenerKeys_)),this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};
ol.ImageTile.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK=512;ol.TileCache=function(a){ol.structs.LRUCache.call(this);this.highWaterMark_=goog.isDef(a)?a:ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK};goog.inherits(ol.TileCache,ol.structs.LRUCache);ol.TileCache.prototype.canExpireCache=function(){return this.getCount()>this.highWaterMark_};ol.TileCache.prototype.expireCache=function(a){for(var b,c;this.canExpireCache()&&!(b=this.peekLast(),c=b.tileCoord.z.toString(),c in a&&a[c].contains(b.tileCoord));)this.pop()};ol.TileUrlFunction={};ol.TileUrlFunction.createFromTemplate=function(a){var b=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(b){for(var c=[],d=b[1].charCodeAt(0),e=b[2].charCodeAt(0);d<=e;++d)c.push(a.replace(b[0],String.fromCharCode(d)));return ol.TileUrlFunction.createFromTemplates(c)}return function(b){return goog.isNull(b)?void 0:a.replace("{z}",b.z).replace("{x}",b.x).replace("{y}",b.y)}};
ol.TileUrlFunction.createFromTemplates=function(a){return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(a,ol.TileUrlFunction.createFromTemplate))};ol.TileUrlFunction.createFromTileUrlFunctions=function(a){return function(b,c,d){if(!goog.isNull(b)){var e=goog.math.modulo(b.hash(),a.length);return a[e](b,c,d)}}};
ol.TileUrlFunction.createWMSParams=function(a,b,c){return function(d,e,f){if(!goog.isNull(d)){var g=e.getTileSize(d.z),d=e.getTileCoordExtent(d);return ol.source.wms.getUrl(a,b,d,g,f,c)}}};ol.TileUrlFunction.nullTileUrlFunction=function(){};ol.TileUrlFunction.withTileCoordTransform=function(a,b){return function(c,d,e){return goog.isNull(c)?void 0:b(a(c,d,e),d,e)}};ol.control.MousePosition=function(a){var b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":"ol-mouse-position"});ol.control.Control.call(this,{element:b,map:a.map,target:a.target});this.projection_=a.projection;this.coordinateFormat_=a.coordinateFormat;this.undefinedHTML_=goog.isDef(a.undefinedHTML)?a.undefinedHTML:"";this.renderedHTML_=b.innerHTML;this.mapProjection_=null;this.transform_=ol.projection.identityTransform;this.listenerKeys_=this.lastMouseMovePixel_=this.renderedProjection_=null};
goog.inherits(ol.control.MousePosition,ol.control.Control);ol.control.MousePosition.prototype.handleMapPostrender=function(a){a=a.frameState;this.mapProjection_=goog.isNull(a)?null:a.view2DState.projection;this.updateHTML_(this.lastMouseMovePixel_)};ol.control.MousePosition.prototype.handleMouseMove=function(a){var b=this.getMap(),a=goog.style.getRelativePosition(a,b.getViewport()),a=new ol.Pixel(a.x,a.y);this.updateHTML_(a);this.lastMouseMovePixel_=a};
ol.control.MousePosition.prototype.handleMouseOut=function(){this.updateHTML_(null);this.lastMouseMovePixel_=null};
ol.control.MousePosition.prototype.setMap=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);ol.control.MousePosition.superClass_.setMap.call(this,a);if(!goog.isNull(a)){var b=a.getViewport();this.listenerKeys_=[goog.events.listen(b,goog.events.EventType.MOUSEMOVE,this.handleMouseMove,!1,this),goog.events.listen(b,goog.events.EventType.MOUSEOUT,this.handleMouseOut,!1,this),goog.events.listen(a,ol.MapEventType.POSTRENDER,
@@ -830,8 +809,8 @@ b){b.person=this.getChildValue(a)},ContactOrganization:function(a,b){b.organizat
b){b.postcode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ContactVoiceTelephone:function(a,b){b.phone=this.getChildValue(a)},ContactFacsimileTelephone:function(a,b){b.fax=this.getChildValue(a)},ContactElectronicMailAddress:function(a,b){b.email=this.getChildValue(a)},Fees:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},AccessConstraints:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},
Capability:function(a,b){b.capability={};b.capability.nestedLayers=[];b.capability.layers=[];this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetCapabilities:function(a,b){b.getcapabilities={};b.getcapabilities.formats=[];this.readChildNodes(a,b.getcapabilities)},Format:function(a,b){goog.isArray(b.formats)?b.formats.push(this.getChildValue(a)):b.format=this.getChildValue(a)},DCPType:function(a,b){this.readChildNodes(a,b)},HTTP:function(a,b){this.readChildNodes(a,
b)},Get:function(a,b){b.get={};this.readChildNodes(a,b.get)},Post:function(a,b){b.post={};this.readChildNodes(a,b.post)},GetMap:function(a,b){b.getmap={};b.getmap.formats=[];this.readChildNodes(a,b.getmap)},GetFeatureInfo:function(a,b){b.getfeatureinfo={};b.getfeatureinfo.formats=[];this.readChildNodes(a,b.getfeatureinfo)},Exception:function(a,b){b.exception={};b.exception.formats=[];this.readChildNodes(a,b.exception)},Layer:function(a,b){var c,d;b.capability?(d=b.capability,c=b):d=b;var e=a.getAttributeNode("queryable"),
f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,h=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):null,i=a.getAttribute("noSubsets"),k=a.getAttribute("fixedWidth"),j=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===
f:e.queryable||!1,cascaded:null!==g?parseInt(g,10):e.cascaded||0,opaque:h?"1"===h||"true"===h:e.opaque||!1,noSubsets:null!==i?"1"===i||"true"===i:e.noSubsets||!1,fixedWidth:null!==k?parseInt(k,10):e.fixedWidth||0,fixedHeight:null!==j?parseInt(j,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(goog.object.extend(f.srs,e.srs),goog.object.extend(f.bbox,e.bbox),goog.object.extend(f.dimensions,e.dimensions),goog.object.extend(f.authorityURLs,e.authorityURLs));
f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,h=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):null,i=a.getAttribute("noSubsets"),l=a.getAttribute("fixedWidth"),j=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===
f:e.queryable||!1,cascaded:null!==g?parseInt(g,10):e.cascaded||0,opaque:h?"1"===h||"true"===h:e.opaque||!1,noSubsets:null!==i?"1"===i||"true"===i:e.noSubsets||!1,fixedWidth:null!==l?parseInt(l,10):e.fixedWidth||0,fixedHeight:null!==j?parseInt(j,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(goog.object.extend(f.srs,e.srs),goog.object.extend(f.bbox,e.bbox),goog.object.extend(f.dimensions,e.dimensions),goog.object.extend(f.authorityURLs,e.authorityURLs));
b.nestedLayers.push(f);f.capability=d;this.readChildNodes(a,f);delete f.capability;f.name&&(c=f.name.split(":"),g=d.request,e=g.getfeatureinfo,0<c.length&&(f.prefix=c[0]),d.layers.push(f),void 0===f.formats&&(f.formats=g.getmap.formats),void 0===f.infoFormats&&e&&(f.infoFormats=e.formats))},Attribution:function(a,b){b.attribution={};this.readChildNodes(a,b.attribution)},LogoURL:function(a,b){b.logo={width:a.getAttribute("width"),height:a.getAttribute("height")};this.readChildNodes(a,b.logo)},Style:function(a,
b){var c={};b.styles.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={width:a.getAttribute("width"),height:a.getAttribute("height")};b.legend=c;this.readChildNodes(a,c)},MetadataURL:function(a,b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c);this.readChildNodes(a,c)},DataURL:function(a,b){b.dataURL={};this.readChildNodes(a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};this.readChildNodes(a,b.featureListURL)},AuthorityURL:function(a,b){var c=a.getAttribute("name"),
d={};this.readChildNodes(a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=this.getChildValue(a)},KeywordList:function(a,b){this.readChildNodes(a,b)},SRS:function(a,b){b.srs[this.getChildValue(a)]=!0}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.WMSCapabilities_v1,ol.parser.XML);
@@ -849,25 +828,53 @@ ol.parser.ogc.WMSCapabilities=function(a){a=a||{};a.defaultVersion="1.1.1";this.
goog.inherits(ol.parser.ogc.WMSCapabilities,ol.parser.ogc.Versioned);ol.parser.ogc.WMTSCapabilities_v1_0_0=function(){this.readers={"http://www.opengis.net/wmts/1.0":{Capabilities:function(a,c){this.readChildNodes(a,c)},Contents:function(a,c){c.contents={};c.contents.layers=[];c.contents.tileMatrixSets={};this.readChildNodes(a,c.contents)},Layer:function(a,c){var d={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[],layers:[]};this.readChildNodes(a,d);c.layers.push(d)},Style:function(a,c){var d={};d.isDefault="true"===a.getAttribute("isDefault");this.readChildNodes(a,
d);c.styles.push(d)},Format:function(a,c){c.formats.push(this.getChildValue(a))},TileMatrixSetLink:function(a,c){var d={};this.readChildNodes(a,d);c.tileMatrixSetLinks.push(d)},TileMatrixSet:function(a,c){if(c.layers){var d={matrixIds:[]};this.readChildNodes(a,d);c.tileMatrixSets[d.identifier]=d}else c.tileMatrixSet=this.getChildValue(a)},TileMatrix:function(a,c){var d={supportedCRS:c.supportedCRS};this.readChildNodes(a,d);c.matrixIds.push(d)},ScaleDenominator:function(a,c){c.scaleDenominator=parseFloat(this.getChildValue(a))},
TopLeftCorner:function(a,c){var d=this.getChildValue(a).split(" "),e=ol.projection.getFromCode(c.supportedCRS).getAxisOrientation();c.topLeftCorner=ol.Coordinate.fromProjectedArray([parseFloat(d[0]),parseFloat(d[1])],e)},TileWidth:function(a,c){c.tileWidth=parseInt(this.getChildValue(a),10)},TileHeight:function(a,c){c.tileHeight=parseInt(this.getChildValue(a),10)},MatrixWidth:function(a,c){c.matrixWidth=parseInt(this.getChildValue(a),10)},MatrixHeight:function(a,c){c.matrixHeight=parseInt(this.getChildValue(a),
10)},ResourceURL:function(a,c){c.resourceUrl=c.resourceUrl||{};var d=a.getAttribute("resourceType");c.resourceUrls||(c.resourceUrls=[]);d=c.resourceUrl[d]={format:a.getAttribute("format"),template:a.getAttribute("template"),resourceType:d};c.resourceUrls.push(d)},WSDL:function(a,c){c.wsdl={};c.wsdl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceMetadataURL:function(a,c){c.serviceMetadataUrl={};c.serviceMetadataUrl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink",
10)},ResourceURL:function(a,c){var d=a.getAttribute("resourceType"),e=a.getAttribute("format"),f=a.getAttribute("template");c.resourceUrls||(c.resourceUrls={});c.resourceUrls[d]||(c.resourceUrls[d]={});c.resourceUrls[d][e]||(c.resourceUrls[d][e]=[]);c.resourceUrls[d][e].push(f)},WSDL:function(a,c){c.wsdl={};c.wsdl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceMetadataURL:function(a,c){c.serviceMetadataUrl={};c.serviceMetadataUrl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink",
"href")},LegendURL:function(a,c){c.legend={};c.legend.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href");c.legend.format=a.getAttribute("format")},Dimension:function(a,c){var d={values:[]};this.readChildNodes(a,d);c.dimensions.push(d)},Default:function(a,c){c["default"]=this.getChildValue(a)},Value:function(a,c){c.values.push(this.getChildValue(a))}}};var a=new ol.parser.ogc.OWSCommon_v1_1_0;this.readers["http://www.opengis.net/ows/1.1"]=a.readers["http://www.opengis.net/ows/1.1"];
ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.WMTSCapabilities_v1_0_0,ol.parser.XML);ol.parser.ogc.WMTSCapabilities_v1_0_0.prototype.read=function(a){"string"==typeof a&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b};ol.parser.ogc.WMTSCapabilities=function(a){a=a||{};a.defaultVersion="1.0.0";this.parsers={};this.parsers.v1_0_0=ol.parser.ogc.WMTSCapabilities_v1_0_0;ol.parser.ogc.Versioned.call(this,a)};goog.inherits(ol.parser.ogc.WMTSCapabilities,ol.parser.ogc.Versioned);ol.DebugTile_=function(a,b){ol.Tile.call(this,a);this.state=ol.TileState.LOADED;this.tileCoord_=a;this.tileSize_=b.getTileSize(a.z);this.canvasByContext_={}};goog.inherits(ol.DebugTile_,ol.Tile);
ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.WMTSCapabilities_v1_0_0,ol.parser.XML);ol.parser.ogc.WMTSCapabilities_v1_0_0.prototype.read=function(a){"string"==typeof a&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b};ol.parser.ogc.WMTSCapabilities=function(a){a=a||{};a.defaultVersion="1.0.0";this.parsers={};this.parsers.v1_0_0=ol.parser.ogc.WMTSCapabilities_v1_0_0;ol.parser.ogc.Versioned.call(this,a)};goog.inherits(ol.parser.ogc.WMTSCapabilities,ol.parser.ogc.Versioned);/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
goog.async.Deferred=function(a,b){this.chain_=[];this.canceller_=a;this.defaultScope_=b||null};goog.async.Deferred.prototype.fired_=!1;goog.async.Deferred.prototype.hadError_=!1;goog.async.Deferred.prototype.paused_=0;goog.async.Deferred.prototype.silentlyCancelled_=!1;goog.async.Deferred.prototype.chained_=!1;goog.async.Deferred.prototype.branches_=0;
goog.async.Deferred.prototype.cancel=function(a){if(this.hasFired())this.result_ instanceof goog.async.Deferred&&this.result_.cancel();else{if(this.parent_){var b=this.parent_;delete this.parent_;a?b.cancel(a):b.branchCancel_()}this.canceller_?this.canceller_.call(this.defaultScope_,this):this.silentlyCancelled_=!0;this.hasFired()||this.errback(new goog.async.Deferred.CancelledError(this))}};goog.async.Deferred.prototype.branchCancel_=function(){this.branches_--;0>=this.branches_&&this.cancel()};
goog.async.Deferred.prototype.pause_=function(){this.paused_++};goog.async.Deferred.prototype.unpause_=function(){this.paused_--;0==this.paused_&&this.hasFired()&&this.fire_()};goog.async.Deferred.prototype.continue_=function(a,b){this.resback_(a,b);this.unpause_()};goog.async.Deferred.prototype.resback_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};
goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCancelled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCancelled_=!1}};goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!1,a)};
goog.async.Deferred.prototype.assertNotDeferred_=function(a){goog.asserts.assert(!(a instanceof goog.async.Deferred),"Deferred instances can only be chained if they are the result of a callback")};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};
goog.async.Deferred.prototype.addCallbacks=function(a,b,c){goog.asserts.assert(!this.chained_,"Chained Deferreds can not be re-used");this.chain_.push([a,b,c]);this.hasFired()&&this.fire_();return this};goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this};goog.async.Deferred.prototype.awaitDeferred=function(a){return this.addCallback(goog.bind(a.branch,a))};
goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};goog.async.Deferred.prototype.isError=function(a){return a instanceof Error};goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.chain_,function(a){return goog.isFunction(a[1])})};
goog.async.Deferred.prototype.fire_=function(){this.unhandledExceptionTimeoutId_&&(this.hasFired()&&this.hasErrback_())&&(goog.global.clearTimeout(this.unhandledExceptionTimeoutId_),delete this.unhandledExceptionTimeoutId_);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.chain_.length&&0==this.paused_;){var d=this.chain_.shift(),e=d[0],f=d[1],d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=this.hadError_&&
(g==a||this.isError(g)),this.result_=a=g);a instanceof goog.async.Deferred&&(c=!0,this.pause_())}catch(h){a=h,this.hadError_=!0,this.hasErrback_()||(b=!0)}}this.result_=a;c&&this.paused_&&(a.addCallbacks(goog.bind(this.continue_,this,!0),goog.bind(this.continue_,this,!1)),a.chained_=!0);b&&(this.unhandledExceptionTimeoutId_=goog.global.setTimeout(function(){throw a;},0))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};
goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.cancelled=function(){var a=new goog.async.Deferred;a.cancel();return a};goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);
goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError";goog.async.Deferred.CancelledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CancelledError,goog.debug.Error);goog.async.Deferred.CancelledError.prototype.message="Deferred was cancelled";goog.async.Deferred.CancelledError.prototype.name="CancelledError";goog.net={};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[];goog.net.jsloader.loadMany=function(a,b){if(a.length){var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(!c){var a=goog.net.jsloader.scriptsToLoad_,d=function(){var c=a.shift(),c=goog.net.jsloader.load(c,b);a.length&&c.addBoth(d)};d()}}};
goog.net.jsloader.load=function(a,b){var c=b||{},d=c.document||document,e=goog.dom.createElement(goog.dom.TagName.SCRIPT),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,i=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;0<i&&(h=window.setTimeout(function(){goog.net.jsloader.cleanup_(e,!0);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.TIMEOUT,"Timeout reached for loading script "+a))},i),f.timeout_=h);e.onload=
e.onreadystatechange=function(){if(!e.readyState||"loaded"==e.readyState||"complete"==e.readyState)goog.net.jsloader.cleanup_(e,c.cleanupWhenDone||!1,h),g.callback(null)};e.onerror=function(){goog.net.jsloader.cleanup_(e,!0,h);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.LOAD_ERROR,"Error while loading script "+a))};goog.dom.setProperties(e,{type:"text/javascript",charset:"UTF-8",src:a});goog.net.jsloader.getScriptParentElement_(d).appendChild(e);return g};
goog.net.jsloader.loadAndVerify=function(a,b,c){goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]||(goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]={});var d=goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_];if(goog.isDef(d[b]))return goog.async.Deferred.fail(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_OBJECT_ALREADY_EXISTS,"Verification object "+b+" already defined."));var c=goog.net.jsloader.load(a,c),e=new goog.async.Deferred(c.cancel);c.addCallback(function(){var c=d[b];
goog.isDef(c)?(e.callback(c),delete d[b]):e.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_ERROR,"Script "+a+" loaded, but verification object "+b+" was not defined."))});c.addErrback(function(a){goog.isDef(d[b])&&delete d[b];e.errback(a)});return e};goog.net.jsloader.getScriptParentElement_=function(a){var b=a.getElementsByTagName(goog.dom.TagName.HEAD);return!b||goog.array.isEmpty(b)?a.documentElement:b[0]};
goog.net.jsloader.cancel_=function(){if(this&&this.script_){var a=this.script_;a&&"SCRIPT"==a.tagName&&goog.net.jsloader.cleanup_(a,!0,this.timeout_)}};goog.net.jsloader.cleanup_=function(a,b,c){goog.isDefAndNotNull(c)&&goog.global.clearTimeout(c);a.onload=goog.nullFunction;a.onerror=goog.nullFunction;a.onreadystatechange=goog.nullFunction;b&&window.setTimeout(function(){goog.dom.removeNode(a)},0)};goog.net.jsloader.ErrorCode={LOAD_ERROR:0,TIMEOUT:1,VERIFY_ERROR:2,VERIFY_OBJECT_ALREADY_EXISTS:3};
goog.net.jsloader.Error=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);goog.debug.Error.call(this,c);this.code=a};goog.inherits(goog.net.jsloader.Error,goog.debug.Error);goog.net.Jsonp=function(a,b){this.uri_=new goog.Uri(a);this.callbackParamName_=b?b:"callback";this.timeout_=5E3};goog.net.Jsonp.CALLBACKS="_callbacks_";goog.net.Jsonp.scriptCounter_=0;goog.net.Jsonp.prototype.setRequestTimeout=function(a){this.timeout_=a};goog.net.Jsonp.prototype.getRequestTimeout=function(){return this.timeout_};
goog.net.Jsonp.prototype.send=function(a,b,c,d){a=a||null;d=d||"_"+(goog.net.Jsonp.scriptCounter_++).toString(36)+goog.now().toString(36);goog.global[goog.net.Jsonp.CALLBACKS]||(goog.global[goog.net.Jsonp.CALLBACKS]={});var e=this.uri_.clone();a&&goog.net.Jsonp.addPayloadToUri_(a,e);b&&(b=goog.net.Jsonp.newReplyHandler_(d,b),goog.global[goog.net.Jsonp.CALLBACKS][d]=b,e.setParameterValues(this.callbackParamName_,goog.net.Jsonp.CALLBACKS+"."+d));b=goog.net.jsloader.load(e.toString(),{timeout:this.timeout_,
cleanupWhenDone:!0});c=goog.net.Jsonp.newErrorHandler_(d,a,c);b.addErrback(c);return{id_:d,deferred_:b}};goog.net.Jsonp.prototype.cancel=function(a){a&&(a.deferred_&&a.deferred_.cancel(),a.id_&&goog.net.Jsonp.cleanup_(a.id_,!1))};goog.net.Jsonp.newErrorHandler_=function(a,b,c){return function(){goog.net.Jsonp.cleanup_(a,!1);c&&c(b)}};goog.net.Jsonp.newReplyHandler_=function(a,b){return function(c){goog.net.Jsonp.cleanup_(a,!0);b.apply(void 0,arguments)}};
goog.net.Jsonp.cleanup_=function(a,b){goog.global[goog.net.Jsonp.CALLBACKS][a]&&(b?delete goog.global[goog.net.Jsonp.CALLBACKS][a]:goog.global[goog.net.Jsonp.CALLBACKS][a]=goog.nullFunction)};goog.net.Jsonp.addPayloadToUri_=function(a,b){for(var c in a)(!a.hasOwnProperty||a.hasOwnProperty(c))&&b.setParameterValues(c,a[c]);return b};ol.source.ImageTileSource=function(a){ol.source.TileSource.call(this,{attributions:a.attributions,extent:a.extent,opaque:a.opaque,projection:a.projection,tileGrid:a.tileGrid});this.tileUrlFunction=goog.isDef(a.tileUrlFunction)?a.tileUrlFunction:ol.TileUrlFunction.nullTileUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:"anonymous";this.tileCache_=new ol.TileCache};goog.inherits(ol.source.ImageTileSource,ol.source.TileSource);
ol.source.ImageTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.ImageTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
ol.source.ImageTileSource.prototype.getTile=function(a,b,c){var d=a.toString();if(this.tileCache_.containsKey(d))return this.tileCache_.get(d);goog.asserts.assert(b);goog.asserts.assert(c);b=this.tileUrlFunction(a,b,c);goog.isDef(b)?(a=new ol.ImageTile(a,b,this.crossOrigin_),this.tileCache_.set(d,a)):a=null;return a};ol.source.ImageTileSource.prototype.useTile=function(a){a=a.toString();this.tileCache_.containsKey(a)&&this.tileCache_.get(a)};ol.tilegrid.XYZ=function(a){var b=Array(a.maxZoom+1),c,d=2*ol.projection.EPSG3857.HALF_SIZE/ol.DEFAULT_TILE_SIZE;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);ol.tilegrid.TileGrid.call(this,{origin:new ol.Coordinate(-ol.projection.EPSG3857.HALF_SIZE,ol.projection.EPSG3857.HALF_SIZE),resolutions:b,tileSize:new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE)})};goog.inherits(ol.tilegrid.XYZ,ol.tilegrid.TileGrid);
ol.tilegrid.XYZ.prototype.forEachTileCoordParentTileRange=function(a,b,c){for(var d=a.x,e=a.y,a=a.z,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new ol.TileRange(d,e,d,e);if(b.call(c,a,f))break}};ol.source.BingMaps=function(a){ol.source.ImageTileSource.call(this,{opaque:!0,projection:ol.projection.getFromCode("EPSG:3857")});this.culture_=goog.isDef(a.culture)?a.culture:"en-us";this.ready_=!1;var b=new goog.Uri("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style);(new goog.net.Jsonp(b,"jsonp")).send({include:"ImageryProviders",key:a.key},goog.bind(this.handleImageryMetadataResponse,this))};goog.inherits(ol.source.BingMaps,ol.source.ImageTileSource);
ol.source.BingMaps.prototype.handleImageryMetadataResponse=function(a){goog.asserts.assert("ValidCredentials"==a.authenticationResultCode);goog.asserts.assert(200==a.statusCode);goog.asserts.assert("OK"==a.statusDescription);goog.asserts.assert(1==a.resourceSets.length);a=a.resourceSets[0];goog.asserts.assert(1==a.resources.length);var b=a.resources[0],c=b.zoomMin,d=b.zoomMax,a=new ol.Size(b.imageWidth,b.imageHeight),e=new ol.tilegrid.XYZ({maxZoom:d,tileSize:a});this.tileGrid=e;this.tileUrlFunction=
ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.z<c||d<a.z)return null;var b=1<<a.z,e=-a.y-1;if(0>e||b<=e)return null;b=goog.math.modulo(a.x,b);return new ol.TileCoord(a.z,b,e)},ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.culture_);return function(a){return goog.isNull(a)?void 0:c.replace("{quadkey}",a.quadKey())}})));var f=ol.projection.getTransform(ol.projection.getFromCode("EPSG:4326"),
this.getProjection()),a=goog.array.map(b.imageryProviders,function(a){var b=a.attribution,c={};goog.array.forEach(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new ol.Extent(a[1],a[0],a[3],a[2])).transform(f),g,h;for(g=b;g<=d;++g)h=g.toString(),b=e.getTileRangeForExtentAndZ(a,g),h in c?c[h].push(b):c[h]=[b]});return new ol.Attribution(b,c)});this.setAttributions(a);this.ready_=!0;this.dispatchLoadEvent()};ol.source.BingMaps.prototype.isReady=function(){return this.ready_};ol.DebugTile_=function(a,b){ol.Tile.call(this,a);this.state=ol.TileState.LOADED;this.tileCoord_=a;this.tileSize_=b.getTileSize(a.z);this.canvasByContext_={}};goog.inherits(ol.DebugTile_,ol.Tile);
ol.DebugTile_.prototype.getImage=function(a){a=goog.isDef(a)?goog.getUid(a):-1;if(a in this.canvasByContext_)return this.canvasByContext_[a];var b=this.tileSize_,c=goog.dom.createElement(goog.dom.TagName.CANVAS);c.width=b.width;c.height=b.height;var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b.width+0.5,b.height+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.tileCoord_.toString(),b.width/2,b.height/2);return this.canvasByContext_[a]=
c};ol.source.DebugTileSource=function(a){ol.source.TileSource.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.tileCache_=new ol.TileCache};goog.inherits(ol.source.DebugTileSource,ol.source.TileSource);ol.source.DebugTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.DebugTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
c};ol.source.DebugTileSource=function(a){ol.source.TileSource.call(this,{extent:a.extent,opaque:!1,projection:a.projection,tileGrid:a.tileGrid});this.tileCache_=new ol.TileCache};goog.inherits(ol.source.DebugTileSource,ol.source.TileSource);ol.source.DebugTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.DebugTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
ol.source.DebugTileSource.prototype.getTile=function(a){var b=a.toString();if(this.tileCache_.containsKey(b))return this.tileCache_.get(b);a=new ol.DebugTile_(a,this.tileGrid);this.tileCache_.set(b,a);return a};ol.source.XYZ=function(a){var b=a.projection||ol.projection.getFromCode("EPSG:3857"),c=ol.TileUrlFunction.nullTileUrlFunction;goog.isDef(a.tileUrlFunction)?c=a.tileUrlFunction:goog.isDef(a.urls)?c=ol.TileUrlFunction.createFromTemplates(a.urls):goog.isDef(a.url)&&(c=ol.TileUrlFunction.createFromTemplate(a.url));var d=new ol.tilegrid.XYZ({maxZoom:a.maxZoom}),e=a.extent,c=goog.isDefAndNotNull(e)?ol.TileUrlFunction.withTileCoordTransform(function(b){if(a.maxZoom<b.z)return null;var c=1<<b.z,h=-b.y-1;
if(0>h||c<=h)return null;c=goog.math.modulo(b.x,c);return!d.getTileCoordExtent(new ol.TileCoord(b.z,c,b.y)).intersects(e)?null:new ol.TileCoord(b.z,c,h)},c):ol.TileUrlFunction.withTileCoordTransform(function(b){if(a.maxZoom<b.z)return null;var c=1<<b.z,d=-b.y-1;if(0>d||c<=d)return null;c=goog.math.modulo(b.x,c);return new ol.TileCoord(b.z,c,d)},c);ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:b,tileGrid:d,tileUrlFunction:c})};
goog.inherits(ol.source.XYZ,ol.source.ImageTileSource);ol.source.MapQuestOSM=function(){var a=[new ol.Attribution('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ol.Attribution('Data &copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')];ol.source.XYZ.call(this,{attributions:a,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})};
goog.inherits(ol.source.MapQuestOSM,ol.source.XYZ);ol.source.MapQuestOpenAerial=function(){var a=[new ol.Attribution('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ol.Attribution("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")];ol.source.XYZ.call(this,{attributions:a,maxZoom:18,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})};
goog.inherits(ol.source.MapQuestOpenAerial,ol.source.XYZ);ol.source.OpenStreetMap=function(){var a=new ol.Attribution('&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>');ol.source.XYZ.call(this,{attributions:[a],maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})};goog.inherits(ol.source.OpenStreetMap,ol.source.XYZ);ol.source.SingleImageWMS=function(a){var b=ol.projection.createProjection(a.projection,"EPSG:3857"),c=b.getExtent(),c=goog.isDef(a.extent)?a.extent:c,d=goog.isDef(a.version)?a.version:"1.3",e={SERVICE:"WMS",VERSION:d,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:!0};e["1.3"<=d?"CRS":"SRS"]=b.getCode();goog.object.extend(e,a.params);d=b.getAxisOrientation();a.url?(e=goog.uri.utils.appendParamsFromMap(a.url,e),e=ol.ImageUrlFunction.createBboxParam(e,d)):e=ol.ImageUrlFunction.nullImageUrlFunction;
ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:c,projection:b,resolutions:a.resolutions,imageUrlFunction:e});this.image_=null;this.ratio_=1.5};goog.inherits(ol.source.SingleImageWMS,ol.source.ImageSource);
ol.source.SingleImageWMS.prototype.getImage=function(a,b){var b=this.findNearestResolution(b),c=this.image_;if(!goog.isNull(c)&&c.getResolution()==b&&c.getExtent().containsExtent(a))return c;a=new ol.Extent(a.minX,a.minY,a.maxX,a.maxY);a.scaleFromCenter(this.ratio_);var c=a.getWidth()/b,d=a.getHeight()/b,c=new ol.Size(c,d);return this.image_=this.createImage(a,b,c)};ol.source.StamenFlavor={TERRAIN_BACKGROUND:"background",TERRAIN_LABELS:"labels",TERRAIN_LINES:"lines",TONER_2010:"2010",TONER_2011:"2011",TONER_2011_LABELS:"2011-labels",TONER_2011_LINES:"2011-lines",TONER_2011_LITE:"2011-lite",TONER_BACKGROUND:"background",TONER_HYBRID:"hybrid",TONER_LABELS:"labels",TONER_LINES:"lines",TONER_LITE:"lite"};ol.source.StamenProvider={TERRAIN:"terrain",TONER:"toner",WATERCOLOR:"watercolor"};ol.source.StamenProviderConfig={};
goog.inherits(ol.source.XYZ,ol.source.ImageTileSource);ol.source.MapQuestOSM=function(){var a=[new ol.Attribution('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ol.Attribution('Data &copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')];ol.source.XYZ.call(this,{attributions:a,opaque:!0,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})};
goog.inherits(ol.source.MapQuestOSM,ol.source.XYZ);ol.source.MapQuestOpenAerial=function(){var a=[new ol.Attribution('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ol.Attribution("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")];ol.source.XYZ.call(this,{attributions:a,maxZoom:18,opaque:!0,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})};
goog.inherits(ol.source.MapQuestOpenAerial,ol.source.XYZ);ol.source.OpenStreetMap=function(){var a=new ol.Attribution('&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>');ol.source.XYZ.call(this,{attributions:[a],opaque:!0,maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})};goog.inherits(ol.source.OpenStreetMap,ol.source.XYZ);ol.source.SingleImageWMS=function(a){var b=goog.isDef(a.url)?ol.ImageUrlFunction.createWMSParams(a.url,a.params,a.version):ol.ImageUrlFunction.nullImageUrlFunction;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,imageUrlFunction:b});this.image_=null;this.ratio_=1.5};goog.inherits(ol.source.SingleImageWMS,ol.source.ImageSource);
ol.source.SingleImageWMS.prototype.getImage=function(a,b,c){var b=this.findNearestResolution(b),d=this.image_;if(!goog.isNull(d)&&d.getResolution()==b&&d.getExtent().containsExtent(a))return d;a=new ol.Extent(a.minX,a.minY,a.maxX,a.maxY);a.scaleFromCenter(this.ratio_);var d=a.getWidth()/b,e=a.getHeight()/b,d=new ol.Size(d,e);return this.image_=this.createImage(a,b,d,c)};ol.source.StamenFlavor={TERRAIN_BACKGROUND:"background",TERRAIN_LABELS:"labels",TERRAIN_LINES:"lines",TONER_2010:"2010",TONER_2011:"2011",TONER_2011_LABELS:"2011-labels",TONER_2011_LINES:"2011-lines",TONER_2011_LITE:"2011-lite",TONER_BACKGROUND:"background",TONER_HYBRID:"hybrid",TONER_LABELS:"labels",TONER_LINES:"lines",TONER_LITE:"lite"};ol.source.StamenProvider={TERRAIN:"terrain",TONER:"toner",WATERCOLOR:"watercolor"};ol.source.StamenProviderConfig={};
ol.source.StamenProviderConfig[ol.source.StamenProvider.TERRAIN]={type:"jpg",minZoom:4,maxZoom:18};ol.source.StamenProviderConfig[ol.source.StamenProvider.TONER]={type:"png",minZoom:0,maxZoom:20};ol.source.StamenProviderConfig[ol.source.StamenProvider.WATERCOLOR]={type:"jpg",minZoom:3,maxZoom:16};
ol.source.Stamen=function(a){var b=new ol.Attribution('Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.'),c=a.provider;goog.isDef(a.flavor)&&(c+="-"+a.flavor);a=ol.source.StamenProviderConfig[a.provider];ol.source.XYZ.call(this,{attributions:[b],maxZoom:a.maxZoom,url:"http://{a-d}.tile.stamen.com/"+
c+"/{z}/{x}/{y}."+a.type})};goog.inherits(ol.source.Stamen,ol.source.XYZ);ol.source.StaticImage=function(a){var b=ol.source.StaticImage.createImageFunction(a.url),c=a.imageExtent,d=a.imageSize,e=c.getHeight()/d.height;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,imageUrlFunction:b,resolutions:[e]});this.image_=this.createImage(c,e,d)};goog.inherits(ol.source.StaticImage,ol.source.ImageSource);
ol.source.Stamen=function(a){var b=new ol.Attribution('Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.'),c=a.provider;goog.isDef(a.flavor)&&(c+="-"+a.flavor);a=ol.source.StamenProviderConfig[a.provider];ol.source.XYZ.call(this,{attributions:[b],maxZoom:a.maxZoom,opaque:!1,url:"http://{a-d}.tile.stamen.com/"+
c+"/{z}/{x}/{y}."+a.type})};goog.inherits(ol.source.Stamen,ol.source.XYZ);ol.source.StaticImage=function(a){var b=ol.source.StaticImage.createImageFunction(a.url),c=a.imageExtent,d=a.imageSize,e=c.getHeight()/d.height,f=goog.isDef(a.projection)?a.projection:null;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,imageUrlFunction:b,resolutions:[e]});this.image_=this.createImage(c,e,d,f)};goog.inherits(ol.source.StaticImage,ol.source.ImageSource);
ol.source.StaticImage.prototype.getImage=function(a){return a.intersects(this.image_.getExtent())?this.image_:null};ol.source.StaticImage.createImageFunction=function(a){return function(){return a}};ol.tilejson={};ol.tilejson.grids_=[];var grid=function(a){ol.tilejson.grids_.push(a)};goog.exportSymbol("grid",grid);ol.source.TileJSON=function(a){ol.source.ImageTileSource.call(this,{projection:ol.projection.getFromCode("EPSG:3857")});this.ready_=!1;this.deferred_=goog.net.jsloader.load(a.uri,{cleanupWhenDone:!0});this.deferred_.addCallback(this.handleTileJSONResponse,this)};goog.inherits(ol.source.TileJSON,ol.source.ImageTileSource);
ol.source.TileJSON.prototype.handleTileJSONResponse=function(){var a=ol.tilejson.grids_.pop(),b=ol.projection.getFromCode("EPSG:4326"),c,d;goog.isDef(a.bounds)?(c=a.bounds,c=new ol.Extent(c[0],c[1],c[2],c[3]),d=c.transform(ol.projection.getTransform(b,this.getProjection())),this.setExtent(d)):d=c=null;goog.isDef(a.scheme);goog.isDef(a.scheme)&&goog.asserts.assert("xyz"==a.scheme);var e=a.minzoom||0;goog.asserts.assert(0===e);var f=a.maxzoom||22,g=new ol.tilegrid.XYZ({maxZoom:f});this.tileGrid=g;this.tileUrlFunction=
ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.z<e||f<a.z)return null;var b=1<<a.z,c=-a.y-1;if(0>c||b<=c)return null;b=goog.math.modulo(a.x,b);return!goog.isNull(d)&&!g.getTileCoordExtent(new ol.TileCoord(a.z,b,a.y)).intersects(d)?null:new ol.TileCoord(a.z,b,c)},ol.TileUrlFunction.createFromTemplates(a.tiles));if(goog.isDef(a.attribution)){b=goog.isNull(d)?b.getExtent():d;c={};var h,i;for(h=e;h<=f;++h)i=h.toString(),c[i]=[g.getTileRangeForExtentAndZ(b,h)];this.setAttributions([new ol.Attribution(a.attribution,
c)])}this.ready_=!0;this.dispatchLoadEvent()};ol.source.TileJSON.prototype.isReady=function(){return this.ready_};ol.source.TiledWMS=function(a){var b=ol.projection.createProjection(a.projection,"EPSG:3857"),c=b.getExtent(),d=goog.isDef(a.extent)?a.extent:c,e=goog.isDef(a.version)?a.version:"1.3",f;f=goog.isDef(a.tileGrid)?a.tileGrid:ol.tilegrid.createForProjection(b,a.maxZoom);var g={SERVICE:"WMS",VERSION:e,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:!0};g["1.3"<=e?"CRS":"SRS"]=b.getCode();goog.object.extend(g,a.params);var h=b.getAxisOrientation();a.urls?(e=goog.array.map(a.urls,function(a){a=
goog.uri.utils.appendParamsFromMap(a,g);return ol.TileUrlFunction.createBboxParam(a,f,h)}),e=ol.TileUrlFunction.createFromTileUrlFunctions(e)):a.url?(e=goog.uri.utils.appendParamsFromMap(a.url,g),e=ol.TileUrlFunction.createBboxParam(e,f,h)):e=ol.TileUrlFunction.nullTileUrlFunction;ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:d,tileGrid:f,projection:b,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(a){if(f.getResolutions().length<=
a.z)return null;var b=a.x,e=f.getTileCoordExtent(a);d.minX===c.minX&&d.maxX===c.maxX&&(e=Math.ceil((d.maxX-d.minX)/(e.maxX-e.minX)),b=goog.math.modulo(b,e),e=f.getTileCoordExtent(new ol.TileCoord(a.z,b,a.y)));return!e.intersects(d)?null:new ol.TileCoord(a.z,b,a.y)},e)})};goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.sphere.WGS84=new ol.Sphere(6378137);ol.AnchoredElementOptionsType={};ol.MapOptionsType={};ol.View2DOptionsType={};ol.animation.BounceOptionsType={};ol.animation.PanOptionsType={};ol.animation.RotateOptionsType={};ol.animation.ZoomOptionsType={};ol.control.AttributionOptionsType={};ol.control.MousePositionOptionsType={};ol.control.ZoomOptionsType={};ol.layer.LayerOptionsType={};ol.source.BingMapsOptionsType={};ol.source.DebugTileSourceOptionsType={};ol.source.SingleImageWMSOptionsType={};ol.source.StamenOptionsType={};
ol.source.StaticImageOptionsType={};ol.source.TiledWMSOptionsType={};ol.tilegrid.TileGridOptionsType={};ol.tilegrid.XYZOptionsType={};
c)])}this.ready_=!0;this.dispatchLoadEvent()};ol.source.TileJSON.prototype.isReady=function(){return this.ready_};ol.source.TiledWMS=function(a){goog.isDef(a.tileGrid);var b=a.version,c;a.urls?(c=goog.array.map(a.urls,function(c){return ol.TileUrlFunction.createWMSParams(c,a.params,b)}),c=ol.TileUrlFunction.createFromTileUrlFunctions(c)):c=a.url?ol.TileUrlFunction.createWMSParams(a.url,a.params,b):ol.TileUrlFunction.nullTileUrlFunction;var d=goog.isDef(a.transparent)?a.transparent:!0;ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,tileGrid:a.tileGrid,
opaque:!d,projection:a.projection,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(b,c,d){if(c.getResolutions().length<=b.z)return null;var h=b.x,i=c.getTileCoordExtent(b),l=d.getExtent(),d=goog.isDef(a.extent)?a.extent:l;d.minX===l.minX&&d.maxX===l.maxX&&(i=Math.ceil((d.maxX-d.minX)/(i.maxX-i.minX)),h=goog.math.modulo(h,i),i=c.getTileCoordExtent(new ol.TileCoord(b.z,h,b.y)));return!i.intersects(d)?null:new ol.TileCoord(b.z,h,b.y)},c)})};goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.sphere.WGS84=new ol.Sphere(6378137);ol.AnchoredElementOptionsType={};ol.MapOptionsType={};ol.View2DOptionsType={};ol.animation.BounceOptionsType={};ol.animation.PanOptionsType={};ol.animation.RotateOptionsType={};ol.animation.ZoomOptionsType={};ol.control.AttributionOptionsType={};ol.control.MousePositionOptionsType={};ol.control.ScaleLineOptionsType={};ol.control.ZoomOptionsType={};ol.layer.LayerOptionsType={};ol.source.BingMapsOptionsType={};ol.source.DebugTileSourceOptionsType={};ol.source.SingleImageWMSOptionsType={};
ol.source.StamenOptionsType={};ol.source.StaticImageOptionsType={};ol.source.TiledWMSOptionsType={};ol.tilegrid.TileGridOptionsType={};ol.tilegrid.XYZOptionsType={};
+19679 -1799
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
.ol-attribution{position:absolute;font-size:10px;text-align:right;color:#eee;bottom:0;right:0;background:rgba(0,60,136,0.3);font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;padding:2px 4px}.ol-attribution a{color:white;text-decoration:none}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:"\2003"}.ol-dragbox{position:absolute;border:2px solid red}.ol-renderer-webgl-canvas{width:100%;height:100%}.ol-viewport .ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ol-zoom{position:absolute;top:8px;left:8px;background:rgba(255,255,255,0.4);border-radius:4px;padding:2px}.ol-zoom a{display:block;margin:1px;padding:0;color:white;font-size:18px;font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;font-weight:bold;text-decoration:none;text-align:center;height:22px;width:22px;line-height:19px;background:rgba(0,60,136,0.5)}.ol-zoom a:hover{background:rgba(0,60,136,0.7)}.ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom-in:before{content:"+"}.ol-zoom-out{border-radius:0 0 2px 2px}.ol-zoom-out:before{content:"\2212"}
.ol-attribution{position:absolute;font-size:10px;text-align:right;color:#eee;bottom:0;right:0;background:rgba(0,60,136,0.3);font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;padding:2px 4px}.ol-attribution a{color:white;text-decoration:none}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:"\2003"}.ol-dragbox{position:absolute;border:2px solid red}.ol-renderer-webgl-canvas{width:100%;height:100%}.ol-scale-line{background:rgba(0,60,136,0.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;text-align:center;margin:1px;padding:0 2px}.ol-viewport .ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ol-zoom{position:absolute;top:8px;left:8px;background:rgba(255,255,255,0.4);border-radius:4px;padding:2px}.ol-zoom a{display:block;margin:1px;padding:0;color:white;font-size:18px;font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;font-weight:bold;text-decoration:none;text-align:center;height:22px;width:22px;line-height:19px;background:rgba(0,60,136,0.5)}.ol-zoom a:hover{background:rgba(0,60,136,0.7)}.ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom-in:before{content:"+"}.ol-zoom-out{border-radius:0 0 2px 2px}.ol-zoom-out:before{content:"\2212"}
+219 -216
View File
@@ -1,234 +1,237 @@
(function(){var h=void 0,i=!0,k=null,l=!1;function aa(){return function(a){return a}}function p(a){return function(){return this[a]}}var s,v=this;function x(){}function ba(a){a.Ya=function(){return a.lc?a.lc:a.lc=new a}}
function ca(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}function y(a){return a!==h}function da(a){return"array"==ca(a)}function ea(a){var b=ca(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ga(a){return"string"==typeof a}function ha(a){return"function"==ca(a)}function ia(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function z(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0;
(function(){var h=void 0,i=!0,k=null,l=!1;function aa(){return function(a){return a}}function n(a){return function(){return this[a]}}var p,w=this;function ba(){}function ca(a){a.Xa=function(){return a.oc?a.oc:a.oc=new a}}
function da(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}function x(a){return a!==h}function ea(a){return"array"==da(a)}function fa(a){var b=da(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ga(a){return"string"==typeof a}function ha(a){return"function"==da(a)}function ia(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function y(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0;
function la(a,b,c){return a.call.apply(a.bind,arguments)}function ma(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function na(a,b,c){na=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?la:ma;return na.apply(k,arguments)}
function oa(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}}var pa=Date.now||function(){return+new Date};function A(a,b){var c=a.split("."),d=v;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&y(b)?d[e]=b:d=d[e]?d[e]:d[e]={}}function B(a,b){function c(){}c.prototype=b.prototype;a.v=b.prototype;a.prototype=new c};function qa(a){Error.captureStackTrace?Error.captureStackTrace(this,qa):this.stack=Error().stack||"";a&&(this.message=String(a))}B(qa,Error);qa.prototype.name="CustomError";function ra(a){if(!sa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ta,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ua,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(va,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(wa,"&quot;"));return a}var ta=/&/g,ua=/</g,va=/>/g,wa=/\"/g,sa=/[&<>\"]/;var xa=Array.prototype,ya=xa.indexOf?function(a,b,c){return xa.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(ga(a))return!ga(b)||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},C=xa.forEach?function(a,b,c){xa.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=ga(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},za=xa.map?function(a,b,c){return xa.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=
ga(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Aa=xa.some?function(a,b,c){return xa.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=ga(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return i;return l};function Ba(a){if(!da(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0}function Ca(a,b){var c=ya(a,b),d;(d=0<=c)&&xa.splice.call(a,c,1);return d}function Da(a){return xa.concat.apply(xa,arguments)}
function Ea(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Fa(a,b,c,d){xa.splice.apply(a,Ga(arguments,1))}function Ga(a,b,c){return 2>=arguments.length?xa.slice.call(a,b):xa.slice.call(a,b,c)}function Ha(a){xa.sort.call(a,Ia)}function Ia(a,b){return a>b?1:a<b?-1:0};function Ja(a,b,c){for(var d in a)b.call(c,a[d],d,a)}function Ra(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function Sa(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function Ta(a){for(var b in a)return l;return i}var Ua="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function Va(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ua.length;f++)c=Ua[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Wa(a){if("function"==typeof a.N)return a.N();if(ga(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Ra(a)};function Xa(a,b){this.b={};this.a=[];var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)Ya(this,arguments[d],arguments[d+1])}else if(a){a instanceof Xa?(c=a.V(),d=a.N()):(c=Sa(a),d=Ra(a));for(var e=0;e<c.length;e++)Ya(this,c[e],d[e])}}s=Xa.prototype;s.n=0;s.Yb=0;s.Z=p("n");s.N=function(){Za(this);for(var a=[],b=0;b<this.a.length;b++)a.push(this.b[this.a[b]]);return a};s.V=function(){Za(this);return this.a.concat()};s.Ha=function(){return 0==this.n};
s.clear=function(){this.b={};this.Yb=this.n=this.a.length=0};s.remove=function(a){return $a(this.b,a)?(delete this.b[a],this.n--,this.Yb++,this.a.length>2*this.n&&Za(this),i):l};function Za(a){if(a.n!=a.a.length){for(var b=0,c=0;b<a.a.length;){var d=a.a[b];$a(a.b,d)&&(a.a[c++]=d);b++}a.a.length=c}if(a.n!=a.a.length){for(var e={},c=b=0;b<a.a.length;)d=a.a[b],$a(e,d)||(a.a[c++]=d,e[d]=1),b++;a.a.length=c}}function ab(a,b){return $a(a.b,b)?a.b[b]:h}
function Ya(a,b,c){$a(a.b,b)||(a.n++,a.a.push(b),a.Yb++);a.b[b]=c}s.R=function(){return new Xa(this)};function $a(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var bb,cb,db,eb,fb,gb,hb;function ib(){return v.navigator?v.navigator.userAgent:k}function jb(){return v.navigator}eb=db=cb=bb=l;var kb;if(kb=ib()){var lb=jb();bb=0==kb.indexOf("Opera");cb=!bb&&-1!=kb.indexOf("MSIE");db=!bb&&-1!=kb.indexOf("WebKit");eb=!bb&&!db&&"Gecko"==lb.product}var mb=bb,F=cb,nb=eb,G=db,ob,pb=jb();ob=pb&&pb.platform||"";fb=-1!=ob.indexOf("Mac");gb=-1!=ob.indexOf("Win");hb=-1!=ob.indexOf("Linux");var qb=!!jb()&&-1!=(jb().appVersion||"").indexOf("X11"),rb;
a:{var sb="",tb;if(mb&&v.opera)var ub=v.opera.version,sb="function"==typeof ub?ub():ub;else if(nb?tb=/rv\:([^\);]+)(\)|;)/:F?tb=/MSIE\s+([^\);]+)(\)|;)/:G&&(tb=/WebKit\/(\S+)/),tb)var vb=tb.exec(ib()),sb=vb?vb[1]:"";if(F){var wb,xb=v.document;wb=xb?xb.documentMode:h;if(wb>parseFloat(sb)){rb=String(wb);break a}}rb=sb}var yb={};
function zb(a){var b;if(!(b=yb[a])){b=0;for(var c=String(rb).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",j=d[f]||"",m=RegExp("(\\d*)(\\D*)","g"),q=RegExp("(\\d*)(\\D*)","g");do{var n=m.exec(g)||["","",""],r=q.exec(j)||["","",""];if(0==n[0].length&&0==r[0].length)break;b=((0==n[1].length?0:parseInt(n[1],10))<(0==r[1].length?0:parseInt(r[1],10))?-1:(0==n[1].length?0:parseInt(n[1],
10))>(0==r[1].length?0:parseInt(r[1],10))?1:0)||((0==n[2].length)<(0==r[2].length)?-1:(0==n[2].length)>(0==r[2].length)?1:0)||(n[2]<r[2]?-1:n[2]>r[2]?1:0)}while(0==b)}b=yb[a]=0<=b}return b}var Ab={};function Bb(a){return Ab[a]||(Ab[a]=F&&!!document.documentMode&&document.documentMode>=a)};var Cb,Db=!F||Bb(9);!nb&&!F||F&&Bb(9)||nb&&zb("1.9.1");F&&zb("9");function Eb(a,b){var c;c=a.className;c=ga(c)&&c.match(/\S+/g)||[];for(var d=Ga(arguments,1),e=c.length+d.length,f=c,g=0;g<d.length;g++)0<=ya(f,d[g])||f.push(d[g]);a.className=c.join(" ");return c.length==e};function Fb(a,b,c){return Math.min(Math.max(a,b),c)}function Gb(a,b){var c=a%b;return 0>c*b?c+b:c};function Hb(a,b){this.x=y(a)?a:0;this.y=y(b)?b:0}Hb.prototype.R=function(){return new Hb(this.x,this.y)};function Ib(a,b){this.width=a;this.height=b}s=Ib.prototype;s.R=function(){return new Ib(this.width,this.height)};s.Ha=function(){return!(this.width*this.height)};s.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};s.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};s.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Jb(a){return a?new Kb(Lb(a)):Cb||(Cb=new Kb)}function Mb(a,b){Ja(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in Nb?a.setAttribute(Nb[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}var Nb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};
function Ob(a){a=a.document.documentElement;return new Ib(a.clientWidth,a.clientHeight)}function Pb(a,b,c){var d=arguments,e=document,f=d[0],g=d[1];if(!Db&&g&&(g.name||g.type)){f=["<",f];g.name&&f.push(' name="',ra(g.name),'"');if(g.type){f.push(' type="',ra(g.type),'"');var j={};Va(j,g);delete j.type;g=j}f.push(">");f=f.join("")}f=e.createElement(f);g&&(ga(g)?f.className=g:da(g)?Eb.apply(k,[f].concat(g)):Mb(f,g));2<d.length&&Qb(e,f,d,2);return f}
function Qb(a,b,c,d){function e(c){c&&b.appendChild(ga(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];if(ea(f)&&!(ia(f)&&0<f.nodeType)){var g=C,j;a:{if((j=f)&&"number"==typeof j.length){if(ia(j)){j="function"==typeof j.item||"string"==typeof j.item;break a}if(ha(j)){j="function"==typeof j.item;break a}}j=l}g(j?Ea(f):f,e)}else e(f)}}function Rb(a){return document.createElement(a)}function Sb(a,b){Qb(Lb(a),a,arguments,1)}function Tb(a){for(var b;b=a.firstChild;)a.removeChild(b)}
function Ub(a,b){a.insertBefore(b,a.childNodes[0]||k)}function Vb(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function Lb(a){return 9==a.nodeType?a:a.ownerDocument||a.document}function Kb(a){this.a=a||v.document||document}Kb.prototype.createElement=function(a){return this.a.createElement(a)};Kb.prototype.createTextNode=function(a){return this.a.createTextNode(a)};
function Wb(a){var b=a.a,a=!G?b.documentElement:b.body,b=b.parentWindow||b.defaultView;return new Hb(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)}Kb.prototype.appendChild=function(a,b){a.appendChild(b)};Kb.prototype.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};var Xb=!F||Bb(9),Yb=!F||Bb(9),Zb=F&&!zb("9");!G||zb("528");nb&&zb("1.9b")||F&&zb("8")||mb&&zb("9.5")||G&&zb("528");nb&&!zb("8")||F&&zb("9");function $b(){0!=ac&&(this.ne=Error().stack,bc[z(this)]=this)}var ac=0,bc={};$b.prototype.xc=l;$b.prototype.Cb=function(){if(!this.xc&&(this.xc=i,this.q(),0!=ac)){var a=z(this);delete bc[a]}};function cc(a,b){a.Ia||(a.Ia=[]);a.Ia.push(b)}$b.prototype.q=function(){this.Ia&&dc.apply(k,this.Ia);if(this.Hc)for(;this.Hc.length;)this.Hc.shift()()};function ec(a){a&&"function"==typeof a.Cb&&a.Cb()}function dc(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];ea(d)?dc.apply(k,d):ec(d)}};function fc(a,b){this.type=a;this.c=this.target=b}s=fc.prototype;s.Cb=function(){};s.na=l;s.bb=l;s.sb=i;s.Fb=function(){this.na=i};s.B=function(){this.bb=i;this.sb=l};function gc(a){a.Fb()};function hc(a){hc[" "](a);return a}hc[" "]=x;function ic(a,b){a&&jc(this,a,b)}B(ic,fc);var kc=[1,4,2];s=ic.prototype;s.target=k;s.hd=k;s.fd=0;s.gd=0;s.clientX=0;s.clientY=0;s.jd=0;s.kd=0;s.dd=0;s.ta=0;s.$a=0;s.ab=l;s.aa=l;s.ka=l;s.ed=l;s.pb=l;s.K=k;
function jc(a,b,c){var d=a.type=b.type;fc.call(a,d);a.target=b.target||b.srcElement;a.c=c;if(c=b.relatedTarget){if(nb){var e;a:{try{hc(c.nodeName);e=i;break a}catch(f){}e=l}e||(c=k)}}else"mouseover"==d?c=b.fromElement:"mouseout"==d&&(c=b.toElement);a.hd=c;a.fd=G||b.offsetX!==h?b.offsetX:b.layerX;a.gd=G||b.offsetY!==h?b.offsetY:b.layerY;a.clientX=b.clientX!==h?b.clientX:b.pageX;a.clientY=b.clientY!==h?b.clientY:b.pageY;a.jd=b.screenX||0;a.kd=b.screenY||0;a.dd=b.button;a.ta=b.keyCode||0;a.$a=b.charCode||
("keypress"==d?b.keyCode:0);a.ab=b.ctrlKey;a.aa=b.altKey;a.ka=b.shiftKey;a.ed=b.metaKey;a.pb=fb?b.metaKey:b.ctrlKey;a.a=b.state;a.K=b;b.defaultPrevented&&a.B();delete a.na}function lc(a){return(Xb?0==a.K.button:"click"==a.type?i:!!(a.K.button&kc[0]))&&!(G&&fb&&a.ab)}s.Fb=function(){ic.v.Fb.call(this);this.K.stopPropagation?this.K.stopPropagation():this.K.cancelBubble=i};
s.B=function(){ic.v.B.call(this);var a=this.K;if(a.preventDefault)a.preventDefault();else if(a.returnValue=l,Zb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};s.bd=p("K");function mc(){}var nc=0;mc.prototype.key=0;mc.prototype.wa=l;mc.prototype.a=l;mc.prototype.handleEvent=function(a){return this.b?this.Ja.call(this.Nb||this.src,a):this.Ja.handleEvent.call(this.Ja,a)};var oc={},pc={},qc={},rc={};
function H(a,b,c,d,e){if(b){if(da(b)){for(var f=0;f<b.length;f++)H(a,b[f],c,d,e);return k}var d=!!d,g=pc;b in g||(g[b]={n:0,P:0});g=g[b];d in g||(g[d]={n:0,P:0},g.n++);var g=g[d],j=z(a),m;g.P++;if(g[j]){m=g[j];for(f=0;f<m.length;f++)if(g=m[f],g.Ja==c&&g.Nb==e){if(g.wa)break;return m[f].key}}else m=g[j]=[],g.n++;var q=sc,n=Yb?function(a){return q.call(n.src,n.key,a)}:function(a){a=q.call(n.src,n.key,a);if(!a)return a},f=n;f.src=a;var r=g=new mc;if(ha(c))r.b=i;else if(c&&c.handleEvent&&ha(c.handleEvent))r.b=
l;else throw Error("Invalid listener argument");r.Ja=c;r.c=f;r.src=a;r.type=b;r.capture=!!d;r.Nb=e;r.a=l;r.key=++nc;r.wa=l;c=g.key;f.key=c;m.push(g);oc[c]=g;qc[j]||(qc[j]=[]);qc[j].push(g);a.addEventListener?(a==v||!a.dc)&&a.addEventListener(b,f,d):a.attachEvent(b in rc?rc[b]:rc[b]="on"+b,f);return c}throw Error("Invalid event type");}function tc(a,b,c,d,e){if(da(b)){for(var f=0;f<b.length;f++)tc(a,b[f],c,d,e);return k}a=H(a,b,c,d,e);oc[a].a=i;return a}
function uc(a,b,c,d,e){if(da(b))for(var f=0;f<b.length;f++)uc(a,b[f],c,d,e);else{d=!!d;a:{f=pc;if(b in f&&(f=f[b],d in f&&(f=f[d],a=z(a),f[a]))){a=f[a];break a}a=k}if(a)for(f=0;f<a.length;f++)if(a[f].Ja==c&&a[f].capture==d&&a[f].Nb==e){I(a[f].key);break}}}
function I(a){if(!oc[a])return l;var b=oc[a];if(b.wa)return l;var c=b.src,d=b.type,e=b.c,f=b.capture;c.removeEventListener?(c==v||!c.dc)&&c.removeEventListener(d,e,f):c.detachEvent&&c.detachEvent(d in rc?rc[d]:rc[d]="on"+d,e);c=z(c);qc[c]&&(e=qc[c],Ca(e,b),0==e.length&&delete qc[c]);b.wa=i;if(b=pc[d][f][c])b.qc=i,vc(d,f,c,b);delete oc[a];return i}
function vc(a,b,c,d){if(!d.lb&&d.qc){for(var e=0,f=0;e<d.length;e++)d[e].wa?d[e].c.src=k:(e!=f&&(d[f]=d[e]),f++);d.length=f;d.qc=l;0==f&&(delete pc[a][b][c],pc[a][b].n--,0==pc[a][b].n&&(delete pc[a][b],pc[a].n--),0==pc[a].n&&delete pc[a])}}function wc(a,b,c,d,e){var f=1,b=z(b);if(a[b]){a.P--;a=a[b];a.lb?a.lb++:a.lb=1;try{for(var g=a.length,j=0;j<g;j++){var m=a[j];m&&!m.wa&&(f&=xc(m,e)!==l)}}finally{a.lb--,vc(c,d,b,a)}}return Boolean(f)}function xc(a,b){a.a&&I(a.key);return a.handleEvent(b)}
function J(a,b){var c=b.type||b,d=pc;if(!(c in d))return i;if(ga(b))b=new fc(b,a);else if(b instanceof fc)b.target=b.target||a;else{var e=b,b=new fc(c,a);Va(b,e)}var e=1,f,d=d[c],c=i in d,g;if(c){f=[];for(g=a;g;g=g.Qb)f.push(g);g=d[i];g.P=g.n;for(var j=f.length-1;!b.na&&0<=j&&g.P;j--)b.c=f[j],e&=wc(g,f[j],b.type,i,b)&&b.sb!=l}if(l in d)if(g=d[l],g.P=g.n,c)for(j=0;!b.na&&j<f.length&&g.P;j++)b.c=f[j],e&=wc(g,f[j],b.type,l,b)&&b.sb!=l;else for(d=a;!b.na&&d&&g.P;d=d.Qb)b.c=d,e&=wc(g,d,b.type,l,b)&&b.sb!=
function oa(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}}var pa=Date.now||function(){return+new Date};function A(a,b){var c=a.split("."),d=w;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&x(b)?d[e]=b:d=d[e]?d[e]:d[e]={}}function B(a,b){function c(){}c.prototype=b.prototype;a.v=b.prototype;a.prototype=new c};function qa(a){Error.captureStackTrace?Error.captureStackTrace(this,qa):this.stack=Error().stack||"";a&&(this.message=String(a))}B(qa,Error);qa.prototype.name="CustomError";function ra(a){if(!ta.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ua,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(va,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(wa,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(xa,"&quot;"));return a}var ua=/&/g,va=/</g,wa=/>/g,xa=/\"/g,ta=/[&<>\"]/;var ya=Array.prototype,za=ya.indexOf?function(a,b,c){return ya.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(ga(a))return!ga(b)||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},C=ya.forEach?function(a,b,c){ya.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=ga(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},Aa=ya.map?function(a,b,c){return ya.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=
ga(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Ba=ya.some?function(a,b,c){return ya.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=ga(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return i;return l};function Ca(a){if(!ea(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0}function Da(a,b){var c=za(a,b),d;(d=0<=c)&&ya.splice.call(a,c,1);return d}function Ea(a){return ya.concat.apply(ya,arguments)}
function Fa(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Ga(a,b,c,d){ya.splice.apply(a,Ha(arguments,1))}function Ha(a,b,c){return 2>=arguments.length?ya.slice.call(a,b):ya.slice.call(a,b,c)}function Ia(a){ya.sort.call(a,Ja)}function Ja(a,b){return a>b?1:a<b?-1:0};function Ka(a,b,c){for(var d in a)b.call(c,a[d],d,a)}function La(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function Ma(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function Sa(a){for(var b in a)return l;return i}var Ta="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function Ua(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ta.length;f++)c=Ta[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Va(a){if("function"==typeof a.M)return a.M();if(ga(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return La(a)};function Wa(a,b){this.b={};this.a=[];var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)Xa(this,arguments[d],arguments[d+1])}else if(a){a instanceof Wa?(c=a.V(),d=a.M()):(c=Ma(a),d=La(a));for(var e=0;e<c.length;e++)Xa(this,c[e],d[e])}}p=Wa.prototype;p.o=0;p.Xb=0;p.Z=n("o");p.M=function(){Ya(this);for(var a=[],b=0;b<this.a.length;b++)a.push(this.b[this.a[b]]);return a};p.V=function(){Ya(this);return this.a.concat()};p.Ha=function(){return 0==this.o};
p.clear=function(){this.b={};this.Xb=this.o=this.a.length=0};p.remove=function(a){return Za(this.b,a)?(delete this.b[a],this.o--,this.Xb++,this.a.length>2*this.o&&Ya(this),i):l};function Ya(a){if(a.o!=a.a.length){for(var b=0,c=0;b<a.a.length;){var d=a.a[b];Za(a.b,d)&&(a.a[c++]=d);b++}a.a.length=c}if(a.o!=a.a.length){for(var e={},c=b=0;b<a.a.length;)d=a.a[b],Za(e,d)||(a.a[c++]=d,e[d]=1),b++;a.a.length=c}}function $a(a,b){return Za(a.b,b)?a.b[b]:h}
function Xa(a,b,c){Za(a.b,b)||(a.o++,a.a.push(b),a.Xb++);a.b[b]=c}p.Q=function(){return new Wa(this)};function Za(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var ab,bb,cb,db,eb,fb,gb;function hb(){return w.navigator?w.navigator.userAgent:k}function ib(){return w.navigator}db=cb=bb=ab=l;var jb;if(jb=hb()){var kb=ib();ab=0==jb.indexOf("Opera");bb=!ab&&-1!=jb.indexOf("MSIE");cb=!ab&&-1!=jb.indexOf("WebKit");db=!ab&&!cb&&"Gecko"==kb.product}var lb=ab,F=bb,mb=db,G=cb,nb,ob=ib();nb=ob&&ob.platform||"";eb=-1!=nb.indexOf("Mac");fb=-1!=nb.indexOf("Win");gb=-1!=nb.indexOf("Linux");var pb=!!ib()&&-1!=(ib().appVersion||"").indexOf("X11"),qb;
a:{var rb="",sb;if(lb&&w.opera)var tb=w.opera.version,rb="function"==typeof tb?tb():tb;else if(mb?sb=/rv\:([^\);]+)(\)|;)/:F?sb=/MSIE\s+([^\);]+)(\)|;)/:G&&(sb=/WebKit\/(\S+)/),sb)var ub=sb.exec(hb()),rb=ub?ub[1]:"";if(F){var vb,wb=w.document;vb=wb?wb.documentMode:h;if(vb>parseFloat(rb)){qb=String(vb);break a}}qb=rb}var xb={};
function yb(a){var b;if(!(b=xb[a])){b=0;for(var c=String(qb).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",j=d[f]||"",m=RegExp("(\\d*)(\\D*)","g"),r=RegExp("(\\d*)(\\D*)","g");do{var s=m.exec(g)||["","",""],q=r.exec(j)||["","",""];if(0==s[0].length&&0==q[0].length)break;b=((0==s[1].length?0:parseInt(s[1],10))<(0==q[1].length?0:parseInt(q[1],10))?-1:(0==s[1].length?0:parseInt(s[1],
10))>(0==q[1].length?0:parseInt(q[1],10))?1:0)||((0==s[2].length)<(0==q[2].length)?-1:(0==s[2].length)>(0==q[2].length)?1:0)||(s[2]<q[2]?-1:s[2]>q[2]?1:0)}while(0==b)}b=xb[a]=0<=b}return b}var zb={};function Ab(a){return zb[a]||(zb[a]=F&&!!document.documentMode&&document.documentMode>=a)};var Bb,Cb=!F||Ab(9);!mb&&!F||F&&Ab(9)||mb&&yb("1.9.1");F&&yb("9");function Db(a,b){var c;c=a.className;c=ga(c)&&c.match(/\S+/g)||[];for(var d=Ha(arguments,1),e=c.length+d.length,f=c,g=0;g<d.length;g++)0<=za(f,d[g])||f.push(d[g]);a.className=c.join(" ");return c.length==e};function Eb(a,b,c){return Math.min(Math.max(a,b),c)}function Fb(a,b){var c=a%b;return 0>c*b?c+b:c};function Gb(a,b){this.x=x(a)?a:0;this.y=x(b)?b:0}Gb.prototype.Q=function(){return new Gb(this.x,this.y)};function Hb(a,b){this.width=a;this.height=b}p=Hb.prototype;p.Q=function(){return new Hb(this.width,this.height)};p.Ha=function(){return!(this.width*this.height)};p.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};p.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};p.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Ib(a){return a?new Jb(Kb(a)):Bb||(Bb=new Jb)}function Lb(a,b){Ka(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in Mb?a.setAttribute(Mb[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}var Mb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};
function Nb(a){a=a.document.documentElement;return new Hb(a.clientWidth,a.clientHeight)}function Ob(a,b,c){var d=arguments,e=document,f=d[0],g=d[1];if(!Cb&&g&&(g.name||g.type)){f=["<",f];g.name&&f.push(' name="',ra(g.name),'"');if(g.type){f.push(' type="',ra(g.type),'"');var j={};Ua(j,g);delete j.type;g=j}f.push(">");f=f.join("")}f=e.createElement(f);g&&(ga(g)?f.className=g:ea(g)?Db.apply(k,[f].concat(g)):Lb(f,g));2<d.length&&Pb(e,f,d,2);return f}
function Pb(a,b,c,d){function e(c){c&&b.appendChild(ga(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];if(fa(f)&&!(ia(f)&&0<f.nodeType)){var g=C,j;a:{if((j=f)&&"number"==typeof j.length){if(ia(j)){j="function"==typeof j.item||"string"==typeof j.item;break a}if(ha(j)){j="function"==typeof j.item;break a}}j=l}g(j?Fa(f):f,e)}else e(f)}}function Qb(a){return document.createElement(a)}function Rb(a,b){Pb(Kb(a),a,arguments,1)}function Sb(a){for(var b;b=a.firstChild;)a.removeChild(b)}
function Tb(a,b){a.insertBefore(b,a.childNodes[0]||k)}function Ub(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function Kb(a){return 9==a.nodeType?a:a.ownerDocument||a.document}function Jb(a){this.a=a||w.document||document}Jb.prototype.createElement=function(a){return this.a.createElement(a)};Jb.prototype.createTextNode=function(a){return this.a.createTextNode(a)};
function Vb(a){var b=a.a,a=!G?b.documentElement:b.body,b=b.parentWindow||b.defaultView;return new Gb(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)}Jb.prototype.appendChild=function(a,b){a.appendChild(b)};Jb.prototype.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};var Wb=!F||Ab(9),Xb=!F||Ab(9),Yb=F&&!yb("9");!G||yb("528");mb&&yb("1.9b")||F&&yb("8")||lb&&yb("9.5")||G&&yb("528");mb&&!yb("8")||F&&yb("9");function Zb(){0!=$b&&(this.oe=Error().stack,ac[y(this)]=this)}var $b=0,ac={};Zb.prototype.Ac=l;Zb.prototype.Bb=function(){if(!this.Ac&&(this.Ac=i,this.r(),0!=$b)){var a=y(this);delete ac[a]}};function bc(a,b){a.na||(a.na=[]);a.na.push(b)}Zb.prototype.r=function(){this.na&&cc.apply(k,this.na);if(this.Kc)for(;this.Kc.length;)this.Kc.shift()()};function dc(a){a&&"function"==typeof a.Bb&&a.Bb()}function cc(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];fa(d)?cc.apply(k,d):dc(d)}};function ec(a,b){this.type=a;this.c=this.target=b}p=ec.prototype;p.Bb=function(){};p.pa=l;p.ab=l;p.rb=i;p.Fb=function(){this.pa=i};p.C=function(){this.ab=i;this.rb=l};function fc(a){a.Fb()};function gc(a){gc[" "](a);return a}gc[" "]=ba;function hc(a,b){a&&ic(this,a,b)}B(hc,ec);var jc=[1,4,2];p=hc.prototype;p.target=k;p.md=k;p.kd=0;p.ld=0;p.clientX=0;p.clientY=0;p.nd=0;p.od=0;p.hd=0;p.va=0;p.Za=0;p.$a=l;p.ba=l;p.ma=l;p.jd=l;p.ob=l;p.K=k;
function ic(a,b,c){var d=a.type=b.type;ec.call(a,d);a.target=b.target||b.srcElement;a.c=c;if(c=b.relatedTarget){if(mb){var e;a:{try{gc(c.nodeName);e=i;break a}catch(f){}e=l}e||(c=k)}}else"mouseover"==d?c=b.fromElement:"mouseout"==d&&(c=b.toElement);a.md=c;a.kd=G||b.offsetX!==h?b.offsetX:b.layerX;a.ld=G||b.offsetY!==h?b.offsetY:b.layerY;a.clientX=b.clientX!==h?b.clientX:b.pageX;a.clientY=b.clientY!==h?b.clientY:b.pageY;a.nd=b.screenX||0;a.od=b.screenY||0;a.hd=b.button;a.va=b.keyCode||0;a.Za=b.charCode||
("keypress"==d?b.keyCode:0);a.$a=b.ctrlKey;a.ba=b.altKey;a.ma=b.shiftKey;a.jd=b.metaKey;a.ob=eb?b.metaKey:b.ctrlKey;a.a=b.state;a.K=b;b.defaultPrevented&&a.C();delete a.pa}function kc(a){return(Wb?0==a.K.button:"click"==a.type?i:!!(a.K.button&jc[0]))&&!(G&&eb&&a.$a)}p.Fb=function(){hc.v.Fb.call(this);this.K.stopPropagation?this.K.stopPropagation():this.K.cancelBubble=i};
p.C=function(){hc.v.C.call(this);var a=this.K;if(a.preventDefault)a.preventDefault();else if(a.returnValue=l,Yb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};p.fd=n("K");function lc(){}var mc=0;lc.prototype.key=0;lc.prototype.ya=l;lc.prototype.a=l;lc.prototype.handleEvent=function(a){return this.b?this.Ia.call(this.Nb||this.src,a):this.Ia.handleEvent.call(this.Ia,a)};var nc={},oc={},pc={},qc={};
function H(a,b,c,d,e){if(b){if(ea(b)){for(var f=0;f<b.length;f++)H(a,b[f],c,d,e);return k}var d=!!d,g=oc;b in g||(g[b]={o:0,O:0});g=g[b];d in g||(g[d]={o:0,O:0},g.o++);var g=g[d],j=y(a),m;g.O++;if(g[j]){m=g[j];for(f=0;f<m.length;f++)if(g=m[f],g.Ia==c&&g.Nb==e){if(g.ya)break;return m[f].key}}else m=g[j]=[],g.o++;var r=rc,s=Xb?function(a){return r.call(s.src,s.key,a)}:function(a){a=r.call(s.src,s.key,a);if(!a)return a},f=s;f.src=a;var q=g=new lc;if(ha(c))q.b=i;else if(c&&c.handleEvent&&ha(c.handleEvent))q.b=
l;else throw Error("Invalid listener argument");q.Ia=c;q.c=f;q.src=a;q.type=b;q.capture=!!d;q.Nb=e;q.a=l;q.key=++mc;q.ya=l;c=g.key;f.key=c;m.push(g);nc[c]=g;pc[j]||(pc[j]=[]);pc[j].push(g);a.addEventListener?(a==w||!a.gc)&&a.addEventListener(b,f,d):a.attachEvent(b in qc?qc[b]:qc[b]="on"+b,f);return c}throw Error("Invalid event type");}function sc(a,b,c,d,e){if(ea(b)){for(var f=0;f<b.length;f++)sc(a,b[f],c,d,e);return k}a=H(a,b,c,d,e);nc[a].a=i;return a}
function tc(a,b,c,d,e){if(ea(b))for(var f=0;f<b.length;f++)tc(a,b[f],c,d,e);else{d=!!d;a:{f=oc;if(b in f&&(f=f[b],d in f&&(f=f[d],a=y(a),f[a]))){a=f[a];break a}a=k}if(a)for(f=0;f<a.length;f++)if(a[f].Ia==c&&a[f].capture==d&&a[f].Nb==e){J(a[f].key);break}}}
function J(a){if(!nc[a])return l;var b=nc[a];if(b.ya)return l;var c=b.src,d=b.type,e=b.c,f=b.capture;c.removeEventListener?(c==w||!c.gc)&&c.removeEventListener(d,e,f):c.detachEvent&&c.detachEvent(d in qc?qc[d]:qc[d]="on"+d,e);c=y(c);pc[c]&&(e=pc[c],Da(e,b),0==e.length&&delete pc[c]);b.ya=i;if(b=oc[d][f][c])b.tc=i,uc(d,f,c,b);delete nc[a];return i}
function uc(a,b,c,d){if(!d.kb&&d.tc){for(var e=0,f=0;e<d.length;e++)d[e].ya?d[e].c.src=k:(e!=f&&(d[f]=d[e]),f++);d.length=f;d.tc=l;0==f&&(delete oc[a][b][c],oc[a][b].o--,0==oc[a][b].o&&(delete oc[a][b],oc[a].o--),0==oc[a].o&&delete oc[a])}}function vc(a,b,c,d,e){var f=1,b=y(b);if(a[b]){a.O--;a=a[b];a.kb?a.kb++:a.kb=1;try{for(var g=a.length,j=0;j<g;j++){var m=a[j];m&&!m.ya&&(f&=wc(m,e)!==l)}}finally{a.kb--,uc(c,d,b,a)}}return Boolean(f)}function wc(a,b){a.a&&J(a.key);return a.handleEvent(b)}
function K(a,b){var c=b.type||b,d=oc;if(!(c in d))return i;if(ga(b))b=new ec(b,a);else if(b instanceof ec)b.target=b.target||a;else{var e=b,b=new ec(c,a);Ua(b,e)}var e=1,f,d=d[c],c=i in d,g;if(c){f=[];for(g=a;g;g=g.Qb)f.push(g);g=d[i];g.O=g.o;for(var j=f.length-1;!b.pa&&0<=j&&g.O;j--)b.c=f[j],e&=vc(g,f[j],b.type,i,b)&&b.rb!=l}if(l in d)if(g=d[l],g.O=g.o,c)for(j=0;!b.pa&&j<f.length&&g.O;j++)b.c=f[j],e&=vc(g,f[j],b.type,l,b)&&b.rb!=l;else for(d=a;!b.pa&&d&&g.O;d=d.Qb)b.c=d,e&=vc(g,d,b.type,l,b)&&b.rb!=
l;return Boolean(e)}
function sc(a,b){if(!oc[a])return i;var c=oc[a],d=c.type,e=pc;if(!(d in e))return i;var e=e[d],f,g;if(!Yb){var j;if(!(j=b))a:{j=["window","event"];for(var m=v;f=j.shift();)if(m[f]!=k)m=m[f];else{j=k;break a}j=m}f=j;j=i in e;m=l in e;if(j){if(0>f.keyCode||f.returnValue!=h)return i;a:{var q=l;if(0==f.keyCode)try{f.keyCode=-1;break a}catch(n){q=i}if(q||f.returnValue==h)f.returnValue=i}}q=new ic;jc(q,f,this);f=i;try{if(j){for(var r=[],t=q.c;t;t=t.parentNode)r.push(t);g=e[i];g.P=g.n;for(var u=r.length-
1;!q.na&&0<=u&&g.P;u--)q.c=r[u],f&=wc(g,r[u],d,i,q);if(m){g=e[l];g.P=g.n;for(u=0;!q.na&&u<r.length&&g.P;u++)q.c=r[u],f&=wc(g,r[u],d,l,q)}}else f=xc(c,q)}finally{r&&(r.length=0)}return f}d=new ic(b,this);return f=xc(c,d)};function yc(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}yc.prototype.R=function(){return new yc(this.top,this.right,this.bottom,this.left)};yc.prototype.contains=function(a){return!this||!a?l:a instanceof yc?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function zc(a,b){var c=Lb(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function Ac(a,b){return a.currentStyle?a.currentStyle[b]:k}function Bc(a,b){return zc(a,b)||Ac(a,b)||a.style&&a.style[b]}function Cc(a,b){var c,d,e=nb&&(fb||qb)&&zb("1.9");b instanceof Hb?(c=b.x,d=b.y):(c=b,d=h);a.style.left=Dc(c,e);a.style.top=Dc(d,e)}
function Ec(a){var b=a.getBoundingClientRect();F&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b}
function Fc(a){if(F&&!Bb(8))return a.offsetParent;for(var b=Lb(a),c=Bc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Bc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}function Gc(a,b){var c=Hc(a),d=Hc(b);return new Hb(c.x-d.x,c.y-d.y)}
function Hc(a){var b=new Hb;if(1==a.nodeType){if(a.getBoundingClientRect){var c=Ec(a);b.x=c.left;b.y=c.top}else{c=Wb(Jb(a));var d,e=Lb(a),f=Bc(a,"position"),g=nb&&e.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==f&&(d=e.getBoxObjectFor(a))&&(0>d.screenX||0>d.screenY),j=new Hb(0,0),m;d=e?Lb(e):document;if(m=F)if(m=!Bb(9))Jb(d),m=l;m=m?d.body:d.documentElement;if(a!=m)if(a.getBoundingClientRect)d=Ec(a),e=Wb(Jb(e)),j.x=d.left+e.x,j.y=d.top+e.y;else if(e.getBoxObjectFor&&!g)d=e.getBoxObjectFor(a),
e=e.getBoxObjectFor(m),j.x=d.screenX-e.screenX,j.y=d.screenY-e.screenY;else{g=a;do{j.x+=g.offsetLeft;j.y+=g.offsetTop;g!=a&&(j.x+=g.clientLeft||0,j.y+=g.clientTop||0);if(G&&"fixed"==Bc(g,"position")){j.x+=e.body.scrollLeft;j.y+=e.body.scrollTop;break}g=g.offsetParent}while(g&&g!=a);if(mb||G&&"absolute"==f)j.y-=e.body.offsetTop;for(g=a;(g=Fc(g))&&g!=e.body&&g!=m;)if(j.x-=g.scrollLeft,!mb||"TR"!=g.tagName)j.y-=g.scrollTop}b.x=j.x-c.x;b.y=j.y-c.y}if(nb&&!zb(12)){var q;F?q="-ms-transform":G?q="-webkit-transform":
mb?q="-o-transform":nb&&(q="-moz-transform");var n;q&&(n=Bc(a,q));n||(n=Bc(a,"transform"));n?(a=n.match(Ic),a=!a?new Hb(0,0):new Hb(parseFloat(a[1]),parseFloat(a[2]))):a=new Hb(0,0);b=new Hb(b.x+a.x,b.y+a.y)}}else q=ha(a.bd),n=a,a.targetTouches?n=a.targetTouches[0]:q&&a.K.targetTouches&&(n=a.K.targetTouches[0]),b.x=n.clientX,b.y=n.clientY;return b}function Dc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a}function Jc(a,b){a.style.display=b?"":"none"}
function Kc(a,b){Jb(Lb(a));if(F&&!zb("8")){var c=a.style,d;if(F){d=Lc(a,Ac(a,"paddingLeft"));var e=Lc(a,Ac(a,"paddingRight")),f=Lc(a,Ac(a,"paddingTop")),g=Lc(a,Ac(a,"paddingBottom"));d=new yc(f,e,g,d)}else d=zc(a,"paddingLeft"),e=zc(a,"paddingRight"),f=zc(a,"paddingTop"),g=zc(a,"paddingBottom"),d=new yc(parseFloat(f),parseFloat(e),parseFloat(g),parseFloat(d));if(F)var e=Mc(a,"borderLeft"),f=Mc(a,"borderRight"),g=Mc(a,"borderTop"),j=Mc(a,"borderBottom"),e=new yc(g,f,j,e);else e=zc(a,"borderLeftWidth"),
f=zc(a,"borderRightWidth"),g=zc(a,"borderTopWidth"),j=zc(a,"borderBottomWidth"),e=new yc(parseFloat(g),parseFloat(f),parseFloat(j),parseFloat(e));c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c=a.style,nb?c.MozBoxSizing="border-box":G?c.WebkitBoxSizing="border-box":c.boxSizing="border-box",c.width=Math.max(b.width,0)+"px",c.height=Math.max(b.height,0)+"px"}
function Lc(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var e=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return e}var Nc={thin:2,medium:4,thick:6};function Mc(a,b){if("none"==Ac(a,b+"Style"))return 0;var c=Ac(a,b+"Width");return c in Nc?Nc[c]:Lc(a,c)}var Ic=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function Oc(a,b){this.x=a;this.y=b}B(Oc,Hb);Oc.prototype.R=function(){return new Oc(this.x,this.y)};Oc.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};Oc.prototype.rotate=function(a){var b=Math.cos(a),a=Math.sin(a),c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};function K(a,b){Oc.call(this,a,b)}B(K,Oc);function Pc(a,b){var c=Gb(a+180,360)-180,d=Math.abs(Math.round(3600*c));return Math.floor(d/3600)+"\u00b0 "+Math.floor(d/60%60)+"\u2032 "+Math.floor(d%60)+"\u2033 "+b.charAt(0>c?1:0)};var Qc=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Rc(a){if(a[1]){var b=a[0],c=b.indexOf("#");0<=c&&(a.push(b.substr(c)),a[0]=b=b.substr(0,c));c=b.indexOf("?");0>c?a[1]="?":c==b.length-1&&(a[1]=h)}return a.join("")}function Sc(a,b,c){if(da(b))for(var d=0;d<b.length;d++)Sc(a,String(b[d]),c);else b!=k&&c.push("&",a,""===b?"":"=",encodeURIComponent(String(b)))}
function Tc(a,b,c){for(c=c||0;c<b.length;c+=2)Sc(b[c],b[c+1],a);return a}function Uc(a,b){for(var c in b)Sc(c,b[c],a);return a}function Vc(a,b){return Rc(2==arguments.length?Tc([a],arguments[1],0):Tc([a],arguments,1))};function Wc(a,b){var c;if(a instanceof Wc)this.ja=y(b)?b:a.ja,Xc(this,a.xa),c=a.xb,Yc(this),this.xb=c,c=a.Aa,Yc(this),this.Aa=c,Zc(this,a.qb),c=a.ob,Yc(this),this.ob=c,$c(this,a.a.R()),c=a.Wa,Yc(this),this.Wa=c;else if(a&&(c=String(a).match(Qc))){this.ja=!!b;Xc(this,c[1]||"",i);var d=c[2]||"";Yc(this);this.xb=d?decodeURIComponent(d):"";d=c[3]||"";Yc(this);this.Aa=d?decodeURIComponent(d):"";Zc(this,c[4]);d=c[5]||"";Yc(this);this.ob=d?decodeURIComponent(d):"";$c(this,c[6]||"",i);c=c[7]||"";Yc(this);
this.Wa=c?decodeURIComponent(c):""}else this.ja=!!b,this.a=new ad(k,0,this.ja)}s=Wc.prototype;s.xa="";s.xb="";s.Aa="";s.qb=k;s.ob="";s.Wa="";s.Jd=l;s.ja=l;
s.toString=function(){var a=[],b=this.xa;b&&a.push(bd(b,cd),":");if(b=this.Aa){a.push("//");var c=this.xb;c&&a.push(bd(c,cd),"@");a.push(encodeURIComponent(String(b)));b=this.qb;b!=k&&a.push(":",String(b))}if(b=this.ob)this.Aa&&"/"!=b.charAt(0)&&a.push("/"),a.push(bd(b,"/"==b.charAt(0)?dd:ed));(b=this.a.toString())&&a.push("?",b);(b=this.Wa)&&a.push("#",bd(b,fd));return a.join("")};s.R=function(){return new Wc(this)};
function Xc(a,b,c){Yc(a);a.xa=c?b?decodeURIComponent(b):"":b;a.xa&&(a.xa=a.xa.replace(/:$/,""))}function Zc(a,b){Yc(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.qb=b}else a.qb=k}
function $c(a,b,c){Yc(a);if(b instanceof ad){a.a=b;b=a.a;if((a=a.ja)&&!b.b){gd(b);b.a=k;var d=b.C,c=function(a,b){var c=b.toLowerCase();b!=c&&(this.remove(b),hd(this,c,a))};if("function"==typeof d.forEach)d.forEach(c,b);else if(ea(d)||ga(d))C(d,c,b);else{var e;if("function"==typeof d.V)e=d.V();else if("function"!=typeof d.N)if(ea(d)||ga(d)){e=[];for(var f=d.length,g=0;g<f;g++)e.push(g)}else e=Sa(d);else e=h;d=Wa(d);f=d.length;for(g=0;g<f;g++)c.call(b,d[g],e&&e[g])}}b.b=a}else c||(b=bd(b,id)),a.a=
new ad(b,0,a.ja)}function jd(a,b,c){Yc(a);da(c)||(c=[String(c)]);hd(a.a,b,c)}function Yc(a){if(a.Jd)throw Error("Tried to modify a read-only Uri");}function bd(a,b){return ga(a)?encodeURI(a).replace(b,kd):k}function kd(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var cd=/[#\/\?@]/g,ed=/[\#\?:]/g,dd=/[\#\?]/g,id=/[\#\?@]/g,fd=/#/g;function ad(a,b,c){this.a=a||k;this.b=!!c}
function gd(a){if(!a.C&&(a.C=new Xa,a.n=0,a.a))for(var b=a.a.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),e=k,f=k;0<=d?(e=b[c].substring(0,d),f=b[c].substring(d+1)):e=b[c];e=decodeURIComponent(e.replace(/\+/g," "));e=ld(a,e);a.add(e,f?decodeURIComponent(f.replace(/\+/g," ")):"")}}s=ad.prototype;s.C=k;s.n=k;s.Z=function(){gd(this);return this.n};s.add=function(a,b){gd(this);this.a=k;var a=ld(this,a),c=ab(this.C,a);c||Ya(this.C,a,c=[]);c.push(b);this.n++;return this};
s.remove=function(a){gd(this);a=ld(this,a);return $a(this.C.b,a)?(this.a=k,this.n-=ab(this.C,a).length,this.C.remove(a)):l};s.clear=function(){this.C=this.a=k;this.n=0};s.Ha=function(){gd(this);return 0==this.n};function md(a,b){gd(a);b=ld(a,b);return $a(a.C.b,b)}s.V=function(){gd(this);for(var a=this.C.N(),b=this.C.V(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
s.N=function(a){gd(this);var b=[];if(a)md(this,a)&&(b=Da(b,ab(this.C,ld(this,a))));else for(var a=this.C.N(),c=0;c<a.length;c++)b=Da(b,a[c]);return b};function nd(a,b){var c=b?a.N(b):[];return 0<c.length?String(c[0]):h}function hd(a,b,c){a.remove(b);0<c.length&&(a.a=k,Ya(a.C,ld(a,b),Ea(c)),a.n+=c.length)}
s.toString=function(){if(this.a)return this.a;if(!this.C)return"";for(var a=[],b=this.C.V(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.N(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.a=a.join("&")};s.R=function(){var a=new ad;a.a=this.a;this.C&&(a.C=this.C.R());return a};function ld(a,b){var c=String(b);a.b&&(c=c.toLowerCase());return c};function od(){$b.call(this)}B(od,$b);s=od.prototype;s.dc=i;s.Qb=k;s.addEventListener=function(a,b,c,d){H(this,a,b,c,d)};s.removeEventListener=function(a,b,c,d){uc(this,a,b,c,d)};s.q=function(){od.v.q.call(this);var a,b=0,c=a==k;a=!!a;if(this==k)Ja(qc,function(d){for(var e=d.length-1;0<=e;e--){var f=d[e];if(c||a==f.capture)I(f.key),b++}});else{var d=z(this);if(qc[d])for(var d=qc[d],e=d.length-1;0<=e;e--){var f=d[e];if(c||a==f.capture)I(f.key),b++}}this.Qb=k};function pd(a){return function(){return a}}var qd=pd(l),ud=pd(i),vd=pd(k);function wd(a,b,c){$b.call(this);this.d=a;this.c=c;this.a=b||window;this.b=na(this.Eb,this)}B(wd,$b);s=wd.prototype;s.O=k;s.Xb=l;s.start=function(){xd(this);this.Xb=l;var a=yd(this),b=zd(this);if(a&&!b&&this.a.mozRequestAnimationFrame)this.O=H(this.a,"MozBeforePaint",this.b),this.a.mozRequestAnimationFrame(k),this.Xb=i;else{if(a&&b)a=a.call(this.a,this.b);else{var c=this.b,d;d=d||0;a=this.a.setTimeout(function(){return c.apply(this,Array.prototype.slice.call(arguments,0,d))},20)}this.O=a}};
function xd(a){if(a.O!=k){var b=yd(a),c=zd(a);b&&!c&&a.a.mozRequestAnimationFrame?I(a.O):b&&c?c.call(a.a,a.O):a.a.clearTimeout(a.O)}a.O=k}s.Eb=function(){this.Xb&&this.O&&I(this.O);this.O=k;this.d.call(this.c,pa())};s.q=function(){xd(this);wd.v.q.call(this)};function yd(a){a=a.a;return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||k}
function zd(a){a=a.a;return a.cancelRequestAnimationFrame||a.webkitCancelRequestAnimationFrame||a.mozCancelRequestAnimationFrame||a.oCancelRequestAnimationFrame||a.msCancelRequestAnimationFrame||k};function Ad(a){$b.call(this);this.ra=a||window;this.kb=H(this.ra,"resize",this.Bd,l,this);this.qa=Ob(this.ra||window);if(G&&gb||mb&&this.ra.self!=this.ra.top)this.zb=window.setInterval(na(this.Zb,this),Bd)}B(Ad,od);var Bd=500;s=Ad.prototype;s.kb=k;s.ra=k;s.qa=k;s.zb=k;s.q=function(){Ad.v.q.call(this);this.kb&&(I(this.kb),this.kb=k);this.zb&&(window.clearInterval(this.zb),this.zb=k);this.qa=this.ra=k};s.Bd=function(){this.Zb()};
s.Zb=function(){var a=Ob(this.ra||window);if(!(a==this.qa||(!a||!this.qa?0:a.width==this.qa.width&&a.height==this.qa.height)))this.qa=a,J(this,"resize")};function Cd(a,b,c,d,e){if(!F&&(!G||!zb("525")))return i;if(fb&&e)return Dd(a);if(e&&!d||!c&&(17==b||18==b)||F&&d&&b==a)return l;switch(a){case 13:return!(F&&Bb(9));case 27:return!G}return Dd(a)}function Dd(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||G&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return l}}
function Ed(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function Fd(a,b){$b.call(this);a&&(this.gb&&Gd(this),this.Ca=a,this.fb=H(this.Ca,"keypress",this,b),this.Ob=H(this.Ca,"keydown",this.a,b,this),this.gb=H(this.Ca,"keyup",this.b,b,this))}B(Fd,od);s=Fd.prototype;s.Ca=k;s.fb=k;s.Ob=k;s.gb=k;s.da=-1;s.ca=-1;s.Ab=l;
var Hd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},Id={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},Jd=F||G&&zb("525"),Kd=fb&&nb;
Fd.prototype.a=function(a){if(G&&(17==this.da&&!a.ab||18==this.da&&!a.aa))this.ca=this.da=-1;Jd&&!Cd(a.ta,this.da,a.ka,a.ab,a.aa)?this.handleEvent(a):(this.ca=nb?Ed(a.ta):a.ta,Kd&&(this.Ab=a.aa))};Fd.prototype.b=function(a){this.ca=this.da=-1;this.Ab=a.aa};
Fd.prototype.handleEvent=function(a){var b=a.K,c,d,e=b.altKey;F&&"keypress"==a.type?(c=this.ca,d=13!=c&&27!=c?b.keyCode:0):G&&"keypress"==a.type?(c=this.ca,d=0<=b.charCode&&63232>b.charCode&&Dd(c)?b.charCode:0):mb?(c=this.ca,d=Dd(c)?b.keyCode:0):(c=b.keyCode||this.ca,d=b.charCode||0,Kd&&(e=this.Ab),fb&&(63==d&&224==c)&&(c=191));var f=c,g=b.keyIdentifier;c?63232<=c&&c in Hd?f=Hd[c]:25==c&&a.ka&&(f=9):g&&g in Id&&(f=Id[g]);a=f==this.da;this.da=f;b=new Ld(f,d,a,b);b.aa=e;J(this,b)};
function Gd(a){a.fb&&(I(a.fb),I(a.Ob),I(a.gb),a.fb=k,a.Ob=k,a.gb=k);a.Ca=k;a.da=-1;a.ca=-1}Fd.prototype.q=function(){Fd.v.q.call(this);Gd(this)};function Ld(a,b,c,d){d&&jc(this,d,h);this.type="key";this.ta=a;this.$a=b;this.b=c}B(Ld,ic);function Md(a){$b.call(this);this.a=a;a=ia(this.a)&&1==this.a.nodeType?this.a:this.a?this.a.body:k;this.e=!!a&&"rtl"==Bc(a,"direction");this.b=H(this.a,nb?"DOMMouseScroll":"mousewheel",this)}B(Md,od);
Md.prototype.handleEvent=function(a){var b=0,c=0,d=0,a=a.K;if("mousewheel"==a.type){c=1;if(F||G&&(gb||zb("532.0")))c=40;d=Nd(-a.wheelDelta,c);y(a.wheelDeltaX)?(b=Nd(-a.wheelDeltaX,c),c=Nd(-a.wheelDeltaY,c)):c=d}else d=a.detail,100<d?d=3:-100>d&&(d=-3),y(a.axis)&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;"number"==typeof this.c&&(b=Fb(b,-this.c,this.c));"number"==typeof this.d&&(c=Fb(c,-this.d,this.d));this.e&&(b=-b);b=new Od(d,a,b,c);J(this,b)};function Nd(a,b){return G&&(fb||hb)&&0!=a%b?a:a/b}
Md.prototype.q=function(){Md.v.q.call(this);I(this.b);delete this.b};function Od(a,b,c,d){b&&jc(this,b,h);this.type="mousewheel";this.e=a;this.d=c;this.b=d}B(Od,ic);var Pd=document&&"ontouchstart"in document.documentElement||!!window.navigator.msPointerEnabled;function L(a){$b.call(this);this.o={};y(a)&&this.mb(a)}B(L,od);var Qd={},Rd={},Sd={};function Td(a){return a.substr(0,1).toUpperCase()+a.substr(1)}function Ud(a){return a.ol_accessors_||(a.ol_accessors_={})}function Vd(a){return Qd.hasOwnProperty(a)?Qd[a]:Qd[a]=a.toLowerCase()+"_changed"}function Wd(a){return a.ol_bindings_||(a.ol_bindings_={})}s=L.prototype;
s.Rc=function(a,b,c,d){c=c||a;this.Wb(a);var e=Vd(c);Wd(this)[a]=H(b,e,function(){Xd(this,a)},h,this);Ud(this)[a]={target:b,key:c};d||Xd(this,a)};s.Uc=x;s.r=function(a){var b,c=Ud(this);c.hasOwnProperty(a)?(b=c[a],a=b.target,b=b.key,c=Rd.hasOwnProperty(b)?Rd[b]:Rd[b]="get"+Td(b),b=a[c]?a[c]():a.r(b)):this.o.hasOwnProperty(a)&&(b=this.o[a]);return b};
s.V=function(){for(var a=Sa(Ud(this)).concat(Sa(this.o)),b={},c=0,d=0;d<a.length;){var e=a[d++],f=ia(e)?"o"+z(e):(typeof e).charAt(0)+e;Object.prototype.hasOwnProperty.call(b,f)||(b[f]=i,a[c++]=e)}a.length=c;return a};s.rc=function(a){var b=Ud(this);b.hasOwnProperty(a)?(a=b[a],a.target.rc(a.key)):Xd(this,a)};function Xd(a,b){var c=Vd(b);J(a,c);J(a,"changed")}
s.p=function(a,b){var c=Ud(this);if(c.hasOwnProperty(a)){var d=c[a],c=d.target,d=d.key,e=Sd.hasOwnProperty(d)?Sd[d]:Sd[d]="set"+Td(d);if(c[e])c[e](b);else c.p(d,b)}else this.o[a]=b,Xd(this,a)};s.Bc=function(a){var b,c,d;for(b in a)if(c=a[b],d=Sd.hasOwnProperty(b)?Sd[b]:Sd[b]="set"+Td(b),this[d])this[d](c);else this.p(b,c)};s.mb=L.prototype.Bc;s.Wb=function(a){var b=Wd(this),c=b[a];c&&(delete b[a],I(c),b=this.r(a),delete Ud(this)[a],this.o[a]=b)};s.Wd=function(){for(var a in Wd(this))this.Wb(a)};function Yd(a,b,c,d,e){fc.call(this,a,e);this.a=b;this.index=c;this.b=d}B(Yd,fc);function M(a){L.call(this);this.a=a||[];Zd(this)}B(M,L);s=M.prototype;s.clear=function(){for(;0<this.Za();)this.sc()};s.forEach=function(a,b){C(this.a,a,b)};s.$c=p("a");s.ad=function(a){return this.a[a]};s.Za=function(){return this.r("length")};s.eb=function(a,b){Fa(this.a,a,0,b);Zd(this);J(this,new Yd("add",b,h,h,this));J(this,new Yd("insert_at",b,a,h,this))};s.sc=function(){return this.yc(this.Za()-1)};
s.push=function(a){var b=this.a.length;this.eb(b,a);return b};s.yc=function(a){var b=this.a[a];xa.splice.call(this.a,a,1);Zd(this);J(this,new Yd("remove",b,h,h,this));J(this,new Yd("remove_at",h,a,b,this));return b};s.Od=function(a,b){var c=this.Za();if(a<c)c=this.a[a],this.a[a]=b,J(this,new Yd("set_at",b,a,c,this)),J(this,new Yd("remove",c,h,h,this)),J(this,new Yd("add",b,h,h,this));else{for(;c<a;++c)this.eb(c,h);this.eb(a,b)}};function Zd(a){a.p("length",a.a.length)};function $d(){this.c=Fb(255,0,255);this.b=Fb(255,0,255);this.a=Fb(255,0,255);this.d=Fb(1,0,1)};function ae(a,b){Ib.call(this,a,b)}B(ae,Ib);function be(a,b,c,d){this.h=a;this.j=b;this.k=c;this.i=d}be.prototype.a=function(){return this.i-this.j};be.prototype.b=function(){return this.k-this.h};function ce(a,b){return a.h<=b.k&&a.k>=b.h&&a.j<=b.i&&a.i>=b.j}be.prototype.toString=function(){return"("+[this.h,this.j,this.k,this.i].join(", ")+")"};function N(a,b,c,d){be.call(this,a,b,c,d)}B(N,be);function de(a){var b=arguments[0],b=new N(b.x,b.y,b.x,b.y),c;for(c=1;c<arguments.length;++c){var d=arguments[c];b.h=Math.min(b.h,d.x);b.j=Math.min(b.j,d.y);b.k=Math.max(b.k,d.x);b.i=Math.max(b.i,d.y)}return b}function ee(a){return new K(a.h,a.i)}N.prototype.transform=function(a){var b=[this.h,this.j,this.k,this.i],b=a(b,b,2);return new N(Math.min(b[0],b[2]),Math.min(b[1],b[3]),Math.max(b[0],b[2]),Math.max(b[1],b[3]))};function fe(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0}fe.prototype.a=4;fe.prototype.b=function(a,b){for(var b=b||0,c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};fe.prototype.toString=Array.prototype.join;"undefined"==typeof Float32Array&&(fe.BYTES_PER_ELEMENT=4,fe.prototype.BYTES_PER_ELEMENT=fe.prototype.a,fe.prototype.set=fe.prototype.b,fe.prototype.toString=fe.prototype.toString,A("Float32Array",fe));function ge(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0}ge.prototype.a=8;ge.prototype.b=function(a,b){for(var b=b||0,c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};ge.prototype.toString=Array.prototype.join;"undefined"==typeof Float64Array&&(ge.BYTES_PER_ELEMENT=8,ge.prototype.BYTES_PER_ELEMENT=ge.prototype.a,ge.prototype.set=ge.prototype.b,ge.prototype.toString=ge.prototype.toString,A("Float64Array",ge));function he(){var a=Array(16);ie(a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return a}function je(){var a=Array(16);ie(a,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return a}function ie(a,b,c,d,e,f,g,j,m,q,n,r,t,u,w,D,E){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;a[6]=j;a[7]=m;a[8]=q;a[9]=n;a[10]=r;a[11]=t;a[12]=u;a[13]=w;a[14]=D;a[15]=E}
function ke(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15]}function le(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1}
function me(a,b,c){var d=a[0],e=a[1],f=a[2],g=a[3],j=a[4],m=a[5],q=a[6],n=a[7],r=a[8],t=a[9],u=a[10],w=a[11],D=a[12],E=a[13],U=a[14],a=a[15],V=b[0],O=b[1],Y=b[2],fa=b[3],Ka=b[4],La=b[5],Ma=b[6],Na=b[7],Oa=b[8],Pa=b[9],Qa=b[10],S=b[11],rd=b[12],sd=b[13],td=b[14],b=b[15];c[0]=d*V+j*O+r*Y+D*fa;c[1]=e*V+m*O+t*Y+E*fa;c[2]=f*V+q*O+u*Y+U*fa;c[3]=g*V+n*O+w*Y+a*fa;c[4]=d*Ka+j*La+r*Ma+D*Na;c[5]=e*Ka+m*La+t*Ma+E*Na;c[6]=f*Ka+q*La+u*Ma+U*Na;c[7]=g*Ka+n*La+w*Ma+a*Na;c[8]=d*Oa+j*Pa+r*Qa+D*S;c[9]=e*Oa+m*Pa+t*Qa+
E*S;c[10]=f*Oa+q*Pa+u*Qa+U*S;c[11]=g*Oa+n*Pa+w*Qa+a*S;c[12]=d*rd+j*sd+r*td+D*b;c[13]=e*rd+m*sd+t*td+E*b;c[14]=f*rd+q*sd+u*td+U*b;c[15]=g*rd+n*sd+w*td+a*b}function ne(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]&&a[9]==b[9]&&a[10]==b[10]&&a[11]==b[11]&&a[12]==b[12]&&a[13]==b[13]&&a[14]==b[14]&&a[15]==b[15]}
function oe(a,b,c){var d=b[0],e=b[1],b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8]+a[12];c[1]=d*a[1]+e*a[5]+b*a[9]+a[13];c[2]=d*a[2]+e*a[6]+b*a[10]+a[14]}function pe(a,b,c){var d=a[1]*b+a[5]*c+0*a[9]+a[13],e=a[2]*b+a[6]*c+0*a[10]+a[14],f=a[3]*b+a[7]*c+0*a[11]+a[15];a[12]=a[0]*b+a[4]*c+0*a[8]+a[12];a[13]=d;a[14]=e;a[15]=f}function qe(a,b,c){ie(a,a[0]*b,a[1]*b,a[2]*b,a[3]*b,a[4]*c,a[5]*c,a[6]*c,a[7]*c,1*a[8],1*a[9],1*a[10],1*a[11],a[12],a[13],a[14],a[15])}
function re(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],j=a[5],m=a[6],q=a[7],n=Math.cos(b),r=Math.sin(b);a[0]=c*n+g*r;a[1]=d*n+j*r;a[2]=e*n+m*r;a[3]=f*n+q*r;a[4]=c*-r+g*n;a[5]=d*-r+j*n;a[6]=e*-r+m*n;a[7]=f*-r+q*n}new Float64Array(3);new Float64Array(3);new Float64Array(4);new Float64Array(4);new Float64Array(4);new Float64Array(16);function se(a,b,c){Oc.call(this,b,c);this.m=a}B(se,K);se.prototype.hash=function(){return(this.x<<this.m)+this.y};function te(a){var b=Array(a.m),c=1<<a.m-1,d,e;for(d=0;d<a.m;++d)e=48,a.x&c&&(e+=1),a.y&c&&(e+=2),b[d]=String.fromCharCode(e),c>>=1;return b.join("")}se.prototype.toString=function(){return[this.m,this.x,this.y].join("/")};function ue(a,b,c,d){this.h=a;this.j=b;this.k=c;this.i=d}B(ue,be);ue.prototype.contains=function(a){return this.h<=a.x&&a.x<=this.k&&this.j<=a.y&&a.y<=this.i};ue.prototype.a=function(){return this.i-this.j+1};ue.prototype.b=function(){return this.k-this.h+1};function ve(a,b){this.b=a;this.a=b||k};function we(a){$b.call(this);this.X=a;this.b=0}B(we,od);we.prototype.la=function(){return z(this).toString()};we.prototype.L=p("b");function xe(a){this.d=a;this.e=8;this.c=0;this.a=[];this.b={}}function ye(a,b,c,d){if(0==b.L()){var e=b.la();if(!(e in a.b)){var f=a.d(b,c,d);Infinity!=f&&(a.a.push([f,b,c,d]),a.b[e]=i,ze(a,0,a.a.length-1))}}}xe.prototype.f=function(){--this.c};function Ae(a,b){for(var c=a.a,d=c.length,e=c[b],f=b;b<d>>1;){var g=2*b+1,j=2*b+2,g=j<d&&c[j][0]<c[g][0]?j:g;c[b]=c[g];b=g}c[b]=e;ze(a,f,b)}function ze(a,b,c){for(var a=a.a,d=a[c];c>b;){var e=c-1>>1;if(a[e][0]>d[0])a[c]=a[e],c=e;else break}a[c]=d};/*
function rc(a,b){if(!nc[a])return i;var c=nc[a],d=c.type,e=oc;if(!(d in e))return i;var e=e[d],f,g;if(!Xb){var j;if(!(j=b))a:{j=["window","event"];for(var m=w;f=j.shift();)if(m[f]!=k)m=m[f];else{j=k;break a}j=m}f=j;j=i in e;m=l in e;if(j){if(0>f.keyCode||f.returnValue!=h)return i;a:{var r=l;if(0==f.keyCode)try{f.keyCode=-1;break a}catch(s){r=i}if(r||f.returnValue==h)f.returnValue=i}}r=new hc;ic(r,f,this);f=i;try{if(j){for(var q=[],v=r.c;v;v=v.parentNode)q.push(v);g=e[i];g.O=g.o;for(var u=q.length-
1;!r.pa&&0<=u&&g.O;u--)r.c=q[u],f&=vc(g,q[u],d,i,r);if(m){g=e[l];g.O=g.o;for(u=0;!r.pa&&u<q.length&&g.O;u++)r.c=q[u],f&=vc(g,q[u],d,l,r)}}else f=wc(c,r)}finally{q&&(q.length=0)}return f}d=new hc(b,this);return f=wc(c,d)};function xc(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}xc.prototype.Q=function(){return new xc(this.top,this.right,this.bottom,this.left)};xc.prototype.contains=function(a){return!this||!a?l:a instanceof xc?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function yc(a,b){var c=Kb(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function zc(a,b){return a.currentStyle?a.currentStyle[b]:k}function Ac(a,b){return yc(a,b)||zc(a,b)||a.style&&a.style[b]}function Bc(a,b){var c,d,e=mb&&(eb||pb)&&yb("1.9");b instanceof Gb?(c=b.x,d=b.y):(c=b,d=h);a.style.left=Cc(c,e);a.style.top=Cc(d,e)}
function Dc(a){var b=a.getBoundingClientRect();F&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b}
function Ec(a){if(F&&!Ab(8))return a.offsetParent;for(var b=Kb(a),c=Ac(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Ac(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}function Fc(a,b){var c=Gc(a),d=Gc(b);return new Gb(c.x-d.x,c.y-d.y)}
function Gc(a){var b=new Gb;if(1==a.nodeType){if(a.getBoundingClientRect){var c=Dc(a);b.x=c.left;b.y=c.top}else{c=Vb(Ib(a));var d,e=Kb(a),f=Ac(a,"position"),g=mb&&e.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==f&&(d=e.getBoxObjectFor(a))&&(0>d.screenX||0>d.screenY),j=new Gb(0,0),m;d=e?Kb(e):document;if(m=F)if(m=!Ab(9))Ib(d),m=l;m=m?d.body:d.documentElement;if(a!=m)if(a.getBoundingClientRect)d=Dc(a),e=Vb(Ib(e)),j.x=d.left+e.x,j.y=d.top+e.y;else if(e.getBoxObjectFor&&!g)d=e.getBoxObjectFor(a),
e=e.getBoxObjectFor(m),j.x=d.screenX-e.screenX,j.y=d.screenY-e.screenY;else{g=a;do{j.x+=g.offsetLeft;j.y+=g.offsetTop;g!=a&&(j.x+=g.clientLeft||0,j.y+=g.clientTop||0);if(G&&"fixed"==Ac(g,"position")){j.x+=e.body.scrollLeft;j.y+=e.body.scrollTop;break}g=g.offsetParent}while(g&&g!=a);if(lb||G&&"absolute"==f)j.y-=e.body.offsetTop;for(g=a;(g=Ec(g))&&g!=e.body&&g!=m;)if(j.x-=g.scrollLeft,!lb||"TR"!=g.tagName)j.y-=g.scrollTop}b.x=j.x-c.x;b.y=j.y-c.y}if(mb&&!yb(12)){var r;F?r="-ms-transform":G?r="-webkit-transform":
lb?r="-o-transform":mb&&(r="-moz-transform");var s;r&&(s=Ac(a,r));s||(s=Ac(a,"transform"));s?(a=s.match(Hc),a=!a?new Gb(0,0):new Gb(parseFloat(a[1]),parseFloat(a[2]))):a=new Gb(0,0);b=new Gb(b.x+a.x,b.y+a.y)}}else r=ha(a.fd),s=a,a.targetTouches?s=a.targetTouches[0]:r&&a.K.targetTouches&&(s=a.K.targetTouches[0]),b.x=s.clientX,b.y=s.clientY;return b}function Cc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a}function Ic(a,b){a.style.display=b?"":"none"}
function Jc(a,b){Ib(Kb(a));if(F&&!yb("8")){var c=a.style,d;if(F){d=Kc(a,zc(a,"paddingLeft"));var e=Kc(a,zc(a,"paddingRight")),f=Kc(a,zc(a,"paddingTop")),g=Kc(a,zc(a,"paddingBottom"));d=new xc(f,e,g,d)}else d=yc(a,"paddingLeft"),e=yc(a,"paddingRight"),f=yc(a,"paddingTop"),g=yc(a,"paddingBottom"),d=new xc(parseFloat(f),parseFloat(e),parseFloat(g),parseFloat(d));if(F)var e=Lc(a,"borderLeft"),f=Lc(a,"borderRight"),g=Lc(a,"borderTop"),j=Lc(a,"borderBottom"),e=new xc(g,f,j,e);else e=yc(a,"borderLeftWidth"),
f=yc(a,"borderRightWidth"),g=yc(a,"borderTopWidth"),j=yc(a,"borderBottomWidth"),e=new xc(parseFloat(g),parseFloat(f),parseFloat(j),parseFloat(e));c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c=a.style,mb?c.MozBoxSizing="border-box":G?c.WebkitBoxSizing="border-box":c.boxSizing="border-box",c.width=Math.max(b.width,0)+"px",c.height=Math.max(b.height,0)+"px"}
function Kc(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var e=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return e}var Mc={thin:2,medium:4,thick:6};function Lc(a,b){if("none"==zc(a,b+"Style"))return 0;var c=zc(a,b+"Width");return c in Mc?Mc[c]:Kc(a,c)}var Hc=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function Nc(a,b){this.x=a;this.y=b}B(Nc,Gb);Nc.prototype.Q=function(){return new Nc(this.x,this.y)};Nc.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};Nc.prototype.rotate=function(a){var b=Math.cos(a),a=Math.sin(a),c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};function L(a,b){Nc.call(this,a,b)}B(L,Nc);function Oc(a,b){var c=Fb(a+180,360)-180,d=Math.abs(Math.round(3600*c));return Math.floor(d/3600)+"\u00b0 "+Math.floor(d/60%60)+"\u2032 "+Math.floor(d%60)+"\u2033 "+b.charAt(0>c?1:0)};var Pc=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Qc(a,b,c){if(ea(b))for(var d=0;d<b.length;d++)Qc(a,String(b[d]),c);else b!=k&&c.push("&",a,""===b?"":"=",encodeURIComponent(String(b)))};function Rc(a,b){var c;if(a instanceof Rc)this.la=x(b)?b:a.la,Sc(this,a.za),c=a.wb,Tc(this),this.wb=c,c=a.Aa,Tc(this),this.Aa=c,Uc(this,a.pb),c=a.nb,Tc(this),this.nb=c,Vc(this,a.a.Q()),c=a.Va,Tc(this),this.Va=c;else if(a&&(c=String(a).match(Pc))){this.la=!!b;Sc(this,c[1]||"",i);var d=c[2]||"";Tc(this);this.wb=d?decodeURIComponent(d):"";d=c[3]||"";Tc(this);this.Aa=d?decodeURIComponent(d):"";Uc(this,c[4]);d=c[5]||"";Tc(this);this.nb=d?decodeURIComponent(d):"";Vc(this,c[6]||"",i);c=c[7]||"";Tc(this);
this.Va=c?decodeURIComponent(c):""}else this.la=!!b,this.a=new Wc(k,0,this.la)}p=Rc.prototype;p.za="";p.wb="";p.Aa="";p.pb=k;p.nb="";p.Va="";p.Nd=l;p.la=l;
p.toString=function(){var a=[],b=this.za;b&&a.push(Xc(b,Yc),":");if(b=this.Aa){a.push("//");var c=this.wb;c&&a.push(Xc(c,Yc),"@");a.push(encodeURIComponent(String(b)));b=this.pb;b!=k&&a.push(":",String(b))}if(b=this.nb)this.Aa&&"/"!=b.charAt(0)&&a.push("/"),a.push(Xc(b,"/"==b.charAt(0)?Zc:$c));(b=this.a.toString())&&a.push("?",b);(b=this.Va)&&a.push("#",Xc(b,ad));return a.join("")};p.Q=function(){return new Rc(this)};
function Sc(a,b,c){Tc(a);a.za=c?b?decodeURIComponent(b):"":b;a.za&&(a.za=a.za.replace(/:$/,""))}function Uc(a,b){Tc(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.pb=b}else a.pb=k}
function Vc(a,b,c){Tc(a);if(b instanceof Wc){a.a=b;b=a.a;if((a=a.la)&&!b.b){bd(b);b.a=k;var d=b.D,c=function(a,b){var c=b.toLowerCase();b!=c&&(this.remove(b),cd(this,c,a))};if("function"==typeof d.forEach)d.forEach(c,b);else if(fa(d)||ga(d))C(d,c,b);else{var e;if("function"==typeof d.V)e=d.V();else if("function"!=typeof d.M)if(fa(d)||ga(d)){e=[];for(var f=d.length,g=0;g<f;g++)e.push(g)}else e=Ma(d);else e=h;d=Va(d);f=d.length;for(g=0;g<f;g++)c.call(b,d[g],e&&e[g])}}b.b=a}else c||(b=Xc(b,dd)),a.a=
new Wc(b,0,a.la)}function ed(a,b,c){Tc(a);ea(c)||(c=[String(c)]);cd(a.a,b,c)}function Tc(a){if(a.Nd)throw Error("Tried to modify a read-only Uri");}function Xc(a,b){return ga(a)?encodeURI(a).replace(b,fd):k}function fd(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Yc=/[#\/\?@]/g,$c=/[\#\?:]/g,Zc=/[\#\?]/g,dd=/[\#\?@]/g,ad=/#/g;function Wc(a,b,c){this.a=a||k;this.b=!!c}
function bd(a){if(!a.D&&(a.D=new Wa,a.o=0,a.a))for(var b=a.a.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),e=k,f=k;0<=d?(e=b[c].substring(0,d),f=b[c].substring(d+1)):e=b[c];e=decodeURIComponent(e.replace(/\+/g," "));e=gd(a,e);a.add(e,f?decodeURIComponent(f.replace(/\+/g," ")):"")}}p=Wc.prototype;p.D=k;p.o=k;p.Z=function(){bd(this);return this.o};p.add=function(a,b){bd(this);this.a=k;var a=gd(this,a),c=$a(this.D,a);c||Xa(this.D,a,c=[]);c.push(b);this.o++;return this};
p.remove=function(a){bd(this);a=gd(this,a);return Za(this.D.b,a)?(this.a=k,this.o-=$a(this.D,a).length,this.D.remove(a)):l};p.clear=function(){this.D=this.a=k;this.o=0};p.Ha=function(){bd(this);return 0==this.o};function hd(a,b){bd(a);b=gd(a,b);return Za(a.D.b,b)}p.V=function(){bd(this);for(var a=this.D.M(),b=this.D.V(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
p.M=function(a){bd(this);var b=[];if(a)hd(this,a)&&(b=Ea(b,$a(this.D,gd(this,a))));else for(var a=this.D.M(),c=0;c<a.length;c++)b=Ea(b,a[c]);return b};function id(a,b){var c=b?a.M(b):[];return 0<c.length?String(c[0]):h}function cd(a,b,c){a.remove(b);0<c.length&&(a.a=k,Xa(a.D,gd(a,b),Fa(c)),a.o+=c.length)}
p.toString=function(){if(this.a)return this.a;if(!this.D)return"";for(var a=[],b=this.D.V(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.M(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.a=a.join("&")};p.Q=function(){var a=new Wc;a.a=this.a;this.D&&(a.D=this.D.Q());return a};function gd(a,b){var c=String(b);a.b&&(c=c.toLowerCase());return c};function jd(){Zb.call(this)}B(jd,Zb);p=jd.prototype;p.gc=i;p.Qb=k;p.addEventListener=function(a,b,c,d){H(this,a,b,c,d)};p.removeEventListener=function(a,b,c,d){tc(this,a,b,c,d)};p.r=function(){jd.v.r.call(this);var a,b=0,c=a==k;a=!!a;if(this==k)Ka(pc,function(d){for(var e=d.length-1;0<=e;e--){var f=d[e];if(c||a==f.capture)J(f.key),b++}});else{var d=y(this);if(pc[d])for(var d=pc[d],e=d.length-1;0<=e;e--){var f=d[e];if(c||a==f.capture)J(f.key),b++}}this.Qb=k};function kd(a){return function(){return a}}var ld=kd(l),md=kd(i),nd=kd(k);function od(a,b,c){Zb.call(this);this.d=a;this.c=c;this.a=b||window;this.b=na(this.Eb,this)}B(od,Zb);p=od.prototype;p.N=k;p.Wb=l;p.start=function(){pd(this);this.Wb=l;var a=qd(this),b=rd(this);if(a&&!b&&this.a.mozRequestAnimationFrame)this.N=H(this.a,"MozBeforePaint",this.b),this.a.mozRequestAnimationFrame(k),this.Wb=i;else{if(a&&b)a=a.call(this.a,this.b);else{var c=this.b,d;d=d||0;a=this.a.setTimeout(function(){return c.apply(this,Array.prototype.slice.call(arguments,0,d))},20)}this.N=a}};
function pd(a){if(a.N!=k){var b=qd(a),c=rd(a);b&&!c&&a.a.mozRequestAnimationFrame?J(a.N):b&&c?c.call(a.a,a.N):a.a.clearTimeout(a.N)}a.N=k}p.Eb=function(){this.Wb&&this.N&&J(this.N);this.N=k;this.d.call(this.c,pa())};p.r=function(){pd(this);od.v.r.call(this)};function qd(a){a=a.a;return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||k}
function rd(a){a=a.a;return a.cancelRequestAnimationFrame||a.webkitCancelRequestAnimationFrame||a.mozCancelRequestAnimationFrame||a.oCancelRequestAnimationFrame||a.msCancelRequestAnimationFrame||k};function vd(a){Zb.call(this);this.ta=a||window;this.jb=H(this.ta,"resize",this.Fd,l,this);this.sa=Nb(this.ta||window);if(G&&fb||lb&&this.ta.self!=this.ta.top)this.yb=window.setInterval(na(this.bc,this),wd)}B(vd,jd);var wd=500;p=vd.prototype;p.jb=k;p.ta=k;p.sa=k;p.yb=k;p.r=function(){vd.v.r.call(this);this.jb&&(J(this.jb),this.jb=k);this.yb&&(window.clearInterval(this.yb),this.yb=k);this.sa=this.ta=k};p.Fd=function(){this.bc()};
p.bc=function(){var a=Nb(this.ta||window);if(!(a==this.sa||(!a||!this.sa?0:a.width==this.sa.width&&a.height==this.sa.height)))this.sa=a,K(this,"resize")};function xd(a,b,c,d,e){if(!F&&(!G||!yb("525")))return i;if(eb&&e)return yd(a);if(e&&!d||!c&&(17==b||18==b)||F&&d&&b==a)return l;switch(a){case 13:return!(F&&Ab(9));case 27:return!G}return yd(a)}function yd(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||G&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return l}}
function zd(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function Ad(a,b){Zb.call(this);a&&(this.fb&&Bd(this),this.Ca=a,this.eb=H(this.Ca,"keypress",this,b),this.Ob=H(this.Ca,"keydown",this.a,b,this),this.fb=H(this.Ca,"keyup",this.b,b,this))}B(Ad,jd);p=Ad.prototype;p.Ca=k;p.eb=k;p.Ob=k;p.fb=k;p.fa=-1;p.ea=-1;p.zb=l;
var Cd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},Dd={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},Ed=F||G&&yb("525"),Fd=eb&&mb;
Ad.prototype.a=function(a){if(G&&(17==this.fa&&!a.$a||18==this.fa&&!a.ba))this.ea=this.fa=-1;Ed&&!xd(a.va,this.fa,a.ma,a.$a,a.ba)?this.handleEvent(a):(this.ea=mb?zd(a.va):a.va,Fd&&(this.zb=a.ba))};Ad.prototype.b=function(a){this.ea=this.fa=-1;this.zb=a.ba};
Ad.prototype.handleEvent=function(a){var b=a.K,c,d,e=b.altKey;F&&"keypress"==a.type?(c=this.ea,d=13!=c&&27!=c?b.keyCode:0):G&&"keypress"==a.type?(c=this.ea,d=0<=b.charCode&&63232>b.charCode&&yd(c)?b.charCode:0):lb?(c=this.ea,d=yd(c)?b.keyCode:0):(c=b.keyCode||this.ea,d=b.charCode||0,Fd&&(e=this.zb),eb&&(63==d&&224==c)&&(c=191));var f=c,g=b.keyIdentifier;c?63232<=c&&c in Cd?f=Cd[c]:25==c&&a.ma&&(f=9):g&&g in Dd&&(f=Dd[g]);a=f==this.fa;this.fa=f;b=new Gd(f,d,a,b);b.ba=e;K(this,b)};
function Bd(a){a.eb&&(J(a.eb),J(a.Ob),J(a.fb),a.eb=k,a.Ob=k,a.fb=k);a.Ca=k;a.fa=-1;a.ea=-1}Ad.prototype.r=function(){Ad.v.r.call(this);Bd(this)};function Gd(a,b,c,d){d&&ic(this,d,h);this.type="key";this.va=a;this.Za=b;this.b=c}B(Gd,hc);function Hd(a){Zb.call(this);this.a=a;a=ia(this.a)&&1==this.a.nodeType?this.a:this.a?this.a.body:k;this.e=!!a&&"rtl"==Ac(a,"direction");this.b=H(this.a,mb?"DOMMouseScroll":"mousewheel",this)}B(Hd,jd);
Hd.prototype.handleEvent=function(a){var b=0,c=0,d=0,a=a.K;if("mousewheel"==a.type){c=1;if(F||G&&(fb||yb("532.0")))c=40;d=Id(-a.wheelDelta,c);x(a.wheelDeltaX)?(b=Id(-a.wheelDeltaX,c),c=Id(-a.wheelDeltaY,c)):c=d}else d=a.detail,100<d?d=3:-100>d&&(d=-3),x(a.axis)&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;"number"==typeof this.c&&(b=Eb(b,-this.c,this.c));"number"==typeof this.d&&(c=Eb(c,-this.d,this.d));this.e&&(b=-b);b=new Jd(d,a,b,c);K(this,b)};function Id(a,b){return G&&(eb||gb)&&0!=a%b?a:a/b}
Hd.prototype.r=function(){Hd.v.r.call(this);J(this.b);delete this.b};function Jd(a,b,c,d){b&&ic(this,b,h);this.type="mousewheel";this.e=a;this.d=c;this.b=d}B(Jd,hc);var Kd=document&&"ontouchstart"in document.documentElement||!!window.navigator.msPointerEnabled;function M(a){Zb.call(this);this.l={};x(a)&&this.lb(a)}B(M,jd);var Ld={},Md={},Nd={};function Od(a){return a.substr(0,1).toUpperCase()+a.substr(1)}function Pd(a){return a.ol_accessors_||(a.ol_accessors_={})}function Qd(a){return Ld.hasOwnProperty(a)?Ld[a]:Ld[a]=a.toLowerCase()+"_changed"}function Rd(a){return a.ol_bindings_||(a.ol_bindings_={})}p=M.prototype;
p.Vc=function(a,b,c,d){c=c||a;this.Vb(a);var e=Qd(c);Rd(this)[a]=H(b,e,function(){Sd(this,a)},h,this);Pd(this)[a]={target:b,key:c};d||Sd(this,a)};p.Yc=ba;p.s=function(a){var b,c=Pd(this);c.hasOwnProperty(a)?(b=c[a],a=b.target,b=b.key,c=Md.hasOwnProperty(b)?Md[b]:Md[b]="get"+Od(b),b=a[c]?a[c]():a.s(b)):this.l.hasOwnProperty(a)&&(b=this.l[a]);return b};
p.V=function(){for(var a=Ma(Pd(this)).concat(Ma(this.l)),b={},c=0,d=0;d<a.length;){var e=a[d++],f=ia(e)?"o"+y(e):(typeof e).charAt(0)+e;Object.prototype.hasOwnProperty.call(b,f)||(b[f]=i,a[c++]=e)}a.length=c;return a};p.uc=function(a){var b=Pd(this);b.hasOwnProperty(a)?(a=b[a],a.target.uc(a.key)):Sd(this,a)};function Sd(a,b){var c=Qd(b);K(a,c);K(a,"changed")}
p.q=function(a,b){var c=Pd(this);if(c.hasOwnProperty(a)){var d=c[a],c=d.target,d=d.key,e=Nd.hasOwnProperty(d)?Nd[d]:Nd[d]="set"+Od(d);if(c[e])c[e](b);else c.q(d,b)}else this.l[a]=b,Sd(this,a)};p.Ec=function(a){var b,c,d;for(b in a)if(c=a[b],d=Nd.hasOwnProperty(b)?Nd[b]:Nd[b]="set"+Od(b),this[d])this[d](c);else this.q(b,c)};p.lb=M.prototype.Ec;p.Vb=function(a){var b=Rd(this),c=b[a];c&&(delete b[a],J(c),b=this.s(a),delete Pd(this)[a],this.l[a]=b)};p.$d=function(){for(var a in Rd(this))this.Vb(a)};function Td(a,b,c,d,e){ec.call(this,a,e);this.a=b;this.index=c;this.b=d}B(Td,ec);function N(a){M.call(this);this.a=a||[];Ud(this)}B(N,M);p=N.prototype;p.clear=function(){for(;0<this.Ya();)this.vc()};p.forEach=function(a,b){C(this.a,a,b)};p.dd=n("a");p.ed=function(a){return this.a[a]};p.Ya=function(){return this.s("length")};p.cb=function(a,b){Ga(this.a,a,0,b);Ud(this);K(this,new Td("add",b,h,h,this));K(this,new Td("insert_at",b,a,h,this))};p.vc=function(){return this.Bc(this.Ya()-1)};
p.push=function(a){var b=this.a.length;this.cb(b,a);return b};p.Bc=function(a){var b=this.a[a];ya.splice.call(this.a,a,1);Ud(this);K(this,new Td("remove",b,h,h,this));K(this,new Td("remove_at",h,a,b,this));return b};p.Qd=function(a,b){var c=this.Ya();if(a<c)c=this.a[a],this.a[a]=b,K(this,new Td("set_at",b,a,c,this)),K(this,new Td("remove",c,h,h,this)),K(this,new Td("add",b,h,h,this));else{for(;c<a;++c)this.cb(c,h);this.cb(a,b)}};function Ud(a){a.q("length",a.a.length)};function Vd(){this.c=Eb(255,0,255);this.b=Eb(255,0,255);this.a=Eb(255,0,255);this.d=Eb(1,0,1)};function Wd(a,b){Hb.call(this,a,b)}B(Wd,Hb);function Xd(a,b,c,d){this.h=a;this.i=b;this.m=c;this.k=d}Xd.prototype.$=function(){return this.k-this.i};Xd.prototype.da=function(){return this.m-this.h};function Yd(a,b){return a.h<=b.m&&a.m>=b.h&&a.i<=b.k&&a.k>=b.i}Xd.prototype.toString=function(){return"("+[this.h,this.i,this.m,this.k].join(", ")+")"};function Zd(a,b,c,d){Xd.call(this,a,b,c,d)}B(Zd,Xd);function $d(a){var b=arguments[0],b=new Zd(b.x,b.y,b.x,b.y),c;for(c=1;c<arguments.length;++c){var d=arguments[c];b.h=Math.min(b.h,d.x);b.i=Math.min(b.i,d.y);b.m=Math.max(b.m,d.x);b.k=Math.max(b.k,d.y)}return b}function ae(a){return new L(a.h,a.k)}Zd.prototype.transform=function(a){var b=[this.h,this.i,this.m,this.k],b=a(b,b,2);return new Zd(Math.min(b[0],b[2]),Math.min(b[1],b[3]),Math.max(b[0],b[2]),Math.max(b[1],b[3]))};function be(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0}be.prototype.a=4;be.prototype.b=function(a,b){for(var b=b||0,c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};be.prototype.toString=Array.prototype.join;"undefined"==typeof Float32Array&&(be.BYTES_PER_ELEMENT=4,be.prototype.BYTES_PER_ELEMENT=be.prototype.a,be.prototype.set=be.prototype.b,be.prototype.toString=be.prototype.toString,A("Float32Array",be));function ce(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0}ce.prototype.a=8;ce.prototype.b=function(a,b){for(var b=b||0,c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};ce.prototype.toString=Array.prototype.join;"undefined"==typeof Float64Array&&(ce.BYTES_PER_ELEMENT=8,ce.prototype.BYTES_PER_ELEMENT=ce.prototype.a,ce.prototype.set=ce.prototype.b,ce.prototype.toString=ce.prototype.toString,A("Float64Array",ce));function de(){var a=Array(16);ee(a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return a}function fe(){var a=Array(16);ee(a,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return a}function ee(a,b,c,d,e,f,g,j,m,r,s,q,v,u,t,z,E){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;a[6]=j;a[7]=m;a[8]=r;a[9]=s;a[10]=q;a[11]=v;a[12]=u;a[13]=t;a[14]=z;a[15]=E}
function ge(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15]}function he(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1}
function ie(a,b,c){var d=a[0],e=a[1],f=a[2],g=a[3],j=a[4],m=a[5],r=a[6],s=a[7],q=a[8],v=a[9],u=a[10],t=a[11],z=a[12],E=a[13],D=a[14],a=a[15],U=b[0],Q=b[1],I=b[2],Y=b[3],V=b[4],sa=b[5],Na=b[6],Oa=b[7],Pa=b[8],Qa=b[9],Ra=b[10],W=b[11],sd=b[12],td=b[13],ud=b[14],b=b[15];c[0]=d*U+j*Q+q*I+z*Y;c[1]=e*U+m*Q+v*I+E*Y;c[2]=f*U+r*Q+u*I+D*Y;c[3]=g*U+s*Q+t*I+a*Y;c[4]=d*V+j*sa+q*Na+z*Oa;c[5]=e*V+m*sa+v*Na+E*Oa;c[6]=f*V+r*sa+u*Na+D*Oa;c[7]=g*V+s*sa+t*Na+a*Oa;c[8]=d*Pa+j*Qa+q*Ra+z*W;c[9]=e*Pa+m*Qa+v*Ra+E*W;c[10]=
f*Pa+r*Qa+u*Ra+D*W;c[11]=g*Pa+s*Qa+t*Ra+a*W;c[12]=d*sd+j*td+q*ud+z*b;c[13]=e*sd+m*td+v*ud+E*b;c[14]=f*sd+r*td+u*ud+D*b;c[15]=g*sd+s*td+t*ud+a*b}function je(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]&&a[9]==b[9]&&a[10]==b[10]&&a[11]==b[11]&&a[12]==b[12]&&a[13]==b[13]&&a[14]==b[14]&&a[15]==b[15]}
function ke(a,b,c){var d=b[0],e=b[1],b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8]+a[12];c[1]=d*a[1]+e*a[5]+b*a[9]+a[13];c[2]=d*a[2]+e*a[6]+b*a[10]+a[14]}function le(a,b,c){var d=a[1]*b+a[5]*c+0*a[9]+a[13],e=a[2]*b+a[6]*c+0*a[10]+a[14],f=a[3]*b+a[7]*c+0*a[11]+a[15];a[12]=a[0]*b+a[4]*c+0*a[8]+a[12];a[13]=d;a[14]=e;a[15]=f}function me(a,b,c){ee(a,a[0]*b,a[1]*b,a[2]*b,a[3]*b,a[4]*c,a[5]*c,a[6]*c,a[7]*c,1*a[8],1*a[9],1*a[10],1*a[11],a[12],a[13],a[14],a[15])}
function ne(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],j=a[5],m=a[6],r=a[7],s=Math.cos(b),q=Math.sin(b);a[0]=c*s+g*q;a[1]=d*s+j*q;a[2]=e*s+m*q;a[3]=f*s+r*q;a[4]=c*-q+g*s;a[5]=d*-q+j*s;a[6]=e*-q+m*s;a[7]=f*-q+r*s}new Float64Array(3);new Float64Array(3);new Float64Array(4);new Float64Array(4);new Float64Array(4);new Float64Array(16);function oe(a,b,c){Nc.call(this,b,c);this.n=a}B(oe,L);oe.prototype.hash=function(){return(this.x<<this.n)+this.y};function pe(a){var b=Array(a.n),c=1<<a.n-1,d,e;for(d=0;d<a.n;++d)e=48,a.x&c&&(e+=1),a.y&c&&(e+=2),b[d]=String.fromCharCode(e),c>>=1;return b.join("")}oe.prototype.toString=function(){return[this.n,this.x,this.y].join("/")};function qe(a,b,c,d){this.h=a;this.i=b;this.m=c;this.k=d}B(qe,Xd);qe.prototype.contains=function(a){return this.h<=a.x&&a.x<=this.m&&this.i<=a.y&&a.y<=this.k};qe.prototype.$=function(){return this.k-this.i+1};qe.prototype.da=function(){return this.m-this.h+1};function re(a,b){this.b=a;this.a=b||k};function se(a){Zb.call(this);this.U=a;this.a=0}B(se,jd);se.prototype.c=function(){return y(this).toString()};function te(a){this.d=a;this.e=8;this.c=0;this.a=[];this.b={}}function ue(a,b,c,d){if(0==b.a){var e=b.c();if(!(e in a.b)){var f=a.d(b,c,d);Infinity!=f&&(a.a.push([f,b,c,d]),a.b[e]=i,ve(a,0,a.a.length-1))}}}te.prototype.f=function(){--this.c};function we(a,b){for(var c=a.a,d=c.length,e=c[b],f=b;b<d>>1;){var g=2*b+1,j=2*b+2,g=j<d&&c[j][0]<c[g][0]?j:g;c[b]=c[g];b=g}c[b]=e;ve(a,f,b)}function ve(a,b,c){for(var a=a.a,d=a[c];c>b;){var e=c-1>>1;if(a[e][0]>d[0])a[c]=a[e],c=e;else break}a[c]=d};/*
Latitude/longitude spherical geodesy formulae taken from
http://www.movable-type.co.uk/scripts/latlong.html
Licenced under CC-BY-3.0.
*/
function Be(a,b){var c=a.y*Math.PI/180,d=b.y*Math.PI/180,e=(d-c)/2,f=(b.x-a.x)*Math.PI/180/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*Ce.a*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};var Ce=new function(){this.a=6370997};var De="object"==typeof Proj4js,Ee={fe:"degrees",oe:"m"};function P(a,b,c,d){this.a=a;this.e=b;this.l=c;this.b=y(d)?d:"enu"}P.prototype.g=p("a");P.prototype.G=p("l");P.prototype.o=p("e");P.prototype.f=p("b");function Fe(a,b){P.call(this,a,b.units,k,b.axis);this.wc=b;this.d=k}B(Fe,P);
Fe.prototype.c=function(a,b){if("degrees"==this.e)return a;this.d===k&&(this.d=Ge(this,He("EPSG:4326")));var c=[b.x-a/2,b.y,b.x+a/2,b.y,b.x,b.y-a/2,b.x,b.y+a/2],c=this.d(c,c,2);return(Be(new K(c[0],c[1]),new K(c[2],c[3]))+Be(new K(c[4],c[5]),new K(c[6],c[7])))/2};var Ie={},Je={},Ke={};function Le(a){C(a,function(a){Me(a)});C(a,function(b){C(a,function(a){b!==a&&Ne(b,a,Oe)})})}function Me(a){Je[a.a]=a;Ne(a,a,Oe)}function Pe(a){return a!=k?ga(a)?Qe(a):a:Qe("EPSG:3857")}
function Ne(a,b,c){a=a.a;b=b.a;a in Ke||(Ke[a]={});Ke[a][b]=c}function Qe(a){var b=Je[a];De&&!y(b)&&(b=He(a));y(b)||(b=k);return b}function He(a){var b=Ie[a];y(b)||(b=new Proj4js.Proj(a),b=new Fe(a,b),Ie[a]=b);return b}
function Ge(a,b){var c=a.a,d=b.a,e;c in Ke&&d in Ke[c]&&(e=Ke[c][d]);if(De&&!y(e)){var f;f=(a instanceof Fe?a:He(a.a)).wc;var g;g=(b instanceof Fe?b:He(b.a)).wc;e=function(a,b,c){var d=a.length,c=1<c?c:2;y(b)||(b=2<c?a.slice():Array(d));for(var e,t=0;t<d;t+=c)e=new Proj4js.Point(a[t],a[t+1]),e=Proj4js.transform(f,g,e),b[t]=e.x,b[t+1]=e.y;return b};Ne(a,b,e)}y(e)||(e=Re);return e}function Se(a,b){var c=Qe(a),d=Qe(b);return Ge(c,d)}
function Re(a,b){if(y(b)&&a!==b){for(var c=0,d=a.length;c<d;++c)b[c]=a[c];a=b}return a}function Oe(a,b){var c;if(y(b)){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];c=b}else c=a.slice();return c};function Te(a){$b.call(this);this.l=y(a.projection)?a.projection:k;this.o=y(a.extent)?a.extent:a.projection.G();this.e=y(a.attributions)?a.attributions:k}B(Te,od);Te.prototype.ha=p("e");Te.prototype.G=p("o");Te.prototype.c=ud;function Q(a){L.call(this);this.g=a.source;this.l(y(a.brightness)?a.brightness:0);this.s(y(a.contrast)?a.contrast:1);this.u(y(a.hue)?a.hue:0);this.D(y(a.opacity)?a.opacity:1);this.F(y(a.saturation)?a.saturation:1);this.H(y(a.visible)?a.visible:i);this.g.c()||tc(this.g,"load",this.J,l,this)}B(Q,L);Q.prototype.b=function(){return this.r("brightness")};Q.prototype.getBrightness=Q.prototype.b;Q.prototype.c=function(){return this.r("contrast")};Q.prototype.getContrast=Q.prototype.c;Q.prototype.d=function(){return this.r("hue")};
Q.prototype.getHue=Q.prototype.d;Q.prototype.e=function(){return this.r("opacity")};Q.prototype.getOpacity=Q.prototype.e;Q.prototype.f=function(){return this.r("saturation")};Q.prototype.getSaturation=Q.prototype.f;Q.prototype.W=p("g");Q.prototype.a=function(){return this.r("visible")};Q.prototype.getVisible=Q.prototype.a;Q.prototype.J=function(){J(this,"load")};Q.prototype.l=function(a){a=Fb(a,-1,1);a!=this.b()&&this.p("brightness",a)};Q.prototype.setBrightness=Q.prototype.l;
Q.prototype.s=function(a){a=Math.max(0,a);a!=this.c()&&this.p("contrast",a)};Q.prototype.setContrast=Q.prototype.s;Q.prototype.u=function(a){a!=this.d()&&this.p("hue",a)};Q.prototype.setHue=Q.prototype.u;Q.prototype.D=function(a){a=Fb(a,0,1);a!=this.e()&&this.p("opacity",a)};Q.prototype.setOpacity=Q.prototype.D;Q.prototype.F=function(a){a=Math.max(0,a);a!=this.f()&&this.p("saturation",a)};Q.prototype.setSaturation=Q.prototype.F;Q.prototype.H=function(a){a=!!a;a!=this.a()&&this.p("visible",a)};
Q.prototype.setVisible=Q.prototype.H;function Ue(a){return 3*a*a-2*a*a*a};function Ve(){L.call(this);this.e=[0,0]}B(Ve,L);function We(a,b){a.e[1]+=b};var Xe={mc:aa(),Gc:function(a){return 0.5>a?Ue(2*a):1-Ue(2*(a-0.5))},Xc:function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1},Bb:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a}};var Ye={Bb:function(a){var b=a.resolution,c=y(a.start)?a.start:pa(),d=y(a.duration)?a.duration:1E3,e=y(a.easing)?a.easing:Xe.Gc;return function(a,g){if(g.time<c)return g.Q=i,g.A[0]+=1,i;if(g.time<c+d){var j=e((g.time-c)/d),m=b-g.t.resolution;g.Q=i;g.t.resolution+=j*m;g.A[0]+=1;return i}return l}},Ka:function(a){var b=a.source,c=y(a.start)?a.start:pa(),d=b.x,e=b.y,f=y(a.duration)?a.duration:1E3,g=y(a.easing)?a.easing:Ue;return function(a,b){if(b.time<c)return b.Q=i,b.A[0]+=1,i;if(b.time<c+f){var q=
1-g((b.time-c)/f),n=d-b.t.center.x,r=e-b.t.center.y;b.Q=i;b.t.center.x+=q*n;b.t.center.y+=q*r;b.A[0]+=1;return i}return l}},rotate:function(a){var b=a.rotation,c=y(a.start)?a.start:pa(),d=y(a.duration)?a.duration:1E3,e=y(a.easing)?a.easing:Ue;return function(a,g){if(g.time<c)return g.Q=i,g.A[0]+=1,i;if(g.time<c+d){var j=1-e((g.time-c)/d),m=b-g.t.rotation;g.Q=i;g.t.rotation+=j*m;g.A[0]+=1;return i}return l}},zoom:function(a){var b=a.resolution,c=y(a.start)?a.start:pa(),d=y(a.duration)?a.duration:1E3,
e=y(a.easing)?a.easing:Xe.mc;return function(a,g){if(g.time<c)return g.Q=i,g.A[0]+=1,i;if(g.time<c+d){var j=1-e((g.time-c)/d),m=b-g.t.resolution;g.Q=i;g.t.resolution+=j*m;g.A[0]+=1;return i}return l}}};function Ze(a,b,c){this.e=a;this.d=b;this.f=c;this.a=[];this.b=this.c=0}function $e(a){for(var b=pa(),c=a.a.length-1,d=c-1;0<=d&&a.a[d].Oa>b-a.f;)d--;if(0<=d){var b=a.a[d],c=a.a[c],d=c.x-b.x,e=c.y-b.y;a.c=Math.atan2(e,d);a.b=Math.sqrt(d*d+e*e)/(c.Oa-b.Oa);return a.b>a.d}return l}Ze.prototype.Ka=function(a){var b=this.e,c=this.b,d=this.d,e=Math.log(this.d/this.b)/this.e;return Ye.Ka({source:a,duration:e,easing:function(a){return c*(Math.exp(b*a*e)-1)/(d-c)}})};function af(a,b,c){fc.call(this,a);this.map=b;this.bb=l;this.d=y(c)?c:k}B(af,fc);af.prototype.B=function(){af.v.B.call(this);this.bb=i};function bf(a,b){Hb.call(this,a,b)}B(bf,Hb);function cf(a,b,c,d){af.call(this,a,b,d);this.a=c;this.f=this.e=k}B(cf,af);cf.prototype.b=function(){this.e===k&&(this.e=df(this.map,ef(this)));return this.e};function ef(a){if(a.f===k){var b=Gc(a.a,a.map.b);a.f=new bf(b.x,b.y)}return a.f}
function ff(a){this.a=a;this.e=k;this.b=l;this.c=this.g=this.d=this.l=this.o=this.f=k;a=this.a.b;this.o=H(a,["click","dblclick"],this.ac,l,this);this.l=H(a,"mousedown",this.vd,l,this);this.g=[H(a,["touchstart","MSPointerDown"],this.Fd,l,this),H(a,["touchmove","MSPointerMove"],this.Ed,l,this),H(a,["touchend","MSPointerUp"],this.Dd,l,this)]}B(ff,od);s=ff.prototype;s.ac=function(a){if(!this.b){var b=a.type;J(this,0==this.f||"dblclick"==b?new cf(gf,this.a,a):new cf(hf,this.a,a))}};
s.xd=function(a){this.e&&(this.c=k,C(this.d,I),this.e=this.d=k,this.b&&J(this,new cf(jf,this.a,a)))};s.vd=function(a){J(this,new cf(kf,this.a,a));this.e||(this.c=a,this.e={clientX:a.clientX,clientY:a.clientY},this.b=l,this.d=[H(document,"mousemove",this.wd,l,this),H(document,"mouseup",this.xd,l,this)],a.B())};s.wd=function(a){var b;this.b||(this.b=i,b=new cf(lf,this.a,this.c),J(this,b));this.e={clientX:a.clientX,clientY:a.clientY};b=new cf(mf,this.a,a);J(this,b)};
s.Fd=function(a){a.B();this.c=a;this.b=l;J(this,new cf(nf,this.a,a))};s.Ed=function(a){this.b=i;J(this,new cf(of,this.a,a))};s.Dd=function(a){J(this,new cf(pf,this.a,a));this.b||(a=pa(),this.f=!this.f||250<a-this.f?a:0,this.ac(this.c));this.c=k};s.q=function(){I(this.o);I(this.l);this.d!==k&&(C(this.d,I),this.d=k);this.g!==k&&(C(this.g,I),this.g=k);ff.v.q.call(this)};
var hf="click",gf="dblclick",kf="down",lf="dragstart",mf="drag",jf="dragend",nf="touchstart",of="touchmove",pf="touchend",qf={ce:hf,ee:gf,he:kf,ke:lf,ie:mf,je:jf,Me:nf,Le:of,Ke:pf};function rf(a,b){var c=a.length;if(a[0]<=b)return 0;if(!(b<=a[c-1])){var d;for(d=1;d<c;++d){if(a[d]==b)return d;if(a[d]<b)return a[d-1]-b<b-a[d]?d-1:d}}return c-1};function sf(a,b){if(y(a))return a+b};function tf(a){this.resolution=a;this.rotation=sf};function R(a){Ve.call(this);var a=a||{},b={};b.center=y(a.center)?a.center:k;b.projection=Pe(a.projection);if(y(a.resolution))b.resolution=a.resolution;else if(y(a.zoom)){var c=b.projection.G(),c=Math.max(c.k-c.h,c.i-c.j);b.resolution=c/(256*Math.pow(2,a.zoom))}b.rotation=a.rotation;this.mb(b);if(y(a.resolutions))var d=a.resolutions,a=function(a,b){if(y(a)){var c=rf(d,a),c=Fb(c+b,0,d.length-1);return d[c]}};else{y(a.maxResolution)&&y(a.numZoomLevels)&&y(a.zoomFactor)?(b=a.maxResolution,c=a.numZoomLevels,
a=a.zoomFactor):(a=Pe(a.projection).G(),b=Math.max(a.k-a.h,a.i-a.j)/256,c=116,a=Math.exp(Math.log(2)/4));var e=a,f=b,g=c-1,a=function(a,b){if(y(a)){var c=Math.floor(Math.log(f/a)/Math.log(e)+0.5),c=Math.max(c+b,0);y(g)&&(c=Math.min(c,g));return f/Math.pow(e,c)}}}this.b=new tf(a)}B(R,Ve);R.prototype.T=function(){return this.r("center")};R.prototype.getCenter=R.prototype.T;
R.prototype.G=function(a){var b=this.T(),c=this.U();return new N(b.x-c*a.width/2,b.y-c*a.height/2,b.x+c*a.width/2,b.y+c*a.height/2)};R.prototype.tc=function(){return this.r("projection")};R.prototype.getProjection=R.prototype.tc;R.prototype.U=function(){return this.r("resolution")};R.prototype.getResolution=R.prototype.U;R.prototype.ia=function(){return this.r("rotation")||0};R.prototype.getRotation=R.prototype.ia;R.prototype.Ga=function(){return this.T()!=k&&y(this.U())};
R.prototype.a=function(a){this.p("center",a)};R.prototype.setCenter=R.prototype.a;R.prototype.f=function(a){this.p("projection",a)};R.prototype.setProjection=R.prototype.f;R.prototype.c=function(a){this.p("resolution",a)};R.prototype.setResolution=R.prototype.c;R.prototype.d=function(a){this.p("rotation",a)};R.prototype.setRotation=R.prototype.d;
R.prototype.rotate=function(a,b,c){b=this.b.rotation(b,0);if(c!=k){var d=this.T(),e=new K(d.x-c.x,d.y-c.y);e.rotate(b-this.ia());e.x+=c.x;e.y+=c.y;uf(a,function(){this.a(e);this.d(b)},this)}else this.d(b)};function vf(a,b,c,d){if(c!=k&&d!=k){var e=a.T(),f=a.U(),g=new K(d.x-c*(d.x-e.x)/f,d.y-c*(d.y-e.y)/f);uf(b,function(){this.a(g);this.c(c)},a)}else a.c(c)}
R.prototype.zoom=function(a,b,c,d){var e=this.U();y(e)&&y(d)&&(wf(a),a.l(Ye.zoom({resolution:e,duration:d})));b=this.b.resolution(e,b);vf(this,a,b,c)};function xf(a){$b.call(this);this.element=y(a.element)?a.element:k;this.o=a.target;this.b=k;y(a.map)&&this.a(a.map)}B(xf,$b);xf.prototype.q=function(){Vb(this.element);xf.v.q.call(this)};xf.prototype.a=function(a){this.b===k||Vb(this.element);this.b=a;this.b!==k&&(y(this.o)?this.o:a.D).appendChild(this.element)};function yf(a){this.g=Rb("UL");var b=Pb("DIV",{"class":"ol-attribution ol-unselectable"},this.g);xf.call(this,{element:b,map:a.map,target:a.target});this.f=i;this.c={};this.d={};this.e=k}B(yf,xf);
yf.prototype.l=function(a){var b=a.d;if(b===k)this.f&&(Jc(this.element,l),this.f=l);else{var c={},d={},a=this.b.u();y(a)&&a.forEach(function(a){a=a.W();d[z(a).toString()]=a;a=a.ha();if(a!==k){var b,e;for(e=0;e<a.length;++e)b=a[e],w=z(b).toString(),c[w]=i}});var e=b.attributions,a={},f;for(f in e)a[f]=e[f];f=b.Pa;var b={},g,j,m,q,n;for(n in f)if(e=d[n],q=e.ha(),q!==k){g=f[n];for(e=0;e<q.length;++e)if(j=q[e],m=z(j).toString(),!(m in b)){var r;a:if(j.a===k)r=i;else{var t=r=h,u=h;for(u in g)if(u in j.a){t=
g[u];for(r=0;r<j.a[u].length;++r)if(ce(j.a[u][r],t)){r=i;break a}}r=l}r&&(b[m]=j)}}Va(a,b);n=za(Sa(a),Number);Ha(n);var w;for(f=0;f<n.length;++f)w=n[f].toString(),w in this.c?this.d[w]||(Jc(this.c[w],i),this.d[w]=i):(b=Rb("LI"),b.innerHTML=a[w].b,this.g.appendChild(b),this.c[w]=b,this.d[w]=i),delete c[w];for(w in c)Vb(this.c[w]),delete this.c[w],delete this.d[w];a=0!=n.length;this.f!=a&&(Jc(this.element,a),this.f=a)}};
yf.prototype.a=function(a){this.e!==k&&(C(this.e,I),this.e=k);yf.v.a.call(this,a);a!==k&&(this.e=[H(a,"postrender",this.l,l,this)])};function zf(a){var b=Pb("A",{href:"#zoomIn","class":"ol-zoom-in"});H(b,["touchend","click"],this.d,l,this);var c=Pb("A",{href:"#zoomOut","class":"ol-zoom-out"});H(c,["touchend","click"],this.e,l,this);b=Pb("DIV","ol-zoom ol-unselectable",b,c);xf.call(this,{element:b,map:a.map,target:a.target});this.c=y(a.delta)?a.delta:1}B(zf,xf);zf.prototype.d=function(a){a.B();a=this.b;wf(a);a.a().zoom(a,this.c,h,250)};zf.prototype.e=function(a){a.B();a=this.b;wf(a);a.a().zoom(a,-this.c,h,250)};function Af(){};function Bf(a){this.a=a}B(Bf,Af);Bf.prototype.ma=function(a){var b=a.a;if(a.type==gf&&(Pd||lc(a.a))){var c=a.map,d=a.b(),e=a.a.ka?-this.a:this.a;c.a().zoom(c,e,d);a.B();b.B()}};function Cf(a){return a.aa&&!a.pb&&a.ka}function Df(a){return!a.aa&&!a.pb&&!a.ka}function Ef(a){return!a.aa&&!a.pb&&a.ka};function Ff(){this.e=l;this.s=this.Ia=this.o=this.g=0;this.Na=this.f=k}B(Ff,Af);s=Ff.prototype;s.Gb=x;s.Hb=x;s.cb=qd;s.kc=x;s.ma=function(a){var b=a.map;if(b.Ga()){var b=b.a(),c=a.a;a.type==kf&&this.kc(a);this.e?a.type==mf?(this.d=c.clientX-this.g,this.b=c.clientY-this.o,this.Gb(a)):a.type==jf&&(this.d=c.clientX-this.g,this.b=c.clientY-this.o,this.Hb(a),this.e=l):a.type==lf&&(this.g=c.clientX,this.o=c.clientY,this.b=this.d=0,this.f=b.T(),this.Na=a.b(),this.cb(a)&&(this.e=i,a.B()))}};function Gf(a,b){Ff.call(this);this.l=a;this.a=b;this.c=k}B(Gf,Ff);Gf.prototype.Gb=function(a){this.a&&this.a.a.push({x:a.a.clientX,y:a.a.clientY,Oa:pa()});var a=a.map,b=a.a(),c=b.U(),d=b.ia(),c=new K(-c*this.d,c*this.b);c.rotate(d);d=new K(this.f.x+c.x,this.f.y+c.y);wf(a);b.a(d)};
Gf.prototype.Hb=function(a){var b=a.map,a=b.a();We(a,-1);if(this.a&&$e(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.T();this.c=this.a.Ka(e);b.l(this.c);e=Hf(b,e);b=df(b,new bf(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}};Gf.prototype.cb=function(a){var b=a.a;if(this.l(b)){if(this.a){var c=this.a;c.a.length=0;c.c=0;c.b=0;this.a.a.push({x:b.clientX,y:b.clientY,Oa:pa()})}a=a.map;wf(a);We(a.a(),1);return i}return l};
Gf.prototype.kc=function(a){var b=a.map,c=b.a();this.c!==k&&Ca(b.g,this.c)&&(wf(b),c.a(a.d.t.center),this.c=k)};function If(a){Ff.call(this);this.c=a}B(If,Ff);If.prototype.Gb=function(a){var b=a.map,c=b.e(),a=ef(a),c=Math.atan2(c.height/2-a.y,a.x-c.width/2);if(y(this.a)){var a=c-this.a,d=b.a();wf(b);d.rotate(b,d.ia()-a)}this.a=c};If.prototype.cb=function(a){var b=a.a;return lc(b)&&this.c(b)?(a=a.map,a.a(),wf(a),this.a=h,i):l};function Jf(a){var b=Pb("DIV","ol-dragbox");this.c=k;this.e=a.Na;this.d=k;xf.call(this,{element:b,map:a.map})}B(Jf,xf);Jf.prototype.a=function(a){this.d!==k&&(I(this.d),this.d=k);a!==k&&(this.c=Hf(a,this.e),Cc(this.element,this.c),Kc(this.element,new ae(0,0)),this.d=H(a,mf,this.f,l,this));Jf.v.a.call(this,a)};Jf.prototype.f=function(a){var b=this.b,a=a.b(),b=Hf(b,a);Cc(this.element,new bf(Math.min(b.x,this.c.x),Math.min(b.y,this.c.y)));Kc(this.element,new ae(Math.abs(b.x-this.c.x),Math.abs(b.y-this.c.y)))};function Kf(a){Ff.call(this);this.c=a;this.a=k}B(Kf,Ff);Kf.prototype.Hb=function(a){this.a.a(k);this.a=k;if(64<=this.d*this.d+this.b*this.b){var b=a.map,c=de(this.Na,a.b());uf(b,function(){var a=b.a(),e=b.e();a.a(new K((c.h+c.k)/2,(c.j+c.i)/2));e=Math.max((c.k-c.h)/e.width,(c.i-c.j)/e.height);e=a.b.resolution(e,0);a.c(e);a.d(0)})}};Kf.prototype.cb=function(a){var b=a.a;return lc(b)&&this.c(b)?(this.a=new Jf({map:a.map,Na:this.Na}),i):l};function Lf(a){this.a=a}B(Lf,Af);Lf.prototype.ma=function(a){if("key"==a.type){var b=a.a,c=b.ta;if(40==c||37==c||39==c||38==c){var d=a.map.a(),e=d.U()*this.a,c=40==c?new K(0,-e):37==c?new K(-e,0):39==c?new K(e,0):new K(0,e),e=d.T();d.a(new K(e.x+c.x,e.y+c.y));b.B();a.B()}}};function Mf(){}B(Mf,Af);Mf.prototype.ma=function(a){if("key"==a.type){var b=a.a,c=b.$a;if(43==c||45==c){var d=a.map,c=43==c?4:-4;wf(d);d.a().zoom(d,c,h,100);b.B();a.B()}}};function Nf(a){this.a=a}B(Nf,Af);Nf.prototype.ma=function(a){if("mousewheel"==a.type){var b=a.map,c=a.a,d=a.b(),e=0>c.b?this.a:-this.a,f=b.a();wf(b);f.zoom(b,e,d);a.B();c.B()}};function Of(){this.g=l;this.o={};this.targetTouches=[]}B(Of,Af);function Pf(a){for(var b=a.length,c=0,d=0,e=0;e<b;e++)c+=a[e].clientX,d+=a[e].clientY;return new bf(c/b,d/b)}Of.prototype.e=x;Of.prototype.d=qd;Of.prototype.f=qd;Of.prototype.ma=function(a){var b=a.a.K;y(b.targetTouches)?this.targetTouches=b.targetTouches:(a.type==pf?delete this.o[b.pointerId]:this.o[b.pointerId]=b,this.targetTouches=Ra(this.o));this.g&&(a.type==of?this.e(a):a.type==pf&&(this.g=this.d(a)));a.type==nf&&(this.g=this.f(a))};function Qf(a){Of.call(this);this.a=a;this.b=this.c=k}B(Qf,Of);Qf.prototype.e=function(a){var b=Pf(this.targetTouches);if(this.b!==k){this.a&&this.a.a.push({x:b.x,y:b.y,Oa:pa()});var c=this.b.x-b.x,d=b.y-this.b.y,a=a.map.a(),c=new K(c,d),d=a.U();c.x*=d;c.y*=d;c=c.rotate(a.ia()).add(a.T());a.a(c)}this.b=b};
Qf.prototype.d=function(a){var b=a.map,a=b.a();if(0==this.targetTouches.length){We(a,-1);if(this.a&&$e(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.T();this.c=this.a.Ka(e);b.l(this.c);e=Hf(b,e);b=df(b,new bf(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}return l}this.b=k;return i};Qf.prototype.f=function(a){if(1<=this.targetTouches.length){var b=a.map,c=b.a();this.b=k;this.c!==k&&Ca(b.g,this.c)&&(wf(b),c.a(a.d.t.center),this.c=k);this.a&&(a=this.a,a.a.length=0,a.c=0,a.b=0);We(c,1);return i}return l};function Rf(a){Of.call(this);this.a=l;this.b=0;this.l=y(a)?a:0.3}B(Rf,Of);Rf.prototype.e=function(a){var b=0,c=this.targetTouches[0],d=this.targetTouches[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);y(this.c)&&(b=c-this.c,this.b+=b,!this.a&&Math.abs(this.b)>this.l&&(this.a=i));this.c=c;var a=a.map,c=a.a(),d=Hc(a.b),e=Pf(this.targetTouches);e.x-=d.x;e.y-=d.y;d=df(a,e);this.a&&c.rotate(a,c.ia()+b,d)};Rf.prototype.d=function(a){return 2>this.targetTouches.length?(We(a.map.a(),-1),l):i};
Rf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.c=h,this.a=l,this.b=0,We(a,1),i):l};function Sf(){Of.call(this)}B(Sf,Of);Sf.prototype.e=function(a){var b=1,c=this.targetTouches[0],d=this.targetTouches[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);y(this.a)&&(b=this.a/e);this.a=e;a=a.map;e=a.a();c=Hc(a.b);d=Pf(this.targetTouches);d.x-=c.x;d.y-=c.y;c=df(a,d);vf(e,a,e.U()*b,c)};Sf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a(),c=b.U(),c=b.b.resolution(c,0);vf(b,a,c,h);We(b,-1);return l}return i};
Sf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.a=h,We(a,1),i):l};function Tf(a){P.call(this,a,"m",Uf)}B(Tf,P);var Vf=6378137*Math.PI,Uf=new N(-Vf,-Vf,Vf,Vf),Wf=za(["EPSG:3857","EPSG:102100","EPSG:102113","EPSG:900913"],function(a){return new Tf(a)});Tf.prototype.c=function(a,b){return a/((Math.exp(b.y/6378137)+Math.exp(-(b.y/6378137)))/2)};function Xf(a,b){P.call(this,a,"degrees",Yf,b)}B(Xf,P);var Yf=new N(-180,-90,180,90),Zf=[new Xf("CRS:84"),new Xf("EPSG:4326","neu"),new Xf("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new Xf("urn:ogc:def:crs:OGC:1.3:CRS84")];Xf.prototype.c=aa();function $f(a,b,c,d,e){this.f=e;this.g=a;this.o=c;this.e=b;this.a=new Image;d!==k&&(this.a.crossOrigin=d);this.d={};this.b=k;this.c=0}B($f,od);s=$f.prototype;s.ha=p("f");s.G=p("g");function ag(a,b){if(y(b)){var c,d=z(b);if(d in a.d)return a.d[d];c=Ta(a.d)?a.a:a.a.cloneNode(l);return a.d[d]=c}return a.a}s.L=p("c");s.Ld=function(){this.c=3;C(this.b,I);this.b=k;J(this,"change")};s.Md=function(){this.c=2;C(this.b,I);this.b=k;J(this,"change")};
function bg(a){0==a.c&&(a.c=1,a.b=[tc(a.a,"error",a.Ld,l,a),tc(a.a,"load",a.Md,l,a)],a.a.src=a.o)};function cg(a){this.a=a.resolutions;this.g=this.a.length;this.d=y(a.origin)?a.origin:k;this.f=k;y(a.origins)&&(this.f=a.origins);this.c=k;y(a.tileSizes)&&(this.c=a.tileSizes);this.e=y(a.tileSize)?a.tileSize:this.c===k?new ae(256,256):k}cg.prototype.b=function(a,b,c){for(var d=dg(this,a),a=a.m-1;0<=a&&!b.call(c,a,eg(this,d,this.a[a]));)--a};function fg(a,b){return a.d===k?a.f[b]:a.d}function eg(a,b,c){var d=gg(a,new K(b.h,b.j),c),a=gg(a,new K(b.k,b.i),c,i);return new ue(d.x,d.y,a.x,a.y)}
function hg(a,b){var c=fg(a,b.m),d=a.a[b.m],e=ig(a,b.m);return new K(c.x+(b.x+0.5)*e.width*d,c.y+(b.y+0.5)*e.height*d)}function dg(a,b){var c=fg(a,b.m),d=a.a[b.m],e=ig(a,b.m),f=c.x+b.x*e.width*d,c=c.y+b.y*e.height*d;return new N(f,c,f+e.width*d,c+e.height*d)}function gg(a,b,c,d){var e=rf(a.a,c),f=c/a.a[e],g=fg(a,e),j=ig(a,e),a=f*(b.x-g.x)/(c*j.width),b=f*(b.y-g.y)/(c*j.height);d?(a=Math.ceil(a)-1,b=Math.ceil(b)-1):(a=Math.floor(a),b=Math.floor(b));return new se(e,a,b)}
function ig(a,b){return a.e===k?a.c[b]:a.e};function jg(a){Te.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.tileGrid=y(a.tileGrid)?a.tileGrid:k}B(jg,Te);jg.prototype.f=qd;jg.prototype.d=function(a,b,c,d){var e=i,f,g,j,m;for(j=d.h;j<=d.k;++j)for(m=d.j;m<=d.i;++m)if(f=new se(c,j,m),g=f.toString(),!a[c]||!a[c][g])f=this.b(f),b(f)?(a[c]||(a[c]={}),a[c][g]=f):e=l;return e};
function kg(a,b,c){for(var d=a.tileGrid,e,f,g;0<=b;--b){e=eg(d,c,d.a[b]);for(f=e.h;f<=e.k;++f)for(g=e.j;g<=e.i;++g)a.s(b+"/"+f+"/"+g)}}jg.prototype.s=x;function lg(a,b){L.call(this);this.s=a;this.a=b;H(this.a,Vd("brightness"),this.Jb,l,this);H(this.a,Vd("contrast"),this.Kb,l,this);H(this.a,Vd("hue"),this.Lb,l,this);H(this.a,"load",this.nd,l,this);H(this.a,Vd("opacity"),this.od,l,this);H(this.a,Vd("saturation"),this.Mb,l,this);H(this.a,Vd("visible"),this.qd,l,this)}B(lg,L);function mg(a){J(a,"change")}s=lg.prototype;s.$=p("s");s.Jb=x;s.Kb=x;s.Lb=x;s.Ib=function(a){2===a.target.L()&&wf(this.s.map)};s.nd=function(){mg(this)};s.od=function(){mg(this)};
s.Mb=x;s.qd=function(){mg(this)};s.Pb=function(a){2===a.target.L()&&wf(this.s.map)};function ng(a,b){b.f()&&a.ua.push(oa(function(a,b,e){b=z(a).toString();a.Ba(e.Pa[b])},b))}function og(a,b){var c,d;for(c=0;c<b.length;++c)d=b[c],a[z(d).toString()]=d}function pg(a,b,c,d){b=z(b).toString();c=c.toString();b in a?c in a[b]?(a=a[b][c],a.h=Math.min(a.h,d.h),a.j=Math.min(a.j,d.j),a.k=Math.max(a.k,d.k),a.i=Math.max(a.i,d.i)):a[b][c]=d:(a[b]={},a[b][c]=d)}
function qg(a,b,c){b=z(b).toString();c=c.toString();b in a||(a[b]={});a[b][c]=i};function rg(a,b){$b.call(this);this.oa=a;this.map=b;this.d={};this.F=H(b,Vd(sg),this.sd,l,this);this.e=k;this.u={}}B(rg,$b);s=rg.prototype;s.sa=function(a){var b=this.Ua(a),a=z(a);this.d[a]=b;this.u[a]=H(b,"change",this.pd,l,this)};
function tg(a){var b=a.t,c=a.cc;le(c);pe(c,a.size.width/2,a.size.height/2);qe(c,1/b.resolution,-1/b.resolution);re(c,-b.rotation);pe(c,-b.center.x,-b.center.y);var a=a.vc,b=c[0],d=c[1],e=c[2],f=c[3],g=c[4],j=c[5],m=c[6],q=c[7],n=c[8],r=c[9],t=c[10],u=c[11],w=c[12],D=c[13],E=c[14],c=c[15],U=b*j-d*g,V=b*m-e*g,O=b*q-f*g,Y=d*m-e*j,fa=d*q-f*j,Ka=e*q-f*m,La=n*D-r*w,Ma=n*E-t*w,Na=n*c-u*w,Oa=r*E-t*D,Pa=r*c-u*D,Qa=t*c-u*E,S=U*Qa-V*Pa+O*Oa+Y*Na-fa*Ma+Ka*La;0!=S&&(S=1/S,a[0]=(j*Qa-m*Pa+q*Oa)*S,a[1]=(-d*Qa+e*
Pa-f*Oa)*S,a[2]=(D*Ka-E*fa+c*Y)*S,a[3]=(-r*Ka+t*fa-u*Y)*S,a[4]=(-g*Qa+m*Na-q*Ma)*S,a[5]=(b*Qa-e*Na+f*Ma)*S,a[6]=(-w*Ka+E*O-c*V)*S,a[7]=(n*Ka-t*O+u*V)*S,a[8]=(g*Pa-j*Na+q*La)*S,a[9]=(-b*Pa+d*Na-f*La)*S,a[10]=(w*fa-D*O+c*U)*S,a[11]=(-n*fa+r*O-u*U)*S,a[12]=(-g*Oa+j*Ma-m*La)*S,a[13]=(b*Oa-d*Ma+e*La)*S,a[14]=(-w*Y+D*V-E*U)*S,a[15]=(n*Y-r*V+t*U)*S)}s.Ua=function(a){return new lg(this,a)};s.q=function(){Ja(this.d,function(a){ec(a)});I(this.F);this.e===k||C(this.e,I);rg.v.q.call(this)};s.Xa=vd;
function ug(a,b){var c=z(b);return a.d[c]}s.pd=function(){vg(this.map)};s.rd=function(a){this.sa(a.a)};s.sd=function(){dc(Ra(this.d));this.d={};this.e!==k&&(C(this.e,I),this.e=k);var a=this.map.u();a!=k&&(a.forEach(this.sa,this),this.e=[H(a,"add",this.rd,l,this),H(a,"remove",this.td,l,this)])};s.td=function(a){this.Rb(a.a)};s.Rb=function(a){a=z(a);if(a in this.d){var b=this.d[a];delete this.d[a];I(this.u[a]);delete this.u[a];a=b}else a=k;ec(a)};s.nb=x;function wg(){};function xg(a){Te.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.Fa=y(a.Fa)?a.Fa:wg;this.d=y(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=y(a.resolutions)?a.resolutions:k}B(xg,Te);function yg(a,b,c,d){var e=k,d=a.Fa(b,d);y(d)&&(e=new $f(b,c,d,a.d,a.ha()));return e};function zg(a){Q.call(this,a)}B(zg,Q);function Ag(a){Q.call(this,a)}B(Ag,Q);function Bg(a,b){lg.call(this,a,b)}B(Bg,lg);function Cg(a,b){lg.call(this,a,b);this.b=k;this.c=he()}B(Cg,Bg);Cg.prototype.I=function(){return this.b===k?k:ag(this.b,this)};Cg.prototype.J=p("c");
Cg.prototype.ea=function(a){var b=a.t,c=b.center,d=b.resolution,b=b.rotation,e;e=this.a.W();var f=a.A;!f[0]&&!f[1]&&(e=e.I(a.extent,d),e!==k&&(f=e.L(),0==f?(tc(e,"change",this.Ib,l,this),bg(e)):2==f&&(this.b=e)));if(this.b!==k){e=this.b;var f=e.G(),g=e.e,j=this.c;le(j);pe(j,a.size.width/2,a.size.height/2);re(j,b);qe(j,g/d,g/d);pe(j,(f.h-c.x)/g,(c.y-f.i)/g);og(a.attributions,e.ha())}};function Dg(a,b){lg.call(this,a,b);this.d=this.b=this.c=k;this.e=he()}B(Dg,Bg);Dg.prototype.I=p("c");Dg.prototype.J=p("e");
Dg.prototype.ea=function(a){var b=a.t,c=this.a.W(),d=z(c).toString(),e=c.tileGrid,f=rf(e.a,b.resolution),g=ig(e,f),j=e.a[f],m=eg(e,a.extent,j),q=new ae(g.width*m.b(),g.height*m.a()),n,r;this.c===k?(n=Rb("CANVAS"),n.width=q.width,n.height=q.height,r=n.getContext("2d"),this.c=n,this.b=q,this.d=r):(n=this.c,r=this.d,this.b.width==q.width&&this.b.height==q.height||(n.width=q.width,n.height=q.height,this.b=q));r.clearRect(0,0,q.width,q.height);q={};q[f]={};var g=na(c.d,c,q,function(a){return a!==k&&2==
a.L()}),t,u,w,D;for(w=m.h;w<=m.k;++w)for(D=m.j;D<=m.i;++D)if(u=new se(f,w,D),n=c.b(u),n!==k){t=n.L();if(0==t)tc(n,"change",this.Pb,l,this),qg(a.Qa,c,u),t=hg(e,u),ye(a.Ub,n,d,t);else if(2==t){q[f][u.toString()]=n;continue}else if(3==t)continue;e.b(u,g)}u=za(Sa(q),Number);Ha(u);var d=ee(dg(e,new se(f,m.h,m.i))),E,U;for(w=0;w<u.length;++w)if(n=u[w],g=ig(e,n),D=q[n],n==f)for(E in D)n=D[E],r.drawImage(n.I(),g.width*(n.X.x-m.h),g.height*(m.i-n.X.y));else for(E in t=e.a[n]/j,D)n=D[E],U=dg(e,n.X),r.drawImage(n.I(),
(U.h-d.x)/j,(d.y-U.i)/j,t*g.width,t*g.height);pg(a.Pa,c,f,m);kg(c,f,a.extent);ng(a,c);c=this.e;le(c);pe(c,a.size.width/2,a.size.height/2);re(c,b.rotation);qe(c,j/b.resolution,j/b.resolution);pe(c,(d.x-b.center.x)/j,(b.center.y-d.y)/j)};function Eg(a,b){rg.call(this,a,b);this.f=new ae(a.clientHeight,a.clientWidth);this.c=Rb("CANVAS");this.c.height=this.f.height;this.c.width=this.f.width;this.c.className="ol-unselectable";Ub(a,this.c);this.g=i;this.o=this.c.getContext("2d")}B(Eg,rg);Eg.prototype.Ua=function(a){return a instanceof zg?new Cg(this,a):a instanceof Ag?new Dg(this,a):k};Eg.prototype.Xa=p("c");
Eg.prototype.nb=function(a){if(a===k)this.g&&(Jc(this.c,l),this.g=l);else{var b=a.size;this.f.width==b.width&&this.f.height==b.height||(this.c.width=b.width,this.c.height=b.height,this.f=b);var c=this.o;c.setTransform(1,0,0,1,0,0);var d=a.backgroundColor;c.fillStyle="rgb("+d.c.toFixed(0)+","+d.b.toFixed(0)+","+d.a.toFixed(0)+")";c.globalAlpha=1;c.fillRect(0,0,b.width,b.height);C(a.ib,function(b){var d=a.hb[z(b)];if(d.visible)if(d.rb){var g=ug(this,b);g.ea(a,d);b=g.I();b!==k&&(g=g.J(),c.setTransform(g[0],
g[1],g[4],g[5],g[12],g[13]),c.globalAlpha=d.opacity,c.drawImage(b,0,0))}else a.Q=i},this);this.g||(Jc(this.c,i),this.g=i);tg(a)}};var Fg=function(){if(!("HTMLCanvasElement"in v))return l;try{return Rb("CANVAS").getContext("2d")!==k}catch(a){return l}}();function Gg(a,b){var c;if(y(6)){var d=Array(16);for(c=0;16>c;++c)d[c]=b[c].toFixed(6);c=d.join(",")}else c=b.join(",");c="matrix3d("+c+")";d=a.style;d.WebkitTransform=c;d.MozTransform=c;d.a=c;d.transform=c};function Hg(a,b,c){lg.call(this,a,b);this.target=c}B(Hg,lg);Hg.prototype.q=function(){Vb(this.target);Hg.v.q.call(this)};function Ig(a,b){var c=Rb("DIV");c.className="ol-layer-image";c.style.position="absolute";Hg.call(this,a,b,c);this.b=k;this.c=je()}B(Ig,Hg);
Ig.prototype.ea=function(a){var b=a.t,c=b.center,d=b.resolution,e=b.rotation,b=this.b,f=this.a.W(),g=a.A;!g[0]&&!g[1]&&(f=f.I(a.extent,d),f!==k&&(g=f.L(),0==g?(tc(f,"change",this.Ib,l,this),bg(f)):2==g&&(b=f)));if(b!==k){var g=b.G(),j=b.e,f=he();le(f);pe(f,a.size.width/2,a.size.height/2);re(f,e);qe(f,j/d,j/d);pe(f,(g.h-c.x)/j,(c.y-g.i)/j);b!=this.b&&(c=ag(b,this),c.style.position="absolute",Tb(this.target),this.target.appendChild(c),this.b=b);ne(f,this.c)||(Gg(this.target,f),ke(this.c,f));og(a.attributions,
b.ha())}};function Jg(a,b){var c=Rb("DIV");c.className="ol-layer-tile";c.style.position="absolute";Hg.call(this,a,b,c);this.c=i;this.d=1;this.b={}}B(Jg,Hg);
Jg.prototype.ea=function(a,b){if(b.visible){var c=a.t,d=this.a.W(),e=z(d).toString(),f=d.tileGrid,g=rf(f.a,c.resolution),j=eg(f,a.extent,f.a[g]),m={};m[g]={};var q=na(d.d,d,m,function(a){return a!==k&&2==a.L()}),n,r,t,u,w;for(u=j.h;u<=j.k;++u)for(w=j.j;w<=j.i;++w)if(t=new se(g,u,w),n=d.b(t),n!==k){r=n.L();if(0==r)tc(n,"change",this.Pb,l,this),qg(a.Qa,d,t),r=hg(f,t),ye(a.Ub,n,e,r);else if(2==r){m[g][t.toString()]=n;continue}else if(3==r)continue;f.b(t,q)}n=za(Sa(m),Number);Ha(n);var e={},D;for(t=0;t<
n.length;++t){u=n[t];u in this.b?q=this.b[u]:(q=gg(f,c.center,f.a[u]),q=new Kg(f,q),e[u]=i,this.b[u]=q);u=m[u];for(D in u){w=q;r=u[D];var E=r.X,U=E.toString();if(!(U in w.b)){var V=ig(w.d,E.m),O=r.I(w),Y=O.style;Y.position="absolute";Y.left=(E.x-w.c.x)*V.width+"px";Y.top=(w.c.y-E.y)*V.height+"px";w.a===k&&(w.a=document.createDocumentFragment());w.a.appendChild(O);w.b[U]=r}}q.a!==k&&(q.target.appendChild(q.a),q.a=k)}f=za(Sa(this.b),Number);Ha(f);n=he();for(D=0;D<f.length;++D)if(u=f[D],q=this.b[u],
u in m)if(w=q.g,t=q.f,le(n),pe(n,a.size.width/2,a.size.height/2),re(n,c.rotation),qe(n,w/c.resolution,w/c.resolution),pe(n,(t.x-c.center.x)/w,(c.center.y-t.y)/w),t=q,w=n,ne(w,t.e)||(Gg(t.target,w),ke(t.e,w)),u in e){for(t=u-1;0<=t;--t)if(t in this.b){u=this.b[t].target;u.parentNode&&u.parentNode.insertBefore(q.target,u.nextSibling);break}0>t&&Ub(this.target,q.target)}else{if(!a.A[0]&&!a.A[1]){r=eg(q.d,a.extent,q.d.a[q.c.m]);t=[];w=u=h;for(w in q.b)u=q.b[w],r.contains(u.X)||t.push(u);r=h;for(r=0;r<
t.length;++r)u=t[r],w=u.X.toString(),Vb(u.I(q)),delete q.b[w]}}else Vb(q.target),delete this.b[u];b.opacity!=this.d&&(c=b.opacity,m=this.target.style,"opacity"in m?m.opacity=c:"MozOpacity"in m?m.MozOpacity=c:"filter"in m&&(m.filter=""===c?"":"alpha(opacity="+100*c+")"),this.d=b.opacity);b.visible&&!this.c&&(Jc(this.target,i),this.c=i);pg(a.Pa,d,g,j);kg(d,g,a.extent);ng(a,d)}else this.c&&(Jc(this.target,l),this.c=l)};
function Kg(a,b){this.target=Rb("DIV");this.target.style.position="absolute";this.d=a;this.c=b;this.f=ee(dg(a,b));this.g=a.a[b.m];this.b={};this.a=k;this.e=je()};function Lg(a,b){rg.call(this,a,b);this.c=Rb("DIV");this.c.className="ol-layers ol-unselectable";var c=this.c.style;c.position="absolute";c.width="100%";c.height="100%";Ub(a,this.c);this.f=i}B(Lg,rg);Lg.prototype.sa=function(a){Lg.v.sa.call(this,a);vg(this.map)};Lg.prototype.Ua=function(a){var b;a instanceof Ag?b=new Jg(this,a):a instanceof zg&&(b=new Ig(this,a));this.c.appendChild(b.target);return b};
Lg.prototype.nb=function(a){a===k?this.f&&(Jc(this.c,l),this.f=l):(C(a.ib,function(b){var c=a.hb[z(b)];c.rb&&ug(this,b).ea(a,c)},this),this.f||(Jc(this.c,i),this.f=i),tg(a))};function Mg(a){this.a=a}Mg.prototype.W=p("a");function Ng(a){this.a=a}B(Ng,Mg);Ng.prototype.b=function(){return 35632};function Og(a){this.a=a}B(Og,Mg);Og.prototype.b=function(){return 35633};function Pg(a,b){lg.call(this,a,b);this.D=new Float32Array(16);this.H=new Float32Array(16);this.oa=new Float32Array(16);this.Ma=new Float32Array(16);this.F=new Float32Array(16);this.c=i;this.Jb();this.Kb();this.Lb();this.Mb()}B(Pg,lg);function Qg(a){if(a.c){var b=a.F;le(b);me(b,a.H,b);me(b,a.D,b);me(b,a.Ma,b);me(b,a.oa,b);a.c=l}return a.F}s=Pg.prototype;s.$=function(){return Pg.v.$.call(this)};s.Jb=function(){var a=this.a.b(),b=this.D;le(b);b[12]=a;b[13]=a;b[14]=a;b[15]=1;this.c=i;mg(this)};
s.Kb=function(){var a=this.a.c(),b=this.H;le(b);b[0]=a;b[5]=a;b[10]=a;b[15]=1;a=-0.5*a+0.5;b[12]=a;b[13]=a;b[14]=a;b[15]=1;this.c=i;mg(this)};s.Lb=function(){var a=this.a.d(),b=Math.cos(a),a=Math.sin(a);ie(this.oa,0.213+0.787*b-0.213*a,0.213-0.213*b+0.143*a,0.213-0.213*b-0.787*a,0,0.715-0.715*b-0.715*a,0.715+0.285*b+0.14*a,0.715-0.715*b+0.715*a,0,0.072-0.072*b+0.928*a,0.072-0.072*b-0.283*a,0.072+0.928*b+0.072*a,0,0,0,0,1);this.c=i;mg(this)};
s.Mb=function(){var a=this.a.f();ie(this.Ma,0.213+0.787*a,0.213-0.213*a,0.213-0.213*a,0,0.715-0.715*a,0.715+0.285*a,0.715-0.715*a,0,0.072-0.072*a,0.072-0.072*a,0.072+0.928*a,0,0,0,0,1);this.c=i;mg(this)};s.Ea=x;function Rg(a,b){Pg.call(this,a,b);this.b=this.d=k;this.e=je();this.f=he()}B(Rg,Pg);s=Rg.prototype;s.q=function(){var a=this.$().a;a.isContextLost()||a.deleteTexture(this.b);Rg.v.q.call(this)};s.fc=p("e");s.gc=p("b");s.hc=p("f");s.Ea=function(){this.b=k};
s.ea=function(a){var b=this.$().a,c=a.t,d=c.center,e=c.resolution,f=c.rotation,c=this.d,g=this.b,j=this.a.W(),m=a.A;!m[0]&&!m[1]&&(j=j.I(a.extent,e),j!==k&&(m=j.L(),0==m?(tc(j,"change",this.Ib,l,this),bg(j)):2==m&&(c=j,g=ag(j,this),j=this.$().a,m=j.createTexture(),j.bindTexture(3553,m),j.texImage2D(3553,0,6408,6408,5121,g),j.texParameteri(3553,10242,33071),j.texParameteri(3553,10243,33071),j.texParameteri(3553,10241,9729),j.texParameteri(3553,10240,9729),g=m,this.b===k||a.ua.push(oa(function(a,b){a.isContextLost()||
a.deleteTexture(b)},b,this.b)))));c!==k&&(m=this.$().Xa(),b=c.G(),j=m.width*e,e*=m.height,m=this.f,le(m),qe(m,2/j,2/e),re(m,-f),pe(m,b.h-d.x,b.j-d.y),qe(m,b.b()/2,b.a()/2),pe(m,1,1),d=this.e,le(d),qe(d,1,-1),pe(d,0,-1),this.d=c,this.b=g,og(a.attributions,c.ha()))};function Sg(a,b){this.M=a;this.Y=b}Sg.prototype.R=function(){return new Sg(this.M,this.Y)};function Tg(a){this.a=[];if(a)a:{var b,c;if(a instanceof Tg){if(b=a.V(),c=a.N(),0>=a.Z()){for(var a=this.a,d=0;d<b.length;d++)a.push(new Sg(b[d],c[d]));break a}}else b=Sa(a),c=Ra(a);for(d=0;d<b.length;d++)Ug(this,b[d],c[d])}}function Ug(a,b,c){var d=a.a;d.push(new Sg(b,c));b=d.length-1;a=a.a;for(c=a[b];0<b;)if(d=b-1>>1,a[d].M>c.M)a[b]=a[d],b=d;else break;a[b]=c}s=Tg.prototype;
s.remove=function(){var a=this.a,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Ba(a);else{a[0]=a.pop();for(var a=0,b=this.a,d=b.length,e=b[a];a<d>>1;){var f=2*a+1,g=2*a+2,f=g<d&&b[g].M<b[f].M?g:f;if(b[f].M>e.M)break;b[a]=b[f];a=f}b[a]=e}return c.Y}};s.N=function(){for(var a=this.a,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].Y);return b};s.V=function(){for(var a=this.a,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].M);return b};s.R=function(){return new Tg(this)};s.Z=function(){return this.a.length};
s.Ha=function(){return 0==this.a.length};s.clear=function(){Ba(this.a)};function Vg(){Tg.call(this)}B(Vg,Tg);function Wg(){this.a="precision mediump float;\n\nuniform sampler2D uTexture;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n}"}B(Wg,Ng);ba(Wg);function Xg(){this.a="attribute vec2 aPosition;\nattribute vec2 aTexCoord;\n\nvarying vec2 vTexCoord;\n\nuniform vec4 uTileOffset;\n\nvoid main(void) {\n gl_Position.xy = aPosition * uTileOffset.xy + uTileOffset.zw;\n gl_Position.z = 0.;\n gl_Position.w = 1.;\n vTexCoord = aTexCoord;\n}"}B(Xg,Og);ba(Xg);
function Yg(a,b){Pg.call(this,a,b);this.wb=Wg.Ya();this.Ra=Xg.Ya();this.e=this.g=this.f=this.z=k;this.l=h;this.d=he();this.yb=je();this.u=this.b=k}B(Yg,Pg);s=Yg.prototype;s.q=function(){var a=this.$().a;a.isContextLost()||(a.deleteBuffer(this.f),a.deleteFramebuffer(this.e),a.deleteTexture(this.g));Yg.v.q.call(this)};s.fc=p("d");s.gc=p("g");s.hc=p("yb");s.Ea=function(){this.e=this.g=this.f=this.z=k;this.l=h};
s.ea=function(a){var b=this.$(),c=b.a,d=a.t,e=d.center,f=this.a.W(),g=z(f).toString(),j=f.tileGrid,m=rf(j.a,d.resolution),q=j.a[m],n=eg(j,a.extent,q),r;if(this.b!==k&&this.b.h==n.h&&this.b.j==n.j&&this.b.k==n.k&&this.b.i==n.i)r=this.u;else{var t=new ae(n.b(),n.a()),u=ig(j,m),t=Math.max(t.width*u.width,t.height*u.height),t=Math.pow(2,Math.ceil(Math.log(t)/Math.log(2))),w=new ae(q*t,q*t),D=fg(j,m),E=D.x+n.h*u.width*q,q=D.y+n.j*u.height*q;r=new N(E,q,E+w.width,q+w.height);q=this.$().a;!y(this.l)||this.l!=
t?(a.ua.push(oa(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))},q,this.e,this.g)),u=q.createTexture(),q.bindTexture(3553,u),q.texImage2D(3553,0,6408,t,t,0,6408,5121,k),q.texParameteri(3553,10240,9729),q.texParameteri(3553,10241,9729),E=q.createFramebuffer(),q.bindFramebuffer(36160,E),q.framebufferTexture2D(36160,36064,3553,u,0),this.g=u,this.e=E,this.l=t):q.bindFramebuffer(36160,this.e);c.viewport(0,0,t,t);c.clearColor(0,0,0,0);c.clear(16384);c.disable(3042);t=Zg(b,
this.wb,this.Ra);c.useProgram(t);this.z===k&&(this.z={ya:c.getAttribLocation(t,"aPosition"),za:c.getAttribLocation(t,"aTexCoord"),Ud:c.getUniformLocation(t,"uTileOffset"),Vb:c.getUniformLocation(t,"uTexture")});this.f===k?(t=c.createBuffer(),c.bindBuffer(34962,t),c.bufferData(34962,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),35044),this.f=t):c.bindBuffer(34962,this.f);c.enableVertexAttribArray(this.z.ya);c.vertexAttribPointer(this.z.ya,2,5126,l,16,0);c.enableVertexAttribArray(this.z.za);c.vertexAttribPointer(this.z.za,
2,5126,l,16,8);c.uniform1i(this.z.Vb,0);var U={};U[m]={};for(var q=na(f.d,f,U,function(a){return a!==k&&2==a.L()&&$g(b.b,a.la())}),t=new Vg,V=i,O,Y,D=n.h;D<=n.k;++D)for(Y=n.j;Y<=n.i;++Y)if(E=new se(m,D,Y),u=f.b(E),u!==k){O=u.L();if(0==O)tc(u,"change",this.Pb,l,this),qg(a.Qa,f,E),O=hg(j,E),ye(a.Ub,u,g,O);else if(2==O)if($g(b.b,u.la())){U[m][E.toString()]=u;continue}else O=hg(j,E),V=O.x-e.x,O=O.y-e.y,V=Math.sqrt(V*V+O*O),Ug(t,V,u);else if(3==O)continue;V=l;j.b(E,q)}e=za(Sa(U),Number);Ha(e);var fa=new Float32Array(4);
C(e,function(a){Ja(U[a],function(a){var d=dg(j,a.X),e=2*d.a()/w.height,f=2*(d.h-r.h)/w.width-1,g=2*(d.j-r.j)/w.height-1;fa[0]=2*d.b()/w.width;fa[1]=e;fa[2]=f;fa[3]=g;c.uniform4fv(this.z.Ud,fa);ah(b,a);c.drawArrays(5,0,4)},this)},this);t.Ha()||a.ua.push(oa(function(a,b){var c,d;for(c=0;!b.Ha()&&4>c;++c)d=b.remove(),ah(a,d)},b,t));V?(this.b=n,this.u=r):(this.u=this.b=k,a.Q=i)}pg(a.Pa,f,m,n);kg(f,m,a.extent);ng(a,f);le(this.d);pe(this.d,(d.center.x-r.h)/(r.k-r.h),(d.center.y-r.j)/(r.i-r.j));re(this.d,
d.rotation);qe(this.d,a.size.width*d.resolution/(r.k-r.h),a.size.height*d.resolution/(r.i-r.j));pe(this.d,-0.5,-0.5)};function bh(){this.n=0;this.c={};this.b=this.a=k}s=bh.prototype;s.clear=function(){this.n=0;this.c={};this.b=this.a=k};function $g(a,b){return a.c.hasOwnProperty(b)}s.forEach=function(a,b){for(var c=this.a;c!==k;)a.call(b,c.Y,c.M,this),c=c.S};function ch(a,b){var c=a.c[b];if(c===a.b)return c.Y;c===a.a?(a.a=a.a.S,a.a.fa=k):(c.S.fa=c.fa,c.fa.S=c.S);c.S=k;c.fa=a.b;a.b.S=c;a.b=c;return c.Y}s.Z=p("n");s.V=function(){var a=Array(this.n),b=0,c;for(c=this.b;c!==k;c=c.fa)a[b++]=c.M;return a};
s.N=function(){var a=Array(this.n),b=0,c;for(c=this.b;c!==k;c=c.fa)a[b++]=c.Y;return a};function dh(a){var b=a.a;delete a.c[b.M];b.S!==k&&(b.S.fa=k);a.a=b.S;a.a===k&&(a.b=k);--a.n}function eh(a,b,c){c={M:b,S:k,fa:a.b,Y:c};a.b===k?a.a=c:a.b.S=c;a.b=c;a.c[b]=c;++a.n};var fh=["webgl","webgl-experimental","webkit-3d","moz-webgl"];function gh(a,b){var c,d,e=fh.length;for(d=0;d<e;++d)try{if(c=a.getContext(fh[d],b),c!==k)return c}catch(f){}return k}var hh=function(){if(!("WebGLRenderingContext"in v))return l;try{var a=Rb("CANVAS");return gh(a)!==k}catch(b){return l}}();function ih(){this.a="precision mediump float;\n\nuniform mat4 uColorMatrix;\nuniform float uOpacity;\nuniform sampler2D uTexture;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n\n vec4 texColor = texture2D(uTexture, vTexCoord);\n vec4 color = uColorMatrix * vec4(texColor.rgb, 1.);\n color.a = texColor.a * uOpacity;\n\n gl_FragColor = color;\n\n}"}B(ih,Ng);ba(ih);
function jh(){this.a="attribute vec2 aPosition;\nattribute vec2 aTexCoord;\n\nuniform mat4 uTexCoordMatrix;\nuniform mat4 uVertexCoordMatrix;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n gl_Position = uVertexCoordMatrix * vec4(aPosition, 0., 1.);\n vTexCoord = (uTexCoordMatrix * vec4(aTexCoord, 0., 1.)).st;\n}"}B(jh,Og);ba(jh);
function kh(a,b){rg.call(this,a,b);this.c=Rb("CANVAS");this.c.height=a.clientHeight;this.c.width=a.clientWidth;this.c.className="ol-unselectable";Ub(a,this.c);this.s=i;this.D=new ae(a.clientHeight,a.clientWidth);this.a=gh(this.c,{alpha:l,antialias:i,depth:l,preserveDrawingBuffer:l,stencil:l});H(this.c,"webglcontextlost",this.Ea,l,this);H(this.c,"webglcontextrestored",this.Id,l,this);this.l=this.z=k;this.g={};this.f={};this.b=new bh;this.o=0;this.H=ih.Ya();this.J=jh.Ya();lh(this)}B(kh,rg);s=kh.prototype;
s.sa=function(a){kh.v.sa.call(this,a);a.a()&&vg(this.map)};
function ah(a,b){var c=a.a,d=b.la();if($g(a.b,d))d=ch(a.b,d),c.bindTexture(3553,d.Tb),9729!=d.nc&&(c.texParameteri(3553,10240,9729),d.nc=9729),9729!=d.oc&&(c.texParameteri(3553,10240,9729),d.oc=9729);else{var e=c.createTexture();c.bindTexture(3553,e);c.texImage2D(3553,0,6408,6408,5121,b.I());c.texParameteri(3553,10240,9729);c.texParameteri(3553,10241,9729);c.texParameteri(3553,10242,33071);c.texParameteri(3553,10243,33071);eh(a.b,d,{Tb:e,nc:9729,oc:9729})}}
s.Ua=function(a){var b=k;a instanceof Ag?b=new Yg(this,a):a instanceof zg&&(b=new Rg(this,a));return b};s.q=function(){var a=this.a;a.isContextLost()||(Ja(this.f,function(b){a.deleteProgram(b)}),Ja(this.g,function(b){a.deleteShader(b)}),this.b.forEach(function(b){b===k||a.deleteTexture(b.Tb)}));kh.v.q.call(this)};s.Zc=function(a,b){for(var c=this.a,d;1024<this.b.Z()-this.o;){d=this.b.a.Y;if(d===k)if(+this.b.a.M==b.time)break;else--this.o;else c.deleteTexture(d.Tb);dh(this.b)}};s.Xa=p("c");
function Zg(a,b,c){var d=z(b)+"/"+z(c);if(d in a.f)return a.f[d];var e=a.a,f=e.createProgram();e.attachShader(f,mh(a,b));e.attachShader(f,mh(a,c));e.linkProgram(f);return a.f[d]=f}function mh(a,b){var c=z(b);if(c in a.g)return a.g[c];var d=a.a,e=d.createShader(b.b());d.shaderSource(e,b.W());d.compileShader(e);return a.g[c]=e}s.Ea=function(a){a.B();this.l=this.z=k;this.g={};this.f={};this.b.clear();this.o=0;Ja(this.d,function(a){a.Ea()})};s.Id=function(){lh(this);vg(this.map)};
function lh(a){a=a.a;a.activeTexture(33984);a.blendFunc(770,771);a.disable(2884);a.disable(2929);a.disable(3089)}s.Rb=function(a){kh.v.Rb.call(this,a);a.a()&&vg(this.map)};
s.nb=function(a){var b=this.a;if(a===k)return this.s&&(Jc(this.c,l),this.s=l),l;eh(this.b,a.time.toString(),k);++this.o;C(a.ib,function(b){var c=a.hb[z(b)];c.visible&&c.rb&&ug(this,b).ea(a,c)},this);var c=a.size;this.D.width==c.width&&this.D.height==c.height||(this.c.width=c.width,this.c.height=c.height,this.D=c);b.bindFramebuffer(36160,k);var d=a.backgroundColor;b.clearColor(d.c/255,d.b/255,d.a/255,d.d);b.clear(16384);b.enable(3042);b.viewport(0,0,c.width,c.height);c=Zg(this,this.H,this.J);b.useProgram(c);
this.z===k&&(this.z={ya:b.getAttribLocation(c,"aPosition"),za:b.getAttribLocation(c,"aTexCoord"),Rd:b.getUniformLocation(c,"uColorMatrix"),Td:b.getUniformLocation(c,"uTexCoordMatrix"),Vd:b.getUniformLocation(c,"uVertexCoordMatrix"),Sd:b.getUniformLocation(c,"uOpacity"),Vb:b.getUniformLocation(c,"uTexture")});this.l===k?(c=b.createBuffer(),b.bindBuffer(34962,c),b.bufferData(34962,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),35044),this.l=c):b.bindBuffer(34962,this.l);b.enableVertexAttribArray(this.z.ya);
b.vertexAttribPointer(this.z.ya,2,5126,l,16,0);b.enableVertexAttribArray(this.z.za);b.vertexAttribPointer(this.z.za,2,5126,l,16,8);b.uniform1i(this.z.Vb,0);C(a.ib,function(c){var d=a.hb[z(c)];d.visible&&d.rb&&(d=ug(this,c),b.uniformMatrix4fv(this.z.Td,l,d.fc()),b.uniformMatrix4fv(this.z.Vd,l,d.hc()),b.uniformMatrix4fv(this.z.Rd,l,Qg(d)),b.uniform1f(this.z.Sd,c.e()),b.bindTexture(3553,d.gc()),b.drawArrays(5,0,4))},this);this.s||(Jc(this.c,i),this.s=i);tg(a);1024<this.b.Z()-this.o&&a.ua.push(na(this.Zc,
this))};var nh={},oh={be:"canvas",ge:"dom",Pe:"webgl"},ph=["webgl","canvas","dom"],sg="layers";
function T(a){var b,c;L.call(this);var d={};d[sg]=y(a.layers)?a.layers:new M;d.view=y(a.view)?a.view:new R;c=rg;var e;e=y(a.renderers)?a.renderers:y(a.renderer)?[a.renderer]:ph;var f;for(b=0;b<e.length;++b)if(f=e[b],"canvas"==f){if(Fg){c=Eg;break}}else if("dom"==f){c=Lg;break}else if("webgl"==f&&hh){c=kh;break}e=[];(y(a.attributionControl)?a.attributionControl:1)&&e.push(new yf({}));if(y(a.zoomControl)?a.zoomControl:1)e.push(new zf({delta:y(a.zoomDelta)?a.zoomDelta:4}));if(y(a.interactions))b=a.interactions;
else{b=new M;(y(a.rotate)?a.rotate:1)&&b.push(new If(Cf));if(y(a.doubleClickZoom)?a.doubleClickZoom:1)b.push(new Bf(y(a.zoomDelta)?a.zoomDelta:4));(y(a.touchPan)?a.touchPan:1)&&b.push(new Qf(new Ze(-0.005,0.05,100)));(y(a.touchRotate)?a.touchRotate:1)&&b.push(new Rf);(y(a.touchZoom)?a.touchZoom:1)&&b.push(new Sf);(y(a.dragPan)?a.dragPan:1)&&b.push(new Gf(Df,new Ze(-0.005,0.05,100)));f=y(a.keyboardPanOffset)?a.keyboardPanOffset:80;if(y(a.keyboard)?a.keyboard:1)b.push(new Lf(f)),b.push(new Mf);if(y(a.mouseWheelZoom)?
a.mouseWheelZoom:1)b.push(new Nf(y(a.mouseWheelZoomDelta)?a.mouseWheelZoomDelta:1));(y(a.shiftDragZoom)?a.shiftDragZoom:1)&&b.push(new Kf(Ef))}a=ga(a.target)?document.getElementById(a.target):a.target;this.c=new wd(this.Nd,h,this);cc(this,this.c);this.Jc=he();this.Nc=he();this.d=k;this.f=0;this.s=l;this.H=a;this.F=k;this.b=Pb("DIV","ol-viewport");this.b.style.position="relative";this.b.style.overflow="hidden";this.b.style.width="100%";this.b.style.height="100%";this.b.style.msTouchAction="none";this.H.appendChild(this.b);
this.D=Pb("DIV","ol-overlaycontainer");H(this.D,["click",Pd?"touchstart":"mousedown"],gc);this.b.appendChild(this.D);a=new ff(this);H(a,Ra(qf),this.uc,l,this);cc(this,a);a=new Fd(document);H(a,"key",this.ic,l,this);cc(this,a);a=new Md(this.b);H(a,"mousewheel",this.ic,l,this);cc(this,a);this.wb=b;this.J=new c(this.b,this);cc(this,this.J);this.Qc=new Ad;H(this.Qc,"resize",this.jc,l,this);this.g=[];this.yb=[];this.Mc=na(this.Ad,this);this.oa=new xe(na(this.cd,this));H(this,Vd("view"),this.Gd,l,this);
H(this,Vd("size"),this.Cd,l,this);H(this,Vd("backgroundColor"),this.ld,l,this);this.mb(d);this.jc();C(e,function(a){a.a(this)},this)}B(T,L);T.prototype.l=function(a){wf(this);this.g.push(a)};T.prototype.Ic=function(a){wf(this);Array.prototype.push.apply(this.g,a)};T.prototype.q=function(){Vb(this.b);T.v.q.call(this)};T.prototype.Ma=function(){return this.r("backgroundColor")};T.prototype.getBackgroundColor=T.prototype.Ma;T.prototype.Lc=p("J");
function df(a,b){var c=a.d;if(c===k)return k;var d=[b.x,b.y,0];oe(c.vc,d,d);return new K(d[0],d[1])}T.prototype.Kc=p("wb");T.prototype.u=function(){return this.r(sg)};T.prototype.getLayers=T.prototype.u;function Hf(a,b){var c=a.d;if(c===k)return k;var d=[b.x,b.y,0];oe(c.cc,d,d);return new bf(d[0],d[1])}T.prototype.e=function(){return this.r("size")};T.prototype.getSize=T.prototype.e;T.prototype.a=function(){return this.r("view")};T.prototype.getView=T.prototype.a;s=T.prototype;
s.cd=function(a,b,c){var d=this.d;if(d===k||!(b in d.Qa)||!d.Qa[b][a.X.toString()])return Infinity;b=d.t.center;a=c.x-b.x;c=c.y-b.y;return a*a+c*c};s.ic=function(a,b){this.uc(new cf(b||a.type,this,a))};s.uc=function(a){a.d=this.d;var b=this.wb.a;if(J(this,a)!==l)for(var c=b.length-1;0<=c&&!(b[c].ma(a),a.bb);c--);};
s.Ad=function(){var a=this.oa,b=a.a,c,d=0,e,f,g,j;for(c=0;c<b.length;++c)e=b[c],g=e[1],j=e[2],f=e[3],f=a.d(g,j,f),Infinity==f?(e=g.la(),delete a.b[e]):(e[0]=f,b[d++]=e);b.length=d;for(b=(a.a.length>>1)-1;0<=b;b--)Ae(a,b);for(a=this.oa;0<a.a.length&&a.c<a.e;)b=a,d=b.a,c=d[0][1],1==d.length?d.length=0:(d[0]=d.pop(),Ae(b,0)),d=c.la(),delete b.b[d],b=c,tc(b,"change",a.f,l,a),0==b.b&&(b.b=1,b.c=[tc(b.a,"error",b.f,l,b),tc(b.a,"load",b.g,l,b)],b.a.src=b.e),++a.c;a=this.yb;for(b=0;b<a.length;++b)a[b](this,
this.d);a.length=0};s.ld=function(){vg(this)};s.jc=function(){this.Ra(new ae(this.H.clientWidth,this.H.clientHeight))};s.Cd=function(){vg(this)};s.Hd=function(){vg(this)};s.Gd=function(){this.F!==k&&(I(this.F),this.F=k);var a=this.a();a!=k&&(this.F=H(a,"changed",this.Hd,l,this));vg(this)};s.Ga=function(){var a=this.a(),b;if(b=y(a)){if(a=a.Ga())a=this.e()!=k;b=a}return b};function vg(a){a.c.O==k&&(0===a.f?(a=a.c,xd(a),a.Eb()):a.s=i)}function wf(a){0===a.f?a.c.O!=k||a.c.start():a.s=i}
s.Nd=function(a){var b;if(0==this.f){var c=this.e();b=this.u();var d=y(b)?b.a:h;b=this.a();var e=y(b)?this.a():h,f=k;if(y(d)&&y(c)&&y(e)&&e.Ga()){var f=this.Ma(),g=Ea(b.e),j={},m;for(b=0;b<d.length;++b){m=d[b];var q=j,n=z(m),r=m;m=r.b();var t=r.c(),u=r.d(),w=r.e(),D=r.W().c(),E=r.f(),r=r.a();q[n]={brightness:y(m)?m:0,contrast:y(t)?t:1,hue:y(u)?u:0,opacity:y(w)?w:1,rb:D,saturation:y(E)?E:1,visible:y(r)?r:i}}b=e.T();q=e.tc();n=e.U();e=e.ia();q={center:new K(b.x,b.y),projection:q,resolution:n,rotation:e};
f={Q:l,attributions:{},backgroundColor:y(f)?f:new $d,cc:this.Jc,extent:k,ib:d,hb:j,vc:this.Nc,ua:[],size:c,Ub:this.oa,time:a,Pa:{},t:q,A:g,Qa:{}}}a=this.g;for(b=d=0;b<a.length;++b)e=a[b],e(this,f)&&(a[d++]=e);a.length=d;if(f!==k){a=q.center;b=q.resolution;d=q.rotation;e=b*c.width/2;c=b*c.height/2;c=[new K(-e,-c),new K(-e,c),new K(e,-c),new K(e,c)];for(b=0;4>b;++b)e=c[b],e.rotate(d),e.add(a);f.extent=de.apply(k,c)}this.d=f;this.J.nb(f);this.s=l;f!==k&&(f.Q&&wf(this),Array.prototype.push.apply(this.yb,
f.ua));J(this,new af("postrender",this,f));v.setTimeout(this.Mc,0)}};s.Pd=function(a){this.p("backgroundColor",a)};T.prototype.setBackgroundColor=T.prototype.Pd;T.prototype.Oc=function(a){this.p(sg,a)};T.prototype.setLayers=T.prototype.Oc;T.prototype.Ra=function(a){this.p("size",a)};T.prototype.setSize=T.prototype.Ra;T.prototype.Pc=function(a){this.p("view",a)};T.prototype.setView=T.prototype.Pc;function uf(a,b,c){++a.f;try{b.call(c)}finally{0===--a.f&&a.s&&(a=a.c,xd(a),a.Eb())}}
nh.Vc=function(a){var b=v.location.search.substring(1),a=y(a)?a:new ad(b);return md(a,"renderers")?nd(a,"renderers").split(","):md(a,"renderer")?[nd(a,"renderer")]:ph};Le(Wf);Le(Zf);function qh(a,b,c){var d=a.length,c=1<c?c:2;y(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=6378137*Math.PI*a[e]/180,b[e+1]=6378137*Math.log(Math.tan(Math.PI*(a[e+1]+90)/360));return b}
function rh(a,b,c){var d=a.length,c=1<c?c:2;y(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=180*a[e]/(6378137*Math.PI),b[e+1]=360*Math.atan(Math.exp(a[e+1]/6378137))/Math.PI-90;return b}C(Zf,function(a){C(Wf,function(b){Ne(a,b,qh);Ne(b,a,rh)})});var sh={Zd:"bottom-left",$d:"bottom-right",Ie:"top-left",Je:"top-right"};function W(a){L.call(this);this.b=Rb("DIV");this.b.style.position="absolute";this.a={Ta:"",jb:"",tb:"",vb:"",visible:i};H(this,Vd("element"),this.md,l,this);H(this,Vd("map"),this.ud,l,this);H(this,Vd("position"),this.yd,l,this);H(this,Vd("positioning"),this.zd,l,this);y(a.element)&&this.Ac(a.element);y(a.position)&&this.s(a.position);y(a.positioning)&&this.p("positioning",a.positioning);y(a.map)&&this.l(a.map)}B(W,L);
W.prototype.f=function(){return this.r("element")};W.prototype.getElement=W.prototype.f;W.prototype.d=function(){return this.r("map")};W.prototype.getMap=W.prototype.d;W.prototype.g=function(){return this.r("position")};W.prototype.getPosition=W.prototype.g;W.prototype.e=function(){return this.r("positioning")};W.prototype.getPositioning=W.prototype.e;s=W.prototype;s.md=function(){Tb(this.b);var a=this.f();a!=k&&Sb(this.b,a)};
s.ud=function(){this.c!==k&&(Vb(this.b),I(this.c),this.c=k);var a=this.d();a!=k&&(this.c=H(a,"postrender",this.Kd,l,this),th(this),Sb(a.D,this.b))};s.Kd=function(){th(this)};s.yd=function(){th(this)};s.zd=function(){th(this)};s.Ac=function(a){this.p("element",a)};W.prototype.setElement=W.prototype.Ac;W.prototype.l=function(a){this.p("map",a)};W.prototype.setMap=W.prototype.l;W.prototype.s=function(a){this.p("position",a)};W.prototype.setPosition=W.prototype.s;
function th(a){var b=a.d(),c=a.g();if(!y(b)||!b.Ga()||!y(c))a.a.visible&&(Jc(a.b,l),a.a.visible=l);else{var c=Hf(b,c),d=b.e(),b=a.b.style,e=a.e();if("bottom-right"==e||"top-right"==e){""!==a.a.jb&&(a.a.jb=b.left="");var f=Math.round(d.width-c.x)+"px";a.a.tb!=f&&(a.a.tb=b.right=f)}else""!==a.a.tb&&(a.a.tb=b.right=""),f=Math.round(c.x)+"px",a.a.jb!=f&&(a.a.jb=b.left=f);"top-left"==e||"top-right"==e?(""!==a.a.Ta&&(a.a.Ta=b.bottom=""),c=Math.round(c.y)+"px",a.a.vb!=c&&(a.a.vb=b.top=c)):(""!==a.a.vb&&
(a.a.vb=b.top=""),c=Math.round(d.height-c.y)+"px",a.a.Ta!=c&&(a.a.Ta=b.bottom=c));a.a.visible||(Jc(a.b,i),a.a.visible=i)}};/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
function uh(a,b){this.a=[];this.f=a;this.e=b||k}s=uh.prototype;s.ga=l;s.Da=l;s.La=0;s.Cc=l;s.Tc=l;s.Sc=0;s.bc=function(a,b){vh(this,a,b);this.La--;0==this.La&&this.ga&&wh(this)};function vh(a,b,c){a.ga=i;a.b=c;a.Da=!b;wh(a)}function xh(a){if(a.ga){if(!a.Cc)throw new yh(a);a.Cc=l}}function zh(a){return Aa(a.a,function(a){return ha(a[1])})}
function wh(a){a.c&&(a.ga&&zh(a))&&(v.clearTimeout(a.c),delete a.c);a.d&&(a.d.Sc--,delete a.d);for(var b=a.b,c=l,d=l;a.a.length&&0==a.La;){var e=a.a.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Da?g:f)try{var j=f.call(e||a.e,b);y(j)&&(a.Da=a.Da&&(j==b||j instanceof Error),a.b=b=j);b instanceof uh&&(d=i,a.La++)}catch(m){b=m,a.Da=i,zh(a)||(c=i)}}a.b=b;d&&a.La&&(d=b,j=na(a.bc,a,i),f=na(a.bc,a,l),d.a.push([j,f,h]),d.ga&&wh(d),b.Tc=i);c&&(a.c=v.setTimeout(function(){throw b;},0))}
function yh(a){qa.call(this);this.a=a}B(yh,qa);yh.prototype.message="Deferred has already fired";yh.prototype.name="AlreadyCalledError";function Ah(a,b){var c=b||{},d=c.document||document,e=Rb("SCRIPT"),f={zc:e,ub:h},g=new uh(Bh,f),j=k,m=c.timeout!=k?c.timeout:5E3;0<m&&(j=window.setTimeout(function(){Ch(e,i);var b=new Dh(Eh,"Timeout reached for loading script "+a);xh(g);vh(g,l,b)},m),f.ub=j);e.onload=e.onreadystatechange=function(){if(!e.readyState||"loaded"==e.readyState||"complete"==e.readyState)Ch(e,c.$b||l,j),xh(g),vh(g,i,k)};e.onerror=function(){Ch(e,i,j);var b=new Dh(Fh,"Error while loading script "+a);xh(g);vh(g,l,b)};Mb(e,
{type:"text/javascript",charset:"UTF-8",src:a});f=d.getElementsByTagName("HEAD");(!f||0==f.length?d.documentElement:f[0]).appendChild(e);return g}function Bh(){if(this&&this.zc){var a=this.zc;a&&"SCRIPT"==a.tagName&&Ch(a,i,this.ub)}}function Ch(a,b,c){c!=k&&v.clearTimeout(c);a.onload=x;a.onerror=x;a.onreadystatechange=x;b&&window.setTimeout(function(){Vb(a)},0)}var Fh=0,Eh=1;function Dh(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);qa.call(this,c);this.code=a}B(Dh,qa);function Gh(a){this.b=new Wc(a);this.a="jsonp";this.ub=5E3}var Hh=0;function Ih(a,b){v._callbacks_[a]&&(b?delete v._callbacks_[a]:v._callbacks_[a]=x)};function Jh(a){var b=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(b){var c=[],d=b[2].charCodeAt(0),e;for(e=b[1].charCodeAt(0);e<=d;++e)c.push(a.replace(b[0],String.fromCharCode(e)));return Kh(za(c,Jh))}return function(b){return b===k?h:a.replace("{z}",b.m).replace("{x}",b.x).replace("{y}",b.y)}}function Kh(a){return function(b){if(b!==k){var c=Gb(b.hash(),a.length);return a[c](b)}}}
function Lh(a,b,c){return function(d){if(d!==k){var e=dg(b,d),d=ig(b,d.m);return Vc(a,"BBOX",("ne"==c.substr(0,2)?[e.j,e.h,e.i,e.k]:[e.h,e.j,e.k,e.i]).join(","),"HEIGHT",d.height,"WIDTH",d.width)}}}function Mh(){}function Nh(a,b){return function(c){return c===k?h:b(a(c))}};function Oh(a,b,c){we.call(this,a);this.e=b;this.a=new Image;c!==k&&(this.a.crossOrigin=c);this.d={};this.c=k}B(Oh,we);Oh.prototype.I=function(a){if(y(a)){var b=z(a);if(b in this.d)return this.d[b];a=Ta(this.d)?this.a:this.a.cloneNode(l);return this.d[b]=a}return this.a};Oh.prototype.la=p("e");Oh.prototype.f=function(){this.b=3;C(this.c,I);this.c=k;J(this,"change")};Oh.prototype.g=function(){this.b=2;C(this.c,I);this.c=k;J(this,"change")};function Ph(a){bh.call(this);this.d=y(a)?a:512}B(Ph,bh);Ph.prototype.Ba=function(a){for(var b,c;this.Z()>this.d&&!(b=this.a.Y,c=b.X.m.toString(),c in a&&a[c].contains(b.X));)dh(this)};function Qh(a){jg.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.ba=y(a.ba)?a.ba:Mh;this.F=y(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=new Ph}B(Qh,jg);Qh.prototype.f=function(){return this.a.Z()>this.a.d};Qh.prototype.Ba=function(a){this.a.Ba(a)};Qh.prototype.b=function(a){var b=a.toString();if($g(this.a,b))return ch(this.a,b);var c=this.ba(a);y(c)?(a=new Oh(a,c,this.F),eh(this.a,b,a)):a=k;return a};
Qh.prototype.s=function(a){a=a.toString();$g(this.a,a)&&ch(this.a,a)};function Rh(a){var b=Array(a.maxZoom+1),c,d=2*Vf/256;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);cg.call(this,{origin:new K(-Vf,Vf),resolutions:b,tileSize:new ae(256,256)})}B(Rh,cg);Rh.prototype.b=function(a,b,c){for(var d=a.x,e=a.y,a=a.m,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new ue(d,e,d,e);if(b.call(c,a,f))break}};var Sh={Xd:"Aerial",Yd:"AerialWithLabels",re:"Road",pe:"OrdnanceSurvey",de:"CollinsBart"};
function Th(a){Qh.call(this,{projection:Qe("EPSG:3857")});this.Wc=y(a.culture)?a.culture:"en-us";this.g=l;var b=new Wc("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style),b=new Gh(b),a={include:"ImageryProviders",key:a.key},c=na(this.u,this),a=a||k,d="_"+(Hh++).toString(36)+pa().toString(36);v._callbacks_||(v._callbacks_={});var e=b.b.R();if(a)for(var f in a)(!a.hasOwnProperty||a.hasOwnProperty(f))&&jd(e,f,a[f]);c&&(v._callbacks_[d]=function(a){Ih(d,i);c.apply(h,arguments)},jd(e,b.a,"_callbacks_."+
d));f=Ah(e.toString(),{timeout:b.ub,$b:i});f.a.push([k,function(){Ih(d,l)},h]);f.ga&&wh(f)}B(Th,Qh);
Th.prototype.u=function(a){var b=a.resourceSets[0].resources[0],c=b.zoomMin,d=b.zoomMax,e=new Rh({maxZoom:d,tileSize:new ae(b.imageWidth,b.imageHeight)});this.tileGrid=e;this.ba=Nh(function(a){if(a.m<c||d<a.m)return k;var b=1<<a.m,e=-a.y-1;return 0>e||b<=e?k:new se(a.m,Gb(a.x,b),e)},Kh(za(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.Wc);return function(a){return a===k?h:c.replace("{quadkey}",te(a))}})));var f=Ge(Qe("EPSG:4326"),this.l);this.e=
za(b.imageryProviders,function(a){var b=a.attribution,c={};C(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new N(a[1],a[0],a[3],a[2])).transform(f),g,j;for(g=b;g<=d;++g)j=g.toString(),b=eg(e,a,e.a[g]),j in c?c[j].push(b):c[j]=[b]});return new ve(b,c)});this.g=i;J(this,"load")};Th.prototype.c=p("g");function X(a){L.call(this);this.a=k;Uh&&(H(this,Vd("projection"),this.s,l,this),this.J=navigator.geolocation.watchPosition(na(this.F,this),na(this.H,this),a))}B(X,L);X.prototype.q=function(){navigator.geolocation.clearWatch(this.J);X.v.q.call(this)};X.prototype.s=function(){var a=this.c();a!=k&&(this.b=Ge(Qe("EPSG:4326"),a),this.a!==k&&(a=[this.a.x,this.a.y],a=this.b(a,a,2),this.p("position",new K(a[0],a[1]))))};var Uh="geolocation"in navigator;
X.prototype.F=function(a){a=a.coords;this.p("accuracy",a.accuracy);this.p("altitude",a.altitude===k?h:a.altitude);this.p("altitudeAccuracy",a.altitudeAccuracy===k?h:a.altitudeAccuracy);this.p("heading",a.heading===k?h:a.heading*Math.PI/180);this.a=new K(a.longitude,a.latitude);var b=[a.longitude,a.latitude],b=this.b(b,b,2);this.p("position",new K(b[0],b[1]));this.p("speed",a.speed===k?h:a.speed)};X.prototype.H=function(){};X.prototype.d=function(){return this.r("accuracy")};
X.prototype.getAccuracy=X.prototype.d;X.prototype.e=function(){return this.r("altitude")};X.prototype.getAltitude=X.prototype.e;X.prototype.f=function(){return this.r("altitudeAccuracy")};X.prototype.getAltitudeAccuracy=X.prototype.f;X.prototype.g=function(){return this.r("heading")};X.prototype.getHeading=X.prototype.g;X.prototype.u=function(){return this.r("position")};X.prototype.getPosition=X.prototype.u;X.prototype.c=function(){return this.r("projection")};X.prototype.getProjection=X.prototype.c;
X.prototype.l=function(){return this.r("speed")};X.prototype.getSpeed=X.prototype.l;X.prototype.D=function(a){this.p("projection",a)};X.prototype.setProjection=X.prototype.D;X.prototype.b=aa();function Vh(a){var b=Pb("DIV",{"class":"ol-mouse-position"});xf.call(this,{element:b,map:a.map,target:a.target});this.l=a.projection;this.g=a.coordinateFormat;this.J=y(a.undefinedHTML)?a.undefinedHTML:"";this.f=b.innerHTML;this.c=k;this.s=Re;this.d=this.e=this.u=k}B(Vh,xf);Vh.prototype.H=function(a){a=a.d;a===k?this.c=k:this.c=a.t.projection;Wh(this,this.e)};Vh.prototype.D=function(a){a=Gc(a,this.b.b);a=new bf(a.x,a.y);Wh(this,a);this.e=a};Vh.prototype.F=function(){Wh(this,k);this.e=k};
Vh.prototype.a=function(a){this.d!==k&&(C(this.d,I),this.d=k);Vh.v.a.call(this,a);if(a!==k){var b=a.b;this.d=[H(b,"mousemove",this.D,l,this),H(b,"mouseout",this.F,l,this),H(a,"postrender",this.H,l,this)]}};function Wh(a,b){var c=a.J;if(b!==k){a.u!=a.c&&(a.s=y(a.l)?Ge(a.c,a.l):Re,a.u=a.c);var d=df(a.b,b);d!==k&&(c=[d.x,d.y],c=a.s(c,c),d=new K(c[0],c[1]),c=y(a.g)?a.g(d):d.toString())}if(!y(a.f)||c!=a.f)a.element.innerHTML=c,a.f=c};function Xh(){this.a={}}B(Xh,Af);Xh.prototype.b=function(a,b){var c;for(c=0;c<a.length;++c)this.a[a.charCodeAt(c)]=b};Xh.prototype.ma=function(a){if("key"==a.type){var b=this.a[a.a.$a];b&&(b(),a.B())}};function Yh(a){if("undefined"!=typeof DOMParser)return(new DOMParser).parseFromString(a,"application/xml");if("undefined"!=typeof ActiveXObject){var b=new ActiveXObject("MSXML2.DOMDocument");if(b){b.resolveExternals=l;b.validateOnParse=l;try{b.setProperty("ProhibitDTD",i),b.setProperty("MaxXMLSize",2048),b.setProperty("MaxElementDepth",256)}catch(c){}}b.loadXML(a);return b}throw Error("Your browser does not support loading xml documents");};function Zh(){this.va={Fc:/^\s*|\s*$/g,a:/\s*/g,Dc:/\s+/,Ec:/\s*,\s*/g}}function $h(a,b,c){c||(c={});var d=a.w[b.namespaceURI]||a.w[a.a];if(d){var e=b.localName||b.nodeName.split(":").pop();(d=d[e]||d["*"])&&d.apply(a,[b,c])}}function Z(a,b,c){c||(c={});for(var b=b.childNodes,d,e=0,f=b.length;e<f;++e)d=b[e],1==d.nodeType&&$h(a,d,c)}function $(a){var b="";if(a)for(a=a.firstChild;a;a=a.nextSibling)switch(a.nodeType){case 3:case 4:b+=a.nodeValue}return b}
Zh.prototype.getAttributeNS=function(a,b,c){var d="";if(a.getAttributeNS)d=a.getAttributeNS(b,c)||"";else{var e=k;if(a.getAttributeNodeNS)e=a.getAttributeNodeNS(b,c);else for(var a=a.attributes,f,g,j=0,m=a.length;j<m;++j)if(f=a[j],f.namespaceURI==b&&(g=f.prefix?f.prefix+":"+c:c,g==f.nodeName)){e=f;break}if(b=e)d=b.nodeValue}return d};function ai(){function a(a,b){b.Qd.push($(a))}function b(a,b){var e={code:a.getAttribute("exceptionCode"),Re:a.getAttribute("locator"),Qd:[]};b.ec.push(e);Z(this,a,e)}this.w={"http://www.opengis.net/ogc":{ServiceExceptionReport:function(a,b){b.exceptionReport={};b.exceptionReport.exceptions=[];Z(this,a,b.exceptionReport)},ServiceException:function(a,b){var e={};e.code=a.getAttribute("code");e.locator=a.getAttribute("locator");e.text=$(a);b.exceptions.push(e)}},"http://www.opengis.net/ows":{ExceptionReport:function(a,
b){b.Se=l;b.Db={version:a.getAttribute("version"),language:a.getAttribute("language"),ec:[]};Z(this,a,b.Db)},Exception:function(a,d){b.apply(this,arguments)},ExceptionText:function(b,d){a.apply(this,arguments)}},"http://www.opengis.net/ows/1.1":{ExceptionReport:function(a,b){b.Db={version:a.getAttribute("version"),language:a.getAttribute("xml:lang"),ec:[]};Z(this,a,b.Db)},Exception:function(a,d){b.apply(this,arguments)},ExceptionText:function(b,d){a.apply(this,arguments)}}};Zh.call(this)}B(ai,Zh);
ai.prototype.pa=function(a){"string"==typeof a&&(a=Yh(a));var b={exceptionReport:k};a&&Z(this,a,b);return b};function bi(a){this.c=a=a||{};this.Va=a.Va||k;this.version=a.version;this.profile=a.profile;a.Sa!==h?this.Sa=a.Sa:this.Sa=l;a.Sb!==h?this.Sb=a.Sb:this.Sb=l}
bi.prototype.pa=function(a,b){"string"==typeof a&&(a=Yh(a));var c;c=a.documentElement;var d;c?(d=this.version,d||(d=c.getAttribute("version"),d||(d=this.Va))):d=this.version||this.Va;d=(c=d)||this.Va;var e=this.profile?"_"+this.profile:"";if(!this.b||this.b.VERSION!=d){var f=this.a["v"+d.replace(/\./g,"_")+e];if(!f&&(""!==e&&this.Sa&&(e="",f=this.a["v"+d.replace(/\./g,"_")+e]),!f))throw"Can't find a parser for version "+d+e;this.b=new f(this.c)}this.b=this.b;d=this.b.pa(a,b);e=this.b.Yc||k;e!==k&&
d[e]===h&&(d.error=(new ai).pa(a));d.version=c;return d};function ci(){this.a="http://www.opengis.net/wms";this.Yc="service";this.w={"http://www.opengis.net/wms":{Service:function(a,b){b.service={};Z(this,a,b.service)},Name:function(a,b){b.name=$(a)},Title:function(a,b){b.title=$(a)},Abstract:function(a,b){b["abstract"]=$(a)},BoundingBox:function(a){var b={};b.bbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))];a={x:parseFloat(a.getAttribute("resx")),y:parseFloat(a.getAttribute("resy"))};
function xe(a,b){var c=a.y*Math.PI/180,d=b.y*Math.PI/180,e=(d-c)/2,f=(b.x-a.x)*Math.PI/180/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*ye.a*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};var ye=new function(){this.a=6370997};var ze="object"==typeof Proj4js,Ae={Oc:"degrees",pe:"m"};function O(a,b,c,d){this.a=a;this.e=b;this.na=c;this.c=x(d)?d:"enu";this.f=k}O.prototype.l=n("a");O.prototype.H=n("na");O.prototype.j=n("e");O.prototype.g=n("c");function Be(a,b){O.call(this,a,b.units,k,b.axis);this.zc=b;this.d=k}B(Be,O);
Be.prototype.b=function(a,b){if("degrees"==this.e)return a;this.d===k&&(this.d=Ce(this,De("EPSG:4326")));var c=[b.x-a/2,b.y,b.x+a/2,b.y,b.x,b.y-a/2,b.x,b.y+a/2],c=this.d(c,c,2);return(xe(new L(c[0],c[1]),new L(c[2],c[3]))+xe(new L(c[4],c[5]),new L(c[6],c[7])))/2};var Ee={},Fe={},Ge={};function He(a){C(a,function(a){Ie(a)});C(a,function(b){C(a,function(a){b!==a&&Je(b,a,Ke)})})}function Ie(a){Fe[a.a]=a;Je(a,a,Ke)}function Le(a){return a!=k?ga(a)?Me(a):a:Me("EPSG:3857")}
function Je(a,b,c){a=a.a;b=b.a;a in Ge||(Ge[a]={});Ge[a][b]=c}function Me(a){var b=Fe[a];ze&&!x(b)&&(b=De(a));x(b)||(b=k);return b}function De(a){var b=Ee[a];x(b)||(b=new Proj4js.Proj(a),b=new Be(a,b),Ee[a]=b);return b}
function Ce(a,b){var c=a.a,d=b.a,e;c in Ge&&d in Ge[c]&&(e=Ge[c][d]);if(ze&&!x(e)){var f;f=(a instanceof Be?a:De(a.a)).zc;var g;g=(b instanceof Be?b:De(b.a)).zc;e=function(a,b,c){var d=a.length,c=1<c?c:2;x(b)||(b=2<c?a.slice():Array(d));for(var e,v=0;v<d;v+=c)e=new Proj4js.Point(a[v],a[v+1]),e=Proj4js.transform(f,g,e),b[v]=e.x,b[v+1]=e.y;return b};Je(a,b,e)}x(e)||(e=Ne);return e}function Oe(a,b){var c=Me(a),d=Me(b);return Ce(c,d)}
function Ne(a,b){if(x(b)&&a!==b){for(var c=0,d=a.length;c<d;++c)b[c]=a[c];a=b}return a}function Ke(a,b){var c;if(x(b)){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];c=b}else c=a.slice();return c};function Pe(a){Zb.call(this);this.j=x(a.projection)?a.projection:k;this.l=x(a.extent)?a.extent:x(a.projection)?a.projection.H():k;this.e=x(a.attributions)?a.attributions:k}B(Pe,jd);Pe.prototype.ja=n("e");Pe.prototype.H=n("l");Pe.prototype.c=md;function P(a){M.call(this);this.g=a.source;this.j(x(a.brightness)?a.brightness:0);this.p(x(a.contrast)?a.contrast:1);this.t(x(a.hue)?a.hue:0);this.A(x(a.opacity)?a.opacity:1);this.F(x(a.saturation)?a.saturation:1);this.G(x(a.visible)?a.visible:i);this.g.c()||sc(this.g,"load",this.J,l,this)}B(P,M);P.prototype.b=function(){return this.s("brightness")};P.prototype.getBrightness=P.prototype.b;P.prototype.c=function(){return this.s("contrast")};P.prototype.getContrast=P.prototype.c;P.prototype.d=function(){return this.s("hue")};
P.prototype.getHue=P.prototype.d;P.prototype.e=function(){return this.s("opacity")};P.prototype.getOpacity=P.prototype.e;P.prototype.f=function(){return this.s("saturation")};P.prototype.getSaturation=P.prototype.f;P.prototype.W=n("g");P.prototype.a=function(){return this.s("visible")};P.prototype.getVisible=P.prototype.a;P.prototype.J=function(){K(this,"load")};P.prototype.j=function(a){a=Eb(a,-1,1);a!=this.b()&&this.q("brightness",a)};P.prototype.setBrightness=P.prototype.j;
P.prototype.p=function(a){a=Math.max(0,a);a!=this.c()&&this.q("contrast",a)};P.prototype.setContrast=P.prototype.p;P.prototype.t=function(a){a!=this.d()&&this.q("hue",a)};P.prototype.setHue=P.prototype.t;P.prototype.A=function(a){a=Eb(a,0,1);a!=this.e()&&this.q("opacity",a)};P.prototype.setOpacity=P.prototype.A;P.prototype.F=function(a){a=Math.max(0,a);a!=this.f()&&this.q("saturation",a)};P.prototype.setSaturation=P.prototype.F;P.prototype.G=function(a){a=!!a;a!=this.a()&&this.q("visible",a)};
P.prototype.setVisible=P.prototype.G;function Qe(a){return 3*a*a-2*a*a*a};function Re(){M.call(this);this.e=[0,0]}B(Re,M);function Se(a,b){a.e[1]+=b};var Te={pc:aa(),Jc:function(a){return 0.5>a?Qe(2*a):1-Qe(2*(a-0.5))},ad:function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1},Ab:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a}};var Ue={Ab:function(a){var b=a.resolution,c=x(a.start)?a.start:pa(),d=x(a.duration)?a.duration:1E3,e=x(a.easing)?a.easing:Te.Jc;return function(a,g){if(g.time<c)return g.P=i,g.B[0]+=1,i;if(g.time<c+d){var j=e((g.time-c)/d),m=b-g.u.resolution;g.P=i;g.u.resolution+=j*m;g.B[0]+=1;return i}return l}},Ja:function(a){var b=a.source,c=x(a.start)?a.start:pa(),d=b.x,e=b.y,f=x(a.duration)?a.duration:1E3,g=x(a.easing)?a.easing:Qe;return function(a,b){if(b.time<c)return b.P=i,b.B[0]+=1,i;if(b.time<c+f){var r=
1-g((b.time-c)/f),s=d-b.u.center.x,q=e-b.u.center.y;b.P=i;b.u.center.x+=r*s;b.u.center.y+=r*q;b.B[0]+=1;return i}return l}},rotate:function(a){var b=a.rotation,c=x(a.start)?a.start:pa(),d=x(a.duration)?a.duration:1E3,e=x(a.easing)?a.easing:Qe;return function(a,g){if(g.time<c)return g.P=i,g.B[0]+=1,i;if(g.time<c+d){var j=1-e((g.time-c)/d),m=b-g.u.rotation;g.P=i;g.u.rotation+=j*m;g.B[0]+=1;return i}return l}},zoom:function(a){var b=a.resolution,c=x(a.start)?a.start:pa(),d=x(a.duration)?a.duration:1E3,
e=x(a.easing)?a.easing:Te.pc;return function(a,g){if(g.time<c)return g.P=i,g.B[0]+=1,i;if(g.time<c+d){var j=1-e((g.time-c)/d),m=b-g.u.resolution;g.P=i;g.u.resolution+=j*m;g.B[0]+=1;return i}return l}}};function Ve(a,b,c){this.e=a;this.d=b;this.f=c;this.a=[];this.b=this.c=0}function We(a){for(var b=pa(),c=a.a.length-1,d=c-1;0<=d&&a.a[d].Na>b-a.f;)d--;if(0<=d){var b=a.a[d],c=a.a[c],d=c.x-b.x,e=c.y-b.y;a.c=Math.atan2(e,d);a.b=Math.sqrt(d*d+e*e)/(c.Na-b.Na);return a.b>a.d}return l}Ve.prototype.Ja=function(a){var b=this.e,c=this.b,d=this.d,e=Math.log(this.d/this.b)/this.e;return Ue.Ja({source:a,duration:e,easing:function(a){return c*(Math.exp(b*a*e)-1)/(d-c)}})};function Xe(a,b,c){ec.call(this,a);this.map=b;this.ab=l;this.b=x(c)?c:k}B(Xe,ec);Xe.prototype.C=function(){Xe.v.C.call(this);this.ab=i};function Ye(a,b){Gb.call(this,a,b)}B(Ye,Gb);function Ze(a,b,c,d){Xe.call(this,a,b,d);this.a=c;this.f=this.e=k}B(Ze,Xe);Ze.prototype.d=function(){this.e===k&&(this.e=$e(this.map,af(this)));return this.e};function af(a){if(a.f===k){var b=Fc(a.a,a.map.b);a.f=new Ye(b.x,b.y)}return a.f}
function bf(a){this.a=a;this.e=k;this.b=l;this.c=this.g=this.d=this.j=this.l=this.f=k;a=this.a.b;this.l=H(a,["click","dblclick"],this.dc,l,this);this.j=H(a,"mousedown",this.zd,l,this);this.g=[H(a,["touchstart","MSPointerDown"],this.Jd,l,this),H(a,["touchmove","MSPointerMove"],this.Id,l,this),H(a,["touchend","MSPointerUp"],this.Hd,l,this)]}B(bf,jd);p=bf.prototype;p.dc=function(a){if(!this.b){var b=a.type;K(this,0==this.f||"dblclick"==b?new Ze(cf,this.a,a):new Ze(df,this.a,a))}};
p.Bd=function(a){this.e&&(this.c=k,C(this.d,J),this.e=this.d=k,this.b&&K(this,new Ze(ef,this.a,a)))};p.zd=function(a){K(this,new Ze(ff,this.a,a));this.e||(this.c=a,this.e={clientX:a.clientX,clientY:a.clientY},this.b=l,this.d=[H(document,"mousemove",this.Ad,l,this),H(document,"mouseup",this.Bd,l,this)],a.C())};p.Ad=function(a){var b;this.b||(this.b=i,b=new Ze(gf,this.a,this.c),K(this,b));this.e={clientX:a.clientX,clientY:a.clientY};b=new Ze(hf,this.a,a);K(this,b)};
p.Jd=function(a){a.C();this.c=a;this.b=l;K(this,new Ze(jf,this.a,a))};p.Id=function(a){this.b=i;K(this,new Ze(kf,this.a,a))};p.Hd=function(a){K(this,new Ze(lf,this.a,a));this.b||(a=pa(),this.f=!this.f||250<a-this.f?a:0,this.dc(this.c));this.c=k};p.r=function(){J(this.l);J(this.j);this.d!==k&&(C(this.d,J),this.d=k);this.g!==k&&(C(this.g,J),this.g=k);bf.v.r.call(this)};
var df="click",cf="dblclick",ff="down",gf="dragstart",hf="drag",ef="dragend",jf="touchstart",kf="touchmove",lf="touchend",mf={ee:df,fe:cf,he:ff,ke:gf,ie:hf,je:ef,Ne:jf,Me:kf,Le:lf};function nf(a,b){var c=a.length;if(a[0]<=b)return 0;if(!(b<=a[c-1])){var d;for(d=1;d<c;++d){if(a[d]==b)return d;if(a[d]<b)return a[d-1]-b<b-a[d]?d-1:d}}return c-1};function of(a,b){if(x(a))return a+b};function pf(a){this.resolution=a;this.rotation=of};function R(a){Re.call(this);var a=a||{},b={};b.center=x(a.center)?a.center:k;b.projection=Le(a.projection);if(x(a.resolution))b.resolution=a.resolution;else if(x(a.zoom)){var c=b.projection.H(),c=Math.max(c.m-c.h,c.k-c.i);b.resolution=c/(256*Math.pow(2,a.zoom))}b.rotation=a.rotation;this.lb(b);if(x(a.resolutions))var d=a.resolutions,a=function(a,b){if(x(a)){var c=nf(d,a),c=Eb(c+b,0,d.length-1);return d[c]}};else{x(a.maxResolution)&&x(a.numZoomLevels)&&x(a.zoomFactor)?(b=a.maxResolution,c=a.numZoomLevels,
a=a.zoomFactor):(a=Le(a.projection).H(),b=Math.max(a.m-a.h,a.k-a.i)/256,c=116,a=Math.exp(Math.log(2)/4));var e=a,f=b,g=c-1,a=function(a,b){if(x(a)){var c=Math.floor(Math.log(f/a)/Math.log(e)+0.5),c=Math.max(c+b,0);x(g)&&(c=Math.min(c,g));return f/Math.pow(e,c)}}}this.b=new pf(a)}B(R,Re);R.prototype.S=function(){return this.s("center")};R.prototype.getCenter=R.prototype.S;
R.prototype.H=function(a){var b=this.S(),c=this.T();return new Zd(b.x-c*a.width/2,b.y-c*a.height/2,b.x+c*a.width/2,b.y+c*a.height/2)};R.prototype.wc=function(){return this.s("projection")};R.prototype.getProjection=R.prototype.wc;R.prototype.T=function(){return this.s("resolution")};R.prototype.getResolution=R.prototype.T;R.prototype.ka=function(){return this.s("rotation")||0};R.prototype.getRotation=R.prototype.ka;R.prototype.Ga=function(){return this.S()!=k&&x(this.T())};
R.prototype.a=function(a){this.q("center",a)};R.prototype.setCenter=R.prototype.a;R.prototype.f=function(a){this.q("projection",a)};R.prototype.setProjection=R.prototype.f;R.prototype.c=function(a){this.q("resolution",a)};R.prototype.setResolution=R.prototype.c;R.prototype.d=function(a){this.q("rotation",a)};R.prototype.setRotation=R.prototype.d;
R.prototype.rotate=function(a,b,c){b=this.b.rotation(b,0);if(c!=k){var d=this.S(),e=new L(d.x-c.x,d.y-c.y);e.rotate(b-this.ka());e.x+=c.x;e.y+=c.y;qf(a,function(){this.a(e);this.d(b)},this)}else this.d(b)};function rf(a,b,c,d){if(c!=k&&d!=k){var e=a.S(),f=a.T(),g=new L(d.x-c*(d.x-e.x)/f,d.y-c*(d.y-e.y)/f);qf(b,function(){this.a(g);this.c(c)},a)}else a.c(c)}
R.prototype.zoom=function(a,b,c,d){var e=this.T();x(e)&&x(d)&&(sf(a),a.j(Ue.zoom({resolution:e,duration:d})));b=this.b.resolution(e,b);rf(this,a,b,c)};function tf(a){Zb.call(this);this.element=x(a.element)?a.element:k;this.p=a.target;this.b=k;x(a.map)&&this.a(a.map)}B(tf,Zb);tf.prototype.r=function(){Ub(this.element);tf.v.r.call(this)};tf.prototype.a=function(a){this.b===k||Ub(this.element);this.b=a;this.b!==k&&(x(this.p)?this.p:a.A).appendChild(this.element)};function uf(a){this.g=Qb("UL");var b=Ob("DIV",{"class":"ol-attribution ol-unselectable"},this.g);tf.call(this,{element:b,map:a.map,target:a.target});this.f=i;this.c={};this.d={};this.e=k}B(uf,tf);
uf.prototype.l=function(a){var b=a.b;if(b===k)this.f&&(Ic(this.element,l),this.f=l);else{var c={},d={},a=this.b.t();x(a)&&a.forEach(function(a){a=a.W();d[y(a).toString()]=a;a=a.ja();if(a!==k){var b,e;for(e=0;e<a.length;++e)b=a[e],t=y(b).toString(),c[t]=i}});var e=b.attributions,a={},f;for(f in e)a[f]=e[f];f=b.Oa;var b={},g,j,m,r,s;for(s in f)if(e=d[s],r=e.ja(),r!==k){g=f[s];for(e=0;e<r.length;++e)if(j=r[e],m=y(j).toString(),!(m in b)){var q;a:if(j.a===k)q=i;else{var v=q=h,u=h;for(u in g)if(u in j.a){v=
g[u];for(q=0;q<j.a[u].length;++q)if(Yd(j.a[u][q],v)){q=i;break a}}q=l}q&&(b[m]=j)}}Ua(a,b);s=Aa(Ma(a),Number);Ia(s);var t;for(f=0;f<s.length;++f)t=s[f].toString(),t in this.c?this.d[t]||(Ic(this.c[t],i),this.d[t]=i):(b=Qb("LI"),b.innerHTML=a[t].b,this.g.appendChild(b),this.c[t]=b,this.d[t]=i),delete c[t];for(t in c)Ub(this.c[t]),delete this.c[t],delete this.d[t];a=0!=s.length;this.f!=a&&(Ic(this.element,a),this.f=a)}};
uf.prototype.a=function(a){this.e!==k&&(C(this.e,J),this.e=k);uf.v.a.call(this,a);a!==k&&(this.e=[H(a,"postrender",this.l,l,this)])};var vf={Oc:"degrees",ne:"imperial",re:"nautical",qe:"metric",Oe:"us"};function wf(a){a=a||{};this.g=Ob("DIV",{"class":"ol-scale-line-inner"});this.j=Ob("DIV",{"class":"ol-scale-line ol-unselectable"},this.g);this.l=x(a.minWidth)?a.minWidth:64;this.c=x(a.units)?a.units:"metric";this.e=k;this.f=l;this.t="";this.d=k;tf.call(this,{element:this.j,map:a.map,target:a.target})}B(wf,tf);var xf=[1,2,5];
wf.prototype.A=function(a){a=a.b;if(a===k)this.f&&(Ic(this.j,l),this.f=l);else{var a=a.u,b=a.center,c=a.projection,a=c.b(a.resolution,b),d=c.e;"degrees"==d&&("metric"==this.c||"imperial"==this.c)?(this.d=k,b=Math.cos(b.y*Math.PI/180),a*=Math.PI*b*ye.a/180):"m"==d&&"degrees"==this.c?(this.d===k&&(this.d=Ce(c,Me("EPSG:4326"))),b=[b.x,b.y],b=this.d(b,b,2),b=Math.cos(b[1]*Math.PI/180),a*=180/(Math.PI*b*ye.a)):this.d=k;c=this.l*a;b="";"degrees"==this.c?c<1/60?(b="\u2033",a*=3600):1>c?(b="\u2032",a*=60):
b="\u00b0":"imperial"==this.c?0.9144>c?(b="in",a/=0.0254):1609.344>c?(b="ft",a/=0.3048):(b="mi",a/=1609.344):"nautical"==this.c?(a/=1852,b="nm"):"metric"==this.c?1>c?(b="mm",a*=1E3):1E3>c?b="m":(b="km",a/=1E3):"us"==this.c&&(0.9144>c?(b="in",a*=39.37):1609.344>c?(b="ft",a/=0.30480061):(b="mi",a/=1609.3472));for(var c=3*Math.floor(Math.log(this.l*a)/Math.log(10)),e,f;;){e=xf[c%3]*Math.pow(10,Math.floor(c/3));f=Math.round(e/a);if(f>=this.l)break;++c}e=e+b;this.t!=e&&(this.t=this.g.innerHTML=e);this.F!=
f&&(this.g.style.width=f+"px",this.F=f);this.f||(Ic(this.j,i),this.f=i)}};wf.prototype.a=function(a){this.e!==k&&(C(this.e,J),this.e=k);wf.v.a.call(this,a);a!==k&&(this.e=[H(a,"postrender",this.A,l,this)])};function yf(a){var b=Ob("A",{href:"#zoomIn","class":"ol-zoom-in"});H(b,["touchend","click"],this.d,l,this);var c=Ob("A",{href:"#zoomOut","class":"ol-zoom-out"});H(c,["touchend","click"],this.e,l,this);b=Ob("DIV","ol-zoom ol-unselectable",b,c);tf.call(this,{element:b,map:a.map,target:a.target});this.c=x(a.delta)?a.delta:1}B(yf,tf);yf.prototype.d=function(a){a.C();a=this.b;sf(a);a.a().zoom(a,this.c,h,250)};yf.prototype.e=function(a){a.C();a=this.b;sf(a);a.a().zoom(a,-this.c,h,250)};function zf(){};function Af(a){this.a=a}B(Af,zf);Af.prototype.oa=function(a){var b=a.a;if(a.type==cf&&(Kd||kc(a.a))){var c=a.map,d=a.d(),e=a.a.ma?-this.a:this.a;c.a().zoom(c,e,d);a.C();b.C()}};function Bf(a){return a.ba&&!a.ob&&a.ma}function Cf(a){return!a.ba&&!a.ob&&!a.ma}function Df(a){return!a.ba&&!a.ob&&a.ma};function Ef(){this.e=l;this.p=this.na=this.l=this.g=0;this.Ma=this.f=k}B(Ef,zf);p=Ef.prototype;p.Gb=ba;p.Hb=ba;p.bb=ld;p.nc=ba;p.oa=function(a){var b=a.map;if(b.Ga()){var b=b.a(),c=a.a;a.type==ff&&this.nc(a);this.e?a.type==hf?(this.d=c.clientX-this.g,this.b=c.clientY-this.l,this.Gb(a)):a.type==ef&&(this.d=c.clientX-this.g,this.b=c.clientY-this.l,this.Hb(a),this.e=l):a.type==gf&&(this.g=c.clientX,this.l=c.clientY,this.b=this.d=0,this.f=b.S(),this.Ma=a.d(),this.bb(a)&&(this.e=i,a.C()))}};function Ff(a,b){Ef.call(this);this.j=a;this.a=b;this.c=k}B(Ff,Ef);Ff.prototype.Gb=function(a){this.a&&this.a.a.push({x:a.a.clientX,y:a.a.clientY,Na:pa()});var a=a.map,b=a.a(),c=b.T(),d=b.ka(),c=new L(-c*this.d,c*this.b);c.rotate(d);d=new L(this.f.x+c.x,this.f.y+c.y);sf(a);b.a(d)};
Ff.prototype.Hb=function(a){var b=a.map,a=b.a();Se(a,-1);if(this.a&&We(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.S();this.c=this.a.Ja(e);b.j(this.c);e=Gf(b,e);b=$e(b,new Ye(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}};Ff.prototype.bb=function(a){var b=a.a;if(this.j(b)){if(this.a){var c=this.a;c.a.length=0;c.c=0;c.b=0;this.a.a.push({x:b.clientX,y:b.clientY,Na:pa()})}a=a.map;sf(a);Se(a.a(),1);return i}return l};
Ff.prototype.nc=function(a){var b=a.map,c=b.a();this.c!==k&&Da(b.g,this.c)&&(sf(b),c.a(a.b.u.center),this.c=k)};function Hf(a){Ef.call(this);this.c=a}B(Hf,Ef);Hf.prototype.Gb=function(a){var b=a.map,c=b.e(),a=af(a),c=Math.atan2(c.height/2-a.y,a.x-c.width/2);if(x(this.a)){var a=c-this.a,d=b.a();sf(b);d.rotate(b,d.ka()-a)}this.a=c};Hf.prototype.bb=function(a){var b=a.a;return kc(b)&&this.c(b)?(a=a.map,a.a(),sf(a),this.a=h,i):l};function If(a){var b=Ob("DIV","ol-dragbox");this.c=k;this.e=a.Ma;this.d=k;tf.call(this,{element:b,map:a.map})}B(If,tf);If.prototype.a=function(a){this.d!==k&&(J(this.d),this.d=k);a!==k&&(this.c=Gf(a,this.e),Bc(this.element,this.c),Jc(this.element,new Wd(0,0)),this.d=H(a,hf,this.f,l,this));If.v.a.call(this,a)};If.prototype.f=function(a){var b=this.b,a=a.d(),b=Gf(b,a);Bc(this.element,new Ye(Math.min(b.x,this.c.x),Math.min(b.y,this.c.y)));Jc(this.element,new Wd(Math.abs(b.x-this.c.x),Math.abs(b.y-this.c.y)))};function Jf(a){Ef.call(this);this.c=a;this.a=k}B(Jf,Ef);Jf.prototype.Hb=function(a){this.a.a(k);this.a=k;if(64<=this.d*this.d+this.b*this.b){var b=a.map,c=$d(this.Ma,a.d());qf(b,function(){var a=b.a(),e=b.e();a.a(new L((c.h+c.m)/2,(c.i+c.k)/2));e=Math.max((c.m-c.h)/e.width,(c.k-c.i)/e.height);e=a.b.resolution(e,0);a.c(e);a.d(0)})}};Jf.prototype.bb=function(a){var b=a.a;return kc(b)&&this.c(b)?(this.a=new If({map:a.map,Ma:this.Ma}),i):l};function Kf(a){this.a=a}B(Kf,zf);Kf.prototype.oa=function(a){if("key"==a.type){var b=a.a,c=b.va;if(40==c||37==c||39==c||38==c){var d=a.map.a(),e=d.T()*this.a,c=40==c?new L(0,-e):37==c?new L(-e,0):39==c?new L(e,0):new L(0,e),e=d.S();d.a(new L(e.x+c.x,e.y+c.y));b.C();a.C()}}};function Lf(){}B(Lf,zf);Lf.prototype.oa=function(a){if("key"==a.type){var b=a.a,c=b.Za;if(43==c||45==c){var d=a.map,c=43==c?4:-4;sf(d);d.a().zoom(d,c,h,100);b.C();a.C()}}};function Mf(a){this.a=a}B(Mf,zf);Mf.prototype.oa=function(a){if("mousewheel"==a.type){var b=a.map,c=a.a,d=a.d(),e=0>c.b?this.a:-this.a,f=b.a();sf(b);f.zoom(b,e,d);a.C();c.C()}};function Nf(){this.g=l;this.l={};this.targetTouches=[]}B(Nf,zf);function Of(a){for(var b=a.length,c=0,d=0,e=0;e<b;e++)c+=a[e].clientX,d+=a[e].clientY;return new Ye(c/b,d/b)}Nf.prototype.e=ba;Nf.prototype.d=ld;Nf.prototype.f=ld;Nf.prototype.oa=function(a){var b=a.a.K;x(b.targetTouches)?this.targetTouches=b.targetTouches:(a.type==lf?delete this.l[b.pointerId]:this.l[b.pointerId]=b,this.targetTouches=La(this.l));this.g&&(a.type==kf?this.e(a):a.type==lf&&(this.g=this.d(a)));a.type==jf&&(this.g=this.f(a))};function Pf(a){Nf.call(this);this.a=a;this.b=this.c=k}B(Pf,Nf);Pf.prototype.e=function(a){var b=Of(this.targetTouches);if(this.b!==k){this.a&&this.a.a.push({x:b.x,y:b.y,Na:pa()});var c=this.b.x-b.x,d=b.y-this.b.y,a=a.map.a(),c=new L(c,d),d=a.T();c.x*=d;c.y*=d;c=c.rotate(a.ka()).add(a.S());a.a(c)}this.b=b};
Pf.prototype.d=function(a){var b=a.map,a=b.a();if(0==this.targetTouches.length){Se(a,-1);if(this.a&&We(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.S();this.c=this.a.Ja(e);b.j(this.c);e=Gf(b,e);b=$e(b,new Ye(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}return l}this.b=k;return i};Pf.prototype.f=function(a){if(1<=this.targetTouches.length){var b=a.map,c=b.a();this.b=k;this.c!==k&&Da(b.g,this.c)&&(sf(b),c.a(a.b.u.center),this.c=k);this.a&&(a=this.a,a.a.length=0,a.c=0,a.b=0);Se(c,1);return i}return l};function Qf(a){Nf.call(this);this.a=l;this.b=0;this.j=x(a)?a:0.3}B(Qf,Nf);Qf.prototype.e=function(a){var b=0,c=this.targetTouches[0],d=this.targetTouches[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);x(this.c)&&(b=c-this.c,this.b+=b,!this.a&&Math.abs(this.b)>this.j&&(this.a=i));this.c=c;var a=a.map,c=a.a(),d=Gc(a.b),e=Of(this.targetTouches);e.x-=d.x;e.y-=d.y;d=$e(a,e);this.a&&c.rotate(a,c.ka()+b,d)};Qf.prototype.d=function(a){return 2>this.targetTouches.length?(Se(a.map.a(),-1),l):i};
Qf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.c=h,this.a=l,this.b=0,Se(a,1),i):l};function Rf(){Nf.call(this)}B(Rf,Nf);Rf.prototype.e=function(a){var b=1,c=this.targetTouches[0],d=this.targetTouches[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);x(this.a)&&(b=this.a/e);this.a=e;a=a.map;e=a.a();c=Gc(a.b);d=Of(this.targetTouches);d.x-=c.x;d.y-=c.y;c=$e(a,d);rf(e,a,e.T()*b,c)};Rf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a(),c=b.T(),c=b.b.resolution(c,0);rf(b,a,c,h);Se(b,-1);return l}return i};
Rf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.a=h,Se(a,1),i):l};function Sf(a){O.call(this,a,"m",Tf)}B(Sf,O);var Uf=6378137*Math.PI,Tf=new Zd(-Uf,-Uf,Uf,Uf),Vf=Aa(["EPSG:3857","EPSG:102100","EPSG:102113","EPSG:900913"],function(a){return new Sf(a)});Sf.prototype.b=function(a,b){return a/((Math.exp(b.y/6378137)+Math.exp(-(b.y/6378137)))/2)};function Wf(a,b){O.call(this,a,"degrees",Xf,b)}B(Wf,O);var Xf=new Zd(-180,-90,180,90),Yf=[new Wf("CRS:84"),new Wf("EPSG:4326","neu"),new Wf("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new Wf("urn:ogc:def:crs:OGC:1.3:CRS84")];Wf.prototype.b=aa();function Zf(a,b,c,d,e){this.f=e;this.g=a;this.l=c;this.e=b;this.b=new Image;d!==k&&(this.b.crossOrigin=d);this.d={};this.c=k;this.a=0}B(Zf,jd);Zf.prototype.ja=n("f");Zf.prototype.H=n("g");function $f(a,b){if(x(b)){var c,d=y(b);if(d in a.d)return a.d[d];c=Sa(a.d)?a.b:a.b.cloneNode(l);return a.d[d]=c}return a.b}Zf.prototype.j=function(){this.a=3;C(this.c,J);this.c=k;K(this,"change")};Zf.prototype.p=function(){this.a=2;C(this.c,J);this.c=k;K(this,"change")};
function ag(a){0==a.a&&(a.a=1,a.c=[sc(a.b,"error",a.j,l,a),sc(a.b,"load",a.p,l,a)],a.b.src=a.l)};function bg(a){this.a=a.resolutions;this.g=this.a.length;this.d=x(a.origin)?a.origin:k;this.f=k;x(a.origins)&&(this.f=a.origins);this.c=k;x(a.tileSizes)&&(this.c=a.tileSizes);this.e=x(a.tileSize)?a.tileSize:this.c===k?new Wd(256,256):k}bg.prototype.b=function(a,b,c){for(var d=cg(this,a),a=a.n-1;0<=a&&!b.call(c,a,dg(this,d,this.a[a]));)--a};function eg(a,b){return a.d===k?a.f[b]:a.d}bg.prototype.Db=n("a");
function dg(a,b,c){var d=fg(a,new L(b.h,b.i),c),a=fg(a,new L(b.m,b.k),c,i);return new qe(d.x,d.y,a.x,a.y)}function gg(a,b){var c=eg(a,b.n),d=a.a[b.n],e=hg(a,b.n);return new L(c.x+(b.x+0.5)*e.width*d,c.y+(b.y+0.5)*e.height*d)}function cg(a,b){var c=eg(a,b.n),d=a.a[b.n],e=hg(a,b.n),f=c.x+b.x*e.width*d,c=c.y+b.y*e.height*d;return new Zd(f,c,f+e.width*d,c+e.height*d)}
function fg(a,b,c,d){var e=nf(a.a,c),f=c/a.a[e],g=eg(a,e),j=hg(a,e),a=f*(b.x-g.x)/(c*j.width),b=f*(b.y-g.y)/(c*j.height);d?(a=Math.ceil(a)-1,b=Math.ceil(b)-1):(a=Math.floor(a),b=Math.floor(b));return new oe(e,a,b)}function hg(a,b){return a.e===k?a.c[b]:a.e}
function ig(a){var b=a.f;if(b===k){for(var b=a.H(),c=Math.max(b.m-b.h,b.k-b.i),d=x(h)?h:new Wd(256,256),e=Array((x(h)?NaN:42)+1),c=c/d.width,f=0,g=e.length;f<g;++f)e[f]=c/Math.pow(2,f);b=new bg({origin:ae(b),resolutions:e,tileSize:d});a.f=b}return b};function jg(a){Pe.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.G=x(a.X)?a.X:l;this.tileGrid=x(a.tileGrid)?a.tileGrid:k}B(jg,Pe);jg.prototype.f=ld;jg.prototype.d=function(a,b,c,d){var e=i,f,g,j,m;for(j=d.h;j<=d.m;++j)for(m=d.i;m<=d.k;++m)if(f=new oe(c,j,m),g=f.toString(),!a[c]||!a[c][g])f=b(f),f===k?e=l:(a[c]||(a[c]={}),a[c][g]=f);return e};jg.prototype.Db=function(){return this.tileGrid.Db()};
function kg(a,b,c,d){for(var e,f,g;0<=b;--b){e=dg(d,c,d.a[b]);for(f=e.h;f<=e.m;++f)for(g=e.i;g<=e.k;++g)a.p(b+"/"+f+"/"+g)}}jg.prototype.p=ba;function lg(a,b){M.call(this);this.p=a;this.a=b;H(this.a,Qd("brightness"),this.Jb,l,this);H(this.a,Qd("contrast"),this.Kb,l,this);H(this.a,Qd("hue"),this.Lb,l,this);H(this.a,"load",this.rd,l,this);H(this.a,Qd("opacity"),this.sd,l,this);H(this.a,Qd("saturation"),this.Mb,l,this);H(this.a,Qd("visible"),this.ud,l,this)}B(lg,M);function mg(a){K(a,"change")}p=lg.prototype;p.aa=n("p");p.Jb=ba;p.Kb=ba;p.Lb=ba;p.Ib=function(a){2===a.target.a&&sf(this.p.map)};p.rd=function(){mg(this)};p.sd=function(){mg(this)};
p.Mb=ba;p.ud=function(){mg(this)};p.Pb=function(a){2===a.target.a&&sf(this.p.map)};function ng(a,b){b.f()&&a.wa.push(oa(function(a,b,e){b=y(a).toString();a.Ba(e.Oa[b])},b))}function og(a,b){var c,d;for(c=0;c<b.length;++c)d=b[c],a[y(d).toString()]=d}function pg(a,b,c,d){b=y(b).toString();c=c.toString();b in a?c in a[b]?(a=a[b][c],a.h=Math.min(a.h,d.h),a.i=Math.min(a.i,d.i),a.m=Math.max(a.m,d.m),a.k=Math.max(a.k,d.k)):a[b][c]=d:(a[b]={},a[b][c]=d)}
function qg(a,b,c){b=y(b).toString();c=c.toString();b in a||(a[b]={});a[b][c]=i}function rg(a,b,c,d){return function(e){e=b.b(e,c,d);return a(e)?e:k}};function sg(a,b){Zb.call(this);this.qa=a;this.map=b;this.d={};this.F=H(b,Qd(tg),this.wd,l,this);this.e=k;this.t={}}B(sg,Zb);p=sg.prototype;p.ua=function(a){var b=this.Ta(a),a=y(a);this.d[a]=b;this.t[a]=H(b,"change",this.td,l,this)};
function ug(a){var b=a.u,c=a.fc;he(c);le(c,a.size.width/2,a.size.height/2);me(c,1/b.resolution,-1/b.resolution);ne(c,-b.rotation);le(c,-b.center.x,-b.center.y);var a=a.yc,b=c[0],d=c[1],e=c[2],f=c[3],g=c[4],j=c[5],m=c[6],r=c[7],s=c[8],q=c[9],v=c[10],u=c[11],t=c[12],z=c[13],E=c[14],c=c[15],D=b*j-d*g,U=b*m-e*g,Q=b*r-f*g,I=d*m-e*j,Y=d*r-f*j,V=e*r-f*m,sa=s*z-q*t,Na=s*E-v*t,Oa=s*c-u*t,Pa=q*E-v*z,Qa=q*c-u*z,Ra=v*c-u*E,W=D*Ra-U*Qa+Q*Pa+I*Oa-Y*Na+V*sa;0!=W&&(W=1/W,a[0]=(j*Ra-m*Qa+r*Pa)*W,a[1]=(-d*Ra+e*Qa-
f*Pa)*W,a[2]=(z*V-E*Y+c*I)*W,a[3]=(-q*V+v*Y-u*I)*W,a[4]=(-g*Ra+m*Oa-r*Na)*W,a[5]=(b*Ra-e*Oa+f*Na)*W,a[6]=(-t*V+E*Q-c*U)*W,a[7]=(s*V-v*Q+u*U)*W,a[8]=(g*Qa-j*Oa+r*sa)*W,a[9]=(-b*Qa+d*Oa-f*sa)*W,a[10]=(t*Y-z*Q+c*D)*W,a[11]=(-s*Y+q*Q-u*D)*W,a[12]=(-g*Pa+j*Na-m*sa)*W,a[13]=(b*Pa-d*Na+e*sa)*W,a[14]=(-t*I+z*U-E*D)*W,a[15]=(s*I-q*U+v*D)*W)}p.Ta=function(a){return new lg(this,a)};p.r=function(){Ka(this.d,function(a){dc(a)});J(this.F);this.e===k||C(this.e,J);sg.v.r.call(this)};p.Wa=nd;
function vg(a,b){var c=y(b);return a.d[c]}p.td=function(){wg(this.map)};p.vd=function(a){this.ua(a.a)};p.wd=function(){cc(La(this.d));this.d={};this.e!==k&&(C(this.e,J),this.e=k);var a=this.map.t();a!=k&&(a.forEach(this.ua,this),this.e=[H(a,"add",this.vd,l,this),H(a,"remove",this.xd,l,this)])};p.xd=function(a){this.Rb(a.a)};p.Rb=function(a){a=y(a);if(a in this.d){var b=this.d[a];delete this.d[a];J(this.t[a]);delete this.t[a];a=b}else a=k;dc(a)};p.mb=ba;function xg(a,b,c,d,e,f){var g=x(f)?f:"1.3.0",f="1.3"<=g,j=e.c,c={SERVICE:"WMS",VERSION:g,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:i,WIDTH:d.width,HEIGHT:d.height,BBOX:(f&&"ne"==j.substr(0,2)?[c.i,c.h,c.k,c.m]:[c.h,c.i,c.m,c.k]).join(",")};Ua(c,b);c[f?"CRS":"SRS"]=e.a;c.STYLES=b.STYLES||new String("");var a=[a],m;for(m in c)Qc(m,c[m],a);a[1]&&(m=a[0],b=m.indexOf("#"),0<=b&&(a.push(m.substr(b)),a[0]=m=m.substr(0,b)),b=m.indexOf("?"),0>b?a[1]="?":b==m.length-1&&(a[1]=h));return a.join("")};function yg(a,b,c){return function(d,e,f){return xg(a,b,d,e,f,c)}}function zg(){};function Ag(a){Pe.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.Fa=x(a.Fa)?a.Fa:zg;this.d=x(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=x(a.resolutions)?a.resolutions:k}B(Ag,Pe);function Bg(a,b,c,d,e){var f=k,d=a.Fa(b,d,e);x(d)&&(f=new Zf(b,c,d,a.d,a.ja()));return f};function Cg(a){P.call(this,a)}B(Cg,P);function Dg(a){P.call(this,a)}B(Dg,P);function Eg(a,b){lg.call(this,a,b)}B(Eg,lg);function Fg(a,b){lg.call(this,a,b);this.b=k;this.c=de()}B(Fg,Eg);Fg.prototype.I=function(){return this.b===k?k:$f(this.b,this)};Fg.prototype.J=n("c");
Fg.prototype.ga=function(a){var b=a.u,c=b.center,d=b.resolution,e=b.rotation,f=this.a.W(),g=a.B;!g[0]&&!g[1]&&(b=f.I(a.extent,d,b.projection),b!==k&&(f=b.a,0==f?(sc(b,"change",this.Ib,l,this),ag(b)):2==f&&(this.b=b)));if(this.b!==k){var b=this.b,f=b.H(),g=b.e,j=this.c;he(j);le(j,a.size.width/2,a.size.height/2);ne(j,e);me(j,g/d,g/d);le(j,(f.h-c.x)/g,(c.y-f.k)/g);og(a.attributions,b.ja())}};function Gg(a,b){lg.call(this,a,b);this.e=this.c=this.d=k;this.f=de();this.b=k}B(Gg,Eg);Gg.prototype.I=n("d");Gg.prototype.J=n("f");
Gg.prototype.ga=function(a){var b=a.u,c=b.projection,d=this.a.W(),e=y(d).toString(),f=d.tileGrid;f===k&&(f=ig(c));var g=nf(f.a,b.resolution),j=hg(f,g),m=f.a[g],r=dg(f,a.extent,m),s=r.da(),q=r.$(),j=new Wd(j.width*s,j.height*q),v,u;this.d===k?(v=Qb("CANVAS"),v.width=j.width,v.height=j.height,u=v.getContext("2d"),this.d=v,this.c=j,this.e=u,this.b=Array(s*q)):(v=this.d,u=this.e,this.c.width==j.width&&this.c.height==j.height||(v.width=j.width,v.height=j.height,this.c=j,this.b=Array(s*q)));q={};q[g]={};
var j=na(d.d,d,q,rg(function(a){return a!==k&&2==a.a},d,f,c)),t,z,E,D;for(E=r.h;E<=r.m;++E)for(D=r.i;D<=r.k;++D)if(z=new oe(g,E,D),t=d.b(z,f,c),t!==k){v=t.a;if(0==v)sc(t,"change",this.Pb,l,this),qg(a.Pa,d,z),v=gg(f,z),ue(a.Ub,t,e,v);else if(2==v){q[g][z.toString()]=t;continue}else if(3==v)continue;f.b(z,j)}e=Aa(Ma(q),Number);Ia(e);v=d.G;var c=ae(cg(f,new oe(g,r.h,r.k))),U,Q,I,Y,V,sa;for(U=0;U<e.length;++U)if(t=e[U],j=hg(f,t),Y=q[t],t==g)for(Q in Y)t=Y[Q],z=t.U,z=(z.y-r.i)*s+(z.x-r.h),this.b[z]!=t&&
(E=j.width*(t.U.x-r.h),D=j.height*(r.k-t.U.y),v||u.clearRect(E,D,j.width,j.height),u.drawImage(t.I(),E,D),this.b[z]=t);else for(Q in z=f.a[t]/m,Y){t=Y[Q];I=cg(f,t.U);E=(I.h-c.x)/m;D=(c.y-I.k)/m;sa=z*j.width;V=z*j.height;v||u.clearRect(E,D,sa,V);u.drawImage(t.I(),E,D,sa,V);D=dg(f,I,f.a[g]);I=Math.max(D.h,r.h);t=Math.min(D.m,r.m);E=Math.max(D.i,r.i);for(D=Math.min(D.k,r.k);I<=t;++I)for(V=E;V<=D;++V)this.b[(V-r.i)*s+(I-r.h)]=h}pg(a.Oa,d,g,r);kg(d,g,a.extent,f);ng(a,d);d=this.f;he(d);le(d,a.size.width/
2,a.size.height/2);ne(d,b.rotation);me(d,m/b.resolution,m/b.resolution);le(d,(c.x-b.center.x)/m,(b.center.y-c.y)/m)};function Hg(a,b){sg.call(this,a,b);this.f=new Wd(a.clientHeight,a.clientWidth);this.c=Qb("CANVAS");this.c.height=this.f.height;this.c.width=this.f.width;this.c.className="ol-unselectable";Tb(a,this.c);this.g=i;this.l=this.c.getContext("2d")}B(Hg,sg);Hg.prototype.Ta=function(a){return a instanceof Cg?new Fg(this,a):a instanceof Dg?new Gg(this,a):k};Hg.prototype.Wa=n("c");
Hg.prototype.mb=function(a){if(a===k)this.g&&(Ic(this.c,l),this.g=l);else{var b=a.size;this.f.width==b.width&&this.f.height==b.height||(this.c.width=b.width,this.c.height=b.height,this.f=b);var c=this.l;c.setTransform(1,0,0,1,0,0);var d=a.backgroundColor;c.fillStyle="rgb("+d.c.toFixed(0)+","+d.b.toFixed(0)+","+d.a.toFixed(0)+")";c.globalAlpha=1;c.fillRect(0,0,b.width,b.height);C(a.hb,function(b){var d=a.gb[y(b)];if(d.visible)if(d.qb){var g=vg(this,b);g.ga(a,d);b=g.I();b!==k&&(g=g.J(),c.setTransform(g[0],
g[1],g[4],g[5],g[12],g[13]),c.globalAlpha=d.opacity,c.drawImage(b,0,0))}else a.P=i},this);this.g||(Ic(this.c,i),this.g=i);ug(a)}};var Ig=function(){if(!("HTMLCanvasElement"in w))return l;try{return Qb("CANVAS").getContext("2d")!==k}catch(a){return l}}();function Jg(a,b){var c;if(x(6)){var d=Array(16);for(c=0;16>c;++c)d[c]=b[c].toFixed(6);c=d.join(",")}else c=b.join(",");c="matrix3d("+c+")";d=a.style;d.WebkitTransform=c;d.MozTransform=c;d.a=c;d.transform=c};function Kg(a,b,c){lg.call(this,a,b);this.target=c}B(Kg,lg);Kg.prototype.r=function(){Ub(this.target);Kg.v.r.call(this)};function Lg(a,b){var c=Qb("DIV");c.className="ol-layer-image";c.style.position="absolute";Kg.call(this,a,b,c);this.b=k;this.c=fe()}B(Lg,Kg);
Lg.prototype.ga=function(a){var b=a.u,c=b.center,d=b.resolution,e=b.rotation,f=this.b,g=this.a.W(),j=a.B;!j[0]&&!j[1]&&(b=g.I(a.extent,d,b.projection),b!==k&&(g=b.a,0==g?(sc(b,"change",this.Ib,l,this),ag(b)):2==g&&(f=b)));f!==k&&(g=f.H(),j=f.e,b=de(),he(b),le(b,a.size.width/2,a.size.height/2),ne(b,e),me(b,j/d,j/d),le(b,(g.h-c.x)/j,(c.y-g.k)/j),f!=this.b&&(c=$f(f,this),c.style.position="absolute",Sb(this.target),this.target.appendChild(c),this.b=f),je(b,this.c)||(Jg(this.target,b),ge(this.c,b)),og(a.attributions,
f.ja()))};function Mg(a,b){var c=Qb("DIV");c.className="ol-layer-tile";c.style.position="absolute";Kg.call(this,a,b,c);this.c=i;this.d=1;this.b={}}B(Mg,Kg);
Mg.prototype.ga=function(a,b){if(b.visible){var c=a.u,d=c.projection,e=this.a.W(),f=y(e).toString(),g=e.tileGrid;g===k&&(g=ig(d));var j=nf(g.a,c.resolution),m=dg(g,a.extent,g.a[j]),r={};r[j]={};var s=na(e.d,e,r,rg(function(a){return a!==k&&2==a.a},e,g,d)),q,v,u,t,z;for(t=m.h;t<=m.m;++t)for(z=m.i;z<=m.k;++z)if(u=new oe(j,t,z),q=e.b(u,g,d),q!==k){v=q.a;if(0==v)sc(q,"change",this.Pb,l,this),qg(a.Pa,e,u),v=gg(g,u),ue(a.Ub,q,f,v);else if(2==v){r[j][u.toString()]=q;continue}else if(3==v)continue;g.b(u,
s)}s=Aa(Ma(r),Number);Ia(s);var d={},E;for(q=0;q<s.length;++q){u=s[q];u in this.b?f=this.b[u]:(f=fg(g,c.center,g.a[u]),f=new Ng(g,f),d[u]=i,this.b[u]=f);u=r[u];for(E in u){t=f;z=u[E];v=z.U;var D=v.toString();if(!(D in t.b)){var U=hg(t.d,v.n),Q=z.I(t),I=Q.style;I.position="absolute";I.left=(v.x-t.c.x)*U.width+"px";I.top=(t.c.y-v.y)*U.height+"px";t.a===k&&(t.a=document.createDocumentFragment());t.a.appendChild(Q);t.b[D]=z}}f.a!==k&&(f.target.appendChild(f.a),f.a=k)}E=Aa(Ma(this.b),Number);Ia(E);q=de();
for(s=0;s<E.length;++s)if(u=E[s],f=this.b[u],u in r)if(z=f.g,t=f.f,he(q),le(q,a.size.width/2,a.size.height/2),ne(q,c.rotation),me(q,z/c.resolution,z/c.resolution),le(q,(t.x-c.center.x)/z,(c.center.y-t.y)/z),t=f,z=q,je(z,t.e)||(Jg(t.target,z),ge(t.e,z)),u in d){for(u-=1;0<=u;--u)if(u in this.b){t=this.b[u].target;t.parentNode&&t.parentNode.insertBefore(f.target,t.nextSibling);break}0>u&&Tb(this.target,f.target)}else{if(!a.B[0]&&!a.B[1]){v=dg(f.d,a.extent,f.d.a[f.c.n]);u=[];z=t=h;for(z in f.b)t=f.b[z],
v.contains(t.U)||u.push(t);v=h;for(v=0;v<u.length;++v)t=u[v],z=t.U.toString(),Ub(t.I(f)),delete f.b[z]}}else Ub(f.target),delete this.b[u];b.opacity!=this.d&&(c=b.opacity,r=this.target.style,"opacity"in r?r.opacity=c:"MozOpacity"in r?r.MozOpacity=c:"filter"in r&&(r.filter=""===c?"":"alpha(opacity="+100*c+")"),this.d=b.opacity);b.visible&&!this.c&&(Ic(this.target,i),this.c=i);pg(a.Oa,e,j,m);kg(e,j,a.extent,g);ng(a,e)}else this.c&&(Ic(this.target,l),this.c=l)};
function Ng(a,b){this.target=Qb("DIV");this.target.style.position="absolute";this.d=a;this.c=b;this.f=ae(cg(a,b));this.g=a.a[b.n];this.b={};this.a=k;this.e=fe()};function Og(a,b){sg.call(this,a,b);this.c=Qb("DIV");this.c.className="ol-layers ol-unselectable";var c=this.c.style;c.position="absolute";c.width="100%";c.height="100%";Tb(a,this.c);this.f=i}B(Og,sg);Og.prototype.ua=function(a){Og.v.ua.call(this,a);wg(this.map)};Og.prototype.Ta=function(a){var b;a instanceof Dg?b=new Mg(this,a):a instanceof Cg&&(b=new Lg(this,a));this.c.appendChild(b.target);return b};
Og.prototype.mb=function(a){a===k?this.f&&(Ic(this.c,l),this.f=l):(C(a.hb,function(b){var c=a.gb[y(b)];c.qb&&vg(this,b).ga(a,c)},this),this.f||(Ic(this.c,i),this.f=i),ug(a))};function Pg(a){this.a=a}Pg.prototype.W=n("a");function Qg(a){this.a=a}B(Qg,Pg);Qg.prototype.b=function(){return 35632};function Rg(a){this.a=a}B(Rg,Pg);Rg.prototype.b=function(){return 35633};function Sg(a,b){lg.call(this,a,b);this.A=new Float32Array(16);this.G=new Float32Array(16);this.qa=new Float32Array(16);this.La=new Float32Array(16);this.F=new Float32Array(16);this.c=i;this.Jb();this.Kb();this.Lb();this.Mb()}B(Sg,lg);function Tg(a){if(a.c){var b=a.F;he(b);ie(b,a.G,b);ie(b,a.A,b);ie(b,a.La,b);ie(b,a.qa,b);a.c=l}return a.F}p=Sg.prototype;p.aa=function(){return Sg.v.aa.call(this)};p.Jb=function(){var a=this.a.b(),b=this.A;he(b);b[12]=a;b[13]=a;b[14]=a;b[15]=1;this.c=i;mg(this)};
p.Kb=function(){var a=this.a.c(),b=this.G;he(b);b[0]=a;b[5]=a;b[10]=a;b[15]=1;a=-0.5*a+0.5;b[12]=a;b[13]=a;b[14]=a;b[15]=1;this.c=i;mg(this)};p.Lb=function(){var a=this.a.d(),b=Math.cos(a),a=Math.sin(a);ee(this.qa,0.213+0.787*b-0.213*a,0.213-0.213*b+0.143*a,0.213-0.213*b-0.787*a,0,0.715-0.715*b-0.715*a,0.715+0.285*b+0.14*a,0.715-0.715*b+0.715*a,0,0.072-0.072*b+0.928*a,0.072-0.072*b-0.283*a,0.072+0.928*b+0.072*a,0,0,0,0,1);this.c=i;mg(this)};
p.Mb=function(){var a=this.a.f();ee(this.La,0.213+0.787*a,0.213-0.213*a,0.213-0.213*a,0,0.715-0.715*a,0.715+0.285*a,0.715-0.715*a,0,0.072-0.072*a,0.072-0.072*a,0.072+0.928*a,0,0,0,0,1);this.c=i;mg(this)};p.Ea=ba;function Ug(a,b){Sg.call(this,a,b);this.b=this.d=k;this.f=fe();this.e=de()}B(Ug,Sg);p=Ug.prototype;p.r=function(){var a=this.aa().a;a.isContextLost()||a.deleteTexture(this.b);Ug.v.r.call(this)};p.jc=n("f");p.kc=n("b");p.ic=n("e");p.Ea=function(){this.b=k};
p.ga=function(a){var b=this.aa().a,c=a.u,d=c.center,e=c.resolution,f=c.rotation,g=this.d,j=this.b,m=this.a.W(),r=a.B;!r[0]&&!r[1]&&(c=m.I(a.extent,e,c.projection),c!==k&&(m=c.a,0==m?(sc(c,"change",this.Ib,l,this),ag(c)):2==m&&(g=c,j=$f(c,this),c=this.aa().a,m=c.createTexture(),c.bindTexture(3553,m),c.texImage2D(3553,0,6408,6408,5121,j),c.texParameteri(3553,10242,33071),c.texParameteri(3553,10243,33071),c.texParameteri(3553,10241,9729),c.texParameteri(3553,10240,9729),j=m,this.b===k||a.wa.push(oa(function(a,
b){a.isContextLost()||a.deleteTexture(b)},b,this.b)))));g!==k&&(m=this.aa().Wa(),b=g.H(),c=m.width*e,e*=m.height,m=this.e,he(m),me(m,2/c,2/e),ne(m,-f),le(m,b.h-d.x,b.i-d.y),me(m,b.da()/2,b.$()/2),le(m,1,1),d=this.f,he(d),me(d,1,-1),le(d,0,-1),this.d=g,this.b=j,og(a.attributions,g.ja()))};function Vg(a,b){this.L=a;this.Y=b}Vg.prototype.Q=function(){return new Vg(this.L,this.Y)};function Wg(a){this.a=[];if(a)a:{var b,c;if(a instanceof Wg){if(b=a.V(),c=a.M(),0>=a.Z()){for(var a=this.a,d=0;d<b.length;d++)a.push(new Vg(b[d],c[d]));break a}}else b=Ma(a),c=La(a);for(d=0;d<b.length;d++)Xg(this,b[d],c[d])}}function Xg(a,b,c){var d=a.a;d.push(new Vg(b,c));b=d.length-1;a=a.a;for(c=a[b];0<b;)if(d=b-1>>1,a[d].L>c.L)a[b]=a[d],b=d;else break;a[b]=c}p=Wg.prototype;
p.remove=function(){var a=this.a,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Ca(a);else{a[0]=a.pop();for(var a=0,b=this.a,d=b.length,e=b[a];a<d>>1;){var f=2*a+1,g=2*a+2,f=g<d&&b[g].L<b[f].L?g:f;if(b[f].L>e.L)break;b[a]=b[f];a=f}b[a]=e}return c.Y}};p.M=function(){for(var a=this.a,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].Y);return b};p.V=function(){for(var a=this.a,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].L);return b};p.Q=function(){return new Wg(this)};p.Z=function(){return this.a.length};
p.Ha=function(){return 0==this.a.length};p.clear=function(){Ca(this.a)};function Yg(){Wg.call(this)}B(Yg,Wg);function Zg(){this.a="precision mediump float;\n\nuniform sampler2D uTexture;\n\nvarying vec2 vTexCoord;\n\nvoid main(void) {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n}"}B(Zg,Qg);ca(Zg);function $g(){this.a="attribute vec2 aPosition;\nattribute vec2 aTexCoord;\n\nvarying vec2 vTexCoord;\n\nuniform vec4 uTileOffset;\n\nvoid main(void) {\n gl_Position.xy = aPosition * uTileOffset.xy + uTileOffset.zw;\n gl_Position.z = 0.;\n gl_Position.w = 1.;\n vTexCoord = aTexCoord;\n}"}B($g,Rg);ca($g);
function ah(a,b){Sg.call(this,a,b);this.vb=Zg.Xa();this.Qa=$g.Xa();this.e=this.g=this.f=this.z=k;this.j=h;this.d=de();this.xb=fe();this.t=this.b=k}B(ah,Sg);p=ah.prototype;p.r=function(){var a=this.aa().a;a.isContextLost()||(a.deleteBuffer(this.f),a.deleteFramebuffer(this.e),a.deleteTexture(this.g));ah.v.r.call(this)};p.jc=n("d");p.kc=n("g");p.ic=n("xb");p.Ea=function(){this.e=this.g=this.f=this.z=k;this.j=h};
p.ga=function(a){var b=this.aa(),c=b.a,d=a.u,e=d.projection,f=d.center,g=this.a.W(),j=y(g).toString(),m=g.tileGrid;m===k&&(m=ig(e));var r=nf(m.a,d.resolution),s=m.a[r],q=dg(m,a.extent,s),v;if(this.b!==k&&this.b.h==q.h&&this.b.i==q.i&&this.b.m==q.m&&this.b.k==q.k)v=this.t;else{var u=new Wd(q.da(),q.$()),t=hg(m,r),u=Math.max(u.width*t.width,u.height*t.height),u=Math.pow(2,Math.ceil(Math.log(u)/Math.log(2))),z=new Wd(s*u,s*u),E=eg(m,r),D=E.x+q.h*t.width*s,s=E.y+q.i*t.height*s;v=new Zd(D,s,D+z.width,
s+z.height);s=this.aa().a;!x(this.j)||this.j!=u?(a.wa.push(oa(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))},s,this.e,this.g)),t=s.createTexture(),s.bindTexture(3553,t),s.texImage2D(3553,0,6408,u,u,0,6408,5121,k),s.texParameteri(3553,10240,9729),s.texParameteri(3553,10241,9729),D=s.createFramebuffer(),s.bindFramebuffer(36160,D),s.framebufferTexture2D(36160,36064,3553,t,0),this.g=t,this.e=D,this.j=u):s.bindFramebuffer(36160,this.e);c.viewport(0,0,u,u);c.clearColor(0,
0,0,0);c.clear(16384);c.disable(3042);u=bh(b,this.vb,this.Qa);c.useProgram(u);this.z===k&&(this.z={Yb:c.getAttribLocation(u,"aPosition"),Zb:c.getAttribLocation(u,"aTexCoord"),Ud:c.getUniformLocation(u,"uTileOffset"),Td:c.getUniformLocation(u,"uTexture")});this.f===k?(u=c.createBuffer(),c.bindBuffer(34962,u),c.bufferData(34962,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),35044),this.f=u):c.bindBuffer(34962,this.f);c.enableVertexAttribArray(this.z.Yb);c.vertexAttribPointer(this.z.Yb,2,5126,l,
16,0);c.enableVertexAttribArray(this.z.Zb);c.vertexAttribPointer(this.z.Zb,2,5126,l,16,8);c.uniform1i(this.z.Td,0);var U={};U[r]={};for(var s=na(g.d,g,U,rg(function(a){return a!==k&&2==a.a&&ch(b.b,a.c())},g,m,e)),u=new Yg,Q=i,I,Y,E=q.h;E<=q.m;++E)for(Y=q.i;Y<=q.k;++Y)if(D=new oe(r,E,Y),t=g.b(D,m,e),t!==k){I=t.a;if(0==I)sc(t,"change",this.Pb,l,this),qg(a.Pa,g,D),I=gg(m,D),ue(a.Ub,t,j,I);else if(2==I)if(ch(b.b,t.c())){U[r][D.toString()]=t;continue}else I=gg(m,D),Q=I.x-f.x,I=I.y-f.y,Q=Math.sqrt(Q*Q+
I*I),Xg(u,Q,t);else if(3==I)continue;Q=l;m.b(D,s)}e=Aa(Ma(U),Number);Ia(e);var V=new Float32Array(4);C(e,function(a){Ka(U[a],function(a){var d=cg(m,a.U),e=2*d.$()/z.height,f=2*(d.h-v.h)/z.width-1,g=2*(d.i-v.i)/z.height-1;V[0]=2*d.da()/z.width;V[1]=e;V[2]=f;V[3]=g;c.uniform4fv(this.z.Ud,V);dh(b,a);c.drawArrays(5,0,4)},this)},this);u.Ha()||a.wa.push(oa(function(a,b){var c,d;for(c=0;!b.Ha()&&4>c;++c)d=b.remove(),dh(a,d)},b,u));Q?(this.b=q,this.t=v):(this.t=this.b=k,a.P=i)}pg(a.Oa,g,r,q);kg(g,r,a.extent,
m);ng(a,g);he(this.d);le(this.d,(d.center.x-v.h)/(v.m-v.h),(d.center.y-v.i)/(v.k-v.i));ne(this.d,d.rotation);me(this.d,a.size.width*d.resolution/(v.m-v.h),a.size.height*d.resolution/(v.k-v.i));le(this.d,-0.5,-0.5)};function eh(){this.o=0;this.c={};this.b=this.a=k}p=eh.prototype;p.clear=function(){this.o=0;this.c={};this.b=this.a=k};function ch(a,b){return a.c.hasOwnProperty(b)}p.forEach=function(a,b){for(var c=this.a;c!==k;)a.call(b,c.Y,c.L,this),c=c.R};function fh(a,b){var c=a.c[b];if(c===a.b)return c.Y;c===a.a?(a.a=a.a.R,a.a.ha=k):(c.R.ha=c.ha,c.ha.R=c.R);c.R=k;c.ha=a.b;a.b.R=c;a.b=c;return c.Y}p.Z=n("o");p.V=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.ha)a[b++]=c.L;return a};
p.M=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.ha)a[b++]=c.Y;return a};function gh(a){var b=a.a;delete a.c[b.L];b.R!==k&&(b.R.ha=k);a.a=b.R;a.a===k&&(a.b=k);--a.o}function hh(a,b,c){c={L:b,R:k,ha:a.b,Y:c};a.b===k?a.a=c:a.b.R=c;a.b=c;a.c[b]=c;++a.o};var ih=["webgl","webgl-experimental","webkit-3d","moz-webgl"];function jh(a,b){var c,d,e=ih.length;for(d=0;d<e;++d)try{if(c=a.getContext(ih[d],b),c!==k)return c}catch(f){}return k}var kh=function(){if(!("WebGLRenderingContext"in w))return l;try{var a=Qb("CANVAS");return jh(a)!==k}catch(b){return l}}();function lh(){this.a="precision mediump float;\n\nuniform mat4 u_colorMatrix;\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\n\nvoid main(void) {\n\n vec4 texColor = texture2D(u_texture, v_texCoord);\n vec4 color = u_colorMatrix * vec4(texColor.rgb, 1.);\n color.a = texColor.a * u_opacity;\n\n gl_FragColor = color;\n\n}"}B(lh,Qg);ca(lh);
function mh(){this.a="attribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvarying vec2 v_texCoord;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord = (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}"}B(mh,Rg);ca(mh);
function nh(a,b){sg.call(this,a,b);this.c=Qb("CANVAS");this.c.height=a.clientHeight;this.c.width=a.clientWidth;this.c.className="ol-unselectable";Tb(a,this.c);this.p=i;this.A=new Wd(a.clientHeight,a.clientWidth);this.a=jh(this.c,{alpha:l,antialias:i,depth:l,preserveDrawingBuffer:l,stencil:l});H(this.c,"webglcontextlost",this.Ea,l,this);H(this.c,"webglcontextrestored",this.Md,l,this);this.j=this.z=k;this.g={};this.f={};this.b=new eh;this.l=0;this.G=lh.Xa();this.J=mh.Xa();oh(this)}B(nh,sg);p=nh.prototype;
p.ua=function(a){nh.v.ua.call(this,a);a.a()&&wg(this.map)};
function dh(a,b){var c=a.a,d=b.c();if(ch(a.b,d))d=fh(a.b,d),c.bindTexture(3553,d.Tb),9729!=d.qc&&(c.texParameteri(3553,10240,9729),d.qc=9729),9729!=d.rc&&(c.texParameteri(3553,10240,9729),d.rc=9729);else{var e=c.createTexture();c.bindTexture(3553,e);c.texImage2D(3553,0,6408,6408,5121,b.I());c.texParameteri(3553,10240,9729);c.texParameteri(3553,10241,9729);c.texParameteri(3553,10242,33071);c.texParameteri(3553,10243,33071);hh(a.b,d,{Tb:e,qc:9729,rc:9729})}}
p.Ta=function(a){var b=k;a instanceof Dg?b=new ah(this,a):a instanceof Cg&&(b=new Ug(this,a));return b};p.r=function(){var a=this.a;a.isContextLost()||(Ka(this.f,function(b){a.deleteProgram(b)}),Ka(this.g,function(b){a.deleteShader(b)}),this.b.forEach(function(b){b===k||a.deleteTexture(b.Tb)}));nh.v.r.call(this)};p.cd=function(a,b){for(var c=this.a,d;1024<this.b.Z()-this.l;){d=this.b.a.Y;if(d===k)if(+this.b.a.L==b.time)break;else--this.l;else c.deleteTexture(d.Tb);gh(this.b)}};p.Wa=n("c");
function bh(a,b,c){var d=y(b)+"/"+y(c);if(d in a.f)return a.f[d];var e=a.a,f=e.createProgram();e.attachShader(f,ph(a,b));e.attachShader(f,ph(a,c));e.linkProgram(f);return a.f[d]=f}function ph(a,b){var c=y(b);if(c in a.g)return a.g[c];var d=a.a,e=d.createShader(b.b());d.shaderSource(e,b.W());d.compileShader(e);return a.g[c]=e}p.Ea=function(a){a.C();this.j=this.z=k;this.g={};this.f={};this.b.clear();this.l=0;Ka(this.d,function(a){a.Ea()})};p.Md=function(){oh(this);wg(this.map)};
function oh(a){a=a.a;a.activeTexture(33984);a.blendFunc(770,771);a.disable(2884);a.disable(2929);a.disable(3089)}p.Rb=function(a){nh.v.Rb.call(this,a);a.a()&&wg(this.map)};
p.mb=function(a){var b=this.a;if(a===k)return this.p&&(Ic(this.c,l),this.p=l),l;hh(this.b,a.time.toString(),k);++this.l;C(a.hb,function(b){var c=a.gb[y(b)];c.visible&&c.qb&&vg(this,b).ga(a,c)},this);var c=a.size;this.A.width==c.width&&this.A.height==c.height||(this.c.width=c.width,this.c.height=c.height,this.A=c);b.bindFramebuffer(36160,k);var d=a.backgroundColor;b.clearColor(d.c/255,d.b/255,d.a/255,d.d);b.clear(16384);b.enable(3042);b.viewport(0,0,c.width,c.height);c=bh(this,this.G,this.J);b.useProgram(c);
this.z===k&&(this.z={$b:b.getAttribLocation(c,"a_position"),ac:b.getAttribLocation(c,"a_texCoord"),Vd:b.getUniformLocation(c,"u_colorMatrix"),Yd:b.getUniformLocation(c,"u_texCoordMatrix"),Xd:b.getUniformLocation(c,"u_projectionMatrix"),Wd:b.getUniformLocation(c,"u_opacity"),Zd:b.getUniformLocation(c,"u_texture")});this.j===k?(c=b.createBuffer(),b.bindBuffer(34962,c),b.bufferData(34962,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),35044),this.j=c):b.bindBuffer(34962,this.j);b.enableVertexAttribArray(this.z.$b);
b.vertexAttribPointer(this.z.$b,2,5126,l,16,0);b.enableVertexAttribArray(this.z.ac);b.vertexAttribPointer(this.z.ac,2,5126,l,16,8);b.uniform1i(this.z.Zd,0);C(a.hb,function(c){var d=a.gb[y(c)];d.visible&&d.qb&&(d=vg(this,c),b.uniformMatrix4fv(this.z.Yd,l,d.jc()),b.uniformMatrix4fv(this.z.Xd,l,d.ic()),b.uniformMatrix4fv(this.z.Vd,l,Tg(d)),b.uniform1f(this.z.Wd,c.e()),b.bindTexture(3553,d.kc()),b.drawArrays(5,0,4))},this);this.p||(Ic(this.c,i),this.p=i);ug(a);1024<this.b.Z()-this.l&&a.wa.push(na(this.cd,
this))};var qh={},rh={de:"canvas",ge:"dom",Re:"webgl"},sh=["webgl","canvas","dom"],tg="layers";
function S(a){var b,c;M.call(this);var d={};d[tg]=x(a.layers)?a.layers:new N;d.view=x(a.view)?a.view:new R;c=sg;var e;e=x(a.renderers)?a.renderers:x(a.renderer)?[a.renderer]:sh;var f;for(b=0;b<e.length;++b)if(f=e[b],"canvas"==f){if(Ig){c=Hg;break}}else if("dom"==f){c=Og;break}else if("webgl"==f&&kh){c=nh;break}e=[];(x(a.attributionControl)?a.attributionControl:1)&&e.push(new uf({}));x(a.scaleLineControl)&&a.scaleLineControl&&e.push(new wf({units:x(a.scaleLineUnits)?a.scaleLineUnits:h}));if(x(a.zoomControl)?
a.zoomControl:1)e.push(new yf({delta:x(a.zoomDelta)?a.zoomDelta:4}));if(x(a.interactions))b=a.interactions;else{b=new N;(x(a.rotate)?a.rotate:1)&&b.push(new Hf(Bf));if(x(a.doubleClickZoom)?a.doubleClickZoom:1)b.push(new Af(x(a.zoomDelta)?a.zoomDelta:4));(x(a.touchPan)?a.touchPan:1)&&b.push(new Pf(new Ve(-0.005,0.05,100)));(x(a.touchRotate)?a.touchRotate:1)&&b.push(new Qf);(x(a.touchZoom)?a.touchZoom:1)&&b.push(new Rf);(x(a.dragPan)?a.dragPan:1)&&b.push(new Ff(Cf,new Ve(-0.005,0.05,100)));f=x(a.keyboardPanOffset)?
a.keyboardPanOffset:80;if(x(a.keyboard)?a.keyboard:1)b.push(new Kf(f)),b.push(new Lf);if(x(a.mouseWheelZoom)?a.mouseWheelZoom:1)b.push(new Mf(x(a.mouseWheelZoomDelta)?a.mouseWheelZoomDelta:1));(x(a.shiftDragZoom)?a.shiftDragZoom:1)&&b.push(new Jf(Df))}a=ga(a.target)?document.getElementById(a.target):a.target;this.c=new od(this.Pd,h,this);bc(this,this.c);this.Mc=de();this.Rc=de();this.d=k;this.f=0;this.p=l;this.G=a;this.F=k;this.b=Ob("DIV","ol-viewport");this.b.style.position="relative";this.b.style.overflow=
"hidden";this.b.style.width="100%";this.b.style.height="100%";this.b.style.msTouchAction="none";this.G.appendChild(this.b);this.A=Ob("DIV","ol-overlaycontainer");H(this.A,["click",Kd?"touchstart":"mousedown"],fc);this.b.appendChild(this.A);a=new bf(this);H(a,La(mf),this.xc,l,this);bc(this,a);a=new Ad(document);H(a,"key",this.lc,l,this);bc(this,a);a=new Hd(this.b);H(a,"mousewheel",this.lc,l,this);bc(this,a);this.vb=b;this.J=new c(this.b,this);bc(this,this.J);this.Uc=new vd;H(this.Uc,"resize",this.mc,
l,this);this.g=[];this.xb=[];this.Qc=na(this.Ed,this);this.qa=new te(na(this.gd,this));H(this,Qd("view"),this.Kd,l,this);H(this,Qd("size"),this.Gd,l,this);H(this,Qd("backgroundColor"),this.pd,l,this);this.lb(d);this.mc();C(e,function(a){a.a(this)},this)}B(S,M);S.prototype.j=function(a){sf(this);this.g.push(a)};S.prototype.Lc=function(a){sf(this);Array.prototype.push.apply(this.g,a)};S.prototype.r=function(){Ub(this.b);S.v.r.call(this)};S.prototype.La=function(){return this.s("backgroundColor")};
S.prototype.getBackgroundColor=S.prototype.La;S.prototype.Pc=n("J");function $e(a,b){var c=a.d;if(c===k)return k;var d=[b.x,b.y,0];ke(c.yc,d,d);return new L(d[0],d[1])}S.prototype.Nc=n("vb");S.prototype.t=function(){return this.s(tg)};S.prototype.getLayers=S.prototype.t;function Gf(a,b){var c=a.d;if(c===k)return k;var d=[b.x,b.y,0];ke(c.fc,d,d);return new Ye(d[0],d[1])}S.prototype.e=function(){return this.s("size")};S.prototype.getSize=S.prototype.e;S.prototype.a=function(){return this.s("view")};
S.prototype.getView=S.prototype.a;p=S.prototype;p.gd=function(a,b,c){var d=this.d;if(d===k||!(b in d.Pa)||!d.Pa[b][a.U.toString()])return Infinity;b=d.u.center;a=c.x-b.x;c=c.y-b.y;return a*a+c*c};p.lc=function(a,b){this.xc(new Ze(b||a.type,this,a))};p.xc=function(a){a.b=this.d;var b=this.vb.a;if(K(this,a)!==l)for(var c=b.length-1;0<=c&&!(b[c].oa(a),a.ab);c--);};
p.Ed=function(){var a=this.qa,b=a.a,c,d=0,e,f,g,j;for(c=0;c<b.length;++c)e=b[c],g=e[1],j=e[2],f=e[3],f=a.d(g,j,f),Infinity==f?(e=g.c(),delete a.b[e]):(e[0]=f,b[d++]=e);b.length=d;for(b=(a.a.length>>1)-1;0<=b;b--)we(a,b);for(a=this.qa;0<a.a.length&&a.c<a.e;)b=a,d=b.a,c=d[0][1],1==d.length?d.length=0:(d[0]=d.pop(),we(b,0)),d=c.c(),delete b.b[d],b=c,sc(b,"change",a.f,l,a),0==b.a&&(b.a=1,b.d=[sc(b.b,"error",b.g,l,b),sc(b.b,"load",b.l,l,b)],b.b.src=b.f),++a.c;a=this.xb;for(b=0;b<a.length;++b)a[b](this,
this.d);a.length=0};p.pd=function(){wg(this)};p.mc=function(){this.Qa(new Wd(this.G.clientWidth,this.G.clientHeight))};p.Gd=function(){wg(this)};p.Ld=function(){wg(this)};p.Kd=function(){this.F!==k&&(J(this.F),this.F=k);var a=this.a();a!=k&&(this.F=H(a,"changed",this.Ld,l,this));wg(this)};p.Ga=function(){var a=this.a(),b;if(b=x(a)){if(a=a.Ga())a=this.e()!=k;b=a}return b};function wg(a){a.c.N==k&&(0===a.f?(a=a.c,pd(a),a.Eb()):a.p=i)}function sf(a){0===a.f?a.c.N!=k||a.c.start():a.p=i}
p.Pd=function(a){var b;if(0==this.f){var c=this.e();b=this.t();var d=x(b)?b.a:h;b=this.a();var e=x(b)?this.a():h,f=k;if(x(d)&&x(c)&&x(e)&&e.Ga()){var f=this.La(),g=Fa(b.e),j={},m;for(b=0;b<d.length;++b){m=d[b];var r=j,s=y(m),q=m;m=q.b();var v=q.c(),u=q.d(),t=q.e(),z=q.W().c(),E=q.f(),q=q.a();r[s]={brightness:x(m)?m:0,contrast:x(v)?v:1,hue:x(u)?u:0,opacity:x(t)?t:1,qb:z,saturation:x(E)?E:1,visible:x(q)?q:i}}b=e.S();r=e.wc();s=e.T();e=e.ka();r={center:new L(b.x,b.y),projection:r,resolution:s,rotation:e};
f={P:l,attributions:{},backgroundColor:x(f)?f:new Vd,fc:this.Mc,extent:k,hb:d,gb:j,yc:this.Rc,wa:[],size:c,Ub:this.qa,time:a,Oa:{},u:r,B:g,Pa:{}}}a=this.g;for(b=d=0;b<a.length;++b)e=a[b],e(this,f)&&(a[d++]=e);a.length=d;if(f!==k){a=r.center;b=r.resolution;d=r.rotation;e=b*c.width/2;c=b*c.height/2;c=[new L(-e,-c),new L(-e,c),new L(e,-c),new L(e,c)];for(b=0;4>b;++b)e=c[b],e.rotate(d),e.add(a);f.extent=$d.apply(k,c)}this.d=f;this.J.mb(f);this.p=l;f!==k&&(f.P&&sf(this),Array.prototype.push.apply(this.xb,
f.wa));K(this,new Xe("postrender",this,f));w.setTimeout(this.Qc,0)}};p.Rd=function(a){this.q("backgroundColor",a)};S.prototype.setBackgroundColor=S.prototype.Rd;S.prototype.Sc=function(a){this.q(tg,a)};S.prototype.setLayers=S.prototype.Sc;S.prototype.Qa=function(a){this.q("size",a)};S.prototype.setSize=S.prototype.Qa;S.prototype.Tc=function(a){this.q("view",a)};S.prototype.setView=S.prototype.Tc;function qf(a,b,c){++a.f;try{b.call(c)}finally{0===--a.f&&a.p&&(a=a.c,pd(a),a.Eb())}}
qh.Zc=function(a){var b=w.location.search.substring(1),a=x(a)?a:new Wc(b);return hd(a,"renderers")?id(a,"renderers").split(","):hd(a,"renderer")?[id(a,"renderer")]:sh};He(Vf);He(Yf);function th(a,b,c){var d=a.length,c=1<c?c:2;x(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=6378137*Math.PI*a[e]/180,b[e+1]=6378137*Math.log(Math.tan(Math.PI*(a[e+1]+90)/360));return b}
function uh(a,b,c){var d=a.length,c=1<c?c:2;x(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=180*a[e]/(6378137*Math.PI),b[e+1]=360*Math.atan(Math.exp(a[e+1]/6378137))/Math.PI-90;return b}C(Yf,function(a){C(Vf,function(b){Je(a,b,th);Je(b,a,uh)})});var vh={ae:"bottom-left",be:"bottom-right",Je:"top-left",Ke:"top-right"};function T(a){M.call(this);this.b=Qb("DIV");this.b.style.position="absolute";this.a={Sa:"",ib:"",sb:"",ub:"",visible:i};H(this,Qd("element"),this.qd,l,this);H(this,Qd("map"),this.yd,l,this);H(this,Qd("position"),this.Cd,l,this);H(this,Qd("positioning"),this.Dd,l,this);x(a.element)&&this.Dc(a.element);x(a.position)&&this.p(a.position);x(a.positioning)&&this.q("positioning",a.positioning);x(a.map)&&this.j(a.map)}B(T,M);
T.prototype.f=function(){return this.s("element")};T.prototype.getElement=T.prototype.f;T.prototype.d=function(){return this.s("map")};T.prototype.getMap=T.prototype.d;T.prototype.g=function(){return this.s("position")};T.prototype.getPosition=T.prototype.g;T.prototype.e=function(){return this.s("positioning")};T.prototype.getPositioning=T.prototype.e;p=T.prototype;p.qd=function(){Sb(this.b);var a=this.f();a!=k&&Rb(this.b,a)};
p.yd=function(){this.c!==k&&(Ub(this.b),J(this.c),this.c=k);var a=this.d();a!=k&&(this.c=H(a,"postrender",this.Od,l,this),wh(this),Rb(a.A,this.b))};p.Od=function(){wh(this)};p.Cd=function(){wh(this)};p.Dd=function(){wh(this)};p.Dc=function(a){this.q("element",a)};T.prototype.setElement=T.prototype.Dc;T.prototype.j=function(a){this.q("map",a)};T.prototype.setMap=T.prototype.j;T.prototype.p=function(a){this.q("position",a)};T.prototype.setPosition=T.prototype.p;
function wh(a){var b=a.d(),c=a.g();if(!x(b)||!b.Ga()||!x(c))a.a.visible&&(Ic(a.b,l),a.a.visible=l);else{var c=Gf(b,c),d=b.e(),b=a.b.style,e=a.e();if("bottom-right"==e||"top-right"==e){""!==a.a.ib&&(a.a.ib=b.left="");var f=Math.round(d.width-c.x)+"px";a.a.sb!=f&&(a.a.sb=b.right=f)}else""!==a.a.sb&&(a.a.sb=b.right=""),f=Math.round(c.x)+"px",a.a.ib!=f&&(a.a.ib=b.left=f);"top-left"==e||"top-right"==e?(""!==a.a.Sa&&(a.a.Sa=b.bottom=""),c=Math.round(c.y)+"px",a.a.ub!=c&&(a.a.ub=b.top=c)):(""!==a.a.ub&&
(a.a.ub=b.top=""),c=Math.round(d.height-c.y)+"px",a.a.Sa!=c&&(a.a.Sa=b.bottom=c));a.a.visible||(Ic(a.b,i),a.a.visible=i)}};function X(a){M.call(this);this.a=k;xh&&(H(this,Qd("projection"),this.p,l,this),this.J=navigator.geolocation.watchPosition(na(this.F,this),na(this.G,this),a))}B(X,M);X.prototype.r=function(){navigator.geolocation.clearWatch(this.J);X.v.r.call(this)};X.prototype.p=function(){var a=this.c();a!=k&&(this.b=Ce(Me("EPSG:4326"),a),this.a!==k&&(a=[this.a.x,this.a.y],a=this.b(a,a,2),this.q("position",new L(a[0],a[1]))))};var xh="geolocation"in navigator;
X.prototype.F=function(a){a=a.coords;this.q("accuracy",a.accuracy);this.q("altitude",a.altitude===k?h:a.altitude);this.q("altitudeAccuracy",a.altitudeAccuracy===k?h:a.altitudeAccuracy);this.q("heading",a.heading===k?h:a.heading*Math.PI/180);this.a=new L(a.longitude,a.latitude);var b=[a.longitude,a.latitude],b=this.b(b,b,2);this.q("position",new L(b[0],b[1]));this.q("speed",a.speed===k?h:a.speed)};X.prototype.G=function(){};X.prototype.d=function(){return this.s("accuracy")};
X.prototype.getAccuracy=X.prototype.d;X.prototype.e=function(){return this.s("altitude")};X.prototype.getAltitude=X.prototype.e;X.prototype.f=function(){return this.s("altitudeAccuracy")};X.prototype.getAltitudeAccuracy=X.prototype.f;X.prototype.g=function(){return this.s("heading")};X.prototype.getHeading=X.prototype.g;X.prototype.t=function(){return this.s("position")};X.prototype.getPosition=X.prototype.t;X.prototype.c=function(){return this.s("projection")};X.prototype.getProjection=X.prototype.c;
X.prototype.j=function(){return this.s("speed")};X.prototype.getSpeed=X.prototype.j;X.prototype.A=function(a){this.q("projection",a)};X.prototype.setProjection=X.prototype.A;X.prototype.b=aa();function yh(a){var b=Ob("DIV",{"class":"ol-mouse-position"});tf.call(this,{element:b,map:a.map,target:a.target});this.l=a.projection;this.g=a.coordinateFormat;this.J=x(a.undefinedHTML)?a.undefinedHTML:"";this.f=b.innerHTML;this.c=k;this.j=Ne;this.d=this.e=this.t=k}B(yh,tf);yh.prototype.G=function(a){a=a.b;a===k?this.c=k:this.c=a.u.projection;zh(this,this.e)};yh.prototype.A=function(a){a=Fc(a,this.b.b);a=new Ye(a.x,a.y);zh(this,a);this.e=a};yh.prototype.F=function(){zh(this,k);this.e=k};
yh.prototype.a=function(a){this.d!==k&&(C(this.d,J),this.d=k);yh.v.a.call(this,a);if(a!==k){var b=a.b;this.d=[H(b,"mousemove",this.A,l,this),H(b,"mouseout",this.F,l,this),H(a,"postrender",this.G,l,this)]}};function zh(a,b){var c=a.J;if(b!==k){a.t!=a.c&&(a.j=x(a.l)?Ce(a.c,a.l):Ne,a.t=a.c);var d=$e(a.b,b);d!==k&&(c=[d.x,d.y],c=a.j(c,c),d=new L(c[0],c[1]),c=x(a.g)?a.g(d):d.toString())}if(!x(a.f)||c!=a.f)a.element.innerHTML=c,a.f=c};function Ah(){this.a={}}B(Ah,zf);Ah.prototype.b=function(a,b){var c;for(c=0;c<a.length;++c)this.a[a.charCodeAt(c)]=b};Ah.prototype.oa=function(a){if("key"==a.type){var b=this.a[a.a.Za];b&&(b(),a.C())}};function Bh(a){if("undefined"!=typeof DOMParser)return(new DOMParser).parseFromString(a,"application/xml");if("undefined"!=typeof ActiveXObject){var b=new ActiveXObject("MSXML2.DOMDocument");if(b){b.resolveExternals=l;b.validateOnParse=l;try{b.setProperty("ProhibitDTD",i),b.setProperty("MaxXMLSize",2048),b.setProperty("MaxElementDepth",256)}catch(c){}}b.loadXML(a);return b}throw Error("Your browser does not support loading xml documents");};function Ch(){this.xa={Ic:/^\s*|\s*$/g,a:/\s*/g,Gc:/\s+/,Hc:/\s*,\s*/g}}function Dh(a,b,c){c||(c={});var d=a.w[b.namespaceURI]||a.w[a.a];if(d){var e=b.localName||b.nodeName.split(":").pop();(d=d[e]||d["*"])&&d.apply(a,[b,c])}}function Z(a,b,c){c||(c={});for(var b=b.childNodes,d,e=0,f=b.length;e<f;++e)d=b[e],1==d.nodeType&&Dh(a,d,c)}function $(a){var b="";if(a)for(a=a.firstChild;a;a=a.nextSibling)switch(a.nodeType){case 3:case 4:b+=a.nodeValue}return b}
Ch.prototype.getAttributeNS=function(a,b,c){var d="";if(a.getAttributeNS)d=a.getAttributeNS(b,c)||"";else{var e=k;if(a.getAttributeNodeNS)e=a.getAttributeNodeNS(b,c);else for(var a=a.attributes,f,g,j=0,m=a.length;j<m;++j)if(f=a[j],f.namespaceURI==b&&(g=f.prefix?f.prefix+":"+c:c,g==f.nodeName)){e=f;break}if(b=e)d=b.nodeValue}return d};function Eh(){function a(a,b){b.Sd.push($(a))}function b(a,b){var e={code:a.getAttribute("exceptionCode"),Te:a.getAttribute("locator"),Sd:[]};b.hc.push(e);Z(this,a,e)}this.w={"http://www.opengis.net/ogc":{ServiceExceptionReport:function(a,b){b.exceptionReport={};b.exceptionReport.exceptions=[];Z(this,a,b.exceptionReport)},ServiceException:function(a,b){var e={};e.code=a.getAttribute("code");e.locator=a.getAttribute("locator");e.text=$(a);b.exceptions.push(e)}},"http://www.opengis.net/ows":{ExceptionReport:function(a,
b){b.Ue=l;b.Cb={version:a.getAttribute("version"),language:a.getAttribute("language"),hc:[]};Z(this,a,b.Cb)},Exception:function(a,d){b.apply(this,arguments)},ExceptionText:function(b,d){a.apply(this,arguments)}},"http://www.opengis.net/ows/1.1":{ExceptionReport:function(a,b){b.Cb={version:a.getAttribute("version"),language:a.getAttribute("xml:lang"),hc:[]};Z(this,a,b.Cb)},Exception:function(a,d){b.apply(this,arguments)},ExceptionText:function(b,d){a.apply(this,arguments)}}};Ch.call(this)}B(Eh,Ch);
Eh.prototype.ra=function(a){"string"==typeof a&&(a=Bh(a));var b={exceptionReport:k};a&&Z(this,a,b);return b};function Fh(a){this.c=a=a||{};this.Ua=a.Ua||k;this.version=a.version;this.profile=a.profile;a.Ra!==h?this.Ra=a.Ra:this.Ra=l;a.Sb!==h?this.Sb=a.Sb:this.Sb=l}
Fh.prototype.ra=function(a,b){"string"==typeof a&&(a=Bh(a));var c;c=a.documentElement;var d;c?(d=this.version,d||(d=c.getAttribute("version"),d||(d=this.Ua))):d=this.version||this.Ua;d=(c=d)||this.Ua;var e=this.profile?"_"+this.profile:"";if(!this.b||this.b.VERSION!=d){var f=this.a["v"+d.replace(/\./g,"_")+e];if(!f&&(""!==e&&this.Ra&&(e="",f=this.a["v"+d.replace(/\./g,"_")+e]),!f))throw"Can't find a parser for version "+d+e;this.b=new f(this.c)}this.b=this.b;d=this.b.ra(a,b);e=this.b.bd||k;e!==k&&
d[e]===h&&(d.error=(new Eh).ra(a));d.version=c;return d};function Gh(){this.a="http://www.opengis.net/wms";this.bd="service";this.w={"http://www.opengis.net/wms":{Service:function(a,b){b.service={};Z(this,a,b.service)},Name:function(a,b){b.name=$(a)},Title:function(a,b){b.title=$(a)},Abstract:function(a,b){b["abstract"]=$(a)},BoundingBox:function(a){var b={};b.bbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))];a={x:parseFloat(a.getAttribute("resx")),y:parseFloat(a.getAttribute("resy"))};
if(!isNaN(a.x)||!isNaN(a.y))b.res=a;return b},OnlineResource:function(a,b){b.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ContactInformation:function(a,b){b.contactInformation={};Z(this,a,b.contactInformation)},ContactPersonPrimary:function(a,b){b.personPrimary={};Z(this,a,b.personPrimary)},ContactPerson:function(a,b){b.person=$(a)},ContactOrganization:function(a,b){b.organization=$(a)},ContactPosition:function(a,b){b.position=$(a)},ContactAddress:function(a,b){b.contactAddress=
{};Z(this,a,b.contactAddress)},AddressType:function(a,b){b.type=$(a)},Address:function(a,b){b.address=$(a)},City:function(a,b){b.city=$(a)},StateOrProvince:function(a,b){b.stateOrProvince=$(a)},PostCode:function(a,b){b.postcode=$(a)},Country:function(a,b){b.country=$(a)},ContactVoiceTelephone:function(a,b){b.phone=$(a)},ContactFacsimileTelephone:function(a,b){b.fax=$(a)},ContactElectronicMailAddress:function(a,b){b.email=$(a)},Fees:function(a,b){var c=$(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},
AccessConstraints:function(a,b){var c=$(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},Capability:function(a,b){b.capability={};b.capability.nestedLayers=[];b.capability.layers=[];Z(this,a,b.capability)},Request:function(a,b){b.request={};Z(this,a,b.request)},GetCapabilities:function(a,b){b.getcapabilities={};b.getcapabilities.formats=[];Z(this,a,b.getcapabilities)},Format:function(a,b){da(b.formats)?b.formats.push($(a)):b.format=$(a)},DCPType:function(a,b){Z(this,a,b)},HTTP:function(a,b){Z(this,
AccessConstraints:function(a,b){var c=$(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},Capability:function(a,b){b.capability={};b.capability.nestedLayers=[];b.capability.layers=[];Z(this,a,b.capability)},Request:function(a,b){b.request={};Z(this,a,b.request)},GetCapabilities:function(a,b){b.getcapabilities={};b.getcapabilities.formats=[];Z(this,a,b.getcapabilities)},Format:function(a,b){ea(b.formats)?b.formats.push($(a)):b.format=$(a)},DCPType:function(a,b){Z(this,a,b)},HTTP:function(a,b){Z(this,
a,b)},Get:function(a,b){b.get={};Z(this,a,b.get)},Post:function(a,b){b.post={};Z(this,a,b.post)},GetMap:function(a,b){b.getmap={};b.getmap.formats=[];Z(this,a,b.getmap)},GetFeatureInfo:function(a,b){b.getfeatureinfo={};b.getfeatureinfo.formats=[];Z(this,a,b.getfeatureinfo)},Exception:function(a,b){b.exception={};b.exception.formats=[];Z(this,a,b.exception)},Layer:function(a,b){var c,d;b.capability?(d=b.capability,c=b):d=b;var e=a.getAttributeNode("queryable"),f=e&&e.specified?a.getAttribute("queryable"):
k,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):k,j=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):k,m=a.getAttribute("noSubsets"),q=a.getAttribute("fixedWidth"),n=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===f:e.queryable||l,cascaded:g!==k?parseInt(g,10):e.cascaded||
0,opaque:j?"1"===j||"true"===j:e.opaque||l,noSubsets:m!==k?"1"===m||"true"===m:e.noSubsets||l,fixedWidth:q!==k?parseInt(q,10):e.fixedWidth||0,fixedHeight:n!==k?parseInt(n,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(Va(f.srs,e.srs),Va(f.bbox,e.bbox),Va(f.dimensions,e.dimensions),Va(f.authorityURLs,e.authorityURLs));b.nestedLayers.push(f);f.capability=d;Z(this,a,f);delete f.capability;f.name&&(c=f.name.split(":"),g=d.request,e=g.getfeatureinfo,0<c.length&&
k,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):k,j=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):k,m=a.getAttribute("noSubsets"),r=a.getAttribute("fixedWidth"),s=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===f:e.queryable||l,cascaded:g!==k?parseInt(g,10):e.cascaded||
0,opaque:j?"1"===j||"true"===j:e.opaque||l,noSubsets:m!==k?"1"===m||"true"===m:e.noSubsets||l,fixedWidth:r!==k?parseInt(r,10):e.fixedWidth||0,fixedHeight:s!==k?parseInt(s,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(Ua(f.srs,e.srs),Ua(f.bbox,e.bbox),Ua(f.dimensions,e.dimensions),Ua(f.authorityURLs,e.authorityURLs));b.nestedLayers.push(f);f.capability=d;Z(this,a,f);delete f.capability;f.name&&(c=f.name.split(":"),g=d.request,e=g.getfeatureinfo,0<c.length&&
(f.prefix=c[0]),d.layers.push(f),f.formats===h&&(f.formats=g.getmap.formats),f.infoFormats===h&&e&&(f.infoFormats=e.formats))},Attribution:function(a,b){b.attribution={};Z(this,a,b.attribution)},LogoURL:function(a,b){b.logo={width:a.getAttribute("width"),height:a.getAttribute("height")};Z(this,a,b.logo)},Style:function(a,b){var c={};b.styles.push(c);Z(this,a,c)},LegendURL:function(a,b){var c={width:a.getAttribute("width"),height:a.getAttribute("height")};b.legend=c;Z(this,a,c)},MetadataURL:function(a,
b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c);Z(this,a,c)},DataURL:function(a,b){b.dataURL={};Z(this,a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};Z(this,a,b.featureListURL)},AuthorityURL:function(a,b){var c=a.getAttribute("name"),d={};Z(this,a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=$(a)},KeywordList:function(a,b){Z(this,a,b)},SRS:function(a,b){b.srs[$(a)]=i}}};Zh.call(this)}B(ci,Zh);
ci.prototype.pa=function(a){"string"==typeof a&&(a=Yh(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};$h(this,a,b);return b};function di(){ci.call(this);var a=this.w["http://www.opengis.net/wms"].BoundingBox;Va(this.w["http://www.opengis.net/wms"],{WMT_MS_Capabilities:function(a,c){Z(this,a,c)},Keyword:function(a,c){c.keywords&&c.keywords.push({value:$(a)})},DescribeLayer:function(a,c){c.describelayer={formats:[]};Z(this,a,c.describelayer)},GetLegendGraphic:function(a,c){c.getlegendgraphic={formats:[]};Z(this,a,c.getlegendgraphic)},GetStyles:function(a,c){c.getstyles={formats:[]};Z(this,a,c.getstyles)},PutStyles:function(a,
b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c);Z(this,a,c)},DataURL:function(a,b){b.dataURL={};Z(this,a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};Z(this,a,b.featureListURL)},AuthorityURL:function(a,b){var c=a.getAttribute("name"),d={};Z(this,a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=$(a)},KeywordList:function(a,b){Z(this,a,b)},SRS:function(a,b){b.srs[$(a)]=i}}};Ch.call(this)}B(Gh,Ch);
Gh.prototype.ra=function(a){"string"==typeof a&&(a=Bh(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};Dh(this,a,b);return b};function Hh(){Gh.call(this);var a=this.w["http://www.opengis.net/wms"].BoundingBox;Ua(this.w["http://www.opengis.net/wms"],{WMT_MS_Capabilities:function(a,c){Z(this,a,c)},Keyword:function(a,c){c.keywords&&c.keywords.push({value:$(a)})},DescribeLayer:function(a,c){c.describelayer={formats:[]};Z(this,a,c.describelayer)},GetLegendGraphic:function(a,c){c.getlegendgraphic={formats:[]};Z(this,a,c.getlegendgraphic)},GetStyles:function(a,c){c.getstyles={formats:[]};Z(this,a,c.getstyles)},PutStyles:function(a,
c){c.putstyles={formats:[]};Z(this,a,c.putstyles)},UserDefinedSymbolization:function(a,c){var d={supportSLD:1==parseInt(a.getAttribute("SupportSLD"),10),userLayer:1==parseInt(a.getAttribute("UserLayer"),10),userStyle:1==parseInt(a.getAttribute("UserStyle"),10),remoteWFS:1==parseInt(a.getAttribute("RemoteWFS"),10)};c.userSymbols=d},LatLonBoundingBox:function(a,c){c.llbbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))]},
BoundingBox:function(b,c){var d=a.apply(this,arguments);d.srs=b.getAttribute("SRS");c.bbox[d.srs]=d},ScaleHint:function(a,c){var d=parseFloat(a.getAttribute("min")),e=parseFloat(a.getAttribute("max")),f=Math.pow(2,0.5),g=25.4/0.28;0!==d&&(c.maxScale=parseFloat(39.37*(d/f)*g));e!=Number.POSITIVE_INFINITY&&(c.minScale=parseFloat(39.37*(e/f)*g))},Dimension:function(a,c){var d={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol")};c.dimensions[d.name]=
d},Extent:function(a,c){var d=a.getAttribute("name").toLowerCase();d in c.dimensions&&(d=c.dimensions[d],d.nearestVal="1"===a.getAttribute("nearestValue"),d.multipleVal="1"===a.getAttribute("multipleValues"),d.current="1"===a.getAttribute("current"),d["default"]=a.getAttribute("default")||"",d.values=$(a).split(","))}})}B(di,ci);function ei(){di.call(this);this.version="1.1.0";Va(this.w["http://www.opengis.net/wms"],{SRS:function(a,b){for(var c=$(a).split(/ +/),d=0,e=c.length;d<e;d++)b.srs[c[d]]=i}})}B(ei,di);function fi(){di.call(this);this.version="1.1.1";Va(this.w["http://www.opengis.net/wms"],{SRS:function(a,b){b.srs[$(a)]=i}})}B(fi,di);function gi(){fi.call(this);this.profile="WMSC";Va(this.w["http://www.opengis.net/wms"],{VendorSpecificCapabilities:function(a,b){b.vendorSpecific={tileSets:[]};Z(this,a,b.vendorSpecific)},TileSet:function(a,b){var c={srs:{},bbox:{},resolutions:[]};Z(this,a,c);b.Ue.push(c)},Resolutions:function(a,b){for(var c=$(a).split(" "),d=0,e=c.length;d<e;d++)""!==c[d]&&b.resolutions.push(parseFloat(c[d]))},Width:function(a,b){b.width=parseInt($(a),10)},Height:function(a,b){b.height=parseInt($(a),10)},Layers:function(a,
b){b.layers=$(a)},Styles:function(a,b){b.styles=$(a)}})}B(gi,fi);function hi(){ci.call(this);var a=this.w["http://www.opengis.net/wms"].BoundingBox;Va(this.w["http://www.opengis.net/wms"],{WMS_Capabilities:function(a,c){Z(this,a,c)},LayerLimit:function(a,c){c.layerLimit=parseInt($(a),10)},MaxWidth:function(a,c){c.maxWidth=parseInt($(a),10)},MaxHeight:function(a,c){c.maxHeight=parseInt($(a),10)},BoundingBox:function(b,c){var d=a.apply(this,arguments);d.srs=b.getAttribute("CRS");c.bbox[d.srs]=d},CRS:function(a,c){this.w["http://www.opengis.net/wms"].SRS.apply(this,
d},Extent:function(a,c){var d=a.getAttribute("name").toLowerCase();d in c.dimensions&&(d=c.dimensions[d],d.nearestVal="1"===a.getAttribute("nearestValue"),d.multipleVal="1"===a.getAttribute("multipleValues"),d.current="1"===a.getAttribute("current"),d["default"]=a.getAttribute("default")||"",d.values=$(a).split(","))}})}B(Hh,Gh);function Ih(){Hh.call(this);this.version="1.1.0";Ua(this.w["http://www.opengis.net/wms"],{SRS:function(a,b){for(var c=$(a).split(/ +/),d=0,e=c.length;d<e;d++)b.srs[c[d]]=i}})}B(Ih,Hh);function Jh(){Hh.call(this);this.version="1.1.1";Ua(this.w["http://www.opengis.net/wms"],{SRS:function(a,b){b.srs[$(a)]=i}})}B(Jh,Hh);function Kh(){Jh.call(this);this.profile="WMSC";Ua(this.w["http://www.opengis.net/wms"],{VendorSpecificCapabilities:function(a,b){b.vendorSpecific={tileSets:[]};Z(this,a,b.vendorSpecific)},TileSet:function(a,b){var c={srs:{},bbox:{},resolutions:[]};Z(this,a,c);b.We.push(c)},Resolutions:function(a,b){for(var c=$(a).split(" "),d=0,e=c.length;d<e;d++)""!==c[d]&&b.resolutions.push(parseFloat(c[d]))},Width:function(a,b){b.width=parseInt($(a),10)},Height:function(a,b){b.height=parseInt($(a),10)},Layers:function(a,
b){b.layers=$(a)},Styles:function(a,b){b.styles=$(a)}})}B(Kh,Jh);function Lh(){Gh.call(this);var a=this.w["http://www.opengis.net/wms"].BoundingBox;Ua(this.w["http://www.opengis.net/wms"],{WMS_Capabilities:function(a,c){Z(this,a,c)},LayerLimit:function(a,c){c.layerLimit=parseInt($(a),10)},MaxWidth:function(a,c){c.maxWidth=parseInt($(a),10)},MaxHeight:function(a,c){c.maxHeight=parseInt($(a),10)},BoundingBox:function(b,c){var d=a.apply(this,arguments);d.srs=b.getAttribute("CRS");c.bbox[d.srs]=d},CRS:function(a,c){this.w["http://www.opengis.net/wms"].SRS.apply(this,
arguments)},EX_GeographicBoundingBox:function(a,c){c.llbbox=[];Z(this,a,c.llbbox)},westBoundLongitude:function(a,c){c[0]=$(a)},eastBoundLongitude:function(a,c){c[2]=$(a)},southBoundLatitude:function(a,c){c[1]=$(a)},northBoundLatitude:function(a,c){c[3]=$(a)},MinScaleDenominator:function(a,c){c.maxScale=parseFloat($(a)).toPrecision(16)},MaxScaleDenominator:function(a,c){c.minScale=parseFloat($(a)).toPrecision(16)},Dimension:function(a,c){var d={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),
unitsymbol:a.getAttribute("unitSymbol"),nearestVal:"1"===a.getAttribute("nearestValue"),multipleVal:"1"===a.getAttribute("multipleValues"),"default":a.getAttribute("default")||"",current:"1"===a.getAttribute("current"),values:$(a).split(",")};c.dimensions[d.name]=d},Keyword:function(a,c){var d={value:$(a),vocabulary:a.getAttribute("vocabulary")};c.keywords&&c.keywords.push(d)}});this.w.sld={UserDefinedSymbolization:function(a,c){this.w["http://www.opengis.net/wms"].Ne.apply(this,arguments);var d=
a.getAttribute("InlineFeature");c.userSymbols.inlineFeature=1==parseInt(d,10);d=a.getAttribute("RemoteWCS");c.userSymbols.remoteWCS=1==parseInt(d,10)},DescribeLayer:function(a,c){this.w["http://www.opengis.net/wms"].le.apply(this,arguments)},GetLegendGraphic:function(a,c){this.w["http://www.opengis.net/wms"].me.apply(this,arguments)}}}B(hi,ci);function ii(a){a=a||{};a.defaultVersion="1.1.1";this.a={};this.a.v1_1_0=ei;this.a.v1_1_1=fi;this.a.v1_1_1_WMSC=gi;this.a.v1_3_0=hi;bi.call(this,a)}B(ii,bi);function ji(){this.w={"http://www.opengis.net/ows":{ServiceIdentification:function(a,b){b.serviceIdentification={};Z(this,a,b.serviceIdentification)},Title:function(a,b){b.title=$(a)},Abstract:function(a,b){b["abstract"]=$(a)},Keywords:function(a,b){b.keywords={};Z(this,a,b.keywords)},Keyword:function(a,b){b[$(a)]=i},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),value:$(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion=$(a)},Fees:function(a,b){b.fees=$(a)},
unitsymbol:a.getAttribute("unitSymbol"),nearestVal:"1"===a.getAttribute("nearestValue"),multipleVal:"1"===a.getAttribute("multipleValues"),"default":a.getAttribute("default")||"",current:"1"===a.getAttribute("current"),values:$(a).split(",")};c.dimensions[d.name]=d},Keyword:function(a,c){var d={value:$(a),vocabulary:a.getAttribute("vocabulary")};c.keywords&&c.keywords.push(d)}});this.w.sld={UserDefinedSymbolization:function(a,c){this.w["http://www.opengis.net/wms"].Pe.apply(this,arguments);var d=
a.getAttribute("InlineFeature");c.userSymbols.inlineFeature=1==parseInt(d,10);d=a.getAttribute("RemoteWCS");c.userSymbols.remoteWCS=1==parseInt(d,10)},DescribeLayer:function(a,c){this.w["http://www.opengis.net/wms"].le.apply(this,arguments)},GetLegendGraphic:function(a,c){this.w["http://www.opengis.net/wms"].me.apply(this,arguments)}}}B(Lh,Gh);function Mh(a){a=a||{};a.defaultVersion="1.1.1";this.a={};this.a.v1_1_0=Ih;this.a.v1_1_1=Jh;this.a.v1_1_1_WMSC=Kh;this.a.v1_3_0=Lh;Fh.call(this,a)}B(Mh,Fh);function Nh(){this.w={"http://www.opengis.net/ows":{ServiceIdentification:function(a,b){b.serviceIdentification={};Z(this,a,b.serviceIdentification)},Title:function(a,b){b.title=$(a)},Abstract:function(a,b){b["abstract"]=$(a)},Keywords:function(a,b){b.keywords={};Z(this,a,b.keywords)},Keyword:function(a,b){b[$(a)]=i},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),value:$(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion=$(a)},Fees:function(a,b){b.fees=$(a)},
AccessConstraints:function(a,b){b.accessConstraints=$(a)},ServiceProvider:function(a,b){b.serviceProvider={};Z(this,a,b.serviceProvider)},ProviderName:function(a,b){b.providerName=$(a)},ProviderSite:function(a,b){b.providerSite=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceContact:function(a,b){b.serviceContact={};Z(this,a,b.serviceContact)},IndividualName:function(a,b){b.individualName=$(a)},PositionName:function(a,b){b.positionName=$(a)},ContactInfo:function(a,b){b.contactInfo=
{};Z(this,a,b.contactInfo)},Phone:function(a,b){b.phone={};Z(this,a,b.phone)},Voice:function(a,b){b.voice=$(a)},Address:function(a,b){b.address={};Z(this,a,b.address)},DeliveryPoint:function(a,b){b.deliveryPoint=$(a)},City:function(a,b){b.city=$(a)},AdministrativeArea:function(a,b){b.administrativeArea=$(a)},PostalCode:function(a,b){b.postalCode=$(a)},Country:function(a,b){b.country=$(a)},ElectronicMailAddress:function(a,b){b.electronicMailAddress=$(a)},Role:function(a,b){b.role=$(a)},OperationsMetadata:function(a,
b){b.operationsMetadata={};Z(this,a,b.operationsMetadata)},Operation:function(a,b){var c=a.getAttribute("name");b[c]={};Z(this,a,b[c])},DCP:function(a,b){b.dcp={};Z(this,a,b.dcp)},HTTP:function(a,b){b.http={};Z(this,a,b.http)},Get:function(a,b){b.get||(b.get=[]);var c={url:this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")};Z(this,a,c);b.get.push(c)},Post:function(a,b){b.post||(b.post=[]);var c={url:this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")};Z(this,a,c);b.post.push(c)},
Parameter:function(a,b){b.parameters||(b.parameters={});var c=a.getAttribute("name");b.parameters[c]={};Z(this,a,b.parameters[c])},Constraint:function(a,b){b.constraints||(b.constraints={});var c=a.getAttribute("name");b.constraints[c]={};Z(this,a,b.constraints[c])},Value:function(a,b){b[$(a)]=i},OutputFormat:function(a,b){b.formats.push({value:$(a)});Z(this,a,b)},WGS84BoundingBox:function(a,b){var c={};c.crs=a.getAttribute("crs");b.BoundingBox?b.BoundingBox.push(c):(b.projection=c.crs,c=b);Z(this,
a,c)},BoundingBox:function(a,b){this.w["http://www.opengis.net/ows"].WGS84BoundingBox.apply(this,[a,b])},LowerCorner:function(a,b){var c=$(a).replace(this.va.Fc,""),c=c.replace(this.va.Ec,","),c=c.split(this.va.Dc);b.left=c[0];b.bottom=c[1]},UpperCorner:function(a,b){var c=$(a).replace(this.va.Fc,""),c=c.replace(this.va.Ec,","),c=c.split(this.va.Dc);b.right=c[0];b.top=c[1];b.bounds=new N(parseFloat(b.left),parseFloat(b.bottom),parseFloat(b.right),parseFloat(b.top));delete b.left;delete b.bottom;delete b.right;
delete b.top},Language:function(a,b){b.language=$(a)}}};Zh.call(this)}B(ji,Zh);function ki(){ji.call(this);this.w["http://www.opengis.net/ows/1.1"]=this.w["http://www.opengis.net/ows"];Va(this.w["http://www.opengis.net/ows/1.1"],{AllowedValues:function(a,b){b.allowedValues={};Z(this,a,b.allowedValues)},AnyValue:function(a,b){b.anyValue=i},DataType:function(a,b){b.dataType=$(a)},Range:function(a,b){b.range={};Z(this,a,b.range)},MinimumValue:function(a,b){b.minValue=$(a)},MaximumValue:function(a,b){b.maxValue=$(a)},Identifier:function(a,b){b.identifier=$(a)},SupportedCRS:function(a,
b){b.supportedCRS=$(a)}})}B(ki,ji);function li(){this.w={"http://www.opengis.net/wmts/1.0":{Capabilities:function(a,c){Z(this,a,c)},Contents:function(a,c){c.contents={};c.contents.layers=[];c.contents.tileMatrixSets={};Z(this,a,c.contents)},Layer:function(a,c){var d={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[],layers:[]};Z(this,a,d);c.layers.push(d)},Style:function(a,c){var d={};d.isDefault="true"===a.getAttribute("isDefault");Z(this,a,d);c.styles.push(d)},Format:function(a,c){c.formats.push($(a))},TileMatrixSetLink:function(a,
c){var d={};Z(this,a,d);c.tileMatrixSetLinks.push(d)},TileMatrixSet:function(a,c){if(c.layers){var d={matrixIds:[]};Z(this,a,d);c.tileMatrixSets[d.identifier]=d}else c.tileMatrixSet=$(a)},TileMatrix:function(a,c){var d={supportedCRS:c.Te};Z(this,a,d);c.matrixIds.push(d)},ScaleDenominator:function(a,c){c.scaleDenominator=parseFloat($(a))},TopLeftCorner:function(a,c){var d=$(a).split(" "),e=Qe(c.supportedCRS).b,d=[parseFloat(d[0]),parseFloat(d[1])],e=e.charAt(0);c.topLeftCorner="n"===e||"s"===e?new K(d[1],
d[0]):new K(d[0],d[1])},TileWidth:function(a,c){c.tileWidth=parseInt($(a),10)},TileHeight:function(a,c){c.tileHeight=parseInt($(a),10)},MatrixWidth:function(a,c){c.matrixWidth=parseInt($(a),10)},MatrixHeight:function(a,c){c.matrixHeight=parseInt($(a),10)},ResourceURL:function(a,c){c.resourceUrl=c.resourceUrl||{};var d=a.getAttribute("resourceType");c.resourceUrls||(c.resourceUrls=[]);d=c.resourceUrl[d]={format:a.getAttribute("format"),template:a.getAttribute("template"),resourceType:d};c.resourceUrls.push(d)},
WSDL:function(a,c){c.wsdl={};c.wsdl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceMetadataURL:function(a,c){c.serviceMetadataUrl={};c.serviceMetadataUrl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},LegendURL:function(a,c){c.legend={};c.legend.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href");c.legend.format=a.getAttribute("format")},Dimension:function(a,c){var d={values:[]};Z(this,a,d);c.dimensions.push(d)},Default:function(a,c){c["default"]=
$(a)},Value:function(a,c){c.values.push($(a))}}};var a=new ki;this.w["http://www.opengis.net/ows/1.1"]=a.w["http://www.opengis.net/ows/1.1"];Zh.call(this)}B(li,Zh);li.prototype.pa=function(a){"string"==typeof a&&(a=Yh(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};$h(this,a,b);return b};function mi(a){a=a||{};a.defaultVersion="1.0.0";this.a={};this.a.v1_0_0=li;bi.call(this,a)}B(mi,bi);function ni(a,b){we.call(this,a);this.b=2;this.d=a;this.c=ig(b,a.m);this.a={}}B(ni,we);ni.prototype.I=function(a){a=y(a)?z(a):-1;if(a in this.a)return this.a[a];var b=this.c,c=Rb("CANVAS");c.width=b.width;c.height=b.height;var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b.width+0.5,b.height+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.d.toString(),b.width/2,b.height/2);return this.a[a]=c};
function oi(a){jg.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.a=new Ph}B(oi,jg);oi.prototype.f=function(){return this.a.Z()>this.a.d};oi.prototype.Ba=function(a){this.a.Ba(a)};oi.prototype.b=function(a){var b=a.toString();if($g(this.a,b))return ch(this.a,b);a=new ni(a,this.tileGrid);eh(this.a,b,a);return a};function pi(a){var b=a.projection||Qe("EPSG:3857"),c=Mh;y(a.ba)?c=a.ba:y(a.urls)?c=Kh(za(a.urls,Jh)):y(a.url)&&(c=Jh(a.url));var d=new Rh({maxZoom:a.maxZoom}),e=a.extent,c=e!=k?Nh(function(b){if(a.maxZoom<b.m)return k;var c=1<<b.m,j=-b.y-1;if(0>j||c<=j)return k;c=Gb(b.x,c);return!ce(dg(d,new se(b.m,c,b.y)),e)?k:new se(b.m,c,j)},c):Nh(function(b){if(a.maxZoom<b.m)return k;var c=1<<b.m,d=-b.y-1;return 0>d||c<=d?k:new se(b.m,Gb(b.x,c),d)},c);Qh.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,
extent:a.extent,projection:b,tileGrid:d,ba:c})}B(pi,Qh);function qi(){pi.call(this,{attributions:[new ve('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ve('Data &copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')],maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})}B(qi,pi);
function ri(){pi.call(this,{attributions:[new ve('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new ve("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")],maxZoom:18,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})}B(ri,pi);function si(){pi.call(this,{attributions:[new ve('&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')],maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})}B(si,pi);function ti(a){var b=Pe(a.projection),c=b.G(),c=y(a.extent)?a.extent:c,d=y(a.version)?a.version:"1.3",e={SERVICE:"WMS",VERSION:d,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:i};e["1.3"<=d?"CRS":"SRS"]=b.a;Va(e,a.params);var f=b.b;if(a.url)var g=Rc(Uc([a.url],e)),d=function(a,b){return Vc(g,"BBOX",("ne"==f.substr(0,2)?[a.j,a.h,a.i,a.k]:[a.h,a.j,a.k,a.i]).join(","),"HEIGHT",b.height,"WIDTH",b.width)};else d=wg;xg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:c,
projection:b,resolutions:a.resolutions,Fa:d});this.b=k;this.f=1.5}B(ti,xg);ti.prototype.I=function(a,b){var c=b;this.a===k||(c=this.a[rf(this.a,c)]);var b=c,c=this.b,d;if(d=c!==k)if(d=c.e==b)d=c.G(),d=d.h<=a.h&&a.k<=d.k&&d.j<=a.j&&a.i<=d.i;if(d)return c;var c=a=new N(a.h,a.j,a.k,a.i),e=this.f;d=c.b()/2*(e-1);e=c.a()/2*(e-1);c.h-=d;c.j-=e;c.k+=d;c.i+=e;return this.b=yg(this,a,b,new ae(a.b()/b,a.a()/b))};var ui={ue:"background",ve:"labels",we:"lines",ye:"2010",ze:"2011",Ae:"2011-labels",Be:"2011-lines",Ce:"2011-lite",De:"background",Ee:"hybrid",Fe:"labels",Ge:"lines",He:"lite"},vi={te:"terrain",xe:"toner",Oe:"watercolor"},wi={terrain:{type:"jpg",pc:4,maxZoom:18},toner:{type:"png",pc:0,maxZoom:20},watercolor:{type:"jpg",pc:3,maxZoom:16}};
function xi(a){var b=new ve('Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.'),c=a.provider;y(a.flavor)&&(c+="-"+a.flavor);a=wi[a.provider];pi.call(this,{attributions:[b],maxZoom:a.maxZoom,url:"http://{a-d}.tile.stamen.com/"+c+"/{z}/{x}/{y}."+a.type})}B(xi,pi);function yi(a){var b=a.imageExtent,c=a.imageSize,d=b.a()/c.height,e=a.url;xg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,Fa:function(){return e},resolutions:[d]});this.b=yg(this,b,d,c)}B(yi,xg);yi.prototype.I=function(a){return ce(a,this.b.G())?this.b:k};var zi=[];A("grid",function(a){zi.push(a)});function Ai(a){Qh.call(this,{projection:Qe("EPSG:3857")});this.g=l;a=this.u=Ah(a.uri,{$b:i});a.a.push([this.D,k,this]);a.ga&&wh(a)}B(Ai,Qh);
Ai.prototype.D=function(){var a=zi.pop(),b=Qe("EPSG:4326"),c,d;y(a.bounds)?(c=a.bounds,c=new N(c[0],c[1],c[2],c[3]),this.o=d=c.transform(Ge(b,this.l))):d=c=k;var e=a.minzoom||0,f=a.maxzoom||22,g=new Rh({maxZoom:f});this.tileGrid=g;this.ba=Nh(function(a){if(a.m<e||f<a.m)return k;var b=1<<a.m,c=-a.y-1;if(0>c||b<=c)return k;b=Gb(a.x,b);return d!==k&&!ce(dg(g,new se(a.m,b,a.y)),d)?k:new se(a.m,b,c)},Kh(za(a.tiles,Jh)));if(y(a.attribution)){b=d===k?b.G():d;c={};var j,m;for(j=e;j<=f;++j)m=j.toString(),
c[m]=[eg(g,b,g.a[j])];this.e=[new ve(a.attribution,c)]}this.g=i;J(this,"load")};Ai.prototype.c=p("g");function Bi(a){var b=Pe(a.projection),c=b.G(),d=y(a.extent)?a.extent:c,e=y(a.version)?a.version:"1.3",f,g;if(y(a.tileGrid))g=a.tileGrid;else{var j=a.maxZoom;g=b.G();for(var m=Math.max(g.k-g.h,g.i-g.j),q=y(h)?h:new ae(256,256),j=Array((y(j)?j:18)+1),m=m/q.width,n=0,r=j.length;n<r;++n)j[n]=m/Math.pow(2,n);g=new cg({origin:ee(g),resolutions:j,tileSize:q})}f=g;var t={SERVICE:"WMS",VERSION:e,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:i};t["1.3"<=e?"CRS":"SRS"]=b.a;Va(t,a.params);var u=b.b;
a.urls?(e=za(a.urls,function(a){a=Rc(Uc([a],t));return Lh(a,f,u)}),e=Kh(e)):a.url?(e=Rc(Uc([a.url],t)),e=Lh(e,f,u)):e=Mh;Qh.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:d,tileGrid:f,projection:b,ba:Nh(function(a){if(f.a.length<=a.m)return k;var b=a.x,e=dg(f,a);d.h===c.h&&d.k===c.k&&(e=Math.ceil((d.k-d.h)/(e.k-e.h)),b=Gb(b,e),e=dg(f,new se(a.m,b,a.y)));return!ce(e,d)?k:new se(a.m,b,a.y)},e)})}B(Bi,Qh);A("goog.require",x);function Ci(a){W.call(this,{element:a.element,map:a.map,position:a.position,positioning:a.positioning})}B(Ci,W);A("ol.AnchoredElement",Ci);A("ol.AnchoredElementPositioning",sh);sh.BOTTOM_LEFT="bottom-left";sh.BOTTOM_RIGHT="bottom-right";sh.TOP_LEFT="top-left";sh.TOP_RIGHT="top-right";A("ol.Attribution",ve);A("ol.BingMapsStyle",Sh);Sh.AERIAL="Aerial";Sh.AERIAL_WITH_LABELS="AerialWithLabels";Sh.COLLINS_BART="CollinsBart";Sh.ORDNANCE_SURVEY="OrdnanceSurvey";Sh.ROAD="Road";
A("ol.Collection",M);M.prototype.clear=M.prototype.clear;M.prototype.forEach=M.prototype.forEach;M.prototype.getArray=M.prototype.$c;M.prototype.getAt=M.prototype.ad;M.prototype.getLength=M.prototype.Za;M.prototype.insertAt=M.prototype.eb;M.prototype.pop=M.prototype.sc;M.prototype.push=M.prototype.push;M.prototype.removeAt=M.prototype.yc;M.prototype.setAt=M.prototype.Od;A("ol.Coordinate",K);K.toStringHDMS=function(a){return y(a)?Pc(a.y,"NS")+" "+Pc(a.x,"EW"):""};A("ol.Extent",N);
N.prototype.getHeight=N.prototype.a;N.prototype.getWidth=N.prototype.b;A("ol.Geolocation",X);
function Di(a){T.call(this,{attributionControl:a.attributionControl,doubleClickZoom:a.doubleClickZoom,dragPan:a.dragPan,interactions:a.interactions,keyboard:a.keyboard,keyboardPanOffset:a.keyboardPanOffset,layers:a.layers,mouseWheelZoom:a.mouseWheelZoom,mouseWheelZoomDelta:a.mouseWheelZoomDelta,renderer:a.renderer,renderers:a.renderers,shiftDragZoom:a.shiftDragZoom,target:a.target,touchPan:a.touchPan,touchRotate:a.touchRotate,touchZoom:a.touchZoom,view:a.view,zoomControl:a.zoomControl,zoomDelta:a.zoomDelta})}
B(Di,T);A("ol.Map",Di);T.prototype.addPreRenderFunction=T.prototype.l;T.prototype.addPreRenderFunctions=T.prototype.Ic;T.prototype.getInteractions=T.prototype.Kc;T.prototype.getRenderer=T.prototype.Lc;cf.prototype.getCoordinate=cf.prototype.b;A("ol.Object",L);L.prototype.bindTo=L.prototype.Rc;L.prototype.changed=L.prototype.Uc;L.prototype.get=L.prototype.r;L.prototype.notify=L.prototype.rc;L.prototype.set=L.prototype.p;L.prototype.setOptions=L.prototype.Bc;L.prototype.setValues=L.prototype.mb;
L.prototype.unbind=L.prototype.Wb;L.prototype.unbindAll=L.prototype.Wd;A("ol.Projection",P);P.prototype.getAxisOrientation=P.prototype.f;P.prototype.getCode=P.prototype.g;P.prototype.getExtent=P.prototype.G;P.prototype.getPointResolution=P.prototype.c;P.prototype.getUnits=P.prototype.o;A("ol.ProjectionUnits",Ee);Ee.DEGREES="degrees";Ee.METERS="m";A("ol.RendererHint",oh);oh.CANVAS="canvas";oh.DOM="dom";oh.WEBGL="webgl";A("ol.RendererHints",nh);nh.createFromQueryData=nh.Vc;
function Ei(a){R.call(this,{center:a.center,maxResolution:a.maxResolution,numZoomLevels:a.numZoomLevels,projection:a.projection,resolution:a.resolution,resolutions:a.resolutions,rotation:a.rotation,zoom:a.zoom,zoomFactor:a.zoomFactor})}B(Ei,R);A("ol.View2D",Ei);A("ol.animation",Ye);Ye.bounce=Ye.Bb;Ye.pan=Ye.Ka;Ye.rotate=Ye.rotate;Ye.zoom=Ye.zoom;function Fi(a){yf.call(this,{map:a.map,target:a.target})}B(Fi,yf);A("ol.control.Attribution",Fi);yf.prototype.setMap=yf.prototype.a;
function Gi(a){Vh.call(this,{coordinateFormat:a.coordinateFormat,map:a.map,projection:a.projection,target:a.target,undefinedHTML:a.undefinedHTML})}B(Gi,Vh);A("ol.control.MousePosition",Gi);Vh.prototype.setMap=Vh.prototype.a;function Hi(a){zf.call(this,{delta:a.delta,map:a.map,target:a.target})}B(Hi,zf);A("ol.control.Zoom",Hi);zf.prototype.setMap=zf.prototype.a;A("ol.easing",Xe);Xe.bounce=Xe.Bb;Xe.elastic=Xe.Xc;Xe.linear=Xe.mc;Xe.upAndDown=Xe.Gc;A("ol.interaction.Keyboard",Xh);
Xh.prototype.addCallback=Xh.prototype.b;function Ii(a){Q.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Ii,zg);A("ol.layer.ImageLayer",Ii);function Ji(a){Q.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Ji,Ag);A("ol.layer.TileLayer",Ji);A("ol.parser.ogc.WMSCapabilities",ii);ii.prototype.read=ii.prototype.pa;
A("ol.parser.ogc.WMTSCapabilities",mi);mi.prototype.read=mi.prototype.pa;A("ol.projection.addProjection",Me);A("ol.projection.getFromCode",Qe);A("ol.projection.getTransform",Ge);A("ol.projection.getTransformFromCodes",Se);A("ol.projection.transform",function(a,b,c){b=Ge(b,c);a=[a.x,a.y];a=b(a,a,2);return new K(a[0],a[1])});A("ol.projection.transformWithCodes",function(a,b,c){b=Se(b,c);a=[a.x,a.y];a=b(a,a,2);return new K(a[0],a[1])});Eg.prototype.getCanvas=Eg.prototype.Xa;A("ol.source.BingMaps",Th);
function Ki(a){oi.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid})}B(Ki,oi);A("ol.source.DebugTileSource",Ki);A("ol.source.MapQuestOSM",qi);A("ol.source.MapQuestOpenAerial",ri);A("ol.source.OpenStreetMap",si);A("ol.source.SingleImageWMS",ti);A("ol.source.Stamen",xi);A("ol.source.StamenFlavor",ui);ui.TERRAIN_BACKGROUND="background";ui.TERRAIN_LABELS="labels";ui.TERRAIN_LINES="lines";ui.TONER_2010="2010";ui.TONER_2011="2011";ui.TONER_2011_LABELS="2011-labels";
ui.TONER_2011_LINES="2011-lines";ui.TONER_2011_LITE="2011-lite";ui.TONER_BACKGROUND="background";ui.TONER_HYBRID="hybrid";ui.TONER_LABELS="labels";ui.TONER_LINES="lines";ui.TONER_LITE="lite";A("ol.source.StamenProvider",vi);vi.TERRAIN="terrain";vi.TONER="toner";vi.WATERCOLOR="watercolor";A("ol.source.StaticImage",yi);A("ol.source.TileJSON",Ai);A("ol.source.TiledWMS",Bi);
function Li(a){cg.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}B(Li,cg);A("ol.tilegrid.TileGrid",Li);function Mi(a){Rh.call(this,{maxZoom:a.maxZoom})}B(Mi,Rh);A("ol.tilegrid.XYZ",Mi);Ye.ae={};Ye.qe={};Ye.se={};Ye.Qe={};})();
a,c)},BoundingBox:function(a,b){this.w["http://www.opengis.net/ows"].WGS84BoundingBox.apply(this,[a,b])},LowerCorner:function(a,b){var c=$(a).replace(this.xa.Ic,""),c=c.replace(this.xa.Hc,","),c=c.split(this.xa.Gc);b.left=c[0];b.bottom=c[1]},UpperCorner:function(a,b){var c=$(a).replace(this.xa.Ic,""),c=c.replace(this.xa.Hc,","),c=c.split(this.xa.Gc);b.right=c[0];b.top=c[1];b.bounds=new Zd(parseFloat(b.left),parseFloat(b.bottom),parseFloat(b.right),parseFloat(b.top));delete b.left;delete b.bottom;
delete b.right;delete b.top},Language:function(a,b){b.language=$(a)}}};Ch.call(this)}B(Nh,Ch);function Oh(){Nh.call(this);this.w["http://www.opengis.net/ows/1.1"]=this.w["http://www.opengis.net/ows"];Ua(this.w["http://www.opengis.net/ows/1.1"],{AllowedValues:function(a,b){b.allowedValues={};Z(this,a,b.allowedValues)},AnyValue:function(a,b){b.anyValue=i},DataType:function(a,b){b.dataType=$(a)},Range:function(a,b){b.range={};Z(this,a,b.range)},MinimumValue:function(a,b){b.minValue=$(a)},MaximumValue:function(a,b){b.maxValue=$(a)},Identifier:function(a,b){b.identifier=$(a)},SupportedCRS:function(a,
b){b.supportedCRS=$(a)}})}B(Oh,Nh);function Ph(){this.w={"http://www.opengis.net/wmts/1.0":{Capabilities:function(a,c){Z(this,a,c)},Contents:function(a,c){c.contents={};c.contents.layers=[];c.contents.tileMatrixSets={};Z(this,a,c.contents)},Layer:function(a,c){var d={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[],layers:[]};Z(this,a,d);c.layers.push(d)},Style:function(a,c){var d={};d.isDefault="true"===a.getAttribute("isDefault");Z(this,a,d);c.styles.push(d)},Format:function(a,c){c.formats.push($(a))},TileMatrixSetLink:function(a,
c){var d={};Z(this,a,d);c.tileMatrixSetLinks.push(d)},TileMatrixSet:function(a,c){if(c.layers){var d={matrixIds:[]};Z(this,a,d);c.tileMatrixSets[d.identifier]=d}else c.tileMatrixSet=$(a)},TileMatrix:function(a,c){var d={supportedCRS:c.Ve};Z(this,a,d);c.matrixIds.push(d)},ScaleDenominator:function(a,c){c.scaleDenominator=parseFloat($(a))},TopLeftCorner:function(a,c){var d=$(a).split(" "),e=Me(c.supportedCRS).c,d=[parseFloat(d[0]),parseFloat(d[1])],e=e.charAt(0);c.topLeftCorner="n"===e||"s"===e?new L(d[1],
d[0]):new L(d[0],d[1])},TileWidth:function(a,c){c.tileWidth=parseInt($(a),10)},TileHeight:function(a,c){c.tileHeight=parseInt($(a),10)},MatrixWidth:function(a,c){c.matrixWidth=parseInt($(a),10)},MatrixHeight:function(a,c){c.matrixHeight=parseInt($(a),10)},ResourceURL:function(a,c){var d=a.getAttribute("resourceType"),e=a.getAttribute("format"),f=a.getAttribute("template");c.resourceUrls||(c.resourceUrls={});c.resourceUrls[d]||(c.resourceUrls[d]={});c.resourceUrls[d][e]||(c.resourceUrls[d][e]=[]);
c.resourceUrls[d][e].push(f)},WSDL:function(a,c){c.wsdl={};c.wsdl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceMetadataURL:function(a,c){c.serviceMetadataUrl={};c.serviceMetadataUrl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},LegendURL:function(a,c){c.legend={};c.legend.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href");c.legend.format=a.getAttribute("format")},Dimension:function(a,c){var d={values:[]};Z(this,a,d);c.dimensions.push(d)},
Default:function(a,c){c["default"]=$(a)},Value:function(a,c){c.values.push($(a))}}};var a=new Oh;this.w["http://www.opengis.net/ows/1.1"]=a.w["http://www.opengis.net/ows/1.1"];Ch.call(this)}B(Ph,Ch);Ph.prototype.ra=function(a){"string"==typeof a&&(a=Bh(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};Dh(this,a,b);return b};function Qh(a){a=a||{};a.defaultVersion="1.0.0";this.a={};this.a.v1_0_0=Ph;Fh.call(this,a)}B(Qh,Fh);/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
function Rh(a,b){this.a=[];this.f=a;this.e=b||k}p=Rh.prototype;p.ia=l;p.Da=l;p.Ka=0;p.Fc=l;p.Xc=l;p.Wc=0;p.ec=function(a,b){Sh(this,a,b);this.Ka--;0==this.Ka&&this.ia&&Th(this)};function Sh(a,b,c){a.ia=i;a.b=c;a.Da=!b;Th(a)}function Uh(a){if(a.ia){if(!a.Fc)throw new Vh(a);a.Fc=l}}function Wh(a){return Ba(a.a,function(a){return ha(a[1])})}
function Th(a){a.c&&(a.ia&&Wh(a))&&(w.clearTimeout(a.c),delete a.c);a.d&&(a.d.Wc--,delete a.d);for(var b=a.b,c=l,d=l;a.a.length&&0==a.Ka;){var e=a.a.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Da?g:f)try{var j=f.call(e||a.e,b);x(j)&&(a.Da=a.Da&&(j==b||j instanceof Error),a.b=b=j);b instanceof Rh&&(d=i,a.Ka++)}catch(m){b=m,a.Da=i,Wh(a)||(c=i)}}a.b=b;d&&a.Ka&&(d=b,j=na(a.ec,a,i),f=na(a.ec,a,l),d.a.push([j,f,h]),d.ia&&Th(d),b.Xc=i);c&&(a.c=w.setTimeout(function(){throw b;},0))}
function Vh(a){qa.call(this);this.a=a}B(Vh,qa);Vh.prototype.message="Deferred has already fired";Vh.prototype.name="AlreadyCalledError";function Xh(a,b){var c=b||{},d=c.document||document,e=Qb("SCRIPT"),f={Cc:e,tb:h},g=new Rh(Yh,f),j=k,m=c.timeout!=k?c.timeout:5E3;0<m&&(j=window.setTimeout(function(){Zh(e,i);var b=new $h(ai,"Timeout reached for loading script "+a);Uh(g);Sh(g,l,b)},m),f.tb=j);e.onload=e.onreadystatechange=function(){if(!e.readyState||"loaded"==e.readyState||"complete"==e.readyState)Zh(e,c.cc||l,j),Uh(g),Sh(g,i,k)};e.onerror=function(){Zh(e,i,j);var b=new $h(bi,"Error while loading script "+a);Uh(g);Sh(g,l,b)};Lb(e,
{type:"text/javascript",charset:"UTF-8",src:a});f=d.getElementsByTagName("HEAD");(!f||0==f.length?d.documentElement:f[0]).appendChild(e);return g}function Yh(){if(this&&this.Cc){var a=this.Cc;a&&"SCRIPT"==a.tagName&&Zh(a,i,this.tb)}}function Zh(a,b,c){c!=k&&w.clearTimeout(c);a.onload=ba;a.onerror=ba;a.onreadystatechange=ba;b&&window.setTimeout(function(){Ub(a)},0)}var bi=0,ai=1;function $h(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);qa.call(this,c);this.code=a}B($h,qa);function ci(a){this.b=new Rc(a);this.a="jsonp";this.tb=5E3}var di=0;function ei(a,b){w._callbacks_[a]&&(b?delete w._callbacks_[a]:w._callbacks_[a]=ba)};function fi(a){var b=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(b){var c=[],d=b[2].charCodeAt(0),e;for(e=b[1].charCodeAt(0);e<=d;++e)c.push(a.replace(b[0],String.fromCharCode(e)));return gi(Aa(c,fi))}return function(b){return b===k?h:a.replace("{z}",b.n).replace("{x}",b.x).replace("{y}",b.y)}}function gi(a){return function(b,c,d){if(b!==k){var e=Fb(b.hash(),a.length);return a[e](b,c,d)}}}function hi(a,b,c){return function(d,e,f){return d===k?h:xg(a,b,cg(e,d),hg(e,d.n),f,c)}}
function ii(){}function ji(a,b){return function(c,d,e){return c===k?h:b(a(c,d,e),d,e)}};function ki(a,b,c){se.call(this,a);this.f=b;this.b=new Image;c!==k&&(this.b.crossOrigin=c);this.e={};this.d=k}B(ki,se);ki.prototype.I=function(a){if(x(a)){var b=y(a);if(b in this.e)return this.e[b];a=Sa(this.e)?this.b:this.b.cloneNode(l);return this.e[b]=a}return this.b};ki.prototype.c=n("f");ki.prototype.g=function(){this.a=3;C(this.d,J);this.d=k;K(this,"change")};ki.prototype.l=function(){this.a=2;C(this.d,J);this.d=k;K(this,"change")};function li(a){eh.call(this);this.d=x(a)?a:512}B(li,eh);li.prototype.Ba=function(a){for(var b,c;this.Z()>this.d&&!(b=this.a.Y,c=b.U.n.toString(),c in a&&a[c].contains(b.U));)gh(this)};function mi(a){jg.call(this,{attributions:a.attributions,extent:a.extent,X:a.X,projection:a.projection,tileGrid:a.tileGrid});this.ca=x(a.ca)?a.ca:ii;this.F=x(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=new li}B(mi,jg);mi.prototype.f=function(){return this.a.Z()>this.a.d};mi.prototype.Ba=function(a){this.a.Ba(a)};mi.prototype.b=function(a,b,c){var d=a.toString();if(ch(this.a,d))return fh(this.a,d);b=this.ca(a,b,c);x(b)?(a=new ki(a,b,this.F),hh(this.a,d,a)):a=k;return a};
mi.prototype.p=function(a){a=a.toString();ch(this.a,a)&&fh(this.a,a)};function ni(a){var b=Array(a.maxZoom+1),c,d=2*Uf/256;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);bg.call(this,{origin:new L(-Uf,Uf),resolutions:b,tileSize:new Wd(256,256)})}B(ni,bg);ni.prototype.b=function(a,b,c){for(var d=a.x,e=a.y,a=a.n,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new qe(d,e,d,e);if(b.call(c,a,f))break}};function oi(a){mi.call(this,{X:i,projection:Me("EPSG:3857")});this.$c=x(a.culture)?a.culture:"en-us";this.g=l;var b=new Rc("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style),b=new ci(b),a={include:"ImageryProviders",key:a.key},c=na(this.t,this),a=a||k,d="_"+(di++).toString(36)+pa().toString(36);w._callbacks_||(w._callbacks_={});var e=b.b.Q();if(a)for(var f in a)(!a.hasOwnProperty||a.hasOwnProperty(f))&&ed(e,f,a[f]);c&&(w._callbacks_[d]=function(a){ei(d,i);c.apply(h,arguments)},ed(e,b.a,"_callbacks_."+
d));f=Xh(e.toString(),{timeout:b.tb,cc:i});f.a.push([k,function(){ei(d,l)},h]);f.ia&&Th(f)}B(oi,mi);
oi.prototype.t=function(a){var b=a.resourceSets[0].resources[0],c=b.zoomMin,d=b.zoomMax,e=new ni({maxZoom:d,tileSize:new Wd(b.imageWidth,b.imageHeight)});this.tileGrid=e;this.ca=ji(function(a){if(a.n<c||d<a.n)return k;var b=1<<a.n,e=-a.y-1;return 0>e||b<=e?k:new oe(a.n,Fb(a.x,b),e)},gi(Aa(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.$c);return function(a){return a===k?h:c.replace("{quadkey}",pe(a))}})));var f=Ce(Me("EPSG:4326"),this.j);this.e=
Aa(b.imageryProviders,function(a){var b=a.attribution,c={};C(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new Zd(a[1],a[0],a[3],a[2])).transform(f),g,j;for(g=b;g<=d;++g)j=g.toString(),b=dg(e,a,e.a[g]),j in c?c[j].push(b):c[j]=[b]});return new re(b,c)});this.g=i;K(this,"load")};oi.prototype.c=n("g");function pi(a,b){se.call(this,a);this.a=2;this.e=a;this.d=hg(b,a.n);this.b={}}B(pi,se);pi.prototype.I=function(a){a=x(a)?y(a):-1;if(a in this.b)return this.b[a];var b=this.d,c=Qb("CANVAS");c.width=b.width;c.height=b.height;var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b.width+0.5,b.height+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.e.toString(),b.width/2,b.height/2);return this.b[a]=c};
function qi(a){jg.call(this,{extent:a.extent,X:l,projection:a.projection,tileGrid:a.tileGrid});this.a=new li}B(qi,jg);qi.prototype.f=function(){return this.a.Z()>this.a.d};qi.prototype.Ba=function(a){this.a.Ba(a)};qi.prototype.b=function(a){var b=a.toString();if(ch(this.a,b))return fh(this.a,b);a=new pi(a,this.tileGrid);hh(this.a,b,a);return a};function ri(a){var b=a.projection||Me("EPSG:3857"),c=ii;x(a.ca)?c=a.ca:x(a.urls)?c=gi(Aa(a.urls,fi)):x(a.url)&&(c=fi(a.url));var d=new ni({maxZoom:a.maxZoom}),e=a.extent,c=e!=k?ji(function(b){if(a.maxZoom<b.n)return k;var c=1<<b.n,j=-b.y-1;if(0>j||c<=j)return k;c=Fb(b.x,c);return!Yd(cg(d,new oe(b.n,c,b.y)),e)?k:new oe(b.n,c,j)},c):ji(function(b){if(a.maxZoom<b.n)return k;var c=1<<b.n,d=-b.y-1;return 0>d||c<=d?k:new oe(b.n,Fb(b.x,c),d)},c);mi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,
extent:a.extent,projection:b,tileGrid:d,ca:c})}B(ri,mi);function si(){ri.call(this,{attributions:[new re('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new re('Data &copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')],X:i,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})}B(si,ri);
function ti(){ri.call(this,{attributions:[new re('Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),new re("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")],maxZoom:18,X:i,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})}B(ti,ri);function ui(){ri.call(this,{attributions:[new re('&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>')],X:i,maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})}B(ui,ri);function vi(a){Ag.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,Fa:x(a.url)?yg(a.url,a.params,a.version):zg});this.b=k;this.f=1.5}B(vi,Ag);
vi.prototype.I=function(a,b,c){this.a===k||(b=this.a[nf(this.a,b)]);var d=this.b,e;if(e=d!==k)if(e=d.e==b)e=d.H(),e=e.h<=a.h&&a.m<=e.m&&e.i<=a.i&&a.k<=e.k;if(e)return d;var d=a=new Zd(a.h,a.i,a.m,a.k),f=this.f;e=d.da()/2*(f-1);f=d.$()/2*(f-1);d.h-=e;d.i-=f;d.m+=e;d.k+=f;return this.b=Bg(this,a,b,new Wd(a.da()/b,a.$()/b),c)};var wi={ve:"background",we:"labels",xe:"lines",ze:"2010",Ae:"2011",Be:"2011-labels",Ce:"2011-lines",De:"2011-lite",Ee:"background",Fe:"hybrid",Ge:"labels",He:"lines",Ie:"lite"},xi={ue:"terrain",ye:"toner",Qe:"watercolor"},yi={terrain:{type:"jpg",sc:4,maxZoom:18},toner:{type:"png",sc:0,maxZoom:20},watercolor:{type:"jpg",sc:3,maxZoom:16}};
function zi(a){var b=new re('Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.'),c=a.provider;x(a.flavor)&&(c+="-"+a.flavor);a=yi[a.provider];ri.call(this,{attributions:[b],maxZoom:a.maxZoom,X:l,url:"http://{a-d}.tile.stamen.com/"+c+"/{z}/{x}/{y}."+a.type})}B(zi,ri);function Ai(a){var b=a.imageExtent,c=a.imageSize,d=b.$()/c.height,e=x(a.projection)?a.projection:k,f=a.url;Ag.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,Fa:function(){return f},resolutions:[d]});this.b=Bg(this,b,d,c,e)}B(Ai,Ag);Ai.prototype.I=function(a){return Yd(a,this.b.H())?this.b:k};var Bi=[];A("grid",function(a){Bi.push(a)});function Ci(a){mi.call(this,{projection:Me("EPSG:3857")});this.g=l;a=this.t=Xh(a.uri,{cc:i});a.a.push([this.A,k,this]);a.ia&&Th(a)}B(Ci,mi);
Ci.prototype.A=function(){var a=Bi.pop(),b=Me("EPSG:4326"),c,d;x(a.bounds)?(c=a.bounds,c=new Zd(c[0],c[1],c[2],c[3]),this.l=d=c.transform(Ce(b,this.j))):d=c=k;var e=a.minzoom||0,f=a.maxzoom||22,g=new ni({maxZoom:f});this.tileGrid=g;this.ca=ji(function(a){if(a.n<e||f<a.n)return k;var b=1<<a.n,c=-a.y-1;if(0>c||b<=c)return k;b=Fb(a.x,b);return d!==k&&!Yd(cg(g,new oe(a.n,b,a.y)),d)?k:new oe(a.n,b,c)},gi(Aa(a.tiles,fi)));if(x(a.attribution)){b=d===k?b.H():d;c={};var j,m;for(j=e;j<=f;++j)m=j.toString(),
c[m]=[dg(g,b,g.a[j])];this.e=[new re(a.attribution,c)]}this.g=i;K(this,"load")};Ci.prototype.c=n("g");function Di(a){var b=a.version,c;a.urls?(c=Aa(a.urls,function(c){return hi(c,a.params,b)}),c=gi(c)):c=a.url?hi(a.url,a.params,b):ii;mi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,tileGrid:a.tileGrid,X:!(x(a.transparent)?a.transparent:1),projection:a.projection,ca:ji(function(b,c,f){if(c.Db().length<=b.n)return k;var g=b.x,j=cg(c,b),m=f.H(),f=x(a.extent)?a.extent:m;f.h===m.h&&f.m===m.m&&(j=Math.ceil((f.m-f.h)/(j.m-j.h)),g=Fb(g,j),j=cg(c,new oe(b.n,g,b.y)));return!Yd(j,
f)?k:new oe(b.n,g,b.y)},c)})}B(Di,mi);A("goog.require",ba);function Ei(a){T.call(this,{element:a.element,map:a.map,position:a.position,positioning:a.positioning})}B(Ei,T);A("ol.AnchoredElement",Ei);A("ol.AnchoredElementPositioning",vh);vh.BOTTOM_LEFT="bottom-left";vh.BOTTOM_RIGHT="bottom-right";vh.TOP_LEFT="top-left";vh.TOP_RIGHT="top-right";A("ol.Attribution",re);A("ol.Collection",N);N.prototype.clear=N.prototype.clear;N.prototype.forEach=N.prototype.forEach;N.prototype.getArray=N.prototype.dd;N.prototype.getAt=N.prototype.ed;
N.prototype.getLength=N.prototype.Ya;N.prototype.insertAt=N.prototype.cb;N.prototype.pop=N.prototype.vc;N.prototype.push=N.prototype.push;N.prototype.removeAt=N.prototype.Bc;N.prototype.setAt=N.prototype.Qd;A("ol.Coordinate",L);L.toStringHDMS=function(a){return x(a)?Oc(a.y,"NS")+" "+Oc(a.x,"EW"):""};A("ol.Extent",Zd);Zd.prototype.getHeight=Zd.prototype.$;Zd.prototype.getWidth=Zd.prototype.da;A("ol.Geolocation",X);
function Fi(a){S.call(this,{attributionControl:a.attributionControl,doubleClickZoom:a.doubleClickZoom,dragPan:a.dragPan,interactions:a.interactions,keyboard:a.keyboard,keyboardPanOffset:a.keyboardPanOffset,layers:a.layers,mouseWheelZoom:a.mouseWheelZoom,mouseWheelZoomDelta:a.mouseWheelZoomDelta,renderer:a.renderer,renderers:a.renderers,scaleLineControl:a.scaleLineControl,scaleLineUnits:a.scaleLineUnits,shiftDragZoom:a.shiftDragZoom,target:a.target,touchPan:a.touchPan,touchRotate:a.touchRotate,touchZoom:a.touchZoom,
view:a.view,zoomControl:a.zoomControl,zoomDelta:a.zoomDelta})}B(Fi,S);A("ol.Map",Fi);S.prototype.addPreRenderFunction=S.prototype.j;S.prototype.addPreRenderFunctions=S.prototype.Lc;S.prototype.getInteractions=S.prototype.Nc;S.prototype.getRenderer=S.prototype.Pc;Ze.prototype.getCoordinate=Ze.prototype.d;A("ol.Object",M);M.prototype.bindTo=M.prototype.Vc;M.prototype.changed=M.prototype.Yc;M.prototype.get=M.prototype.s;M.prototype.notify=M.prototype.uc;M.prototype.set=M.prototype.q;
M.prototype.setOptions=M.prototype.Ec;M.prototype.setValues=M.prototype.lb;M.prototype.unbind=M.prototype.Vb;M.prototype.unbindAll=M.prototype.$d;A("ol.Projection",O);O.prototype.getAxisOrientation=O.prototype.g;O.prototype.getCode=O.prototype.l;O.prototype.getExtent=O.prototype.H;O.prototype.getPointResolution=O.prototype.b;O.prototype.getUnits=O.prototype.j;A("ol.ProjectionUnits",Ae);Ae.DEGREES="degrees";Ae.METERS="m";A("ol.RendererHint",rh);rh.CANVAS="canvas";rh.DOM="dom";rh.WEBGL="webgl";
A("ol.RendererHints",qh);qh.createFromQueryData=qh.Zc;function Gi(a){R.call(this,{center:a.center,maxResolution:a.maxResolution,numZoomLevels:a.numZoomLevels,projection:a.projection,resolution:a.resolution,resolutions:a.resolutions,rotation:a.rotation,zoom:a.zoom,zoomFactor:a.zoomFactor})}B(Gi,R);A("ol.View2D",Gi);A("ol.animation",Ue);Ue.bounce=Ue.Ab;Ue.pan=Ue.Ja;Ue.rotate=Ue.rotate;Ue.zoom=Ue.zoom;function Hi(a){uf.call(this,{map:a.map,target:a.target})}B(Hi,uf);A("ol.control.Attribution",Hi);
uf.prototype.setMap=uf.prototype.a;function Ii(a){yh.call(this,{coordinateFormat:a.coordinateFormat,map:a.map,projection:a.projection,target:a.target,undefinedHTML:a.undefinedHTML})}B(Ii,yh);A("ol.control.MousePosition",Ii);yh.prototype.setMap=yh.prototype.a;function Ji(a){wf.call(this,{map:a.map,minWidth:a.minWidth,target:a.target,units:a.units})}B(Ji,wf);A("ol.control.ScaleLine",Ji);wf.prototype.setMap=wf.prototype.a;A("ol.control.ScaleLineUnits",vf);vf.DEGREES="degrees";vf.IMPERIAL="imperial";
vf.METRIC="metric";vf.NAUTICAL="nautical";vf.US="us";function Ki(a){yf.call(this,{delta:a.delta,map:a.map,target:a.target})}B(Ki,yf);A("ol.control.Zoom",Ki);yf.prototype.setMap=yf.prototype.a;A("ol.easing",Te);Te.bounce=Te.Ab;Te.elastic=Te.ad;Te.linear=Te.pc;Te.upAndDown=Te.Jc;A("ol.interaction.Keyboard",Ah);Ah.prototype.addCallback=Ah.prototype.b;
function Li(a){P.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Li,Cg);A("ol.layer.ImageLayer",Li);function Mi(a){P.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Mi,Dg);A("ol.layer.TileLayer",Mi);A("ol.parser.ogc.WMSCapabilities",Mh);Mh.prototype.read=Mh.prototype.ra;A("ol.parser.ogc.WMTSCapabilities",Qh);
Qh.prototype.read=Qh.prototype.ra;A("ol.projection.addProjection",Ie);A("ol.projection.getFromCode",Me);A("ol.projection.getTransform",Ce);A("ol.projection.getTransformFromCodes",Oe);A("ol.projection.transform",function(a,b,c){b=Ce(b,c);a=[a.x,a.y];a=b(a,a,2);return new L(a[0],a[1])});A("ol.projection.transformWithCodes",function(a,b,c){b=Oe(b,c);a=[a.x,a.y];a=b(a,a,2);return new L(a[0],a[1])});Hg.prototype.getCanvas=Hg.prototype.Wa;A("ol.source.BingMaps",oi);
function Ni(a){qi.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid})}B(Ni,qi);A("ol.source.DebugTileSource",Ni);A("ol.source.MapQuestOSM",si);A("ol.source.MapQuestOpenAerial",ti);A("ol.source.OpenStreetMap",ui);A("ol.source.SingleImageWMS",vi);A("ol.source.Stamen",zi);A("ol.source.StamenFlavor",wi);wi.TERRAIN_BACKGROUND="background";wi.TERRAIN_LABELS="labels";wi.TERRAIN_LINES="lines";wi.TONER_2010="2010";wi.TONER_2011="2011";wi.TONER_2011_LABELS="2011-labels";
wi.TONER_2011_LINES="2011-lines";wi.TONER_2011_LITE="2011-lite";wi.TONER_BACKGROUND="background";wi.TONER_HYBRID="hybrid";wi.TONER_LABELS="labels";wi.TONER_LINES="lines";wi.TONER_LITE="lite";A("ol.source.StamenProvider",xi);xi.TERRAIN="terrain";xi.TONER="toner";xi.WATERCOLOR="watercolor";A("ol.source.StaticImage",Ai);A("ol.source.TileJSON",Ci);A("ol.source.TiledWMS",Di);
function Oi(a){bg.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}B(Oi,bg);A("ol.tilegrid.TileGrid",Oi);function Pi(a){ni.call(this,{maxZoom:a.maxZoom})}B(Pi,ni);A("ol.tilegrid.XYZ",Pi);Ue.ce={};Ue.se={};Ue.te={};Ue.Se={};})();