signalk-trackviewer
Version:
Viewer for tracks recorded in SignalK, with GPX export function.
1 lines • 1.08 MB
JavaScript
var GM=Object.create;var _f=Object.defineProperty,qM=Object.defineProperties,ZM=Object.getOwnPropertyDescriptor,YM=Object.getOwnPropertyDescriptors,QM=Object.getOwnPropertyNames,vl=Object.getOwnPropertySymbols,KM=Object.getPrototypeOf,bf=Object.prototype.hasOwnProperty,Bv=Object.prototype.propertyIsEnumerable;var jv=(t,n,e)=>n in t?_f(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,me=(t,n)=>{for(var e in n||={})bf.call(n,e)&&jv(t,e,n[e]);if(vl)for(var e of vl(n))Bv.call(n,e)&&jv(t,e,n[e]);return t},At=(t,n)=>qM(t,YM(n));var vf=(t,n)=>{var e={};for(var i in t)bf.call(t,i)&&n.indexOf(i)<0&&(e[i]=t[i]);if(t!=null&&vl)for(var i of vl(t))n.indexOf(i)<0&&Bv.call(t,i)&&(e[i]=t[i]);return e};var XM=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports);var JM=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of QM(n))!bf.call(t,r)&&r!==e&&_f(t,r,{get:()=>n[r],enumerable:!(i=ZM(n,r))||i.enumerable});return t};var zv=(t,n,e)=>(e=t!=null?GM(KM(t)):{},JM(n||!t||!t.__esModule?_f(e,"default",{value:t,enumerable:!0}):e,t));var ab=XM((Sh,mI)=>{"use strict";(function(t,n){typeof Sh=="object"&&typeof mI<"u"?n(Sh):typeof define=="function"&&define.amd?define(["exports"],n):(t=typeof globalThis<"u"?globalThis:t||self,n(t.leaflet={}))})(Sh,function(t){"use strict";var n="1.9.4";function e(s){var c,d,h,m;for(d=1,h=arguments.length;d<h;d++){m=arguments[d];for(c in m)s[c]=m[c]}return s}var i=Object.create||function(){function s(){}return function(c){return s.prototype=c,new s}}();function r(s,c){var d=Array.prototype.slice;if(s.bind)return s.bind.apply(s,d.call(arguments,1));var h=d.call(arguments,2);return function(){return s.apply(c,h.length?h.concat(d.call(arguments)):arguments)}}var o=0;function a(s){return"_leaflet_id"in s||(s._leaflet_id=++o),s._leaflet_id}function l(s,c,d){var h,m,_,v;return v=function(){h=!1,m&&(_.apply(d,m),m=!1)},_=function(){h?m=arguments:(s.apply(d,arguments),setTimeout(v,c),h=!0)},_}function u(s,c,d){var h=c[1],m=c[0],_=h-m;return s===h&&d?s:((s-m)%_+_)%_+m}function f(){return!1}function p(s,c){if(c===!1)return s;var d=Math.pow(10,c===void 0?6:c);return Math.round(s*d)/d}function b(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function w(s){return b(s).split(/\s+/)}function y(s,c){Object.prototype.hasOwnProperty.call(s,"options")||(s.options=s.options?i(s.options):{});for(var d in c)s.options[d]=c[d];return s.options}function I(s,c,d){var h=[];for(var m in s)h.push(encodeURIComponent(d?m.toUpperCase():m)+"="+encodeURIComponent(s[m]));return(!c||c.indexOf("?")===-1?"?":"&")+h.join("&")}var k=/\{ *([\w_ -]+) *\}/g;function R(s,c){return s.replace(k,function(d,h){var m=c[h];if(m===void 0)throw new Error("No value provided for variable "+d);return typeof m=="function"&&(m=m(c)),m})}var $=Array.isArray||function(s){return Object.prototype.toString.call(s)==="[object Array]"};function je(s,c){for(var d=0;d<s.length;d++)if(s[d]===c)return d;return-1}var we="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Ze(s){return window["webkit"+s]||window["moz"+s]||window["ms"+s]}var Gt=0;function at(s){var c=+new Date,d=Math.max(0,16-(c-Gt));return Gt=c+d,window.setTimeout(s,d)}var lt=window.requestAnimationFrame||Ze("RequestAnimationFrame")||at,Mt=window.cancelAnimationFrame||Ze("CancelAnimationFrame")||Ze("CancelRequestAnimationFrame")||function(s){window.clearTimeout(s)};function _t(s,c,d){if(d&<===at)s.call(c);else return lt.call(window,r(s,c))}function St(s){s&&Mt.call(window,s)}var Jc={__proto__:null,extend:e,create:i,bind:r,get lastId(){return o},stamp:a,throttle:l,wrapNum:u,falseFn:f,formatNum:p,trim:b,splitWords:w,setOptions:y,getParamString:I,template:R,isArray:$,indexOf:je,emptyImageUrl:we,requestFn:lt,cancelFn:Mt,requestAnimFrame:_t,cancelAnimFrame:St};function Kt(){}Kt.extend=function(s){var c=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},d=c.__super__=this.prototype,h=i(d);h.constructor=c,c.prototype=h;for(var m in this)Object.prototype.hasOwnProperty.call(this,m)&&m!=="prototype"&&m!=="__super__"&&(c[m]=this[m]);return s.statics&&e(c,s.statics),s.includes&&(ua(s.includes),e.apply(null,[h].concat(s.includes))),e(h,s),delete h.statics,delete h.includes,h.options&&(h.options=d.options?i(d.options):{},e(h.options,s.options)),h._initHooks=[],h.callInitHooks=function(){if(!this._initHooksCalled){d.callInitHooks&&d.callInitHooks.call(this),this._initHooksCalled=!0;for(var _=0,v=h._initHooks.length;_<v;_++)h._initHooks[_].call(this)}},c},Kt.include=function(s){var c=this.prototype.options;return e(this.prototype,s),s.options&&(this.prototype.options=c,this.mergeOptions(s.options)),this},Kt.mergeOptions=function(s){return e(this.prototype.options,s),this},Kt.addInitHook=function(s){var c=Array.prototype.slice.call(arguments,1),d=typeof s=="function"?s:function(){this[s].apply(this,c)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(d),this};function ua(s){if(!(typeof L>"u"||!L||!L.Mixin)){s=$(s)?s:[s];for(var c=0;c<s.length;c++)s[c]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var ni={on:function(s,c,d){if(typeof s=="object")for(var h in s)this._on(h,s[h],c);else{s=w(s);for(var m=0,_=s.length;m<_;m++)this._on(s[m],c,d)}return this},off:function(s,c,d){if(!arguments.length)delete this._events;else if(typeof s=="object")for(var h in s)this._off(h,s[h],c);else{s=w(s);for(var m=arguments.length===1,_=0,v=s.length;_<v;_++)m?this._off(s[_]):this._off(s[_],c,d)}return this},_on:function(s,c,d,h){if(typeof c!="function"){console.warn("wrong listener type: "+typeof c);return}if(this._listens(s,c,d)===!1){d===this&&(d=void 0);var m={fn:c,ctx:d};h&&(m.once=!0),this._events=this._events||{},this._events[s]=this._events[s]||[],this._events[s].push(m)}},_off:function(s,c,d){var h,m,_;if(this._events&&(h=this._events[s],!!h)){if(arguments.length===1){if(this._firingCount)for(m=0,_=h.length;m<_;m++)h[m].fn=f;delete this._events[s];return}if(typeof c!="function"){console.warn("wrong listener type: "+typeof c);return}var v=this._listens(s,c,d);if(v!==!1){var C=h[v];this._firingCount&&(C.fn=f,this._events[s]=h=h.slice()),h.splice(v,1)}}},fire:function(s,c,d){if(!this.listens(s,d))return this;var h=e({},c,{type:s,target:this,sourceTarget:c&&c.sourceTarget||this});if(this._events){var m=this._events[s];if(m){this._firingCount=this._firingCount+1||1;for(var _=0,v=m.length;_<v;_++){var C=m[_],T=C.fn;C.once&&this.off(s,T,C.ctx),T.call(C.ctx||this,h)}this._firingCount--}}return d&&this._propagateEvent(h),this},listens:function(s,c,d,h){typeof s!="string"&&console.warn('"string" type argument expected');var m=c;typeof c!="function"&&(h=!!c,m=void 0,d=void 0);var _=this._events&&this._events[s];if(_&&_.length&&this._listens(s,m,d)!==!1)return!0;if(h){for(var v in this._eventParents)if(this._eventParents[v].listens(s,c,d,h))return!0}return!1},_listens:function(s,c,d){if(!this._events)return!1;var h=this._events[s]||[];if(!c)return!!h.length;d===this&&(d=void 0);for(var m=0,_=h.length;m<_;m++)if(h[m].fn===c&&h[m].ctx===d)return m;return!1},once:function(s,c,d){if(typeof s=="object")for(var h in s)this._on(h,s[h],c,!0);else{s=w(s);for(var m=0,_=s.length;m<_;m++)this._on(s[m],c,d,!0)}return this},addEventParent:function(s){return this._eventParents=this._eventParents||{},this._eventParents[a(s)]=s,this},removeEventParent:function(s){return this._eventParents&&delete this._eventParents[a(s)],this},_propagateEvent:function(s){for(var c in this._eventParents)this._eventParents[c].fire(s.type,e({layer:s.target,propagatedFrom:s.target},s),!0)}};ni.addEventListener=ni.on,ni.removeEventListener=ni.clearAllEventListeners=ni.off,ni.addOneTimeEventListener=ni.once,ni.fireEvent=ni.fire,ni.hasEventListeners=ni.listens;var pr=Kt.extend(ni);function O(s,c,d){this.x=d?Math.round(s):s,this.y=d?Math.round(c):c}var ge=Math.trunc||function(s){return s>0?Math.floor(s):Math.ceil(s)};O.prototype={clone:function(){return new O(this.x,this.y)},add:function(s){return this.clone()._add(j(s))},_add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.clone()._subtract(j(s))},_subtract:function(s){return this.x-=s.x,this.y-=s.y,this},divideBy:function(s){return this.clone()._divideBy(s)},_divideBy:function(s){return this.x/=s,this.y/=s,this},multiplyBy:function(s){return this.clone()._multiplyBy(s)},_multiplyBy:function(s){return this.x*=s,this.y*=s,this},scaleBy:function(s){return new O(this.x*s.x,this.y*s.y)},unscaleBy:function(s){return new O(this.x/s.x,this.y/s.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=ge(this.x),this.y=ge(this.y),this},distanceTo:function(s){s=j(s);var c=s.x-this.x,d=s.y-this.y;return Math.sqrt(c*c+d*d)},equals:function(s){return s=j(s),s.x===this.x&&s.y===this.y},contains:function(s){return s=j(s),Math.abs(s.x)<=Math.abs(this.x)&&Math.abs(s.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function j(s,c,d){return s instanceof O?s:$(s)?new O(s[0],s[1]):s==null?s:typeof s=="object"&&"x"in s&&"y"in s?new O(s.x,s.y):new O(s,c,d)}function fe(s,c){if(s)for(var d=c?[s,c]:s,h=0,m=d.length;h<m;h++)this.extend(d[h])}fe.prototype={extend:function(s){var c,d;if(!s)return this;if(s instanceof O||typeof s[0]=="number"||"x"in s)c=d=j(s);else if(s=tt(s),c=s.min,d=s.max,!c||!d)return this;return!this.min&&!this.max?(this.min=c.clone(),this.max=d.clone()):(this.min.x=Math.min(c.x,this.min.x),this.max.x=Math.max(d.x,this.max.x),this.min.y=Math.min(c.y,this.min.y),this.max.y=Math.max(d.y,this.max.y)),this},getCenter:function(s){return j((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,s)},getBottomLeft:function(){return j(this.min.x,this.max.y)},getTopRight:function(){return j(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(s){var c,d;return typeof s[0]=="number"||s instanceof O?s=j(s):s=tt(s),s instanceof fe?(c=s.min,d=s.max):c=d=s,c.x>=this.min.x&&d.x<=this.max.x&&c.y>=this.min.y&&d.y<=this.max.y},intersects:function(s){s=tt(s);var c=this.min,d=this.max,h=s.min,m=s.max,_=m.x>=c.x&&h.x<=d.x,v=m.y>=c.y&&h.y<=d.y;return _&&v},overlaps:function(s){s=tt(s);var c=this.min,d=this.max,h=s.min,m=s.max,_=m.x>c.x&&h.x<d.x,v=m.y>c.y&&h.y<d.y;return _&&v},isValid:function(){return!!(this.min&&this.max)},pad:function(s){var c=this.min,d=this.max,h=Math.abs(c.x-d.x)*s,m=Math.abs(c.y-d.y)*s;return tt(j(c.x-h,c.y-m),j(d.x+h,d.y+m))},equals:function(s){return s?(s=tt(s),this.min.equals(s.getTopLeft())&&this.max.equals(s.getBottomRight())):!1}};function tt(s,c){return!s||s instanceof fe?s:new fe(s,c)}function mt(s,c){if(s)for(var d=c?[s,c]:s,h=0,m=d.length;h<m;h++)this.extend(d[h])}mt.prototype={extend:function(s){var c=this._southWest,d=this._northEast,h,m;if(s instanceof $e)h=s,m=s;else if(s instanceof mt){if(h=s._southWest,m=s._northEast,!h||!m)return this}else return s?this.extend(ue(s)||Ke(s)):this;return!c&&!d?(this._southWest=new $e(h.lat,h.lng),this._northEast=new $e(m.lat,m.lng)):(c.lat=Math.min(h.lat,c.lat),c.lng=Math.min(h.lng,c.lng),d.lat=Math.max(m.lat,d.lat),d.lng=Math.max(m.lng,d.lng)),this},pad:function(s){var c=this._southWest,d=this._northEast,h=Math.abs(c.lat-d.lat)*s,m=Math.abs(c.lng-d.lng)*s;return new mt(new $e(c.lat-h,c.lng-m),new $e(d.lat+h,d.lng+m))},getCenter:function(){return new $e((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new $e(this.getNorth(),this.getWest())},getSouthEast:function(){return new $e(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(s){typeof s[0]=="number"||s instanceof $e||"lat"in s?s=ue(s):s=Ke(s);var c=this._southWest,d=this._northEast,h,m;return s instanceof mt?(h=s.getSouthWest(),m=s.getNorthEast()):h=m=s,h.lat>=c.lat&&m.lat<=d.lat&&h.lng>=c.lng&&m.lng<=d.lng},intersects:function(s){s=Ke(s);var c=this._southWest,d=this._northEast,h=s.getSouthWest(),m=s.getNorthEast(),_=m.lat>=c.lat&&h.lat<=d.lat,v=m.lng>=c.lng&&h.lng<=d.lng;return _&&v},overlaps:function(s){s=Ke(s);var c=this._southWest,d=this._northEast,h=s.getSouthWest(),m=s.getNorthEast(),_=m.lat>c.lat&&h.lat<d.lat,v=m.lng>c.lng&&h.lng<d.lng;return _&&v},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(s,c){return s?(s=Ke(s),this._southWest.equals(s.getSouthWest(),c)&&this._northEast.equals(s.getNorthEast(),c)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Ke(s,c){return s instanceof mt?s:new mt(s,c)}function $e(s,c,d){if(isNaN(s)||isNaN(c))throw new Error("Invalid LatLng object: ("+s+", "+c+")");this.lat=+s,this.lng=+c,d!==void 0&&(this.alt=+d)}$e.prototype={equals:function(s,c){if(!s)return!1;s=ue(s);var d=Math.max(Math.abs(this.lat-s.lat),Math.abs(this.lng-s.lng));return d<=(c===void 0?1e-9:c)},toString:function(s){return"LatLng("+p(this.lat,s)+", "+p(this.lng,s)+")"},distanceTo:function(s){return gn.distance(this,ue(s))},wrap:function(){return gn.wrapLatLng(this)},toBounds:function(s){var c=180*s/40075017,d=c/Math.cos(Math.PI/180*this.lat);return Ke([this.lat-c,this.lng-d],[this.lat+c,this.lng+d])},clone:function(){return new $e(this.lat,this.lng,this.alt)}};function ue(s,c,d){return s instanceof $e?s:$(s)&&typeof s[0]!="object"?s.length===3?new $e(s[0],s[1],s[2]):s.length===2?new $e(s[0],s[1]):null:s==null?s:typeof s=="object"&&"lat"in s?new $e(s.lat,"lng"in s?s.lng:s.lon,s.alt):c===void 0?null:new $e(s,c,d)}var Hi={latLngToPoint:function(s,c){var d=this.projection.project(s),h=this.scale(c);return this.transformation._transform(d,h)},pointToLatLng:function(s,c){var d=this.scale(c),h=this.transformation.untransform(s,d);return this.projection.unproject(h)},project:function(s){return this.projection.project(s)},unproject:function(s){return this.projection.unproject(s)},scale:function(s){return 256*Math.pow(2,s)},zoom:function(s){return Math.log(s/256)/Math.LN2},getProjectedBounds:function(s){if(this.infinite)return null;var c=this.projection.bounds,d=this.scale(s),h=this.transformation.transform(c.min,d),m=this.transformation.transform(c.max,d);return new fe(h,m)},infinite:!1,wrapLatLng:function(s){var c=this.wrapLng?u(s.lng,this.wrapLng,!0):s.lng,d=this.wrapLat?u(s.lat,this.wrapLat,!0):s.lat,h=s.alt;return new $e(d,c,h)},wrapLatLngBounds:function(s){var c=s.getCenter(),d=this.wrapLatLng(c),h=c.lat-d.lat,m=c.lng-d.lng;if(h===0&&m===0)return s;var _=s.getSouthWest(),v=s.getNorthEast(),C=new $e(_.lat-h,_.lng-m),T=new $e(v.lat-h,v.lng-m);return new mt(C,T)}},gn=e({},Hi,{wrapLng:[-180,180],R:6371e3,distance:function(s,c){var d=Math.PI/180,h=s.lat*d,m=c.lat*d,_=Math.sin((c.lat-s.lat)*d/2),v=Math.sin((c.lng-s.lng)*d/2),C=_*_+Math.cos(h)*Math.cos(m)*v*v,T=2*Math.atan2(Math.sqrt(C),Math.sqrt(1-C));return this.R*T}}),jt=6378137,Xi={R:jt,MAX_LATITUDE:85.0511287798,project:function(s){var c=Math.PI/180,d=this.MAX_LATITUDE,h=Math.max(Math.min(d,s.lat),-d),m=Math.sin(h*c);return new O(this.R*s.lng*c,this.R*Math.log((1+m)/(1-m))/2)},unproject:function(s){var c=180/Math.PI;return new $e((2*Math.atan(Math.exp(s.y/this.R))-Math.PI/2)*c,s.x*c/this.R)},bounds:function(){var s=jt*Math.PI;return new fe([-s,-s],[s,s])}()};function ri(s,c,d,h){if($(s)){this._a=s[0],this._b=s[1],this._c=s[2],this._d=s[3];return}this._a=s,this._b=c,this._c=d,this._d=h}ri.prototype={transform:function(s,c){return this._transform(s.clone(),c)},_transform:function(s,c){return c=c||1,s.x=c*(this._a*s.x+this._b),s.y=c*(this._c*s.y+this._d),s},untransform:function(s,c){return c=c||1,new O((s.x/c-this._b)/this._a,(s.y/c-this._d)/this._c)}};function _n(s,c,d,h){return new ri(s,c,d,h)}var Ur=e({},gn,{code:"EPSG:3857",projection:Xi,transformation:function(){var s=.5/(Math.PI*Xi.R);return _n(s,.5,-s,.5)}()}),xk=e({},Ur,{code:"EPSG:900913"});function Tb(s){return document.createElementNS("http://www.w3.org/2000/svg",s)}function Ab(s,c){var d="",h,m,_,v,C,T;for(h=0,_=s.length;h<_;h++){for(C=s[h],m=0,v=C.length;m<v;m++)T=C[m],d+=(m?"L":"M")+T.x+" "+T.y;d+=c?_e.svg?"z":"x":""}return d||"M0 0"}var jh=document.documentElement.style,el="ActiveXObject"in window,Dk=el&&!document.addEventListener,Rb="msLaunchUri"in navigator&&!("documentMode"in document),Bh=bn("webkit"),Ob=bn("android"),Pb=bn("android 2")||bn("android 3"),Ck=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ek=Ob&&bn("Google")&&Ck<537&&!("AudioNode"in window),zh=!!window.opera,Fb=!Rb&&bn("chrome"),Nb=bn("gecko")&&!Bh&&!zh&&!el,Ik=!Fb&&bn("safari"),Lb=bn("phantom"),Vb="OTransition"in jh,kk=navigator.platform.indexOf("Win")===0,jb=el&&"transition"in jh,Hh="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Pb,Bb="MozPerspective"in jh,Mk=!window.L_DISABLE_3D&&(jb||Hh||Bb)&&!Vb&&!Lb,ha=typeof orientation<"u"||bn("mobile"),Sk=ha&&Bh,Tk=ha&&Hh,zb=!window.PointerEvent&&window.MSPointerEvent,Hb=!!(window.PointerEvent||zb),Ub="ontouchstart"in window||!!window.TouchEvent,Ak=!window.L_NO_TOUCH&&(Ub||Hb),Rk=ha&&zh,Ok=ha&&Nb,Pk=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Fk=function(){var s=!1;try{var c=Object.defineProperty({},"passive",{get:function(){s=!0}});window.addEventListener("testPassiveEventSupport",f,c),window.removeEventListener("testPassiveEventSupport",f,c)}catch{}return s}(),Nk=function(){return!!document.createElement("canvas").getContext}(),Uh=!!(document.createElementNS&&Tb("svg").createSVGRect),Lk=!!Uh&&function(){var s=document.createElement("div");return s.innerHTML="<svg/>",(s.firstChild&&s.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Vk=!Uh&&function(){try{var s=document.createElement("div");s.innerHTML='<v:shape adj="1"/>';var c=s.firstChild;return c.style.behavior="url(#default#VML)",c&&typeof c.adj=="object"}catch{return!1}}(),jk=navigator.platform.indexOf("Mac")===0,Bk=navigator.platform.indexOf("Linux")===0;function bn(s){return navigator.userAgent.toLowerCase().indexOf(s)>=0}var _e={ie:el,ielt9:Dk,edge:Rb,webkit:Bh,android:Ob,android23:Pb,androidStock:Ek,opera:zh,chrome:Fb,gecko:Nb,safari:Ik,phantom:Lb,opera12:Vb,win:kk,ie3d:jb,webkit3d:Hh,gecko3d:Bb,any3d:Mk,mobile:ha,mobileWebkit:Sk,mobileWebkit3d:Tk,msPointer:zb,pointer:Hb,touch:Ak,touchNative:Ub,mobileOpera:Rk,mobileGecko:Ok,retina:Pk,passiveEvents:Fk,canvas:Nk,svg:Uh,vml:Vk,inlineSvg:Lk,mac:jk,linux:Bk},$b=_e.msPointer?"MSPointerDown":"pointerdown",Wb=_e.msPointer?"MSPointerMove":"pointermove",Gb=_e.msPointer?"MSPointerUp":"pointerup",qb=_e.msPointer?"MSPointerCancel":"pointercancel",$h={touchstart:$b,touchmove:Wb,touchend:Gb,touchcancel:qb},Zb={touchstart:Gk,touchmove:tl,touchend:tl,touchcancel:tl},Uo={},Yb=!1;function zk(s,c,d){return c==="touchstart"&&Wk(),Zb[c]?(d=Zb[c].bind(this,d),s.addEventListener($h[c],d,!1),d):(console.warn("wrong event specified:",c),f)}function Hk(s,c,d){if(!$h[c]){console.warn("wrong event specified:",c);return}s.removeEventListener($h[c],d,!1)}function Uk(s){Uo[s.pointerId]=s}function $k(s){Uo[s.pointerId]&&(Uo[s.pointerId]=s)}function Qb(s){delete Uo[s.pointerId]}function Wk(){Yb||(document.addEventListener($b,Uk,!0),document.addEventListener(Wb,$k,!0),document.addEventListener(Gb,Qb,!0),document.addEventListener(qb,Qb,!0),Yb=!0)}function tl(s,c){if(c.pointerType!==(c.MSPOINTER_TYPE_MOUSE||"mouse")){c.touches=[];for(var d in Uo)c.touches.push(Uo[d]);c.changedTouches=[c],s(c)}}function Gk(s,c){c.MSPOINTER_TYPE_TOUCH&&c.pointerType===c.MSPOINTER_TYPE_TOUCH&&Xt(c),tl(s,c)}function qk(s){var c={},d,h;for(h in s)d=s[h],c[h]=d&&d.bind?d.bind(s):d;return s=c,c.type="dblclick",c.detail=2,c.isTrusted=!1,c._simulated=!0,c}var Zk=200;function Yk(s,c){s.addEventListener("dblclick",c);var d=0,h;function m(_){if(_.detail!==1){h=_.detail;return}if(!(_.pointerType==="mouse"||_.sourceCapabilities&&!_.sourceCapabilities.firesTouchEvents)){var v=tv(_);if(!(v.some(function(T){return T instanceof HTMLLabelElement&&T.attributes.for})&&!v.some(function(T){return T instanceof HTMLInputElement||T instanceof HTMLSelectElement}))){var C=Date.now();C-d<=Zk?(h++,h===2&&c(qk(_))):h=1,d=C}}}return s.addEventListener("click",m),{dblclick:c,simDblclick:m}}function Qk(s,c){s.removeEventListener("dblclick",c.dblclick),s.removeEventListener("click",c.simDblclick)}var Wh=rl(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),fa=rl(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Kb=fa==="webkitTransition"||fa==="OTransition"?fa+"End":"transitionend";function Xb(s){return typeof s=="string"?document.getElementById(s):s}function ma(s,c){var d=s.style[c]||s.currentStyle&&s.currentStyle[c];if((!d||d==="auto")&&document.defaultView){var h=document.defaultView.getComputedStyle(s,null);d=h?h[c]:null}return d==="auto"?null:d}function it(s,c,d){var h=document.createElement(s);return h.className=c||"",d&&d.appendChild(h),h}function Dt(s){var c=s.parentNode;c&&c.removeChild(s)}function il(s){for(;s.firstChild;)s.removeChild(s.firstChild)}function $o(s){var c=s.parentNode;c&&c.lastChild!==s&&c.appendChild(s)}function Wo(s){var c=s.parentNode;c&&c.firstChild!==s&&c.insertBefore(s,c.firstChild)}function Gh(s,c){if(s.classList!==void 0)return s.classList.contains(c);var d=nl(s);return d.length>0&&new RegExp("(^|\\s)"+c+"(\\s|$)").test(d)}function Be(s,c){if(s.classList!==void 0)for(var d=w(c),h=0,m=d.length;h<m;h++)s.classList.add(d[h]);else if(!Gh(s,c)){var _=nl(s);qh(s,(_?_+" ":"")+c)}}function Tt(s,c){s.classList!==void 0?s.classList.remove(c):qh(s,b((" "+nl(s)+" ").replace(" "+c+" "," ")))}function qh(s,c){s.className.baseVal===void 0?s.className=c:s.className.baseVal=c}function nl(s){return s.correspondingElement&&(s=s.correspondingElement),s.className.baseVal===void 0?s.className:s.className.baseVal}function Ui(s,c){"opacity"in s.style?s.style.opacity=c:"filter"in s.style&&Kk(s,c)}function Kk(s,c){var d=!1,h="DXImageTransform.Microsoft.Alpha";try{d=s.filters.item(h)}catch{if(c===1)return}c=Math.round(c*100),d?(d.Enabled=c!==100,d.Opacity=c):s.style.filter+=" progid:"+h+"(opacity="+c+")"}function rl(s){for(var c=document.documentElement.style,d=0;d<s.length;d++)if(s[d]in c)return s[d];return!1}function $r(s,c,d){var h=c||new O(0,0);s.style[Wh]=(_e.ie3d?"translate("+h.x+"px,"+h.y+"px)":"translate3d("+h.x+"px,"+h.y+"px,0)")+(d?" scale("+d+")":"")}function Ft(s,c){s._leaflet_pos=c,_e.any3d?$r(s,c):(s.style.left=c.x+"px",s.style.top=c.y+"px")}function Wr(s){return s._leaflet_pos||new O(0,0)}var pa,ga,Zh;if("onselectstart"in document)pa=function(){Le(window,"selectstart",Xt)},ga=function(){dt(window,"selectstart",Xt)};else{var _a=rl(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);pa=function(){if(_a){var s=document.documentElement.style;Zh=s[_a],s[_a]="none"}},ga=function(){_a&&(document.documentElement.style[_a]=Zh,Zh=void 0)}}function Yh(){Le(window,"dragstart",Xt)}function Qh(){dt(window,"dragstart",Xt)}var ol,Kh;function Xh(s){for(;s.tabIndex===-1;)s=s.parentNode;s.style&&(sl(),ol=s,Kh=s.style.outlineStyle,s.style.outlineStyle="none",Le(window,"keydown",sl))}function sl(){ol&&(ol.style.outlineStyle=Kh,ol=void 0,Kh=void 0,dt(window,"keydown",sl))}function Jb(s){do s=s.parentNode;while((!s.offsetWidth||!s.offsetHeight)&&s!==document.body);return s}function Jh(s){var c=s.getBoundingClientRect();return{x:c.width/s.offsetWidth||1,y:c.height/s.offsetHeight||1,boundingClientRect:c}}var Xk={__proto__:null,TRANSFORM:Wh,TRANSITION:fa,TRANSITION_END:Kb,get:Xb,getStyle:ma,create:it,remove:Dt,empty:il,toFront:$o,toBack:Wo,hasClass:Gh,addClass:Be,removeClass:Tt,setClass:qh,getClass:nl,setOpacity:Ui,testProp:rl,setTransform:$r,setPosition:Ft,getPosition:Wr,get disableTextSelection(){return pa},get enableTextSelection(){return ga},disableImageDrag:Yh,enableImageDrag:Qh,preventOutline:Xh,restoreOutline:sl,getSizedParentNode:Jb,getScale:Jh};function Le(s,c,d,h){if(c&&typeof c=="object")for(var m in c)tf(s,m,c[m],d);else{c=w(c);for(var _=0,v=c.length;_<v;_++)tf(s,c[_],d,h)}return this}var vn="_leaflet_events";function dt(s,c,d,h){if(arguments.length===1)ev(s),delete s[vn];else if(c&&typeof c=="object")for(var m in c)nf(s,m,c[m],d);else if(c=w(c),arguments.length===2)ev(s,function(C){return je(c,C)!==-1});else for(var _=0,v=c.length;_<v;_++)nf(s,c[_],d,h);return this}function ev(s,c){for(var d in s[vn]){var h=d.split(/\d/)[0];(!c||c(h))&&nf(s,h,null,null,d)}}var ef={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function tf(s,c,d,h){var m=c+a(d)+(h?"_"+a(h):"");if(s[vn]&&s[vn][m])return this;var _=function(C){return d.call(h||s,C||window.event)},v=_;!_e.touchNative&&_e.pointer&&c.indexOf("touch")===0?_=zk(s,c,_):_e.touch&&c==="dblclick"?_=Yk(s,_):"addEventListener"in s?c==="touchstart"||c==="touchmove"||c==="wheel"||c==="mousewheel"?s.addEventListener(ef[c]||c,_,_e.passiveEvents?{passive:!1}:!1):c==="mouseenter"||c==="mouseleave"?(_=function(C){C=C||window.event,of(s,C)&&v(C)},s.addEventListener(ef[c],_,!1)):s.addEventListener(c,v,!1):s.attachEvent("on"+c,_),s[vn]=s[vn]||{},s[vn][m]=_}function nf(s,c,d,h,m){m=m||c+a(d)+(h?"_"+a(h):"");var _=s[vn]&&s[vn][m];if(!_)return this;!_e.touchNative&&_e.pointer&&c.indexOf("touch")===0?Hk(s,c,_):_e.touch&&c==="dblclick"?Qk(s,_):"removeEventListener"in s?s.removeEventListener(ef[c]||c,_,!1):s.detachEvent("on"+c,_),s[vn][m]=null}function Gr(s){return s.stopPropagation?s.stopPropagation():s.originalEvent?s.originalEvent._stopped=!0:s.cancelBubble=!0,this}function rf(s){return tf(s,"wheel",Gr),this}function ba(s){return Le(s,"mousedown touchstart dblclick contextmenu",Gr),s._leaflet_disable_click=!0,this}function Xt(s){return s.preventDefault?s.preventDefault():s.returnValue=!1,this}function qr(s){return Xt(s),Gr(s),this}function tv(s){if(s.composedPath)return s.composedPath();for(var c=[],d=s.target;d;)c.push(d),d=d.parentNode;return c}function iv(s,c){if(!c)return new O(s.clientX,s.clientY);var d=Jh(c),h=d.boundingClientRect;return new O((s.clientX-h.left)/d.x-c.clientLeft,(s.clientY-h.top)/d.y-c.clientTop)}var Jk=_e.linux&&_e.chrome?window.devicePixelRatio:_e.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function nv(s){return _e.edge?s.wheelDeltaY/2:s.deltaY&&s.deltaMode===0?-s.deltaY/Jk:s.deltaY&&s.deltaMode===1?-s.deltaY*20:s.deltaY&&s.deltaMode===2?-s.deltaY*60:s.deltaX||s.deltaZ?0:s.wheelDelta?(s.wheelDeltaY||s.wheelDelta)/2:s.detail&&Math.abs(s.detail)<32765?-s.detail*20:s.detail?s.detail/-32765*60:0}function of(s,c){var d=c.relatedTarget;if(!d)return!0;try{for(;d&&d!==s;)d=d.parentNode}catch{return!1}return d!==s}var eM={__proto__:null,on:Le,off:dt,stopPropagation:Gr,disableScrollPropagation:rf,disableClickPropagation:ba,preventDefault:Xt,stop:qr,getPropagationPath:tv,getMousePosition:iv,getWheelDelta:nv,isExternalTarget:of,addListener:Le,removeListener:dt},rv=pr.extend({run:function(s,c,d,h){this.stop(),this._el=s,this._inProgress=!0,this._duration=d||.25,this._easeOutPower=1/Math.max(h||.5,.2),this._startPos=Wr(s),this._offset=c.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=_t(this._animate,this),this._step()},_step:function(s){var c=+new Date-this._startTime,d=this._duration*1e3;c<d?this._runFrame(this._easeOut(c/d),s):(this._runFrame(1),this._complete())},_runFrame:function(s,c){var d=this._startPos.add(this._offset.multiplyBy(s));c&&d._round(),Ft(this._el,d),this.fire("step")},_complete:function(){St(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(s){return 1-Math.pow(1-s,this._easeOutPower)}}),Xe=pr.extend({options:{crs:Ur,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(s,c){c=y(this,c),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(s),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),c.maxBounds&&this.setMaxBounds(c.maxBounds),c.zoom!==void 0&&(this._zoom=this._limitZoom(c.zoom)),c.center&&c.zoom!==void 0&&this.setView(ue(c.center),c.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=fa&&_e.any3d&&!_e.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Le(this._proxy,Kb,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(s,c,d){if(c=c===void 0?this._zoom:this._limitZoom(c),s=this._limitCenter(ue(s),c,this.options.maxBounds),d=d||{},this._stop(),this._loaded&&!d.reset&&d!==!0){d.animate!==void 0&&(d.zoom=e({animate:d.animate},d.zoom),d.pan=e({animate:d.animate,duration:d.duration},d.pan));var h=this._zoom!==c?this._tryAnimatedZoom&&this._tryAnimatedZoom(s,c,d.zoom):this._tryAnimatedPan(s,d.pan);if(h)return clearTimeout(this._sizeTimer),this}return this._resetView(s,c,d.pan&&d.pan.noMoveStart),this},setZoom:function(s,c){return this._loaded?this.setView(this.getCenter(),s,{zoom:c}):(this._zoom=s,this)},zoomIn:function(s,c){return s=s||(_e.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+s,c)},zoomOut:function(s,c){return s=s||(_e.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-s,c)},setZoomAround:function(s,c,d){var h=this.getZoomScale(c),m=this.getSize().divideBy(2),_=s instanceof O?s:this.latLngToContainerPoint(s),v=_.subtract(m).multiplyBy(1-1/h),C=this.containerPointToLatLng(m.add(v));return this.setView(C,c,{zoom:d})},_getBoundsCenterZoom:function(s,c){c=c||{},s=s.getBounds?s.getBounds():Ke(s);var d=j(c.paddingTopLeft||c.padding||[0,0]),h=j(c.paddingBottomRight||c.padding||[0,0]),m=this.getBoundsZoom(s,!1,d.add(h));if(m=typeof c.maxZoom=="number"?Math.min(c.maxZoom,m):m,m===1/0)return{center:s.getCenter(),zoom:m};var _=h.subtract(d).divideBy(2),v=this.project(s.getSouthWest(),m),C=this.project(s.getNorthEast(),m),T=this.unproject(v.add(C).divideBy(2).add(_),m);return{center:T,zoom:m}},fitBounds:function(s,c){if(s=Ke(s),!s.isValid())throw new Error("Bounds are not valid.");var d=this._getBoundsCenterZoom(s,c);return this.setView(d.center,d.zoom,c)},fitWorld:function(s){return this.fitBounds([[-90,-180],[90,180]],s)},panTo:function(s,c){return this.setView(s,this._zoom,{pan:c})},panBy:function(s,c){if(s=j(s).round(),c=c||{},!s.x&&!s.y)return this.fire("moveend");if(c.animate!==!0&&!this.getSize().contains(s))return this._resetView(this.unproject(this.project(this.getCenter()).add(s)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new rv,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),c.noMoveStart||this.fire("movestart"),c.animate!==!1){Be(this._mapPane,"leaflet-pan-anim");var d=this._getMapPanePos().subtract(s).round();this._panAnim.run(this._mapPane,d,c.duration||.25,c.easeLinearity)}else this._rawPanBy(s),this.fire("move").fire("moveend");return this},flyTo:function(s,c,d){if(d=d||{},d.animate===!1||!_e.any3d)return this.setView(s,c,d);this._stop();var h=this.project(this.getCenter()),m=this.project(s),_=this.getSize(),v=this._zoom;s=ue(s),c=c===void 0?v:c;var C=Math.max(_.x,_.y),T=C*this.getZoomScale(v,c),P=m.distanceTo(h)||1,te=1.42,xe=te*te;function He(Nt){var bl=Nt?-1:1,HM=Nt?T:C,UM=T*T-C*C+bl*xe*xe*P*P,$M=2*HM*xe*P,gf=UM/$M,Vv=Math.sqrt(gf*gf+1)-gf,WM=Vv<1e-9?-18:Math.log(Vv);return WM}function hi(Nt){return(Math.exp(Nt)-Math.exp(-Nt))/2}function qt(Nt){return(Math.exp(Nt)+Math.exp(-Nt))/2}function Wi(Nt){return hi(Nt)/qt(Nt)}var vi=He(0);function Ko(Nt){return C*(qt(vi)/qt(vi+te*Nt))}function VM(Nt){return C*(qt(vi)*Wi(vi+te*Nt)-hi(vi))/xe}function jM(Nt){return 1-Math.pow(1-Nt,1.5)}var BM=Date.now(),Nv=(He(1)-vi)/te,zM=d.duration?1e3*d.duration:1e3*Nv*.8;function Lv(){var Nt=(Date.now()-BM)/zM,bl=jM(Nt)*Nv;Nt<=1?(this._flyToFrame=_t(Lv,this),this._move(this.unproject(h.add(m.subtract(h).multiplyBy(VM(bl)/P)),v),this.getScaleZoom(C/Ko(bl),v),{flyTo:!0})):this._move(s,c)._moveEnd(!0)}return this._moveStart(!0,d.noMoveStart),Lv.call(this),this},flyToBounds:function(s,c){var d=this._getBoundsCenterZoom(s,c);return this.flyTo(d.center,d.zoom,c)},setMaxBounds:function(s){return s=Ke(s),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),s.isValid()?(this.options.maxBounds=s,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(s){var c=this.options.minZoom;return this.options.minZoom=s,this._loaded&&c!==s&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(s):this},setMaxZoom:function(s){var c=this.options.maxZoom;return this.options.maxZoom=s,this._loaded&&c!==s&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(s):this},panInsideBounds:function(s,c){this._enforcingBounds=!0;var d=this.getCenter(),h=this._limitCenter(d,this._zoom,Ke(s));return d.equals(h)||this.panTo(h,c),this._enforcingBounds=!1,this},panInside:function(s,c){c=c||{};var d=j(c.paddingTopLeft||c.padding||[0,0]),h=j(c.paddingBottomRight||c.padding||[0,0]),m=this.project(this.getCenter()),_=this.project(s),v=this.getPixelBounds(),C=tt([v.min.add(d),v.max.subtract(h)]),T=C.getSize();if(!C.contains(_)){this._enforcingBounds=!0;var P=_.subtract(C.getCenter()),te=C.extend(_).getSize().subtract(T);m.x+=P.x<0?-te.x:te.x,m.y+=P.y<0?-te.y:te.y,this.panTo(this.unproject(m),c),this._enforcingBounds=!1}return this},invalidateSize:function(s){if(!this._loaded)return this;s=e({animate:!1,pan:!0},s===!0?{animate:!0}:s);var c=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var d=this.getSize(),h=c.divideBy(2).round(),m=d.divideBy(2).round(),_=h.subtract(m);return!_.x&&!_.y?this:(s.animate&&s.pan?this.panBy(_):(s.pan&&this._rawPanBy(_),this.fire("move"),s.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:c,newSize:d}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(s){if(s=this._locateOptions=e({timeout:1e4,watch:!1},s),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var c=r(this._handleGeolocationResponse,this),d=r(this._handleGeolocationError,this);return s.watch?this._locationWatchId=navigator.geolocation.watchPosition(c,d,s):navigator.geolocation.getCurrentPosition(c,d,s),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(s){if(this._container._leaflet_id){var c=s.code,d=s.message||(c===1?"permission denied":c===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:c,message:"Geolocation error: "+d+"."})}},_handleGeolocationResponse:function(s){if(this._container._leaflet_id){var c=s.coords.latitude,d=s.coords.longitude,h=new $e(c,d),m=h.toBounds(s.coords.accuracy*2),_=this._locateOptions;if(_.setView){var v=this.getBoundsZoom(m);this.setView(h,_.maxZoom?Math.min(v,_.maxZoom):v)}var C={latlng:h,bounds:m,timestamp:s.timestamp};for(var T in s.coords)typeof s.coords[T]=="number"&&(C[T]=s.coords[T]);this.fire("locationfound",C)}},addHandler:function(s,c){if(!c)return this;var d=this[s]=new c(this);return this._handlers.push(d),this.options[s]&&d.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Dt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(St(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var s;for(s in this._layers)this._layers[s].remove();for(s in this._panes)Dt(this._panes[s]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(s,c){var d="leaflet-pane"+(s?" leaflet-"+s.replace("Pane","")+"-pane":""),h=it("div",d,c||this._mapPane);return s&&(this._panes[s]=h),h},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var s=this.getPixelBounds(),c=this.unproject(s.getBottomLeft()),d=this.unproject(s.getTopRight());return new mt(c,d)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(s,c,d){s=Ke(s),d=j(d||[0,0]);var h=this.getZoom()||0,m=this.getMinZoom(),_=this.getMaxZoom(),v=s.getNorthWest(),C=s.getSouthEast(),T=this.getSize().subtract(d),P=tt(this.project(C,h),this.project(v,h)).getSize(),te=_e.any3d?this.options.zoomSnap:1,xe=T.x/P.x,He=T.y/P.y,hi=c?Math.max(xe,He):Math.min(xe,He);return h=this.getScaleZoom(hi,h),te&&(h=Math.round(h/(te/100))*(te/100),h=c?Math.ceil(h/te)*te:Math.floor(h/te)*te),Math.max(m,Math.min(_,h))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new O(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(s,c){var d=this._getTopLeftPoint(s,c);return new fe(d,d.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(s){return this.options.crs.getProjectedBounds(s===void 0?this.getZoom():s)},getPane:function(s){return typeof s=="string"?this._panes[s]:s},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(s,c){var d=this.options.crs;return c=c===void 0?this._zoom:c,d.scale(s)/d.scale(c)},getScaleZoom:function(s,c){var d=this.options.crs;c=c===void 0?this._zoom:c;var h=d.zoom(s*d.scale(c));return isNaN(h)?1/0:h},project:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.latLngToPoint(ue(s),c)},unproject:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.pointToLatLng(j(s),c)},layerPointToLatLng:function(s){var c=j(s).add(this.getPixelOrigin());return this.unproject(c)},latLngToLayerPoint:function(s){var c=this.project(ue(s))._round();return c._subtract(this.getPixelOrigin())},wrapLatLng:function(s){return this.options.crs.wrapLatLng(ue(s))},wrapLatLngBounds:function(s){return this.options.crs.wrapLatLngBounds(Ke(s))},distance:function(s,c){return this.options.crs.distance(ue(s),ue(c))},containerPointToLayerPoint:function(s){return j(s).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(s){return j(s).add(this._getMapPanePos())},containerPointToLatLng:function(s){var c=this.containerPointToLayerPoint(j(s));return this.layerPointToLatLng(c)},latLngToContainerPoint:function(s){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ue(s)))},mouseEventToContainerPoint:function(s){return iv(s,this._container)},mouseEventToLayerPoint:function(s){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(s))},mouseEventToLatLng:function(s){return this.layerPointToLatLng(this.mouseEventToLayerPoint(s))},_initContainer:function(s){var c=this._container=Xb(s);if(c){if(c._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Le(c,"scroll",this._onScroll,this),this._containerId=a(c)},_initLayout:function(){var s=this._container;this._fadeAnimated=this.options.fadeAnimation&&_e.any3d,Be(s,"leaflet-container"+(_e.touch?" leaflet-touch":"")+(_e.retina?" leaflet-retina":"")+(_e.ielt9?" leaflet-oldie":"")+(_e.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var c=ma(s,"position");c!=="absolute"&&c!=="relative"&&c!=="fixed"&&c!=="sticky"&&(s.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var s=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Ft(this._mapPane,new O(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Be(s.markerPane,"leaflet-zoom-hide"),Be(s.shadowPane,"leaflet-zoom-hide"))},_resetView:function(s,c,d){Ft(this._mapPane,new O(0,0));var h=!this._loaded;this._loaded=!0,c=this._limitZoom(c),this.fire("viewprereset");var m=this._zoom!==c;this._moveStart(m,d)._move(s,c)._moveEnd(m),this.fire("viewreset"),h&&this.fire("load")},_moveStart:function(s,c){return s&&this.fire("zoomstart"),c||this.fire("movestart"),this},_move:function(s,c,d,h){c===void 0&&(c=this._zoom);var m=this._zoom!==c;return this._zoom=c,this._lastCenter=s,this._pixelOrigin=this._getNewPixelOrigin(s),h?d&&d.pinch&&this.fire("zoom",d):((m||d&&d.pinch)&&this.fire("zoom",d),this.fire("move",d)),this},_moveEnd:function(s){return s&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return St(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(s){Ft(this._mapPane,this._getMapPanePos().subtract(s))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(s){this._targets={},this._targets[a(this._container)]=this;var c=s?dt:Le;c(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&c(window,"resize",this._onResize,this),_e.any3d&&this.options.transform3DLimit&&(s?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){St(this._resizeRequest),this._resizeRequest=_t(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var s=this._getMapPanePos();Math.max(Math.abs(s.x),Math.abs(s.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(s,c){for(var d=[],h,m=c==="mouseout"||c==="mouseover",_=s.target||s.srcElement,v=!1;_;){if(h=this._targets[a(_)],h&&(c==="click"||c==="preclick")&&this._draggableMoved(h)){v=!0;break}if(h&&h.listens(c,!0)&&(m&&!of(_,s)||(d.push(h),m))||_===this._container)break;_=_.parentNode}return!d.length&&!v&&!m&&this.listens(c,!0)&&(d=[this]),d},_isClickDisabled:function(s){for(;s&&s!==this._container;){if(s._leaflet_disable_click)return!0;s=s.parentNode}},_handleDOMEvent:function(s){var c=s.target||s.srcElement;if(!(!this._loaded||c._leaflet_disable_events||s.type==="click"&&this._isClickDisabled(c))){var d=s.type;d==="mousedown"&&Xh(c),this._fireDOMEvent(s,d)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(s,c,d){if(s.type==="click"){var h=e({},s);h.type="preclick",this._fireDOMEvent(h,h.type,d)}var m=this._findEventTargets(s,c);if(d){for(var _=[],v=0;v<d.length;v++)d[v].listens(c,!0)&&_.push(d[v]);m=_.concat(m)}if(m.length){c==="contextmenu"&&Xt(s);var C=m[0],T={originalEvent:s};if(s.type!=="keypress"&&s.type!=="keydown"&&s.type!=="keyup"){var P=C.getLatLng&&(!C._radius||C._radius<=10);T.containerPoint=P?this.latLngToContainerPoint(C.getLatLng()):this.mouseEventToContainerPoint(s),T.layerPoint=this.containerPointToLayerPoint(T.containerPoint),T.latlng=P?C.getLatLng():this.layerPointToLatLng(T.layerPoint)}for(v=0;v<m.length;v++)if(m[v].fire(c,T,!0),T.originalEvent._stopped||m[v].options.bubblingMouseEvents===!1&&je(this._mouseEvents,c)!==-1)return}},_draggableMoved:function(s){return s=s.dragging&&s.dragging.enabled()?s:this,s.dragging&&s.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var s=0,c=this._handlers.length;s<c;s++)this._handlers[s].disable()},whenReady:function(s,c){return this._loaded?s.call(c||this,{target:this}):this.on("load",s,c),this},_getMapPanePos:function(){return Wr(this._mapPane)||new O(0,0)},_moved:function(){var s=this._getMapPanePos();return s&&!s.equals([0,0])},_getTopLeftPoint:function(s,c){var d=s&&c!==void 0?this._getNewPixelOrigin(s,c):this.getPixelOrigin();return d.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(s,c){var d=this.getSize()._divideBy(2);return this.project(s,c)._subtract(d)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(s,c,d){var h=this._getNewPixelOrigin(d,c);return this.project(s,c)._subtract(h)},_latLngBoundsToNewLayerBounds:function(s,c,d){var h=this._getNewPixelOrigin(d,c);return tt([this.project(s.getSouthWest(),c)._subtract(h),this.project(s.getNorthWest(),c)._subtract(h),this.project(s.getSouthEast(),c)._subtract(h),this.project(s.getNorthEast(),c)._subtract(h)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(s){return this.latLngToLayerPoint(s).subtract(this._getCenterLayerPoint())},_limitCenter:function(s,c,d){if(!d)return s;var h=this.project(s,c),m=this.getSize().divideBy(2),_=new fe(h.subtract(m),h.add(m)),v=this._getBoundsOffset(_,d,c);return Math.abs(v.x)<=1&&Math.abs(v.y)<=1?s:this.unproject(h.add(v),c)},_limitOffset:function(s,c){if(!c)return s;var d=this.getPixelBounds(),h=new fe(d.min.add(s),d.max.add(s));return s.add(this._getBoundsOffset(h,c))},_getBoundsOffset:function(s,c,d){var h=tt(this.project(c.getNorthEast(),d),this.project(c.getSouthWest(),d)),m=h.min.subtract(s.min),_=h.max.subtract(s.max),v=this._rebound(m.x,-_.x),C=this._rebound(m.y,-_.y);return new O(v,C)},_rebound:function(s,c){return s+c>0?Math.round(s-c)/2:Math.max(0,Math.ceil(s))-Math.max(0,Math.floor(c))},_limitZoom:function(s){var c=this.getMinZoom(),d=this.getMaxZoom(),h=_e.any3d?this.options.zoomSnap:1;return h&&(s=Math.round(s/h)*h),Math.max(c,Math.min(d,s))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Tt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(s,c){var d=this._getCenterOffset(s)._trunc();return(c&&c.animate)!==!0&&!this.getSize().contains(d)?!1:(this.panBy(d,c),!0)},_createAnimProxy:function(){var s=this._proxy=it("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(s),this.on("zoomanim",function(c){var d=Wh,h=this._proxy.style[d];$r(this._proxy,this.project(c.center,c.zoom),this.getZoomScale(c.zoom,1)),h===this._proxy.style[d]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Dt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var s=this.getCenter(),c=this.getZoom();$r(this._proxy,this.project(s,c),this.getZoomScale(c,1))},_catchTransitionEnd:function(s){this._animatingZoom&&s.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(s,c,d){if(this._animatingZoom)return!0;if(d=d||{},!this._zoomAnimated||d.animate===!1||this._nothingToAnimate()||Math.abs(c-this._zoom)>this.options.zoomAnimationThreshold)return!1;var h=this.getZoomScale(c),m=this._getCenterOffset(s)._divideBy(1-1/h);return d.animate!==!0&&!this.getSize().contains(m)?!1:(_t(function(){this._moveStart(!0,d.noMoveStart||!1)._animateZoom(s,c,!0)},this),!0)},_animateZoom:function(s,c,d,h){this._mapPane&&(d&&(this._animatingZoom=!0,this._animateToCenter=s,this._animateToZoom=c,Be(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:s,zoom:c,noUpdate:h}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Tt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function tM(s,c){return new Xe(s,c)}var Ji=Kt.extend({options:{position:"topright"},initialize:function(s){y(this,s)},getPosition:function(){return this.options.position},setP