if (self.CavalryLogger) { CavalryLogger.start_js(["L1Ggk"]); } __d("leaflet",[],(function(a,b,c,d,e,f){__p&&__p();(function(a,b,c){__p&&__p();var d=a.L,f={};f.version="0.7.2";typeof e==="object"&&typeof e.exports==="object"?e.exports=f:typeof define==="function"&&define.amd&&define(f);f.noConflict=function(){a.L=d;return this};a.L=f;f.Util={extend:function(a){var b=Array.prototype.slice.call(arguments,1),c,d,e,f;for(d=0,e=b.length;d2?Array.prototype.slice.call(arguments,2):null;return function(){return a.apply(b,c||arguments)}},stamp:function(){var a=0,b="_leaflet_id";return function(c){c[b]=c[b]||++a;return c[b]}}(),invokeEach:function(a,b,c){var d,e;if(typeof a==="object"){e=Array.prototype.slice.call(arguments,3);for(d in a)b.apply(c,[d,a[d]].concat(e));return!0}return!1},limitExecByInterval:function(a,b,c){__p&&__p();var d,e;return function f(){var g=arguments;if(d){e=!0;return}d=!0;setTimeout(function(){d=!1,e&&(f.apply(c,g),e=!1)},b);a.apply(c,g)}},falseFn:function(){return!1},formatNum:function(a,b){b=Math.pow(10,b||5);return Math.round(a*b)/b},trim:function(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")},splitWords:function(a){return f.Util.trim(a).split(/\s+/)},setOptions:function(a,b){a.options=f.extend({},a.options,b);return a.options},getParamString:function(a,b,c){var d=[];for(var e in a)d.push(encodeURIComponent(c?e.toUpperCase():e)+"="+encodeURIComponent(a[e]));return(!b||b.indexOf("?")===-1?"?":"&")+d.join("&")},template:function(a,b){return a.replace(/\{ *([\w_]+) *\}/g,function(a,c){c=b[c];if(c===void 0)throw new Error("No value provided for variable "+a);else typeof c==="function"&&(c=c(b));return c})},isArray:Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="};(function(){__p&&__p();function b(b){var c,d,e=["webkit","moz","o","ms"];for(c=0;c0||a+"_idx"in b&&b[a+"_idx_len"]>0)},removeEventListener:function(a,b,c){__p&&__p();if(!this[g])return this;if(!a)return this.clearAllEventListeners();if(f.Util.invokeEach(a,this.removeEventListener,this,b,c))return this;var d=this[g],e=c&&c!==this&&f.stamp(c),h,i,j,k,l,m,n;a=f.Util.splitWords(a);for(h=0,i=a.length;h=0;j--)k[j].action===b&&(!c||k[j].context===c)&&(n=k.splice(j,1),n[0].action=f.Util.falseFn);c&&m&&k.length===0&&(delete m[e],d[l]--)}}}return this},clearAllEventListeners:function(){delete this[g];return this},fireEvent:function(a,b){__p&&__p();if(!this.hasEventListeners(a))return this;b=f.Util.extend({},b,{type:a,target:this});var c=this[g],d,e,h;if(c[a]){d=c[a].slice();for(e=0,h=d.length;e1||"matchMedia"in a&&a.matchMedia("(min-resolution:144dpi)")&&a.matchMedia("(min-resolution:144dpi)").matches,p=b.documentElement,q=p&&c&&"transition"in p.style,r=p&&"WebKitCSSMatrix"in a&&"m11"in new a.WebKitCSSMatrix()&&!k,s=p&&"MozPerspective"in p.style,t=p&&"OTransition"in p.style,u=!a.L_DISABLE_3D&&(q||r||s||t)&&!i;i=!a.L_NO_TOUCH&&!i&&p&&function(){__p&&__p();var a="ontouchstart";if(n||a in p)return!0;var c=b.createElement("div"),d=!1;if(!c.setAttribute)return!1;c.setAttribute(a,"return;");typeof c[a]==="function"&&(d=!0);c.removeAttribute(a);c=null;return d}();f.Browser={ie:c,ielt9:d,webkit:g,gecko:e&&!g&&!a.opera&&!c,android:j,android23:k,chrome:h,ie3d:q,webkit3d:r,gecko3d:s,opera3d:t,any3d:u,mobile:l,mobileWebkit:l&&g,mobileWebkit3d:l&&r,mobileOpera:l&&a.opera,touch:i,msPointer:m,pointer:n,retina:o}})();f.Point=function(a,b,c){this.x=c?Math.round(a):a,this.y=c?Math.round(b):b};f.Point.prototype={clone:function(){return new f.Point(this.x,this.y)},add:function(a){return this.clone()._add(f.point(a))},_add:function(a){this.x+=a.x;this.y+=a.y;return this},subtract:function(a){return this.clone()._subtract(f.point(a))},_subtract:function(a){this.x-=a.x;this.y-=a.y;return this},divideBy:function(a){return this.clone()._divideBy(a)},_divideBy:function(a){this.x/=a;this.y/=a;return this},multiplyBy:function(a){return this.clone()._multiplyBy(a)},_multiplyBy:function(a){this.x*=a;this.y*=a;return this},round:function(){return this.clone()._round()},_round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},floor:function(){return this.clone()._floor()},_floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},distanceTo:function(a){a=f.point(a);var b=a.x-this.x;a=a.y-this.y;return Math.sqrt(b*b+a*a)},equals:function(a){a=f.point(a);return a.x===this.x&&a.y===this.y},contains:function(a){a=f.point(a);return Math.abs(a.x)<=Math.abs(this.x)&&Math.abs(a.y)<=Math.abs(this.y)},toString:function(){return"Point("+f.Util.formatNum(this.x)+", "+f.Util.formatNum(this.y)+")"}};f.point=function(a,b,c){if(a instanceof f.Point)return a;if(f.Util.isArray(a))return new f.Point(a[0],a[1]);return a===void 0||a===null?a:new f.Point(a,b,c)};f.Bounds=function(a,b){if(!a)return;b=b?[a,b]:a;for(var a=0,c=b.length;a=this.min.x&&c.x<=this.max.x&&b.y>=this.min.y&&c.y<=this.max.y},intersects:function(a){a=f.bounds(a);var b=this.min,c=this.max,d=a.min;a=a.max;var e=a.x>=b.x&&d.x<=c.x;a=a.y>=b.y&&d.y<=c.y;return e&&a},isValid:function(){return!!(this.min&&this.max)}};f.bounds=function(a,b){return!a||a instanceof f.Bounds?a:new f.Bounds(a,b)};f.Transformation=function(a,b,c,d){this._a=a,this._b=b,this._c=c,this._d=d};f.Transformation.prototype={transform:function(a,b){return this._transform(a.clone(),b)},_transform:function(a,b){b=b||1;a.x=b*(this._a*a.x+this._b);a.y=b*(this._c*a.y+this._d);return a},untransform:function(a,b){b=b||1;return new f.Point((a.x/b-this._b)/this._a,(a.y/b-this._d)/this._c)}};f.DomUtil={get:function(a){return typeof a==="string"?b.getElementById(a):a},getStyle:function(a,c){var d=a.style[c];!d&&a.currentStyle&&(d=a.currentStyle[c]);if((!d||d==="auto")&&b.defaultView){a=b.defaultView.getComputedStyle(a,null);d=a?a[c]:null}return d==="auto"?null:d},getViewportOffset:function(a){__p&&__p();var c=0,d=0,e=a,g=b.body,h=b.documentElement,i;do{c+=e.offsetTop||0;d+=e.offsetLeft||0;c+=parseInt(f.DomUtil.getStyle(e,"borderTopWidth"),10)||0;d+=parseInt(f.DomUtil.getStyle(e,"borderLeftWidth"),10)||0;i=f.DomUtil.getStyle(e,"position");if(e.offsetParent===g&&i==="absolute")break;if(i==="fixed"){c+=g.scrollTop||h.scrollTop||0;d+=g.scrollLeft||h.scrollLeft||0;break}if(i==="relative"&&!e.offsetLeft){i=f.DomUtil.getStyle(e,"width");var j=f.DomUtil.getStyle(e,"max-width"),k=e.getBoundingClientRect();(i!=="none"||j!=="none")&&(d+=k.left+e.clientLeft);c+=k.top+(g.scrollTop||h.scrollTop||0);break}e=e.offsetParent}while(e);e=a;do{if(e===g)break;c-=e.scrollTop||0;d-=e.scrollLeft||0;e=e.parentNode}while(e);return new f.Point(d,c)},documentIsLtr:function(){f.DomUtil._docIsLtrCached||(f.DomUtil._docIsLtrCached=!0,f.DomUtil._docIsLtr=f.DomUtil.getStyle(b.body,"direction")==="ltr");return f.DomUtil._docIsLtr},create:function(a,c,d){a=b.createElement(a);a.className=c;d&&d.appendChild(a);return a},hasClass:function(a,b){if(a.classList!==void 0)return a.classList.contains(b);a=f.DomUtil._getClass(a);return a.length>0&&new RegExp("(^|\\s)"+b+"(\\s|$)").test(a)},addClass:function(a,b){if(a.classList!==void 0){var c=f.Util.splitWords(b);for(var d=0,e=c.length;d=b.lat&&e.lat<=c.lat&&d.lng>=b.lng&&e.lng<=c.lng},intersects:function(a){a=f.latLngBounds(a);var b=this._southWest,c=this._northEast,d=a.getSouthWest();a=a.getNorthEast();var e=a.lat>=b.lat&&d.lat<=c.lat;a=a.lng>=b.lng&&d.lng<=c.lng;return e&&a},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(a){if(!a)return!1;a=f.latLngBounds(a);return this._southWest.equals(a.getSouthWest())&&this._northEast.equals(a.getNorthEast())},isValid:function(){return!!(this._southWest&&this._northEast)}};f.latLngBounds=function(a,b){return!a||a instanceof f.LatLngBounds?a:new f.LatLngBounds(a,b)};f.Projection={};f.Projection.SphericalMercator={MAX_LATITUDE:85.0511287798,project:function(a){var b=f.LatLng.DEG_TO_RAD,c=this.MAX_LATITUDE;c=Math.max(Math.min(c,a.lat),-c);a=a.lng*b;c=c*b;c=Math.log(Math.tan(Math.PI/4+c/2));return new f.Point(a,c)},unproject:function(a){var b=f.LatLng.RAD_TO_DEG,c=a.x*b;a=(2*Math.atan(Math.exp(a.y))-Math.PI/2)*b;return new f.LatLng(a,c)}};f.Projection.LonLat={project:function(a){return new f.Point(a.lng,a.lat)},unproject:function(a){return new f.LatLng(a.y,a.x)}};f.CRS={latLngToPoint:function(a,b){a=this.projection.project(a);b=this.scale(b);return this.transformation._transform(a,b)},pointToLatLng:function(a,b){b=this.scale(b);a=this.transformation.untransform(a,b);return this.projection.unproject(a)},project:function(a){return this.projection.project(a)},scale:function(a){return 256*Math.pow(2,a)},getSize:function(a){a=this.scale(a);return f.point(a,a)}};f.CRS.Simple=f.extend({},f.CRS,{projection:f.Projection.LonLat,transformation:new f.Transformation(1,0,-1,0),scale:function(a){return Math.pow(2,a)}});f.CRS.EPSG3857=f.extend({},f.CRS,{code:"EPSG:3857",projection:f.Projection.SphericalMercator,transformation:new f.Transformation(.5/Math.PI,.5,-.5/Math.PI,.5),project:function(a){a=this.projection.project(a);var b=6378137;return a.multiplyBy(b)}});f.CRS.EPSG900913=f.extend({},f.CRS.EPSG3857,{code:"EPSG:900913"});f.CRS.EPSG4326=f.extend({},f.CRS,{code:"EPSG:4326",projection:f.Projection.LonLat,transformation:new f.Transformation(1/360,.5,-1/360,.5)});f.Map=f.Class.extend({includes:f.Mixin.Events,options:{crs:f.CRS.EPSG3857,fadeAnimation:f.DomUtil.TRANSITION&&!f.Browser.android23,trackResize:!0,markerZoomAnimation:f.DomUtil.TRANSITION&&f.Browser.any3d},initialize:function(a,b){b=f.setOptions(this,b),this._initContainer(a),this._initLayout(),this._onResize=f.bind(this._onResize,this),this._initEvents(),b.maxBounds&&this.setMaxBounds(b.maxBounds),b.center&&b.zoom!==void 0&&this.setView(f.latLng(b.center),b.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._tileLayersNum=0,this.callInitHooks(),this._addLayers(b.layers)},setView:function(a,b){b=b===void 0?this.getZoom():b;this._resetView(f.latLng(a),this._limitZoom(b));return this},setZoom:function(a,b){if(!this._loaded){this._zoom=this._limitZoom(a);return this}return this.setView(this.getCenter(),a,{zoom:b})},zoomIn:function(a,b){return this.setZoom(this._zoom+(a||1),b)},zoomOut:function(a,b){return this.setZoom(this._zoom-(a||1),b)},setZoomAround:function(a,b,c){var d=this.getZoomScale(b),e=this.getSize().divideBy(2);a=a instanceof f.Point?a:this.latLngToContainerPoint(a);a=a.subtract(e).multiplyBy(1-1/d);d=this.containerPointToLatLng(e.add(a));return this.setView(d,b,{zoom:c})},fitBounds:function(a,b){b=b||{};a=a.getBounds?a.getBounds():f.latLngBounds(a);var c=f.point(b.paddingTopLeft||b.padding||[0,0]),d=f.point(b.paddingBottomRight||b.padding||[0,0]),e=this.getBoundsZoom(a,!1,c.add(d));d=d.subtract(c).divideBy(2);c=this.project(a.getSouthWest(),e);a=this.project(a.getNorthEast(),e);c=this.unproject(c.add(a).divideBy(2).add(d),e);e=b&&b.maxZoom?Math.min(b.maxZoom,e):e;return this.setView(c,e,b)},fitWorld:function(a){return this.fitBounds([[-90,-180],[90,180]],a)},panTo:function(a,b){return this.setView(a,this._zoom,{pan:b})},panBy:function(a){this.fire("movestart");this._rawPanBy(f.point(a));this.fire("move");return this.fire("moveend")},setMaxBounds:function(a){a=f.latLngBounds(a);this.options.maxBounds=a;if(!a)return this.off("moveend",this._panInsideMaxBounds,this);this._loaded&&this._panInsideMaxBounds();return this.on("moveend",this._panInsideMaxBounds,this)},panInsideBounds:function(a,b){var c=this.getCenter();a=this._limitCenter(c,this._zoom,a);return c.equals(a)?this:this.panTo(a,b)},addLayer:function(a){var b=f.stamp(a);if(this._layers[b])return this;this._layers[b]=a;a.options&&(!isNaN(a.options.maxZoom)||!isNaN(a.options.minZoom))&&(this._zoomBoundLayers[b]=a,this._updateZoomLevels());this.options.zoomAnimation&&f.TileLayer&&a instanceof f.TileLayer&&(this._tileLayersNum++,this._tileLayersToLoad++,a.on("load",this._onTileLayerLoad,this));this._loaded&&this._layerAdd(a);return this},removeLayer:function(a){var b=f.stamp(a);if(!this._layers[b])return this;this._loaded&&a.onRemove(this);delete this._layers[b];this._loaded&&this.fire("layerremove",{layer:a});this._zoomBoundLayers[b]&&(delete this._zoomBoundLayers[b],this._updateZoomLevels());this.options.zoomAnimation&&f.TileLayer&&a instanceof f.TileLayer&&(this._tileLayersNum--,this._tileLayersToLoad--,a.off("load",this._onTileLayerLoad,this));return this},hasLayer:function(a){return!a?!1:f.stamp(a)in this._layers},eachLayer:function(a,b){for(var c in this._layers)a.call(b,this._layers[c]);return this},invalidateSize:function(a){__p&&__p();if(!this._loaded)return this;a=f.extend({animate:!1,pan:!0},a===!0?{animate:!0}:a);var b=this.getSize();this._sizeChanged=!0;this._initialCenter=null;var c=this.getSize(),d=b.divideBy(2).round(),e=c.divideBy(2).round();d=d.subtract(e);if(!d.x&&!d.y)return this;a.animate&&a.pan?this.panBy(d):(a.pan&&this._rawPanBy(d),this.fire("move"),a.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(f.bind(this.fire,this,"moveend"),200)):this.fire("moveend"));return this.fire("resize",{oldSize:b,newSize:c})},addHandler:function(a,b){if(!b)return this;b=this[a]=new b(this);this._handlers.push(b);this.options[a]&&b.enable();return this},remove:function(){this._loaded&&this.fire("unload");this._initEvents("off");try{delete this._container._leaflet}catch(a){this._container._leaflet=void 0}this._clearPanes();this._clearControlPos&&this._clearControlPos();this._clearHandlers();return this},getCenter:function(){this._checkIfLoaded();return this._initialCenter&&!this._moved()?this._initialCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var a=this.getPixelBounds(),b=this.unproject(a.getBottomLeft());a=this.unproject(a.getTopRight());return new f.LatLngBounds(b,a)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom===void 0?0:this._layersMinZoom:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?Infinity:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(a,b,c){a=f.latLngBounds(a);var d=this.getMinZoom()-(b?1:0),e=this.getMaxZoom(),g=this.getSize(),h=a.getNorthWest();a=a.getSouthEast();var i;c=f.point(c||[0,0]);do d++,i=this.project(a,d).subtract(this.project(h,d)).add(c),i=b?i.x0?Math.round(a-b)/2:Math.max(0,Math.ceil(a))-Math.max(0,Math.floor(b))},_limitZoom:function(a){var b=this.getMinZoom(),c=this.getMaxZoom();return Math.max(b,Math.min(c,a))}});f.map=function(a,b){return new f.Map(a,b)};f.Projection.Mercator={MAX_LATITUDE:85.0840591556,R_MINOR:6356752.314245179,R_MAJOR:6378137,project:function(a){__p&&__p();var b=f.LatLng.DEG_TO_RAD,c=this.MAX_LATITUDE;c=Math.max(Math.min(c,a.lat),-c);var d=this.R_MAJOR,e=this.R_MINOR;a=a.lng*b*d;c=c*b;b=e/d;e=Math.sqrt(1-b*b);b=e*Math.sin(c);b=Math.pow((1-b)/(1+b),e*.5);e=Math.tan(.5*(Math.PI*.5-c))/b;c=-d*Math.log(e);return new f.Point(a,c)},unproject:function(a){__p&&__p();var b=f.LatLng.RAD_TO_DEG,c=this.R_MAJOR,d=this.R_MINOR,e=a.x*b/c;d=d/c;d=Math.sqrt(1-d*d);a=Math.exp(-a.y/c);c=Math.PI/2-2*Math.atan(a);var g=15,h=1e-7;g=g;var i=.1,j;while(Math.abs(i)>h&&--g>0)j=d*Math.sin(c),i=Math.PI/2-2*Math.atan(a*Math.pow((1-j)/(1+j),.5*d))-c,c+=i;return new f.LatLng(c*b,e)}};f.CRS.EPSG3395=f.extend({},f.CRS,{code:"EPSG:3395",projection:f.Projection.Mercator,transformation:function(){var a=f.Projection.Mercator;a=a.R_MAJOR;a=.5/(Math.PI*a);return new f.Transformation(a,.5,-a,.5)}()});f.TileLayer=f.Class.extend({includes:f.Mixin.Events,options:{minZoom:0,maxZoom:18,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:f.Browser.mobile,updateWhenIdle:f.Browser.mobile},initialize:function(a,b){b=f.setOptions(this,b);b.detectRetina&&f.Browser.retina&&b.maxZoom>0&&(b.tileSize=Math.floor(b.tileSize/2),b.zoomOffset++,b.minZoom>0&&b.minZoom--,this.options.maxZoom--);b.bounds&&(b.bounds=f.latLngBounds(b.bounds));this._url=a;b=this.options.subdomains;typeof b==="string"&&(this.options.subdomains=b.split(""))},onAdd:function(a){this._map=a,this._animated=a._zoomAnimated,this._initContainer(),a.on({viewreset:this._reset,moveend:this._update},this),this._animated&&a.on({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||(this._limitedUpdate=f.Util.limitExecByInterval(this._update,150,this),a.on("move",this._limitedUpdate,this)),this._reset(),this._update()},addTo:function(a){a.addLayer(this);return this},onRemove:function(a){this._container.parentNode.removeChild(this._container),a.off({viewreset:this._reset,moveend:this._update},this),this._animated&&a.off({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||a.off("move",this._limitedUpdate,this),this._container=null,this._map=null},bringToFront:function(){var a=this._map._panes.tilePane;this._container&&(a.appendChild(this._container),this._setAutoZIndex(a,Math.max));return this},bringToBack:function(){var a=this._map._panes.tilePane;this._container&&(a.insertBefore(this._container,a.firstChild),this._setAutoZIndex(a,Math.min));return this},getAttribution:function(){return this.options.attribution},getContainer:function(){return this._container},setOpacity:function(a){this.options.opacity=a;this._map&&this._updateOpacity();return this},setZIndex:function(a){this.options.zIndex=a;this._updateZIndex();return this},setUrl:function(a,b){this._url=a;b||this.redraw();return this},redraw:function(){this._map&&(this._reset({hard:!0}),this._update());return this},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(a,b){a=a.children;var c=-b(Infinity,-Infinity),d,e,f;for(e=0,f=a.length;ec&&(d=Math.round(a.getZoomScale(b)/a.getZoomScale(c)*d));return d},_update:function(){__p&&__p();if(!this._map)return;var a=this._map,b=a.getPixelBounds();a=a.getZoom();var c=this._getTileSize();if(a>this.options.maxZoom||a=c.x)||a.y<0||a.y>=c.y)return!1}if(b.bounds){c=b.tileSize;a=a.multiplyBy(c);c=a.add([c,c]);a=this._map.unproject(a);c=this._map.unproject(c);!b.continuousWorld&&!b.noWrap&&(a=a.wrap(),c=c.wrap());if(!b.bounds.intersects([a,c]))return!1}return!0},_removeOtherTiles:function(a){var b,c,d;for(d in this._tiles)b=d.split(":"),c=parseInt(b[0],10),b=parseInt(b[1],10),(ca.max.x||ba.max.y)&&this._removeTile(d)},_removeTile:function(a){var b=this._tiles[a];this.fire("tileunload",{tile:b,url:b.src});this.options.reuseTiles?(f.DomUtil.removeClass(b,"leaflet-tile-loaded"),this._unusedTiles.push(b)):b.parentNode===this._tileContainer&&this._tileContainer.removeChild(b);f.Browser.android||(b.onload=null,b.src=f.Util.emptyImageUrl);delete this._tiles[a]},_addTile:function(a,b){var c=this._getTilePos(a),d=this._getTile();f.DomUtil.setPosition(d,c,f.Browser.chrome);this._tiles[a.x+":"+a.y]=d;this._loadTile(d,a);d.parentNode!==this._tileContainer&&b.appendChild(d)},_getZoomForUrl:function(){var a=this.options,b=this._map.getZoom();a.zoomReverse&&(b=a.maxZoom-b);b+=a.zoomOffset;return a.maxNativeZoom?Math.min(b,a.maxNativeZoom):b},_getTilePos:function(a){var b=this._map.getPixelOrigin(),c=this._getTileSize();return a.multiplyBy(c).subtract(b)},getTileUrl:function(a){return f.Util.template(this._url,f.extend({s:this._getSubdomain(a),z:a.z,x:a.x,y:a.y},this.options))},_getWrapTileNum:function(){var a=this._map.options.crs;a=a.getSize(this._map.getZoom());return a.divideBy(this._getTileSize())._floor()},_adjustTilePoint:function(a){var b=this._getWrapTileNum();!this.options.continuousWorld&&!this.options.noWrap&&(a.x=(a.x%b.x+b.x)%b.x);this.options.tms&&(a.y=b.y-a.y-1);a.z=this._getZoomForUrl()},_getSubdomain:function(a){a=Math.abs(a.x+a.y)%this.options.subdomains.length;return this.options.subdomains[a]},_getTile:function(){if(this.options.reuseTiles&&this._unusedTiles.length>0){var a=this._unusedTiles.pop();this._resetTile(a);return a}return this._createTile()},_resetTile:function(){},_createTile:function(){var a=f.DomUtil.create("img","leaflet-tile");a.style.width=a.style.height=this._getTileSize()+"px";a.galleryimg="no";a.onselectstart=a.onmousemove=f.Util.falseFn;f.Browser.ielt9&&this.options.opacity!==void 0&&f.DomUtil.setOpacity(a,this.options.opacity);f.Browser.mobileWebkit3d&&(a.style.WebkitBackfaceVisibility="hidden");return a},_loadTile:function(a,b){a._layer=this,a.onload=this._tileOnLoad,a.onerror=this._tileOnError,this._adjustTilePoint(b),a.src=this.getTileUrl(b),this.fire("tileloadstart",{tile:a,url:a.src})},_tileLoaded:function(){this._tilesToLoad--,this._animated&&f.DomUtil.addClass(this._tileContainer,"leaflet-zoom-animated"),this._tilesToLoad||(this.fire("load"),this._animated&&(clearTimeout(this._clearBgBufferTimer),this._clearBgBufferTimer=setTimeout(f.bind(this._clearBgBuffer,this),500)))},_tileOnLoad:function(){var a=this._layer;this.src!==f.Util.emptyImageUrl&&(f.DomUtil.addClass(this,"leaflet-tile-loaded"),a.fire("tileload",{tile:this,url:this.src}));a._tileLoaded()},_tileOnError:function(){var a=this._layer;a.fire("tileerror",{tile:this,url:this.src});var b=a.options.errorTileUrl;b&&(this.src=b);a._tileLoaded()}});f.tileLayer=function(a,b){return new f.TileLayer(a,b)};f.TileLayer.WMS=f.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(a,b){this._url=a;a=f.extend({},this.defaultWmsParams);var c=b.tileSize||this.options.tileSize;b.detectRetina&&f.Browser.retina?a.width=a.height=c*2:a.width=a.height=c;for(var d in b)!this.options.hasOwnProperty(d)&&d!=="crs"&&(a[d]=b[d]);this.wmsParams=a;f.setOptions(this,b)},onAdd:function(a){this._crs=this.options.crs||a.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var b=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[b]=this._crs.code;f.TileLayer.prototype.onAdd.call(this,a)},getTileUrl:function(a){var b=this._map,c=this.options.tileSize,d=a.multiplyBy(c);c=d.add([c,c]);d=this._crs.project(b.unproject(d,a.z));b=this._crs.project(b.unproject(c,a.z));c=this._wmsVersion>=1.3&&this._crs===f.CRS.EPSG4326?[b.y,d.x,d.y,b.x].join(","):[d.x,b.y,b.x,d.y].join(",");b=f.Util.template(this._url,{s:this._getSubdomain(a)});return b+f.Util.getParamString(this.wmsParams,b,!0)+"&BBOX="+c},setParams:function(a,b){f.extend(this.wmsParams,a);b||this.redraw();return this}});f.tileLayer.wms=function(a,b){return new f.TileLayer.WMS(a,b)};f.TileLayer.Canvas=f.TileLayer.extend({options:{async:!1},initialize:function(a){f.setOptions(this,a)},redraw:function(){this._map&&(this._reset({hard:!0}),this._update());for(var a in this._tiles)this._redrawTile(this._tiles[a]);return this},_redrawTile:function(a){this.drawTile(a,a._tilePoint,this._map._zoom)},_createTile:function(){var a=f.DomUtil.create("canvas","leaflet-tile");a.width=a.height=this.options.tileSize;a.onselectstart=a.onmousemove=f.Util.falseFn;return a},_loadTile:function(a,b){a._layer=this,a._tilePoint=b,this._redrawTile(a),this.options.async||this.tileDrawn(a)},drawTile:function(){},tileDrawn:function(a){this._tileOnLoad.call(a)}});f.tileLayer.canvas=function(a){return new f.TileLayer.Canvas(a)};f.ImageOverlay=f.Class.extend({includes:f.Mixin.Events,options:{opacity:1},initialize:function(a,b,c){this._url=a,this._bounds=f.latLngBounds(b),f.setOptions(this,c)},onAdd:function(a){this._map=a,this._image||this._initImage(),a._panes.overlayPane.appendChild(this._image),a.on("viewreset",this._reset,this),a.options.zoomAnimation&&f.Browser.any3d&&a.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(a){a.getPanes().overlayPane.removeChild(this._image),a.off("viewreset",this._reset,this),a.options.zoomAnimation&&a.off("zoomanim",this._animateZoom,this)},addTo:function(a){a.addLayer(this);return this},setOpacity:function(a){this.options.opacity=a;this._updateOpacity();return this},bringToFront:function(){this._image&&this._map._panes.overlayPane.appendChild(this._image);return this},bringToBack:function(){var a=this._map._panes.overlayPane;this._image&&a.insertBefore(this._image,a.firstChild);return this},setUrl:function(a){this._url=a,this._image.src=this._url},getAttribution:function(){return this.options.attribution},_initImage:function(){this._image=f.DomUtil.create("img","leaflet-image-layer"),this._map.options.zoomAnimation&&f.Browser.any3d?f.DomUtil.addClass(this._image,"leaflet-zoom-animated"):f.DomUtil.addClass(this._image,"leaflet-zoom-hide"),this._updateOpacity(),f.extend(this._image,{galleryimg:"no",onselectstart:f.Util.falseFn,onmousemove:f.Util.falseFn,onload:f.bind(this._onImageLoad,this),src:this._url})},_animateZoom:function(a){var b=this._map,c=this._image,d=b.getZoomScale(a.zoom),e=this._bounds.getNorthWest(),g=this._bounds.getSouthEast();e=b._latLngToNewLayerPoint(e,a.zoom,a.center);b=b._latLngToNewLayerPoint(g,a.zoom,a.center)._subtract(e);g=e._add(b._multiplyBy(1/2*(1-1/d)));c.style[f.DomUtil.TRANSFORM]=f.DomUtil.getTranslateString(g)+" scale("+d+") "},_reset:function(){var a=this._image,b=this._map.latLngToLayerPoint(this._bounds.getNorthWest()),c=this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(b);f.DomUtil.setPosition(a,b);a.style.width=c.x+"px";a.style.height=c.y+"px"},_onImageLoad:function(){this.fire("load")},_updateOpacity:function(){f.DomUtil.setOpacity(this._image,this.options.opacity)}});f.imageOverlay=function(a,b,c){return new f.ImageOverlay(a,b,c)};f.Icon=f.Class.extend({options:{className:""},initialize:function(a){f.setOptions(this,a)},createIcon:function(a){return this._createIcon("icon",a)},createShadow:function(a){return this._createIcon("shadow",a)},_createIcon:function(a,b){__p&&__p();var c=this._getIconUrl(a);if(!c){if(a==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var d;!b||b.tagName!=="IMG"?d=this._createImg(c):d=this._createImg(c,b);this._setIconStyles(d,a);return d},_setIconStyles:function(a,b){var c=this.options,d=f.point(c[b+"Size"]),e;b==="shadow"?e=f.point(c.shadowAnchor||c.iconAnchor):e=f.point(c.iconAnchor);!e&&d&&(e=d.divideBy(2,!0));a.className="leaflet-marker-"+b+" "+c.className;e&&(a.style.marginLeft=-e.x+"px",a.style.marginTop=-e.y+"px");d&&(a.style.width=d.x+"px",a.style.height=d.y+"px")},_createImg:function(a,c){c=c||b.createElement("img");c.src=a;return c},_getIconUrl:function(a){return f.Browser.retina&&this.options[a+"RetinaUrl"]?this.options[a+"RetinaUrl"]:this.options[a+"Url"]}});f.icon=function(a){return new f.Icon(a)};f.Icon.Default=f.Icon.extend({options:{iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]},_getIconUrl:function(a){var b=a+"Url";if(this.options[b])return this.options[b];f.Browser.retina&&a==="icon"&&(a+="-2x");b=f.Icon.Default.imagePath;if(!b)throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");return b+"/marker-"+a+".png"}});f.Icon.Default.imagePath=function(){__p&&__p();if(!b.getElementsByTagName)return null;var a=b.getElementsByTagName("script"),c=/[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/,d,e,f,g;for(d=0,e=a.length;dd?(b.height=d+"px",f.DomUtil.addClass(a,e)):f.DomUtil.removeClass(a,e);this._containerWidth=this._container.offsetWidth},_updatePosition:function(){if(!this._map)return;var a=this._map.latLngToLayerPoint(this._latlng),b=this._animated,c=f.point(this.options.offset);b&&f.DomUtil.setPosition(this._container,a);this._containerBottom=-c.y-(b?0:a.y);this._containerLeft=-Math.round(this._containerWidth/2)+c.x+(b?0:a.x);this._container.style.bottom=this._containerBottom+"px";this._container.style.left=this._containerLeft+"px"},_zoomAnimation:function(a){a=this._map._latLngToNewLayerPoint(this._latlng,a.zoom,a.center);f.DomUtil.setPosition(this._container,a)},_adjustPan:function(){__p&&__p();if(!this.options.autoPan)return;var a=this._map,b=this._container.offsetHeight,c=this._containerWidth,d=new f.Point(this._containerLeft,-b-this._containerBottom);this._animated&&d._add(f.DomUtil.getPosition(this._container));d=a.layerPointToContainerPoint(d);var e=f.point(this.options.autoPanPadding),g=f.point(this.options.autoPanPaddingTopLeft||e);e=f.point(this.options.autoPanPaddingBottomRight||e);var h=a.getSize(),i=0,j=0;d.x+c+e.x>h.x&&(i=d.x+c-h.x+e.x);d.x-i-g.x<0&&(i=d.x-g.x);d.y+b+e.y>h.y&&(j=d.y+b-h.y+e.y);d.y-j-g.y<0&&(j=d.y-g.y);(i||j)&&a.fire("autopanstart").panBy([i,j])},_onCloseButtonClick:function(a){this._close(),f.DomEvent.stop(a)}});f.popup=function(a,b){return new f.Popup(a,b)};f.Map.include({openPopup:function(a,b,c){this.closePopup();if(!(a instanceof f.Popup)){var d=a;a=new f.Popup(c).setLatLng(b).setContent(d)}a._isOpen=!0;this._popup=a;return this.addLayer(a)},closePopup:function(a){(!a||a===this._popup)&&(a=this._popup,this._popup=null);a&&(this.removeLayer(a),a._isOpen=!1);return this}});f.Marker.include({openPopup:function(){this._popup&&this._map&&!this._map.hasLayer(this._popup)&&(this._popup.setLatLng(this._latlng),this._map.openPopup(this._popup));return this},closePopup:function(){this._popup&&this._popup._close();return this},togglePopup:function(){this._popup&&(this._popup._isOpen?this.closePopup():this.openPopup());return this},bindPopup:function(a,b){var c=f.point(this.options.icon.options.popupAnchor||[0,0]);c=c.add(f.Popup.prototype.options.offset);b&&b.offset&&(c=c.add(b.offset));b=f.extend({offset:c},b);this._popupHandlersAdded||(this.on("click",this.togglePopup,this).on("remove",this.closePopup,this).on("move",this._movePopup,this),this._popupHandlersAdded=!0);a instanceof f.Popup?(f.setOptions(a,b),this._popup=a):this._popup=new f.Popup(b,this).setContent(a);return this},setPopupContent:function(a){this._popup&&this._popup.setContent(a);return this},unbindPopup:function(){this._popup&&(this._popup=null,this.off("click",this.togglePopup,this).off("remove",this.closePopup,this).off("move",this._movePopup,this),this._popupHandlersAdded=!1);return this},getPopup:function(){return this._popup},_movePopup:function(a){this._popup.setLatLng(a.latlng)}});f.LayerGroup=f.Class.extend({initialize:function(a){this._layers={};var b,c;if(a)for(b=0,c=a.length;b';a=a.firstChild;a.style.behavior="url(#default#VML)";return a&&typeof a.adj==="object"}catch(a){return!1}}();f.Path=f.Browser.svg||!f.Browser.vml?f.Path:f.Path.extend({statics:{VML:!0,CLIP_PADDING:.02},_createElement:function(){try{b.namespaces.add("lvml","urn:schemas-microsoft-com:vml");return function(a){return b.createElement("')}}catch(a){return function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_initPath:function(){var a=this._container=this._createElement("shape");f.DomUtil.addClass(a,"leaflet-vml-shape"+(this.options.className?" "+this.options.className:""));this.options.clickable&&f.DomUtil.addClass(a,"leaflet-clickable");a.coordsize="1 1";this._path=this._createElement("path");a.appendChild(this._path);this._map._pathRoot.appendChild(a)},_initStyle:function(){this._updateStyle()},_updateStyle:function(){var a=this._stroke,b=this._fill,c=this.options,d=this._container;d.stroked=c.stroke;d.filled=c.fill;c.stroke?(a||(a=this._stroke=this._createElement("stroke"),a.endcap="round",d.appendChild(a)),a.weight=c.weight+"px",a.color=c.color,a.opacity=c.opacity,c.dashArray?a.dashStyle=f.Util.isArray(c.dashArray)?c.dashArray.join(" "):c.dashArray.replace(/( *, *)/g," "):a.dashStyle="",c.lineCap&&(a.endcap=c.lineCap.replace("butt","flat")),c.lineJoin&&(a.joinstyle=c.lineJoin)):a&&(d.removeChild(a),this._stroke=null);c.fill?(b||(b=this._fill=this._createElement("fill"),d.appendChild(b)),b.color=c.fillColor||c.color,b.opacity=c.fillOpacity):b&&(d.removeChild(b),this._fill=null)},_updatePath:function(){var a=this._container.style;a.display="none";this._path.v=this.getPathString()+" ";a.display=""}});f.Map.include(f.Browser.svg||!f.Browser.vml?{}:{_initPathRoot:function(){if(this._pathRoot)return;var a=this._pathRoot=b.createElement("div");a.className="leaflet-vml-container";this._panes.overlayPane.appendChild(a);this.on("moveend",this._updatePathViewport);this._updatePathViewport()}});f.Browser.canvas=function(){return!!(b.createElement&&b.createElement("canvas").getContext)}();f.Path=f.Path.SVG&&!a.L_PREFER_CANVAS||!f.Browser.canvas?f.Path:f.Path.extend({statics:{CANVAS:!0,SVG:!1},redraw:function(){this._map&&(this.projectLatlngs(),this._requestUpdate());return this},setStyle:function(a){f.setOptions(this,a);this._map&&(this._updateStyle(),this._requestUpdate());return this},onRemove:function(a){a.off("viewreset",this.projectLatlngs,this).off("moveend",this._updatePath,this),this.options.clickable&&(this._map.off("click",this._onClick,this),this._map.off("mousemove",this._onMouseMove,this)),this._requestUpdate(),this._map=null},_requestUpdate:function(){this._map&&!f.Path._updateRequest&&(f.Path._updateRequest=f.Util.requestAnimFrame(this._fireMapMoveEnd,this._map))},_fireMapMoveEnd:function(){f.Path._updateRequest=null,this.fire("moveend")},_initElements:function(){this._map._initPathRoot(),this._ctx=this._map._canvasCtx},_updateStyle:function(){var a=this.options;a.stroke&&(this._ctx.lineWidth=a.weight,this._ctx.strokeStyle=a.color);a.fill&&(this._ctx.fillStyle=a.fillColor||a.color)},_drawPath:function(){var a,b,c,d,e,g;this._ctx.beginPath();for(a=0,c=this._parts.length;af&&(g=h,f=i);f>c&&(b[g]=1,this._simplifyDPStep(a,b,c,d,g),this._simplifyDPStep(a,b,c,g,e))},_reducePoints:function(a,b){var c=[a[0]];for(var d=1,e=0,f=a.length;db&&(c.push(a[d]),e=d);eb.max.x&&(c|=2);a.yb.max.y&&(c|=8);return c},_sqDist:function(a,b){var c=b.x-a.x;b=b.y-a.y;return c*c+b*b},_sqClosestPointOnSegment:function(a,b,c,d){var e=b.x;b=b.y;var g=c.x-e,h=c.y-b,i=g*g+h*h;i>0&&(i=((a.x-e)*g+(a.y-b)*h)/i,i>1?(e=c.x,b=c.y):i>0&&(e+=g*i,b+=h*i));g=a.x-e;h=a.y-b;return d?g*g+h*h:new f.Point(e,b)}};f.Polyline=f.Path.extend({initialize:function(a,b){f.Path.prototype.initialize.call(this,b),this._latlngs=this._convertLatLngs(a)},options:{smoothFactor:1,noClip:!1},projectLatlngs:function(){this._originalPoints=[];for(var a=0,b=this._latlngs.length;a=2&&a[0].equals(a[a.length-1])&&a.pop()},projectLatlngs:function(){__p&&__p();f.Polyline.prototype.projectLatlngs.call(this);this._holePoints=[];if(!this._holes)return;var a,b,c,d;for(a=0,c=this._holes.length;aa.max.x||c.y-b>a.max.y||c.x+ba.y!==e.y>a.y&&a.x<(e.x-d.x)*(a.y-d.y)/(e.y-d.y)+d.x&&(b=!b)}return b}}:{});f.Circle.include(f.Path.CANVAS?{_drawPath:function(){var a=this._point;this._ctx.beginPath();this._ctx.arc(a.x,a.y,this._radius,0,Math.PI*2,!1)},_containsPoint:function(a){var b=this._point,c=this.options.stroke?this.options.weight/2:0;return a.distanceTo(b)<=this._radius+c}}:{});f.CircleMarker.include(f.Path.CANVAS?{_updateStyle:function(){f.Path.prototype._updateStyle.call(this)}}:{});f.GeoJSON=f.FeatureGroup.extend({initialize:function(a,b){f.setOptions(this,b),this._layers={},a&&this.addData(a)},addData:function(a){__p&&__p();var b=f.Util.isArray(a)?a:a.features,c,d,e;if(b){for(c=0,d=b.length;c=0;c--)f.DomEvent.on(a,f.Draggable.START[c],b);return f.DomEvent.on(a,"click",f.DomEvent._fakeStop).on(a,"dblclick",b)},preventDefault:function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;return this},stop:function(a){return f.DomEvent.preventDefault(a).stopPropagation(a)},getMousePosition:function(a,b){if(!b)return new f.Point(a.clientX,a.clientY);var c=b.getBoundingClientRect();return new f.Point(a.clientX-c.left-b.clientLeft,a.clientY-c.top-b.clientTop)},getWheelDelta:function(a){var b=0;a.wheelDelta&&(b=a.wheelDelta/120);a.detail&&(b=-a.detail/3);return b},_skipEvents:{},_fakeStop:function(a){f.DomEvent._skipEvents[a.type]=!0},_skipped:function(a){var b=this._skipEvents[a.type];this._skipEvents[a.type]=!1;return b},_checkMouse:function(a,b){b=b.relatedTarget;if(!b)return!0;try{while(b&&b!==a)b=b.parentNode}catch(a){return!1}return b!==a},_getEvent:function(){__p&&__p();var b=a.event;if(!b){var c=arguments.callee.caller;while(c){b=c.arguments[0];if(b&&a.Event===b.constructor)break;c=c.caller}}return b},_filterClick:function(a,b){var c=a.timeStamp||a.originalEvent.timeStamp,d=f.DomEvent._lastClick&&c-f.DomEvent._lastClick;if(d&&d>100&&d<1e3||a.target._simulatedClick&&!a._simulated){f.DomEvent.stop(a);return}f.DomEvent._lastClick=c;return b(a)}};f.DomEvent.on=f.DomEvent.addListener;f.DomEvent.off=f.DomEvent.removeListener;f.Draggable=f.Class.extend({includes:f.Mixin.Events,statics:{START:f.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(a,b){this._element=a,this._dragStartTarget=b||a},enable:function(){if(this._enabled)return;for(var a=f.Draggable.START.length-1;a>=0;a--)f.DomEvent.on(this._dragStartTarget,f.Draggable.START[a],this._onDown,this);this._enabled=!0},disable:function(){if(!this._enabled)return;for(var a=f.Draggable.START.length-1;a>=0;a--)f.DomEvent.off(this._dragStartTarget,f.Draggable.START[a],this._onDown,this);this._enabled=!1;this._moved=!1},_onDown:function(a){__p&&__p();this._moved=!1;if(a.shiftKey||a.which!==1&&a.button!==1&&!a.touches)return;f.DomEvent.stopPropagation(a);if(f.Draggable._disabled)return;f.DomUtil.disableImageDrag();f.DomUtil.disableTextSelection();if(this._moving)return;var c=a.touches?a.touches[0]:a;this._startPoint=new f.Point(c.clientX,c.clientY);this._startPos=this._newPos=f.DomUtil.getPosition(this._element);f.DomEvent.on(b,f.Draggable.MOVE[a.type],this._onMove,this).on(b,f.Draggable.END[a.type],this._onUp,this)},_onMove:function(a){__p&&__p();if(a.touches&&a.touches.length>1){this._moved=!0;return}var c=a.touches&&a.touches.length===1?a.touches[0]:a;c=new f.Point(c.clientX,c.clientY);c=c.subtract(this._startPoint);if(!c.x&&!c.y)return;f.DomEvent.preventDefault(a);this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=f.DomUtil.getPosition(this._element).subtract(c),f.DomUtil.addClass(b.body,"leaflet-dragging"),f.DomUtil.addClass(a.target||a.srcElement,"leaflet-drag-target"));this._newPos=this._startPos.add(c);this._moving=!0;f.Util.cancelAnimFrame(this._animRequest);this._animRequest=f.Util.requestAnimFrame(this._updatePosition,this,!0,this._dragStartTarget)},_updatePosition:function(){this.fire("predrag"),f.DomUtil.setPosition(this._element,this._newPos),this.fire("drag")},_onUp:function(a){f.DomUtil.removeClass(b.body,"leaflet-dragging");f.DomUtil.removeClass(a.target||a.srcElement,"leaflet-drag-target");for(var c in f.Draggable.MOVE)f.DomEvent.off(b,f.Draggable.MOVE[c],this._onMove).off(b,f.Draggable.END[c],this._onUp);f.DomUtil.enableImageDrag();f.DomUtil.enableTextSelection();this._moved&&this._moving&&(f.Util.cancelAnimFrame(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)}));this._moving=!1}});f.Handler=f.Class.extend({initialize:function(a){this._map=a},enable:function(){if(this._enabled)return;this._enabled=!0;this.addHooks()},disable:function(){if(!this._enabled)return;this._enabled=!1;this.removeHooks()},enabled:function(){return!!this._enabled}});f.Map.mergeOptions({dragging:!0,inertia:!f.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:Infinity,inertiaThreshold:f.Browser.touch?32:18,easeLinearity:.25,worldCopyJump:!1});f.Map.Drag=f.Handler.extend({addHooks:function(){if(!this._draggable){var a=this._map;this._draggable=new f.Draggable(a._mapPane,a._container);this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);a.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDrag,this),a.on("viewreset",this._onViewReset,this),a.whenReady(this._onViewReset,this))}this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){var a=this._map;a._panAnim&&a._panAnim.stop();a.fire("movestart").fire("dragstart");a.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(){if(this._map.options.inertia){var a=this._lastTime=+new Date(),b=this._lastPos=this._draggable._newPos;this._positions.push(b);this._times.push(a);a-this._times[0]>200&&(this._positions.shift(),this._times.shift())}this._map.fire("move").fire("drag")},_onViewReset:function(){var a=this._map.getSize()._divideBy(2),b=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=b.subtract(a).x;this._worldWidth=this._map.project([0,180]).x},_onPreDrag:function(){var a=this._worldWidth,b=Math.round(a/2),c=this._initialWorldOffset,d=this._draggable._newPos.x,e=(d-b+c)%a+b-c;d=(d+b+c)%a-b-c;a=Math.abs(e+c)c.inertiaThreshold||!this._positions[0];b.fire("dragend",a);if(e)b.fire("moveend");else{a=this._lastPos.subtract(this._positions[0]);e=(this._lastTime+d-this._times[0])/1e3;var g=c.easeLinearity;d=a.multiplyBy(g/e);a=d.distanceTo([0,0]);e=Math.min(c.inertiaMaxSpeed,a);d=d.multiplyBy(e/a);var h=e/(c.inertiaDeceleration*g),i=d.multiplyBy(-h/2).round();!i.x||!i.y?b.fire("moveend"):(i=b._limitOffset(i,b.options.maxBounds),f.Util.requestAnimFrame(function(){b.panBy(i,{duration:h,easeLinearity:g,noMoveStart:!0})}))}}});f.Map.addInitHook("addHandler","dragging",f.Map.Drag);f.Map.mergeOptions({doubleClickZoom:!0});f.Map.DoubleClickZoom=f.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(a){var b=this._map,c=b.getZoom()+(a.originalEvent.shiftKey?-1:1);b.options.doubleClickZoom==="center"?b.setZoom(c):b.setZoomAround(a.containerPoint,c)}});f.Map.addInitHook("addHandler","doubleClickZoom",f.Map.DoubleClickZoom);f.Map.mergeOptions({scrollWheelZoom:!0});f.Map.ScrollWheelZoom=f.Handler.extend({addHooks:function(){f.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this),f.DomEvent.on(this._map._container,"MozMousePixelScroll",f.DomEvent.preventDefault),this._delta=0},removeHooks:function(){f.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll),f.DomEvent.off(this._map._container,"MozMousePixelScroll",f.DomEvent.preventDefault)},_onWheelScroll:function(a){var b=f.DomEvent.getWheelDelta(a);this._delta+=b;this._lastMousePos=this._map.mouseEventToContainerPoint(a);this._startTime||(this._startTime=+new Date());b=Math.max(40-(+new Date()-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(f.bind(this._performZoom,this),b);f.DomEvent.preventDefault(a);f.DomEvent.stopPropagation(a)},_performZoom:function(){var a=this._map,b=this._delta,c=a.getZoom();b=b>0?Math.ceil(b):Math.floor(b);b=Math.max(Math.min(b,4),-4);b=a._limitZoom(c+b)-c;this._delta=0;this._startTime=null;if(!b)return;a.options.scrollWheelZoom==="center"?a.setZoom(c+b):a.setZoomAround(this._lastMousePos,c+b)}});f.Map.addInitHook("addHandler","scrollWheelZoom",f.Map.ScrollWheelZoom);f.extend(f.DomEvent,{_touchstart:f.Browser.msPointer?"MSPointerDown":f.Browser.pointer?"pointerdown":"touchstart",_touchend:f.Browser.msPointer?"MSPointerUp":f.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(a,c,d){__p&&__p();var e,g=!1,h=250,i,j="_leaflet_",k=this._touchstart,l=this._touchend,m=[];function n(a){var b;f.Browser.pointer?(m.push(a.pointerId),b=m.length):b=a.touches.length;if(b>1)return;b=Date.now();var c=b-(e||b);i=a.touches?a.touches[0]:a;g=c>0&&c<=h;e=b}function o(a){__p&&__p();if(f.Browser.pointer){a=m.indexOf(a.pointerId);if(a===-1)return;m.splice(a,1)}if(g){if(f.Browser.pointer){a={};var b;for(var d in i)b=i[d],typeof b==="function"?a[d]=b.bind(i):a[d]=b;i=a}i.type="dblclick";c(i);e=null}}a[j+k+d]=n;a[j+l+d]=o;j=f.Browser.pointer?b.documentElement:a;a.addEventListener(k,n,!1);j.addEventListener(l,o,!1);f.Browser.pointer&&j.addEventListener(f.DomEvent.POINTER_CANCEL,o,!1);return this},removeDoubleTapListener:function(a,c){var d="_leaflet_";a.removeEventListener(this._touchstart,a[d+this._touchstart+c],!1);(f.Browser.pointer?b.documentElement:a).removeEventListener(this._touchend,a[d+this._touchend+c],!1);f.Browser.pointer&&b.documentElement.removeEventListener(f.DomEvent.POINTER_CANCEL,a[d+this._touchend+c],!1);return this}});f.extend(f.DomEvent,{POINTER_DOWN:f.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:f.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:f.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:f.Browser.msPointer?"MSPointerCancel":"pointercancel",_pointers:[],_pointerDocumentListener:!1,addPointerListener:function(a,b,c,d){switch(b){case"touchstart":return this.addPointerListenerStart(a,b,c,d);case"touchend":return this.addPointerListenerEnd(a,b,c,d);case"touchmove":return this.addPointerListenerMove(a,b,c,d);default:throw"Unknown touch event type"}},addPointerListenerStart:function(a,c,d,e){__p&&__p();c="_leaflet_";var g=this._pointers,h=function(a){__p&&__p();f.DomEvent.preventDefault(a);var b=!1;for(var c=0;c1))return;this._moved||(f.DomUtil.addClass(b._mapPane,"leaflet-touching"),b.fire("movestart").fire("zoomstart"),this._moved=!0);f.Util.cancelAnimFrame(this._animRequest);this._animRequest=f.Util.requestAnimFrame(this._updateOnMove,this,!0,this._map._container);f.DomEvent.preventDefault(a)},_updateOnMove:function(){var a=this._map,b=this._getScaleOrigin();b=a.layerPointToLatLng(b);var c=a.getScaleZoom(this._scale);a._animateZoom(b,c,this._startCenter,this._scale,this._delta)},_onTouchEnd:function(){__p&&__p();if(!this._moved||!this._zooming){this._zooming=!1;return}var a=this._map;this._zooming=!1;f.DomUtil.removeClass(a._mapPane,"leaflet-touching");f.Util.cancelAnimFrame(this._animRequest);f.DomEvent.off(b,"touchmove",this._onTouchMove).off(b,"touchend",this._onTouchEnd);var c=this._getScaleOrigin(),d=a.layerPointToLatLng(c),e=a.getZoom(),g=a.getScaleZoom(this._scale)-e;g=g>0?Math.ceil(g):Math.floor(g);e=a._limitZoom(e+g);g=a.getZoomScale(e)/this._scale;a._animateZoom(d,e,c,g)},_getScaleOrigin:function(){var a=this._centerOffset.subtract(this._delta).divideBy(this._scale);return this._startCenter.add(a)}});f.Map.addInitHook("addHandler","touchZoom",f.Map.TouchZoom);f.Map.mergeOptions({tap:!0,tapTolerance:15});f.Map.Tap=f.Handler.extend({addHooks:function(){f.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){f.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(a){__p&&__p();if(!a.touches)return;f.DomEvent.preventDefault(a);this._fireClick=!0;if(a.touches.length>1){this._fireClick=!1;clearTimeout(this._holdTimeout);return}var c=a.touches[0];a=c.target;this._startPos=this._newPos=new f.Point(c.clientX,c.clientY);a.tagName&&a.tagName.toLowerCase()==="a"&&f.DomUtil.addClass(a,"leaflet-active");this._holdTimeout=setTimeout(f.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",c))},this),1e3);f.DomEvent.on(b,"touchmove",this._onMove,this).on(b,"touchend",this._onUp,this)},_onUp:function(a){clearTimeout(this._holdTimeout);f.DomEvent.off(b,"touchmove",this._onMove,this).off(b,"touchend",this._onUp,this);if(this._fireClick&&a&&a.changedTouches){a=a.changedTouches[0];var c=a.target;c&&c.tagName&&c.tagName.toLowerCase()==="a"&&f.DomUtil.removeClass(c,"leaflet-active");this._isTapValid()&&this._simulateEvent("click",a)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(a){a=a.touches[0];this._newPos=new f.Point(a.clientX,a.clientY)},_simulateEvent:function(c,d){var e=b.createEvent("MouseEvents");e._simulated=!0;d.target._simulatedClick=!0;e.initMouseEvent(c,!0,!0,a,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null);d.target.dispatchEvent(e)}});f.Browser.touch&&!f.Browser.pointer&&f.Map.addInitHook("addHandler","tap",f.Map.Tap);f.Map.mergeOptions({boxZoom:!0});f.Map.BoxZoom=f.Handler.extend({initialize:function(a){this._map=a,this._container=a._container,this._pane=a._panes.overlayPane,this._moved=!1},addHooks:function(){f.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){f.DomEvent.off(this._container,"mousedown",this._onMouseDown),this._moved=!1},moved:function(){return this._moved},_onMouseDown:function(a){this._moved=!1;if(!a.shiftKey||a.which!==1&&a.button!==1)return!1;f.DomUtil.disableTextSelection();f.DomUtil.disableImageDrag();this._startLayerPoint=this._map.mouseEventToLayerPoint(a);f.DomEvent.on(b,"mousemove",this._onMouseMove,this).on(b,"mouseup",this._onMouseUp,this).on(b,"keydown",this._onKeyDown,this)},_onMouseMove:function(a){this._moved||(this._box=f.DomUtil.create("div","leaflet-zoom-box",this._pane),f.DomUtil.setPosition(this._box,this._startLayerPoint),this._container.style.cursor="crosshair",this._map.fire("boxzoomstart"));var b=this._startLayerPoint,c=this._box;a=this._map.mouseEventToLayerPoint(a);var d=a.subtract(b);a=new f.Point(Math.min(a.x,b.x),Math.min(a.y,b.y));f.DomUtil.setPosition(c,a);this._moved=!0;c.style.width=Math.max(0,Math.abs(d.x)-4)+"px";c.style.height=Math.max(0,Math.abs(d.y)-4)+"px"},_finish:function(){this._moved&&(this._pane.removeChild(this._box),this._container.style.cursor=""),f.DomUtil.enableTextSelection(),f.DomUtil.enableImageDrag(),f.DomEvent.off(b,"mousemove",this._onMouseMove).off(b,"mouseup",this._onMouseUp).off(b,"keydown",this._onKeyDown)},_onMouseUp:function(a){this._finish();var b=this._map;a=b.mouseEventToLayerPoint(a);if(this._startLayerPoint.equals(a))return;a=new f.LatLngBounds(b.layerPointToLatLng(this._startLayerPoint),b.layerPointToLatLng(a));b.fitBounds(a);b.fire("boxzoomend",{boxZoomBounds:a})},_onKeyDown:function(a){a.keyCode===27&&this._finish()}});f.Map.addInitHook("addHandler","boxZoom",f.Map.BoxZoom);f.Map.mergeOptions({keyboard:!0,keyboardPanOffset:80,keyboardZoomOffset:1});f.Map.Keyboard=f.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,173]},initialize:function(a){this._map=a,this._setPanOffset(a.options.keyboardPanOffset),this._setZoomOffset(a.options.keyboardZoomOffset)},addHooks:function(){var a=this._map._container;a.tabIndex===-1&&(a.tabIndex="0");f.DomEvent.on(a,"focus",this._onFocus,this).on(a,"blur",this._onBlur,this).on(a,"mousedown",this._onMouseDown,this);this._map.on("focus",this._addHooks,this).on("blur",this._removeHooks,this)},removeHooks:function(){this._removeHooks();var a=this._map._container;f.DomEvent.off(a,"focus",this._onFocus,this).off(a,"blur",this._onBlur,this).off(a,"mousedown",this._onMouseDown,this);this._map.off("focus",this._addHooks,this).off("blur",this._removeHooks,this)},_onMouseDown:function(){if(this._focused)return;var c=b.body,d=b.documentElement,e=c.scrollTop||d.scrollTop;c=c.scrollLeft||d.scrollLeft;this._map._container.focus();a.scrollTo(c,e)},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanOffset:function(a){var b=this._panKeys={},c=this.keyCodes,d,e;for(d=0,e=c.left.length;dLeaflet'},initialize:function(a){f.setOptions(this,a),this._attributions={}},onAdd:function(a){this._container=f.DomUtil.create("div","leaflet-control-attribution");f.DomEvent.disableClickPropagation(this._container);for(var b in a._layers)a._layers[b].getAttribution&&this.addAttribution(a._layers[b].getAttribution());a.on("layeradd",this._onLayerAdd,this).on("layerremove",this._onLayerRemove,this);this._update();return this._container},onRemove:function(a){a.off("layeradd",this._onLayerAdd).off("layerremove",this._onLayerRemove)},setPrefix:function(a){this.options.prefix=a;this._update();return this},addAttribution:function(a){if(!a)return;this._attributions[a]||(this._attributions[a]=0);this._attributions[a]++;this._update();return this},removeAttribution:function(a){if(!a)return;this._attributions[a]&&(this._attributions[a]--,this._update());return this},_update:function(){if(!this._map)return;var a=[];for(var b in this._attributions)this._attributions[b]&&a.push(b);var c=[];this.options.prefix&&c.push(this.options.prefix);a.length&&c.push(a.join(", "));this._container.innerHTML=c.join(" | ")},_onLayerAdd:function(a){a.layer.getAttribution&&this.addAttribution(a.layer.getAttribution())},_onLayerRemove:function(a){a.layer.getAttribution&&this.removeAttribution(a.layer.getAttribution())}});f.Map.mergeOptions({attributionControl:!0});f.Map.addInitHook(function(){this.options.attributionControl&&(this.attributionControl=new f.Control.Attribution().addTo(this))});f.control.attribution=function(a){return new f.Control.Attribution(a)};f.Control.Scale=f.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0,updateWhenIdle:!1},onAdd:function(a){this._map=a;var b="leaflet-control-scale",c=this.options.shiftRight?b+" leaflet-control-scale-shiftRight":b;c=f.DomUtil.create("div",c);var d=this.options;this._addScales(d,b,c);a.on(d.updateWhenIdle?"moveend":"move",this._update,this);a.whenReady(this._update,this);return c},onRemove:function(a){a.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(a,b,c){a.metric&&(this._mScale=f.DomUtil.create("div",b+"-line",c)),a.imperial&&(this._iScale=f.DomUtil.create("div",b+"-line",c))},_update:function(){var a=this._map.getBounds(),b=a.getCenter().lat;b=6378137*Math.PI*Math.cos(b*Math.PI/180);b=b*(a.getNorthEast().lng-a.getSouthWest().lng)/180;a=this._map.getSize();var c=this.options,d=0;a.x>0&&(d=b*(c.maxWidth/a.x));this._updateScales(c,d)},_updateScales:function(a,b){a.metric&&b&&this._updateMetric(b),a.imperial&&b&&this._updateImperial(b)},_updateMetric:function(a){var b=this._getRoundNum(a);this._mScale.style.width=this._getScaleWidth(b/a)+"px";this._mScale.innerHTML=b<1e3?b+" m":b/1e3+" km"},_updateImperial:function(a){a=a*3.2808399;var b=this._iScale,c,d;a>5280?(c=a/5280,d=this._getRoundNum(c),b.style.width=this._getScaleWidth(d/c)+"px",b.innerHTML=d+" mi"):(c=this._getRoundNum(a),b.style.width=this._getScaleWidth(c/a)+"px",b.innerHTML=c+" ft")},_getScaleWidth:function(a){return Math.round(this.options.maxWidth*a)-10},_getRoundNum:function(a){var b=Math.pow(10,(Math.floor(a)+"").length-1);a=a/b;a=a>=10?10:a>=5?5:a>=3?3:a>=2?2:1;return b*a}});f.control.scale=function(a){return new f.Control.Scale(a)};f.Control.Layers=f.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0},initialize:function(a,b,c){f.setOptions(this,c);this._layers={};this._lastZIndex=0;this._handlingClick=!1;for(var d in a)this._addLayer(a[d],d);for(d in b)this._addLayer(b[d],d,!0)},onAdd:function(a){this._initLayout();this._update();a.on("layeradd",this._onLayerChange,this).on("layerremove",this._onLayerChange,this);return this._container},onRemove:function(a){a.off("layeradd",this._onLayerChange).off("layerremove",this._onLayerChange)},addBaseLayer:function(a,b){this._addLayer(a,b);this._update();return this},addOverlay:function(a,b){this._addLayer(a,b,!0);this._update();return this},removeLayer:function(a){a=f.stamp(a);delete this._layers[a];this._update();return this},_initLayout:function(){__p&&__p();var a="leaflet-control-layers",b=this._container=f.DomUtil.create("div",a);b.setAttribute("aria-haspopup",!0);!f.Browser.touch?f.DomEvent.disableClickPropagation(b).disableScrollPropagation(b):f.DomEvent.on(b,"click",f.DomEvent.stopPropagation);var c=this._form=f.DomUtil.create("form",a+"-list");if(this.options.collapsed){f.Browser.android||f.DomEvent.on(b,"mouseover",this._expand,this).on(b,"mouseout",this._collapse,this);var d=this._layersLink=f.DomUtil.create("a",a+"-toggle",b);d.href="#";d.title="Layers";f.Browser.touch?f.DomEvent.on(d,"click",f.DomEvent.stop).on(d,"click",this._expand,this):f.DomEvent.on(d,"focus",this._expand,this);f.DomEvent.on(c,"click",function(){setTimeout(f.bind(this._onInputClick,this),0)},this);this._map.on("click",this._collapse,this)}else this._expand();this._baseLayersList=f.DomUtil.create("div",a+"-base",c);this._separator=f.DomUtil.create("div",a+"-separator",c);this._overlaysList=f.DomUtil.create("div",a+"-overlays",c);b.appendChild(c)},_addLayer:function(a,b,c){var d=f.stamp(a);this._layers[d]={layer:a,name:b,overlay:c};this.options.autoZIndex&&a.setZIndex&&(this._lastZIndex++,a.setZIndex(this._lastZIndex))},_update:function(){if(!this._container)return;this._baseLayersList.innerHTML="";this._overlaysList.innerHTML="";var a=!1,b=!1,c,d;for(c in this._layers)d=this._layers[c],this._addItem(d),b=b||d.overlay,a=a||!d.overlay;this._separator.style.display=b&&a?"":"none"},_onLayerChange:function(a){var b=this._layers[f.stamp(a.layer)];if(!b)return;this._handlingClick||this._update();a=b.overlay?a.type==="layeradd"?"overlayadd":"overlayremove":a.type==="layeradd"?"baselayerchange":null;a&&this._map.fire(a,b)},_createRadioElement:function(a,c){a='=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(a,b,c){__p&&__p();if(this._animatingZoom)return!0;c=c||{};if(!this._zoomAnimated||c.animate===!1||this._nothingToAnimate()||Math.abs(b-this._zoom)>this.options.zoomAnimationThreshold)return!1;var d=this.getZoomScale(b),e=this._getCenterOffset(a)._divideBy(1-1/d),f=this._getCenterLayerPoint()._add(e);if(c.animate!==!0&&!this.getSize().contains(e))return!1;this.fire("movestart").fire("zoomstart");this._animateZoom(a,b,f,d,null,!0);return!0},_animateZoom:function(a,b,c,d,e,g){this._animatingZoom=!0,f.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim"),this._animateToCenter=a,this._animateToZoom=b,f.Draggable&&(f.Draggable._disabled=!0),this.fire("zoomanim",{center:a,zoom:b,origin:c,scale:d,delta:e,backwards:g})},_onZoomTransitionEnd:function(){this._animatingZoom=!1,f.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),this._resetView(this._animateToCenter,this._animateToZoom,!0,!0),f.Draggable&&(f.Draggable._disabled=!1)}}:{});f.TileLayer.include({_animateZoom:function(a){this._animating||(this._animating=!0,this._prepareBgBuffer());var b=this._bgBuffer,c=f.DomUtil.TRANSFORM,d=a.delta?f.DomUtil.getTranslateString(a.delta):b.style[c],e=f.DomUtil.getScaleString(a.scale,a.origin);b.style[c]=a.backwards?e+" "+d:d+" "+e},_endZoomAnim:function(){var a=this._tileContainer,b=this._bgBuffer;a.style.visibility="";a.parentNode.appendChild(a);f.Util.falseFn(b.offsetWidth);this._animating=!1},_clearBgBuffer:function(){var a=this._map;a&&!a._animatingZoom&&!a.touchZoom._zooming&&(this._bgBuffer.innerHTML="",this._bgBuffer.style[f.DomUtil.TRANSFORM]="")},_prepareBgBuffer:function(){__p&&__p();var a=this._tileContainer,b=this._bgBuffer,c=this._getLoadedTilesPercentage(b),d=this._getLoadedTilesPercentage(a);if(b&&c>.5&&d<.5){a.style.visibility="hidden";this._stopLoadingImages(a);return}b.style.visibility="hidden";b.style[f.DomUtil.TRANSFORM]="";this._tileContainer=b;b=this._bgBuffer=a;this._stopLoadingImages(b);clearTimeout(this._clearBgBufferTimer)},_getLoadedTilesPercentage:function(a){a=a.getElementsByTagName("img");var b,c,d=0;for(b=0,c=a.length;b