vue-geojson-view-ts 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,448 @@
1
- (function(pt,W){typeof exports=="object"&&typeof module<"u"?W(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],W):(pt=typeof globalThis<"u"?globalThis:pt||self,W(pt.vueGeojsonViewTs={},pt.Vue))})(this,function(pt,W){"use strict";var Ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function tn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function en(s){if(s.__esModule)return s;var a=s.default;if(typeof a=="function"){var h=function u(){return this instanceof u?Reflect.construct(a,arguments,this.constructor):a.apply(this,arguments)};h.prototype=a.prototype}else h={};return Object.defineProperty(h,"__esModule",{value:!0}),Object.keys(s).forEach(function(u){var n=Object.getOwnPropertyDescriptor(s,u);Object.defineProperty(h,u,n.get?n:{enumerable:!0,get:function(){return s[u]}})}),h}var nn={exports:{}};function lr(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ni={exports:{}};const hr=en(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var on;function rn(){return on||(on=1,function(s,a){(function(h,u){s.exports=u()})(Ct,function(){var h=h||function(u,n){var o;if(typeof window<"u"&&window.crypto&&(o=window.crypto),typeof self<"u"&&self.crypto&&(o=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window<"u"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof Ct<"u"&&Ct.crypto&&(o=Ct.crypto),!o&&typeof lr=="function")try{o=hr}catch{}var c=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},f=Object.create||function(){function x(){}return function(M){var I;return x.prototype=M,I=new x,x.prototype=null,I}}(),_={},v=_.lib={},m=v.Base=function(){return{extend:function(x){var M=f(this);return x&&M.mixIn(x),(!M.hasOwnProperty("init")||this.init===M.init)&&(M.init=function(){M.$super.init.apply(this,arguments)}),M.init.prototype=M,M.$super=this,M},create:function(){var x=this.extend();return x.init.apply(x,arguments),x},init:function(){},mixIn:function(x){for(var M in x)x.hasOwnProperty(M)&&(this[M]=x[M]);x.hasOwnProperty("toString")&&(this.toString=x.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),w=v.WordArray=m.extend({init:function(x,M){x=this.words=x||[],M!=n?this.sigBytes=M:this.sigBytes=x.length*4},toString:function(x){return(x||O).stringify(this)},concat:function(x){var M=this.words,I=x.words,B=this.sigBytes,V=x.sigBytes;if(this.clamp(),B%4)for(var Q=0;Q<V;Q++){var Yt=I[Q>>>2]>>>24-Q%4*8&255;M[B+Q>>>2]|=Yt<<24-(B+Q)%4*8}else for(var ct=0;ct<V;ct+=4)M[B+ct>>>2]=I[ct>>>2];return this.sigBytes+=V,this},clamp:function(){var x=this.words,M=this.sigBytes;x[M>>>2]&=4294967295<<32-M%4*8,x.length=u.ceil(M/4)},clone:function(){var x=m.clone.call(this);return x.words=this.words.slice(0),x},random:function(x){for(var M=[],I=0;I<x;I+=4)M.push(c());return new w.init(M,x)}}),T=_.enc={},O=T.Hex={stringify:function(x){for(var M=x.words,I=x.sigBytes,B=[],V=0;V<I;V++){var Q=M[V>>>2]>>>24-V%4*8&255;B.push((Q>>>4).toString(16)),B.push((Q&15).toString(16))}return B.join("")},parse:function(x){for(var M=x.length,I=[],B=0;B<M;B+=2)I[B>>>3]|=parseInt(x.substr(B,2),16)<<24-B%8*4;return new w.init(I,M/2)}},k=T.Latin1={stringify:function(x){for(var M=x.words,I=x.sigBytes,B=[],V=0;V<I;V++){var Q=M[V>>>2]>>>24-V%4*8&255;B.push(String.fromCharCode(Q))}return B.join("")},parse:function(x){for(var M=x.length,I=[],B=0;B<M;B++)I[B>>>2]|=(x.charCodeAt(B)&255)<<24-B%4*8;return new w.init(I,M)}},b=T.Utf8={stringify:function(x){try{return decodeURIComponent(escape(k.stringify(x)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(x){return k.parse(unescape(encodeURIComponent(x)))}},C=v.BufferedBlockAlgorithm=m.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(x){typeof x=="string"&&(x=b.parse(x)),this._data.concat(x),this._nDataBytes+=x.sigBytes},_process:function(x){var M,I=this._data,B=I.words,V=I.sigBytes,Q=this.blockSize,Yt=Q*4,ct=V/Yt;x?ct=u.ceil(ct):ct=u.max((ct|0)-this._minBufferSize,0);var Ht=ct*Q,st=u.min(Ht*4,V);if(Ht){for(var lt=0;lt<Ht;lt+=Q)this._doProcessBlock(B,lt);M=B.splice(0,Ht),I.sigBytes-=st}return new w.init(M,st)},clone:function(){var x=m.clone.call(this);return x._data=this._data.clone(),x},_minBufferSize:0});v.Hasher=C.extend({cfg:m.extend(),init:function(x){this.cfg=this.cfg.extend(x),this.reset()},reset:function(){C.reset.call(this),this._doReset()},update:function(x){return this._append(x),this._process(),this},finalize:function(x){x&&this._append(x);var M=this._doFinalize();return M},blockSize:16,_createHelper:function(x){return function(M,I){return new x.init(I).finalize(M)}},_createHmacHelper:function(x){return function(M,I){return new D.HMAC.init(x,I).finalize(M)}}});var D=_.algo={};return _}(Math);return h})}(ni)),ni.exports}(function(s,a){(function(h,u){s.exports=u(rn())})(Ct,function(h){return function(){var u=h,n=u.lib,o=n.WordArray,c=u.enc;c.Base64={stringify:function(_){var v=_.words,m=_.sigBytes,w=this._map;_.clamp();for(var T=[],O=0;O<m;O+=3)for(var k=v[O>>>2]>>>24-O%4*8&255,b=v[O+1>>>2]>>>24-(O+1)%4*8&255,C=v[O+2>>>2]>>>24-(O+2)%4*8&255,D=k<<16|b<<8|C,x=0;x<4&&O+x*.75<m;x++)T.push(w.charAt(D>>>6*(3-x)&63));var M=w.charAt(64);if(M)for(;T.length%4;)T.push(M);return T.join("")},parse:function(_){var v=_.length,m=this._map,w=this._reverseMap;if(!w){w=this._reverseMap=[];for(var T=0;T<m.length;T++)w[m.charCodeAt(T)]=T}var O=m.charAt(64);if(O){var k=_.indexOf(O);k!==-1&&(v=k)}return f(_,v,w)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function f(_,v,m){for(var w=[],T=0,O=0;O<v;O++)if(O%4){var k=m[_.charCodeAt(O-1)]<<O%4*2,b=m[_.charCodeAt(O)]>>>6-O%4*2,C=k|b;w[T>>>2]|=C<<24-T%4*8,T++}return o.create(w,T)}}(),h.enc.Base64})})(nn);var cr=nn.exports;const oi=tn(cr);var sn={exports:{}};(function(s,a){(function(h,u){s.exports=u(rn())})(Ct,function(h){return h.enc.Utf8})})(sn);var ur=sn.exports;const an=tn(ur),dr=(s,a)=>{localStorage.setItem(s,oi.stringify(an.parse(a)))},Pe=s=>{const a=localStorage.getItem(s);return a?oi.parse(a).toString(an):null},ln=s=>{const a=localStorage.getItem(s);return a?oi.parse(a):null},Ee=s=>{localStorage.removeItem(s)};function fr(){const s=document.createElement("div");return s.className="loading-overlay",s.innerHTML="Recuperando Datos de Google Maps",s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.width="100%",s.style.height="100%",s.style.backgroundColor="rgba(255, 255, 255)",s.style.display="flex",s.style.justifyContent="center",s.style.alignItems="center",s.style.color="#000",s.style.fontSize="24px",s.style.zIndex="999999",document.body.appendChild(s),s}function pr(s){s&&s.remove()}const mr=()=>{const a=window.location.href.split("?")[1],h=new URLSearchParams(a),u=Object.fromEntries(h.entries());if(u.coordinates){const n=fr();setTimeout(function(){dr("coordinates",u.coordinates.replace("#/",""))},4e3),setTimeout(function(){window.close(),pr(n)},5e3)}},_r=async()=>{window.open("https://www.google.com/maps/?hl=es","Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),Ee("coordinates"),Ee("closePopup");var s=!1;const a=setInterval(function(){let n=Pe("coordinates"),o=ln("closePopup");(n||o)&&(clearInterval(a),s=!0)},1e3);await(async()=>{for(;!s;)await new Promise(n=>setTimeout(n,100));return!0})();let u=Pe("coordinates");if(u){const n=JSON.parse(u);return[parseFloat(n.lat),parseFloat(n.long),parseFloat(n.z)]}},gr=async s=>{window.open(`http://maps.google.com/?q=${s}`,"Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),Ee("coordinates"),Ee("closePopup");var a=!1;const h=setInterval(function(){let o=Pe("coordinates"),c=ln("closePopup");(o||c)&&(clearInterval(h),a=!0)},1e3);await(async()=>{for(;!a;)await new Promise(o=>setTimeout(o,100));return!0})();let n=Pe("coordinates");if(n){const o=JSON.parse(n);return[parseFloat(o.lat),parseFloat(o.long),parseFloat(o.z)]}},Me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=";var Te={exports:{}};/* @preserve
1
+ (function(de,G){typeof exports=="object"&&typeof module<"u"?G(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],G):(de=typeof globalThis<"u"?globalThis:de||self,G(de.vueGeojsonViewTs={},de.Vue))})(this,function(de,G){"use strict";var qe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ph(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function mh(r){if(r.__esModule)return r;var t=r.default;if(typeof t=="function"){var e=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(r).forEach(function(i){var n=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return r[i]}})}),e}var yh={exports:{}};function $f(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var qo={exports:{}};const Jf=mh(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var vh;function xh(){return vh||(vh=1,function(r,t){(function(e,i){r.exports=i()})(qe,function(){var e=e||function(i,n){var o;if(typeof window<"u"&&window.crypto&&(o=window.crypto),typeof self<"u"&&self.crypto&&(o=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window<"u"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof qe<"u"&&qe.crypto&&(o=qe.crypto),!o&&typeof $f=="function")try{o=Jf}catch{}var a=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},h=Object.create||function(){function w(){}return function(T){var P;return w.prototype=T,P=new w,w.prototype=null,P}}(),c={},d=c.lib={},f=d.Base=function(){return{extend:function(w){var T=h(this);return w&&T.mixIn(w),(!T.hasOwnProperty("init")||this.init===T.init)&&(T.init=function(){T.$super.init.apply(this,arguments)}),T.init.prototype=T,T.$super=this,T},create:function(){var w=this.extend();return w.init.apply(w,arguments),w},init:function(){},mixIn:function(w){for(var T in w)w.hasOwnProperty(T)&&(this[T]=w[T]);w.hasOwnProperty("toString")&&(this.toString=w.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),_=d.WordArray=f.extend({init:function(w,T){w=this.words=w||[],T!=n?this.sigBytes=T:this.sigBytes=w.length*4},toString:function(w){return(w||v).stringify(this)},concat:function(w){var T=this.words,P=w.words,M=this.sigBytes,I=w.sigBytes;if(this.clamp(),M%4)for(var D=0;D<I;D++){var z=P[D>>>2]>>>24-D%4*8&255;T[M+D>>>2]|=z<<24-(M+D)%4*8}else for(var W=0;W<I;W+=4)T[M+W>>>2]=P[W>>>2];return this.sigBytes+=I,this},clamp:function(){var w=this.words,T=this.sigBytes;w[T>>>2]&=4294967295<<32-T%4*8,w.length=i.ceil(T/4)},clone:function(){var w=f.clone.call(this);return w.words=this.words.slice(0),w},random:function(w){for(var T=[],P=0;P<w;P+=4)T.push(a());return new _.init(T,w)}}),m=c.enc={},v=m.Hex={stringify:function(w){for(var T=w.words,P=w.sigBytes,M=[],I=0;I<P;I++){var D=T[I>>>2]>>>24-I%4*8&255;M.push((D>>>4).toString(16)),M.push((D&15).toString(16))}return M.join("")},parse:function(w){for(var T=w.length,P=[],M=0;M<T;M+=2)P[M>>>3]|=parseInt(w.substr(M,2),16)<<24-M%8*4;return new _.init(P,T/2)}},y=m.Latin1={stringify:function(w){for(var T=w.words,P=w.sigBytes,M=[],I=0;I<P;I++){var D=T[I>>>2]>>>24-I%4*8&255;M.push(String.fromCharCode(D))}return M.join("")},parse:function(w){for(var T=w.length,P=[],M=0;M<T;M++)P[M>>>2]|=(w.charCodeAt(M)&255)<<24-M%4*8;return new _.init(P,T)}},E=m.Utf8={stringify:function(w){try{return decodeURIComponent(escape(y.stringify(w)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(w){return y.parse(unescape(encodeURIComponent(w)))}},b=d.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new _.init,this._nDataBytes=0},_append:function(w){typeof w=="string"&&(w=E.parse(w)),this._data.concat(w),this._nDataBytes+=w.sigBytes},_process:function(w){var T,P=this._data,M=P.words,I=P.sigBytes,D=this.blockSize,z=D*4,W=I/z;w?W=i.ceil(W):W=i.max((W|0)-this._minBufferSize,0);var K=W*D,Q=i.min(K*4,I);if(K){for(var q=0;q<K;q+=D)this._doProcessBlock(M,q);T=M.splice(0,K),P.sigBytes-=Q}return new _.init(T,Q)},clone:function(){var w=f.clone.call(this);return w._data=this._data.clone(),w},_minBufferSize:0});d.Hasher=b.extend({cfg:f.extend(),init:function(w){this.cfg=this.cfg.extend(w),this.reset()},reset:function(){b.reset.call(this),this._doReset()},update:function(w){return this._append(w),this._process(),this},finalize:function(w){w&&this._append(w);var T=this._doFinalize();return T},blockSize:16,_createHelper:function(w){return function(T,P){return new w.init(P).finalize(T)}},_createHmacHelper:function(w){return function(T,P){return new S.HMAC.init(w,P).finalize(T)}}});var S=c.algo={};return c}(Math);return e})}(qo)),qo.exports}(function(r,t){(function(e,i){r.exports=i(xh())})(qe,function(e){return function(){var i=e,n=i.lib,o=n.WordArray,a=i.enc;a.Base64={stringify:function(c){var d=c.words,f=c.sigBytes,_=this._map;c.clamp();for(var m=[],v=0;v<f;v+=3)for(var y=d[v>>>2]>>>24-v%4*8&255,E=d[v+1>>>2]>>>24-(v+1)%4*8&255,b=d[v+2>>>2]>>>24-(v+2)%4*8&255,S=y<<16|E<<8|b,w=0;w<4&&v+w*.75<f;w++)m.push(_.charAt(S>>>6*(3-w)&63));var T=_.charAt(64);if(T)for(;m.length%4;)m.push(T);return m.join("")},parse:function(c){var d=c.length,f=this._map,_=this._reverseMap;if(!_){_=this._reverseMap=[];for(var m=0;m<f.length;m++)_[f.charCodeAt(m)]=m}var v=f.charAt(64);if(v){var y=c.indexOf(v);y!==-1&&(d=y)}return h(c,d,_)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function h(c,d,f){for(var _=[],m=0,v=0;v<d;v++)if(v%4){var y=f[c.charCodeAt(v-1)]<<v%4*2,E=f[c.charCodeAt(v)]>>>6-v%4*2,b=y|E;_[m>>>2]|=b<<24-m%4*8,m++}return o.create(_,m)}}(),e.enc.Base64})})(yh);var Qf=yh.exports;const $o=ph(Qf);var Eh={exports:{}};(function(r,t){(function(e,i){r.exports=i(xh())})(qe,function(e){return e.enc.Utf8})})(Eh);var tg=Eh.exports;const wh=ph(tg),eg=(r,t)=>{localStorage.setItem(r,$o.stringify(wh.parse(t)))},ns=r=>{const t=localStorage.getItem(r);return t?$o.parse(t).toString(wh):null},Lh=r=>{const t=localStorage.getItem(r);return t?$o.parse(t):null},rs=r=>{localStorage.removeItem(r)};function ig(){const r=document.createElement("div");return r.className="loading-overlay",r.innerHTML="Recuperando Datos de Google Maps",r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="rgba(255, 255, 255)",r.style.display="flex",r.style.justifyContent="center",r.style.alignItems="center",r.style.color="#000",r.style.fontSize="24px",r.style.zIndex="999999",document.body.appendChild(r),r}function ng(r){r&&r.remove()}const rg=()=>{const t=window.location.href.split("?")[1],e=new URLSearchParams(t),i=Object.fromEntries(e.entries());if(i.coordinates){const n=ig();setTimeout(function(){eg("coordinates",i.coordinates.replace("#/",""))},4e3),setTimeout(function(){window.close(),ng(n)},5e3)}},sg=async()=>{window.open("https://www.google.com/maps/?hl=es","Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),rs("coordinates"),rs("closePopup");var r=!1;const t=setInterval(function(){let n=ns("coordinates"),o=Lh("closePopup");(n||o)&&(clearInterval(t),r=!0)},1e3);await(async()=>{for(;!r;)await new Promise(n=>setTimeout(n,100));return!0})();let i=ns("coordinates");if(i){const n=JSON.parse(i);return[parseFloat(n.lat),parseFloat(n.long),parseFloat(n.z)]}},og=async r=>{window.open(`http://maps.google.com/?q=${r}`,"Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),rs("coordinates"),rs("closePopup");var t=!1;const e=setInterval(function(){let o=ns("coordinates"),a=Lh("closePopup");(o||a)&&(clearInterval(e),t=!0)},1e3);await(async()=>{for(;!t;)await new Promise(o=>setTimeout(o,100));return!0})();let n=ns("coordinates");if(n){const o=JSON.parse(n);return[parseFloat(o.lat),parseFloat(o.long),parseFloat(o.z)]}},Jo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=";var ss={exports:{}};/* @preserve
2
2
  * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
3
3
  * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
4
- */var hn;function cn(){return hn||(hn=1,function(s,a){(function(h,u){u(a)})(Ct,function(h){var u="1.9.4";function n(t){var e,i,r,l;for(i=1,r=arguments.length;i<r;i++){l=arguments[i];for(e in l)t[e]=l[e]}return t}var o=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function c(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var r=i.call(arguments,2);return function(){return t.apply(e,r.length?r.concat(i.call(arguments)):arguments)}}var f=0;function _(t){return"_leaflet_id"in t||(t._leaflet_id=++f),t._leaflet_id}function v(t,e,i){var r,l,d,p;return p=function(){r=!1,l&&(d.apply(i,l),l=!1)},d=function(){r?l=arguments:(t.apply(i,arguments),setTimeout(p,e),r=!0)},d}function m(t,e,i){var r=e[1],l=e[0],d=r-l;return t===r&&i?t:((t-l)%d+d)%d+l}function w(){return!1}function T(t,e){if(e===!1)return t;var i=Math.pow(10,e===void 0?6:e);return Math.round(t*i)/i}function O(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function k(t){return O(t).split(/\s+/)}function b(t,e){Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?o(t.options):{});for(var i in e)t.options[i]=e[i];return t.options}function C(t,e,i){var r=[];for(var l in t)r.push(encodeURIComponent(i?l.toUpperCase():l)+"="+encodeURIComponent(t[l]));return(!e||e.indexOf("?")===-1?"?":"&")+r.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function x(t,e){return t.replace(D,function(i,r){var l=e[r];if(l===void 0)throw new Error("No value provided for variable "+i);return typeof l=="function"&&(l=l(e)),l})}var M=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};function I(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var B="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var Q=0;function Yt(t){var e=+new Date,i=Math.max(0,16-(e-Q));return Q=e+i,window.setTimeout(t,i)}var ct=window.requestAnimationFrame||V("RequestAnimationFrame")||Yt,Ht=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function st(t,e,i){if(i&&ct===Yt)t.call(e);else return ct.call(window,c(t,e))}function lt(t){t&&Ht.call(window,t)}var ga={__proto__:null,extend:n,create:o,bind:c,get lastId(){return f},stamp:_,throttle:v,wrapNum:m,falseFn:w,formatNum:T,trim:O,splitWords:k,setOptions:b,getParamString:C,template:x,isArray:M,indexOf:I,emptyImageUrl:B,requestFn:ct,cancelFn:Ht,requestAnimFrame:st,cancelAnimFrame:lt};function Dt(){}Dt.extend=function(t){var e=function(){b(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},i=e.__super__=this.prototype,r=o(i);r.constructor=e,e.prototype=r;for(var l in this)Object.prototype.hasOwnProperty.call(this,l)&&l!=="prototype"&&l!=="__super__"&&(e[l]=this[l]);return t.statics&&n(e,t.statics),t.includes&&(va(t.includes),n.apply(null,[r].concat(t.includes))),n(r,t),delete r.statics,delete r.includes,r.options&&(r.options=i.options?o(i.options):{},n(r.options,t.options)),r._initHooks=[],r.callInitHooks=function(){if(!this._initHooksCalled){i.callInitHooks&&i.callInitHooks.call(this),this._initHooksCalled=!0;for(var d=0,p=r._initHooks.length;d<p;d++)r._initHooks[d].call(this)}},e},Dt.include=function(t){var e=this.prototype.options;return n(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},Dt.mergeOptions=function(t){return n(this.prototype.options,t),this},Dt.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i=typeof t=="function"?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};function va(t){if(!(typeof L>"u"||!L||!L.Mixin)){t=M(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===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 _t={on:function(t,e,i){if(typeof t=="object")for(var r in t)this._on(r,t[r],e);else{t=k(t);for(var l=0,d=t.length;l<d;l++)this._on(t[l],e,i)}return this},off:function(t,e,i){if(!arguments.length)delete this._events;else if(typeof t=="object")for(var r in t)this._off(r,t[r],e);else{t=k(t);for(var l=arguments.length===1,d=0,p=t.length;d<p;d++)l?this._off(t[d]):this._off(t[d],e,i)}return this},_on:function(t,e,i,r){if(typeof e!="function"){console.warn("wrong listener type: "+typeof e);return}if(this._listens(t,e,i)===!1){i===this&&(i=void 0);var l={fn:e,ctx:i};r&&(l.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(l)}},_off:function(t,e,i){var r,l,d;if(this._events&&(r=this._events[t],!!r)){if(arguments.length===1){if(this._firingCount)for(l=0,d=r.length;l<d;l++)r[l].fn=w;delete this._events[t];return}if(typeof e!="function"){console.warn("wrong listener type: "+typeof e);return}var p=this._listens(t,e,i);if(p!==!1){var g=r[p];this._firingCount&&(g.fn=w,this._events[t]=r=r.slice()),r.splice(p,1)}}},fire:function(t,e,i){if(!this.listens(t,i))return this;var r=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var l=this._events[t];if(l){this._firingCount=this._firingCount+1||1;for(var d=0,p=l.length;d<p;d++){var g=l[d],y=g.fn;g.once&&this.off(t,y,g.ctx),y.call(g.ctx||this,r)}this._firingCount--}}return i&&this._propagateEvent(r),this},listens:function(t,e,i,r){typeof t!="string"&&console.warn('"string" type argument expected');var l=e;typeof e!="function"&&(r=!!e,l=void 0,i=void 0);var d=this._events&&this._events[t];if(d&&d.length&&this._listens(t,l,i)!==!1)return!0;if(r){for(var p in this._eventParents)if(this._eventParents[p].listens(t,e,i,r))return!0}return!1},_listens:function(t,e,i){if(!this._events)return!1;var r=this._events[t]||[];if(!e)return!!r.length;i===this&&(i=void 0);for(var l=0,d=r.length;l<d;l++)if(r[l].fn===e&&r[l].ctx===i)return l;return!1},once:function(t,e,i){if(typeof t=="object")for(var r in t)this._on(r,t[r],e,!0);else{t=k(t);for(var l=0,d=t.length;l<d;l++)this._on(t[l],e,i,!0)}return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[_(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[_(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};_t.addEventListener=_t.on,_t.removeEventListener=_t.clearAllEventListeners=_t.off,_t.addOneTimeEventListener=_t.once,_t.fireEvent=_t.fire,_t.hasEventListeners=_t.listens;var ce=Dt.extend(_t);function N(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var Yn=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};N.prototype={clone:function(){return new N(this.x,this.y)},add:function(t){return this.clone()._add(R(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(R(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new N(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new N(this.x/t.x,this.y/t.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=Yn(this.x),this.y=Yn(this.y),this},distanceTo:function(t){t=R(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=R(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=R(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+T(this.x)+", "+T(this.y)+")"}};function R(t,e,i){return t instanceof N?t:M(t)?new N(t[0],t[1]):t==null?t:typeof t=="object"&&"x"in t&&"y"in t?new N(t.x,t.y):new N(t,e,i)}function X(t,e){if(t)for(var i=e?[t,e]:t,r=0,l=i.length;r<l;r++)this.extend(i[r])}X.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof N||typeof t[0]=="number"||"x"in t)e=i=R(t);else if(t=ut(t),e=t.min,i=t.max,!e||!i)return this;return!this.min&&!this.max?(this.min=e.clone(),this.max=i.clone()):(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)),this},getCenter:function(t){return R((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return R(this.min.x,this.max.y)},getTopRight:function(){return R(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(t){var e,i;return typeof t[0]=="number"||t instanceof N?t=R(t):t=ut(t),t instanceof X?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=ut(t);var e=this.min,i=this.max,r=t.min,l=t.max,d=l.x>=e.x&&r.x<=i.x,p=l.y>=e.y&&r.y<=i.y;return d&&p},overlaps:function(t){t=ut(t);var e=this.min,i=this.max,r=t.min,l=t.max,d=l.x>e.x&&r.x<i.x,p=l.y>e.y&&r.y<i.y;return d&&p},isValid:function(){return!!(this.min&&this.max)},pad:function(t){var e=this.min,i=this.max,r=Math.abs(e.x-i.x)*t,l=Math.abs(e.y-i.y)*t;return ut(R(e.x-r,e.y-l),R(i.x+r,i.y+l))},equals:function(t){return t?(t=ut(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight())):!1}};function ut(t,e){return!t||t instanceof X?t:new X(t,e)}function dt(t,e){if(t)for(var i=e?[t,e]:t,r=0,l=i.length;r<l;r++)this.extend(i[r])}dt.prototype={extend:function(t){var e=this._southWest,i=this._northEast,r,l;if(t instanceof J)r=t,l=t;else if(t instanceof dt){if(r=t._southWest,l=t._northEast,!r||!l)return this}else return t?this.extend(G(t)||it(t)):this;return!e&&!i?(this._southWest=new J(r.lat,r.lng),this._northEast=new J(l.lat,l.lng)):(e.lat=Math.min(r.lat,e.lat),e.lng=Math.min(r.lng,e.lng),i.lat=Math.max(l.lat,i.lat),i.lng=Math.max(l.lng,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,r=Math.abs(e.lat-i.lat)*t,l=Math.abs(e.lng-i.lng)*t;return new dt(new J(e.lat-r,e.lng-l),new J(i.lat+r,i.lng+l))},getCenter:function(){return new J((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 J(this.getNorth(),this.getWest())},getSouthEast:function(){return new J(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(t){typeof t[0]=="number"||t instanceof J||"lat"in t?t=G(t):t=it(t);var e=this._southWest,i=this._northEast,r,l;return t instanceof dt?(r=t.getSouthWest(),l=t.getNorthEast()):r=l=t,r.lat>=e.lat&&l.lat<=i.lat&&r.lng>=e.lng&&l.lng<=i.lng},intersects:function(t){t=it(t);var e=this._southWest,i=this._northEast,r=t.getSouthWest(),l=t.getNorthEast(),d=l.lat>=e.lat&&r.lat<=i.lat,p=l.lng>=e.lng&&r.lng<=i.lng;return d&&p},overlaps:function(t){t=it(t);var e=this._southWest,i=this._northEast,r=t.getSouthWest(),l=t.getNorthEast(),d=l.lat>e.lat&&r.lat<i.lat,p=l.lng>e.lng&&r.lng<i.lng;return d&&p},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return t?(t=it(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function it(t,e){return t instanceof dt?t:new dt(t,e)}function J(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,i!==void 0&&(this.alt=+i)}J.prototype={equals:function(t,e){if(!t)return!1;t=G(t);var i=Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng));return i<=(e===void 0?1e-9:e)},toString:function(t){return"LatLng("+T(this.lat,t)+", "+T(this.lng,t)+")"},distanceTo:function(t){return Ft.distance(this,G(t))},wrap:function(){return Ft.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return it([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new J(this.lat,this.lng,this.alt)}};function G(t,e,i){return t instanceof J?t:M(t)&&typeof t[0]!="object"?t.length===3?new J(t[0],t[1],t[2]):t.length===2?new J(t[0],t[1]):null:t==null?t:typeof t=="object"&&"lat"in t?new J(t.lat,"lng"in t?t.lng:t.lon,t.alt):e===void 0?null:new J(t,e,i)}var Ot={latLngToPoint:function(t,e){var i=this.projection.project(t),r=this.scale(e);return this.transformation._transform(i,r)},pointToLatLng:function(t,e){var i=this.scale(e),r=this.transformation.untransform(t,i);return this.projection.unproject(r)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t),r=this.transformation.transform(e.min,i),l=this.transformation.transform(e.max,i);return new X(r,l)},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?m(t.lng,this.wrapLng,!0):t.lng,i=this.wrapLat?m(t.lat,this.wrapLat,!0):t.lat,r=t.alt;return new J(i,e,r)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),r=e.lat-i.lat,l=e.lng-i.lng;if(r===0&&l===0)return t;var d=t.getSouthWest(),p=t.getNorthEast(),g=new J(d.lat-r,d.lng-l),y=new J(p.lat-r,p.lng-l);return new dt(g,y)}},Ft=n({},Ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,r=t.lat*i,l=e.lat*i,d=Math.sin((e.lat-t.lat)*i/2),p=Math.sin((e.lng-t.lng)*i/2),g=d*d+Math.cos(r)*Math.cos(l)*p*p,y=2*Math.atan2(Math.sqrt(g),Math.sqrt(1-g));return this.R*y}}),Xn=6378137,Li={R:Xn,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,r=Math.max(Math.min(i,t.lat),-i),l=Math.sin(r*e);return new N(this.R*t.lng*e,this.R*Math.log((1+l)/(1-l))/2)},unproject:function(t){var e=180/Math.PI;return new J((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=Xn*Math.PI;return new X([-t,-t],[t,t])}()};function wi(t,e,i,r){if(M(t)){this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3];return}this._a=t,this._b=e,this._c=i,this._d=r}wi.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new N((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};function ue(t,e,i,r){return new wi(t,e,i,r)}var ki=n({},Ft,{code:"EPSG:3857",projection:Li,transformation:function(){var t=.5/(Math.PI*Li.R);return ue(t,.5,-t,.5)}()}),ya=n({},ki,{code:"EPSG:900913"});function $n(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Qn(t,e){var i="",r,l,d,p,g,y;for(r=0,d=t.length;r<d;r++){for(g=t[r],l=0,p=g.length;l<p;l++)y=g[l],i+=(l?"L":"M")+y.x+" "+y.y;i+=e?z.svg?"z":"x":""}return i||"M0 0"}var bi=document.documentElement.style,Ne="ActiveXObject"in window,La=Ne&&!document.addEventListener,to="msLaunchUri"in navigator&&!("documentMode"in document),xi=Pt("webkit"),eo=Pt("android"),io=Pt("android 2")||Pt("android 3"),wa=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),ka=eo&&Pt("Google")&&wa<537&&!("AudioNode"in window),Pi=!!window.opera,no=!to&&Pt("chrome"),oo=Pt("gecko")&&!xi&&!Pi&&!Ne,ba=!no&&Pt("safari"),ro=Pt("phantom"),so="OTransition"in bi,xa=navigator.platform.indexOf("Win")===0,ao=Ne&&"transition"in bi,Ei="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!io,lo="MozPerspective"in bi,Pa=!window.L_DISABLE_3D&&(ao||Ei||lo)&&!so&&!ro,de=typeof orientation<"u"||Pt("mobile"),Ea=de&&xi,Ma=de&&Ei,ho=!window.PointerEvent&&window.MSPointerEvent,co=!!(window.PointerEvent||ho),uo="ontouchstart"in window||!!window.TouchEvent,Ta=!window.L_NO_TOUCH&&(uo||co),Ca=de&&Pi,Sa=de&&oo,za=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Da=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",w,e),window.removeEventListener("testPassiveEventSupport",w,e)}catch{}return t}(),Oa=function(){return!!document.createElement("canvas").getContext}(),Mi=!!(document.createElementNS&&$n("svg").createSVGRect),Aa=!!Mi&&function(){var t=document.createElement("div");return t.innerHTML="<svg/>",(t.firstChild&&t.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Ia=!Mi&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&typeof e.adj=="object"}catch{return!1}}(),Ra=navigator.platform.indexOf("Mac")===0,Ba=navigator.platform.indexOf("Linux")===0;function Pt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var z={ie:Ne,ielt9:La,edge:to,webkit:xi,android:eo,android23:io,androidStock:ka,opera:Pi,chrome:no,gecko:oo,safari:ba,phantom:ro,opera12:so,win:xa,ie3d:ao,webkit3d:Ei,gecko3d:lo,any3d:Pa,mobile:de,mobileWebkit:Ea,mobileWebkit3d:Ma,msPointer:ho,pointer:co,touch:Ta,touchNative:uo,mobileOpera:Ca,mobileGecko:Sa,retina:za,passiveEvents:Da,canvas:Oa,svg:Mi,vml:Ia,inlineSvg:Aa,mac:Ra,linux:Ba},fo=z.msPointer?"MSPointerDown":"pointerdown",po=z.msPointer?"MSPointerMove":"pointermove",mo=z.msPointer?"MSPointerUp":"pointerup",_o=z.msPointer?"MSPointerCancel":"pointercancel",Ti={touchstart:fo,touchmove:po,touchend:mo,touchcancel:_o},go={touchstart:ja,touchmove:Fe,touchend:Fe,touchcancel:Fe},Xt={},vo=!1;function Na(t,e,i){return e==="touchstart"&&Ha(),go[e]?(i=go[e].bind(this,i),t.addEventListener(Ti[e],i,!1),i):(console.warn("wrong event specified:",e),w)}function Fa(t,e,i){if(!Ti[e]){console.warn("wrong event specified:",e);return}t.removeEventListener(Ti[e],i,!1)}function Za(t){Xt[t.pointerId]=t}function Ua(t){Xt[t.pointerId]&&(Xt[t.pointerId]=t)}function yo(t){delete Xt[t.pointerId]}function Ha(){vo||(document.addEventListener(fo,Za,!0),document.addEventListener(po,Ua,!0),document.addEventListener(mo,yo,!0),document.addEventListener(_o,yo,!0),vo=!0)}function Fe(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){e.touches=[];for(var i in Xt)e.touches.push(Xt[i]);e.changedTouches=[e],t(e)}}function ja(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&at(e),Fe(t,e)}function Ga(t){var e={},i,r;for(r in t)i=t[r],e[r]=i&&i.bind?i.bind(t):i;return t=e,e.type="dblclick",e.detail=2,e.isTrusted=!1,e._simulated=!0,e}var qa=200;function Wa(t,e){t.addEventListener("dblclick",e);var i=0,r;function l(d){if(d.detail!==1){r=d.detail;return}if(!(d.pointerType==="mouse"||d.sourceCapabilities&&!d.sourceCapabilities.firesTouchEvents)){var p=xo(d);if(!(p.some(function(y){return y instanceof HTMLLabelElement&&y.attributes.for})&&!p.some(function(y){return y instanceof HTMLInputElement||y instanceof HTMLSelectElement}))){var g=Date.now();g-i<=qa?(r++,r===2&&e(Ga(d))):r=1,i=g}}}return t.addEventListener("click",l),{dblclick:e,simDblclick:l}}function Ka(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var Ci=He(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),fe=He(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Lo=fe==="webkitTransition"||fe==="OTransition"?fe+"End":"transitionend";function wo(t){return typeof t=="string"?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||i==="auto")&&document.defaultView){var r=document.defaultView.getComputedStyle(t,null);i=r?r[e]:null}return i==="auto"?null:i}function K(t,e,i){var r=document.createElement(t);return r.className=e||"",i&&i.appendChild(r),r}function $(t){var e=t.parentNode;e&&e.removeChild(t)}function Ze(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function $t(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function Qt(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function Si(t,e){if(t.classList!==void 0)return t.classList.contains(e);var i=Ue(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function U(t,e){if(t.classList!==void 0)for(var i=k(e),r=0,l=i.length;r<l;r++)t.classList.add(i[r]);else if(!Si(t,e)){var d=Ue(t);zi(t,(d?d+" ":"")+e)}}function tt(t,e){t.classList!==void 0?t.classList.remove(e):zi(t,O((" "+Ue(t)+" ").replace(" "+e+" "," ")))}function zi(t,e){t.className.baseVal===void 0?t.className=e:t.className.baseVal=e}function Ue(t){return t.correspondingElement&&(t=t.correspondingElement),t.className.baseVal===void 0?t.className:t.className.baseVal}function vt(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&Va(t,e)}function Va(t,e){var i=!1,r="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(r)}catch{if(e===1)return}e=Math.round(e*100),i?(i.Enabled=e!==100,i.Opacity=e):t.style.filter+=" progid:"+r+"(opacity="+e+")"}function He(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function jt(t,e,i){var r=e||new N(0,0);t.style[Ci]=(z.ie3d?"translate("+r.x+"px,"+r.y+"px)":"translate3d("+r.x+"px,"+r.y+"px,0)")+(i?" scale("+i+")":"")}function nt(t,e){t._leaflet_pos=e,z.any3d?jt(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function Gt(t){return t._leaflet_pos||new N(0,0)}var me,_e,Di;if("onselectstart"in document)me=function(){F(window,"selectstart",at)},_e=function(){Y(window,"selectstart",at)};else{var ge=He(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);me=function(){if(ge){var t=document.documentElement.style;Di=t[ge],t[ge]="none"}},_e=function(){ge&&(document.documentElement.style[ge]=Di,Di=void 0)}}function Oi(){F(window,"dragstart",at)}function Ai(){Y(window,"dragstart",at)}var je,Ii;function Ri(t){for(;t.tabIndex===-1;)t=t.parentNode;t.style&&(Ge(),je=t,Ii=t.style.outlineStyle,t.style.outlineStyle="none",F(window,"keydown",Ge))}function Ge(){je&&(je.style.outlineStyle=Ii,je=void 0,Ii=void 0,Y(window,"keydown",Ge))}function ko(t){do t=t.parentNode;while((!t.offsetWidth||!t.offsetHeight)&&t!==document.body);return t}function Bi(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Ja={__proto__:null,TRANSFORM:Ci,TRANSITION:fe,TRANSITION_END:Lo,get:wo,getStyle:pe,create:K,remove:$,empty:Ze,toFront:$t,toBack:Qt,hasClass:Si,addClass:U,removeClass:tt,setClass:zi,getClass:Ue,setOpacity:vt,testProp:He,setTransform:jt,setPosition:nt,getPosition:Gt,get disableTextSelection(){return me},get enableTextSelection(){return _e},disableImageDrag:Oi,enableImageDrag:Ai,preventOutline:Ri,restoreOutline:Ge,getSizedParentNode:ko,getScale:Bi};function F(t,e,i,r){if(e&&typeof e=="object")for(var l in e)Fi(t,l,e[l],i);else{e=k(e);for(var d=0,p=e.length;d<p;d++)Fi(t,e[d],i,r)}return this}var Et="_leaflet_events";function Y(t,e,i,r){if(arguments.length===1)bo(t),delete t[Et];else if(e&&typeof e=="object")for(var l in e)Zi(t,l,e[l],i);else if(e=k(e),arguments.length===2)bo(t,function(g){return I(e,g)!==-1});else for(var d=0,p=e.length;d<p;d++)Zi(t,e[d],i,r);return this}function bo(t,e){for(var i in t[Et]){var r=i.split(/\d/)[0];(!e||e(r))&&Zi(t,r,null,null,i)}}var Ni={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Fi(t,e,i,r){var l=e+_(i)+(r?"_"+_(r):"");if(t[Et]&&t[Et][l])return this;var d=function(g){return i.call(r||t,g||window.event)},p=d;!z.touchNative&&z.pointer&&e.indexOf("touch")===0?d=Na(t,e,d):z.touch&&e==="dblclick"?d=Wa(t,d):"addEventListener"in t?e==="touchstart"||e==="touchmove"||e==="wheel"||e==="mousewheel"?t.addEventListener(Ni[e]||e,d,z.passiveEvents?{passive:!1}:!1):e==="mouseenter"||e==="mouseleave"?(d=function(g){g=g||window.event,Hi(t,g)&&p(g)},t.addEventListener(Ni[e],d,!1)):t.addEventListener(e,p,!1):t.attachEvent("on"+e,d),t[Et]=t[Et]||{},t[Et][l]=d}function Zi(t,e,i,r,l){l=l||e+_(i)+(r?"_"+_(r):"");var d=t[Et]&&t[Et][l];if(!d)return this;!z.touchNative&&z.pointer&&e.indexOf("touch")===0?Fa(t,e,d):z.touch&&e==="dblclick"?Ka(t,d):"removeEventListener"in t?t.removeEventListener(Ni[e]||e,d,!1):t.detachEvent("on"+e,d),t[Et][l]=null}function qt(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Ui(t){return Fi(t,"wheel",qt),this}function ve(t){return F(t,"mousedown touchstart dblclick contextmenu",qt),t._leaflet_disable_click=!0,this}function at(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Wt(t){return at(t),qt(t),this}function xo(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function Po(t,e){if(!e)return new N(t.clientX,t.clientY);var i=Bi(e),r=i.boundingClientRect;return new N((t.clientX-r.left)/i.x-e.clientLeft,(t.clientY-r.top)/i.y-e.clientTop)}var Ya=z.linux&&z.chrome?window.devicePixelRatio:z.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Eo(t){return z.edge?t.wheelDeltaY/2:t.deltaY&&t.deltaMode===0?-t.deltaY/Ya:t.deltaY&&t.deltaMode===1?-t.deltaY*20:t.deltaY&&t.deltaMode===2?-t.deltaY*60:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?-t.detail*20:t.detail?t.detail/-32765*60:0}function Hi(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch{return!1}return i!==t}var Xa={__proto__:null,on:F,off:Y,stopPropagation:qt,disableScrollPropagation:Ui,disableClickPropagation:ve,preventDefault:at,stop:Wt,getPropagationPath:xo,getMousePosition:Po,getWheelDelta:Eo,isExternalTarget:Hi,addListener:F,removeListener:Y},Mo=ce.extend({run:function(t,e,i,r){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(r||.5,.2),this._startPos=Gt(t),this._offset=e.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=st(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=this._duration*1e3;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),nt(this._el,i),this.fire("step")},_complete:function(){lt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),q=ce.extend({options:{crs:ki,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(t,e){e=b(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=c(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),e.zoom!==void 0&&(this._zoom=this._limitZoom(e.zoom)),e.center&&e.zoom!==void 0&&this.setView(G(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=fe&&z.any3d&&!z.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),F(this._proxy,Lo,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if(e=e===void 0?this._zoom:this._limitZoom(e),t=this._limitCenter(G(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&i!==!0){i.animate!==void 0&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan));var r=this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan);if(r)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(z.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(z.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var r=this.getZoomScale(e),l=this.getSize().divideBy(2),d=t instanceof N?t:this.latLngToContainerPoint(t),p=d.subtract(l).multiplyBy(1-1/r),g=this.containerPointToLatLng(l.add(p));return this.setView(g,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():it(t);var i=R(e.paddingTopLeft||e.padding||[0,0]),r=R(e.paddingBottomRight||e.padding||[0,0]),l=this.getBoundsZoom(t,!1,i.add(r));if(l=typeof e.maxZoom=="number"?Math.min(e.maxZoom,l):l,l===1/0)return{center:t.getCenter(),zoom:l};var d=r.subtract(i).divideBy(2),p=this.project(t.getSouthWest(),l),g=this.project(t.getNorthEast(),l),y=this.unproject(p.add(g).divideBy(2).add(d),l);return{center:y,zoom:l}},fitBounds:function(t,e){if(t=it(t),!t.isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=R(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(e.animate!==!0&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Mo,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),e.animate!==!1){U(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(i=i||{},i.animate===!1||!z.any3d)return this.setView(t,e,i);this._stop();var r=this.project(this.getCenter()),l=this.project(t),d=this.getSize(),p=this._zoom;t=G(t),e=e===void 0?p:e;var g=Math.max(d.x,d.y),y=g*this.getZoomScale(p,e),E=l.distanceTo(r)||1,S=1.42,A=S*S;function H(ot){var ii=ot?-1:1,Fl=ot?y:g,Zl=y*y-g*g+ii*A*A*E*E,Ul=2*Fl*A*E,Qi=Zl/Ul,ar=Math.sqrt(Qi*Qi+1)-Qi,Hl=ar<1e-9?-18:Math.log(ar);return Hl}function ht(ot){return(Math.exp(ot)-Math.exp(-ot))/2}function rt(ot){return(Math.exp(ot)+Math.exp(-ot))/2}function Lt(ot){return ht(ot)/rt(ot)}var ft=H(0);function re(ot){return g*(rt(ft)/rt(ft+S*ot))}function Il(ot){return g*(rt(ft)*Lt(ft+S*ot)-ht(ft))/A}function Rl(ot){return 1-Math.pow(1-ot,1.5)}var Bl=Date.now(),rr=(H(1)-ft)/S,Nl=i.duration?1e3*i.duration:1e3*rr*.8;function sr(){var ot=(Date.now()-Bl)/Nl,ii=Rl(ot)*rr;ot<=1?(this._flyToFrame=st(sr,this),this._move(this.unproject(r.add(l.subtract(r).multiplyBy(Il(ii)/E)),p),this.getScaleZoom(g/re(ii),p),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}return this._moveStart(!0,i.noMoveStart),sr.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=it(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),r=this._limitCenter(i,this._zoom,it(t));return i.equals(r)||this.panTo(r,e),this._enforcingBounds=!1,this},panInside:function(t,e){e=e||{};var i=R(e.paddingTopLeft||e.padding||[0,0]),r=R(e.paddingBottomRight||e.padding||[0,0]),l=this.project(this.getCenter()),d=this.project(t),p=this.getPixelBounds(),g=ut([p.min.add(i),p.max.subtract(r)]),y=g.getSize();if(!g.contains(d)){this._enforcingBounds=!0;var E=d.subtract(g.getCenter()),S=g.extend(d).getSize().subtract(y);l.x+=E.x<0?-S.x:S.x,l.y+=E.y<0?-S.y:S.y,this.panTo(this.unproject(l),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),r=e.divideBy(2).round(),l=i.divideBy(2).round(),d=r.subtract(l);return!d.x&&!d.y?this:(t.animate&&t.pan?this.panBy(d):(t.pan&&this._rawPanBy(d),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(c(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=c(this._handleGeolocationResponse,this),i=c(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(e===1?"permission denied":e===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=t.coords.latitude,i=t.coords.longitude,r=new J(e,i),l=r.toBounds(t.coords.accuracy*2),d=this._locateOptions;if(d.setView){var p=this.getBoundsZoom(l);this.setView(r,d.maxZoom?Math.min(p,d.maxZoom):p)}var g={latlng:r,bounds:l,timestamp:t.timestamp};for(var y in t.coords)typeof t.coords[y]=="number"&&(g[y]=t.coords[y]);this.fire("locationfound",g)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.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(),$(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(lt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)$(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),r=K("div",i,e||this._mapPane);return t&&(this._panes[t]=r),r},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new dt(e,i)},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(t,e,i){t=it(t),i=R(i||[0,0]);var r=this.getZoom()||0,l=this.getMinZoom(),d=this.getMaxZoom(),p=t.getNorthWest(),g=t.getSouthEast(),y=this.getSize().subtract(i),E=ut(this.project(g,r),this.project(p,r)).getSize(),S=z.any3d?this.options.zoomSnap:1,A=y.x/E.x,H=y.y/E.y,ht=e?Math.max(A,H):Math.min(A,H);return r=this.getScaleZoom(ht,r),S&&(r=Math.round(r/(S/100))*(S/100),r=e?Math.ceil(r/S)*S:Math.floor(r/S)*S),Math.max(l,Math.min(d,r))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new N(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new X(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===void 0?this.getZoom():t)},getPane:function(t){return typeof t=="string"?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=e===void 0?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=e===void 0?this._zoom:e;var r=i.zoom(t*i.scale(e));return isNaN(r)?1/0:r},project:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.latLngToPoint(G(t),e)},unproject:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.pointToLatLng(R(t),e)},layerPointToLatLng:function(t){var e=R(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(G(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(G(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(it(t))},distance:function(t,e){return this.options.crs.distance(G(t),G(e))},containerPointToLayerPoint:function(t){return R(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return R(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(R(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(G(t)))},mouseEventToContainerPoint:function(t){return Po(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=wo(t);if(e){if(e._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");F(e,"scroll",this._onScroll,this),this._containerId=_(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&z.any3d,U(t,"leaflet-container"+(z.touch?" leaflet-touch":"")+(z.retina?" leaflet-retina":"")+(z.ielt9?" leaflet-oldie":"")+(z.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=pe(t,"position");e!=="absolute"&&e!=="relative"&&e!=="fixed"&&e!=="sticky"&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),nt(this._mapPane,new N(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(U(t.markerPane,"leaflet-zoom-hide"),U(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){nt(this._mapPane,new N(0,0));var r=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var l=this._zoom!==e;this._moveStart(l,i)._move(t,e)._moveEnd(l),this.fire("viewreset"),r&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,r){e===void 0&&(e=this._zoom);var l=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),r?i&&i.pinch&&this.fire("zoom",i):((l||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return lt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){nt(this._mapPane,this._getMapPanePos().subtract(t))},_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(t){this._targets={},this._targets[_(this._container)]=this;var e=t?Y:F;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),z.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){lt(this._resizeRequest),this._resizeRequest=st(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i=[],r,l=e==="mouseout"||e==="mouseover",d=t.target||t.srcElement,p=!1;d;){if(r=this._targets[_(d)],r&&(e==="click"||e==="preclick")&&this._draggableMoved(r)){p=!0;break}if(r&&r.listens(e,!0)&&(l&&!Hi(d,t)||(i.push(r),l))||d===this._container)break;d=d.parentNode}return!i.length&&!p&&!l&&this.listens(e,!0)&&(i=[this]),i},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||t.type==="click"&&this._isClickDisabled(e))){var i=t.type;i==="mousedown"&&Ri(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if(t.type==="click"){var r=n({},t);r.type="preclick",this._fireDOMEvent(r,r.type,i)}var l=this._findEventTargets(t,e);if(i){for(var d=[],p=0;p<i.length;p++)i[p].listens(e,!0)&&d.push(i[p]);l=d.concat(l)}if(l.length){e==="contextmenu"&&at(t);var g=l[0],y={originalEvent:t};if(t.type!=="keypress"&&t.type!=="keydown"&&t.type!=="keyup"){var E=g.getLatLng&&(!g._radius||g._radius<=10);y.containerPoint=E?this.latLngToContainerPoint(g.getLatLng()):this.mouseEventToContainerPoint(t),y.layerPoint=this.containerPointToLayerPoint(y.containerPoint),y.latlng=E?g.getLatLng():this.layerPointToLatLng(y.layerPoint)}for(p=0;p<l.length;p++)if(l[p].fire(e,y,!0),y.originalEvent._stopped||l[p].options.bubblingMouseEvents===!1&&I(this._mouseEvents,e)!==-1)return}},_draggableMoved:function(t){return t=t.dragging&&t.dragging.enabled()?t:this,t.dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return Gt(this._mapPane)||new N(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){var i=t&&e!==void 0?this._getNewPixelOrigin(t,e):this.getPixelOrigin();return i.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var r=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(r)},_latLngBoundsToNewLayerBounds:function(t,e,i){var r=this._getNewPixelOrigin(i,e);return ut([this.project(t.getSouthWest(),e)._subtract(r),this.project(t.getNorthWest(),e)._subtract(r),this.project(t.getSouthEast(),e)._subtract(r),this.project(t.getNorthEast(),e)._subtract(r)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var r=this.project(t,e),l=this.getSize().divideBy(2),d=new X(r.subtract(l),r.add(l)),p=this._getBoundsOffset(d,i,e);return Math.abs(p.x)<=1&&Math.abs(p.y)<=1?t:this.unproject(r.add(p),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),r=new X(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(r,e))},_getBoundsOffset:function(t,e,i){var r=ut(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),l=r.min.subtract(t.min),d=r.max.subtract(t.max),p=this._rebound(l.x,-d.x),g=this._rebound(l.y,-d.y);return new N(p,g)},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),r=z.any3d?this.options.zoomSnap:1;return r&&(t=Math.round(t/r)*r),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){tt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return(e&&e.animate)!==!0&&!this.getSize().contains(i)?!1:(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=K("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=Ci,r=this._proxy.style[i];jt(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),r===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){$(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();jt(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(e),l=this._getCenterOffset(t)._divideBy(1-1/r);return i.animate!==!0&&!this.getSize().contains(l)?!1:(st(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,r){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,U(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:r}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(c(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 $a(t,e){return new q(t,e)}var wt=Dt.extend({options:{position:"topright"},initialize:function(t){b(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),r=t._controlCorners[i];return U(e,"leaflet-control"),i.indexOf("bottom")!==-1?r.insertBefore(e,r.firstChild):r.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?($(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ye=function(t){return new wt(t)};q.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=K("div",e+"control-container",this._container);function r(l,d){var p=e+l+" "+e+d;t[l+d]=K("div",p,i)}r("top","left"),r("top","right"),r("bottom","left"),r("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)$(this._controlCorners[t]);$(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var To=wt.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,r){return i<r?-1:r<i?1:0}},initialize:function(t,e,i){b(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var r in t)this._addLayer(t[r],r);for(r in e)this._addLayer(e[r],r,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return wt.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(_(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){U(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(U(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):tt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return tt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=K("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),ve(e),Ui(e);var r=this._section=K("section",t+"-list");i&&(this._map.on("click",this.collapse,this),F(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var l=this._layersLink=K("a",t+"-toggle",e);l.href="#",l.title="Layers",l.setAttribute("role","button"),F(l,{keydown:function(d){d.keyCode===13&&this._expandSafely()},click:function(d){at(d),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=K("div",t+"-base",r),this._separator=K("div",t+"-separator",r),this._overlaysList=K("div",t+"-overlays",r),e.appendChild(r)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&_(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(c(function(r,l){return this.options.sortFunction(r.layer,l.layer,r.name,l.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Ze(this._baseLayersList),Ze(this._overlaysList),this._layerControlInputs=[];var t,e,i,r,l=0;for(i=0;i<this._layers.length;i++)r=this._layers[i],this._addItem(r),e=e||r.overlay,t=t||!r.overlay,l+=r.overlay?0:1;return this.options.hideSingleBase&&(t=t&&l>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(_(t.target)),i=e.overlay?t.type==="add"?"overlayadd":"overlayremove":t.type==="add"?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",r=document.createElement("div");return r.innerHTML=i,r.firstChild},_addItem:function(t){var e=document.createElement("label"),i=this._map.hasLayer(t.layer),r;t.overlay?(r=document.createElement("input"),r.type="checkbox",r.className="leaflet-control-layers-selector",r.defaultChecked=i):r=this._createRadioElement("leaflet-base-layers_"+_(this),i),this._layerControlInputs.push(r),r.layerId=_(t.layer),F(r,"click",this._onInputClick,this);var l=document.createElement("span");l.innerHTML=" "+t.name;var d=document.createElement("span");e.appendChild(d),d.appendChild(r),d.appendChild(l);var p=t.overlay?this._overlaysList:this._baseLayersList;return p.appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){if(!this._preventClick){var t=this._layerControlInputs,e,i,r=[],l=[];this._handlingClick=!0;for(var d=t.length-1;d>=0;d--)e=t[d],i=this._getLayer(e.layerId).layer,e.checked?r.push(i):e.checked||l.push(i);for(d=0;d<l.length;d++)this._map.hasLayer(l[d])&&this._map.removeLayer(l[d]);for(d=0;d<r.length;d++)this._map.hasLayer(r[d])||this._map.addLayer(r[d]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t=this._layerControlInputs,e,i,r=this._map.getZoom(),l=t.length-1;l>=0;l--)e=t[l],i=this._getLayer(e.layerId).layer,e.disabled=i.options.minZoom!==void 0&&r<i.options.minZoom||i.options.maxZoom!==void 0&&r>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,F(t,"click",at),this.expand();var e=this;setTimeout(function(){Y(t,"click",at),e._preventClick=!1})}}),Qa=function(t,e,i){return new To(t,e,i)},ji=wt.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=K("div",e+" leaflet-bar"),r=this.options;return this._zoomInButton=this._createButton(r.zoomInText,r.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(r.zoomOutText,r.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,r,l){var d=K("a",i,r);return d.innerHTML=t,d.href="#",d.title=e,d.setAttribute("role","button"),d.setAttribute("aria-label",e),ve(d),F(d,"click",Wt),F(d,"click",l,this),F(d,"click",this._refocusOnMap,this),d},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";tt(this._zoomInButton,e),tt(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(U(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(U(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});q.mergeOptions({zoomControl:!0}),q.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ji,this.addControl(this.zoomControl))});var tl=function(t){return new ji(t)},Co=wt.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=K("div",e),r=this.options;return this._addScales(r,e+"-line",i),t.on(r.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=K("div",e,i)),t.imperial&&(this._iScale=K("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e=t*3.2808399,i,r,l;e>5280?(i=e/5280,r=this._getRoundNum(i),this._updateScale(this._iScale,r+" mi",r/i)):(l=this._getRoundNum(e),this._updateScale(this._iScale,l+" ft",l/e))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),el=function(t){return new Co(t)},il='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',Gi=wt.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(z.inlineSvg?il+" ":"")+"Leaflet</a>"},initialize:function(t){b(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=K("div","leaflet-control-attribution"),ve(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});q.mergeOptions({attributionControl:!0}),q.addInitHook(function(){this.options.attributionControl&&new Gi().addTo(this)});var nl=function(t){return new Gi(t)};wt.Layers=To,wt.Zoom=ji,wt.Scale=Co,wt.Attribution=Gi,ye.layers=Qa,ye.zoom=tl,ye.scale=el,ye.attribution=nl;var Mt=Dt.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Mt.addTo=function(t,e){return t.addHandler(e,this),this};var ol={Events:_t},So=z.touch?"touchstart mousedown":"mousedown",Zt=ce.extend({options:{clickTolerance:3},initialize:function(t,e,i,r){b(this,r),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(F(this._dragStartTarget,So,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Zt._dragging===this&&this.finishDrag(!0),Y(this._dragStartTarget,So,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!Si(this._element,"leaflet-zoom-anim"))){if(t.touches&&t.touches.length!==1){Zt._dragging===this&&this.finishDrag();return}if(!(Zt._dragging||t.shiftKey||t.which!==1&&t.button!==1&&!t.touches)&&(Zt._dragging=this,this._preventOutline&&Ri(this._element),Oi(),me(),!this._moving)){this.fire("down");var e=t.touches?t.touches[0]:t,i=ko(this._element);this._startPoint=new N(e.clientX,e.clientY),this._startPos=Gt(this._element),this._parentScale=Bi(i);var r=t.type==="mousedown";F(document,r?"mousemove":"touchmove",this._onMove,this),F(document,r?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var e=t.touches&&t.touches.length===1?t.touches[0]:t,i=new N(e.clientX,e.clientY)._subtract(this._startPoint);!i.x&&!i.y||Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,at(t),this._moved||(this.fire("dragstart"),this._moved=!0,U(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),U(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition())}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),nt(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){tt(document.body,"leaflet-dragging"),this._lastTarget&&(tt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Y(document,"mousemove touchmove",this._onMove,this),Y(document,"mouseup touchend touchcancel",this._onUp,this),Ai(),_e();var e=this._moved&&this._moving;this._moving=!1,Zt._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function zo(t,e,i){var r,l=[1,4,2,8],d,p,g,y,E,S,A,H;for(d=0,S=t.length;d<S;d++)t[d]._code=Kt(t[d],e);for(g=0;g<4;g++){for(A=l[g],r=[],d=0,S=t.length,p=S-1;d<S;p=d++)y=t[d],E=t[p],y._code&A?E._code&A||(H=qe(E,y,A,e,i),H._code=Kt(H,e),r.push(H)):(E._code&A&&(H=qe(E,y,A,e,i),H._code=Kt(H,e),r.push(H)),r.push(y));t=r}return t}function Do(t,e){var i,r,l,d,p,g,y,E,S;if(!t||t.length===0)throw new Error("latlngs not passed");yt(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var A=G([0,0]),H=it(t),ht=H.getNorthWest().distanceTo(H.getSouthWest())*H.getNorthEast().distanceTo(H.getNorthWest());ht<1700&&(A=qi(t));var rt=t.length,Lt=[];for(i=0;i<rt;i++){var ft=G(t[i]);Lt.push(e.project(G([ft.lat-A.lat,ft.lng-A.lng])))}for(g=y=E=0,i=0,r=rt-1;i<rt;r=i++)l=Lt[i],d=Lt[r],p=l.y*d.x-d.y*l.x,y+=(l.x+d.x)*p,E+=(l.y+d.y)*p,g+=p*3;g===0?S=Lt[0]:S=[y/g,E/g];var re=e.unproject(R(S));return G([re.lat+A.lat,re.lng+A.lng])}function qi(t){for(var e=0,i=0,r=0,l=0;l<t.length;l++){var d=G(t[l]);e+=d.lat,i+=d.lng,r++}return G([e/r,i/r])}var rl={__proto__:null,clipPolygon:zo,polygonCenter:Do,centroid:qi};function Oo(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=ll(t,i),t=al(t,i),t}function Ao(t,e,i){return Math.sqrt(Le(t,e,i,!0))}function sl(t,e,i){return Le(t,e,i)}function al(t,e){var i=t.length,r=typeof Uint8Array!=void 0+""?Uint8Array:Array,l=new r(i);l[0]=l[i-1]=1,Wi(t,l,e,0,i-1);var d,p=[];for(d=0;d<i;d++)l[d]&&p.push(t[d]);return p}function Wi(t,e,i,r,l){var d=0,p,g,y;for(g=r+1;g<=l-1;g++)y=Le(t[g],t[r],t[l],!0),y>d&&(p=g,d=y);d>i&&(e[p]=1,Wi(t,e,i,r,p),Wi(t,e,i,p,l))}function ll(t,e){for(var i=[t[0]],r=1,l=0,d=t.length;r<d;r++)hl(t[r],t[l])>e&&(i.push(t[r]),l=r);return l<d-1&&i.push(t[d-1]),i}var Io;function Ro(t,e,i,r,l){var d=r?Io:Kt(t,i),p=Kt(e,i),g,y,E;for(Io=p;;){if(!(d|p))return[t,e];if(d&p)return!1;g=d||p,y=qe(t,e,g,i,l),E=Kt(y,i),g===d?(t=y,d=E):(e=y,p=E)}}function qe(t,e,i,r,l){var d=e.x-t.x,p=e.y-t.y,g=r.min,y=r.max,E,S;return i&8?(E=t.x+d*(y.y-t.y)/p,S=y.y):i&4?(E=t.x+d*(g.y-t.y)/p,S=g.y):i&2?(E=y.x,S=t.y+p*(y.x-t.x)/d):i&1&&(E=g.x,S=t.y+p*(g.x-t.x)/d),new N(E,S,l)}function Kt(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function hl(t,e){var i=e.x-t.x,r=e.y-t.y;return i*i+r*r}function Le(t,e,i,r){var l=e.x,d=e.y,p=i.x-l,g=i.y-d,y=p*p+g*g,E;return y>0&&(E=((t.x-l)*p+(t.y-d)*g)/y,E>1?(l=i.x,d=i.y):E>0&&(l+=p*E,d+=g*E)),p=t.x-l,g=t.y-d,r?p*p+g*g:new N(l,d)}function yt(t){return!M(t[0])||typeof t[0][0]!="object"&&typeof t[0][0]<"u"}function Bo(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),yt(t)}function No(t,e){var i,r,l,d,p,g,y,E;if(!t||t.length===0)throw new Error("latlngs not passed");yt(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var S=G([0,0]),A=it(t),H=A.getNorthWest().distanceTo(A.getSouthWest())*A.getNorthEast().distanceTo(A.getNorthWest());H<1700&&(S=qi(t));var ht=t.length,rt=[];for(i=0;i<ht;i++){var Lt=G(t[i]);rt.push(e.project(G([Lt.lat-S.lat,Lt.lng-S.lng])))}for(i=0,r=0;i<ht-1;i++)r+=rt[i].distanceTo(rt[i+1])/2;if(r===0)E=rt[0];else for(i=0,d=0;i<ht-1;i++)if(p=rt[i],g=rt[i+1],l=p.distanceTo(g),d+=l,d>r){y=(d-r)/l,E=[g.x-y*(g.x-p.x),g.y-y*(g.y-p.y)];break}var ft=e.unproject(R(E));return G([ft.lat+S.lat,ft.lng+S.lng])}var cl={__proto__:null,simplify:Oo,pointToSegmentDistance:Ao,closestPointOnSegment:sl,clipSegment:Ro,_getEdgeIntersection:qe,_getBitCode:Kt,_sqClosestPointOnSegment:Le,isFlat:yt,_flat:Bo,polylineCenter:No},Ki={project:function(t){return new N(t.lng,t.lat)},unproject:function(t){return new J(t.y,t.x)},bounds:new X([-180,-90],[180,90])},Vi={R:6378137,R_MINOR:6356752314245179e-9,bounds:new X([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(t){var e=Math.PI/180,i=this.R,r=t.lat*e,l=this.R_MINOR/i,d=Math.sqrt(1-l*l),p=d*Math.sin(r),g=Math.tan(Math.PI/4-r/2)/Math.pow((1-p)/(1+p),d/2);return r=-i*Math.log(Math.max(g,1e-10)),new N(t.lng*e*i,r)},unproject:function(t){for(var e=180/Math.PI,i=this.R,r=this.R_MINOR/i,l=Math.sqrt(1-r*r),d=Math.exp(-t.y/i),p=Math.PI/2-2*Math.atan(d),g=0,y=.1,E;g<15&&Math.abs(y)>1e-7;g++)E=l*Math.sin(p),E=Math.pow((1-E)/(1+E),l/2),y=Math.PI/2-2*Math.atan(d*E)-p,p+=y;return new J(p*e,t.x*e/i)}},ul={__proto__:null,LonLat:Ki,Mercator:Vi,SphericalMercator:Li},dl=n({},Ft,{code:"EPSG:3395",projection:Vi,transformation:function(){var t=.5/(Math.PI*Vi.R);return ue(t,.5,-t,.5)}()}),Fo=n({},Ft,{code:"EPSG:4326",projection:Ki,transformation:ue(1/180,1,-1/180,.5)}),fl=n({},Ot,{projection:Ki,transformation:ue(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,r=e.lat-t.lat;return Math.sqrt(i*i+r*r)},infinite:!0});Ot.Earth=Ft,Ot.EPSG3395=dl,Ot.EPSG3857=ki,Ot.EPSG900913=ya,Ot.EPSG4326=Fo,Ot.Simple=fl;var kt=ce.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[_(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[_(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});q.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=_(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=_(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return _(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?M(t)?t:[t]:[];for(var e=0,i=t.length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){(!isNaN(t.options.maxZoom)||!isNaN(t.options.minZoom))&&(this._zoomBoundLayers[_(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=_(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var r in this._zoomBoundLayers){var l=this._zoomBoundLayers[r].options;t=l.minZoom===void 0?t:Math.min(t,l.minZoom),e=l.maxZoom===void 0?e:Math.max(e,l.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var te=kt.extend({initialize:function(t,e){b(this,e),this._layers={};var i,r;if(t)for(i=0,r=t.length;i<r;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){var e=typeof t=="number"?t:this.getLayerId(t);return e in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e=Array.prototype.slice.call(arguments,1),i,r;for(i in this._layers)r=this._layers[i],r[t]&&r[t].apply(r,e);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return _(t)}}),pl=function(t,e){return new te(t,e)},At=te.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),te.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),te.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new dt;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),ml=function(t,e){return new At(t,e)},ee=Dt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){b(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if(t==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var r=this._createImg(i,e&&e.tagName==="IMG"?e:null);return this._setIconStyles(r,t),(this.options.crossOrigin||this.options.crossOrigin==="")&&(r.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),r},_setIconStyles:function(t,e){var i=this.options,r=i[e+"Size"];typeof r=="number"&&(r=[r,r]);var l=R(r),d=R(e==="shadow"&&i.shadowAnchor||i.iconAnchor||l&&l.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),d&&(t.style.marginLeft=-d.x+"px",t.style.marginTop=-d.y+"px"),l&&(t.style.width=l.x+"px",t.style.height=l.y+"px")},_createImg:function(t,e){return e=e||document.createElement("img"),e.src=t,e},_getIconUrl:function(t){return z.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});function _l(t){return new ee(t)}var we=ee.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return typeof we.imagePath!="string"&&(we.imagePath=this._detectIconPath()),(this.options.imagePath||we.imagePath)+ee.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var e=function(i,r,l){var d=r.exec(i);return d&&d[l]};return t=e(t,/^url\((['"])?(.+)\1\)$/,2),t&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=K("div","leaflet-default-icon-path",document.body),e=pe(t,"background-image")||pe(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e),e)return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),Zo=Mt.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Zt(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),U(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&tt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,r=this._marker.options.autoPanSpeed,l=this._marker.options.autoPanPadding,d=Gt(e._icon),p=i.getPixelBounds(),g=i.getPixelOrigin(),y=ut(p.min._subtract(g).add(l),p.max._subtract(g).subtract(l));if(!y.contains(d)){var E=R((Math.max(y.max.x,d.x)-y.max.x)/(p.max.x-y.max.x)-(Math.min(y.min.x,d.x)-y.min.x)/(p.min.x-y.min.x),(Math.max(y.max.y,d.y)-y.max.y)/(p.max.y-y.max.y)-(Math.min(y.min.y,d.y)-y.min.y)/(p.min.y-y.min.y)).multiplyBy(r);i.panBy(E,{animate:!1}),this._draggable._newPos._add(E),this._draggable._startPos._add(E),nt(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=st(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(lt(this._panRequest),this._panRequest=st(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,r=Gt(e._icon),l=e._map.layerPointToLatLng(r);i&&nt(i,r),e._latlng=l,t.latlng=l,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){lt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),We=kt.extend({options:{icon:new we,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){b(this,e),this._latlng=G(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=G(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),r=!1;i!==this._icon&&(this._icon&&this._removeIcon(),r=!0,t.title&&(i.title=t.title),i.tagName==="IMG"&&(i.alt=t.alt||"")),U(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&F(i,"focus",this._panOnFocus,this);var l=t.icon.createShadow(this._shadow),d=!1;l!==this._shadow&&(this._removeShadow(),d=!0),l&&(U(l,e),l.alt=""),this._shadow=l,t.opacity<1&&this._updateOpacity(),r&&this.getPane().appendChild(this._icon),this._initInteraction(),l&&d&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Y(this._icon,"focus",this._panOnFocus,this),$(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&$(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&nt(this._icon,t),this._shadow&&nt(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(U(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Zo)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Zo(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&vt(this._icon,t),this._shadow&&vt(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?R(e.iconSize):R(0,0),r=e.iconAnchor?R(e.iconAnchor):R(0,0);t.panInside(this._latlng,{paddingTopLeft:r,paddingBottomRight:i.subtract(r)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function gl(t,e){return new We(t,e)}var Ut=kt.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return b(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Ke=Ut.extend({options:{fill:!0,radius:10},initialize:function(t,e){b(this,e),this._latlng=G(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=G(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Ut.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),r=[t+i,e+i];this._pxBounds=new X(this._point.subtract(r),this._point.add(r))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function vl(t,e){return new Ke(t,e)}var Ji=Ke.extend({initialize:function(t,e,i){if(typeof e=="number"&&(e=n({},i,{radius:e})),b(this,e),this._latlng=G(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new dt(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Ut.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,r=i.options.crs;if(r.distance===Ft.distance){var l=Math.PI/180,d=this._mRadius/Ft.R/l,p=i.project([e+d,t]),g=i.project([e-d,t]),y=p.add(g).divideBy(2),E=i.unproject(y).lat,S=Math.acos((Math.cos(d*l)-Math.sin(e*l)*Math.sin(E*l))/(Math.cos(e*l)*Math.cos(E*l)))/l;(isNaN(S)||S===0)&&(S=d/Math.cos(Math.PI/180*e)),this._point=y.subtract(i.getPixelOrigin()),this._radius=isNaN(S)?0:y.x-i.project([E,t-S]).x,this._radiusY=y.y-p.y}else{var A=r.unproject(r.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(A).x}this._updateBounds()}});function yl(t,e,i){return new Ji(t,e,i)}var It=Ut.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){b(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,r=Le,l,d,p=0,g=this._parts.length;p<g;p++)for(var y=this._parts[p],E=1,S=y.length;E<S;E++){l=y[E-1],d=y[E];var A=r(t,l,d,!0);A<e&&(e=A,i=r(t,l,d))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return No(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=G(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new dt,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return yt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=yt(t),r=0,l=t.length;r<l;r++)i?(e[r]=G(t[r]),this._bounds.extend(e[r])):e[r]=this._convertLatLngs(t[r]);return e},_project:function(){var t=new X;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new N(t,t);this._rawPxBounds&&(this._pxBounds=new X([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var r=t[0]instanceof J,l=t.length,d,p;if(r){for(p=[],d=0;d<l;d++)p[d]=this._map.latLngToLayerPoint(t[d]),i.extend(p[d]);e.push(p)}else for(d=0;d<l;d++)this._projectLatlngs(t[d],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}var e=this._parts,i,r,l,d,p,g,y;for(i=0,l=0,d=this._rings.length;i<d;i++)for(y=this._rings[i],r=0,p=y.length;r<p-1;r++)g=Ro(y[r],y[r+1],t,r,!0),g&&(e[l]=e[l]||[],e[l].push(g[0]),(g[1]!==y[r+1]||r===p-2)&&(e[l].push(g[1]),l++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,r=t.length;i<r;i++)t[i]=Oo(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,r,l,d,p,g,y=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,d=this._parts.length;i<d;i++)for(g=this._parts[i],r=0,p=g.length,l=p-1;r<p;l=r++)if(!(!e&&r===0)&&Ao(t,g[l],g[r])<=y)return!0;return!1}});function Ll(t,e){return new It(t,e)}It._flat=Bo;var ie=It.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Do(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=It.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof J&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){It.prototype._setLatLngs.call(this,t),yt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return yt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new N(e,e);if(t=new X(t.min.subtract(i),t.max.add(i)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}for(var r=0,l=this._rings.length,d;r<l;r++)d=zo(this._rings[r],t,!0),d.length&&this._parts.push(d)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e=!1,i,r,l,d,p,g,y,E;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(d=0,y=this._parts.length;d<y;d++)for(i=this._parts[d],p=0,E=i.length,g=E-1;p<E;g=p++)r=i[p],l=i[g],r.y>t.y!=l.y>t.y&&t.x<(l.x-r.x)*(t.y-r.y)/(l.y-r.y)+r.x&&(e=!e);return e||It.prototype._containsPoint.call(this,t,!0)}});function wl(t,e){return new ie(t,e)}var Rt=At.extend({initialize:function(t,e){b(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e=M(t)?t:t.features,i,r,l;if(e){for(i=0,r=e.length;i<r;i++)l=e[i],(l.geometries||l.geometry||l.features||l.coordinates)&&this.addData(l);return this}var d=this.options;if(d.filter&&!d.filter(t))return this;var p=Ve(t,d);return p?(p.feature=Xe(t),p.defaultOptions=p.options,this.resetStyle(p),d.onEachFeature&&d.onEachFeature(t,p),this.addLayer(p)):this},resetStyle:function(t){return t===void 0?this.eachLayer(this.resetStyle,this):(t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){t.setStyle&&(typeof e=="function"&&(e=e(t.feature)),t.setStyle(e))}});function Ve(t,e){var i=t.type==="Feature"?t.geometry:t,r=i?i.coordinates:null,l=[],d=e&&e.pointToLayer,p=e&&e.coordsToLatLng||Yi,g,y,E,S;if(!r&&!i)return null;switch(i.type){case"Point":return g=p(r),Uo(d,t,g,e);case"MultiPoint":for(E=0,S=r.length;E<S;E++)g=p(r[E]),l.push(Uo(d,t,g,e));return new At(l);case"LineString":case"MultiLineString":return y=Je(r,i.type==="LineString"?0:1,p),new It(y,e);case"Polygon":case"MultiPolygon":return y=Je(r,i.type==="Polygon"?1:2,p),new ie(y,e);case"GeometryCollection":for(E=0,S=i.geometries.length;E<S;E++){var A=Ve({geometry:i.geometries[E],type:"Feature",properties:t.properties},e);A&&l.push(A)}return new At(l);case"FeatureCollection":for(E=0,S=i.features.length;E<S;E++){var H=Ve(i.features[E],e);H&&l.push(H)}return new At(l);default:throw new Error("Invalid GeoJSON object.")}}function Uo(t,e,i,r){return t?t(e,i):new We(i,r&&r.markersInheritOptions&&r)}function Yi(t){return new J(t[1],t[0],t[2])}function Je(t,e,i){for(var r=[],l=0,d=t.length,p;l<d;l++)p=e?Je(t[l],e-1,i):(i||Yi)(t[l]),r.push(p);return r}function Xi(t,e){return t=G(t),t.alt!==void 0?[T(t.lng,e),T(t.lat,e),T(t.alt,e)]:[T(t.lng,e),T(t.lat,e)]}function Ye(t,e,i,r){for(var l=[],d=0,p=t.length;d<p;d++)l.push(e?Ye(t[d],yt(t[d])?0:e-1,i,r):Xi(t[d],r));return!e&&i&&l.length>0&&l.push(l[0].slice()),l}function ne(t,e){return t.feature?n({},t.feature,{geometry:e}):Xe(e)}function Xe(t){return t.type==="Feature"||t.type==="FeatureCollection"?t:{type:"Feature",properties:{},geometry:t}}var $i={toGeoJSON:function(t){return ne(this,{type:"Point",coordinates:Xi(this.getLatLng(),t)})}};We.include($i),Ji.include($i),Ke.include($i),It.include({toGeoJSON:function(t){var e=!yt(this._latlngs),i=Ye(this._latlngs,e?1:0,!1,t);return ne(this,{type:(e?"Multi":"")+"LineString",coordinates:i})}}),ie.include({toGeoJSON:function(t){var e=!yt(this._latlngs),i=e&&!yt(this._latlngs[0]),r=Ye(this._latlngs,i?2:e?1:0,!0,t);return e||(r=[r]),ne(this,{type:(i?"Multi":"")+"Polygon",coordinates:r})}}),te.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(i){e.push(i.toGeoJSON(t).geometry.coordinates)}),ne(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(e==="MultiPoint")return this.toMultiPoint(t);var i=e==="GeometryCollection",r=[];return this.eachLayer(function(l){if(l.toGeoJSON){var d=l.toGeoJSON(t);if(i)r.push(d.geometry);else{var p=Xe(d);p.type==="FeatureCollection"?r.push.apply(r,p.features):r.push(p)}}}),i?ne(this,{geometries:r,type:"GeometryCollection"}):{type:"FeatureCollection",features:r}}});function Ho(t,e){return new Rt(t,e)}var kl=Ho,$e=kt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=it(e),b(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(U(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){$(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&$t(this._image),this},bringToBack:function(){return this._map&&Qt(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=it(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._url.tagName==="IMG",e=this._image=t?this._url:K("img");if(U(e,"leaflet-image-layer"),this._zoomAnimated&&U(e,"leaflet-zoom-animated"),this.options.className&&U(e,this.options.className),e.onselectstart=w,e.onmousemove=w,e.onload=c(this.fire,this,"load"),e.onerror=c(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(e.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t){this._url=e.src;return}e.src=this._url,e.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;jt(this._image,i,e)},_reset:function(){var t=this._image,e=new X(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();nt(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){vt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),bl=function(t,e,i){return new $e(t,e,i)},jo=$e.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t=this._url.tagName==="VIDEO",e=this._image=t?this._url:K("video");if(U(e,"leaflet-image-layer"),this._zoomAnimated&&U(e,"leaflet-zoom-animated"),this.options.className&&U(e,this.options.className),e.onselectstart=w,e.onmousemove=w,e.onloadeddata=c(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),r=[],l=0;l<i.length;l++)r.push(i[l].src);this._url=i.length>0?r:[e.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var d=0;d<this._url.length;d++){var p=K("source");p.src=this._url[d],e.appendChild(p)}}});function xl(t,e,i){return new jo(t,e,i)}var Go=$e.extend({_initImage:function(){var t=this._image=this._url;U(t,"leaflet-image-layer"),this._zoomAnimated&&U(t,"leaflet-zoom-animated"),this.options.className&&U(t,this.options.className),t.onselectstart=w,t.onmousemove=w}});function Pl(t,e,i){return new Go(t,e,i)}var Tt=kt.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof J||M(t))?(this._latlng=G(t),b(this,e)):(b(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return t=arguments.length?t:this._source._map,t.hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vt(this._container,1),this.bringToFront(),this.options.interactive&&(U(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(vt(this._container,0),this._removeTimeout=setTimeout(c($,void 0,this._container),200)):$(this._container),this.options.interactive&&(tt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=G(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&$t(this._container),this},bringToBack:function(){return this._map&&Qt(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof At){e=null;var i=this._source._layers;for(var r in i)if(i[r]._map){e=i[r];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else if(e.getBounds)t=e.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof e=="string")t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=R(this.options.offset),i=this._getAnchor();this._zoomAnimated?nt(this._container,t.add(i)):e=e.add(t).add(i);var r=this._containerBottom=-e.y,l=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=r+"px",this._container.style.left=l+"px"}},_getAnchor:function(){return[0,0]}});q.include({_initOverlay:function(t,e,i,r){var l=e;return l instanceof t||(l=new t(r).setContent(e)),i&&l.setLatLng(i),l}}),kt.include({_initOverlay:function(t,e,i,r){var l=i;return l instanceof t?(b(l,r),l._source=this):(l=e&&!r?e:new t(r,this),l.setContent(i)),l}});var Qe=Tt.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t=arguments.length?t:this._source._map,!t.hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Tt.prototype.openOn.call(this,t)},onAdd:function(t){Tt.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Ut||this._source.on("preclick",qt))},onRemove:function(t){Tt.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Ut||this._source.off("preclick",qt))},getEvents:function(){var t=Tt.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=K("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=K("div",t+"-content-wrapper",e);if(this._contentNode=K("div",t+"-content",i),ve(e),Ui(this._contentNode),F(e,"contextmenu",qt),this._tipContainer=K("div",t+"-tip-container",e),this._tip=K("div",t+"-tip",this._tipContainer),this.options.closeButton){var r=this._closeButton=K("a",t+"-close-button",e);r.setAttribute("role","button"),r.setAttribute("aria-label","Close popup"),r.href="#close",r.innerHTML='<span aria-hidden="true">&#215;</span>',F(r,"click",function(l){at(l),this.close()},this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var r=t.offsetHeight,l=this.options.maxHeight,d="leaflet-popup-scrolled";l&&r>l?(e.height=l+"px",U(t,d)):tt(t,d),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();nt(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var t=this._map,e=parseInt(pe(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,r=this._containerWidth,l=new N(this._containerLeft,-i-this._containerBottom);l._add(Gt(this._container));var d=t.layerPointToContainerPoint(l),p=R(this.options.autoPanPadding),g=R(this.options.autoPanPaddingTopLeft||p),y=R(this.options.autoPanPaddingBottomRight||p),E=t.getSize(),S=0,A=0;d.x+r+y.x>E.x&&(S=d.x+r-E.x+y.x),d.x-S-g.x<0&&(S=d.x-g.x),d.y+i+y.y>E.y&&(A=d.y+i-E.y+y.y),d.y-A-g.y<0&&(A=d.y-g.y),(S||A)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([S,A]))}},_getAnchor:function(){return R(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),El=function(t,e){return new Qe(t,e)};q.mergeOptions({closePopupOnClick:!0}),q.include({openPopup:function(t,e,i){return this._initOverlay(Qe,t,e,i).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}}),kt.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Qe,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof At||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(!(!this._popup||!this._map)){Wt(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof Ut)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng);return}this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){t.originalEvent.keyCode===13&&this._openPopup(t)}});var ti=Tt.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Tt.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Tt.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Tt.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=K("div",e),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+_(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,r=this._map,l=this._container,d=r.latLngToContainerPoint(r.getCenter()),p=r.layerPointToContainerPoint(t),g=this.options.direction,y=l.offsetWidth,E=l.offsetHeight,S=R(this.options.offset),A=this._getAnchor();g==="top"?(e=y/2,i=E):g==="bottom"?(e=y/2,i=0):g==="center"?(e=y/2,i=E/2):g==="right"?(e=0,i=E/2):g==="left"?(e=y,i=E/2):p.x<d.x?(g="right",e=0,i=E/2):(g="left",e=y+(S.x+A.x)*2,i=E/2),t=t.subtract(R(e,i,!0)).add(S).add(A),tt(l,"leaflet-tooltip-right"),tt(l,"leaflet-tooltip-left"),tt(l,"leaflet-tooltip-top"),tt(l,"leaflet-tooltip-bottom"),U(l,"leaflet-tooltip-"+g),nt(l,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vt(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return R(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Ml=function(t,e){return new ti(t,e)};q.include({openTooltip:function(t,e,i){return this._initOverlay(ti,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),kt.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(ti,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(!(!t&&this._tooltipHandlersAdded)){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof At||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e=typeof t.getElement=="function"&&t.getElement();e&&(F(e,"focus",function(){this._tooltip._source=t,this.openTooltip()},this),F(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e=typeof t.getElement=="function"&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",function(){e._openOnceFlag=!1,e._openTooltip(t)});return}this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)}},_moveTooltip:function(t){var e=t.latlng,i,r;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),r=this._map.containerPointToLayerPoint(i),e=this._map.layerPointToLatLng(r)),this._tooltip.setLatLng(e)}});var qo=ee.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&t.tagName==="DIV"?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(Ze(e),e.appendChild(i.html)):e.innerHTML=i.html!==!1?i.html:"",i.bgPos){var r=R(i.bgPos);e.style.backgroundPosition=-r.x+"px "+-r.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});function Tl(t){return new qo(t)}ee.Default=we;var ke=kt.extend({options:{tileSize:256,opacity:1,updateWhenIdle:z.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){b(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),$(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&($t(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Qt(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=v(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof N?t:new N(t,t)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e=this.getPane().children,i=-t(-1/0,1/0),r=0,l=e.length,d;r<l;r++)d=e[r].style.zIndex,e[r]!==this._container&&d&&(i=t(i,+d));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!z.ielt9){vt(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var r in this._tiles){var l=this._tiles[r];if(!(!l.current||!l.loaded)){var d=Math.min(1,(t-l.loaded)/200);vt(l.el,d),d<1?e=!0:(l.active?i=!0:this._onOpaqueTile(l),l.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(lt(this._fadeFrame),this._fadeFrame=st(this._updateOpacity,this))}},_onOpaqueTile:w,_initContainer:function(){this._container||(this._container=K("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(t!==void 0){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):($(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var r=this._levels[t],l=this._map;return r||(r=this._levels[t]={},r.el=K("div","leaflet-tile-container leaflet-zoom-animated",this._container),r.el.style.zIndex=e,r.origin=l.project(l.unproject(l.getPixelOrigin()),t).round(),r.zoom=t,this._setZoomTransform(r,l.getCenter(),l.getZoom()),w(r.el.offsetWidth),this._onCreateLevel(r)),this._level=r,r}},_onUpdateLevel:w,_onRemoveLevel:w,_onCreateLevel:w,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom){this._removeAllTiles();return}for(t in this._tiles)e=this._tiles[t],e.retain=e.current;for(t in this._tiles)if(e=this._tiles[t],e.current&&!e.active){var r=e.coords;this._retainParent(r.x,r.y,r.z,r.z-5)||this._retainChildren(r.x,r.y,r.z,r.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)$(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,r){var l=Math.floor(t/2),d=Math.floor(e/2),p=i-1,g=new N(+l,+d);g.z=+p;var y=this._tileCoordsToKey(g),E=this._tiles[y];return E&&E.active?(E.retain=!0,!0):(E&&E.loaded&&(E.retain=!0),p>r?this._retainParent(l,d,p,r):!1)},_retainChildren:function(t,e,i,r){for(var l=2*t;l<2*t+2;l++)for(var d=2*e;d<2*e+2;d++){var p=new N(l,d);p.z=i+1;var g=this._tileCoordsToKey(p),y=this._tiles[g];if(y&&y.active){y.retain=!0;continue}else y&&y.loaded&&(y.retain=!0);i+1<r&&this._retainChildren(l,d,i+1,r)}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return e.minNativeZoom!==void 0&&t<e.minNativeZoom?e.minNativeZoom:e.maxNativeZoom!==void 0&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,r){var l=Math.round(e);this.options.maxZoom!==void 0&&l>this.options.maxZoom||this.options.minZoom!==void 0&&l<this.options.minZoom?l=void 0:l=this._clampZoom(l);var d=this.options.updateWhenZooming&&l!==this._tileZoom;(!r||d)&&(this._tileZoom=l,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),l!==void 0&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var r=this._map.getZoomScale(i,t.zoom),l=t.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(e,i)).round();z.any3d?jt(t.el,l,r):nt(t.el,l)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),r=this._tileZoom,l=this._map.getPixelWorldBounds(this._tileZoom);l&&(this._globalTileRange=this._pxBoundsToTileRange(l)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],r).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],r).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],r).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],r).y/i.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),r=e.getZoomScale(i,this._tileZoom),l=e.project(t,this._tileZoom).floor(),d=e.getSize().divideBy(r*2);return new X(l.subtract(d),l.add(d))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(t===void 0&&(t=e.getCenter()),this._tileZoom!==void 0){var r=this._getTiledPixelBounds(t),l=this._pxBoundsToTileRange(r),d=l.getCenter(),p=[],g=this.options.keepBuffer,y=new X(l.getBottomLeft().subtract([g,-g]),l.getTopRight().add([g,-g]));if(!(isFinite(l.min.x)&&isFinite(l.min.y)&&isFinite(l.max.x)&&isFinite(l.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var E in this._tiles){var S=this._tiles[E].coords;(S.z!==this._tileZoom||!y.contains(new N(S.x,S.y)))&&(this._tiles[E].current=!1)}if(Math.abs(i-this._tileZoom)>1){this._setView(t,i);return}for(var A=l.min.y;A<=l.max.y;A++)for(var H=l.min.x;H<=l.max.x;H++){var ht=new N(H,A);if(ht.z=this._tileZoom,!!this._isValidTile(ht)){var rt=this._tiles[this._tileCoordsToKey(ht)];rt?rt.current=!0:p.push(ht)}}if(p.sort(function(ft,re){return ft.distanceTo(d)-re.distanceTo(d)}),p.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Lt=document.createDocumentFragment();for(H=0;H<p.length;H++)this._addTile(p[H],Lt);this._level.el.appendChild(Lt)}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var r=this._tileCoordsToBounds(t);return it(this.options.bounds).overlaps(r)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),r=t.scaleBy(i),l=r.add(i),d=e.unproject(r,t.z),p=e.unproject(l,t.z);return[d,p]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new dt(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new N(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&($(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){U(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=w,t.onmousemove=w,z.ielt9&&this.options.opacity<1&&vt(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),r=this._tileCoordsToKey(t),l=this.createTile(this._wrapCoords(t),c(this._tileReady,this,t));this._initTile(l),this.createTile.length<2&&st(c(this._tileReady,this,t,null,l)),nt(l,i),this._tiles[r]={el:l,coords:t,current:!0},e.appendChild(l),this.fire("tileloadstart",{tile:l,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var r=this._tileCoordsToKey(t);i=this._tiles[r],i&&(i.loaded=+new Date,this._map._fadeAnimated?(vt(i.el,0),lt(this._fadeFrame),this._fadeFrame=st(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(U(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),z.ielt9||!this._map._fadeAnimated?st(this._pruneTiles,this):setTimeout(c(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new N(this._wrapX?m(t.x,this._wrapX):t.x,this._wrapY?m(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new X(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function Cl(t){return new ke(t)}var oe=ke.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,e=b(this,e),e.detectRetina&&z.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),typeof e.subdomains=="string"&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&e===void 0&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return F(i,"load",c(this._tileOnLoad,this,e,i)),F(i,"error",c(this._tileOnError,this,e,i)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:z.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return x(this._url,n(e,this.options))},_tileOnLoad:function(t,e){z.ielt9?setTimeout(c(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var r=this.options.errorTileUrl;r&&e.getAttribute("src")!==r&&(e.src=r),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,r=this.options.zoomOffset;return i&&(t=e-t),t+r},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=w,e.onerror=w,!e.complete)){e.src=B;var i=this._tiles[t].coords;$(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",B),ke.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(!(!this._map||i&&i.getAttribute("src")===B))return ke.prototype._tileReady.call(this,t,e,i)}});function Wo(t,e){return new oe(t,e)}var Ko=oe.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var r in e)r in this.options||(i[r]=e[r]);e=b(this,e);var l=e.detectRetina&&z.retina?2:1,d=this.getTileSize();i.width=d.x*l,i.height=d.y*l,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,oe.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,r=ut(i.project(e[0]),i.project(e[1])),l=r.min,d=r.max,p=(this._wmsVersion>=1.3&&this._crs===Fo?[l.y,l.x,d.y,d.x]:[l.x,l.y,d.x,d.y]).join(","),g=oe.prototype.getTileUrl.call(this,t);return g+C(this.wmsParams,g,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+p},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});function Sl(t,e){return new Ko(t,e)}oe.WMS=Ko,Wo.wms=Sl;var Bt=kt.extend({options:{padding:.1},initialize:function(t){b(this,t),_(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),U(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),r=this._map.getSize().multiplyBy(.5+this.options.padding),l=this._map.project(this._center,e),d=r.multiplyBy(-i).add(l).subtract(this._map._getNewPixelOrigin(t,e));z.any3d?jt(this._container,d,i):nt(this._container,d)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new X(i,i.add(e.multiplyBy(1+t*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Vo=Bt.extend({options:{tolerance:0},getEvents:function(){var t=Bt.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Bt.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");F(t,"mousemove",this._onMouseMove,this),F(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),F(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){lt(this._redrawRequest),delete this._ctx,$(this._container),Y(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Bt.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),r=z.retina?2:1;nt(e,t.min),e.width=r*i.x,e.height=r*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",z.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Bt.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[_(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,r=e.prev;i?i.prev=r:this._drawLast=r,r?r.next=i:this._drawFirst=i,delete t._order,delete this._layers[_(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(typeof t.options.dashArray=="string"){var e=t.options.dashArray.split(/[, ]+/),i=[],r,l;for(l=0;l<e.length;l++){if(r=Number(e[l]),isNaN(r))return;i.push(r)}t.options._dashArray=i}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||st(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new X,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var r=this._drawFirst;r;r=r.next)t=r.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,r,l,d,p=t._parts,g=p.length,y=this._ctx;if(g){for(y.beginPath(),i=0;i<g;i++){for(r=0,l=p[i].length;r<l;r++)d=p[i][r],y[r?"lineTo":"moveTo"](d.x,d.y);e&&y.closePath()}this._fillStroke(y,t)}}},_updateCircle:function(t){if(!(!this._drawing||t._empty())){var e=t._point,i=this._ctx,r=Math.max(Math.round(t._radius),1),l=(Math.max(Math.round(t._radiusY),1)||r)/r;l!==1&&(i.save(),i.scale(1,l)),i.beginPath(),i.arc(e.x,e.y/l,r,0,Math.PI*2,!1),l!==1&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&i.weight!==0&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e=this._map.mouseEventToLayerPoint(t),i,r,l=this._drawFirst;l;l=l.next)i=l.layer,i.options.interactive&&i._containsPoint(e)&&(!(t.type==="click"||t.type==="preclick")||!this._map._draggableMoved(i))&&(r=i);this._fireEvent(r?[r]:!1,t)},_onMouseMove:function(t){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(tt(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,r,l=this._drawFirst;l;l=l.next)i=l.layer,i.options.interactive&&i._containsPoint(e)&&(r=i);r!==this._hoveredLayer&&(this._handleMouseOut(t),r&&(U(this._container,"leaflet-interactive"),this._fireEvent([r],t,"mouseover"),this._hoveredLayer=r)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,t),this._mouseHoverThrottled=!0,setTimeout(c(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,r=e.prev;if(i)i.prev=r;else return;r?r.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t)}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,r=e.prev;if(r)r.next=i;else return;i?i.prev=r:r&&(this._drawLast=r),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t)}}});function Jo(t){return z.canvas?new Vo(t):null}var be=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zl={_initContainer:function(){this._container=K("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Bt.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=be("shape");U(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=be("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[_(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;$(e),t.removeInteractiveTarget(e),delete this._layers[_(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,r=t.options,l=t._container;l.stroked=!!r.stroke,l.filled=!!r.fill,r.stroke?(e||(e=t._stroke=be("stroke")),l.appendChild(e),e.weight=r.weight+"px",e.color=r.color,e.opacity=r.opacity,r.dashArray?e.dashStyle=M(r.dashArray)?r.dashArray.join(" "):r.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=r.lineCap.replace("butt","flat"),e.joinstyle=r.lineJoin):e&&(l.removeChild(e),t._stroke=null),r.fill?(i||(i=t._fill=be("fill")),l.appendChild(i),i.color=r.fillColor||r.color,i.opacity=r.fillOpacity):i&&(l.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),r=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+r+" 0,"+65535*360)},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){$t(t._container)},_bringToBack:function(t){Qt(t._container)}},ei=z.vml?be:$n,xe=Bt.extend({_initContainer:function(){this._container=ei("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=ei("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){$(this._container),Y(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Bt.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;(!this._svgSize||!this._svgSize.equals(e))&&(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),nt(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=ei("path");t.options.className&&U(e,t.options.className),t.options.interactive&&U(e,"leaflet-interactive"),this._updateStyle(t),this._layers[_(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){$(t._path),t.removeInteractiveTarget(t._path),delete this._layers[_(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Qn(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),r=Math.max(Math.round(t._radiusY),1)||i,l="a"+i+","+r+" 0 1,0 ",d=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+l+i*2+",0 "+l+-i*2+",0 ";this._setPath(t,d)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){$t(t._path)},_bringToBack:function(t){Qt(t._path)}});z.vml&&xe.include(zl);function Yo(t){return z.svg||z.vml?new xe(t):null}q.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if(t==="overlayPane"||t===void 0)return!1;var e=this._paneRenderers[t];return e===void 0&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&Jo(t)||Yo(t)}});var Xo=ie.extend({initialize:function(t,e){ie.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=it(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Dl(t,e){return new Xo(t,e)}xe.create=ei,xe.pointsToPath=Qn,Rt.geometryToLayer=Ve,Rt.coordsToLatLng=Yi,Rt.coordsToLatLngs=Je,Rt.latLngToCoords=Xi,Rt.latLngsToCoords=Ye,Rt.getFeature=ne,Rt.asFeature=Xe,q.mergeOptions({boxZoom:!0});var $o=Mt.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){F(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Y(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){$(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||t.which!==1&&t.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),me(),Oi(),this._startPoint=this._map.mouseEventToContainerPoint(t),F(document,{contextmenu:Wt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=K("div","leaflet-zoom-box",this._container),U(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new X(this._point,this._startPoint),i=e.getSize();nt(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&($(this._box),tt(this._container,"leaflet-crosshair")),_e(),Ai(),Y(document,{contextmenu:Wt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if(!(t.which!==1&&t.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(c(this._resetState,this),0);var e=new dt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){t.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});q.addInitHook("addHandler","boxZoom",$o),q.mergeOptions({doubleClickZoom:!0});var Qo=Mt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),r=e.options.zoomDelta,l=t.originalEvent.shiftKey?i-r:i+r;e.options.doubleClickZoom==="center"?e.setZoom(l):e.setZoomAround(t.containerPoint,l)}});q.addInitHook("addHandler","doubleClickZoom",Qo),q.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var tr=Mt.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Zt(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}U(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){tt(this._map._container,"leaflet-grab"),tt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=it(this._map.options.maxBounds);this._offsetLimit=ut(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,r=this._draggable._newPos.x,l=(r-e+i)%t+e-i,d=(r+e+i)%t-e-i,p=Math.abs(l+i)<Math.abs(d+i)?l:d;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=p},_onDragEnd:function(t){var e=this._map,i=e.options,r=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),r)e.fire("moveend");else{this._prunePositions(+new Date);var l=this._lastPos.subtract(this._positions[0]),d=(this._lastTime-this._times[0])/1e3,p=i.easeLinearity,g=l.multiplyBy(p/d),y=g.distanceTo([0,0]),E=Math.min(i.inertiaMaxSpeed,y),S=g.multiplyBy(E/y),A=E/(i.inertiaDeceleration*p),H=S.multiplyBy(-A/2).round();!H.x&&!H.y?e.fire("moveend"):(H=e._limitOffset(H,e.options.maxBounds),st(function(){e.panBy(H,{duration:A,easeLinearity:p,noMoveStart:!0,animate:!0})}))}}});q.addInitHook("addHandler","dragging",tr),q.mergeOptions({keyboard:!0,keyboardPanDelta:80});var er=Mt.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),F(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Y(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,r=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(r,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e=this._panKeys={},i=this.keyCodes,r,l;for(r=0,l=i.left.length;r<l;r++)e[i.left[r]]=[-1*t,0];for(r=0,l=i.right.length;r<l;r++)e[i.right[r]]=[t,0];for(r=0,l=i.down.length;r<l;r++)e[i.down[r]]=[0,t];for(r=0,l=i.up.length;r<l;r++)e[i.up[r]]=[0,-1*t]},_setZoomDelta:function(t){var e=this._zoomKeys={},i=this.keyCodes,r,l;for(r=0,l=i.zoomIn.length;r<l;r++)e[i.zoomIn[r]]=t;for(r=0,l=i.zoomOut.length;r<l;r++)e[i.zoomOut[r]]=-t},_addHooks:function(){F(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Y(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=t.keyCode,i=this._map,r;if(e in this._panKeys){if(!i._panAnim||!i._panAnim._inProgress)if(r=this._panKeys[e],t.shiftKey&&(r=R(r).multiplyBy(3)),i.options.maxBounds&&(r=i._limitOffset(R(r),i.options.maxBounds)),i.options.worldCopyJump){var l=i.wrapLatLng(i.unproject(i.project(i.getCenter()).add(r)));i.panTo(l)}else i.panBy(r)}else if(e in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else if(e===27&&i._popup&&i._popup.options.closeOnEscapeKey)i.closePopup();else return;Wt(t)}}});q.addInitHook("addHandler","keyboard",er),q.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var ir=Mt.extend({addHooks:function(){F(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Y(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=Eo(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var r=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(c(this._performZoom,this),r),Wt(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var r=this._delta/(this._map.options.wheelPxPerZoomLevel*4),l=4*Math.log(2/(1+Math.exp(-Math.abs(r))))/Math.LN2,d=i?Math.ceil(l/i)*i:l,p=t._limitZoom(e+(this._delta>0?d:-d))-e;this._delta=0,this._startTime=null,p&&(t.options.scrollWheelZoom==="center"?t.setZoom(e+p):t.setZoomAround(this._lastMousePos,e+p))}});q.addInitHook("addHandler","scrollWheelZoom",ir);var Ol=600;q.mergeOptions({tapHold:z.touchNative&&z.safari&&z.mobile,tapTolerance:15});var nr=Mt.extend({addHooks:function(){F(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Y(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),t.touches.length===1){var e=t.touches[0];this._startPos=this._newPos=new N(e.clientX,e.clientY),this._holdTimeout=setTimeout(c(function(){this._cancel(),this._isTapValid()&&(F(document,"touchend",at),F(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),Ol),F(document,"touchend touchcancel contextmenu",this._cancel,this),F(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Y(document,"touchend",at),Y(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Y(document,"touchend touchcancel contextmenu",this._cancel,this),Y(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new N(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});q.addInitHook("addHandler","tapHold",nr),q.mergeOptions({touchZoom:z.touch,bounceAtZoomLimits:!0});var or=Mt.extend({addHooks:function(){U(this._map._container,"leaflet-touch-zoom"),F(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){tt(this._map._container,"leaflet-touch-zoom"),Y(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(!(!t.touches||t.touches.length!==2||e._animatingZoom||this._zooming)){var i=e.mouseEventToContainerPoint(t.touches[0]),r=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),e.options.touchZoom!=="center"&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(r)._divideBy(2))),this._startDist=i.distanceTo(r),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),F(document,"touchmove",this._onTouchMove,this),F(document,"touchend touchcancel",this._onTouchEnd,this),at(t)}},_onTouchMove:function(t){if(!(!t.touches||t.touches.length!==2||!this._zooming)){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),r=e.mouseEventToContainerPoint(t.touches[1]),l=i.distanceTo(r)/this._startDist;if(this._zoom=e.getScaleZoom(l,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&l<1||this._zoom>e.getMaxZoom()&&l>1)&&(this._zoom=e._limitZoom(this._zoom)),e.options.touchZoom==="center"){if(this._center=this._startLatLng,l===1)return}else{var d=i._add(r)._divideBy(2)._subtract(this._centerPoint);if(l===1&&d.x===0&&d.y===0)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(d),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),lt(this._animRequest);var p=c(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=st(p,this,!0),at(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,lt(this._animRequest),Y(document,"touchmove",this._onTouchMove,this),Y(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});q.addInitHook("addHandler","touchZoom",or),q.BoxZoom=$o,q.DoubleClickZoom=Qo,q.Drag=tr,q.Keyboard=er,q.ScrollWheelZoom=ir,q.TapHold=nr,q.TouchZoom=or,h.Bounds=X,h.Browser=z,h.CRS=Ot,h.Canvas=Vo,h.Circle=Ji,h.CircleMarker=Ke,h.Class=Dt,h.Control=wt,h.DivIcon=qo,h.DivOverlay=Tt,h.DomEvent=Xa,h.DomUtil=Ja,h.Draggable=Zt,h.Evented=ce,h.FeatureGroup=At,h.GeoJSON=Rt,h.GridLayer=ke,h.Handler=Mt,h.Icon=ee,h.ImageOverlay=$e,h.LatLng=J,h.LatLngBounds=dt,h.Layer=kt,h.LayerGroup=te,h.LineUtil=cl,h.Map=q,h.Marker=We,h.Mixin=ol,h.Path=Ut,h.Point=N,h.PolyUtil=rl,h.Polygon=ie,h.Polyline=It,h.Popup=Qe,h.PosAnimation=Mo,h.Projection=ul,h.Rectangle=Xo,h.Renderer=Bt,h.SVG=xe,h.SVGOverlay=Go,h.TileLayer=oe,h.Tooltip=ti,h.Transformation=wi,h.Util=ga,h.VideoOverlay=jo,h.bind=c,h.bounds=ut,h.canvas=Jo,h.circle=yl,h.circleMarker=vl,h.control=ye,h.divIcon=Tl,h.extend=n,h.featureGroup=ml,h.geoJSON=Ho,h.geoJson=kl,h.gridLayer=Cl,h.icon=_l,h.imageOverlay=bl,h.latLng=G,h.latLngBounds=it,h.layerGroup=pl,h.map=$a,h.marker=gl,h.point=R,h.polygon=wl,h.polyline=Ll,h.popup=El,h.rectangle=Dl,h.setOptions=b,h.stamp=_,h.svg=Yo,h.svgOverlay=Pl,h.tileLayer=Wo,h.tooltip=Ml,h.transformation=ue,h.version=u,h.videoOverlay=xl;var Al=window.L;h.noConflict=function(){return window.L=Al,this},window.L=h})}(Te,Te.exports)),Te.exports}var Z=cn();const ql="";function un(s,a,h){h===void 0&&(h={});var u={type:"Feature"};return(h.id===0||h.id)&&(u.id=h.id),h.bbox&&(u.bbox=h.bbox),u.properties=a||{},u.geometry=s,u}function vr(s,a,h){if(h===void 0&&(h={}),!s)throw new Error("coordinates is required");if(!Array.isArray(s))throw new Error("coordinates must be an Array");if(s.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!dn(s[0])||!dn(s[1]))throw new Error("coordinates must contain numbers");var u={type:"Point",coordinates:s};return un(u,a,h)}function yr(s,a,h){h===void 0&&(h={});for(var u=0,n=s;u<n.length;u++){var o=n[u];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var c=0;c<o[o.length-1].length;c++)if(o[o.length-1][c]!==o[0][c])throw new Error("First and last Position are not equivalent.")}var f={type:"Polygon",coordinates:s};return un(f,a,h)}function dn(s){return!isNaN(s)&&s!==null&&!Array.isArray(s)}function Lr(s){if(!s)throw new Error("coord is required");if(!Array.isArray(s)){if(s.type==="Feature"&&s.geometry!==null&&s.geometry.type==="Point")return s.geometry.coordinates;if(s.type==="Point")return s.coordinates}if(Array.isArray(s)&&s.length>=2&&!Array.isArray(s[0])&&!Array.isArray(s[1]))return s;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function wr(s){return s.type==="Feature"?s.geometry:s}function kr(s,a,h){if(h===void 0&&(h={}),!s)throw new Error("point is required");if(!a)throw new Error("polygon is required");var u=Lr(s),n=wr(a),o=n.type,c=a.bbox,f=n.coordinates;if(c&&br(u,c)===!1)return!1;o==="Polygon"&&(f=[f]);for(var _=!1,v=0;v<f.length&&!_;v++)if(fn(u,f[v][0],h.ignoreBoundary)){for(var m=!1,w=1;w<f[v].length&&!m;)fn(u,f[v][w],!h.ignoreBoundary)&&(m=!0),w++;m||(_=!0)}return _}function fn(s,a,h){var u=!1;a[0][0]===a[a.length-1][0]&&a[0][1]===a[a.length-1][1]&&(a=a.slice(0,a.length-1));for(var n=0,o=a.length-1;n<a.length;o=n++){var c=a[n][0],f=a[n][1],_=a[o][0],v=a[o][1],m=s[1]*(c-_)+f*(_-s[0])+v*(s[0]-c)===0&&(c-s[0])*(_-s[0])<=0&&(f-s[1])*(v-s[1])<=0;if(m)return!h;var w=f>s[1]!=v>s[1]&&s[0]<(_-c)*(s[1]-f)/(v-f)+c;w&&(u=!u)}return u}function br(s,a){return a[0]<=s[0]&&a[1]<=s[1]&&a[2]>=s[0]&&a[3]>=s[1]}const Wl="";var xr={exports:{}};const pn=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],St=(()=>{if(typeof document>"u")return!1;const s=pn[0],a={};for(const h of pn)if((h==null?void 0:h[1])in document){for(const[n,o]of h.entries())a[s[n]]=o;return a}return!1})(),mn={change:St.fullscreenchange,error:St.fullscreenerror};let mt={request(s=document.documentElement,a){return new Promise((h,u)=>{const n=()=>{mt.off("change",n),h()};mt.on("change",n);const o=s[St.requestFullscreen](a);o instanceof Promise&&o.then(n).catch(u)})},exit(){return new Promise((s,a)=>{if(!mt.isFullscreen){s();return}const h=()=>{mt.off("change",h),s()};mt.on("change",h);const u=document[St.exitFullscreen]();u instanceof Promise&&u.then(h).catch(a)})},toggle(s,a){return mt.isFullscreen?mt.exit():mt.request(s,a)},onchange(s){mt.on("change",s)},onerror(s){mt.on("error",s)},on(s,a){const h=mn[s];h&&document.addEventListener(h,a,!1)},off(s,a){const h=mn[s];h&&document.removeEventListener(h,a,!1)},raw:St};Object.defineProperties(mt,{isFullscreen:{get:()=>!!document[St.fullscreenElement]},element:{enumerable:!0,get:()=>document[St.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>!!document[St.fullscreenEnabled]}}),St||(mt={isEnabled:!1});const Pr=en(Object.freeze(Object.defineProperty({__proto__:null,default:mt},Symbol.toStringTag,{value:"Module"})));/*!
4
+ */var bh;function Th(){return bh||(bh=1,function(r,t){(function(e,i){i(t)})(qe,function(e){var i="1.9.4";function n(s){var l,u,g,p;for(u=1,g=arguments.length;u<g;u++){p=arguments[u];for(l in p)s[l]=p[l]}return s}var o=Object.create||function(){function s(){}return function(l){return s.prototype=l,new s}}();function a(s,l){var u=Array.prototype.slice;if(s.bind)return s.bind.apply(s,u.call(arguments,1));var g=u.call(arguments,2);return function(){return s.apply(l,g.length?g.concat(u.call(arguments)):arguments)}}var h=0;function c(s){return"_leaflet_id"in s||(s._leaflet_id=++h),s._leaflet_id}function d(s,l,u){var g,p,x,C;return C=function(){g=!1,p&&(x.apply(u,p),p=!1)},x=function(){g?p=arguments:(s.apply(u,arguments),setTimeout(C,l),g=!0)},x}function f(s,l,u){var g=l[1],p=l[0],x=g-p;return s===g&&u?s:((s-p)%x+x)%x+p}function _(){return!1}function m(s,l){if(l===!1)return s;var u=Math.pow(10,l===void 0?6:l);return Math.round(s*u)/u}function v(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function y(s){return v(s).split(/\s+/)}function E(s,l){Object.prototype.hasOwnProperty.call(s,"options")||(s.options=s.options?o(s.options):{});for(var u in l)s.options[u]=l[u];return s.options}function b(s,l,u){var g=[];for(var p in s)g.push(encodeURIComponent(u?p.toUpperCase():p)+"="+encodeURIComponent(s[p]));return(!l||l.indexOf("?")===-1?"?":"&")+g.join("&")}var S=/\{ *([\w_ -]+) *\}/g;function w(s,l){return s.replace(S,function(u,g){var p=l[g];if(p===void 0)throw new Error("No value provided for variable "+u);return typeof p=="function"&&(p=p(l)),p})}var T=Array.isArray||function(s){return Object.prototype.toString.call(s)==="[object Array]"};function P(s,l){for(var u=0;u<s.length;u++)if(s[u]===l)return u;return-1}var M="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function I(s){return window["webkit"+s]||window["moz"+s]||window["ms"+s]}var D=0;function z(s){var l=+new Date,u=Math.max(0,16-(l-D));return D=l+u,window.setTimeout(s,u)}var W=window.requestAnimationFrame||I("RequestAnimationFrame")||z,K=window.cancelAnimationFrame||I("CancelAnimationFrame")||I("CancelRequestAnimationFrame")||function(s){window.clearTimeout(s)};function Q(s,l,u){if(u&&W===z)s.call(l);else return W.call(window,a(s,l))}function q(s){s&&K.call(window,s)}var ct={__proto__:null,extend:n,create:o,bind:a,get lastId(){return h},stamp:c,throttle:d,wrapNum:f,falseFn:_,formatNum:m,trim:v,splitWords:y,setOptions:E,getParamString:b,template:w,isArray:T,indexOf:P,emptyImageUrl:M,requestFn:W,cancelFn:K,requestAnimFrame:Q,cancelAnimFrame:q};function Et(){}Et.extend=function(s){var l=function(){E(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},u=l.__super__=this.prototype,g=o(u);g.constructor=l,l.prototype=g;for(var p in this)Object.prototype.hasOwnProperty.call(this,p)&&p!=="prototype"&&p!=="__super__"&&(l[p]=this[p]);return s.statics&&n(l,s.statics),s.includes&&(V(s.includes),n.apply(null,[g].concat(s.includes))),n(g,s),delete g.statics,delete g.includes,g.options&&(g.options=u.options?o(u.options):{},n(g.options,s.options)),g._initHooks=[],g.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this),this._initHooksCalled=!0;for(var x=0,C=g._initHooks.length;x<C;x++)g._initHooks[x].call(this)}},l},Et.include=function(s){var l=this.prototype.options;return n(this.prototype,s),s.options&&(this.prototype.options=l,this.mergeOptions(s.options)),this},Et.mergeOptions=function(s){return n(this.prototype.options,s),this},Et.addInitHook=function(s){var l=Array.prototype.slice.call(arguments,1),u=typeof s=="function"?s:function(){this[s].apply(this,l)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(u),this};function V(s){if(!(typeof L>"u"||!L||!L.Mixin)){s=T(s)?s:[s];for(var l=0;l<s.length;l++)s[l]===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 H={on:function(s,l,u){if(typeof s=="object")for(var g in s)this._on(g,s[g],l);else{s=y(s);for(var p=0,x=s.length;p<x;p++)this._on(s[p],l,u)}return this},off:function(s,l,u){if(!arguments.length)delete this._events;else if(typeof s=="object")for(var g in s)this._off(g,s[g],l);else{s=y(s);for(var p=arguments.length===1,x=0,C=s.length;x<C;x++)p?this._off(s[x]):this._off(s[x],l,u)}return this},_on:function(s,l,u,g){if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}if(this._listens(s,l,u)===!1){u===this&&(u=void 0);var p={fn:l,ctx:u};g&&(p.once=!0),this._events=this._events||{},this._events[s]=this._events[s]||[],this._events[s].push(p)}},_off:function(s,l,u){var g,p,x;if(this._events&&(g=this._events[s],!!g)){if(arguments.length===1){if(this._firingCount)for(p=0,x=g.length;p<x;p++)g[p].fn=_;delete this._events[s];return}if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}var C=this._listens(s,l,u);if(C!==!1){var k=g[C];this._firingCount&&(k.fn=_,this._events[s]=g=g.slice()),g.splice(C,1)}}},fire:function(s,l,u){if(!this.listens(s,u))return this;var g=n({},l,{type:s,target:this,sourceTarget:l&&l.sourceTarget||this});if(this._events){var p=this._events[s];if(p){this._firingCount=this._firingCount+1||1;for(var x=0,C=p.length;x<C;x++){var k=p[x],R=k.fn;k.once&&this.off(s,R,k.ctx),R.call(k.ctx||this,g)}this._firingCount--}}return u&&this._propagateEvent(g),this},listens:function(s,l,u,g){typeof s!="string"&&console.warn('"string" type argument expected');var p=l;typeof l!="function"&&(g=!!l,p=void 0,u=void 0);var x=this._events&&this._events[s];if(x&&x.length&&this._listens(s,p,u)!==!1)return!0;if(g){for(var C in this._eventParents)if(this._eventParents[C].listens(s,l,u,g))return!0}return!1},_listens:function(s,l,u){if(!this._events)return!1;var g=this._events[s]||[];if(!l)return!!g.length;u===this&&(u=void 0);for(var p=0,x=g.length;p<x;p++)if(g[p].fn===l&&g[p].ctx===u)return p;return!1},once:function(s,l,u){if(typeof s=="object")for(var g in s)this._on(g,s[g],l,!0);else{s=y(s);for(var p=0,x=s.length;p<x;p++)this._on(s[p],l,u,!0)}return this},addEventParent:function(s){return this._eventParents=this._eventParents||{},this._eventParents[c(s)]=s,this},removeEventParent:function(s){return this._eventParents&&delete this._eventParents[c(s)],this},_propagateEvent:function(s){for(var l in this._eventParents)this._eventParents[l].fire(s.type,n({layer:s.target,propagatedFrom:s.target},s),!0)}};H.addEventListener=H.on,H.removeEventListener=H.clearAllEventListeners=H.off,H.addOneTimeEventListener=H.once,H.fireEvent=H.fire,H.hasEventListeners=H.listens;var Z=Et.extend(H);function B(s,l,u){this.x=u?Math.round(s):s,this.y=u?Math.round(l):l}var yt=Math.trunc||function(s){return s>0?Math.floor(s):Math.ceil(s)};B.prototype={clone:function(){return new B(this.x,this.y)},add:function(s){return this.clone()._add(U(s))},_add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.clone()._subtract(U(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 B(this.x*s.x,this.y*s.y)},unscaleBy:function(s){return new B(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=yt(this.x),this.y=yt(this.y),this},distanceTo:function(s){s=U(s);var l=s.x-this.x,u=s.y-this.y;return Math.sqrt(l*l+u*u)},equals:function(s){return s=U(s),s.x===this.x&&s.y===this.y},contains:function(s){return s=U(s),Math.abs(s.x)<=Math.abs(this.x)&&Math.abs(s.y)<=Math.abs(this.y)},toString:function(){return"Point("+m(this.x)+", "+m(this.y)+")"}};function U(s,l,u){return s instanceof B?s:T(s)?new B(s[0],s[1]):s==null?s:typeof s=="object"&&"x"in s&&"y"in s?new B(s.x,s.y):new B(s,l,u)}function st(s,l){if(s)for(var u=l?[s,l]:s,g=0,p=u.length;g<p;g++)this.extend(u[g])}st.prototype={extend:function(s){var l,u;if(!s)return this;if(s instanceof B||typeof s[0]=="number"||"x"in s)l=u=U(s);else if(s=F(s),l=s.min,u=s.max,!l||!u)return this;return!this.min&&!this.max?(this.min=l.clone(),this.max=u.clone()):(this.min.x=Math.min(l.x,this.min.x),this.max.x=Math.max(u.x,this.max.x),this.min.y=Math.min(l.y,this.min.y),this.max.y=Math.max(u.y,this.max.y)),this},getCenter:function(s){return U((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,s)},getBottomLeft:function(){return U(this.min.x,this.max.y)},getTopRight:function(){return U(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 l,u;return typeof s[0]=="number"||s instanceof B?s=U(s):s=F(s),s instanceof st?(l=s.min,u=s.max):l=u=s,l.x>=this.min.x&&u.x<=this.max.x&&l.y>=this.min.y&&u.y<=this.max.y},intersects:function(s){s=F(s);var l=this.min,u=this.max,g=s.min,p=s.max,x=p.x>=l.x&&g.x<=u.x,C=p.y>=l.y&&g.y<=u.y;return x&&C},overlaps:function(s){s=F(s);var l=this.min,u=this.max,g=s.min,p=s.max,x=p.x>l.x&&g.x<u.x,C=p.y>l.y&&g.y<u.y;return x&&C},isValid:function(){return!!(this.min&&this.max)},pad:function(s){var l=this.min,u=this.max,g=Math.abs(l.x-u.x)*s,p=Math.abs(l.y-u.y)*s;return F(U(l.x-g,l.y-p),U(u.x+g,u.y+p))},equals:function(s){return s?(s=F(s),this.min.equals(s.getTopLeft())&&this.max.equals(s.getBottomRight())):!1}};function F(s,l){return!s||s instanceof st?s:new st(s,l)}function Lt(s,l){if(s)for(var u=l?[s,l]:s,g=0,p=u.length;g<p;g++)this.extend(u[g])}Lt.prototype={extend:function(s){var l=this._southWest,u=this._northEast,g,p;if(s instanceof Y)g=s,p=s;else if(s instanceof Lt){if(g=s._southWest,p=s._northEast,!g||!p)return this}else return s?this.extend(nt(s)||J(s)):this;return!l&&!u?(this._southWest=new Y(g.lat,g.lng),this._northEast=new Y(p.lat,p.lng)):(l.lat=Math.min(g.lat,l.lat),l.lng=Math.min(g.lng,l.lng),u.lat=Math.max(p.lat,u.lat),u.lng=Math.max(p.lng,u.lng)),this},pad:function(s){var l=this._southWest,u=this._northEast,g=Math.abs(l.lat-u.lat)*s,p=Math.abs(l.lng-u.lng)*s;return new Lt(new Y(l.lat-g,l.lng-p),new Y(u.lat+g,u.lng+p))},getCenter:function(){return new Y((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 Y(this.getNorth(),this.getWest())},getSouthEast:function(){return new Y(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 Y||"lat"in s?s=nt(s):s=J(s);var l=this._southWest,u=this._northEast,g,p;return s instanceof Lt?(g=s.getSouthWest(),p=s.getNorthEast()):g=p=s,g.lat>=l.lat&&p.lat<=u.lat&&g.lng>=l.lng&&p.lng<=u.lng},intersects:function(s){s=J(s);var l=this._southWest,u=this._northEast,g=s.getSouthWest(),p=s.getNorthEast(),x=p.lat>=l.lat&&g.lat<=u.lat,C=p.lng>=l.lng&&g.lng<=u.lng;return x&&C},overlaps:function(s){s=J(s);var l=this._southWest,u=this._northEast,g=s.getSouthWest(),p=s.getNorthEast(),x=p.lat>l.lat&&g.lat<u.lat,C=p.lng>l.lng&&g.lng<u.lng;return x&&C},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(s,l){return s?(s=J(s),this._southWest.equals(s.getSouthWest(),l)&&this._northEast.equals(s.getNorthEast(),l)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function J(s,l){return s instanceof Lt?s:new Lt(s,l)}function Y(s,l,u){if(isNaN(s)||isNaN(l))throw new Error("Invalid LatLng object: ("+s+", "+l+")");this.lat=+s,this.lng=+l,u!==void 0&&(this.alt=+u)}Y.prototype={equals:function(s,l){if(!s)return!1;s=nt(s);var u=Math.max(Math.abs(this.lat-s.lat),Math.abs(this.lng-s.lng));return u<=(l===void 0?1e-9:l)},toString:function(s){return"LatLng("+m(this.lat,s)+", "+m(this.lng,s)+")"},distanceTo:function(s){return St.distance(this,nt(s))},wrap:function(){return St.wrapLatLng(this)},toBounds:function(s){var l=180*s/40075017,u=l/Math.cos(Math.PI/180*this.lat);return J([this.lat-l,this.lng-u],[this.lat+l,this.lng+u])},clone:function(){return new Y(this.lat,this.lng,this.alt)}};function nt(s,l,u){return s instanceof Y?s:T(s)&&typeof s[0]!="object"?s.length===3?new Y(s[0],s[1],s[2]):s.length===2?new Y(s[0],s[1]):null:s==null?s:typeof s=="object"&&"lat"in s?new Y(s.lat,"lng"in s?s.lng:s.lon,s.alt):l===void 0?null:new Y(s,l,u)}var Ft={latLngToPoint:function(s,l){var u=this.projection.project(s),g=this.scale(l);return this.transformation._transform(u,g)},pointToLatLng:function(s,l){var u=this.scale(l),g=this.transformation.untransform(s,u);return this.projection.unproject(g)},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 l=this.projection.bounds,u=this.scale(s),g=this.transformation.transform(l.min,u),p=this.transformation.transform(l.max,u);return new st(g,p)},infinite:!1,wrapLatLng:function(s){var l=this.wrapLng?f(s.lng,this.wrapLng,!0):s.lng,u=this.wrapLat?f(s.lat,this.wrapLat,!0):s.lat,g=s.alt;return new Y(u,l,g)},wrapLatLngBounds:function(s){var l=s.getCenter(),u=this.wrapLatLng(l),g=l.lat-u.lat,p=l.lng-u.lng;if(g===0&&p===0)return s;var x=s.getSouthWest(),C=s.getNorthEast(),k=new Y(x.lat-g,x.lng-p),R=new Y(C.lat-g,C.lng-p);return new Lt(k,R)}},St=n({},Ft,{wrapLng:[-180,180],R:6371e3,distance:function(s,l){var u=Math.PI/180,g=s.lat*u,p=l.lat*u,x=Math.sin((l.lat-s.lat)*u/2),C=Math.sin((l.lng-s.lng)*u/2),k=x*x+Math.cos(g)*Math.cos(p)*C*C,R=2*Math.atan2(Math.sqrt(k),Math.sqrt(1-k));return this.R*R}}),ve=6378137,je={R:ve,MAX_LATITUDE:85.0511287798,project:function(s){var l=Math.PI/180,u=this.MAX_LATITUDE,g=Math.max(Math.min(u,s.lat),-u),p=Math.sin(g*l);return new B(this.R*s.lng*l,this.R*Math.log((1+p)/(1-p))/2)},unproject:function(s){var l=180/Math.PI;return new Y((2*Math.atan(Math.exp(s.y/this.R))-Math.PI/2)*l,s.x*l/this.R)},bounds:function(){var s=ve*Math.PI;return new st([-s,-s],[s,s])}()};function Di(s,l,u,g){if(T(s)){this._a=s[0],this._b=s[1],this._c=s[2],this._d=s[3];return}this._a=s,this._b=l,this._c=u,this._d=g}Di.prototype={transform:function(s,l){return this._transform(s.clone(),l)},_transform:function(s,l){return l=l||1,s.x=l*(this._a*s.x+this._b),s.y=l*(this._c*s.y+this._d),s},untransform:function(s,l){return l=l||1,new B((s.x/l-this._b)/this._a,(s.y/l-this._d)/this._c)}};function xe(s,l,u,g){return new Di(s,l,u,g)}var Oi=n({},St,{code:"EPSG:3857",projection:je,transformation:function(){var s=.5/(Math.PI*je.R);return xe(s,.5,-s,.5)}()}),We=n({},Oi,{code:"EPSG:900913"});function Fi(s){return document.createElementNS("http://www.w3.org/2000/svg",s)}function Pe(s,l){var u="",g,p,x,C,k,R;for(g=0,x=s.length;g<x;g++){for(k=s[g],p=0,C=k.length;p<C;p++)R=k[p],u+=(p?"L":"M")+R.x+" "+R.y;u+=l?X.svg?"z":"x":""}return u||"M0 0"}var zi=document.documentElement.style,di="ActiveXObject"in window,Xn=di&&!document.addEventListener,fi="msLaunchUri"in navigator&&!("documentMode"in document),hn=zt("webkit"),Xt=zt("android"),ie=zt("android 2")||zt("android 3"),me=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),ke=Xt&&zt("Google")&&me<537&&!("AudioNode"in window),He=!!window.opera,Ve=!fi&&zt("chrome"),Re=zt("gecko")&&!hn&&!He&&!di,Ni=!Ve&&zt("safari"),cn=zt("phantom"),Wt="OTransition"in zi,Ur=navigator.platform.indexOf("Win")===0,So=di&&"transition"in zi,Zr="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!ie,jr="MozPerspective"in zi,Po=!window.L_DISABLE_3D&&(So||Zr||jr)&&!Wt&&!cn,gi=typeof orientation<"u"||zt("mobile"),ko=gi&&hn,Wr=gi&&Zr,Bi=!window.PointerEvent&&window.MSPointerEvent,Gi=!!(window.PointerEvent||Bi),Ui="ontouchstart"in window||!!window.TouchEvent,Ro=!window.L_NO_TOUCH&&(Ui||Gi),Mo=gi&&He,ne=gi&&Re,Zi=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,he=function(){var s=!1;try{var l=Object.defineProperty({},"passive",{get:function(){s=!0}});window.addEventListener("testPassiveEventSupport",_,l),window.removeEventListener("testPassiveEventSupport",_,l)}catch{}return s}(),Me=function(){return!!document.createElement("canvas").getContext}(),Yt=!!(document.createElementNS&&Fi("svg").createSVGRect),Yn=!!Yt&&function(){var s=document.createElement("div");return s.innerHTML="<svg/>",(s.firstChild&&s.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Kn=!Yt&&function(){try{var s=document.createElement("div");s.innerHTML='<v:shape adj="1"/>';var l=s.firstChild;return l.style.behavior="url(#default#VML)",l&&typeof l.adj=="object"}catch{return!1}}(),te=navigator.platform.indexOf("Mac")===0,ce=navigator.platform.indexOf("Linux")===0;function zt(s){return navigator.userAgent.toLowerCase().indexOf(s)>=0}var X={ie:di,ielt9:Xn,edge:fi,webkit:hn,android:Xt,android23:ie,androidStock:ke,opera:He,chrome:Ve,gecko:Re,safari:Ni,phantom:cn,opera12:Wt,win:Ur,ie3d:So,webkit3d:Zr,gecko3d:jr,any3d:Po,mobile:gi,mobileWebkit:ko,mobileWebkit3d:Wr,msPointer:Bi,pointer:Gi,touch:Ro,touchNative:Ui,mobileOpera:Mo,mobileGecko:ne,retina:Zi,passiveEvents:he,canvas:Me,svg:Yt,vml:Kn,inlineSvg:Yn,mac:te,linux:ce},ef=X.msPointer?"MSPointerDown":"pointerdown",nf=X.msPointer?"MSPointerMove":"pointermove",rf=X.msPointer?"MSPointerUp":"pointerup",sf=X.msPointer?"MSPointerCancel":"pointercancel",Wl={touchstart:ef,touchmove:nf,touchend:rf,touchcancel:sf},of={touchstart:bw,touchmove:Io,touchend:Io,touchcancel:Io},qn={},af=!1;function vw(s,l,u){return l==="touchstart"&&Lw(),of[l]?(u=of[l].bind(this,u),s.addEventListener(Wl[l],u,!1),u):(console.warn("wrong event specified:",l),_)}function xw(s,l,u){if(!Wl[l]){console.warn("wrong event specified:",l);return}s.removeEventListener(Wl[l],u,!1)}function Ew(s){qn[s.pointerId]=s}function ww(s){qn[s.pointerId]&&(qn[s.pointerId]=s)}function lf(s){delete qn[s.pointerId]}function Lw(){af||(document.addEventListener(ef,Ew,!0),document.addEventListener(nf,ww,!0),document.addEventListener(rf,lf,!0),document.addEventListener(sf,lf,!0),af=!0)}function Io(s,l){if(l.pointerType!==(l.MSPOINTER_TYPE_MOUSE||"mouse")){l.touches=[];for(var u in qn)l.touches.push(qn[u]);l.changedTouches=[l],s(l)}}function bw(s,l){l.MSPOINTER_TYPE_TOUCH&&l.pointerType===l.MSPOINTER_TYPE_TOUCH&&Kt(l),Io(s,l)}function Tw(s){var l={},u,g;for(g in s)u=s[g],l[g]=u&&u.bind?u.bind(s):u;return s=l,l.type="dblclick",l.detail=2,l.isTrusted=!1,l._simulated=!0,l}var Cw=200;function Sw(s,l){s.addEventListener("dblclick",l);var u=0,g;function p(x){if(x.detail!==1){g=x.detail;return}if(!(x.pointerType==="mouse"||x.sourceCapabilities&&!x.sourceCapabilities.firesTouchEvents)){var C=ff(x);if(!(C.some(function(R){return R instanceof HTMLLabelElement&&R.attributes.for})&&!C.some(function(R){return R instanceof HTMLInputElement||R instanceof HTMLSelectElement}))){var k=Date.now();k-u<=Cw?(g++,g===2&&l(Tw(x))):g=1,u=k}}}return s.addEventListener("click",p),{dblclick:l,simDblclick:p}}function Pw(s,l){s.removeEventListener("dblclick",l.dblclick),s.removeEventListener("click",l.simDblclick)}var Hl=Oo(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Hr=Oo(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),hf=Hr==="webkitTransition"||Hr==="OTransition"?Hr+"End":"transitionend";function cf(s){return typeof s=="string"?document.getElementById(s):s}function Vr(s,l){var u=s.style[l]||s.currentStyle&&s.currentStyle[l];if((!u||u==="auto")&&document.defaultView){var g=document.defaultView.getComputedStyle(s,null);u=g?g[l]:null}return u==="auto"?null:u}function mt(s,l,u){var g=document.createElement(s);return g.className=l||"",u&&u.appendChild(g),g}function Rt(s){var l=s.parentNode;l&&l.removeChild(s)}function Ao(s){for(;s.firstChild;)s.removeChild(s.firstChild)}function $n(s){var l=s.parentNode;l&&l.lastChild!==s&&l.appendChild(s)}function Jn(s){var l=s.parentNode;l&&l.firstChild!==s&&l.insertBefore(s,l.firstChild)}function Vl(s,l){if(s.classList!==void 0)return s.classList.contains(l);var u=Do(s);return u.length>0&&new RegExp("(^|\\s)"+l+"(\\s|$)").test(u)}function lt(s,l){if(s.classList!==void 0)for(var u=y(l),g=0,p=u.length;g<p;g++)s.classList.add(u[g]);else if(!Vl(s,l)){var x=Do(s);Xl(s,(x?x+" ":"")+l)}}function At(s,l){s.classList!==void 0?s.classList.remove(l):Xl(s,v((" "+Do(s)+" ").replace(" "+l+" "," ")))}function Xl(s,l){s.className.baseVal===void 0?s.className=l:s.className.baseVal=l}function Do(s){return s.correspondingElement&&(s=s.correspondingElement),s.className.baseVal===void 0?s.className:s.className.baseVal}function Ee(s,l){"opacity"in s.style?s.style.opacity=l:"filter"in s.style&&kw(s,l)}function kw(s,l){var u=!1,g="DXImageTransform.Microsoft.Alpha";try{u=s.filters.item(g)}catch{if(l===1)return}l=Math.round(l*100),u?(u.Enabled=l!==100,u.Opacity=l):s.style.filter+=" progid:"+g+"(opacity="+l+")"}function Oo(s){for(var l=document.documentElement.style,u=0;u<s.length;u++)if(s[u]in l)return s[u];return!1}function un(s,l,u){var g=l||new B(0,0);s.style[Hl]=(X.ie3d?"translate("+g.x+"px,"+g.y+"px)":"translate3d("+g.x+"px,"+g.y+"px,0)")+(u?" scale("+u+")":"")}function Nt(s,l){s._leaflet_pos=l,X.any3d?un(s,l):(s.style.left=l.x+"px",s.style.top=l.y+"px")}function dn(s){return s._leaflet_pos||new B(0,0)}var Xr,Yr,Yl;if("onselectstart"in document)Xr=function(){ot(window,"selectstart",Kt)},Yr=function(){Pt(window,"selectstart",Kt)};else{var Kr=Oo(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Xr=function(){if(Kr){var s=document.documentElement.style;Yl=s[Kr],s[Kr]="none"}},Yr=function(){Kr&&(document.documentElement.style[Kr]=Yl,Yl=void 0)}}function Kl(){ot(window,"dragstart",Kt)}function ql(){Pt(window,"dragstart",Kt)}var Fo,$l;function Jl(s){for(;s.tabIndex===-1;)s=s.parentNode;s.style&&(zo(),Fo=s,$l=s.style.outlineStyle,s.style.outlineStyle="none",ot(window,"keydown",zo))}function zo(){Fo&&(Fo.style.outlineStyle=$l,Fo=void 0,$l=void 0,Pt(window,"keydown",zo))}function uf(s){do s=s.parentNode;while((!s.offsetWidth||!s.offsetHeight)&&s!==document.body);return s}function Ql(s){var l=s.getBoundingClientRect();return{x:l.width/s.offsetWidth||1,y:l.height/s.offsetHeight||1,boundingClientRect:l}}var Rw={__proto__:null,TRANSFORM:Hl,TRANSITION:Hr,TRANSITION_END:hf,get:cf,getStyle:Vr,create:mt,remove:Rt,empty:Ao,toFront:$n,toBack:Jn,hasClass:Vl,addClass:lt,removeClass:At,setClass:Xl,getClass:Do,setOpacity:Ee,testProp:Oo,setTransform:un,setPosition:Nt,getPosition:dn,get disableTextSelection(){return Xr},get enableTextSelection(){return Yr},disableImageDrag:Kl,enableImageDrag:ql,preventOutline:Jl,restoreOutline:zo,getSizedParentNode:uf,getScale:Ql};function ot(s,l,u,g){if(l&&typeof l=="object")for(var p in l)eh(s,p,l[p],u);else{l=y(l);for(var x=0,C=l.length;x<C;x++)eh(s,l[x],u,g)}return this}var Xe="_leaflet_events";function Pt(s,l,u,g){if(arguments.length===1)df(s),delete s[Xe];else if(l&&typeof l=="object")for(var p in l)ih(s,p,l[p],u);else if(l=y(l),arguments.length===2)df(s,function(k){return P(l,k)!==-1});else for(var x=0,C=l.length;x<C;x++)ih(s,l[x],u,g);return this}function df(s,l){for(var u in s[Xe]){var g=u.split(/\d/)[0];(!l||l(g))&&ih(s,g,null,null,u)}}var th={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function eh(s,l,u,g){var p=l+c(u)+(g?"_"+c(g):"");if(s[Xe]&&s[Xe][p])return this;var x=function(k){return u.call(g||s,k||window.event)},C=x;!X.touchNative&&X.pointer&&l.indexOf("touch")===0?x=vw(s,l,x):X.touch&&l==="dblclick"?x=Sw(s,x):"addEventListener"in s?l==="touchstart"||l==="touchmove"||l==="wheel"||l==="mousewheel"?s.addEventListener(th[l]||l,x,X.passiveEvents?{passive:!1}:!1):l==="mouseenter"||l==="mouseleave"?(x=function(k){k=k||window.event,rh(s,k)&&C(k)},s.addEventListener(th[l],x,!1)):s.addEventListener(l,C,!1):s.attachEvent("on"+l,x),s[Xe]=s[Xe]||{},s[Xe][p]=x}function ih(s,l,u,g,p){p=p||l+c(u)+(g?"_"+c(g):"");var x=s[Xe]&&s[Xe][p];if(!x)return this;!X.touchNative&&X.pointer&&l.indexOf("touch")===0?xw(s,l,x):X.touch&&l==="dblclick"?Pw(s,x):"removeEventListener"in s?s.removeEventListener(th[l]||l,x,!1):s.detachEvent("on"+l,x),s[Xe][p]=null}function fn(s){return s.stopPropagation?s.stopPropagation():s.originalEvent?s.originalEvent._stopped=!0:s.cancelBubble=!0,this}function nh(s){return eh(s,"wheel",fn),this}function qr(s){return ot(s,"mousedown touchstart dblclick contextmenu",fn),s._leaflet_disable_click=!0,this}function Kt(s){return s.preventDefault?s.preventDefault():s.returnValue=!1,this}function gn(s){return Kt(s),fn(s),this}function ff(s){if(s.composedPath)return s.composedPath();for(var l=[],u=s.target;u;)l.push(u),u=u.parentNode;return l}function gf(s,l){if(!l)return new B(s.clientX,s.clientY);var u=Ql(l),g=u.boundingClientRect;return new B((s.clientX-g.left)/u.x-l.clientLeft,(s.clientY-g.top)/u.y-l.clientTop)}var Mw=X.linux&&X.chrome?window.devicePixelRatio:X.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function _f(s){return X.edge?s.wheelDeltaY/2:s.deltaY&&s.deltaMode===0?-s.deltaY/Mw: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 rh(s,l){var u=l.relatedTarget;if(!u)return!0;try{for(;u&&u!==s;)u=u.parentNode}catch{return!1}return u!==s}var Iw={__proto__:null,on:ot,off:Pt,stopPropagation:fn,disableScrollPropagation:nh,disableClickPropagation:qr,preventDefault:Kt,stop:gn,getPropagationPath:ff,getMousePosition:gf,getWheelDelta:_f,isExternalTarget:rh,addListener:ot,removeListener:Pt},pf=Z.extend({run:function(s,l,u,g){this.stop(),this._el=s,this._inProgress=!0,this._duration=u||.25,this._easeOutPower=1/Math.max(g||.5,.2),this._startPos=dn(s),this._offset=l.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=Q(this._animate,this),this._step()},_step:function(s){var l=+new Date-this._startTime,u=this._duration*1e3;l<u?this._runFrame(this._easeOut(l/u),s):(this._runFrame(1),this._complete())},_runFrame:function(s,l){var u=this._startPos.add(this._offset.multiplyBy(s));l&&u._round(),Nt(this._el,u),this.fire("step")},_complete:function(){q(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(s){return 1-Math.pow(1-s,this._easeOutPower)}}),_t=Z.extend({options:{crs:Oi,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,l){l=E(this,l),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(s),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),l.maxBounds&&this.setMaxBounds(l.maxBounds),l.zoom!==void 0&&(this._zoom=this._limitZoom(l.zoom)),l.center&&l.zoom!==void 0&&this.setView(nt(l.center),l.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Hr&&X.any3d&&!X.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ot(this._proxy,hf,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(s,l,u){if(l=l===void 0?this._zoom:this._limitZoom(l),s=this._limitCenter(nt(s),l,this.options.maxBounds),u=u||{},this._stop(),this._loaded&&!u.reset&&u!==!0){u.animate!==void 0&&(u.zoom=n({animate:u.animate},u.zoom),u.pan=n({animate:u.animate,duration:u.duration},u.pan));var g=this._zoom!==l?this._tryAnimatedZoom&&this._tryAnimatedZoom(s,l,u.zoom):this._tryAnimatedPan(s,u.pan);if(g)return clearTimeout(this._sizeTimer),this}return this._resetView(s,l,u.pan&&u.pan.noMoveStart),this},setZoom:function(s,l){return this._loaded?this.setView(this.getCenter(),s,{zoom:l}):(this._zoom=s,this)},zoomIn:function(s,l){return s=s||(X.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+s,l)},zoomOut:function(s,l){return s=s||(X.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-s,l)},setZoomAround:function(s,l,u){var g=this.getZoomScale(l),p=this.getSize().divideBy(2),x=s instanceof B?s:this.latLngToContainerPoint(s),C=x.subtract(p).multiplyBy(1-1/g),k=this.containerPointToLatLng(p.add(C));return this.setView(k,l,{zoom:u})},_getBoundsCenterZoom:function(s,l){l=l||{},s=s.getBounds?s.getBounds():J(s);var u=U(l.paddingTopLeft||l.padding||[0,0]),g=U(l.paddingBottomRight||l.padding||[0,0]),p=this.getBoundsZoom(s,!1,u.add(g));if(p=typeof l.maxZoom=="number"?Math.min(l.maxZoom,p):p,p===1/0)return{center:s.getCenter(),zoom:p};var x=g.subtract(u).divideBy(2),C=this.project(s.getSouthWest(),p),k=this.project(s.getNorthEast(),p),R=this.unproject(C.add(k).divideBy(2).add(x),p);return{center:R,zoom:p}},fitBounds:function(s,l){if(s=J(s),!s.isValid())throw new Error("Bounds are not valid.");var u=this._getBoundsCenterZoom(s,l);return this.setView(u.center,u.zoom,l)},fitWorld:function(s){return this.fitBounds([[-90,-180],[90,180]],s)},panTo:function(s,l){return this.setView(s,this._zoom,{pan:l})},panBy:function(s,l){if(s=U(s).round(),l=l||{},!s.x&&!s.y)return this.fire("moveend");if(l.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 pf,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),l.noMoveStart||this.fire("movestart"),l.animate!==!1){lt(this._mapPane,"leaflet-pan-anim");var u=this._getMapPanePos().subtract(s).round();this._panAnim.run(this._mapPane,u,l.duration||.25,l.easeLinearity)}else this._rawPanBy(s),this.fire("move").fire("moveend");return this},flyTo:function(s,l,u){if(u=u||{},u.animate===!1||!X.any3d)return this.setView(s,l,u);this._stop();var g=this.project(this.getCenter()),p=this.project(s),x=this.getSize(),C=this._zoom;s=nt(s),l=l===void 0?C:l;var k=Math.max(x.x,x.y),R=k*this.getZoomScale(C,l),O=p.distanceTo(g)||1,j=1.42,et=j*j;function ut(Bt){var Ko=Bt?-1:1,xL=Bt?R:k,EL=R*R-k*k+Ko*et*et*O*O,wL=2*xL*et*O,_h=EL/wL,qf=Math.sqrt(_h*_h+1)-_h,LL=qf<1e-9?-18:Math.log(qf);return LL}function re(Bt){return(Math.exp(Bt)-Math.exp(-Bt))/2}function Ht(Bt){return(Math.exp(Bt)+Math.exp(-Bt))/2}function Le(Bt){return re(Bt)/Ht(Bt)}var ue=ut(0);function rr(Bt){return k*(Ht(ue)/Ht(ue+j*Bt))}function pL(Bt){return k*(Ht(ue)*Le(ue+j*Bt)-re(ue))/et}function mL(Bt){return 1-Math.pow(1-Bt,1.5)}var yL=Date.now(),Yf=(ut(1)-ue)/j,vL=u.duration?1e3*u.duration:1e3*Yf*.8;function Kf(){var Bt=(Date.now()-yL)/vL,Ko=mL(Bt)*Yf;Bt<=1?(this._flyToFrame=Q(Kf,this),this._move(this.unproject(g.add(p.subtract(g).multiplyBy(pL(Ko)/O)),C),this.getScaleZoom(k/rr(Ko),C),{flyTo:!0})):this._move(s,l)._moveEnd(!0)}return this._moveStart(!0,u.noMoveStart),Kf.call(this),this},flyToBounds:function(s,l){var u=this._getBoundsCenterZoom(s,l);return this.flyTo(u.center,u.zoom,l)},setMaxBounds:function(s){return s=J(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 l=this.options.minZoom;return this.options.minZoom=s,this._loaded&&l!==s&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(s):this},setMaxZoom:function(s){var l=this.options.maxZoom;return this.options.maxZoom=s,this._loaded&&l!==s&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(s):this},panInsideBounds:function(s,l){this._enforcingBounds=!0;var u=this.getCenter(),g=this._limitCenter(u,this._zoom,J(s));return u.equals(g)||this.panTo(g,l),this._enforcingBounds=!1,this},panInside:function(s,l){l=l||{};var u=U(l.paddingTopLeft||l.padding||[0,0]),g=U(l.paddingBottomRight||l.padding||[0,0]),p=this.project(this.getCenter()),x=this.project(s),C=this.getPixelBounds(),k=F([C.min.add(u),C.max.subtract(g)]),R=k.getSize();if(!k.contains(x)){this._enforcingBounds=!0;var O=x.subtract(k.getCenter()),j=k.extend(x).getSize().subtract(R);p.x+=O.x<0?-j.x:j.x,p.y+=O.y<0?-j.y:j.y,this.panTo(this.unproject(p),l),this._enforcingBounds=!1}return this},invalidateSize:function(s){if(!this._loaded)return this;s=n({animate:!1,pan:!0},s===!0?{animate:!0}:s);var l=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var u=this.getSize(),g=l.divideBy(2).round(),p=u.divideBy(2).round(),x=g.subtract(p);return!x.x&&!x.y?this:(s.animate&&s.pan?this.panBy(x):(s.pan&&this._rawPanBy(x),this.fire("move"),s.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:l,newSize:u}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(s){if(s=this._locateOptions=n({timeout:1e4,watch:!1},s),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var l=a(this._handleGeolocationResponse,this),u=a(this._handleGeolocationError,this);return s.watch?this._locationWatchId=navigator.geolocation.watchPosition(l,u,s):navigator.geolocation.getCurrentPosition(l,u,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 l=s.code,u=s.message||(l===1?"permission denied":l===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:l,message:"Geolocation error: "+u+"."})}},_handleGeolocationResponse:function(s){if(this._container._leaflet_id){var l=s.coords.latitude,u=s.coords.longitude,g=new Y(l,u),p=g.toBounds(s.coords.accuracy*2),x=this._locateOptions;if(x.setView){var C=this.getBoundsZoom(p);this.setView(g,x.maxZoom?Math.min(C,x.maxZoom):C)}var k={latlng:g,bounds:p,timestamp:s.timestamp};for(var R in s.coords)typeof s.coords[R]=="number"&&(k[R]=s.coords[R]);this.fire("locationfound",k)}},addHandler:function(s,l){if(!l)return this;var u=this[s]=new l(this);return this._handlers.push(u),this.options[s]&&u.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(),Rt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(q(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)Rt(this._panes[s]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(s,l){var u="leaflet-pane"+(s?" leaflet-"+s.replace("Pane","")+"-pane":""),g=mt("div",u,l||this._mapPane);return s&&(this._panes[s]=g),g},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(),l=this.unproject(s.getBottomLeft()),u=this.unproject(s.getTopRight());return new Lt(l,u)},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,l,u){s=J(s),u=U(u||[0,0]);var g=this.getZoom()||0,p=this.getMinZoom(),x=this.getMaxZoom(),C=s.getNorthWest(),k=s.getSouthEast(),R=this.getSize().subtract(u),O=F(this.project(k,g),this.project(C,g)).getSize(),j=X.any3d?this.options.zoomSnap:1,et=R.x/O.x,ut=R.y/O.y,re=l?Math.max(et,ut):Math.min(et,ut);return g=this.getScaleZoom(re,g),j&&(g=Math.round(g/(j/100))*(j/100),g=l?Math.ceil(g/j)*j:Math.floor(g/j)*j),Math.max(p,Math.min(x,g))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new B(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(s,l){var u=this._getTopLeftPoint(s,l);return new st(u,u.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,l){var u=this.options.crs;return l=l===void 0?this._zoom:l,u.scale(s)/u.scale(l)},getScaleZoom:function(s,l){var u=this.options.crs;l=l===void 0?this._zoom:l;var g=u.zoom(s*u.scale(l));return isNaN(g)?1/0:g},project:function(s,l){return l=l===void 0?this._zoom:l,this.options.crs.latLngToPoint(nt(s),l)},unproject:function(s,l){return l=l===void 0?this._zoom:l,this.options.crs.pointToLatLng(U(s),l)},layerPointToLatLng:function(s){var l=U(s).add(this.getPixelOrigin());return this.unproject(l)},latLngToLayerPoint:function(s){var l=this.project(nt(s))._round();return l._subtract(this.getPixelOrigin())},wrapLatLng:function(s){return this.options.crs.wrapLatLng(nt(s))},wrapLatLngBounds:function(s){return this.options.crs.wrapLatLngBounds(J(s))},distance:function(s,l){return this.options.crs.distance(nt(s),nt(l))},containerPointToLayerPoint:function(s){return U(s).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(s){return U(s).add(this._getMapPanePos())},containerPointToLatLng:function(s){var l=this.containerPointToLayerPoint(U(s));return this.layerPointToLatLng(l)},latLngToContainerPoint:function(s){return this.layerPointToContainerPoint(this.latLngToLayerPoint(nt(s)))},mouseEventToContainerPoint:function(s){return gf(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 l=this._container=cf(s);if(l){if(l._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");ot(l,"scroll",this._onScroll,this),this._containerId=c(l)},_initLayout:function(){var s=this._container;this._fadeAnimated=this.options.fadeAnimation&&X.any3d,lt(s,"leaflet-container"+(X.touch?" leaflet-touch":"")+(X.retina?" leaflet-retina":"")+(X.ielt9?" leaflet-oldie":"")+(X.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var l=Vr(s,"position");l!=="absolute"&&l!=="relative"&&l!=="fixed"&&l!=="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),Nt(this._mapPane,new B(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(lt(s.markerPane,"leaflet-zoom-hide"),lt(s.shadowPane,"leaflet-zoom-hide"))},_resetView:function(s,l,u){Nt(this._mapPane,new B(0,0));var g=!this._loaded;this._loaded=!0,l=this._limitZoom(l),this.fire("viewprereset");var p=this._zoom!==l;this._moveStart(p,u)._move(s,l)._moveEnd(p),this.fire("viewreset"),g&&this.fire("load")},_moveStart:function(s,l){return s&&this.fire("zoomstart"),l||this.fire("movestart"),this},_move:function(s,l,u,g){l===void 0&&(l=this._zoom);var p=this._zoom!==l;return this._zoom=l,this._lastCenter=s,this._pixelOrigin=this._getNewPixelOrigin(s),g?u&&u.pinch&&this.fire("zoom",u):((p||u&&u.pinch)&&this.fire("zoom",u),this.fire("move",u)),this},_moveEnd:function(s){return s&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return q(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(s){Nt(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[c(this._container)]=this;var l=s?Pt:ot;l(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&l(window,"resize",this._onResize,this),X.any3d&&this.options.transform3DLimit&&(s?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){q(this._resizeRequest),this._resizeRequest=Q(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,l){for(var u=[],g,p=l==="mouseout"||l==="mouseover",x=s.target||s.srcElement,C=!1;x;){if(g=this._targets[c(x)],g&&(l==="click"||l==="preclick")&&this._draggableMoved(g)){C=!0;break}if(g&&g.listens(l,!0)&&(p&&!rh(x,s)||(u.push(g),p))||x===this._container)break;x=x.parentNode}return!u.length&&!C&&!p&&this.listens(l,!0)&&(u=[this]),u},_isClickDisabled:function(s){for(;s&&s!==this._container;){if(s._leaflet_disable_click)return!0;s=s.parentNode}},_handleDOMEvent:function(s){var l=s.target||s.srcElement;if(!(!this._loaded||l._leaflet_disable_events||s.type==="click"&&this._isClickDisabled(l))){var u=s.type;u==="mousedown"&&Jl(l),this._fireDOMEvent(s,u)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(s,l,u){if(s.type==="click"){var g=n({},s);g.type="preclick",this._fireDOMEvent(g,g.type,u)}var p=this._findEventTargets(s,l);if(u){for(var x=[],C=0;C<u.length;C++)u[C].listens(l,!0)&&x.push(u[C]);p=x.concat(p)}if(p.length){l==="contextmenu"&&Kt(s);var k=p[0],R={originalEvent:s};if(s.type!=="keypress"&&s.type!=="keydown"&&s.type!=="keyup"){var O=k.getLatLng&&(!k._radius||k._radius<=10);R.containerPoint=O?this.latLngToContainerPoint(k.getLatLng()):this.mouseEventToContainerPoint(s),R.layerPoint=this.containerPointToLayerPoint(R.containerPoint),R.latlng=O?k.getLatLng():this.layerPointToLatLng(R.layerPoint)}for(C=0;C<p.length;C++)if(p[C].fire(l,R,!0),R.originalEvent._stopped||p[C].options.bubblingMouseEvents===!1&&P(this._mouseEvents,l)!==-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,l=this._handlers.length;s<l;s++)this._handlers[s].disable()},whenReady:function(s,l){return this._loaded?s.call(l||this,{target:this}):this.on("load",s,l),this},_getMapPanePos:function(){return dn(this._mapPane)||new B(0,0)},_moved:function(){var s=this._getMapPanePos();return s&&!s.equals([0,0])},_getTopLeftPoint:function(s,l){var u=s&&l!==void 0?this._getNewPixelOrigin(s,l):this.getPixelOrigin();return u.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(s,l){var u=this.getSize()._divideBy(2);return this.project(s,l)._subtract(u)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(s,l,u){var g=this._getNewPixelOrigin(u,l);return this.project(s,l)._subtract(g)},_latLngBoundsToNewLayerBounds:function(s,l,u){var g=this._getNewPixelOrigin(u,l);return F([this.project(s.getSouthWest(),l)._subtract(g),this.project(s.getNorthWest(),l)._subtract(g),this.project(s.getSouthEast(),l)._subtract(g),this.project(s.getNorthEast(),l)._subtract(g)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(s){return this.latLngToLayerPoint(s).subtract(this._getCenterLayerPoint())},_limitCenter:function(s,l,u){if(!u)return s;var g=this.project(s,l),p=this.getSize().divideBy(2),x=new st(g.subtract(p),g.add(p)),C=this._getBoundsOffset(x,u,l);return Math.abs(C.x)<=1&&Math.abs(C.y)<=1?s:this.unproject(g.add(C),l)},_limitOffset:function(s,l){if(!l)return s;var u=this.getPixelBounds(),g=new st(u.min.add(s),u.max.add(s));return s.add(this._getBoundsOffset(g,l))},_getBoundsOffset:function(s,l,u){var g=F(this.project(l.getNorthEast(),u),this.project(l.getSouthWest(),u)),p=g.min.subtract(s.min),x=g.max.subtract(s.max),C=this._rebound(p.x,-x.x),k=this._rebound(p.y,-x.y);return new B(C,k)},_rebound:function(s,l){return s+l>0?Math.round(s-l)/2:Math.max(0,Math.ceil(s))-Math.max(0,Math.floor(l))},_limitZoom:function(s){var l=this.getMinZoom(),u=this.getMaxZoom(),g=X.any3d?this.options.zoomSnap:1;return g&&(s=Math.round(s/g)*g),Math.max(l,Math.min(u,s))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){At(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(s,l){var u=this._getCenterOffset(s)._trunc();return(l&&l.animate)!==!0&&!this.getSize().contains(u)?!1:(this.panBy(u,l),!0)},_createAnimProxy:function(){var s=this._proxy=mt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(s),this.on("zoomanim",function(l){var u=Hl,g=this._proxy.style[u];un(this._proxy,this.project(l.center,l.zoom),this.getZoomScale(l.zoom,1)),g===this._proxy.style[u]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Rt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var s=this.getCenter(),l=this.getZoom();un(this._proxy,this.project(s,l),this.getZoomScale(l,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,l,u){if(this._animatingZoom)return!0;if(u=u||{},!this._zoomAnimated||u.animate===!1||this._nothingToAnimate()||Math.abs(l-this._zoom)>this.options.zoomAnimationThreshold)return!1;var g=this.getZoomScale(l),p=this._getCenterOffset(s)._divideBy(1-1/g);return u.animate!==!0&&!this.getSize().contains(p)?!1:(Q(function(){this._moveStart(!0,u.noMoveStart||!1)._animateZoom(s,l,!0)},this),!0)},_animateZoom:function(s,l,u,g){this._mapPane&&(u&&(this._animatingZoom=!0,this._animateToCenter=s,this._animateToZoom=l,lt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:s,zoom:l,noUpdate:g}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&At(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 Aw(s,l){return new _t(s,l)}var Ie=Et.extend({options:{position:"topright"},initialize:function(s){E(this,s)},getPosition:function(){return this.options.position},setPosition:function(s){var l=this._map;return l&&l.removeControl(this),this.options.position=s,l&&l.addControl(this),this},getContainer:function(){return this._container},addTo:function(s){this.remove(),this._map=s;var l=this._container=this.onAdd(s),u=this.getPosition(),g=s._controlCorners[u];return lt(l,"leaflet-control"),u.indexOf("bottom")!==-1?g.insertBefore(l,g.firstChild):g.appendChild(l),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Rt(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(s){this._map&&s&&s.screenX>0&&s.screenY>0&&this._map.getContainer().focus()}}),$r=function(s){return new Ie(s)};_t.include({addControl:function(s){return s.addTo(this),this},removeControl:function(s){return s.remove(),this},_initControlPos:function(){var s=this._controlCorners={},l="leaflet-",u=this._controlContainer=mt("div",l+"control-container",this._container);function g(p,x){var C=l+p+" "+l+x;s[p+x]=mt("div",C,u)}g("top","left"),g("top","right"),g("bottom","left"),g("bottom","right")},_clearControlPos:function(){for(var s in this._controlCorners)Rt(this._controlCorners[s]);Rt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var mf=Ie.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(s,l,u,g){return u<g?-1:g<u?1:0}},initialize:function(s,l,u){E(this,u),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var g in s)this._addLayer(s[g],g);for(g in l)this._addLayer(l[g],g,!0)},onAdd:function(s){this._initLayout(),this._update(),this._map=s,s.on("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(s){return Ie.prototype.addTo.call(this,s),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var s=0;s<this._layers.length;s++)this._layers[s].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(s,l){return this._addLayer(s,l),this._map?this._update():this},addOverlay:function(s,l){return this._addLayer(s,l,!0),this._map?this._update():this},removeLayer:function(s){s.off("add remove",this._onLayerChange,this);var l=this._getLayer(c(s));return l&&this._layers.splice(this._layers.indexOf(l),1),this._map?this._update():this},expand:function(){lt(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var s=this._map.getSize().y-(this._container.offsetTop+50);return s<this._section.clientHeight?(lt(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=s+"px"):At(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return At(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var s="leaflet-control-layers",l=this._container=mt("div",s),u=this.options.collapsed;l.setAttribute("aria-haspopup",!0),qr(l),nh(l);var g=this._section=mt("section",s+"-list");u&&(this._map.on("click",this.collapse,this),ot(l,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var p=this._layersLink=mt("a",s+"-toggle",l);p.href="#",p.title="Layers",p.setAttribute("role","button"),ot(p,{keydown:function(x){x.keyCode===13&&this._expandSafely()},click:function(x){Kt(x),this._expandSafely()}},this),u||this.expand(),this._baseLayersList=mt("div",s+"-base",g),this._separator=mt("div",s+"-separator",g),this._overlaysList=mt("div",s+"-overlays",g),l.appendChild(g)},_getLayer:function(s){for(var l=0;l<this._layers.length;l++)if(this._layers[l]&&c(this._layers[l].layer)===s)return this._layers[l]},_addLayer:function(s,l,u){this._map&&s.on("add remove",this._onLayerChange,this),this._layers.push({layer:s,name:l,overlay:u}),this.options.sortLayers&&this._layers.sort(a(function(g,p){return this.options.sortFunction(g.layer,p.layer,g.name,p.name)},this)),this.options.autoZIndex&&s.setZIndex&&(this._lastZIndex++,s.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Ao(this._baseLayersList),Ao(this._overlaysList),this._layerControlInputs=[];var s,l,u,g,p=0;for(u=0;u<this._layers.length;u++)g=this._layers[u],this._addItem(g),l=l||g.overlay,s=s||!g.overlay,p+=g.overlay?0:1;return this.options.hideSingleBase&&(s=s&&p>1,this._baseLayersList.style.display=s?"":"none"),this._separator.style.display=l&&s?"":"none",this},_onLayerChange:function(s){this._handlingClick||this._update();var l=this._getLayer(c(s.target)),u=l.overlay?s.type==="add"?"overlayadd":"overlayremove":s.type==="add"?"baselayerchange":null;u&&this._map.fire(u,l)},_createRadioElement:function(s,l){var u='<input type="radio" class="leaflet-control-layers-selector" name="'+s+'"'+(l?' checked="checked"':"")+"/>",g=document.createElement("div");return g.innerHTML=u,g.firstChild},_addItem:function(s){var l=document.createElement("label"),u=this._map.hasLayer(s.layer),g;s.overlay?(g=document.createElement("input"),g.type="checkbox",g.className="leaflet-control-layers-selector",g.defaultChecked=u):g=this._createRadioElement("leaflet-base-layers_"+c(this),u),this._layerControlInputs.push(g),g.layerId=c(s.layer),ot(g,"click",this._onInputClick,this);var p=document.createElement("span");p.innerHTML=" "+s.name;var x=document.createElement("span");l.appendChild(x),x.appendChild(g),x.appendChild(p);var C=s.overlay?this._overlaysList:this._baseLayersList;return C.appendChild(l),this._checkDisabledLayers(),l},_onInputClick:function(){if(!this._preventClick){var s=this._layerControlInputs,l,u,g=[],p=[];this._handlingClick=!0;for(var x=s.length-1;x>=0;x--)l=s[x],u=this._getLayer(l.layerId).layer,l.checked?g.push(u):l.checked||p.push(u);for(x=0;x<p.length;x++)this._map.hasLayer(p[x])&&this._map.removeLayer(p[x]);for(x=0;x<g.length;x++)this._map.hasLayer(g[x])||this._map.addLayer(g[x]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var s=this._layerControlInputs,l,u,g=this._map.getZoom(),p=s.length-1;p>=0;p--)l=s[p],u=this._getLayer(l.layerId).layer,l.disabled=u.options.minZoom!==void 0&&g<u.options.minZoom||u.options.maxZoom!==void 0&&g>u.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var s=this._section;this._preventClick=!0,ot(s,"click",Kt),this.expand();var l=this;setTimeout(function(){Pt(s,"click",Kt),l._preventClick=!1})}}),Dw=function(s,l,u){return new mf(s,l,u)},sh=Ie.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(s){var l="leaflet-control-zoom",u=mt("div",l+" leaflet-bar"),g=this.options;return this._zoomInButton=this._createButton(g.zoomInText,g.zoomInTitle,l+"-in",u,this._zoomIn),this._zoomOutButton=this._createButton(g.zoomOutText,g.zoomOutTitle,l+"-out",u,this._zoomOut),this._updateDisabled(),s.on("zoomend zoomlevelschange",this._updateDisabled,this),u},onRemove:function(s){s.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(s){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(s.shiftKey?3:1))},_zoomOut:function(s){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(s.shiftKey?3:1))},_createButton:function(s,l,u,g,p){var x=mt("a",u,g);return x.innerHTML=s,x.href="#",x.title=l,x.setAttribute("role","button"),x.setAttribute("aria-label",l),qr(x),ot(x,"click",gn),ot(x,"click",p,this),ot(x,"click",this._refocusOnMap,this),x},_updateDisabled:function(){var s=this._map,l="leaflet-disabled";At(this._zoomInButton,l),At(this._zoomOutButton,l),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||s._zoom===s.getMinZoom())&&(lt(this._zoomOutButton,l),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||s._zoom===s.getMaxZoom())&&(lt(this._zoomInButton,l),this._zoomInButton.setAttribute("aria-disabled","true"))}});_t.mergeOptions({zoomControl:!0}),_t.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new sh,this.addControl(this.zoomControl))});var Ow=function(s){return new sh(s)},yf=Ie.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(s){var l="leaflet-control-scale",u=mt("div",l),g=this.options;return this._addScales(g,l+"-line",u),s.on(g.updateWhenIdle?"moveend":"move",this._update,this),s.whenReady(this._update,this),u},onRemove:function(s){s.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(s,l,u){s.metric&&(this._mScale=mt("div",l,u)),s.imperial&&(this._iScale=mt("div",l,u))},_update:function(){var s=this._map,l=s.getSize().y/2,u=s.distance(s.containerPointToLatLng([0,l]),s.containerPointToLatLng([this.options.maxWidth,l]));this._updateScales(u)},_updateScales:function(s){this.options.metric&&s&&this._updateMetric(s),this.options.imperial&&s&&this._updateImperial(s)},_updateMetric:function(s){var l=this._getRoundNum(s),u=l<1e3?l+" m":l/1e3+" km";this._updateScale(this._mScale,u,l/s)},_updateImperial:function(s){var l=s*3.2808399,u,g,p;l>5280?(u=l/5280,g=this._getRoundNum(u),this._updateScale(this._iScale,g+" mi",g/u)):(p=this._getRoundNum(l),this._updateScale(this._iScale,p+" ft",p/l))},_updateScale:function(s,l,u){s.style.width=Math.round(this.options.maxWidth*u)+"px",s.innerHTML=l},_getRoundNum:function(s){var l=Math.pow(10,(Math.floor(s)+"").length-1),u=s/l;return u=u>=10?10:u>=5?5:u>=3?3:u>=2?2:1,l*u}}),Fw=function(s){return new yf(s)},zw='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',oh=Ie.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(X.inlineSvg?zw+" ":"")+"Leaflet</a>"},initialize:function(s){E(this,s),this._attributions={}},onAdd:function(s){s.attributionControl=this,this._container=mt("div","leaflet-control-attribution"),qr(this._container);for(var l in s._layers)s._layers[l].getAttribution&&this.addAttribution(s._layers[l].getAttribution());return this._update(),s.on("layeradd",this._addAttribution,this),this._container},onRemove:function(s){s.off("layeradd",this._addAttribution,this)},_addAttribution:function(s){s.layer.getAttribution&&(this.addAttribution(s.layer.getAttribution()),s.layer.once("remove",function(){this.removeAttribution(s.layer.getAttribution())},this))},setPrefix:function(s){return this.options.prefix=s,this._update(),this},addAttribution:function(s){return s?(this._attributions[s]||(this._attributions[s]=0),this._attributions[s]++,this._update(),this):this},removeAttribution:function(s){return s?(this._attributions[s]&&(this._attributions[s]--,this._update()),this):this},_update:function(){if(this._map){var s=[];for(var l in this._attributions)this._attributions[l]&&s.push(l);var u=[];this.options.prefix&&u.push(this.options.prefix),s.length&&u.push(s.join(", ")),this._container.innerHTML=u.join(' <span aria-hidden="true">|</span> ')}}});_t.mergeOptions({attributionControl:!0}),_t.addInitHook(function(){this.options.attributionControl&&new oh().addTo(this)});var Nw=function(s){return new oh(s)};Ie.Layers=mf,Ie.Zoom=sh,Ie.Scale=yf,Ie.Attribution=oh,$r.layers=Dw,$r.zoom=Ow,$r.scale=Fw,$r.attribution=Nw;var Ye=Et.extend({initialize:function(s){this._map=s},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ye.addTo=function(s,l){return s.addHandler(l,this),this};var Bw={Events:H},vf=X.touch?"touchstart mousedown":"mousedown",ji=Z.extend({options:{clickTolerance:3},initialize:function(s,l,u,g){E(this,g),this._element=s,this._dragStartTarget=l||s,this._preventOutline=u},enable:function(){this._enabled||(ot(this._dragStartTarget,vf,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ji._dragging===this&&this.finishDrag(!0),Pt(this._dragStartTarget,vf,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(s){if(this._enabled&&(this._moved=!1,!Vl(this._element,"leaflet-zoom-anim"))){if(s.touches&&s.touches.length!==1){ji._dragging===this&&this.finishDrag();return}if(!(ji._dragging||s.shiftKey||s.which!==1&&s.button!==1&&!s.touches)&&(ji._dragging=this,this._preventOutline&&Jl(this._element),Kl(),Xr(),!this._moving)){this.fire("down");var l=s.touches?s.touches[0]:s,u=uf(this._element);this._startPoint=new B(l.clientX,l.clientY),this._startPos=dn(this._element),this._parentScale=Ql(u);var g=s.type==="mousedown";ot(document,g?"mousemove":"touchmove",this._onMove,this),ot(document,g?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(s){if(this._enabled){if(s.touches&&s.touches.length>1){this._moved=!0;return}var l=s.touches&&s.touches.length===1?s.touches[0]:s,u=new B(l.clientX,l.clientY)._subtract(this._startPoint);!u.x&&!u.y||Math.abs(u.x)+Math.abs(u.y)<this.options.clickTolerance||(u.x/=this._parentScale.x,u.y/=this._parentScale.y,Kt(s),this._moved||(this.fire("dragstart"),this._moved=!0,lt(document.body,"leaflet-dragging"),this._lastTarget=s.target||s.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),lt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(u),this._moving=!0,this._lastEvent=s,this._updatePosition())}},_updatePosition:function(){var s={originalEvent:this._lastEvent};this.fire("predrag",s),Nt(this._element,this._newPos),this.fire("drag",s)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(s){At(document.body,"leaflet-dragging"),this._lastTarget&&(At(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Pt(document,"mousemove touchmove",this._onMove,this),Pt(document,"mouseup touchend touchcancel",this._onUp,this),ql(),Yr();var l=this._moved&&this._moving;this._moving=!1,ji._dragging=!1,l&&this.fire("dragend",{noInertia:s,distance:this._newPos.distanceTo(this._startPos)})}});function xf(s,l,u){var g,p=[1,4,2,8],x,C,k,R,O,j,et,ut;for(x=0,j=s.length;x<j;x++)s[x]._code=_n(s[x],l);for(k=0;k<4;k++){for(et=p[k],g=[],x=0,j=s.length,C=j-1;x<j;C=x++)R=s[x],O=s[C],R._code&et?O._code&et||(ut=No(O,R,et,l,u),ut._code=_n(ut,l),g.push(ut)):(O._code&et&&(ut=No(O,R,et,l,u),ut._code=_n(ut,l),g.push(ut)),g.push(R));s=g}return s}function Ef(s,l){var u,g,p,x,C,k,R,O,j;if(!s||s.length===0)throw new Error("latlngs not passed");we(s)||(console.warn("latlngs are not flat! Only the first ring will be used"),s=s[0]);var et=nt([0,0]),ut=J(s),re=ut.getNorthWest().distanceTo(ut.getSouthWest())*ut.getNorthEast().distanceTo(ut.getNorthWest());re<1700&&(et=ah(s));var Ht=s.length,Le=[];for(u=0;u<Ht;u++){var ue=nt(s[u]);Le.push(l.project(nt([ue.lat-et.lat,ue.lng-et.lng])))}for(k=R=O=0,u=0,g=Ht-1;u<Ht;g=u++)p=Le[u],x=Le[g],C=p.y*x.x-x.y*p.x,R+=(p.x+x.x)*C,O+=(p.y+x.y)*C,k+=C*3;k===0?j=Le[0]:j=[R/k,O/k];var rr=l.unproject(U(j));return nt([rr.lat+et.lat,rr.lng+et.lng])}function ah(s){for(var l=0,u=0,g=0,p=0;p<s.length;p++){var x=nt(s[p]);l+=x.lat,u+=x.lng,g++}return nt([l/g,u/g])}var Gw={__proto__:null,clipPolygon:xf,polygonCenter:Ef,centroid:ah};function wf(s,l){if(!l||!s.length)return s.slice();var u=l*l;return s=jw(s,u),s=Zw(s,u),s}function Lf(s,l,u){return Math.sqrt(Jr(s,l,u,!0))}function Uw(s,l,u){return Jr(s,l,u)}function Zw(s,l){var u=s.length,g=typeof Uint8Array!=void 0+""?Uint8Array:Array,p=new g(u);p[0]=p[u-1]=1,lh(s,p,l,0,u-1);var x,C=[];for(x=0;x<u;x++)p[x]&&C.push(s[x]);return C}function lh(s,l,u,g,p){var x=0,C,k,R;for(k=g+1;k<=p-1;k++)R=Jr(s[k],s[g],s[p],!0),R>x&&(C=k,x=R);x>u&&(l[C]=1,lh(s,l,u,g,C),lh(s,l,u,C,p))}function jw(s,l){for(var u=[s[0]],g=1,p=0,x=s.length;g<x;g++)Ww(s[g],s[p])>l&&(u.push(s[g]),p=g);return p<x-1&&u.push(s[x-1]),u}var bf;function Tf(s,l,u,g,p){var x=g?bf:_n(s,u),C=_n(l,u),k,R,O;for(bf=C;;){if(!(x|C))return[s,l];if(x&C)return!1;k=x||C,R=No(s,l,k,u,p),O=_n(R,u),k===x?(s=R,x=O):(l=R,C=O)}}function No(s,l,u,g,p){var x=l.x-s.x,C=l.y-s.y,k=g.min,R=g.max,O,j;return u&8?(O=s.x+x*(R.y-s.y)/C,j=R.y):u&4?(O=s.x+x*(k.y-s.y)/C,j=k.y):u&2?(O=R.x,j=s.y+C*(R.x-s.x)/x):u&1&&(O=k.x,j=s.y+C*(k.x-s.x)/x),new B(O,j,p)}function _n(s,l){var u=0;return s.x<l.min.x?u|=1:s.x>l.max.x&&(u|=2),s.y<l.min.y?u|=4:s.y>l.max.y&&(u|=8),u}function Ww(s,l){var u=l.x-s.x,g=l.y-s.y;return u*u+g*g}function Jr(s,l,u,g){var p=l.x,x=l.y,C=u.x-p,k=u.y-x,R=C*C+k*k,O;return R>0&&(O=((s.x-p)*C+(s.y-x)*k)/R,O>1?(p=u.x,x=u.y):O>0&&(p+=C*O,x+=k*O)),C=s.x-p,k=s.y-x,g?C*C+k*k:new B(p,x)}function we(s){return!T(s[0])||typeof s[0][0]!="object"&&typeof s[0][0]<"u"}function Cf(s){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),we(s)}function Sf(s,l){var u,g,p,x,C,k,R,O;if(!s||s.length===0)throw new Error("latlngs not passed");we(s)||(console.warn("latlngs are not flat! Only the first ring will be used"),s=s[0]);var j=nt([0,0]),et=J(s),ut=et.getNorthWest().distanceTo(et.getSouthWest())*et.getNorthEast().distanceTo(et.getNorthWest());ut<1700&&(j=ah(s));var re=s.length,Ht=[];for(u=0;u<re;u++){var Le=nt(s[u]);Ht.push(l.project(nt([Le.lat-j.lat,Le.lng-j.lng])))}for(u=0,g=0;u<re-1;u++)g+=Ht[u].distanceTo(Ht[u+1])/2;if(g===0)O=Ht[0];else for(u=0,x=0;u<re-1;u++)if(C=Ht[u],k=Ht[u+1],p=C.distanceTo(k),x+=p,x>g){R=(x-g)/p,O=[k.x-R*(k.x-C.x),k.y-R*(k.y-C.y)];break}var ue=l.unproject(U(O));return nt([ue.lat+j.lat,ue.lng+j.lng])}var Hw={__proto__:null,simplify:wf,pointToSegmentDistance:Lf,closestPointOnSegment:Uw,clipSegment:Tf,_getEdgeIntersection:No,_getBitCode:_n,_sqClosestPointOnSegment:Jr,isFlat:we,_flat:Cf,polylineCenter:Sf},hh={project:function(s){return new B(s.lng,s.lat)},unproject:function(s){return new Y(s.y,s.x)},bounds:new st([-180,-90],[180,90])},ch={R:6378137,R_MINOR:6356752314245179e-9,bounds:new st([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(s){var l=Math.PI/180,u=this.R,g=s.lat*l,p=this.R_MINOR/u,x=Math.sqrt(1-p*p),C=x*Math.sin(g),k=Math.tan(Math.PI/4-g/2)/Math.pow((1-C)/(1+C),x/2);return g=-u*Math.log(Math.max(k,1e-10)),new B(s.lng*l*u,g)},unproject:function(s){for(var l=180/Math.PI,u=this.R,g=this.R_MINOR/u,p=Math.sqrt(1-g*g),x=Math.exp(-s.y/u),C=Math.PI/2-2*Math.atan(x),k=0,R=.1,O;k<15&&Math.abs(R)>1e-7;k++)O=p*Math.sin(C),O=Math.pow((1-O)/(1+O),p/2),R=Math.PI/2-2*Math.atan(x*O)-C,C+=R;return new Y(C*l,s.x*l/u)}},Vw={__proto__:null,LonLat:hh,Mercator:ch,SphericalMercator:je},Xw=n({},St,{code:"EPSG:3395",projection:ch,transformation:function(){var s=.5/(Math.PI*ch.R);return xe(s,.5,-s,.5)}()}),Pf=n({},St,{code:"EPSG:4326",projection:hh,transformation:xe(1/180,1,-1/180,.5)}),Yw=n({},Ft,{projection:hh,transformation:xe(1,0,-1,0),scale:function(s){return Math.pow(2,s)},zoom:function(s){return Math.log(s)/Math.LN2},distance:function(s,l){var u=l.lng-s.lng,g=l.lat-s.lat;return Math.sqrt(u*u+g*g)},infinite:!0});Ft.Earth=St,Ft.EPSG3395=Xw,Ft.EPSG3857=Oi,Ft.EPSG900913=We,Ft.EPSG4326=Pf,Ft.Simple=Yw;var Ae=Z.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(s){return s.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(s){return s&&s.removeLayer(this),this},getPane:function(s){return this._map.getPane(s?this.options[s]||s:this.options.pane)},addInteractiveTarget:function(s){return this._map._targets[c(s)]=this,this},removeInteractiveTarget:function(s){return delete this._map._targets[c(s)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(s){var l=s.target;if(l.hasLayer(this)){if(this._map=l,this._zoomAnimated=l._zoomAnimated,this.getEvents){var u=this.getEvents();l.on(u,this),this.once("remove",function(){l.off(u,this)},this)}this.onAdd(l),this.fire("add"),l.fire("layeradd",{layer:this})}}});_t.include({addLayer:function(s){if(!s._layerAdd)throw new Error("The provided object is not a Layer.");var l=c(s);return this._layers[l]?this:(this._layers[l]=s,s._mapToAdd=this,s.beforeAdd&&s.beforeAdd(this),this.whenReady(s._layerAdd,s),this)},removeLayer:function(s){var l=c(s);return this._layers[l]?(this._loaded&&s.onRemove(this),delete this._layers[l],this._loaded&&(this.fire("layerremove",{layer:s}),s.fire("remove")),s._map=s._mapToAdd=null,this):this},hasLayer:function(s){return c(s)in this._layers},eachLayer:function(s,l){for(var u in this._layers)s.call(l,this._layers[u]);return this},_addLayers:function(s){s=s?T(s)?s:[s]:[];for(var l=0,u=s.length;l<u;l++)this.addLayer(s[l])},_addZoomLimit:function(s){(!isNaN(s.options.maxZoom)||!isNaN(s.options.minZoom))&&(this._zoomBoundLayers[c(s)]=s,this._updateZoomLevels())},_removeZoomLimit:function(s){var l=c(s);this._zoomBoundLayers[l]&&(delete this._zoomBoundLayers[l],this._updateZoomLevels())},_updateZoomLevels:function(){var s=1/0,l=-1/0,u=this._getZoomSpan();for(var g in this._zoomBoundLayers){var p=this._zoomBoundLayers[g].options;s=p.minZoom===void 0?s:Math.min(s,p.minZoom),l=p.maxZoom===void 0?l:Math.max(l,p.maxZoom)}this._layersMaxZoom=l===-1/0?void 0:l,this._layersMinZoom=s===1/0?void 0:s,u!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Qn=Ae.extend({initialize:function(s,l){E(this,l),this._layers={};var u,g;if(s)for(u=0,g=s.length;u<g;u++)this.addLayer(s[u])},addLayer:function(s){var l=this.getLayerId(s);return this._layers[l]=s,this._map&&this._map.addLayer(s),this},removeLayer:function(s){var l=s in this._layers?s:this.getLayerId(s);return this._map&&this._layers[l]&&this._map.removeLayer(this._layers[l]),delete this._layers[l],this},hasLayer:function(s){var l=typeof s=="number"?s:this.getLayerId(s);return l in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(s){var l=Array.prototype.slice.call(arguments,1),u,g;for(u in this._layers)g=this._layers[u],g[s]&&g[s].apply(g,l);return this},onAdd:function(s){this.eachLayer(s.addLayer,s)},onRemove:function(s){this.eachLayer(s.removeLayer,s)},eachLayer:function(s,l){for(var u in this._layers)s.call(l,this._layers[u]);return this},getLayer:function(s){return this._layers[s]},getLayers:function(){var s=[];return this.eachLayer(s.push,s),s},setZIndex:function(s){return this.invoke("setZIndex",s)},getLayerId:function(s){return c(s)}}),Kw=function(s,l){return new Qn(s,l)},_i=Qn.extend({addLayer:function(s){return this.hasLayer(s)?this:(s.addEventParent(this),Qn.prototype.addLayer.call(this,s),this.fire("layeradd",{layer:s}))},removeLayer:function(s){return this.hasLayer(s)?(s in this._layers&&(s=this._layers[s]),s.removeEventParent(this),Qn.prototype.removeLayer.call(this,s),this.fire("layerremove",{layer:s})):this},setStyle:function(s){return this.invoke("setStyle",s)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var s=new Lt;for(var l in this._layers){var u=this._layers[l];s.extend(u.getBounds?u.getBounds():u.getLatLng())}return s}}),qw=function(s,l){return new _i(s,l)},tr=Et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(s){E(this,s)},createIcon:function(s){return this._createIcon("icon",s)},createShadow:function(s){return this._createIcon("shadow",s)},_createIcon:function(s,l){var u=this._getIconUrl(s);if(!u){if(s==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var g=this._createImg(u,l&&l.tagName==="IMG"?l:null);return this._setIconStyles(g,s),(this.options.crossOrigin||this.options.crossOrigin==="")&&(g.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),g},_setIconStyles:function(s,l){var u=this.options,g=u[l+"Size"];typeof g=="number"&&(g=[g,g]);var p=U(g),x=U(l==="shadow"&&u.shadowAnchor||u.iconAnchor||p&&p.divideBy(2,!0));s.className="leaflet-marker-"+l+" "+(u.className||""),x&&(s.style.marginLeft=-x.x+"px",s.style.marginTop=-x.y+"px"),p&&(s.style.width=p.x+"px",s.style.height=p.y+"px")},_createImg:function(s,l){return l=l||document.createElement("img"),l.src=s,l},_getIconUrl:function(s){return X.retina&&this.options[s+"RetinaUrl"]||this.options[s+"Url"]}});function $w(s){return new tr(s)}var Qr=tr.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(s){return typeof Qr.imagePath!="string"&&(Qr.imagePath=this._detectIconPath()),(this.options.imagePath||Qr.imagePath)+tr.prototype._getIconUrl.call(this,s)},_stripUrl:function(s){var l=function(u,g,p){var x=g.exec(u);return x&&x[p]};return s=l(s,/^url\((['"])?(.+)\1\)$/,2),s&&l(s,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var s=mt("div","leaflet-default-icon-path",document.body),l=Vr(s,"background-image")||Vr(s,"backgroundImage");if(document.body.removeChild(s),l=this._stripUrl(l),l)return l;var u=document.querySelector('link[href$="leaflet.css"]');return u?u.href.substring(0,u.href.length-11-1):""}}),kf=Ye.extend({initialize:function(s){this._marker=s},addHooks:function(){var s=this._marker._icon;this._draggable||(this._draggable=new ji(s,s,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),lt(s,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&At(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(s){var l=this._marker,u=l._map,g=this._marker.options.autoPanSpeed,p=this._marker.options.autoPanPadding,x=dn(l._icon),C=u.getPixelBounds(),k=u.getPixelOrigin(),R=F(C.min._subtract(k).add(p),C.max._subtract(k).subtract(p));if(!R.contains(x)){var O=U((Math.max(R.max.x,x.x)-R.max.x)/(C.max.x-R.max.x)-(Math.min(R.min.x,x.x)-R.min.x)/(C.min.x-R.min.x),(Math.max(R.max.y,x.y)-R.max.y)/(C.max.y-R.max.y)-(Math.min(R.min.y,x.y)-R.min.y)/(C.min.y-R.min.y)).multiplyBy(g);u.panBy(O,{animate:!1}),this._draggable._newPos._add(O),this._draggable._startPos._add(O),Nt(l._icon,this._draggable._newPos),this._onDrag(s),this._panRequest=Q(this._adjustPan.bind(this,s))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(s){this._marker.options.autoPan&&(q(this._panRequest),this._panRequest=Q(this._adjustPan.bind(this,s)))},_onDrag:function(s){var l=this._marker,u=l._shadow,g=dn(l._icon),p=l._map.layerPointToLatLng(g);u&&Nt(u,g),l._latlng=p,s.latlng=p,s.oldLatLng=this._oldLatLng,l.fire("move",s).fire("drag",s)},_onDragEnd:function(s){q(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",s)}}),Bo=Ae.extend({options:{icon:new Qr,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(s,l){E(this,l),this._latlng=nt(s)},onAdd:function(s){this._zoomAnimated=this._zoomAnimated&&s.options.markerZoomAnimation,this._zoomAnimated&&s.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(s){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&s.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(s){var l=this._latlng;return this._latlng=nt(s),this.update(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},setZIndexOffset:function(s){return this.options.zIndexOffset=s,this.update()},getIcon:function(){return this.options.icon},setIcon:function(s){return this.options.icon=s,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var s=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(s)}return this},_initIcon:function(){var s=this.options,l="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),u=s.icon.createIcon(this._icon),g=!1;u!==this._icon&&(this._icon&&this._removeIcon(),g=!0,s.title&&(u.title=s.title),u.tagName==="IMG"&&(u.alt=s.alt||"")),lt(u,l),s.keyboard&&(u.tabIndex="0",u.setAttribute("role","button")),this._icon=u,s.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ot(u,"focus",this._panOnFocus,this);var p=s.icon.createShadow(this._shadow),x=!1;p!==this._shadow&&(this._removeShadow(),x=!0),p&&(lt(p,l),p.alt=""),this._shadow=p,s.opacity<1&&this._updateOpacity(),g&&this.getPane().appendChild(this._icon),this._initInteraction(),p&&x&&this.getPane(s.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Pt(this._icon,"focus",this._panOnFocus,this),Rt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&Rt(this._shadow),this._shadow=null},_setPos:function(s){this._icon&&Nt(this._icon,s),this._shadow&&Nt(this._shadow,s),this._zIndex=s.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(s){this._icon&&(this._icon.style.zIndex=this._zIndex+s)},_animateZoom:function(s){var l=this._map._latLngToNewLayerPoint(this._latlng,s.zoom,s.center).round();this._setPos(l)},_initInteraction:function(){if(this.options.interactive&&(lt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),kf)){var s=this.options.draggable;this.dragging&&(s=this.dragging.enabled(),this.dragging.disable()),this.dragging=new kf(this),s&&this.dragging.enable()}},setOpacity:function(s){return this.options.opacity=s,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var s=this.options.opacity;this._icon&&Ee(this._icon,s),this._shadow&&Ee(this._shadow,s)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var s=this._map;if(s){var l=this.options.icon.options,u=l.iconSize?U(l.iconSize):U(0,0),g=l.iconAnchor?U(l.iconAnchor):U(0,0);s.panInside(this._latlng,{paddingTopLeft:g,paddingBottomRight:u.subtract(g)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function Jw(s,l){return new Bo(s,l)}var Wi=Ae.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(s){this._renderer=s.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(s){return E(this,s),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&s&&Object.prototype.hasOwnProperty.call(s,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Go=Wi.extend({options:{fill:!0,radius:10},initialize:function(s,l){E(this,l),this._latlng=nt(s),this._radius=this.options.radius},setLatLng:function(s){var l=this._latlng;return this._latlng=nt(s),this.redraw(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(s){return this.options.radius=this._radius=s,this.redraw()},getRadius:function(){return this._radius},setStyle:function(s){var l=s&&s.radius||this._radius;return Wi.prototype.setStyle.call(this,s),this.setRadius(l),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var s=this._radius,l=this._radiusY||s,u=this._clickTolerance(),g=[s+u,l+u];this._pxBounds=new st(this._point.subtract(g),this._point.add(g))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(s){return s.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function Qw(s,l){return new Go(s,l)}var uh=Go.extend({initialize:function(s,l,u){if(typeof l=="number"&&(l=n({},u,{radius:l})),E(this,l),this._latlng=nt(s),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(s){return this._mRadius=s,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var s=[this._radius,this._radiusY||this._radius];return new Lt(this._map.layerPointToLatLng(this._point.subtract(s)),this._map.layerPointToLatLng(this._point.add(s)))},setStyle:Wi.prototype.setStyle,_project:function(){var s=this._latlng.lng,l=this._latlng.lat,u=this._map,g=u.options.crs;if(g.distance===St.distance){var p=Math.PI/180,x=this._mRadius/St.R/p,C=u.project([l+x,s]),k=u.project([l-x,s]),R=C.add(k).divideBy(2),O=u.unproject(R).lat,j=Math.acos((Math.cos(x*p)-Math.sin(l*p)*Math.sin(O*p))/(Math.cos(l*p)*Math.cos(O*p)))/p;(isNaN(j)||j===0)&&(j=x/Math.cos(Math.PI/180*l)),this._point=R.subtract(u.getPixelOrigin()),this._radius=isNaN(j)?0:R.x-u.project([O,s-j]).x,this._radiusY=R.y-C.y}else{var et=g.unproject(g.project(this._latlng).subtract([this._mRadius,0]));this._point=u.latLngToLayerPoint(this._latlng),this._radius=this._point.x-u.latLngToLayerPoint(et).x}this._updateBounds()}});function tL(s,l,u){return new uh(s,l,u)}var pi=Wi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(s,l){E(this,l),this._setLatLngs(s)},getLatLngs:function(){return this._latlngs},setLatLngs:function(s){return this._setLatLngs(s),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(s){for(var l=1/0,u=null,g=Jr,p,x,C=0,k=this._parts.length;C<k;C++)for(var R=this._parts[C],O=1,j=R.length;O<j;O++){p=R[O-1],x=R[O];var et=g(s,p,x,!0);et<l&&(l=et,u=g(s,p,x))}return u&&(u.distance=Math.sqrt(l)),u},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Sf(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(s,l){return l=l||this._defaultShape(),s=nt(s),l.push(s),this._bounds.extend(s),this.redraw()},_setLatLngs:function(s){this._bounds=new Lt,this._latlngs=this._convertLatLngs(s)},_defaultShape:function(){return we(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(s){for(var l=[],u=we(s),g=0,p=s.length;g<p;g++)u?(l[g]=nt(s[g]),this._bounds.extend(l[g])):l[g]=this._convertLatLngs(s[g]);return l},_project:function(){var s=new st;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,s),this._bounds.isValid()&&s.isValid()&&(this._rawPxBounds=s,this._updateBounds())},_updateBounds:function(){var s=this._clickTolerance(),l=new B(s,s);this._rawPxBounds&&(this._pxBounds=new st([this._rawPxBounds.min.subtract(l),this._rawPxBounds.max.add(l)]))},_projectLatlngs:function(s,l,u){var g=s[0]instanceof Y,p=s.length,x,C;if(g){for(C=[],x=0;x<p;x++)C[x]=this._map.latLngToLayerPoint(s[x]),u.extend(C[x]);l.push(C)}else for(x=0;x<p;x++)this._projectLatlngs(s[x],l,u)},_clipPoints:function(){var s=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(s))){if(this.options.noClip){this._parts=this._rings;return}var l=this._parts,u,g,p,x,C,k,R;for(u=0,p=0,x=this._rings.length;u<x;u++)for(R=this._rings[u],g=0,C=R.length;g<C-1;g++)k=Tf(R[g],R[g+1],s,g,!0),k&&(l[p]=l[p]||[],l[p].push(k[0]),(k[1]!==R[g+1]||g===C-2)&&(l[p].push(k[1]),p++))}},_simplifyPoints:function(){for(var s=this._parts,l=this.options.smoothFactor,u=0,g=s.length;u<g;u++)s[u]=wf(s[u],l)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(s,l){var u,g,p,x,C,k,R=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(s))return!1;for(u=0,x=this._parts.length;u<x;u++)for(k=this._parts[u],g=0,C=k.length,p=C-1;g<C;p=g++)if(!(!l&&g===0)&&Lf(s,k[p],k[g])<=R)return!0;return!1}});function eL(s,l){return new pi(s,l)}pi._flat=Cf;var er=pi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Ef(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(s){var l=pi.prototype._convertLatLngs.call(this,s),u=l.length;return u>=2&&l[0]instanceof Y&&l[0].equals(l[u-1])&&l.pop(),l},_setLatLngs:function(s){pi.prototype._setLatLngs.call(this,s),we(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return we(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var s=this._renderer._bounds,l=this.options.weight,u=new B(l,l);if(s=new st(s.min.subtract(u),s.max.add(u)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(s))){if(this.options.noClip){this._parts=this._rings;return}for(var g=0,p=this._rings.length,x;g<p;g++)x=xf(this._rings[g],s,!0),x.length&&this._parts.push(x)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(s){var l=!1,u,g,p,x,C,k,R,O;if(!this._pxBounds||!this._pxBounds.contains(s))return!1;for(x=0,R=this._parts.length;x<R;x++)for(u=this._parts[x],C=0,O=u.length,k=O-1;C<O;k=C++)g=u[C],p=u[k],g.y>s.y!=p.y>s.y&&s.x<(p.x-g.x)*(s.y-g.y)/(p.y-g.y)+g.x&&(l=!l);return l||pi.prototype._containsPoint.call(this,s,!0)}});function iL(s,l){return new er(s,l)}var mi=_i.extend({initialize:function(s,l){E(this,l),this._layers={},s&&this.addData(s)},addData:function(s){var l=T(s)?s:s.features,u,g,p;if(l){for(u=0,g=l.length;u<g;u++)p=l[u],(p.geometries||p.geometry||p.features||p.coordinates)&&this.addData(p);return this}var x=this.options;if(x.filter&&!x.filter(s))return this;var C=Uo(s,x);return C?(C.feature=Wo(s),C.defaultOptions=C.options,this.resetStyle(C),x.onEachFeature&&x.onEachFeature(s,C),this.addLayer(C)):this},resetStyle:function(s){return s===void 0?this.eachLayer(this.resetStyle,this):(s.options=n({},s.defaultOptions),this._setLayerStyle(s,this.options.style),this)},setStyle:function(s){return this.eachLayer(function(l){this._setLayerStyle(l,s)},this)},_setLayerStyle:function(s,l){s.setStyle&&(typeof l=="function"&&(l=l(s.feature)),s.setStyle(l))}});function Uo(s,l){var u=s.type==="Feature"?s.geometry:s,g=u?u.coordinates:null,p=[],x=l&&l.pointToLayer,C=l&&l.coordsToLatLng||dh,k,R,O,j;if(!g&&!u)return null;switch(u.type){case"Point":return k=C(g),Rf(x,s,k,l);case"MultiPoint":for(O=0,j=g.length;O<j;O++)k=C(g[O]),p.push(Rf(x,s,k,l));return new _i(p);case"LineString":case"MultiLineString":return R=Zo(g,u.type==="LineString"?0:1,C),new pi(R,l);case"Polygon":case"MultiPolygon":return R=Zo(g,u.type==="Polygon"?1:2,C),new er(R,l);case"GeometryCollection":for(O=0,j=u.geometries.length;O<j;O++){var et=Uo({geometry:u.geometries[O],type:"Feature",properties:s.properties},l);et&&p.push(et)}return new _i(p);case"FeatureCollection":for(O=0,j=u.features.length;O<j;O++){var ut=Uo(u.features[O],l);ut&&p.push(ut)}return new _i(p);default:throw new Error("Invalid GeoJSON object.")}}function Rf(s,l,u,g){return s?s(l,u):new Bo(u,g&&g.markersInheritOptions&&g)}function dh(s){return new Y(s[1],s[0],s[2])}function Zo(s,l,u){for(var g=[],p=0,x=s.length,C;p<x;p++)C=l?Zo(s[p],l-1,u):(u||dh)(s[p]),g.push(C);return g}function fh(s,l){return s=nt(s),s.alt!==void 0?[m(s.lng,l),m(s.lat,l),m(s.alt,l)]:[m(s.lng,l),m(s.lat,l)]}function jo(s,l,u,g){for(var p=[],x=0,C=s.length;x<C;x++)p.push(l?jo(s[x],we(s[x])?0:l-1,u,g):fh(s[x],g));return!l&&u&&p.length>0&&p.push(p[0].slice()),p}function ir(s,l){return s.feature?n({},s.feature,{geometry:l}):Wo(l)}function Wo(s){return s.type==="Feature"||s.type==="FeatureCollection"?s:{type:"Feature",properties:{},geometry:s}}var gh={toGeoJSON:function(s){return ir(this,{type:"Point",coordinates:fh(this.getLatLng(),s)})}};Bo.include(gh),uh.include(gh),Go.include(gh),pi.include({toGeoJSON:function(s){var l=!we(this._latlngs),u=jo(this._latlngs,l?1:0,!1,s);return ir(this,{type:(l?"Multi":"")+"LineString",coordinates:u})}}),er.include({toGeoJSON:function(s){var l=!we(this._latlngs),u=l&&!we(this._latlngs[0]),g=jo(this._latlngs,u?2:l?1:0,!0,s);return l||(g=[g]),ir(this,{type:(u?"Multi":"")+"Polygon",coordinates:g})}}),Qn.include({toMultiPoint:function(s){var l=[];return this.eachLayer(function(u){l.push(u.toGeoJSON(s).geometry.coordinates)}),ir(this,{type:"MultiPoint",coordinates:l})},toGeoJSON:function(s){var l=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(l==="MultiPoint")return this.toMultiPoint(s);var u=l==="GeometryCollection",g=[];return this.eachLayer(function(p){if(p.toGeoJSON){var x=p.toGeoJSON(s);if(u)g.push(x.geometry);else{var C=Wo(x);C.type==="FeatureCollection"?g.push.apply(g,C.features):g.push(C)}}}),u?ir(this,{geometries:g,type:"GeometryCollection"}):{type:"FeatureCollection",features:g}}});function Mf(s,l){return new mi(s,l)}var nL=Mf,Ho=Ae.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(s,l,u){this._url=s,this._bounds=J(l),E(this,u)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(lt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Rt(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(s){return this.options.opacity=s,this._image&&this._updateOpacity(),this},setStyle:function(s){return s.opacity&&this.setOpacity(s.opacity),this},bringToFront:function(){return this._map&&$n(this._image),this},bringToBack:function(){return this._map&&Jn(this._image),this},setUrl:function(s){return this._url=s,this._image&&(this._image.src=s),this},setBounds:function(s){return this._bounds=J(s),this._map&&this._reset(),this},getEvents:function(){var s={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(s.zoomanim=this._animateZoom),s},setZIndex:function(s){return this.options.zIndex=s,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var s=this._url.tagName==="IMG",l=this._image=s?this._url:mt("img");if(lt(l,"leaflet-image-layer"),this._zoomAnimated&&lt(l,"leaflet-zoom-animated"),this.options.className&&lt(l,this.options.className),l.onselectstart=_,l.onmousemove=_,l.onload=a(this.fire,this,"load"),l.onerror=a(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(l.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),s){this._url=l.src;return}l.src=this._url,l.alt=this.options.alt},_animateZoom:function(s){var l=this._map.getZoomScale(s.zoom),u=this._map._latLngBoundsToNewLayerBounds(this._bounds,s.zoom,s.center).min;un(this._image,u,l)},_reset:function(){var s=this._image,l=new st(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),u=l.getSize();Nt(s,l.min),s.style.width=u.x+"px",s.style.height=u.y+"px"},_updateOpacity:function(){Ee(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var s=this.options.errorOverlayUrl;s&&this._url!==s&&(this._url=s,this._image.src=s)},getCenter:function(){return this._bounds.getCenter()}}),rL=function(s,l,u){return new Ho(s,l,u)},If=Ho.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var s=this._url.tagName==="VIDEO",l=this._image=s?this._url:mt("video");if(lt(l,"leaflet-image-layer"),this._zoomAnimated&&lt(l,"leaflet-zoom-animated"),this.options.className&&lt(l,this.options.className),l.onselectstart=_,l.onmousemove=_,l.onloadeddata=a(this.fire,this,"load"),s){for(var u=l.getElementsByTagName("source"),g=[],p=0;p<u.length;p++)g.push(u[p].src);this._url=u.length>0?g:[l.src];return}T(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(l.style,"objectFit")&&(l.style.objectFit="fill"),l.autoplay=!!this.options.autoplay,l.loop=!!this.options.loop,l.muted=!!this.options.muted,l.playsInline=!!this.options.playsInline;for(var x=0;x<this._url.length;x++){var C=mt("source");C.src=this._url[x],l.appendChild(C)}}});function sL(s,l,u){return new If(s,l,u)}var Af=Ho.extend({_initImage:function(){var s=this._image=this._url;lt(s,"leaflet-image-layer"),this._zoomAnimated&&lt(s,"leaflet-zoom-animated"),this.options.className&&lt(s,this.options.className),s.onselectstart=_,s.onmousemove=_}});function oL(s,l,u){return new Af(s,l,u)}var Ke=Ae.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(s,l){s&&(s instanceof Y||T(s))?(this._latlng=nt(s),E(this,l)):(E(this,s),this._source=l),this.options.content&&(this._content=this.options.content)},openOn:function(s){return s=arguments.length?s:this._source._map,s.hasLayer(this)||s.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(s){return this._map?this.close():(arguments.length?this._source=s:s=this._source,this._prepareOpen(),this.openOn(s._map)),this},onAdd:function(s){this._zoomAnimated=s._zoomAnimated,this._container||this._initLayout(),s._fadeAnimated&&Ee(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),s._fadeAnimated&&Ee(this._container,1),this.bringToFront(),this.options.interactive&&(lt(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(s){s._fadeAnimated?(Ee(this._container,0),this._removeTimeout=setTimeout(a(Rt,void 0,this._container),200)):Rt(this._container),this.options.interactive&&(At(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(s){return this._latlng=nt(s),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(s){return this._content=s,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var s={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(s.zoomanim=this._animateZoom),s},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&$n(this._container),this},bringToBack:function(){return this._map&&Jn(this._container),this},_prepareOpen:function(s){var l=this._source;if(!l._map)return!1;if(l instanceof _i){l=null;var u=this._source._layers;for(var g in u)if(u[g]._map){l=u[g];break}if(!l)return!1;this._source=l}if(!s)if(l.getCenter)s=l.getCenter();else if(l.getLatLng)s=l.getLatLng();else if(l.getBounds)s=l.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(s),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var s=this._contentNode,l=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof l=="string")s.innerHTML=l;else{for(;s.hasChildNodes();)s.removeChild(s.firstChild);s.appendChild(l)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var s=this._map.latLngToLayerPoint(this._latlng),l=U(this.options.offset),u=this._getAnchor();this._zoomAnimated?Nt(this._container,s.add(u)):l=l.add(s).add(u);var g=this._containerBottom=-l.y,p=this._containerLeft=-Math.round(this._containerWidth/2)+l.x;this._container.style.bottom=g+"px",this._container.style.left=p+"px"}},_getAnchor:function(){return[0,0]}});_t.include({_initOverlay:function(s,l,u,g){var p=l;return p instanceof s||(p=new s(g).setContent(l)),u&&p.setLatLng(u),p}}),Ae.include({_initOverlay:function(s,l,u,g){var p=u;return p instanceof s?(E(p,g),p._source=this):(p=l&&!g?l:new s(g,this),p.setContent(u)),p}});var Vo=Ke.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(s){return s=arguments.length?s:this._source._map,!s.hasLayer(this)&&s._popup&&s._popup.options.autoClose&&s.removeLayer(s._popup),s._popup=this,Ke.prototype.openOn.call(this,s)},onAdd:function(s){Ke.prototype.onAdd.call(this,s),s.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Wi||this._source.on("preclick",fn))},onRemove:function(s){Ke.prototype.onRemove.call(this,s),s.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Wi||this._source.off("preclick",fn))},getEvents:function(){var s=Ke.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(s.preclick=this.close),this.options.keepInView&&(s.moveend=this._adjustPan),s},_initLayout:function(){var s="leaflet-popup",l=this._container=mt("div",s+" "+(this.options.className||"")+" leaflet-zoom-animated"),u=this._wrapper=mt("div",s+"-content-wrapper",l);if(this._contentNode=mt("div",s+"-content",u),qr(l),nh(this._contentNode),ot(l,"contextmenu",fn),this._tipContainer=mt("div",s+"-tip-container",l),this._tip=mt("div",s+"-tip",this._tipContainer),this.options.closeButton){var g=this._closeButton=mt("a",s+"-close-button",l);g.setAttribute("role","button"),g.setAttribute("aria-label","Close popup"),g.href="#close",g.innerHTML='<span aria-hidden="true">&#215;</span>',ot(g,"click",function(p){Kt(p),this.close()},this)}},_updateLayout:function(){var s=this._contentNode,l=s.style;l.width="",l.whiteSpace="nowrap";var u=s.offsetWidth;u=Math.min(u,this.options.maxWidth),u=Math.max(u,this.options.minWidth),l.width=u+1+"px",l.whiteSpace="",l.height="";var g=s.offsetHeight,p=this.options.maxHeight,x="leaflet-popup-scrolled";p&&g>p?(l.height=p+"px",lt(s,x)):At(s,x),this._containerWidth=this._container.offsetWidth},_animateZoom:function(s){var l=this._map._latLngToNewLayerPoint(this._latlng,s.zoom,s.center),u=this._getAnchor();Nt(this._container,l.add(u))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var s=this._map,l=parseInt(Vr(this._container,"marginBottom"),10)||0,u=this._container.offsetHeight+l,g=this._containerWidth,p=new B(this._containerLeft,-u-this._containerBottom);p._add(dn(this._container));var x=s.layerPointToContainerPoint(p),C=U(this.options.autoPanPadding),k=U(this.options.autoPanPaddingTopLeft||C),R=U(this.options.autoPanPaddingBottomRight||C),O=s.getSize(),j=0,et=0;x.x+g+R.x>O.x&&(j=x.x+g-O.x+R.x),x.x-j-k.x<0&&(j=x.x-k.x),x.y+u+R.y>O.y&&(et=x.y+u-O.y+R.y),x.y-et-k.y<0&&(et=x.y-k.y),(j||et)&&(this.options.keepInView&&(this._autopanning=!0),s.fire("autopanstart").panBy([j,et]))}},_getAnchor:function(){return U(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),aL=function(s,l){return new Vo(s,l)};_t.mergeOptions({closePopupOnClick:!0}),_t.include({openPopup:function(s,l,u){return this._initOverlay(Vo,s,l,u).openOn(this),this},closePopup:function(s){return s=arguments.length?s:this._popup,s&&s.close(),this}}),Ae.include({bindPopup:function(s,l){return this._popup=this._initOverlay(Vo,this._popup,s,l),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(s){return this._popup&&(this instanceof _i||(this._popup._source=this),this._popup._prepareOpen(s||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(s){return this._popup&&this._popup.setContent(s),this},getPopup:function(){return this._popup},_openPopup:function(s){if(!(!this._popup||!this._map)){gn(s);var l=s.layer||s.target;if(this._popup._source===l&&!(l instanceof Wi)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(s.latlng);return}this._popup._source=l,this.openPopup(s.latlng)}},_movePopup:function(s){this._popup.setLatLng(s.latlng)},_onKeyPress:function(s){s.originalEvent.keyCode===13&&this._openPopup(s)}});var Xo=Ke.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(s){Ke.prototype.onAdd.call(this,s),this.setOpacity(this.options.opacity),s.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(s){Ke.prototype.onRemove.call(this,s),s.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var s=Ke.prototype.getEvents.call(this);return this.options.permanent||(s.preclick=this.close),s},_initLayout:function(){var s="leaflet-tooltip",l=s+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=mt("div",l),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(s){var l,u,g=this._map,p=this._container,x=g.latLngToContainerPoint(g.getCenter()),C=g.layerPointToContainerPoint(s),k=this.options.direction,R=p.offsetWidth,O=p.offsetHeight,j=U(this.options.offset),et=this._getAnchor();k==="top"?(l=R/2,u=O):k==="bottom"?(l=R/2,u=0):k==="center"?(l=R/2,u=O/2):k==="right"?(l=0,u=O/2):k==="left"?(l=R,u=O/2):C.x<x.x?(k="right",l=0,u=O/2):(k="left",l=R+(j.x+et.x)*2,u=O/2),s=s.subtract(U(l,u,!0)).add(j).add(et),At(p,"leaflet-tooltip-right"),At(p,"leaflet-tooltip-left"),At(p,"leaflet-tooltip-top"),At(p,"leaflet-tooltip-bottom"),lt(p,"leaflet-tooltip-"+k),Nt(p,s)},_updatePosition:function(){var s=this._map.latLngToLayerPoint(this._latlng);this._setPosition(s)},setOpacity:function(s){this.options.opacity=s,this._container&&Ee(this._container,s)},_animateZoom:function(s){var l=this._map._latLngToNewLayerPoint(this._latlng,s.zoom,s.center);this._setPosition(l)},_getAnchor:function(){return U(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),lL=function(s,l){return new Xo(s,l)};_t.include({openTooltip:function(s,l,u){return this._initOverlay(Xo,s,l,u).openOn(this),this},closeTooltip:function(s){return s.close(),this}}),Ae.include({bindTooltip:function(s,l){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Xo,this._tooltip,s,l),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(s){if(!(!s&&this._tooltipHandlersAdded)){var l=s?"off":"on",u={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?u.add=this._openTooltip:(u.mouseover=this._openTooltip,u.mouseout=this.closeTooltip,u.click=this._openTooltip,this._map?this._addFocusListeners():u.add=this._addFocusListeners),this._tooltip.options.sticky&&(u.mousemove=this._moveTooltip),this[l](u),this._tooltipHandlersAdded=!s}},openTooltip:function(s){return this._tooltip&&(this instanceof _i||(this._tooltip._source=this),this._tooltip._prepareOpen(s)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(s){return this._tooltip&&this._tooltip.setContent(s),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(s){var l=typeof s.getElement=="function"&&s.getElement();l&&(ot(l,"focus",function(){this._tooltip._source=s,this.openTooltip()},this),ot(l,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(s){var l=typeof s.getElement=="function"&&s.getElement();l&&l.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(s){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var l=this;this._map.once("moveend",function(){l._openOnceFlag=!1,l._openTooltip(s)});return}this._tooltip._source=s.layer||s.target,this.openTooltip(this._tooltip.options.sticky?s.latlng:void 0)}},_moveTooltip:function(s){var l=s.latlng,u,g;this._tooltip.options.sticky&&s.originalEvent&&(u=this._map.mouseEventToContainerPoint(s.originalEvent),g=this._map.containerPointToLayerPoint(u),l=this._map.layerPointToLatLng(g)),this._tooltip.setLatLng(l)}});var Df=tr.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(s){var l=s&&s.tagName==="DIV"?s:document.createElement("div"),u=this.options;if(u.html instanceof Element?(Ao(l),l.appendChild(u.html)):l.innerHTML=u.html!==!1?u.html:"",u.bgPos){var g=U(u.bgPos);l.style.backgroundPosition=-g.x+"px "+-g.y+"px"}return this._setIconStyles(l,"icon"),l},createShadow:function(){return null}});function hL(s){return new Df(s)}tr.Default=Qr;var ts=Ae.extend({options:{tileSize:256,opacity:1,updateWhenIdle:X.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(s){E(this,s)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(s){s._addZoomLimit(this)},onRemove:function(s){this._removeAllTiles(),Rt(this._container),s._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&($n(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Jn(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(s){return this.options.opacity=s,this._updateOpacity(),this},setZIndex:function(s){return this.options.zIndex=s,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var s=this._clampZoom(this._map.getZoom());s!==this._tileZoom&&(this._tileZoom=s,this._updateLevels()),this._update()}return this},getEvents:function(){var s={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=d(this._onMoveEnd,this.options.updateInterval,this)),s.move=this._onMove),this._zoomAnimated&&(s.zoomanim=this._animateZoom),s},createTile:function(){return document.createElement("div")},getTileSize:function(){var s=this.options.tileSize;return s instanceof B?s:new B(s,s)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(s){for(var l=this.getPane().children,u=-s(-1/0,1/0),g=0,p=l.length,x;g<p;g++)x=l[g].style.zIndex,l[g]!==this._container&&x&&(u=s(u,+x));isFinite(u)&&(this.options.zIndex=u+s(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X.ielt9){Ee(this._container,this.options.opacity);var s=+new Date,l=!1,u=!1;for(var g in this._tiles){var p=this._tiles[g];if(!(!p.current||!p.loaded)){var x=Math.min(1,(s-p.loaded)/200);Ee(p.el,x),x<1?l=!0:(p.active?u=!0:this._onOpaqueTile(p),p.active=!0)}}u&&!this._noPrune&&this._pruneTiles(),l&&(q(this._fadeFrame),this._fadeFrame=Q(this._updateOpacity,this))}},_onOpaqueTile:_,_initContainer:function(){this._container||(this._container=mt("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var s=this._tileZoom,l=this.options.maxZoom;if(s!==void 0){for(var u in this._levels)u=Number(u),this._levels[u].el.children.length||u===s?(this._levels[u].el.style.zIndex=l-Math.abs(s-u),this._onUpdateLevel(u)):(Rt(this._levels[u].el),this._removeTilesAtZoom(u),this._onRemoveLevel(u),delete this._levels[u]);var g=this._levels[s],p=this._map;return g||(g=this._levels[s]={},g.el=mt("div","leaflet-tile-container leaflet-zoom-animated",this._container),g.el.style.zIndex=l,g.origin=p.project(p.unproject(p.getPixelOrigin()),s).round(),g.zoom=s,this._setZoomTransform(g,p.getCenter(),p.getZoom()),_(g.el.offsetWidth),this._onCreateLevel(g)),this._level=g,g}},_onUpdateLevel:_,_onRemoveLevel:_,_onCreateLevel:_,_pruneTiles:function(){if(this._map){var s,l,u=this._map.getZoom();if(u>this.options.maxZoom||u<this.options.minZoom){this._removeAllTiles();return}for(s in this._tiles)l=this._tiles[s],l.retain=l.current;for(s in this._tiles)if(l=this._tiles[s],l.current&&!l.active){var g=l.coords;this._retainParent(g.x,g.y,g.z,g.z-5)||this._retainChildren(g.x,g.y,g.z,g.z+2)}for(s in this._tiles)this._tiles[s].retain||this._removeTile(s)}},_removeTilesAtZoom:function(s){for(var l in this._tiles)this._tiles[l].coords.z===s&&this._removeTile(l)},_removeAllTiles:function(){for(var s in this._tiles)this._removeTile(s)},_invalidateAll:function(){for(var s in this._levels)Rt(this._levels[s].el),this._onRemoveLevel(Number(s)),delete this._levels[s];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(s,l,u,g){var p=Math.floor(s/2),x=Math.floor(l/2),C=u-1,k=new B(+p,+x);k.z=+C;var R=this._tileCoordsToKey(k),O=this._tiles[R];return O&&O.active?(O.retain=!0,!0):(O&&O.loaded&&(O.retain=!0),C>g?this._retainParent(p,x,C,g):!1)},_retainChildren:function(s,l,u,g){for(var p=2*s;p<2*s+2;p++)for(var x=2*l;x<2*l+2;x++){var C=new B(p,x);C.z=u+1;var k=this._tileCoordsToKey(C),R=this._tiles[k];if(R&&R.active){R.retain=!0;continue}else R&&R.loaded&&(R.retain=!0);u+1<g&&this._retainChildren(p,x,u+1,g)}},_resetView:function(s){var l=s&&(s.pinch||s.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),l,l)},_animateZoom:function(s){this._setView(s.center,s.zoom,!0,s.noUpdate)},_clampZoom:function(s){var l=this.options;return l.minNativeZoom!==void 0&&s<l.minNativeZoom?l.minNativeZoom:l.maxNativeZoom!==void 0&&l.maxNativeZoom<s?l.maxNativeZoom:s},_setView:function(s,l,u,g){var p=Math.round(l);this.options.maxZoom!==void 0&&p>this.options.maxZoom||this.options.minZoom!==void 0&&p<this.options.minZoom?p=void 0:p=this._clampZoom(p);var x=this.options.updateWhenZooming&&p!==this._tileZoom;(!g||x)&&(this._tileZoom=p,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),p!==void 0&&this._update(s),u||this._pruneTiles(),this._noPrune=!!u),this._setZoomTransforms(s,l)},_setZoomTransforms:function(s,l){for(var u in this._levels)this._setZoomTransform(this._levels[u],s,l)},_setZoomTransform:function(s,l,u){var g=this._map.getZoomScale(u,s.zoom),p=s.origin.multiplyBy(g).subtract(this._map._getNewPixelOrigin(l,u)).round();X.any3d?un(s.el,p,g):Nt(s.el,p)},_resetGrid:function(){var s=this._map,l=s.options.crs,u=this._tileSize=this.getTileSize(),g=this._tileZoom,p=this._map.getPixelWorldBounds(this._tileZoom);p&&(this._globalTileRange=this._pxBoundsToTileRange(p)),this._wrapX=l.wrapLng&&!this.options.noWrap&&[Math.floor(s.project([0,l.wrapLng[0]],g).x/u.x),Math.ceil(s.project([0,l.wrapLng[1]],g).x/u.y)],this._wrapY=l.wrapLat&&!this.options.noWrap&&[Math.floor(s.project([l.wrapLat[0],0],g).y/u.x),Math.ceil(s.project([l.wrapLat[1],0],g).y/u.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(s){var l=this._map,u=l._animatingZoom?Math.max(l._animateToZoom,l.getZoom()):l.getZoom(),g=l.getZoomScale(u,this._tileZoom),p=l.project(s,this._tileZoom).floor(),x=l.getSize().divideBy(g*2);return new st(p.subtract(x),p.add(x))},_update:function(s){var l=this._map;if(l){var u=this._clampZoom(l.getZoom());if(s===void 0&&(s=l.getCenter()),this._tileZoom!==void 0){var g=this._getTiledPixelBounds(s),p=this._pxBoundsToTileRange(g),x=p.getCenter(),C=[],k=this.options.keepBuffer,R=new st(p.getBottomLeft().subtract([k,-k]),p.getTopRight().add([k,-k]));if(!(isFinite(p.min.x)&&isFinite(p.min.y)&&isFinite(p.max.x)&&isFinite(p.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var O in this._tiles){var j=this._tiles[O].coords;(j.z!==this._tileZoom||!R.contains(new B(j.x,j.y)))&&(this._tiles[O].current=!1)}if(Math.abs(u-this._tileZoom)>1){this._setView(s,u);return}for(var et=p.min.y;et<=p.max.y;et++)for(var ut=p.min.x;ut<=p.max.x;ut++){var re=new B(ut,et);if(re.z=this._tileZoom,!!this._isValidTile(re)){var Ht=this._tiles[this._tileCoordsToKey(re)];Ht?Ht.current=!0:C.push(re)}}if(C.sort(function(ue,rr){return ue.distanceTo(x)-rr.distanceTo(x)}),C.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Le=document.createDocumentFragment();for(ut=0;ut<C.length;ut++)this._addTile(C[ut],Le);this._level.el.appendChild(Le)}}}},_isValidTile:function(s){var l=this._map.options.crs;if(!l.infinite){var u=this._globalTileRange;if(!l.wrapLng&&(s.x<u.min.x||s.x>u.max.x)||!l.wrapLat&&(s.y<u.min.y||s.y>u.max.y))return!1}if(!this.options.bounds)return!0;var g=this._tileCoordsToBounds(s);return J(this.options.bounds).overlaps(g)},_keyToBounds:function(s){return this._tileCoordsToBounds(this._keyToTileCoords(s))},_tileCoordsToNwSe:function(s){var l=this._map,u=this.getTileSize(),g=s.scaleBy(u),p=g.add(u),x=l.unproject(g,s.z),C=l.unproject(p,s.z);return[x,C]},_tileCoordsToBounds:function(s){var l=this._tileCoordsToNwSe(s),u=new Lt(l[0],l[1]);return this.options.noWrap||(u=this._map.wrapLatLngBounds(u)),u},_tileCoordsToKey:function(s){return s.x+":"+s.y+":"+s.z},_keyToTileCoords:function(s){var l=s.split(":"),u=new B(+l[0],+l[1]);return u.z=+l[2],u},_removeTile:function(s){var l=this._tiles[s];l&&(Rt(l.el),delete this._tiles[s],this.fire("tileunload",{tile:l.el,coords:this._keyToTileCoords(s)}))},_initTile:function(s){lt(s,"leaflet-tile");var l=this.getTileSize();s.style.width=l.x+"px",s.style.height=l.y+"px",s.onselectstart=_,s.onmousemove=_,X.ielt9&&this.options.opacity<1&&Ee(s,this.options.opacity)},_addTile:function(s,l){var u=this._getTilePos(s),g=this._tileCoordsToKey(s),p=this.createTile(this._wrapCoords(s),a(this._tileReady,this,s));this._initTile(p),this.createTile.length<2&&Q(a(this._tileReady,this,s,null,p)),Nt(p,u),this._tiles[g]={el:p,coords:s,current:!0},l.appendChild(p),this.fire("tileloadstart",{tile:p,coords:s})},_tileReady:function(s,l,u){l&&this.fire("tileerror",{error:l,tile:u,coords:s});var g=this._tileCoordsToKey(s);u=this._tiles[g],u&&(u.loaded=+new Date,this._map._fadeAnimated?(Ee(u.el,0),q(this._fadeFrame),this._fadeFrame=Q(this._updateOpacity,this)):(u.active=!0,this._pruneTiles()),l||(lt(u.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:u.el,coords:s})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X.ielt9||!this._map._fadeAnimated?Q(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(s){return s.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(s){var l=new B(this._wrapX?f(s.x,this._wrapX):s.x,this._wrapY?f(s.y,this._wrapY):s.y);return l.z=s.z,l},_pxBoundsToTileRange:function(s){var l=this.getTileSize();return new st(s.min.unscaleBy(l).floor(),s.max.unscaleBy(l).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var s in this._tiles)if(!this._tiles[s].loaded)return!1;return!0}});function cL(s){return new ts(s)}var nr=ts.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(s,l){this._url=s,l=E(this,l),l.detectRetina&&X.retina&&l.maxZoom>0?(l.tileSize=Math.floor(l.tileSize/2),l.zoomReverse?(l.zoomOffset--,l.minZoom=Math.min(l.maxZoom,l.minZoom+1)):(l.zoomOffset++,l.maxZoom=Math.max(l.minZoom,l.maxZoom-1)),l.minZoom=Math.max(0,l.minZoom)):l.zoomReverse?l.minZoom=Math.min(l.maxZoom,l.minZoom):l.maxZoom=Math.max(l.minZoom,l.maxZoom),typeof l.subdomains=="string"&&(l.subdomains=l.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(s,l){return this._url===s&&l===void 0&&(l=!0),this._url=s,l||this.redraw(),this},createTile:function(s,l){var u=document.createElement("img");return ot(u,"load",a(this._tileOnLoad,this,l,u)),ot(u,"error",a(this._tileOnError,this,l,u)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(u.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(u.referrerPolicy=this.options.referrerPolicy),u.alt="",u.src=this.getTileUrl(s),u},getTileUrl:function(s){var l={r:X.retina?"@2x":"",s:this._getSubdomain(s),x:s.x,y:s.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var u=this._globalTileRange.max.y-s.y;this.options.tms&&(l.y=u),l["-y"]=u}return w(this._url,n(l,this.options))},_tileOnLoad:function(s,l){X.ielt9?setTimeout(a(s,this,null,l),0):s(null,l)},_tileOnError:function(s,l,u){var g=this.options.errorTileUrl;g&&l.getAttribute("src")!==g&&(l.src=g),s(u,l)},_onTileRemove:function(s){s.tile.onload=null},_getZoomForUrl:function(){var s=this._tileZoom,l=this.options.maxZoom,u=this.options.zoomReverse,g=this.options.zoomOffset;return u&&(s=l-s),s+g},_getSubdomain:function(s){var l=Math.abs(s.x+s.y)%this.options.subdomains.length;return this.options.subdomains[l]},_abortLoading:function(){var s,l;for(s in this._tiles)if(this._tiles[s].coords.z!==this._tileZoom&&(l=this._tiles[s].el,l.onload=_,l.onerror=_,!l.complete)){l.src=M;var u=this._tiles[s].coords;Rt(l),delete this._tiles[s],this.fire("tileabort",{tile:l,coords:u})}},_removeTile:function(s){var l=this._tiles[s];if(l)return l.el.setAttribute("src",M),ts.prototype._removeTile.call(this,s)},_tileReady:function(s,l,u){if(!(!this._map||u&&u.getAttribute("src")===M))return ts.prototype._tileReady.call(this,s,l,u)}});function Of(s,l){return new nr(s,l)}var Ff=nr.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(s,l){this._url=s;var u=n({},this.defaultWmsParams);for(var g in l)g in this.options||(u[g]=l[g]);l=E(this,l);var p=l.detectRetina&&X.retina?2:1,x=this.getTileSize();u.width=x.x*p,u.height=x.y*p,this.wmsParams=u},onAdd:function(s){this._crs=this.options.crs||s.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var l=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[l]=this._crs.code,nr.prototype.onAdd.call(this,s)},getTileUrl:function(s){var l=this._tileCoordsToNwSe(s),u=this._crs,g=F(u.project(l[0]),u.project(l[1])),p=g.min,x=g.max,C=(this._wmsVersion>=1.3&&this._crs===Pf?[p.y,p.x,x.y,x.x]:[p.x,p.y,x.x,x.y]).join(","),k=nr.prototype.getTileUrl.call(this,s);return k+b(this.wmsParams,k,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+C},setParams:function(s,l){return n(this.wmsParams,s),l||this.redraw(),this}});function uL(s,l){return new Ff(s,l)}nr.WMS=Ff,Of.wms=uL;var yi=Ae.extend({options:{padding:.1},initialize:function(s){E(this,s),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),lt(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var s={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(s.zoomanim=this._onAnimZoom),s},_onAnimZoom:function(s){this._updateTransform(s.center,s.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(s,l){var u=this._map.getZoomScale(l,this._zoom),g=this._map.getSize().multiplyBy(.5+this.options.padding),p=this._map.project(this._center,l),x=g.multiplyBy(-u).add(p).subtract(this._map._getNewPixelOrigin(s,l));X.any3d?un(this._container,x,u):Nt(this._container,x)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var s in this._layers)this._layers[s]._reset()},_onZoomEnd:function(){for(var s in this._layers)this._layers[s]._project()},_updatePaths:function(){for(var s in this._layers)this._layers[s]._update()},_update:function(){var s=this.options.padding,l=this._map.getSize(),u=this._map.containerPointToLayerPoint(l.multiplyBy(-s)).round();this._bounds=new st(u,u.add(l.multiplyBy(1+s*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),zf=yi.extend({options:{tolerance:0},getEvents:function(){var s=yi.prototype.getEvents.call(this);return s.viewprereset=this._onViewPreReset,s},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){yi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var s=this._container=document.createElement("canvas");ot(s,"mousemove",this._onMouseMove,this),ot(s,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ot(s,"mouseout",this._handleMouseOut,this),s._leaflet_disable_events=!0,this._ctx=s.getContext("2d")},_destroyContainer:function(){q(this._redrawRequest),delete this._ctx,Rt(this._container),Pt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var s;this._redrawBounds=null;for(var l in this._layers)s=this._layers[l],s._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){yi.prototype._update.call(this);var s=this._bounds,l=this._container,u=s.getSize(),g=X.retina?2:1;Nt(l,s.min),l.width=g*u.x,l.height=g*u.y,l.style.width=u.x+"px",l.style.height=u.y+"px",X.retina&&this._ctx.scale(2,2),this._ctx.translate(-s.min.x,-s.min.y),this.fire("update")}},_reset:function(){yi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(s){this._updateDashArray(s),this._layers[c(s)]=s;var l=s._order={layer:s,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=l),this._drawLast=l,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(s){this._requestRedraw(s)},_removePath:function(s){var l=s._order,u=l.next,g=l.prev;u?u.prev=g:this._drawLast=g,g?g.next=u:this._drawFirst=u,delete s._order,delete this._layers[c(s)],this._requestRedraw(s)},_updatePath:function(s){this._extendRedrawBounds(s),s._project(),s._update(),this._requestRedraw(s)},_updateStyle:function(s){this._updateDashArray(s),this._requestRedraw(s)},_updateDashArray:function(s){if(typeof s.options.dashArray=="string"){var l=s.options.dashArray.split(/[, ]+/),u=[],g,p;for(p=0;p<l.length;p++){if(g=Number(l[p]),isNaN(g))return;u.push(g)}s.options._dashArray=u}else s.options._dashArray=s.options.dashArray},_requestRedraw:function(s){this._map&&(this._extendRedrawBounds(s),this._redrawRequest=this._redrawRequest||Q(this._redraw,this))},_extendRedrawBounds:function(s){if(s._pxBounds){var l=(s.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new st,this._redrawBounds.extend(s._pxBounds.min.subtract([l,l])),this._redrawBounds.extend(s._pxBounds.max.add([l,l]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var s=this._redrawBounds;if(s){var l=s.getSize();this._ctx.clearRect(s.min.x,s.min.y,l.x,l.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var s,l=this._redrawBounds;if(this._ctx.save(),l){var u=l.getSize();this._ctx.beginPath(),this._ctx.rect(l.min.x,l.min.y,u.x,u.y),this._ctx.clip()}this._drawing=!0;for(var g=this._drawFirst;g;g=g.next)s=g.layer,(!l||s._pxBounds&&s._pxBounds.intersects(l))&&s._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(s,l){if(this._drawing){var u,g,p,x,C=s._parts,k=C.length,R=this._ctx;if(k){for(R.beginPath(),u=0;u<k;u++){for(g=0,p=C[u].length;g<p;g++)x=C[u][g],R[g?"lineTo":"moveTo"](x.x,x.y);l&&R.closePath()}this._fillStroke(R,s)}}},_updateCircle:function(s){if(!(!this._drawing||s._empty())){var l=s._point,u=this._ctx,g=Math.max(Math.round(s._radius),1),p=(Math.max(Math.round(s._radiusY),1)||g)/g;p!==1&&(u.save(),u.scale(1,p)),u.beginPath(),u.arc(l.x,l.y/p,g,0,Math.PI*2,!1),p!==1&&u.restore(),this._fillStroke(u,s)}},_fillStroke:function(s,l){var u=l.options;u.fill&&(s.globalAlpha=u.fillOpacity,s.fillStyle=u.fillColor||u.color,s.fill(u.fillRule||"evenodd")),u.stroke&&u.weight!==0&&(s.setLineDash&&s.setLineDash(l.options&&l.options._dashArray||[]),s.globalAlpha=u.opacity,s.lineWidth=u.weight,s.strokeStyle=u.color,s.lineCap=u.lineCap,s.lineJoin=u.lineJoin,s.stroke())},_onClick:function(s){for(var l=this._map.mouseEventToLayerPoint(s),u,g,p=this._drawFirst;p;p=p.next)u=p.layer,u.options.interactive&&u._containsPoint(l)&&(!(s.type==="click"||s.type==="preclick")||!this._map._draggableMoved(u))&&(g=u);this._fireEvent(g?[g]:!1,s)},_onMouseMove:function(s){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var l=this._map.mouseEventToLayerPoint(s);this._handleMouseHover(s,l)}},_handleMouseOut:function(s){var l=this._hoveredLayer;l&&(At(this._container,"leaflet-interactive"),this._fireEvent([l],s,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(s,l){if(!this._mouseHoverThrottled){for(var u,g,p=this._drawFirst;p;p=p.next)u=p.layer,u.options.interactive&&u._containsPoint(l)&&(g=u);g!==this._hoveredLayer&&(this._handleMouseOut(s),g&&(lt(this._container,"leaflet-interactive"),this._fireEvent([g],s,"mouseover"),this._hoveredLayer=g)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,s),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(s,l,u){this._map._fireDOMEvent(l,u||l.type,s)},_bringToFront:function(s){var l=s._order;if(l){var u=l.next,g=l.prev;if(u)u.prev=g;else return;g?g.next=u:u&&(this._drawFirst=u),l.prev=this._drawLast,this._drawLast.next=l,l.next=null,this._drawLast=l,this._requestRedraw(s)}},_bringToBack:function(s){var l=s._order;if(l){var u=l.next,g=l.prev;if(g)g.next=u;else return;u?u.prev=g:g&&(this._drawLast=g),l.prev=null,l.next=this._drawFirst,this._drawFirst.prev=l,this._drawFirst=l,this._requestRedraw(s)}}});function Nf(s){return X.canvas?new zf(s):null}var es=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(s){return document.createElement("<lvml:"+s+' class="lvml">')}}catch{}return function(s){return document.createElement("<"+s+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),dL={_initContainer:function(){this._container=mt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(yi.prototype._update.call(this),this.fire("update"))},_initPath:function(s){var l=s._container=es("shape");lt(l,"leaflet-vml-shape "+(this.options.className||"")),l.coordsize="1 1",s._path=es("path"),l.appendChild(s._path),this._updateStyle(s),this._layers[c(s)]=s},_addPath:function(s){var l=s._container;this._container.appendChild(l),s.options.interactive&&s.addInteractiveTarget(l)},_removePath:function(s){var l=s._container;Rt(l),s.removeInteractiveTarget(l),delete this._layers[c(s)]},_updateStyle:function(s){var l=s._stroke,u=s._fill,g=s.options,p=s._container;p.stroked=!!g.stroke,p.filled=!!g.fill,g.stroke?(l||(l=s._stroke=es("stroke")),p.appendChild(l),l.weight=g.weight+"px",l.color=g.color,l.opacity=g.opacity,g.dashArray?l.dashStyle=T(g.dashArray)?g.dashArray.join(" "):g.dashArray.replace(/( *, *)/g," "):l.dashStyle="",l.endcap=g.lineCap.replace("butt","flat"),l.joinstyle=g.lineJoin):l&&(p.removeChild(l),s._stroke=null),g.fill?(u||(u=s._fill=es("fill")),p.appendChild(u),u.color=g.fillColor||g.color,u.opacity=g.fillOpacity):u&&(p.removeChild(u),s._fill=null)},_updateCircle:function(s){var l=s._point.round(),u=Math.round(s._radius),g=Math.round(s._radiusY||u);this._setPath(s,s._empty()?"M0 0":"AL "+l.x+","+l.y+" "+u+","+g+" 0,"+65535*360)},_setPath:function(s,l){s._path.v=l},_bringToFront:function(s){$n(s._container)},_bringToBack:function(s){Jn(s._container)}},Yo=X.vml?es:Fi,is=yi.extend({_initContainer:function(){this._container=Yo("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Yo("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Rt(this._container),Pt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){yi.prototype._update.call(this);var s=this._bounds,l=s.getSize(),u=this._container;(!this._svgSize||!this._svgSize.equals(l))&&(this._svgSize=l,u.setAttribute("width",l.x),u.setAttribute("height",l.y)),Nt(u,s.min),u.setAttribute("viewBox",[s.min.x,s.min.y,l.x,l.y].join(" ")),this.fire("update")}},_initPath:function(s){var l=s._path=Yo("path");s.options.className&&lt(l,s.options.className),s.options.interactive&&lt(l,"leaflet-interactive"),this._updateStyle(s),this._layers[c(s)]=s},_addPath:function(s){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(s._path),s.addInteractiveTarget(s._path)},_removePath:function(s){Rt(s._path),s.removeInteractiveTarget(s._path),delete this._layers[c(s)]},_updatePath:function(s){s._project(),s._update()},_updateStyle:function(s){var l=s._path,u=s.options;l&&(u.stroke?(l.setAttribute("stroke",u.color),l.setAttribute("stroke-opacity",u.opacity),l.setAttribute("stroke-width",u.weight),l.setAttribute("stroke-linecap",u.lineCap),l.setAttribute("stroke-linejoin",u.lineJoin),u.dashArray?l.setAttribute("stroke-dasharray",u.dashArray):l.removeAttribute("stroke-dasharray"),u.dashOffset?l.setAttribute("stroke-dashoffset",u.dashOffset):l.removeAttribute("stroke-dashoffset")):l.setAttribute("stroke","none"),u.fill?(l.setAttribute("fill",u.fillColor||u.color),l.setAttribute("fill-opacity",u.fillOpacity),l.setAttribute("fill-rule",u.fillRule||"evenodd")):l.setAttribute("fill","none"))},_updatePoly:function(s,l){this._setPath(s,Pe(s._parts,l))},_updateCircle:function(s){var l=s._point,u=Math.max(Math.round(s._radius),1),g=Math.max(Math.round(s._radiusY),1)||u,p="a"+u+","+g+" 0 1,0 ",x=s._empty()?"M0 0":"M"+(l.x-u)+","+l.y+p+u*2+",0 "+p+-u*2+",0 ";this._setPath(s,x)},_setPath:function(s,l){s._path.setAttribute("d",l)},_bringToFront:function(s){$n(s._path)},_bringToBack:function(s){Jn(s._path)}});X.vml&&is.include(dL);function Bf(s){return X.svg||X.vml?new is(s):null}_t.include({getRenderer:function(s){var l=s.options.renderer||this._getPaneRenderer(s.options.pane)||this.options.renderer||this._renderer;return l||(l=this._renderer=this._createRenderer()),this.hasLayer(l)||this.addLayer(l),l},_getPaneRenderer:function(s){if(s==="overlayPane"||s===void 0)return!1;var l=this._paneRenderers[s];return l===void 0&&(l=this._createRenderer({pane:s}),this._paneRenderers[s]=l),l},_createRenderer:function(s){return this.options.preferCanvas&&Nf(s)||Bf(s)}});var Gf=er.extend({initialize:function(s,l){er.prototype.initialize.call(this,this._boundsToLatLngs(s),l)},setBounds:function(s){return this.setLatLngs(this._boundsToLatLngs(s))},_boundsToLatLngs:function(s){return s=J(s),[s.getSouthWest(),s.getNorthWest(),s.getNorthEast(),s.getSouthEast()]}});function fL(s,l){return new Gf(s,l)}is.create=Yo,is.pointsToPath=Pe,mi.geometryToLayer=Uo,mi.coordsToLatLng=dh,mi.coordsToLatLngs=Zo,mi.latLngToCoords=fh,mi.latLngsToCoords=jo,mi.getFeature=ir,mi.asFeature=Wo,_t.mergeOptions({boxZoom:!0});var Uf=Ye.extend({initialize:function(s){this._map=s,this._container=s._container,this._pane=s._panes.overlayPane,this._resetStateTimeout=0,s.on("unload",this._destroy,this)},addHooks:function(){ot(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Pt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Rt(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(s){if(!s.shiftKey||s.which!==1&&s.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),Xr(),Kl(),this._startPoint=this._map.mouseEventToContainerPoint(s),ot(document,{contextmenu:gn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(s){this._moved||(this._moved=!0,this._box=mt("div","leaflet-zoom-box",this._container),lt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(s);var l=new st(this._point,this._startPoint),u=l.getSize();Nt(this._box,l.min),this._box.style.width=u.x+"px",this._box.style.height=u.y+"px"},_finish:function(){this._moved&&(Rt(this._box),At(this._container,"leaflet-crosshair")),Yr(),ql(),Pt(document,{contextmenu:gn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(s){if(!(s.which!==1&&s.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var l=new Lt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(l).fire("boxzoomend",{boxZoomBounds:l})}},_onKeyDown:function(s){s.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});_t.addInitHook("addHandler","boxZoom",Uf),_t.mergeOptions({doubleClickZoom:!0});var Zf=Ye.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(s){var l=this._map,u=l.getZoom(),g=l.options.zoomDelta,p=s.originalEvent.shiftKey?u-g:u+g;l.options.doubleClickZoom==="center"?l.setZoom(p):l.setZoomAround(s.containerPoint,p)}});_t.addInitHook("addHandler","doubleClickZoom",Zf),_t.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var jf=Ye.extend({addHooks:function(){if(!this._draggable){var s=this._map;this._draggable=new ji(s._mapPane,s._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),s.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),s.on("zoomend",this._onZoomEnd,this),s.whenReady(this._onZoomEnd,this))}lt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){At(this._map._container,"leaflet-grab"),At(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var s=this._map;if(s._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var l=J(this._map.options.maxBounds);this._offsetLimit=F(this._map.latLngToContainerPoint(l.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(l.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;s.fire("movestart").fire("dragstart"),s.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(s){if(this._map.options.inertia){var l=this._lastTime=+new Date,u=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(u),this._times.push(l),this._prunePositions(l)}this._map.fire("move",s).fire("drag",s)},_prunePositions:function(s){for(;this._positions.length>1&&s-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var s=this._map.getSize().divideBy(2),l=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=l.subtract(s).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(s,l){return s-(s-l)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var s=this._draggable._newPos.subtract(this._draggable._startPos),l=this._offsetLimit;s.x<l.min.x&&(s.x=this._viscousLimit(s.x,l.min.x)),s.y<l.min.y&&(s.y=this._viscousLimit(s.y,l.min.y)),s.x>l.max.x&&(s.x=this._viscousLimit(s.x,l.max.x)),s.y>l.max.y&&(s.y=this._viscousLimit(s.y,l.max.y)),this._draggable._newPos=this._draggable._startPos.add(s)}},_onPreDragWrap:function(){var s=this._worldWidth,l=Math.round(s/2),u=this._initialWorldOffset,g=this._draggable._newPos.x,p=(g-l+u)%s+l-u,x=(g+l+u)%s-l-u,C=Math.abs(p+u)<Math.abs(x+u)?p:x;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=C},_onDragEnd:function(s){var l=this._map,u=l.options,g=!u.inertia||s.noInertia||this._times.length<2;if(l.fire("dragend",s),g)l.fire("moveend");else{this._prunePositions(+new Date);var p=this._lastPos.subtract(this._positions[0]),x=(this._lastTime-this._times[0])/1e3,C=u.easeLinearity,k=p.multiplyBy(C/x),R=k.distanceTo([0,0]),O=Math.min(u.inertiaMaxSpeed,R),j=k.multiplyBy(O/R),et=O/(u.inertiaDeceleration*C),ut=j.multiplyBy(-et/2).round();!ut.x&&!ut.y?l.fire("moveend"):(ut=l._limitOffset(ut,l.options.maxBounds),Q(function(){l.panBy(ut,{duration:et,easeLinearity:C,noMoveStart:!0,animate:!0})}))}}});_t.addInitHook("addHandler","dragging",jf),_t.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Wf=Ye.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(s){this._map=s,this._setPanDelta(s.options.keyboardPanDelta),this._setZoomDelta(s.options.zoomDelta)},addHooks:function(){var s=this._map._container;s.tabIndex<=0&&(s.tabIndex="0"),ot(s,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Pt(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var s=document.body,l=document.documentElement,u=s.scrollTop||l.scrollTop,g=s.scrollLeft||l.scrollLeft;this._map._container.focus(),window.scrollTo(g,u)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(s){var l=this._panKeys={},u=this.keyCodes,g,p;for(g=0,p=u.left.length;g<p;g++)l[u.left[g]]=[-1*s,0];for(g=0,p=u.right.length;g<p;g++)l[u.right[g]]=[s,0];for(g=0,p=u.down.length;g<p;g++)l[u.down[g]]=[0,s];for(g=0,p=u.up.length;g<p;g++)l[u.up[g]]=[0,-1*s]},_setZoomDelta:function(s){var l=this._zoomKeys={},u=this.keyCodes,g,p;for(g=0,p=u.zoomIn.length;g<p;g++)l[u.zoomIn[g]]=s;for(g=0,p=u.zoomOut.length;g<p;g++)l[u.zoomOut[g]]=-s},_addHooks:function(){ot(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Pt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(s){if(!(s.altKey||s.ctrlKey||s.metaKey)){var l=s.keyCode,u=this._map,g;if(l in this._panKeys){if(!u._panAnim||!u._panAnim._inProgress)if(g=this._panKeys[l],s.shiftKey&&(g=U(g).multiplyBy(3)),u.options.maxBounds&&(g=u._limitOffset(U(g),u.options.maxBounds)),u.options.worldCopyJump){var p=u.wrapLatLng(u.unproject(u.project(u.getCenter()).add(g)));u.panTo(p)}else u.panBy(g)}else if(l in this._zoomKeys)u.setZoom(u.getZoom()+(s.shiftKey?3:1)*this._zoomKeys[l]);else if(l===27&&u._popup&&u._popup.options.closeOnEscapeKey)u.closePopup();else return;gn(s)}}});_t.addInitHook("addHandler","keyboard",Wf),_t.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Hf=Ye.extend({addHooks:function(){ot(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Pt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(s){var l=_f(s),u=this._map.options.wheelDebounceTime;this._delta+=l,this._lastMousePos=this._map.mouseEventToContainerPoint(s),this._startTime||(this._startTime=+new Date);var g=Math.max(u-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),g),gn(s)},_performZoom:function(){var s=this._map,l=s.getZoom(),u=this._map.options.zoomSnap||0;s._stop();var g=this._delta/(this._map.options.wheelPxPerZoomLevel*4),p=4*Math.log(2/(1+Math.exp(-Math.abs(g))))/Math.LN2,x=u?Math.ceil(p/u)*u:p,C=s._limitZoom(l+(this._delta>0?x:-x))-l;this._delta=0,this._startTime=null,C&&(s.options.scrollWheelZoom==="center"?s.setZoom(l+C):s.setZoomAround(this._lastMousePos,l+C))}});_t.addInitHook("addHandler","scrollWheelZoom",Hf);var gL=600;_t.mergeOptions({tapHold:X.touchNative&&X.safari&&X.mobile,tapTolerance:15});var Vf=Ye.extend({addHooks:function(){ot(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Pt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(s){if(clearTimeout(this._holdTimeout),s.touches.length===1){var l=s.touches[0];this._startPos=this._newPos=new B(l.clientX,l.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(ot(document,"touchend",Kt),ot(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",l))},this),gL),ot(document,"touchend touchcancel contextmenu",this._cancel,this),ot(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function s(){Pt(document,"touchend",Kt),Pt(document,"touchend touchcancel",s)},_cancel:function(){clearTimeout(this._holdTimeout),Pt(document,"touchend touchcancel contextmenu",this._cancel,this),Pt(document,"touchmove",this._onMove,this)},_onMove:function(s){var l=s.touches[0];this._newPos=new B(l.clientX,l.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(s,l){var u=new MouseEvent(s,{bubbles:!0,cancelable:!0,view:window,screenX:l.screenX,screenY:l.screenY,clientX:l.clientX,clientY:l.clientY});u._simulated=!0,l.target.dispatchEvent(u)}});_t.addInitHook("addHandler","tapHold",Vf),_t.mergeOptions({touchZoom:X.touch,bounceAtZoomLimits:!0});var Xf=Ye.extend({addHooks:function(){lt(this._map._container,"leaflet-touch-zoom"),ot(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){At(this._map._container,"leaflet-touch-zoom"),Pt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(s){var l=this._map;if(!(!s.touches||s.touches.length!==2||l._animatingZoom||this._zooming)){var u=l.mouseEventToContainerPoint(s.touches[0]),g=l.mouseEventToContainerPoint(s.touches[1]);this._centerPoint=l.getSize()._divideBy(2),this._startLatLng=l.containerPointToLatLng(this._centerPoint),l.options.touchZoom!=="center"&&(this._pinchStartLatLng=l.containerPointToLatLng(u.add(g)._divideBy(2))),this._startDist=u.distanceTo(g),this._startZoom=l.getZoom(),this._moved=!1,this._zooming=!0,l._stop(),ot(document,"touchmove",this._onTouchMove,this),ot(document,"touchend touchcancel",this._onTouchEnd,this),Kt(s)}},_onTouchMove:function(s){if(!(!s.touches||s.touches.length!==2||!this._zooming)){var l=this._map,u=l.mouseEventToContainerPoint(s.touches[0]),g=l.mouseEventToContainerPoint(s.touches[1]),p=u.distanceTo(g)/this._startDist;if(this._zoom=l.getScaleZoom(p,this._startZoom),!l.options.bounceAtZoomLimits&&(this._zoom<l.getMinZoom()&&p<1||this._zoom>l.getMaxZoom()&&p>1)&&(this._zoom=l._limitZoom(this._zoom)),l.options.touchZoom==="center"){if(this._center=this._startLatLng,p===1)return}else{var x=u._add(g)._divideBy(2)._subtract(this._centerPoint);if(p===1&&x.x===0&&x.y===0)return;this._center=l.unproject(l.project(this._pinchStartLatLng,this._zoom).subtract(x),this._zoom)}this._moved||(l._moveStart(!0,!1),this._moved=!0),q(this._animRequest);var C=a(l._move,l,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Q(C,this,!0),Kt(s)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,q(this._animRequest),Pt(document,"touchmove",this._onTouchMove,this),Pt(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});_t.addInitHook("addHandler","touchZoom",Xf),_t.BoxZoom=Uf,_t.DoubleClickZoom=Zf,_t.Drag=jf,_t.Keyboard=Wf,_t.ScrollWheelZoom=Hf,_t.TapHold=Vf,_t.TouchZoom=Xf,e.Bounds=st,e.Browser=X,e.CRS=Ft,e.Canvas=zf,e.Circle=uh,e.CircleMarker=Go,e.Class=Et,e.Control=Ie,e.DivIcon=Df,e.DivOverlay=Ke,e.DomEvent=Iw,e.DomUtil=Rw,e.Draggable=ji,e.Evented=Z,e.FeatureGroup=_i,e.GeoJSON=mi,e.GridLayer=ts,e.Handler=Ye,e.Icon=tr,e.ImageOverlay=Ho,e.LatLng=Y,e.LatLngBounds=Lt,e.Layer=Ae,e.LayerGroup=Qn,e.LineUtil=Hw,e.Map=_t,e.Marker=Bo,e.Mixin=Bw,e.Path=Wi,e.Point=B,e.PolyUtil=Gw,e.Polygon=er,e.Polyline=pi,e.Popup=Vo,e.PosAnimation=pf,e.Projection=Vw,e.Rectangle=Gf,e.Renderer=yi,e.SVG=is,e.SVGOverlay=Af,e.TileLayer=nr,e.Tooltip=Xo,e.Transformation=Di,e.Util=ct,e.VideoOverlay=If,e.bind=a,e.bounds=F,e.canvas=Nf,e.circle=tL,e.circleMarker=Qw,e.control=$r,e.divIcon=hL,e.extend=n,e.featureGroup=qw,e.geoJSON=Mf,e.geoJson=nL,e.gridLayer=cL,e.icon=$w,e.imageOverlay=rL,e.latLng=nt,e.latLngBounds=J,e.layerGroup=Kw,e.map=Aw,e.marker=Jw,e.point=U,e.polygon=iL,e.polyline=eL,e.popup=aL,e.rectangle=fL,e.setOptions=E,e.stamp=c,e.svg=Bf,e.svgOverlay=oL,e.tileLayer=Of,e.tooltip=lL,e.transformation=xe,e.version=i,e.videoOverlay=sL;var _L=window.L;e.noConflict=function(){return window.L=_L,this},window.L=e})}(ss,ss.exports)),ss.exports}var pt=Th();const CL="";function Ch(r,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=r,i}function ag(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Sh(r[0])||!Sh(r[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:r};return Ch(i,t,e)}function lg(r,t,e){e===void 0&&(e={});for(var i=0,n=r;i<n.length;i++){var o=n[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<o[o.length-1].length;a++)if(o[o.length-1][a]!==o[0][a])throw new Error("First and last Position are not equivalent.")}var h={type:"Polygon",coordinates:r};return Ch(h,t,e)}function Sh(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function hg(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return r.geometry.coordinates;if(r.type==="Point")return r.coordinates}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return r;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function cg(r){return r.type==="Feature"?r.geometry:r}function ug(r,t,e,i,n){Ph(r,t,e||0,i||r.length-1,n||dg)}function Ph(r,t,e,i,n){for(;i>e;){if(i-e>600){var o=i-e+1,a=t-e+1,h=Math.log(o),c=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*c*(o-c)/o)*(a-o/2<0?-1:1),f=Math.max(e,Math.floor(t-a*c/o+d)),_=Math.min(i,Math.floor(t+(o-a)*c/o+d));Ph(r,t,f,_,n)}var m=r[t],v=e,y=i;for(sr(r,e,t),n(r[i],m)>0&&sr(r,e,i);v<y;){for(sr(r,v,y),v++,y--;n(r[v],m)<0;)v++;for(;n(r[y],m)>0;)y--}n(r[e],m)===0?sr(r,e,y):(y++,sr(r,y,i)),y<=t&&(e=y+1),t<=y&&(i=y-1)}}function sr(r,t,e){var i=r[t];r[t]=r[e],r[e]=i}function dg(r,t){return r<t?-1:r>t?1:0}let kh=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const i=[];if(!as(t,e))return i;const n=this.toBBox,o=[];for(;e;){for(let a=0;a<e.children.length;a++){const h=e.children[a],c=e.leaf?n(h):h;as(t,c)&&(e.leaf?i.push(h):ta(t,c)?this._all(h,i):o.push(h))}e=o.pop()}return i}collides(t){let e=this.data;if(!as(t,e))return!1;const i=[];for(;e;){for(let n=0;n<e.children.length;n++){const o=e.children[n],a=e.leaf?this.toBBox(o):o;if(as(t,a)){if(e.leaf||ta(t,a))return!0;i.push(o)}}e=i.pop()}return!1}load(t){if(!(t&&t.length))return this;if(t.length<this._minEntries){for(let i=0;i<t.length;i++)this.insert(t[i]);return this}let e=this._build(t.slice(),0,t.length-1,0);if(!this.data.children.length)this.data=e;else if(this.data.height===e.height)this._splitRoot(this.data,e);else{if(this.data.height<e.height){const i=this.data;this.data=e,e=i}this._insert(e,this.data.height-e.height-1,!0)}return this}insert(t){return t&&this._insert(t,this.data.height-1),this}clear(){return this.data=mn([]),this}remove(t,e){if(!t)return this;let i=this.data;const n=this.toBBox(t),o=[],a=[];let h,c,d;for(;i||o.length;){if(i||(i=o.pop(),c=o[o.length-1],h=a.pop(),d=!0),i.leaf){const f=fg(t,i.children,e);if(f!==-1)return i.children.splice(f,1),o.push(i),this._condense(o),this}!d&&!i.leaf&&ta(i,n)?(o.push(i),a.push(h),h=0,c=i,i=i.children[0]):c?(h++,i=c.children[h],d=!1):i=null}return this}toBBox(t){return t}compareMinX(t,e){return t.minX-e.minX}compareMinY(t,e){return t.minY-e.minY}toJSON(){return this.data}fromJSON(t){return this.data=t,this}_all(t,e){const i=[];for(;t;)t.leaf?e.push(...t.children):i.push(...t.children),t=i.pop();return e}_build(t,e,i,n){const o=i-e+1;let a=this._maxEntries,h;if(o<=a)return h=mn(t.slice(e,i+1)),pn(h,this.toBBox),h;n||(n=Math.ceil(Math.log(o)/Math.log(a)),a=Math.ceil(o/Math.pow(a,n-1))),h=mn([]),h.leaf=!1,h.height=n;const c=Math.ceil(o/a),d=c*Math.ceil(Math.sqrt(a));Rh(t,e,i,d,this.compareMinX);for(let f=e;f<=i;f+=d){const _=Math.min(f+d-1,i);Rh(t,f,_,c,this.compareMinY);for(let m=f;m<=_;m+=c){const v=Math.min(m+c-1,_);h.children.push(this._build(t,m,v,n-1))}}return pn(h,this.toBBox),h}_chooseSubtree(t,e,i,n){for(;n.push(e),!(e.leaf||n.length-1===i);){let o=1/0,a=1/0,h;for(let c=0;c<e.children.length;c++){const d=e.children[c],f=Qo(d),_=pg(t,d)-f;_<a?(a=_,o=f<o?f:o,h=d):_===a&&f<o&&(o=f,h=d)}e=h||e.children[0]}return e}_insert(t,e,i){const n=i?t:this.toBBox(t),o=[],a=this._chooseSubtree(n,this.data,e,o);for(a.children.push(t),ar(a,n);e>=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(n,o,e)}_split(t,e){const i=t[e],n=i.children.length,o=this._minEntries;this._chooseSplitAxis(i,o,n);const a=this._chooseSplitIndex(i,o,n),h=mn(i.children.splice(a,i.children.length-a));h.height=i.height,h.leaf=i.leaf,pn(i,this.toBBox),pn(h,this.toBBox),e?t[e-1].children.push(h):this._splitRoot(i,h)}_splitRoot(t,e){this.data=mn([t,e]),this.data.height=t.height+1,this.data.leaf=!1,pn(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let n,o=1/0,a=1/0;for(let h=e;h<=i-e;h++){const c=or(t,0,h,this.toBBox),d=or(t,h,i,this.toBBox),f=mg(c,d),_=Qo(c)+Qo(d);f<o?(o=f,n=h,a=_<a?_:a):f===o&&_<a&&(a=_,n=h)}return n||i-e}_chooseSplitAxis(t,e,i){const n=t.leaf?this.compareMinX:gg,o=t.leaf?this.compareMinY:_g,a=this._allDistMargin(t,e,i,n),h=this._allDistMargin(t,e,i,o);a<h&&t.children.sort(n)}_allDistMargin(t,e,i,n){t.children.sort(n);const o=this.toBBox,a=or(t,0,e,o),h=or(t,i-e,i,o);let c=os(a)+os(h);for(let d=e;d<i-e;d++){const f=t.children[d];ar(a,t.leaf?o(f):f),c+=os(a)}for(let d=i-e-1;d>=e;d--){const f=t.children[d];ar(h,t.leaf?o(f):f),c+=os(h)}return c}_adjustParentBBoxes(t,e,i){for(let n=i;n>=0;n--)ar(e[n],t)}_condense(t){for(let e=t.length-1,i;e>=0;e--)t[e].children.length===0?e>0?(i=t[e-1].children,i.splice(i.indexOf(t[e]),1)):this.clear():pn(t[e],this.toBBox)}};function fg(r,t,e){if(!e)return t.indexOf(r);for(let i=0;i<t.length;i++)if(e(r,t[i]))return i;return-1}function pn(r,t){or(r,0,r.children.length,t,r)}function or(r,t,e,i,n){n||(n=mn(null)),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let o=t;o<e;o++){const a=r.children[o];ar(n,r.leaf?i(a):a)}return n}function ar(r,t){return r.minX=Math.min(r.minX,t.minX),r.minY=Math.min(r.minY,t.minY),r.maxX=Math.max(r.maxX,t.maxX),r.maxY=Math.max(r.maxY,t.maxY),r}function gg(r,t){return r.minX-t.minX}function _g(r,t){return r.minY-t.minY}function Qo(r){return(r.maxX-r.minX)*(r.maxY-r.minY)}function os(r){return r.maxX-r.minX+(r.maxY-r.minY)}function pg(r,t){return(Math.max(t.maxX,r.maxX)-Math.min(t.minX,r.minX))*(Math.max(t.maxY,r.maxY)-Math.min(t.minY,r.minY))}function mg(r,t){const e=Math.max(r.minX,t.minX),i=Math.max(r.minY,t.minY),n=Math.min(r.maxX,t.maxX),o=Math.min(r.maxY,t.maxY);return Math.max(0,n-e)*Math.max(0,o-i)}function ta(r,t){return r.minX<=t.minX&&r.minY<=t.minY&&t.maxX<=r.maxX&&t.maxY<=r.maxY}function as(r,t){return t.minX<=r.maxX&&t.minY<=r.maxY&&t.maxX>=r.minX&&t.maxY>=r.minY}function mn(r){return{children:r,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Rh(r,t,e,i,n){const o=[t,e];for(;o.length;){if(e=o.pop(),t=o.pop(),e-t<=i)continue;const a=t+Math.ceil((e-t)/i/2)*i;ug(r,a,t,e,n),o.push(t,a,a,e)}}function yg(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=hg(r),n=cg(t),o=n.type,a=t.bbox,h=n.coordinates;if(a&&vg(i,a)===!1)return!1;o==="Polygon"&&(h=[h]);for(var c=!1,d=0;d<h.length&&!c;d++)if(Mh(i,h[d][0],e.ignoreBoundary)){for(var f=!1,_=1;_<h[d].length&&!f;)Mh(i,h[d][_],!e.ignoreBoundary)&&(f=!0),_++;f||(c=!0)}return c}function Mh(r,t,e){var i=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var n=0,o=t.length-1;n<t.length;o=n++){var a=t[n][0],h=t[n][1],c=t[o][0],d=t[o][1],f=r[1]*(a-c)+h*(c-r[0])+d*(r[0]-a)===0&&(a-r[0])*(c-r[0])<=0&&(h-r[1])*(d-r[1])<=0;if(f)return!e;var _=h>r[1]!=d>r[1]&&r[0]<(c-a)*(r[1]-h)/(d-h)+a;_&&(i=!i)}return i}function vg(r,t){return t[0]<=r[0]&&t[1]<=r[1]&&t[2]>=r[0]&&t[3]>=r[1]}var Ih={exports:{}};Ih.exports=ls,Ih.exports.default=ls;function ls(r,t,e){e=e||2;var i=t&&t.length,n=i?t[0]*e:r.length,o=Ah(r,0,n,e,!0),a=[];if(!o||o.next===o.prev)return a;var h,c,d,f,_,m,v;if(i&&(o=bg(r,t,o,e)),r.length>80*e){h=d=r[0],c=f=r[1];for(var y=e;y<n;y+=e)_=r[y],m=r[y+1],_<h&&(h=_),m<c&&(c=m),_>d&&(d=_),m>f&&(f=m);v=Math.max(d-h,f-c),v=v!==0?32767/v:0}return lr(o,a,e,h,c,v,0),a}function Ah(r,t,e,i,n){var o,a;if(n===na(r,t,e,i)>0)for(o=t;o<e;o+=i)a=Fh(o,r[o],r[o+1],a);else for(o=e-i;o>=t;o-=i)a=Fh(o,r[o],r[o+1],a);return a&&hs(a,a.next)&&(cr(a),a=a.next),a}function Hi(r,t){if(!r)return r;t||(t=r);var e=r,i;do if(i=!1,!e.steiner&&(hs(e,e.next)||kt(e.prev,e,e.next)===0)){if(cr(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function lr(r,t,e,i,n,o,a){if(r){!a&&o&&kg(r,i,n,o);for(var h=r,c,d;r.prev!==r.next;){if(c=r.prev,d=r.next,o?Eg(r,i,n,o):xg(r)){t.push(c.i/e|0),t.push(r.i/e|0),t.push(d.i/e|0),cr(r),r=d.next,h=d.next;continue}if(r=d,r===h){a?a===1?(r=wg(Hi(r),t,e),lr(r,t,e,i,n,o,2)):a===2&&Lg(r,t,e,i,n,o):lr(Hi(r),t,e,i,n,o,1);break}}}}function xg(r){var t=r.prev,e=r,i=r.next;if(kt(t,e,i)>=0)return!1;for(var n=t.x,o=e.x,a=i.x,h=t.y,c=e.y,d=i.y,f=n<o?n<a?n:a:o<a?o:a,_=h<c?h<d?h:d:c<d?c:d,m=n>o?n>a?n:a:o>a?o:a,v=h>c?h>d?h:d:c>d?c:d,y=i.next;y!==t;){if(y.x>=f&&y.x<=m&&y.y>=_&&y.y<=v&&yn(n,h,o,c,a,d,y.x,y.y)&&kt(y.prev,y,y.next)>=0)return!1;y=y.next}return!0}function Eg(r,t,e,i){var n=r.prev,o=r,a=r.next;if(kt(n,o,a)>=0)return!1;for(var h=n.x,c=o.x,d=a.x,f=n.y,_=o.y,m=a.y,v=h<c?h<d?h:d:c<d?c:d,y=f<_?f<m?f:m:_<m?_:m,E=h>c?h>d?h:d:c>d?c:d,b=f>_?f>m?f:m:_>m?_:m,S=ea(v,y,t,e,i),w=ea(E,b,t,e,i),T=r.prevZ,P=r.nextZ;T&&T.z>=S&&P&&P.z<=w;){if(T.x>=v&&T.x<=E&&T.y>=y&&T.y<=b&&T!==n&&T!==a&&yn(h,f,c,_,d,m,T.x,T.y)&&kt(T.prev,T,T.next)>=0||(T=T.prevZ,P.x>=v&&P.x<=E&&P.y>=y&&P.y<=b&&P!==n&&P!==a&&yn(h,f,c,_,d,m,P.x,P.y)&&kt(P.prev,P,P.next)>=0))return!1;P=P.nextZ}for(;T&&T.z>=S;){if(T.x>=v&&T.x<=E&&T.y>=y&&T.y<=b&&T!==n&&T!==a&&yn(h,f,c,_,d,m,T.x,T.y)&&kt(T.prev,T,T.next)>=0)return!1;T=T.prevZ}for(;P&&P.z<=w;){if(P.x>=v&&P.x<=E&&P.y>=y&&P.y<=b&&P!==n&&P!==a&&yn(h,f,c,_,d,m,P.x,P.y)&&kt(P.prev,P,P.next)>=0)return!1;P=P.nextZ}return!0}function wg(r,t,e){var i=r;do{var n=i.prev,o=i.next.next;!hs(n,o)&&Dh(n,i,i.next,o)&&hr(n,o)&&hr(o,n)&&(t.push(n.i/e|0),t.push(i.i/e|0),t.push(o.i/e|0),cr(i),cr(i.next),i=r=o),i=i.next}while(i!==r);return Hi(i)}function Lg(r,t,e,i,n,o){var a=r;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&Ig(a,h)){var c=Oh(a,h);a=Hi(a,a.next),c=Hi(c,c.next),lr(a,t,e,i,n,o,0),lr(c,t,e,i,n,o,0);return}h=h.next}a=a.next}while(a!==r)}function bg(r,t,e,i){var n=[],o,a,h,c,d;for(o=0,a=t.length;o<a;o++)h=t[o]*i,c=o<a-1?t[o+1]*i:r.length,d=Ah(r,h,c,i,!1),d===d.next&&(d.steiner=!0),n.push(Mg(d));for(n.sort(Tg),o=0;o<n.length;o++)e=Cg(n[o],e);return e}function Tg(r,t){return r.x-t.x}function Cg(r,t){var e=Sg(r,t);if(!e)return t;var i=Oh(e,r);return Hi(i,i.next),Hi(e,e.next)}function Sg(r,t){var e=t,i=r.x,n=r.y,o=-1/0,a;do{if(n<=e.y&&n>=e.next.y&&e.next.y!==e.y){var h=e.x+(n-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(h<=i&&h>o&&(o=h,a=e.x<e.next.x?e:e.next,h===i))return a}e=e.next}while(e!==t);if(!a)return null;var c=a,d=a.x,f=a.y,_=1/0,m;e=a;do i>=e.x&&e.x>=d&&i!==e.x&&yn(n<f?i:o,n,d,f,n<f?o:i,n,e.x,e.y)&&(m=Math.abs(n-e.y)/(i-e.x),hr(e,r)&&(m<_||m===_&&(e.x>a.x||e.x===a.x&&Pg(a,e)))&&(a=e,_=m)),e=e.next;while(e!==c);return a}function Pg(r,t){return kt(r.prev,r,t.prev)<0&&kt(t.next,r,r.next)<0}function kg(r,t,e,i){var n=r;do n.z===0&&(n.z=ea(n.x,n.y,t,e,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==r);n.prevZ.nextZ=null,n.prevZ=null,Rg(n)}function Rg(r){var t,e,i,n,o,a,h,c,d=1;do{for(e=r,r=null,o=null,a=0;e;){for(a++,i=e,h=0,t=0;t<d&&(h++,i=i.nextZ,!!i);t++);for(c=d;h>0||c>0&&i;)h!==0&&(c===0||!i||e.z<=i.z)?(n=e,e=e.nextZ,h--):(n=i,i=i.nextZ,c--),o?o.nextZ=n:r=n,n.prevZ=o,o=n;e=i}o.nextZ=null,d*=2}while(a>1);return r}function ea(r,t,e,i,n){return r=(r-e)*n|0,t=(t-i)*n|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,r|t<<1}function Mg(r){var t=r,e=r;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==r);return e}function yn(r,t,e,i,n,o,a,h){return(n-a)*(t-h)>=(r-a)*(o-h)&&(r-a)*(i-h)>=(e-a)*(t-h)&&(e-a)*(o-h)>=(n-a)*(i-h)}function Ig(r,t){return r.next.i!==t.i&&r.prev.i!==t.i&&!Ag(r,t)&&(hr(r,t)&&hr(t,r)&&Dg(r,t)&&(kt(r.prev,r,t.prev)||kt(r,t.prev,t))||hs(r,t)&&kt(r.prev,r,r.next)>0&&kt(t.prev,t,t.next)>0)}function kt(r,t,e){return(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y)}function hs(r,t){return r.x===t.x&&r.y===t.y}function Dh(r,t,e,i){var n=us(kt(r,t,e)),o=us(kt(r,t,i)),a=us(kt(e,i,r)),h=us(kt(e,i,t));return!!(n!==o&&a!==h||n===0&&cs(r,e,t)||o===0&&cs(r,i,t)||a===0&&cs(e,r,i)||h===0&&cs(e,t,i))}function cs(r,t,e){return t.x<=Math.max(r.x,e.x)&&t.x>=Math.min(r.x,e.x)&&t.y<=Math.max(r.y,e.y)&&t.y>=Math.min(r.y,e.y)}function us(r){return r>0?1:r<0?-1:0}function Ag(r,t){var e=r;do{if(e.i!==r.i&&e.next.i!==r.i&&e.i!==t.i&&e.next.i!==t.i&&Dh(e,e.next,r,t))return!0;e=e.next}while(e!==r);return!1}function hr(r,t){return kt(r.prev,r,r.next)<0?kt(r,t,r.next)>=0&&kt(r,r.prev,t)>=0:kt(r,t,r.prev)<0||kt(r,r.next,t)<0}function Dg(r,t){var e=r,i=!1,n=(r.x+t.x)/2,o=(r.y+t.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&n<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==r);return i}function Oh(r,t){var e=new ia(r.i,r.x,r.y),i=new ia(t.i,t.x,t.y),n=r.next,o=t.prev;return r.next=t,t.prev=r,e.next=n,n.prev=e,i.next=e,e.prev=i,o.next=i,i.prev=o,i}function Fh(r,t,e,i){var n=new ia(r,t,e);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function cr(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function ia(r,t,e){this.i=r,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}ls.deviation=function(r,t,e,i){var n=t&&t.length,o=n?t[0]*e:r.length,a=Math.abs(na(r,0,o,e));if(n)for(var h=0,c=t.length;h<c;h++){var d=t[h]*e,f=h<c-1?t[h+1]*e:r.length;a-=Math.abs(na(r,d,f,e))}var _=0;for(h=0;h<i.length;h+=3){var m=i[h]*e,v=i[h+1]*e,y=i[h+2]*e;_+=Math.abs((r[m]-r[y])*(r[v+1]-r[m+1])-(r[m]-r[v])*(r[y+1]-r[m+1]))}return a===0&&_===0?0:Math.abs((_-a)/a)};function na(r,t,e,i){for(var n=0,o=t,a=e-i;o<e;o+=i)n+=(r[a]-r[o])*(r[o+1]+r[a+1]),a=o;return n}ls.flatten=function(r){for(var t=r[0][0].length,e={vertices:[],holes:[],dimensions:t},i=0,n=0;n<r.length;n++){for(var o=0;o<r[n].length;o++)for(var a=0;a<t;a++)e.vertices.push(r[n][o][a]);n>0&&(i+=r[n-1].length,e.holes.push(i))}return e};const SL="";var Og={exports:{}};const zh=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],$e=(()=>{if(typeof document>"u")return!1;const r=zh[0],t={};for(const e of zh)if((e==null?void 0:e[1])in document){for(const[n,o]of e.entries())t[r[n]]=o;return t}return!1})(),Nh={change:$e.fullscreenchange,error:$e.fullscreenerror};let fe={request(r=document.documentElement,t){return new Promise((e,i)=>{const n=()=>{fe.off("change",n),e()};fe.on("change",n);const o=r[$e.requestFullscreen](t);o instanceof Promise&&o.then(n).catch(i)})},exit(){return new Promise((r,t)=>{if(!fe.isFullscreen){r();return}const e=()=>{fe.off("change",e),r()};fe.on("change",e);const i=document[$e.exitFullscreen]();i instanceof Promise&&i.then(e).catch(t)})},toggle(r,t){return fe.isFullscreen?fe.exit():fe.request(r,t)},onchange(r){fe.on("change",r)},onerror(r){fe.on("error",r)},on(r,t){const e=Nh[r];e&&document.addEventListener(e,t,!1)},off(r,t){const e=Nh[r];e&&document.removeEventListener(e,t,!1)},raw:$e};Object.defineProperties(fe,{isFullscreen:{get:()=>!!document[$e.fullscreenElement]},element:{enumerable:!0,get:()=>document[$e.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>!!document[$e.fullscreenEnabled]}}),$e||(fe={isEnabled:!1});const Fg=mh(Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"})));/*!
5
5
  * Based on package 'screenfull'
6
6
  * v5.2.0 - 2021-11-03
7
7
  * (c) Sindre Sorhus; MIT License
8
8
  * Added definition for using screenfull as an amd module
9
9
  * Must be placed before the definition of leaflet.fullscreen
10
10
  * as it is required by that
11
- */(function(s){(function(a,h){s.exports?s.exports.screenfull=h():a.screenfull=h()})(typeof self<"u"?self:Ct,function(){var a=typeof window<"u"&&typeof window.document<"u"?window.document:{},h=function(){for(var o,c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],f=0,_=c.length,v={};f<_;f++)if(o=c[f],o&&o[1]in a){for(f=0;f<o.length;f++)v[c[0][f]]=o[f];return v}return!1}(),u={change:h.fullscreenchange,error:h.fullscreenerror},n={request:function(o,c){return new Promise((function(f,_){var v=(function(){this.off("change",v),f()}).bind(this);this.on("change",v),o=o||a.documentElement;var m=o[h.requestFullscreen](c);m instanceof Promise&&m.then(v).catch(_)}).bind(this))},exit:function(){return new Promise((function(o,c){if(!this.isFullscreen){o();return}var f=(function(){this.off("change",f),o()}).bind(this);this.on("change",f);var _=a[h.exitFullscreen]();_ instanceof Promise&&_.then(f).catch(c)}).bind(this))},toggle:function(o,c){return this.isFullscreen?this.exit():this.request(o,c)},onchange:function(o){this.on("change",o)},onerror:function(o){this.on("error",o)},on:function(o,c){var f=u[o];f&&a.addEventListener(f,c,!1)},off:function(o,c){var f=u[o];f&&a.removeEventListener(f,c,!1)},raw:h};return h?(Object.defineProperties(n,{isFullscreen:{get:function(){return!!a[h.fullscreenElement]}},element:{enumerable:!0,get:function(){return a[h.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return!!a[h.fullscreenEnabled]}}}),n):{isEnabled:!1}});/*!
11
+ */(function(r){(function(t,e){r.exports?r.exports.screenfull=e():t.screenfull=e()})(typeof self<"u"?self:qe,function(){var t=typeof window<"u"&&typeof window.document<"u"?window.document:{},e=function(){for(var o,a=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],h=0,c=a.length,d={};h<c;h++)if(o=a[h],o&&o[1]in t){for(h=0;h<o.length;h++)d[a[0][h]]=o[h];return d}return!1}(),i={change:e.fullscreenchange,error:e.fullscreenerror},n={request:function(o,a){return new Promise((function(h,c){var d=(function(){this.off("change",d),h()}).bind(this);this.on("change",d),o=o||t.documentElement;var f=o[e.requestFullscreen](a);f instanceof Promise&&f.then(d).catch(c)}).bind(this))},exit:function(){return new Promise((function(o,a){if(!this.isFullscreen){o();return}var h=(function(){this.off("change",h),o()}).bind(this);this.on("change",h);var c=t[e.exitFullscreen]();c instanceof Promise&&c.then(h).catch(a)}).bind(this))},toggle:function(o,a){return this.isFullscreen?this.exit():this.request(o,a)},onchange:function(o){this.on("change",o)},onerror:function(o){this.on("error",o)},on:function(o,a){var h=i[o];h&&t.addEventListener(h,a,!1)},off:function(o,a){var h=i[o];h&&t.removeEventListener(h,a,!1)},raw:e};return e?(Object.defineProperties(n,{isFullscreen:{get:function(){return!!t[e.fullscreenElement]}},element:{enumerable:!0,get:function(){return t[e.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return!!t[e.fullscreenEnabled]}}}),n):{isEnabled:!1}});/*!
12
12
  * leaflet.fullscreen
13
- */(function(a,h){s.exports?s.exports=h(cn(),Pr):h(a.L,a.screenfull)})(typeof self<"u"?self:Ct,function(a,h){return a.Control.FullScreen=a.Control.extend({options:{position:"topleft",title:"Full Screen",titleCancel:"Exit Full Screen",forceSeparateButton:!1,forcePseudoFullscreen:!1,fullscreenElement:!1},_screenfull:h,onAdd:function(u){var n="leaflet-control-zoom-fullscreen",o,c="";return u.zoomControl&&!this.options.forceSeparateButton?o=u.zoomControl._container:o=a.DomUtil.create("div","leaflet-bar"),this.options.content?c=this.options.content:n+=" fullscreen-icon",this._createButton(this.options.title,n,c,o,this.toggleFullScreen,this),this._map.fullscreenControl=this,this._map.on("enterFullscreen exitFullscreen",this._toggleState,this),o},onRemove:function(){a.DomEvent.off(this.link,"click",a.DomEvent.stop).off(this.link,"click",this.toggleFullScreen,this),this._screenfull.isEnabled&&(a.DomEvent.off(this._container,this._screenfull.raw.fullscreenchange,a.DomEvent.stop).off(this._container,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,this),a.DomEvent.off(document,this._screenfull.raw.fullscreenchange,a.DomEvent.stop).off(document,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,this))},_createButton:function(u,n,o,c,f,_){return this.link=a.DomUtil.create("a",n,c),this.link.href="#",this.link.title=u,this.link.innerHTML=o,this.link.setAttribute("role","button"),this.link.setAttribute("aria-label",u),L.DomEvent.disableClickPropagation(c),a.DomEvent.on(this.link,"click",a.DomEvent.stop).on(this.link,"click",f,_),this._screenfull.isEnabled&&(a.DomEvent.on(c,this._screenfull.raw.fullscreenchange,a.DomEvent.stop).on(c,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,_),a.DomEvent.on(document,this._screenfull.raw.fullscreenchange,a.DomEvent.stop).on(document,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,_)),this.link},toggleFullScreen:function(){var u=this._map;u._exitFired=!1,u._isFullscreen?(this._screenfull.isEnabled&&!this.options.forcePseudoFullscreen?this._screenfull.exit():(a.DomUtil.removeClass(this.options.fullscreenElement?this.options.fullscreenElement:u._container,"leaflet-pseudo-fullscreen"),u.invalidateSize()),u.fire("exitFullscreen"),u._exitFired=!0,u._isFullscreen=!1):(this._screenfull.isEnabled&&!this.options.forcePseudoFullscreen?this._screenfull.request(this.options.fullscreenElement?this.options.fullscreenElement:u._container):(a.DomUtil.addClass(this.options.fullscreenElement?this.options.fullscreenElement:u._container,"leaflet-pseudo-fullscreen"),u.invalidateSize()),u.fire("enterFullscreen"),u._isFullscreen=!0)},_toggleState:function(){this.link.title=this._map._isFullscreen?this.options.title:this.options.titleCancel,this._map._isFullscreen?L.DomUtil.removeClass(this.link,"leaflet-fullscreen-on"):L.DomUtil.addClass(this.link,"leaflet-fullscreen-on")},_handleFullscreenChange:function(){var u=this._map;u.invalidateSize(),!this._screenfull.isFullscreen&&!u._exitFired&&(u.fire("exitFullscreen"),u._exitFired=!0,u._isFullscreen=!1)}}),a.Map.include({toggleFullscreen:function(){this.fullscreenControl.toggleFullScreen()}}),a.Map.addInitHook(function(){this.options.fullscreenControl&&this.addControl(a.control.fullscreen(this.options.fullscreenControlOptions))}),a.control.fullscreen=function(u){return new a.Control.FullScreen(u)},{leaflet:a,screenfull:h}})})(xr);const Er=W.defineComponent({name:"CoordinatesVerifyPolygon",props:{dataPolygon:Object,iconMarker:Object,coordinatesMap:Array,checkPointInPolygon:Function},data(){return{markerIconDefault:{iconUrl:Me,iconSize:[25,41],iconAnchor:[12,41]}}},mounted(){this.verificarPuntoEnPoligono()},methods:{verificarPuntoEnPoligono(){var m;const s=this.iconMarker?this.iconMarker:this.markerIconDefault,a=(m=this.dataPolygon)==null?void 0:m.geometry.coordinates[0].map(w=>[w[1],w[0]]),h=JSON.parse(JSON.stringify(a)),u=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],n=Z.map("maps",{fullscreenControl:!0}).setView([this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],this.coordinatesMap?this.coordinatesMap[2]:0);Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(n),Z.polygon(h).addTo(n);const o=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],c=Z.icon(s);Z.marker(o,{icon:c}).addTo(n);const f=vr(u),_=yr([a]),v=kr(f,_);this.checkPointInPolygon&&this.checkPointInPolygon(v)}}}),Jl="",_n=(s,a)=>{const h=s.__vccOpts||s;for(const[u,n]of a)h[u]=n;return h},Mr={ref:"maps",id:"maps"};function Tr(s,a,h,u,n,o){return W.openBlock(),W.createElementBlock("div",Mr,null,512)}const Cr=_n(Er,[["render",Tr]]);(function(s,a,h){function u(n,o){for(;(n=n.parentElement)&&!n.classList.contains(o););return n}L.drawVersion="1.0.4",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(n,o){this._map=n,this._container=n._container,this._overlayPane=n._panes.overlayPane,this._popupPane=n._panes.popupPane,o&&o.shapeOptions&&(o.shapeOptions=L.Util.extend({},this.options.shapeOptions,o.shapeOptions)),L.setOptions(this,o);var c=L.version.split(".");parseInt(c[0],10)===1&&parseInt(c[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(L.DomUtil.disableTextSelection(),n.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(n){L.setOptions(this,n)},_fireCreatedEvent:function(n){this._map.fire(L.Draw.Event.CREATED,{layer:n,layerType:this.type})},_cancelDrawing:function(n){n.keyCode===27&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(n,o){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,o&&o.drawError&&(o.drawError=L.Util.extend({},this.options.drawError,o.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var n=this._markers.pop(),o=this._poly,c=o.getLatLngs(),f=c.splice(-1,1)[0];this._poly.setLatLngs(c),this._markerGroup.removeLayer(n),o.getLatLngs().length<2&&this._map.removeLayer(o),this._vertexChanged(f,!1)}},addVertex:function(n){if(this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(n))return void this._showErrorTooltip();this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(n)),this._poly.addLatLng(n),this._poly.getLatLngs().length===2&&this._map.addLayer(this._poly),this._vertexChanged(n,!0)},completeShape:function(){this._markers.length<=1||!this._shapeIsValid()||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var n=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),o=this._poly.newLatLngIntersects(n[n.length-1]);if(!this.options.allowIntersection&&o||!this._shapeIsValid())return void this._showErrorTooltip();this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_shapeIsValid:function(){return!0},_onZoomEnd:function(){this._markers!==null&&this._updateGuide()},_onMouseMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent),c=this._map.layerPointToLatLng(o);this._currentLatLng=c,this._updateTooltip(c),this._updateGuide(o),this._mouseMarker.setLatLng(c),L.DomEvent.preventDefault(n.originalEvent)},_vertexChanged:function(n,o){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(n,o),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(n){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(n),this._clickHandled=!0,this._disableNewMarkers();var o=n.originalEvent,c=o.clientX,f=o.clientY;this._startPoint.call(this,c,f)}},_startPoint:function(n,o){this._mouseDownOrigin=L.point(n,o)},_onMouseUp:function(n){var o=n.originalEvent,c=o.clientX,f=o.clientY;this._endPoint.call(this,c,f,n),this._clickHandled=null},_endPoint:function(n,o,c){if(this._mouseDownOrigin){var f=L.point(n,o).distanceTo(this._mouseDownOrigin),_=this._calculateFinishDistance(c.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(c.latlng),this._finishShape()):_<10&&L.Browser.touch?this._finishShape():Math.abs(f)<9*(s.devicePixelRatio||1)&&this.addVertex(c.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(n){var o,c,f=n.originalEvent;!f.touches||!f.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(o=f.touches[0].clientX,c=f.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,o,c),this._endPoint.call(this,o,c,n),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(n){var o;if(this._markers.length>0){var c;if(this.type===L.Draw.Polyline.TYPE)c=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;c=this._markers[0]}var f=this._map.latLngToContainerPoint(c.getLatLng()),_=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),v=this._map.latLngToContainerPoint(_.getLatLng());o=f.distanceTo(v)}else o=1/0;return o},_updateFinishHandler:function(){var n=this._markers.length;n>1&&this._markers[n-1].on("click",this._finishShape,this),n>2&&this._markers[n-2].off("click",this._finishShape,this)},_createMarker:function(n){var o=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(o),o},_updateGuide:function(n){var o=this._markers?this._markers.length:0;o>0&&(n=n||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[o-1].getLatLng()),n))},_updateTooltip:function(n){var o=this._getTooltipText();n&&this._tooltip.updatePosition(n),this._errorShown||this._tooltip.updateContent(o)},_drawGuide:function(n,o){var c,f,_,v=Math.floor(Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2))),m=this.options.guidelineDistance,w=this.options.maxGuideLineLength,T=v>w?v-w:m;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));T<v;T+=this.options.guidelineDistance)c=T/v,f={x:Math.floor(n.x*(1-c)+c*o.x),y:Math.floor(n.y*(1-c)+c*o.y)},_=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer),_.style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(_,f)},_updateGuideColor:function(n){if(this._guidesContainer)for(var o=0,c=this._guidesContainer.childNodes.length;o<c;o++)this._guidesContainer.childNodes[o].style.backgroundColor=n},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var n,o,c=this.options.showLength;return this._markers.length===0?n={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(o=c?this._getMeasurementString():"",n=this._markers.length===1?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:o}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:o}),n},_updateRunningMeasure:function(n,o){var c,f,_=this._markers.length;this._markers.length===1?this._measurementRunningTotal=0:(c=_-(o?2:1),f=L.GeometryUtil.isVersion07x()?n.distanceTo(this._markers[c].getLatLng())*(this.options.factor||1):this._map.distance(n,this._markers[c].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=f*(o?1:-1))},_getMeasurementString:function(){var n,o=this._currentLatLng,c=this._markers[this._markers.length-1].getLatLng();return n=L.GeometryUtil.isVersion07x()?c&&o&&o.distanceTo?this._measurementRunningTotal+o.distanceTo(c)*(this.options.factor||1):this._measurementRunningTotal||0:c&&o?this._measurementRunningTotal+this._map.distance(o,c)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(n,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var n=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(n,o){L.Draw.Polyline.prototype.initialize.call(this,n,o),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var n=this._markers.length;n===1&&this._markers[0].on("click",this._finishShape,this),n>2&&(this._markers[n-1].on("dblclick",this._finishShape,this),n>3&&this._markers[n-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var n,o;return this._markers.length===0?n=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(n=L.drawLocal.draw.handlers.polygon.tooltip.cont,o=this._getMeasurementString()):(n=L.drawLocal.draw.handlers.polygon.tooltip.end,o=this._getMeasurementString()),{text:n,subtext:o}},_getMeasurementString:function(){var n=this._area,o="";return n||this.options.showLength?(this.options.showLength&&(o=L.Draw.Polyline.prototype._getMeasurementString.call(this)),n&&(o+="<br>"+L.GeometryUtil.readableArea(n,this.options.metric,this.options.precision)),o):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(n,o){var c;!this.options.allowIntersection&&this.options.showArea&&(c=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(c)),L.Draw.Polyline.prototype._vertexChanged.call(this,n,o)},_cleanUpShape:function(){var n=this._markers.length;n>0&&(this._markers[0].off("click",this._finishShape,this),n>2&&this._markers[n-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(n,o){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),a.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(a,"mouseup",this._onMouseUp,this),L.DomEvent.off(a,"touchend",this._onMouseUp,this),a.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(n){this._isDrawing=!0,this._startLatLng=n.latlng,L.DomEvent.on(a,"mouseup",this._onMouseUp,this).on(a,"touchend",this._onMouseUp,this).preventDefault(n.originalEvent)},_onMouseMove:function(n){var o=n.latlng;this._tooltip.updatePosition(o),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(o))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showArea:!0,metric:!0},initialize:function(n,o){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,o)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(n){if(!this._shape&&!this._isCurrentlyTwoClickDrawing)return void(this._isCurrentlyTwoClickDrawing=!0);this._isCurrentlyTwoClickDrawing&&!u(n.target,"leaflet-pane")||L.Draw.SimpleShape.prototype._onMouseUp.call(this)},_drawShape:function(n){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,n)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,n),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_getTooltipText:function(){var n,o,c,f=L.Draw.SimpleShape.prototype._getTooltipText.call(this),_=this._shape,v=this.options.showArea;return _&&(n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),o=L.GeometryUtil.geodesicArea(n),c=v?L.GeometryUtil.readableArea(o,this.options.metric):""),{text:f.text,subtext:c}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(n,o){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(n){var o=n.latlng;this._tooltip.updatePosition(o),this._mouseMarker.setLatLng(o),this._marker?(o=this._mouseMarker.getLatLng(),this._marker.setLatLng(o)):(this._marker=this._createMarker(o),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(n){return new L.Marker(n,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(n){this._onMouseMove(n),this._onClick()},_fireCreatedEvent:function(){var n=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(n,o){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,o)},_fireCreatedEvent:function(){var n=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)},_createMarker:function(n){return new L.CircleMarker(n,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(n,o){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,o)},_drawShape:function(n){if(L.GeometryUtil.isVersion07x())var o=this._startLatLng.distanceTo(n);else var o=this._map.distance(this._startLatLng,n);this._shape?this._shape.setRadius(o):(this._shape=new L.Circle(this._startLatLng,o,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_onMouseMove:function(n){var o,c=n.latlng,f=this.options.showRadius,_=this.options.metric;if(this._tooltip.updatePosition(c),this._isDrawing){this._drawShape(c),o=this._shape.getRadius().toFixed(1);var v="";f&&(v=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(o,_,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:v})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(n,o){this._marker=n,L.setOptions(this,o)},addHooks:function(){var n=this._marker;n.dragging.enable(),n.on("dragend",this._onDragEnd,n),this._toggleMarkerHighlight()},removeHooks:function(){var n=this._marker;n.dragging.disable(),n.off("dragend",this._onDragEnd,n),this._toggleMarkerHighlight()},_onDragEnd:function(n){var o=n.target;o.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:o})},_toggleMarkerHighlight:function(){var n=this._marker._icon;n&&(n.style.display="none",L.DomUtil.hasClass(n,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,-4)):(L.DomUtil.addClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,4)),n.style.display="")},_offsetMarker:function(n,o){var c=parseInt(n.style.marginTop,10)-o,f=parseInt(n.style.marginLeft,10)-o;n.style.marginTop=c+"px",n.style.marginLeft=f+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(n){this.latlngs=[n._latlngs],n._holes&&(this.latlngs=this.latlngs.concat(n._holes)),this._poly=n,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(n){for(var o=0;o<this._verticesHandlers.length;o++)n(this._verticesHandlers[o])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(n){n.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(n){n.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(n){n.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var n=0;n<this.latlngs.length;n++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[n],this._poly.options.poly))},_updateLatLngs:function(n){this.latlngs=[n.layer._latlngs],n.layer._holes&&(this.latlngs=this.latlngs.concat(n.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(n,o,c){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=n,c&&c.drawError&&(c.drawError=L.Util.extend({},this.options.drawError,c.drawError)),this._latlngs=o,L.setOptions(this,c)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var n=this._poly,o=n._path;n instanceof L.Polygon||(n.options.fill=!1,n.options.editing&&(n.options.editing.fill=!1)),o&&n.options.editing&&n.options.editing.className&&(n.options.original.className&&n.options.original.className.split(" ").forEach(function(c){L.DomUtil.removeClass(o,c)}),n.options.editing.className.split(" ").forEach(function(c){L.DomUtil.addClass(o,c)})),n.setStyle(n.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var n=this._poly,o=n._path;o&&n.options.editing&&n.options.editing.className&&(n.options.editing.className.split(" ").forEach(function(c){L.DomUtil.removeClass(o,c)}),n.options.original.className&&n.options.original.className.split(" ").forEach(function(c){L.DomUtil.addClass(o,c)})),n.setStyle(n.options.original),n._map&&(n._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var n,o,c,f,_=this._defaultShape();for(n=0,c=_.length;n<c;n++)f=this._createMarker(_[n],n),f.on("click",this._onMarkerClick,this),f.on("contextmenu",this._onContextMenu,this),this._markers.push(f);var v,m;for(n=0,o=c-1;n<c;o=n++)(n!==0||L.Polygon&&this._poly instanceof L.Polygon)&&(v=this._markers[o],m=this._markers[n],this._createMiddleMarker(v,m),this._updatePrevNext(v,m))},_createMarker:function(n,o){var c=new L.Marker.Touch(n,{draggable:!0,icon:this.options.icon});return c._origLatLng=n,c._index=o,c.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(c),c},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var n=this._defaultShape(),o=[].splice.apply(n,arguments);return this._poly._convertLatLngs(n,!0),this._poly.redraw(),o},_removeMarker:function(n){var o=n._index;this._markerGroup.removeLayer(n),this._markers.splice(o,1),this._spliceLatLngs(o,1),this._updateIndexes(o,-1),n.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(n){var o=n.target,c=this._poly,f=L.LatLngUtil.cloneLatLng(o._origLatLng);if(L.extend(o._origLatLng,o._latlng),c.options.poly){var _=c._map._editTooltip;if(!c.options.poly.allowIntersection&&c.intersects()){L.extend(o._origLatLng,f),o.setLatLng(f);var v=c.options.color;c.setStyle({color:this.options.drawError.color}),_&&_.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){c.setStyle({color:v}),_&&_.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}o._middleLeft&&o._middleLeft.setLatLng(this._getMiddleLatLng(o._prev,o)),o._middleRight&&o._middleRight.setLatLng(this._getMiddleLatLng(o,o._next)),this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var m=this._poly.getLatLngs();this._poly._convertLatLngs(m,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(n){var o=L.Polygon&&this._poly instanceof L.Polygon?4:3,c=n.target;this._defaultShape().length<o||(this._removeMarker(c),this._updatePrevNext(c._prev,c._next),c._middleLeft&&this._markerGroup.removeLayer(c._middleLeft),c._middleRight&&this._markerGroup.removeLayer(c._middleRight),c._prev&&c._next?this._createMiddleMarker(c._prev,c._next):c._prev?c._next||(c._prev._middleRight=null):c._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(n){var o=n.target;this._poly,this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:o,layers:this._markerGroup,poly:this._poly}),L.DomEvent.stopPropagation},_onTouchMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),c=this._map.layerPointToLatLng(o),f=n.target;L.extend(f._origLatLng,c),f._middleLeft&&f._middleLeft.setLatLng(this._getMiddleLatLng(f._prev,f)),f._middleRight&&f._middleRight.setLatLng(this._getMiddleLatLng(f,f._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(n,o){this._markerGroup.eachLayer(function(c){c._index>n&&(c._index+=o)})},_createMiddleMarker:function(n,o){var c,f,_,v=this._getMiddleLatLng(n,o),m=this._createMarker(v);m.setOpacity(.6),n._middleRight=o._middleLeft=m,f=function(){m.off("touchmove",f,this);var w=o._index;m._index=w,m.off("click",c,this).on("click",this._onMarkerClick,this),v.lat=m.getLatLng().lat,v.lng=m.getLatLng().lng,this._spliceLatLngs(w,0,v),this._markers.splice(w,0,m),m.setOpacity(1),this._updateIndexes(w,1),o._index++,this._updatePrevNext(n,m),this._updatePrevNext(m,o),this._poly.fire("editstart")},_=function(){m.off("dragstart",f,this),m.off("dragend",_,this),m.off("touchmove",f,this),this._createMiddleMarker(n,m),this._createMiddleMarker(m,o)},c=function(){f.call(this),_.call(this),this._fireEdit()},m.on("click",c,this).on("dragstart",f,this).on("dragend",_,this).on("touchmove",f,this),this._markerGroup.addLayer(m)},_updatePrevNext:function(n,o){n&&(n._next=o),o&&(o._prev=n)},_getMiddleLatLng:function(n,o){var c=this._poly._map,f=c.project(n.getLatLng()),_=c.project(o.getLatLng());return c.unproject(f._add(_)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(n,o){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=n,L.Util.setOptions(this,o)},addHooks:function(){var n=this._shape;this._shape._map&&(this._map=this._shape._map,n.setStyle(n.options.editing),n._map&&(this._map=n._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var n=this._shape;if(n.setStyle(n.options.original),n._map){this._unbindMarker(this._moveMarker);for(var o=0,c=this._resizeMarkers.length;o<c;o++)this._unbindMarker(this._resizeMarkers[o]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(n,o){var c=new L.Marker.Touch(n,{draggable:!0,icon:o,zIndexOffset:10});return this._bindMarker(c),this._markerGroup.addLayer(c),c},_bindMarker:function(n){n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(n){n.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(n){n.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(n){var o=n.target,c=o.getLatLng();o===this._moveMarker?this._move(c):this._resize(c),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(n){n.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(n){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n),typeof this._getCorners=="function"){var o=this._getCorners(),c=n.target,f=c._cornerIndex;c.setOpacity(0),this._oppositeCorner=o[(f+2)%4],this._toggleCornerMarkers(0,f)}this._shape.fire("editstart")},_onTouchMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),c=this._map.layerPointToLatLng(o);return n.target===this._moveMarker?this._move(c):this._resize(c),this._shape.redraw(),!1},_onTouchEnd:function(n){n.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getBounds(),o=n.getCenter();this._moveMarker=this._createMarker(o,this.options.moveIcon)},_createResizeMarker:function(){var n=this._getCorners();this._resizeMarkers=[];for(var o=0,c=n.length;o<c;o++)this._resizeMarkers.push(this._createMarker(n[o],this.options.resizeIcon)),this._resizeMarkers[o]._cornerIndex=o},_onMarkerDragStart:function(n){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n);var o=this._getCorners(),c=n.target,f=c._cornerIndex;this._oppositeCorner=o[(f+2)%4],this._toggleCornerMarkers(0,f)},_onMarkerDragEnd:function(n){var o,c,f=n.target;f===this._moveMarker&&(o=this._shape.getBounds(),c=o.getCenter(),f.setLatLng(c)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,n)},_move:function(n){for(var o,c=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),f=this._shape.getBounds(),_=f.getCenter(),v=[],m=0,w=c.length;m<w;m++)o=[c[m].lat-_.lat,c[m].lng-_.lng],v.push([n.lat+o[0],n.lng+o[1]]);this._shape.setLatLngs(v),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(n){var o;this._shape.setBounds(L.latLngBounds(n,this._oppositeCorner)),o=this._shape.getBounds(),this._moveMarker.setLatLng(o.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var n=this._shape.getBounds();return[n.getNorthWest(),n.getNorthEast(),n.getSouthEast(),n.getSouthWest()]},_toggleCornerMarkers:function(n){for(var o=0,c=this._resizeMarkers.length;o<c;o++)this._resizeMarkers[o].setOpacity(n)},_repositionCornerMarkers:function(){for(var n=this._getCorners(),o=0,c=this._resizeMarkers.length;o<c;o++)this._resizeMarkers[o].setLatLng(n[o])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getLatLng();this._moveMarker=this._createMarker(n,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(n){if(this._resizeMarkers.length){var o=this._getResizeMarkerPoint(n);this._resizeMarkers[0].setLatLng(o)}this._shape.setLatLng(n),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var n=this._shape.getLatLng(),o=this._getResizeMarkerPoint(n);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(o,this.options.resizeIcon))},_getResizeMarkerPoint:function(n){var o=this._shape._radius*Math.cos(Math.PI/4),c=this._map.project(n);return this._map.unproject([c.x+o,c.y-o])},_resize:function(n){var o=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=o.distanceTo(n):radius=this._map.distance(o,n),this._shape.setRadius(radius),this._map.editTooltip&&this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable())}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(n){this._map=n,this._container=n._container,this._pane=n._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.off(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.off(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave,this))},_touchEvent:function(n,o){var c={};if(n.touches!==void 0){if(!n.touches.length)return;c=n.touches[0]}else if(n.pointerType!=="touch"||(c=n,!this._filterClick(n)))return;var f=this._map.mouseEventToContainerPoint(c),_=this._map.mouseEventToLayerPoint(c),v=this._map.layerPointToLatLng(_);this._map.fire(o,{latlng:v,layerPoint:_,containerPoint:f,pageX:c.pageX,pageY:c.pageY,originalEvent:n})},_filterClick:function(n){var o=n.timeStamp||n.originalEvent.timeStamp,c=L.DomEvent._lastClick&&o-L.DomEvent._lastClick;return c&&c>100&&c<500||n.target._simulatedClick&&!n._simulated?(L.DomEvent.stop(n),!1):(L.DomEvent._lastClick=o,!0)},_onTouchStart:function(n){this._map._loaded&&this._touchEvent(n,"touchstart")},_onTouchEnd:function(n){this._map._loaded&&this._touchEvent(n,"touchend")},_onTouchCancel:function(n){if(this._map._loaded){var o="touchcancel";this._detectIE()&&(o="pointercancel"),this._touchEvent(n,o)}},_onTouchLeave:function(n){this._map._loaded&&this._touchEvent(n,"touchleave")},_onTouchMove:function(n){this._map._loaded&&this._touchEvent(n,"touchmove")},_detectIE:function(){var n=s.navigator.userAgent,o=n.indexOf("MSIE ");if(o>0)return parseInt(n.substring(o+5,n.indexOf(".",o)),10);if(n.indexOf("Trident/")>0){var c=n.indexOf("rv:");return parseInt(n.substring(c+3,n.indexOf(".",c)),10)}var f=n.indexOf("Edge/");return f>0&&parseInt(n.substring(f+5,n.indexOf(".",f)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var n=this._icon,o=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];this._detectIE?o.concat(["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]):o.concat(["touchcancel"]),L.DomUtil.addClass(n,"leaflet-clickable"),L.DomEvent.on(n,"click",this._onMouseClick,this),L.DomEvent.on(n,"keypress",this._onKeyPress,this);for(var c=0;c<o.length;c++)L.DomEvent.on(n,o[c],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var n=s.navigator.userAgent,o=n.indexOf("MSIE ");if(o>0)return parseInt(n.substring(o+5,n.indexOf(".",o)),10);if(n.indexOf("Trident/")>0){var c=n.indexOf("rv:");return parseInt(n.substring(c+3,n.indexOf(".",c)),10)}var f=n.indexOf("Edge/");return f>0&&parseInt(n.substring(f+5,n.indexOf(".",f)),10)}}),L.LatLngUtil={cloneLatLngs:function(n){for(var o=[],c=0,f=n.length;c<f;c++)Array.isArray(n[c])?o.push(L.LatLngUtil.cloneLatLngs(n[c])):o.push(this.cloneLatLng(n[c]));return o},cloneLatLng:function(n){return L.latLng(n.lat,n.lng)}},function(){var n={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(o){var c,f,_=o.length,v=0,m=Math.PI/180;if(_>2){for(var w=0;w<_;w++)c=o[w],f=o[(w+1)%_],v+=(f.lng-c.lng)*m*(2+Math.sin(c.lat*m)+Math.sin(f.lat*m));v=6378137*v*6378137/2}return Math.abs(v)},formattedNumber:function(o,c){var f=parseFloat(o).toFixed(c),_=L.drawLocal.format&&L.drawLocal.format.numeric,v=_&&_.delimiters,m=v&&v.thousands,w=v&&v.decimal;if(m||w){var T=f.split(".");f=m?T[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+m):T[0],w=w||".",T.length>1&&(f=f+w+T[1])}return f},readableArea:function(o,c,m){var _,v,m=L.Util.extend({},n,m);return c?(v=["ha","m"],type=typeof c,type==="string"?v=[c]:type!=="boolean"&&(v=c),_=o>=1e6&&v.indexOf("km")!==-1?L.GeometryUtil.formattedNumber(1e-6*o,m.km)+" km²":o>=1e4&&v.indexOf("ha")!==-1?L.GeometryUtil.formattedNumber(1e-4*o,m.ha)+" ha":L.GeometryUtil.formattedNumber(o,m.m)+" m²"):(o/=.836127,_=o>=3097600?L.GeometryUtil.formattedNumber(o/3097600,m.mi)+" mi²":o>=4840?L.GeometryUtil.formattedNumber(o/4840,m.ac)+" acres":L.GeometryUtil.formattedNumber(o,m.yd)+" yd²"),_},readableDistance:function(o,c,f,_,w){var m,w=L.Util.extend({},n,w);switch(c?typeof c=="string"?c:"metric":f?"feet":_?"nauticalMile":"yards"){case"metric":m=o>1e3?L.GeometryUtil.formattedNumber(o/1e3,w.km)+" km":L.GeometryUtil.formattedNumber(o,w.m)+" m";break;case"feet":o*=3.28083,m=L.GeometryUtil.formattedNumber(o,w.ft)+" ft";break;case"nauticalMile":o*=.53996,m=L.GeometryUtil.formattedNumber(o/1e3,w.nm)+" nm";break;case"yards":default:o*=1.09361,m=o>1760?L.GeometryUtil.formattedNumber(o/1760,w.mi)+" miles":L.GeometryUtil.formattedNumber(o,w.yd)+" yd"}return m},isVersion07x:function(){var o=L.version.split(".");return parseInt(o[0],10)===0&&parseInt(o[1],10)===7}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(n,o,c,f){return this._checkCounterclockwise(n,c,f)!==this._checkCounterclockwise(o,c,f)&&this._checkCounterclockwise(n,o,c)!==this._checkCounterclockwise(n,o,f)},_checkCounterclockwise:function(n,o,c){return(c.y-n.y)*(o.x-n.x)>(o.y-n.y)*(c.x-n.x)}}),L.Polyline.include({intersects:function(){var n,o,c,f=this._getProjectedPoints(),_=f?f.length:0;if(this._tooFewPointsForIntersection())return!1;for(n=_-1;n>=3;n--)if(o=f[n-1],c=f[n],this._lineSegmentsIntersectsRange(o,c,n-2))return!0;return!1},newLatLngIntersects:function(n,o){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(n),o)},newPointIntersects:function(n,o){var c=this._getProjectedPoints(),f=c?c.length:0,_=c?c[f-1]:null,v=f-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(_,n,v,o?1:0)},_tooFewPointsForIntersection:function(n){var o=this._getProjectedPoints(),c=o?o.length:0;return c+=n||0,!o||c<=3},_lineSegmentsIntersectsRange:function(n,o,c,f){var _,v,m=this._getProjectedPoints();f=f||0;for(var w=c;w>f;w--)if(_=m[w-1],v=m[w],L.LineUtil.segmentsIntersect(n,o,_,v))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var n=[],o=this._defaultShape(),c=0;c<o.length;c++)n.push(this._map.latLngToLayerPoint(o[c]));return n}}),L.Polygon.include({intersects:function(){var n,o,c,f,_=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||(n=_.length,o=_[0],c=_[n-1],f=n-2,this._lineSegmentsIntersectsRange(c,o,f,1)))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(n){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Control.prototype.initialize.call(this,n);var o;this._toolbars={},L.DrawToolbar&&this.options.draw&&(o=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=o,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(o=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=o,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(n){var o,c=L.DomUtil.create("div","leaflet-draw"),f=!1;for(var _ in this._toolbars)this._toolbars.hasOwnProperty(_)&&(o=this._toolbars[_].addToolbar(n))&&(f||(L.DomUtil.hasClass(o,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(o.childNodes[0],"leaflet-draw-toolbar-top"),f=!0),c.appendChild(o));return c},onRemove:function(){for(var n in this._toolbars)this._toolbars.hasOwnProperty(n)&&this._toolbars[n].removeToolbar()},setDrawingOptions:function(n){for(var o in this._toolbars)this._toolbars[o]instanceof L.DrawToolbar&&this._toolbars[o].setOptions(n)},_toolbarEnabled:function(n){var o=n.target;for(var c in this._toolbars)this._toolbars[c]!==o&&this._toolbars[c].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(n){L.setOptions(this,n),this._modes={},this._actionButtons=[],this._activeMode=null;var o=L.version.split(".");parseInt(o[0],10)===1&&parseInt(o[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return this._activeMode!==null},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(n){var o,c=L.DomUtil.create("div","leaflet-draw-section"),f=0,_=this._toolbarClass||"",v=this.getModeHandlers(n);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=n,o=0;o<v.length;o++)v[o].enabled&&this._initModeHandler(v[o].handler,this._toolbarContainer,f++,_,v[o].title);if(f)return this._lastButtonIndex=--f,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),c.appendChild(this._toolbarContainer),c.appendChild(this._actionsContainer),c},removeToolbar:function(){for(var n in this._modes)this._modes.hasOwnProperty(n)&&(this._disposeButton(this._modes[n].button,this._modes[n].handler.enable,this._modes[n].handler),this._modes[n].handler.disable(),this._modes[n].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var o=0,c=this._actionButtons.length;o<c;o++)this._disposeButton(this._actionButtons[o].button,this._actionButtons[o].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(n,o,c,f,_){var v=n.type;this._modes[v]={},this._modes[v].handler=n,this._modes[v].button=this._createButton({type:v,title:_,className:f+"-"+v,container:o,callback:this._modes[v].handler.enable,context:this._modes[v].handler}),this._modes[v].buttonIndex=c,this._modes[v].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!s.MSStream},_createButton:function(n){var o=L.DomUtil.create("a",n.className||"",n.container),c=L.DomUtil.create("span","sr-only",n.container);o.href="#",o.appendChild(c),n.title&&(o.title=n.title,c.innerHTML=n.title),n.text&&(o.innerHTML=n.text,c.innerHTML=n.text);var f=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(o,"click",L.DomEvent.stopPropagation).on(o,"mousedown",L.DomEvent.stopPropagation).on(o,"dblclick",L.DomEvent.stopPropagation).on(o,"touchstart",L.DomEvent.stopPropagation).on(o,"click",L.DomEvent.preventDefault).on(o,f,n.callback,n.context),o},_disposeButton:function(n,o){var c=this._detectIOS()?"touchstart":"click";L.DomEvent.off(n,"click",L.DomEvent.stopPropagation).off(n,"mousedown",L.DomEvent.stopPropagation).off(n,"dblclick",L.DomEvent.stopPropagation).off(n,"touchstart",L.DomEvent.stopPropagation).off(n,"click",L.DomEvent.preventDefault).off(n,c,o)},_handlerActivated:function(n){this.disable(),this._activeMode=this._modes[n.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(n){var o,c,f,_,v=this._actionsContainer,m=this.getActions(n),w=m.length;for(c=0,f=this._actionButtons.length;c<f;c++)this._disposeButton(this._actionButtons[c].button,this._actionButtons[c].callback);for(this._actionButtons=[];v.firstChild;)v.removeChild(v.firstChild);for(var T=0;T<w;T++)"enabled"in m[T]&&!m[T].enabled||(o=L.DomUtil.create("li","",v),_=this._createButton({title:m[T].title,text:m[T].text,container:o,callback:m[T].callback,context:m[T].context}),this._actionButtons.push({button:_,callback:m[T].callback}))},_showActionsToolbar:function(){var n=this._activeMode.buttonIndex,o=this._lastButtonIndex,c=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=c+"px",n===0&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),n===o&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(n){this._map=n,this._popupPane=n._panes.popupPane,this._visible=!1,this._container=n.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(n){return this._container?(n.subtext=n.subtext||"",n.subtext.length!==0||this._singleLineLabel?n.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(n.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+n.subtext+"</span><br />":"")+"<span>"+n.text+"</span>",n.text||n.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(n){var o=this._map.latLngToLayerPoint(n),c=this._container;return this._container&&(this._visible&&(c.style.visibility="inherit"),L.DomUtil.setPosition(c,o)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(n){for(var o in this.options)this.options.hasOwnProperty(o)&&n[o]&&(n[o]=L.extend({},this.options[o],n[o]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,n)},getModeHandlers:function(n){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(n,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(n,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(n,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(n,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(n,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(n,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(n){return[{enabled:n.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:n.completeShape,context:n},{enabled:n.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:n.deleteLastVertex,context:n},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(n){L.setOptions(this,n);for(var o in this._modes)this._modes.hasOwnProperty(o)&&n.hasOwnProperty(o)&&this._modes[o].handler.setOptions(n[o])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(n){n.edit&&(n.edit.selectedPathOptions===void 0&&(n.edit.selectedPathOptions=this.options.edit.selectedPathOptions),n.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,n.edit.selectedPathOptions)),n.remove&&(n.remove=L.extend({},this.options.remove,n.remove)),n.poly&&(n.poly=L.extend({},this.options.poly,n.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,n),this._selectedFeatureCount=0},getModeHandlers:function(n){var o=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(n,{featureGroup:o,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(n,{featureGroup:o}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(n){var o=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return n.removeAllLayers&&o.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),o},addToolbar:function(n){var o=L.Toolbar.prototype.addToolbar.call(this,n);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),o},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var n,o=this.options.featureGroup,c=o.getLayers().length!==0;this.options.edit&&(n=this._modes[L.EditToolbar.Edit.TYPE].button,c?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",c?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(n=this._modes[L.EditToolbar.Delete.TYPE].button,c?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",c?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(n,o){if(L.Handler.prototype.initialize.call(this,n),L.setOptions(this,o),this._featureGroup=o.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var c=L.version.split(".");parseInt(c[0],10)===1&&parseInt(c[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),n._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(n){this._revertLayer(n)},this)},save:function(){var n=new L.LayerGroup;this._featureGroup.eachLayer(function(o){o.edited&&(n.addLayer(o),o.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:n})},_backupLayer:function(n){var o=L.Util.stamp(n);this._uneditedLayerProps[o]||(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?this._uneditedLayerProps[o]={latlngs:L.LatLngUtil.cloneLatLngs(n.getLatLngs())}:n instanceof L.Circle?this._uneditedLayerProps[o]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng()),radius:n.getRadius()}:(n instanceof L.Marker||n instanceof L.CircleMarker)&&(this._uneditedLayerProps[o]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(n){var o=L.Util.stamp(n);n.edited=!1,this._uneditedLayerProps.hasOwnProperty(o)&&(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?n.setLatLngs(this._uneditedLayerProps[o].latlngs):n instanceof L.Circle?(n.setLatLng(this._uneditedLayerProps[o].latlng),n.setRadius(this._uneditedLayerProps[o].radius)):(n instanceof L.Marker||n instanceof L.CircleMarker)&&n.setLatLng(this._uneditedLayerProps[o].latlng),n.fire("revert-edited",{layer:n}))},_enableLayerEdit:function(n){var o,c,f=n.layer||n.target||n;this._backupLayer(f),this.options.poly&&(c=L.Util.extend({},this.options.poly),f.options.poly=c),this.options.selectedPathOptions&&(o=L.Util.extend({},this.options.selectedPathOptions),o.maintainColor&&(o.color=f.options.color,o.fillColor=f.options.fillColor),f.options.original=L.extend({},f.options),f.options.editing=o),f instanceof L.Marker?(f.editing&&f.editing.enable(),f.dragging.enable(),f.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):f.editing.enable()},_disableLayerEdit:function(n){var o=n.layer||n.target||n;o.edited=!1,o.editing&&o.editing.disable(),delete o.options.editing,delete o.options.original,this._selectedPathOptions&&(o instanceof L.Marker?this._toggleMarkerHighlight(o):(o.setStyle(o.options.previousOptions),delete o.options.previousOptions)),o instanceof L.Marker?(o.dragging.disable(),o.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):o.editing.disable()},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_onMarkerDragEnd:function(n){var o=n.target;o.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:o})},_onTouchMove:function(n){var o=n.originalEvent.changedTouches[0],c=this._map.mouseEventToLayerPoint(o),f=this._map.layerPointToLatLng(c);n.target.setLatLng(f)},_hasAvailableLayers:function(){return this._featureGroup.getLayers().length!==0}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(n,o){if(L.Handler.prototype.initialize.call(this,n),L.Util.setOptions(this,o),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var c=L.version.split(".");parseInt(c[0],10)===1&&parseInt(c[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(n){this._deletableLayers.addLayer(n),n.fire("revert-deleted",{layer:n})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(n){this._removeLayer({layer:n})},this),this.save()},_enableLayerDelete:function(n){(n.layer||n.target||n).on("click",this._removeLayer,this)},_disableLayerDelete:function(n){var o=n.layer||n.target||n;o.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(o)},_removeLayer:function(n){var o=n.layer||n.target||n;this._deletableLayers.removeLayer(o),this._deletedLayers.addLayer(o),o.fire("deleted")},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_hasAvailableLayers:function(){return this._deletableLayers.getLayers().length!==0}})})(window,document);const Yl="";var Sr={draw:{toolbar:{actions:{title:"መሳል ተው",text:"ተው"},finish:{title:"መሳል ጨርስ",text:"ጨርስ"},undo:{title:"መጨረሻ የተሳለውን ነጥብ አጥፋ",text:"መጨረሻ የተሳለውን ነጥብ አጥፋ"},buttons:{polyline:"ፖሊላየን ሳል",polygon:"ፖሊጎን ሳል",rectangle:"አራት መአዘን ሳል",circle:"ክብ ሳል",marker:"ምልክት ሳል",circlemarker:"ክብ ምልክት ሳል"}},handlers:{circle:{tooltip:{start:"ክብ ለመሳል ተጭንው ይጎትቱ"},radius:"ራዲየስ"},circlemarker:{tooltip:{start:"ክብ ምልክት ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},marker:{tooltip:{start:"ምልክት ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},polygon:{tooltip:{start:"ቅርጽን ለመሳል ካርታውን ተጭነው ይጎትቱ",cont:"ቅርጽን መሳሎን ለመቀጠል ይጫኑ",end:"ቅርጽን ስሎ ለመጨረስ የመጀመሪያውን ነጥብ ይጫኑ"}},polyline:{error:"<strong>ስህተት:</strong> መስመሮች እርስ በእርስ መተላለፍ አይችሉም!",tooltip:{start:"መስመር ለመሳል ካርታውን ተጭነው ይጎትቱ",cont:"መስመር መሳሎን ለመቀጠል ይጫኑ",end:"መስመር ስሎ ለመጨረስ የመጨረሻውን ነጥብ ይጫኑ"}},rectangle:{tooltip:{start:"ዐራት መአዝን ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},simpleshape:{tooltip:{end:"ስለው ለመጨረስ አይጤን ይልቀቁ"}}}},edit:{toolbar:{actions:{save:{title:"ለውጦቹን አኑር",text:"አኑር"},cancel:{title:"ማስተካከሉን ተው፣ ሁሉንም ለውጦች ሰርዝ",text:"ተው"},clearAll:{title:"ሁሉንም የካርታ ገጾች አጥፋ",text:"ሁሉንም አጥፋ"}},buttons:{edit:"የካርታ ገጽ አስተካክል",editDisabled:"የሚስተካከል የካርታ ገጽ የለም",remove:"የካርታ ገጽ ሰርዝ.",removeDisabled:"የሚሰረዝ የካርታ ገጽ የለም"}},handlers:{edit:{tooltip:{text:"ለማስተካከል ምልክቱን ወይም መያዣውን ይጎትቱ",subtext:"ለውጥጡን ለመተው ተው የሚለውን ይጫኑ"}},remove:{tooltip:{text:"ማጥፋት የፈለጉትን ይጫኑ"}}}}},zr={draw:{toolbar:{actions:{title:"Zrušit kreslení",text:"Zrušit"},finish:{title:"Dokončit kreslení",text:"Dokončit"},undo:{title:"Smazat poslední nakreslený bod",text:"Smazat poslední bod"},buttons:{polyline:"Nakreslit mnohoúhelník",polygon:"Nakreslit polygon",rectangle:"Nakreslit obdélník",circle:"Nakreslit kruh",marker:"Nakreslit značku",circlemarker:"Nakreslit kruhovou značku"}},handlers:{circle:{tooltip:{start:"Kliknout a táhnout pro nakreslení kruhu."},radius:"Poloměr"},circlemarker:{tooltip:{start:"Kliknout do mapy pro umístění kruhové značky."}},marker:{tooltip:{start:"Kliknout do mapy pro umístění značky."}},polygon:{tooltip:{start:"Kliknout pro začátek kreslení tvaru.",cont:"Kliknout pro pokračování v kreslení tvaru.",end:"Kliknout na pvní bod k uzavření tvaru."}},polyline:{error:"<strong>Chyba:</strong> hrany tvaru se nemohou protínat!",tooltip:{start:"Kliknout pro začátek kreslení úsečky.",cont:"Kliknout pro pokračování v kreslení úsečky.",end:"Kliknout na koncový bod k ukončení kreslení úsečky."}},rectangle:{tooltip:{start:"Kliknout a táhnout k nakreslení obdélníku."}},simpleshape:{tooltip:{end:"Pustit myš k dokončení kreslení."}}}},edit:{toolbar:{actions:{save:{title:"Uložit změny.",text:"Uložit"},cancel:{title:"Zrušit úpravu, zruší všechny změny.",text:"Zrušit"},clearAll:{title:"Vymazat všechny vrstvy.",text:"Vymazat vše"}},buttons:{edit:"Upravit vrstvy.",editDisabled:"Žádné vrstvy k úpravě.",remove:"Vymazat vrstvy.",removeDisabled:"Žádná vrstva k vymazání."}},handlers:{edit:{tooltip:{text:"Táhnout za úchopy pro editaci tvaru.",subtext:"Kliknutím na zrušit vrátite změny."}},remove:{tooltip:{text:"Kliknout na tvar pro smazání"}}}}},Dr={draw:{toolbar:{actions:{title:"Zeichnung abbrechen",text:"Abbrechen"},finish:{title:"Zeichnung fertigstellen",text:"Fertigstellen"},undo:{title:"Lösche den zuletzt gezeichneten Punkt",text:"Letzter Punkt löschen"},buttons:{polyline:"Zeichne eine Linie",polygon:"Zeichne ein Polygon",rectangle:"Zeichne ein Rechteck",circle:"Zeichne einen Kreis",marker:"Zeichne einen Marker",circlemarker:"Zeichne einen Kreis-Marker"}},handlers:{circle:{tooltip:{start:"Klicken und ziehen um einen Kreis zu zeichnen."},radius:"Radius"},circlemarker:{tooltip:{start:"Karte anklicken um einen Kreis-Marker zu platzieren."}},marker:{tooltip:{start:"Karte anklicken um einen Marker zu platzieren."}},polygon:{tooltip:{start:"Klicken um mit dem Zeichnen einer Form zu beginnen.",cont:"Klicken um mit dem Zeichnen dieser Form fortzufahren.",end:"Erster Punkt anklicken um diese Form abzuschliessen."}},polyline:{error:"<strong>Fehler:</strong> Form-Ecken dürfen sich nicht überschneiden!",tooltip:{start:"Klicken um mit dem Zeichnen einer Linie zu beginnen.",cont:"Klicken um mit dem Zeichnen dieser Linie fortzufahren.",end:"Erster Punkt anklicken um diese Linie abzuschliessen."}},rectangle:{tooltip:{start:"Klicken und ziehen um ein Rechteck zu zeichnen."}},simpleshape:{tooltip:{end:"Maustaste loslassen um die Zeichnung fertigzustellen."}}}},edit:{toolbar:{actions:{save:{title:"Speichere Änderungen.",text:"Speichern"},cancel:{title:"Bearbeitung abbrechen, alle Änderungen verwerfen.",text:"Abbrechen"},clearAll:{title:"Alle Layer bereinigen.",text:"Alles bereinigen"}},buttons:{edit:"Layer bearbeiten.",editDisabled:"Keine Layer zum bearbeiten.",remove:"Layer löschen.",removeDisabled:"Keine Layer zum löschen."}},handlers:{edit:{tooltip:{text:"Ziehe den Griff oder den Marker um die Eigenschaft zu bearbeiten.",subtext:"Klicke abbrechen um Änderungen rückgängig zu machen."}},remove:{tooltip:{text:"Klicke auf eine Eigenschaft um diese zu entfernen."}}}}},gn={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes.",text:"Save"},cancel:{title:"Cancel editing, discards all changes.",text:"Cancel"},clearAll:{title:"Clear all layers.",text:"Clear All"}},buttons:{edit:"Edit layers.",editDisabled:"No layers to edit.",remove:"Delete layers.",removeDisabled:"No layers to delete."}},handlers:{edit:{tooltip:{text:"Drag handles, or marker to edit feature.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove"}}}}},Or={draw:{toolbar:{actions:{title:"Cancelar dibujo",text:"Cancelar"},finish:{title:"Terminar dibujo",text:"Terminar"},undo:{title:"Eliminar último punto dibujado",text:"Eliminar último punto"},buttons:{polyline:"Dibujar una polilínea",polygon:"Dibujar un polígono",rectangle:"Dibujar un rectángulo",circle:"Dibujar un círculo",marker:"Dibujar un marcador",circlemarker:"Dibujar un marcador circular"}},handlers:{circle:{tooltip:{start:"Haz click y arrastra para dibujar un círculo"},radius:"Radio"},circlemarker:{tooltip:{start:"Haz click en el mapa para situar el marcador circular"}},marker:{tooltip:{start:"Haz click en el mapa para situar el marcador"}},polygon:{tooltip:{start:"Haz click para empezar a dibujar la forma",cont:"Haz click para continuar dibujando la forma",end:"Haz click en el primer punto para cerrar la forma"}},polyline:{error:"<strong>Error:</strong> las líneas no deben cruzarse",tooltip:{start:"Haz click para empezar a dibujar la línea",cont:"Haz click para continuar dibujando la línea",end:"Haz click en el último punto para terminar la línea"}},rectangle:{tooltip:{start:"Haz click y arrastra para dibujar un rectángulo"}},simpleshape:{tooltip:{end:"Suelta el ratón para terminar de dibujar"}}}},edit:{toolbar:{actions:{save:{title:"Guardar los cambios",text:"Guardar"},cancel:{title:"Cancelar la edición, descarta todos los cambios",text:"Cancelar"},clearAll:{title:"Limpiar todas las capas",text:"Limpiar todo"}},buttons:{edit:"Editar capas",editDisabled:"No hay capas que editar",remove:"Eliminar capas",removeDisabled:"No hay capas que eliminar"}},handlers:{edit:{tooltip:{text:"Arrastra el marcador para editar la forma",subtext:"Haz click en cancelar para deshacer los cambios"}},remove:{tooltip:{text:"Haz click en una forma para eliminarla"}}}}},Ar={draw:{toolbar:{actions:{title:"Peru piirustus",text:"Peru"},finish:{title:"Hyväksy piirustus",text:"Hyväksy"},undo:{title:"Poista viimeinen piirretty piste",text:"Poista viimeinen piste"},buttons:{polyline:"Piirrä murtoviiva",polygon:"Piirrä monikulmio",rectangle:"Piirrä suorakulmio",circle:"Piirrä ympyrä",marker:"Piirrä merkki",circlemarker:"Piirrä piirimerkki"}},handlers:{circle:{tooltip:{start:"Piirrä ympyrä pitämällä hiiri painettuna ja vetämällä."},radius:"Säde"},circlemarker:{tooltip:{start:"Aseta ympyrämerkki painamalla karttaa."}},marker:{tooltip:{start:"Aseta markkeri painamalla karttaa."}},polygon:{tooltip:{start:"Paina aloittaaksesi muodon piirtämisen.",cont:"Paina jatkaaksesi muodon piirtämistä.",end:"Sulje muoto painamalla ensimmäistä pistettä."}},polyline:{error:"<strong>Virhe:</strong> muodon reunaa ei voi ylittää!",tooltip:{start:"Paina aloittaaksesi viivan piirtämisen.",cont:"Paina jatkaaksesi viivan piirtämistä.",end:"Paina viimeistä pistettä päättäksesi viiva."}},rectangle:{tooltip:{start:"Piirrä suorakulmio pitämällä hiiri painettuna ja vetämällä."}},simpleshape:{tooltip:{end:"Vapauta hiiri päättääksesi piirtämisen."}}}},edit:{toolbar:{actions:{save:{title:"Hyväksy muutokset.",text:"Hyväksy"},cancel:{title:"Peru muokkaus, hylkää kaikki muutokset.",text:"Peru"},clearAll:{title:"Poista kaikki tasot.",text:"Poista kaikki"}},buttons:{edit:"Muokkaa tasoja.",editDisabled:"Ei muokattavia tasoja.",remove:"Poista tasot.",removeDisabled:"Ei poistettavia tasoja."}},handlers:{edit:{tooltip:{text:"Vedä pistettä tai markkeria muokataksesi piirrettyjä ominaisuuksia.",subtext:"Kumoa muutokset painamalla peruuta."}},remove:{tooltip:{text:"Paina piirrettyä ominaisuutta poistaaksesi"}}}}},Ir={draw:{toolbar:{actions:{title:"Annuler le dessin",text:"Annuler"},finish:{title:"Terminer le dessin",text:"Terminer"},undo:{title:"Supprimer le dernier point tiré",text:"Supprimer le dernier point"},buttons:{polyline:"Dessinez une polyligne",polygon:"Dessinez un polygone",rectangle:"Dessinez un rectangle",circle:"Dessiner un cercle",marker:"Dessinez un marqueur",circlemarker:"Dessinez un marqueur circulaire"}},handlers:{circle:{tooltip:{start:"Cliquez et faites glisser pour dessiner le cercle."},radius:"Rayon"},circlemarker:{tooltip:{start:"Cliquez sur la carte pour placer le marqueur circulaire."}},marker:{tooltip:{start:"Cliquez sur la carte pour placer le marqueur."}},polygon:{tooltip:{start:"Cliquez pour commencer à dessiner.",cont:"Cliquez pour continuer à dessiner.",end:"Cliquez sur le premier point pour fermer cette forme."}},polyline:{error:"<strong>Erreur:</strong> les polyligne ne peuvent pas traverser!",tooltip:{start:"Cliquez pour commencer à dessiner.",cont:"Cliquez pour continuer à dessiner.",end:"Cliquez sur le dernier point pour fermer cette forme."}},rectangle:{tooltip:{start:"Cliquez et faites glisser pour dessiner le rectangle."}},simpleshape:{tooltip:{end:"Relâchez la souris pour terminer le dessin."}}}},edit:{toolbar:{actions:{save:{title:"Sauvegarder les modifications.",text:"Sauvegarder"},cancel:{title:"Annuler l'édition, rejette toutes les modifications.",text:"Annuler"},clearAll:{title:"Effacez toutes les collections.",text:"Tout effacer"}},buttons:{edit:"Modifier les collections.",editDisabled:"Pas de collections à éditer.",remove:"Supprimez les collections.",removeDisabled:"Pas de collections à supprimer."}},handlers:{edit:{tooltip:{text:"Sélectionnez les poignées ou le marqueur pour modifier l'entité.",subtext:"Cliquez sur annuler pour rétablir les modifications."}},remove:{tooltip:{text:"Cliquez sur une entité pour supprimer"}}}}},Rr={draw:{toolbar:{actions:{title:"Rajzolás elvetése",text:"Mégse"},finish:{title:"Rajzolás befejezése",text:"Befejezés"},undo:{title:"Legutóbbi pont törlése",text:"Legutóbbi pont törlése"},buttons:{polyline:"Útvonal rajzolása",polygon:"Sokszög rajzolása",rectangle:"Négyszög rajzolása",circle:"Kör rajzolása",marker:"Jelölő rajzolása",circlemarker:"Kör-jelölő rajzolása"}},handlers:{circle:{tooltip:{start:"Kattintson és tartsa nyomva a rajzoláshoz."},radius:"Sugár"},circlemarker:{tooltip:{start:"Kör-jelölő elhelyezéséhez kattintson a térképre."}},marker:{tooltip:{start:"Jelölő elhelyezéséhez kattintson a térképre."}},polygon:{tooltip:{start:"Alakzat rajzolásához kattintson a térképre.",cont:"Alakzat folytatásához kattintson a térképre.",end:"Alakzat befejezéséhez kattintson a kezdőpontra."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Útvonal rajzolásához kattintson a térképre.",cont:"Útvonal folytatásához kattintson a térképre.",end:"Útvonal befejezéséhez kattintson a végpontra."}},rectangle:{tooltip:{start:"Kattintson és tartsa nyomva négyszög rajzolásához."}},simpleshape:{tooltip:{end:"Ha elégedett az alakzattal, engedje fel az egér gombját."}}}},edit:{toolbar:{actions:{save:{title:"Változtatások elmentése.",text:"Mentés"},cancel:{title:"Változtatások elvetése.",text:"Mégse"},clearAll:{title:"Összes réteg törlése.",text:"Összes törlése"}},buttons:{edit:"Rétegek szerkesztése.",editDisabled:"Nem állnak rendelkezésre szerkeszthető rétegek.",remove:"Rétegek törlése.",removeDisabled:"Nem állnak rendelkezésre törölhető rétegek."}},handlers:{edit:{tooltip:{text:"Módosításhoz használja a jelölők, alakzatok kezelőit.",subtext:"Változások elvetéséhez kattintson a 'Mégse' gombra."}},remove:{tooltip:{text:"Kattintson a jelölőkre, alakzatokra az eltávolításukhoz."}}}}},Br={draw:{toolbar:{actions:{title:"Annulla disegno",text:"Annulla"},finish:{title:"Completa disegno",text:"Completa"},undo:{title:"Elimina l'ultimo punto disegnato",text:"Elimina l'ultimo punto"},buttons:{polyline:"Disegna una polilinea",polygon:"Disegna un poligono",rectangle:"Disegna un rettangolo",circle:"Disegna un cerchio",marker:"Disegna un marcatore",circlemarker:"Disegna un marker circolare"}},handlers:{circle:{tooltip:{start:"Clicca e trascina per disegnare un cerchio."},radius:"Raggio"},circlemarker:{tooltip:{start:"Clicca la mappa per posizionare un marcatore circolare."}},marker:{tooltip:{start:"Clicca la mappa per posizionare un marcatore."}},polygon:{tooltip:{start:"Clicca per iniziare a disegnare una figura.",cont:"Clicca per continuare a disegnare una figura.",end:"Clicca il primo punto per chiudere questa figura."}},polyline:{error:"<strong>Errore:</strong> i margini della figura non si possono incrociare!",tooltip:{start:"Clicca per iniziare a disegnare una linea.",cont:"Clicca per continuare a disegnare una linea",end:"Clicca l'ultimo punto per finire questa linea"}},rectangle:{tooltip:{start:"Clicca e trascina per disegnare un rettangolo."}},simpleshape:{tooltip:{end:"Rilascia il mouse per finire il disegno."}}}},edit:{toolbar:{actions:{save:{title:"Salva modifiche.",text:"Salva"},cancel:{title:"Annulla tutte le modifiche.",text:"Annulla"},clearAll:{title:"Pulisci tutti i livelli.",text:"Pulisci tutto"}},buttons:{edit:"Modifica i livelli.",editDisabled:"Nessun livello disponibile per la modifica.",remove:"Elimina livelli.",removeDisabled:"Nessun livello disponibile per l'eliminazione."}},handlers:{edit:{tooltip:{text:"Trascina le maniglie, o i marcatori per modificare l'elemento.",subtext:"Clicca annulla per annullare le modifiche."}},remove:{tooltip:{text:"Clicca un elemento per rimuoverlo"}}}}},Nr={draw:{toolbar:{actions:{title:"ხატვის გაუქმება",text:"გაუქმება"},finish:{title:"ხატვის დასრულება",text:"დასრულება"},undo:{title:"ბოლო დახატული წერტილის წაშლა",text:"ბოლო წერტილის წაშლა"},buttons:{polyline:"პოლილაინის დახაზვა",polygon:"პოლიგონის დახაზვა",rectangle:"მართკუთხედის დახაზვა",circle:"წრის დახაზვა",marker:"ადგილმდებარეობის დატანა",circlemarker:"ადგილმდებარეობის დატანა(წრის სახით)"}},handlers:{circle:{tooltip:{start:"დააწკაპუნეთ და გადაიტანეთ იმისათვის, რომ წრე დახაზოთ."},radius:"რადიუსი"},circlemarker:{tooltip:{start:"დააწკაპუნეთ რუკაზე ადგილმდებარეობის შესაქმნელად."}},marker:{tooltip:{start:"დააწკაპუნეთ რუკაზე ადგილმდებარეობის შესაქმნელად."}},polygon:{tooltip:{start:"დააწკაპუნეთ, კონტურის ხაზვის დაწყებისთვის.",cont:"დააწკაპუნეთ, კონტრუსი ხაზვის დასრულებისთვის.",end:"დააწკაპუნეთ პირველ წერტილზე, რათა დაასრულოთ კონტურის ხაზვა."}},polyline:{error:"<strong>შეცდომა:</strong> ხაზი ვერ გადაკვეთავს თავის თავს",tooltip:{start:"დააწკაპუნეთ, ხაზის ხაზვის დაწყებისთვის.",cont:"დააწკაპუნეთ, ხაზის ხაზვის დასრულებისთვის.",end:"დააწკაპუნეთ ბოლო წერტილზე, რათა დაასრულოთ ხაზის ხაზვა."}},rectangle:{tooltip:{start:"დააწკაპუნეთ და გადაიტანეთ იმისათვის, რომ მართკუთხედი დახაზოთ."}},simpleshape:{tooltip:{end:"გაათავისუფლეთ თაგვის ღილაკი ხაზვის დასასრულებლად."}}}},edit:{toolbar:{actions:{save:{title:"ცვლილებების შენახვა.",text:"შენახვა"},cancel:{title:"რედაქტირების გაუქმება, დააბრუნე ყველა ცვლილება.",text:"გაუქმება"},clearAll:{title:"ყველა რედაქტირებული ფენის გასუფთავება.",text:"გასუფთავება"}},buttons:{edit:"რედაქტირება.",editDisabled:"ფენები არ არის რედაქტირებისთვის.",remove:"წაშლა.",removeDisabled:"ფენები არ არის წაშლისთვის."}},handlers:{edit:{tooltip:{text:"გადაიტანეთ წვერები ან წერტილები ობიექტის რედაქტირებისთვის.",subtext:'დააჭირეთ "გაუქმება", საწყის მდგომარეობაში დასაბრუნებლად.'}},remove:{tooltip:{text:"დააწკაპუნეთ ობიექტზე წაშლისთვის"}}}}},Fr={draw:{toolbar:{actions:{title:"Tekening annuleren",text:"Annuleren"},finish:{title:"Tekening voltooien",text:"Voltooien"},undo:{title:"Laatst getekende punt verwijderen",text:"Verwijder laatst getekende punt"},buttons:{polyline:"Teken een polygonale lijn",polygon:"Teken een polygoon",rectangle:"Teken een rechthoek",circle:"Teken een cirkel",marker:"Plaats een marker",circlemarker:"Teken een cirkelmarkering"}},handlers:{circle:{tooltip:{start:"Klik en sleep om de cirkel te tekenen."},radius:"Radius"},circlemarker:{tooltip:{start:"Klik op de kaart om de cirkelmarkering te plaatsen."}},marker:{tooltip:{start:"Klik op de kaart om de markering te plaatsen."}},polygon:{tooltip:{start:"Klik om te beginnen met het tekenen van de polygoon.",cont:"Klik om door te gaan met het tekenen van de vorm.",end:"Klik op het eerste punt om dit polygoon te sluiten."}},polyline:{error:"<strong>Fout:</strong> vormranden kunnen niet kruisen!",tooltip:{start:"Klik om te beginnen met het tekenen van een lijn.",cont:"Klik om door te gaan met het tekenen van de lijn.",end:"Klik laatst getekende punt om deze lijn te voltooien."}},rectangle:{tooltip:{start:"Klik en sleep om een rechthoek te tekenen."}},simpleshape:{tooltip:{end:"Laat de muis los om de tekening te voltooien."}}}},edit:{toolbar:{actions:{save:{title:"Wijzigingen opslaan.",text:"Opslaan"},cancel:{title:"Annuleer bewerken en verwijder alle wijzigingen.",text:"Annuleren"},clearAll:{title:"Verwijder alle lagen.",text:"Verwijderd alles"}},buttons:{edit:"Lagen bewerken.",editDisabled:"Geen lagen om te bewerken.",remove:"Verwijder lagen.",removeDisabled:"Geen lagen om te verwijderen."}},handlers:{edit:{tooltip:{text:"Sleep hoeken om te schalen of middenpunt om te verplaatsen.",subtext:"Klik op annuleren om wijzigingen ongedaan te maken."}},remove:{tooltip:{text:"Klik op een vorm om die te verwijderen"}}}}},Zr={draw:{toolbar:{actions:{title:"Avbryt markering",text:"Avbryt"},finish:{title:"Ferdiggjør markering",text:"Ferdiggjør"},undo:{title:"Ta bort siste punkt",text:"Slett siste punkt"},buttons:{polyline:"Tegn flere linjer",polygon:"Tegn en mangekant",rectangle:"Tegn et rektangel",circle:"Tegn en sirkel",marker:"Sett et markeringspunkt",circlemarker:"Tegn et sirkelpunkt"}},handlers:{circle:{tooltip:{start:"Klikk og dra for å tegne en sirkel."},radius:"Radius"},circlemarker:{tooltip:{start:"Klikk på kartet for å plassere et sirkelpunkt."}},marker:{tooltip:{start:"Klikk på kartet for å markere et punkt."}},polygon:{tooltip:{start:"Klikk for å tegne et område.",cont:"Klikk for å fortsette tegningen.",end:"Klikk på det første punktet for å lukke området."}},polyline:{error:"<strong>Error:</strong> kantene kan ikke krysses!",tooltip:{start:"Klikk for å tegne en linje.",cont:"Klikk for å fortsette å tegne linjen.",end:"Kikk siste punkt for å ferdiggjøre linjen."}},rectangle:{tooltip:{start:"Klikk og dra for å tegne et rektangel."}},simpleshape:{tooltip:{end:"Slipp museknappen for å gjøre tegningen ferdig."}}}},edit:{toolbar:{actions:{save:{title:"Lagre endringer.",text:"Lagre"},cancel:{title:"Avbryt redigering og forkast endringer.",text:"Avbryt"},clearAll:{title:"Nullstill alle figurer.",text:"Nullstill alt."}},buttons:{edit:"Rediger figur.",editDisabled:"Ingen figur å redigere.",remove:"Slett figur.",removeDisabled:"Ingen figur å slette."}},handlers:{edit:{tooltip:{text:"Dra markør for å redigere.",subtext:"Klikk avbryt for å angre endringer."}},remove:{tooltip:{text:"Klikk for å ta bort"}}}}},Ur={draw:{toolbar:{actions:{title:"Anuluj wyznaczanie",text:"Anuluj"},finish:{title:"Zakończ wyznaczanie",text:"Zakończ"},undo:{title:"Usuń ostatnio wyznaczony punkt",text:"Usuń ostatni punkt"},buttons:{polyline:"Wyznacz wzór",polygon:"Wyznacz wielokąt",rectangle:"Wyznacz prostokąt",circle:"Wyznacz koło",marker:"Umieść znacznik",circlemarker:"Umieść okrągły znacznik"}},handlers:{circle:{tooltip:{start:"Kliknij i przeciągnij, aby wyznaczyć koło."},radius:"Promień"},circlemarker:{tooltip:{start:"Kliknij na mapę, aby umieścić okrągły znacznik."}},marker:{tooltip:{start:"Kliknij na mapę, aby umieścić znacznik."}},polygon:{tooltip:{start:"Kliknij, aby rozpocząć wyznaczanie kształtu.",cont:"Kliknij, aby kontynuować wyznaczanie kształtu.",end:"Kliknij pierwszy punkt, aby zakończyć ten kształt."}},polyline:{error:"<strong>Błąd:</strong> odcinki nie mogą się przecinać!",tooltip:{start:"Kliknij, aby rozpocząć wyznaczanie lini.",cont:"Kliknij, aby kontynuować wyznaczanie lini.",end:"Kliknij ostatni punkt, aby ukończyć linię."}},rectangle:{tooltip:{start:"Kliknij i przeciągnij, aby wyznaczyć prostokąt."}},simpleshape:{tooltip:{end:"Zwolnij przycisk myszy, aby ukończyć wyznaczanie."}}}},edit:{toolbar:{actions:{save:{title:"Zapisz zmiany.",text:"Zapisz"},cancel:{title:"Anuluj edytowanie i odrzuć zmiany.",text:"Anuluj"},clearAll:{title:"Wyczyść wszystkie warstwy.",text:"Wyczyść wszystko"}},buttons:{edit:"Edytuj warstwy.",editDisabled:"Brak warstw do edycji.",remove:"Usuń warstwy.",removeDisabled:"Brak warstw do usunięcia."}},handlers:{edit:{tooltip:{text:"Przeciągnij uchwyt lub znacznik, aby edytować.",subtext:"Kliknij anuluj, aby odrzucić zmiany."}},remove:{tooltip:{text:"Kliknij obiekt, aby go usunąć."}}}}},Hr={draw:{toolbar:{actions:{title:"Cancelar desenho",text:"Cancelar"},finish:{title:"Terminar desenho",text:"Terminar"},undo:{title:"Eliminar último ponto desenhado",text:"Eliminar último ponto"},buttons:{polyline:"Desenhar uma polilinha",polygon:"Desenhar um polígono",rectangle:"Desenhar um retângulo",circle:"Desenhar um círculo",marker:"Desenhar un marcador",circlemarker:"Desenhar um marcador circular"}},handlers:{circle:{tooltip:{start:"Clique e arrastrar para desenhar o círculo."},radius:"Raio"},circlemarker:{tooltip:{start:"Clique no mapa para colocar o marcador circular."}},marker:{tooltip:{start:"Clique no mapa para colocar o marcador."}},polygon:{tooltip:{start:"Clique para começar a desenhar a figura.",cont:"Clique para continuar desenhando a figura.",end:"Clique no primeiro ponto para fechar esta figura."}},polyline:{error:"<strong>Erro:</strong> as bordas de uma forma não podem atravessar!",tooltip:{start:"Clique para começar a desenhar a linha.",cont:"Clique para continuar desenhando a linha.",end:"Clique no último ponto para terminar a linha."}},rectangle:{tooltip:{start:"Clique e arrastrar para desenhar o retângulo."}},simpleshape:{tooltip:{end:"Solte o mouse para terminar o desenho."}}}},edit:{toolbar:{actions:{save:{title:"Guardar alterações.",text:"Guardar"},cancel:{title:"Cancelar edição, descarta todas as alterações.",text:"Cancelar"},clearAll:{title:"Limpar todas as camadas.",text:"Limpar tudo"}},buttons:{edit:"Editar camadas.",editDisabled:"Nenhuma camada que editar.",remove:"Eliminar camadas.",removeDisabled:"Nenhuma camada que eliminar."}},handlers:{edit:{tooltip:{text:"Arraste os manipuladores ou marcadores para editar a figura.",subtext:"Clique em cancelar para desfazer as alterações."}},remove:{tooltip:{text:"Clique em uma figura para removê-la"}}}}},jr={draw:{toolbar:{actions:{title:"Отменить рисование",text:"Отмена"},finish:{title:"Завершить рисование",text:"Завершить"},undo:{title:"Удалить последнюю нарисованную точку",text:"Удалить последнюю точку"},buttons:{polyline:"Нарисовать полилинию",polygon:"Нарисовать полигон",rectangle:"Нарисовать прямоугольник",circle:"Нарисовать круг",marker:"Нарисовать точку",circlemarker:"Нарисовать точку(в виде круга)"}},handlers:{circle:{tooltip:{start:"Кликните и перетащите для того, чтобы нарисовать круг."},radius:"Радиус"},circlemarker:{tooltip:{start:"Кликните на карту для установки точки."}},marker:{tooltip:{start:"Кликните на карту для установки точки."}},polygon:{tooltip:{start:"Кликните, чтобы начать рисовать контур.",cont:"Кликните, чтобы завершить рисовать контур.",end:"Кликните на первую точку, чтобы завершить рисование контура."}},polyline:{error:"<strong>Ошибка:</strong> линия не может самопересекаться!",tooltip:{start:"Кликните, чтобы начать рисовать линию.",cont:"Кликните, чтобы завершить рисование линии.",end:"Кликните на последнюю точку, чтобы завершить рисование линии."}},rectangle:{tooltip:{start:"Кликните и перетащите, чтобы нарисовать прямоугольник."}},simpleshape:{tooltip:{end:"Отпустите кнопку мыши для завершения рисования."}}}},edit:{toolbar:{actions:{save:{title:"Сохранить изменения.",text:"Сохранить"},cancel:{title:"Отменить редактирование, откатить все изменения.",text:"Отмена"},clearAll:{title:"Очистить все редактируемые слои.",text:"Очистить всё"}},buttons:{edit:"Редактировать.",editDisabled:"Нет слоёв для редактирования.",remove:"Удалить.",removeDisabled:"Нет слоёв для удаления."}},handlers:{edit:{tooltip:{text:"Перетащите вершины или точки для редактирования фигуры.",subtext:'Нажмите "Отмена", чтобы откатить изменения.'}},remove:{tooltip:{text:"Кликните на фигуру для удаления"}}}}},Gr={draw:{toolbar:{actions:{title:"Zrušiť kreslenie",text:"Zrušiť"},finish:{title:"Dokončiť kreslenie",text:"Dokončiť"},undo:{title:"Zmazať posledný nakreslený bod",text:"Zmazať posledný bod"},buttons:{polyline:"Nakresliť čiaru",polygon:"Nakresliť polygón",rectangle:"Nakresliť obdĺžnik",circle:"Nakresliť kruh",marker:"Nakresliť bod",circlemarker:"Nakresliť kruhový bod"}},handlers:{circle:{tooltip:{start:"Kliknite a potiahnite, aby ste nakreslili kruh."},radius:"Polomer"},circlemarker:{tooltip:{start:"Kliknite na mapu aby ste umiestnili kruhový bod."}},marker:{tooltip:{start:"Kliknite na mapu aby ste umiestnili bod."}},polygon:{tooltip:{start:"Kliknite, aby ste začali kresliť útvar.",cont:"Kliknite, aby ste nakreslili ďalší bod útvaru.",end:"Kliknite na prvý bod, aby ste uzavreli útvar."}},polyline:{error:"<strong>Chyba:</strong> čiary sa nesmú pretínať!",tooltip:{start:"Kliknite, aby ste začali kresliť čiaru.",cont:"Kliknite, aby ste nakreslili ďalší bod čiary.",end:"Kliknite posledný bod, aby ste dokončili čiaru."}},rectangle:{tooltip:{start:"Kliknite a potiahnite, aby ste nakreslili štvorec."}},simpleshape:{tooltip:{end:"Uvoľnením tlačidla myši ukončíte kreslenie."}}}},edit:{toolbar:{actions:{save:{title:"Uložiť zmeny.",text:"Uložiť"},cancel:{title:"Ukončiť úpravu, zrušiť všetky zmeny.",text:"Zrušiť"},clearAll:{title:"Zmazať všetky vrstvy.",text:"Zmazať všetko"}},buttons:{edit:"Upraviť vrstvy.",editDisabled:"Žiadne vrstvy pre úpravu",remove:"Zmazať vrstvy.",removeDisabled:"Žiadne vrstvy pre zmazanie."}},handlers:{edit:{tooltip:{text:"Potiahnutím vyznačených štvorčekov, alebo bodov upravíte útvar.",subtext:"Kliknite zrušiť, pre zrušenie zmien."}},remove:{tooltip:{text:"Kliknite na útvar pre jeho zmazanie."}}}}},qr={draw:{toolbar:{actions:{title:"Скасувати креслення",text:"Скасувати"},finish:{title:"Завершити креслення",text:"Завершити"},undo:{title:"Видалити останню нанесену точку",text:"Видалити останню точку"},buttons:{polyline:"Накреслити криву",polygon:"Накреслити многокутник",rectangle:"Накреслити прямокутник",circle:"Накреслити коло",marker:"Розмістити маркер",circlemarker:"Розмістити маркер-коло"}},handlers:{circle:{tooltip:{start:"Натисніть і перетягуйте вказівник, щоб накреслити коло."},radius:"Радіус"},circlemarker:{tooltip:{start:"Натисніть на мапу, щоб розмістити маркер-коло."}},marker:{tooltip:{start:"Натисніть на мапу, щоб розмістити маркер."}},polygon:{tooltip:{start:"Натисніть, щоб накреслити фігуру.",cont:"Натисніть, щоб продовжити креслення фігури.",end:"Натисніть на першу точку, щоб замкнути цю фігуру."}},polyline:{error:"<strong>Помилка:</strong> сторони фігури не мають перетинатись!",tooltip:{start:"Натисніть, щоб накреслити лінію.",cont:"Натисніть, щоб продовжити креслення лінії.",end:"Натисніть на останню точку, щоб завершити лінію."}},rectangle:{tooltip:{start:"Натисніть і перетягуйте вказівник, щоб накреслити прямокутник."}},simpleshape:{tooltip:{end:"Відпустіть мишку, щоб завершити рисування."}}}},edit:{toolbar:{actions:{save:{title:"Зберегти зміни.",text:"Зберегти"},cancel:{title:"Припинити редагування, скасувати всі зміни.",text:"Скасувати"},clearAll:{title:"Очистити всі шари.",text:"Очистити все"}},buttons:{edit:"Редагувати шари.",editDisabled:"Немає шарів для редагування.",remove:"Видалити шари.",removeDisabled:"Немає шарів для видалення."}},handlers:{edit:{tooltip:{text:"Перетягуйте важелі або маркер для редагування фігури.",subtext:"Натисніть «Скасувати» для скасування змін."}},remove:{tooltip:{text:"Натисніть на фігуру для видалення"}}}}},Wr={draw:{toolbar:{actions:{title:"الغاء الرسم",text:"الغاء"},finish:{title:"انهاء الرسم",text:"انهاء"},undo:{title:"مسح اخر رسمة",text:"مسح اخر نقطة"},buttons:{polyline:"رسم خط",polygon:"رسم منطقة",rectangle:"رسم مستطيل",circle:"رسم دائرة",marker:"رسم علامة",circlemarker:"رسم علامة دائرة"}},handlers:{circle:{tooltip:{start:"اضغط واسحب لرسم دائرة"},radius:"القطر"},circlemarker:{tooltip:{start:"اضغط على الخريطة لرسم دائرة"}},marker:{tooltip:{start:"اضغط على الخريطة لرسم نقطة"}},polygon:{tooltip:{start:"اضغط لبدء رسم منطقة",cont:"اضغط لاستمرار رسم منطقة",end:"اضغط على اول نقطة لاكمال المنطقة"}},polyline:{error:"<strong>خطأ:</strong> لا يمكن تقاطع الخطوط",tooltip:{start:"اضغط لبدئ رسم الخط",cont:"اضغط لاستكمال رسم الخط",end:"اضغط على اخر نقطة للانهاء"}},rectangle:{tooltip:{start:"اضغط واسحب لرسم مستطيل"}},simpleshape:{tooltip:{end:"اترك الماوس للانهاء"}}}},edit:{toolbar:{actions:{save:{title:"حفظ التغييرات",text:"حفظ"},cancel:{title:"الغاء كل التعديلات",text:"الغاء"},clearAll:{title:"مسح كل الطبقات",text:"مسح الكل"}},buttons:{edit:"تعديل الطبقات",editDisabled:"لاتوجد طبقات للتعديل",remove:"مسح الطبقات",removeDisabled:"لا يوجد طبقات للمسح"}},handlers:{edit:{tooltip:{text:"اسحب للتعديل",subtext:"اضغط الغاء لمسح التعديلات"}},remove:{tooltip:{text:"اضغط على رسمة للمسح"}}}}},Kr={draw:{toolbar:{actions:{title:"取消绘制",text:"取消"},finish:{title:"结束绘制",text:"结束"},undo:{title:"删除最后一个绘制点",text:"删除最后一个点"},buttons:{polyline:"绘制折线",polygon:"绘制多边形",rectangle:"绘制矩形",circle:"绘制圆形",marker:"绘制标志物",circlemarker:"绘制圆形标志物"}},handlers:{circle:{tooltip:{start:"单击并拖拽绘制圆形"},radius:"半径"},circlemarker:{tooltip:{start:"单击地图放置圆形标志物"}},marker:{tooltip:{start:"单击地图放置标志物"}},polygon:{tooltip:{start:"单击地图绘制图形",cont:"继续单击绘制图形",end:"单击起始点结束绘制"}},polyline:{error:"<strong>错误:</strong> 图形边缘不能交叉!",tooltip:{start:"单击地图绘制折线",cont:"继续单击绘制下一段折线",end:"单击最后一个点结束绘制"}},rectangle:{tooltip:{start:"单击并拖拽绘制矩形"}},simpleshape:{tooltip:{end:"松开鼠标结束绘制"}}}},edit:{toolbar:{actions:{save:{title:"保存变更",text:"保存"},cancel:{title:"取消编辑,放弃所有变更",text:"取消"},clearAll:{title:"清除所有图形",text:"清除所有"}},buttons:{edit:"编辑图形",editDisabled:"无图形可编辑",remove:"删除图形",removeDisabled:"无图形可删除"}},handlers:{edit:{tooltip:{text:"拖拽线段或标志点以编辑图形",subtext:"点击<strong>取消</strong>按钮撤销变更"}},remove:{tooltip:{text:"单击图形以移除"}}}}},Vr={draw:{toolbar:{actions:{title:"Çizimi iptal et",text:"İptal"},finish:{title:"Çizimi Bitir",text:"Bitir"},undo:{title:"Çizilen son noktayı sil",text:"Son noktayı sil"},buttons:{polyline:"Çoklu çizgi çiz",polygon:"Çokgen çiz",rectangle:"Dikdörtgen çiz",circle:"Yuvarlak çiz",marker:"İşaretçi çiz",circlemarker:"Yuvarlak işaretçi çiz"}},handlers:{circle:{tooltip:{start:"Yuvarlak çizmek için tıklayın ve sürükleyin."},radius:"Çap"},circlemarker:{tooltip:{start:"Yuvarlak işaretçi yerleştirmek için haritaya tıklayın."}},marker:{tooltip:{start:"İşaretçi yerleştirmek için haritaya tıklayın."}},polygon:{tooltip:{start:"Şekil çizmeye başlamak için tıklayın.",cont:"Şekil çizmeye devam etmek için tıklayın.",end:"Bu şekli tamamlamak için ilk noktayı tıklayın."}},polyline:{error:"<strong>Hata:</strong> şekil kenarları kesişemez!",tooltip:{start:"Hat çizmeye başlamak için tıklayın.",cont:"Hat çizmeye devam etmek için tıklayın.",end:"Bu hattı tamamlamak için ilk noktayı tıklayın."}},rectangle:{tooltip:{start:"Dikdörtgen çizmek için tıklayın ve sürükleyin."}},simpleshape:{tooltip:{end:"Çizimi bitirmek için fareyi bırakın."}}}},edit:{toolbar:{actions:{save:{title:"Değişiklikleri kaydet.",text:"Kaydet"},cancel:{title:"Düzenlemeyi iptal et, tüm değişiklikleri çıkar.",text:"İptal"},clearAll:{title:"Tüm katmanları temizle.",text:"Hepsini temizle"}},buttons:{edit:"Katmanları düzenle.",editDisabled:"Düzenlenecek katman bulunamadı.",remove:"Katmanları sil.",removeDisabled:"Silinecek katman bulunamadı."}},handlers:{edit:{tooltip:{text:"Çizimi düzenlemek için köşeleri veya işaretçiyi sürükleyin.",subtext:"Değişiklikleri geri almak için iptale tıklayın."}},remove:{tooltip:{text:"Çizimi silmek için tıklayın"}}}}},Jr={draw:{toolbar:{actions:{title:"Anulați desenul",text:"Anulare"},finish:{title:"Terminați desenul",text:"Termina"},undo:{title:"Șterge ultimul punct desenat",text:"Șterge ultimul punct"},buttons:{polyline:"Desenați o polilinie",polygon:"Desenați un poligon",rectangle:"Desenați un dreptunghi",circle:"Desenează un cerc",marker:"Desenați un marker",circlemarker:"Desenați un marcator de cerc"}},handlers:{circle:{tooltip:{start:"Dați clic și trageți pentru a desena cerc."},radius:"Rază"},circlemarker:{tooltip:{start:"Dați clic pe hartă pentru a plasa marcatorul cercului."}},marker:{tooltip:{start:"Dați clic pe hartă pentru a plasa marcatorul."}},polygon:{tooltip:{start:"Dați clic pentru a începe desenarea parcelei",cont:"Dați clic pentru a continua desenarea parcelei",end:"Dați clic pe primul punct pentru a închide această parcelei."}},polyline:{error:"<strong>Eroare:</strong> marginile formei nu se pot traversa!",tooltip:{start:"Daţi clic pentru a începe să desenezi o linie.",cont:"Daţi clic pentru a continua să desenezi linia.",end:"Dați clic pe ultimul punct pentru a ajunge la linia de sosire."}},rectangle:{tooltip:{start:"Dați clic și trageți pentru a desena dreptunghi."}},simpleshape:{tooltip:{end:"Eliberați mouse-ul pentru a termina desenul."}}}},edit:{toolbar:{actions:{save:{title:"Salvează modificările.",text:"Salvați"},cancel:{title:"Anulează editarea, anulează toate modificările.",text:"Anulare"},clearAll:{title:"Ștergeți toate straturile.",text:"Curata tot"}},buttons:{edit:"Editați straturi.",editDisabled:"Fără straturi de editat.",remove:"Ștergeți straturile.",removeDisabled:"Nu există straturi de șters."}},handlers:{edit:{tooltip:{text:"Trageți mânerele sau marcatorul pentru a edita caracteristica.",subtext:"Dați clic pe Anulare pentru a anula modificările."}},remove:{tooltip:{text:"Dați clic pe o caracteristică pentru a o elimina"}}}}},Yr=function(s){var a=gn;switch(s.toLocaleLowerCase()){case"de":case"de-at":case"de-be":case"de-ch":case"de-de":case"de-li":case"de-lu":case"de-de.utf-8":case"german":a=Dr;break;case"en":case"en-us":case"en-ca":case"en-gb":case"en-us.utf-8":case"english":a=gn;break;case"ar":case"ar-ae":case"ar-eg":case"arabic":a=Wr;break;case"fi":case"fi-fi":case"fi-fi.utf-8":case"finnish":a=Ar;break;case"fr":case"fr-us":case"fr-ca":case"fr-us.utf-8":case"french":a=Ir;break;case"es":case"es-us":case"es-ca":case"es-us.utf-8":case"spanish":a=Or;break;case"sk":case"sk-sk":case"sk-sk.utf-8":case"slovak":a=Gr;break;case"pl":case"pl-pl":case"pl-pl.utf-8":case"polish":a=Ur;break;case"pt":case"pt-pt":case"pt-pt.utf-8":case"portuguese":a=Hr;break;case"uk":case"uk-ua":case"uk-ua.utf-8":case"ukrainian":a=qr;break;case"cs":case"cs-cz":case"cs-cz.utf-8":case"czech":a=zr;break;case"ru":case"ru-ru":case"ru-ru.utf-8":case"russian":a=jr;break;case"ka":case"ka-ka":case"ka-ka.utf-8":case"georgian":a=Nr;break;case"no":case"no-no":case"no-no.utf-8":case"norwegian":a=Zr;break;case"am":case"am-et":case"am-et.utf-8":case"amharic":a=Sr;break;case"nl":case"nl-nl":case"nl-nl.utf-8":case"nl-be":case"nl-be.utf-8":case"dutch":case"belgian":case"flemish":a=Fr;break;case"it":case"it-it":case"it-ch":case"it-it.utf-8":case"it-ch.utf-8":case"italiano":case"italian":a=Br;break;case"hu":case"hu-HU":case"hu-hu":case"hu-HU.utf-8":case"hu-hu.utf-8":case"magyar":case"hungarian":a=Rr;break;case"zh":case"zh-cn":case"zh-cn.utf-8":case"chinese":a=Kr;break;case"tr":case"tr-tr":case"tr-tr.utf-8":case"turkish":a=Vr;break;case"ro":case"ro-ro":case"ro-RO":case"ro-ro.utf-8":case"romanian":a=Jr;break;default:throw new Error("[language] not found")}try{L&&L.drawLocal&&(L.drawLocal=a)}catch{}return a};function vn(s,a){return function(){return s.apply(a,arguments)}}const{toString:Xr}=Object.prototype,{getPrototypeOf:ri}=Object,Ce=(s=>a=>{const h=Xr.call(a);return s[h]||(s[h]=h.slice(8,-1).toLowerCase())})(Object.create(null)),bt=s=>(s=s.toLowerCase(),a=>Ce(a)===s),Se=s=>a=>typeof a===s,{isArray:Vt}=Array,se=Se("undefined");function $r(s){return s!==null&&!se(s)&&s.constructor!==null&&!se(s.constructor)&&gt(s.constructor.isBuffer)&&s.constructor.isBuffer(s)}const yn=bt("ArrayBuffer");function Qr(s){let a;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?a=ArrayBuffer.isView(s):a=s&&s.buffer&&yn(s.buffer),a}const ts=Se("string"),gt=Se("function"),Ln=Se("number"),ze=s=>s!==null&&typeof s=="object",es=s=>s===!0||s===!1,De=s=>{if(Ce(s)!=="object")return!1;const a=ri(s);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(Symbol.toStringTag in s)&&!(Symbol.iterator in s)},is=bt("Date"),ns=bt("File"),os=bt("Blob"),rs=bt("FileList"),ss=s=>ze(s)&&gt(s.pipe),as=s=>{let a;return s&&(typeof FormData=="function"&&s instanceof FormData||gt(s.append)&&((a=Ce(s))==="formdata"||a==="object"&&gt(s.toString)&&s.toString()==="[object FormData]"))},ls=bt("URLSearchParams"),hs=s=>s.trim?s.trim():s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ae(s,a,{allOwnKeys:h=!1}={}){if(s===null||typeof s>"u")return;let u,n;if(typeof s!="object"&&(s=[s]),Vt(s))for(u=0,n=s.length;u<n;u++)a.call(null,s[u],u,s);else{const o=h?Object.getOwnPropertyNames(s):Object.keys(s),c=o.length;let f;for(u=0;u<c;u++)f=o[u],a.call(null,s[f],f,s)}}function wn(s,a){a=a.toLowerCase();const h=Object.keys(s);let u=h.length,n;for(;u-- >0;)if(n=h[u],a===n.toLowerCase())return n;return null}const kn=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),bn=s=>!se(s)&&s!==kn;function si(){const{caseless:s}=bn(this)&&this||{},a={},h=(u,n)=>{const o=s&&wn(a,n)||n;De(a[o])&&De(u)?a[o]=si(a[o],u):De(u)?a[o]=si({},u):Vt(u)?a[o]=u.slice():a[o]=u};for(let u=0,n=arguments.length;u<n;u++)arguments[u]&&ae(arguments[u],h);return a}const cs=(s,a,h,{allOwnKeys:u}={})=>(ae(a,(n,o)=>{h&&gt(n)?s[o]=vn(n,h):s[o]=n},{allOwnKeys:u}),s),us=s=>(s.charCodeAt(0)===65279&&(s=s.slice(1)),s),ds=(s,a,h,u)=>{s.prototype=Object.create(a.prototype,u),s.prototype.constructor=s,Object.defineProperty(s,"super",{value:a.prototype}),h&&Object.assign(s.prototype,h)},fs=(s,a,h,u)=>{let n,o,c;const f={};if(a=a||{},s==null)return a;do{for(n=Object.getOwnPropertyNames(s),o=n.length;o-- >0;)c=n[o],(!u||u(c,s,a))&&!f[c]&&(a[c]=s[c],f[c]=!0);s=h!==!1&&ri(s)}while(s&&(!h||h(s,a))&&s!==Object.prototype);return a},ps=(s,a,h)=>{s=String(s),(h===void 0||h>s.length)&&(h=s.length),h-=a.length;const u=s.indexOf(a,h);return u!==-1&&u===h},ms=s=>{if(!s)return null;if(Vt(s))return s;let a=s.length;if(!Ln(a))return null;const h=new Array(a);for(;a-- >0;)h[a]=s[a];return h},_s=(s=>a=>s&&a instanceof s)(typeof Uint8Array<"u"&&ri(Uint8Array)),gs=(s,a)=>{const u=(s&&s[Symbol.iterator]).call(s);let n;for(;(n=u.next())&&!n.done;){const o=n.value;a.call(s,o[0],o[1])}},vs=(s,a)=>{let h;const u=[];for(;(h=s.exec(a))!==null;)u.push(h);return u},ys=bt("HTMLFormElement"),Ls=s=>s.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(h,u,n){return u.toUpperCase()+n}),xn=(({hasOwnProperty:s})=>(a,h)=>s.call(a,h))(Object.prototype),ws=bt("RegExp"),Pn=(s,a)=>{const h=Object.getOwnPropertyDescriptors(s),u={};ae(h,(n,o)=>{let c;(c=a(n,o,s))!==!1&&(u[o]=c||n)}),Object.defineProperties(s,u)},ks=s=>{Pn(s,(a,h)=>{if(gt(s)&&["arguments","caller","callee"].indexOf(h)!==-1)return!1;const u=s[h];if(gt(u)){if(a.enumerable=!1,"writable"in a){a.writable=!1;return}a.set||(a.set=()=>{throw Error("Can not rewrite read-only method '"+h+"'")})}})},bs=(s,a)=>{const h={},u=n=>{n.forEach(o=>{h[o]=!0})};return Vt(s)?u(s):u(String(s).split(a)),h},xs=()=>{},Ps=(s,a)=>(s=+s,Number.isFinite(s)?s:a),ai="abcdefghijklmnopqrstuvwxyz",En="0123456789",Mn={DIGIT:En,ALPHA:ai,ALPHA_DIGIT:ai+ai.toUpperCase()+En},Es=(s=16,a=Mn.ALPHA_DIGIT)=>{let h="";const{length:u}=a;for(;s--;)h+=a[Math.random()*u|0];return h};function Ms(s){return!!(s&&gt(s.append)&&s[Symbol.toStringTag]==="FormData"&&s[Symbol.iterator])}const Ts=s=>{const a=new Array(10),h=(u,n)=>{if(ze(u)){if(a.indexOf(u)>=0)return;if(!("toJSON"in u)){a[n]=u;const o=Vt(u)?[]:{};return ae(u,(c,f)=>{const _=h(c,n+1);!se(_)&&(o[f]=_)}),a[n]=void 0,o}}return u};return h(s,0)},Cs=bt("AsyncFunction"),P={isArray:Vt,isArrayBuffer:yn,isBuffer:$r,isFormData:as,isArrayBufferView:Qr,isString:ts,isNumber:Ln,isBoolean:es,isObject:ze,isPlainObject:De,isUndefined:se,isDate:is,isFile:ns,isBlob:os,isRegExp:ws,isFunction:gt,isStream:ss,isURLSearchParams:ls,isTypedArray:_s,isFileList:rs,forEach:ae,merge:si,extend:cs,trim:hs,stripBOM:us,inherits:ds,toFlatObject:fs,kindOf:Ce,kindOfTest:bt,endsWith:ps,toArray:ms,forEachEntry:gs,matchAll:vs,isHTMLForm:ys,hasOwnProperty:xn,hasOwnProp:xn,reduceDescriptors:Pn,freezeMethods:ks,toObjectSet:bs,toCamelCase:Ls,noop:xs,toFiniteNumber:Ps,findKey:wn,global:kn,isContextDefined:bn,ALPHABET:Mn,generateString:Es,isSpecCompliantForm:Ms,toJSONObject:Ts,isAsyncFn:Cs,isThenable:s=>s&&(ze(s)||gt(s))&&gt(s.then)&&gt(s.catch)};function j(s,a,h,u,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=s,this.name="AxiosError",a&&(this.code=a),h&&(this.config=h),u&&(this.request=u),n&&(this.response=n)}P.inherits(j,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:P.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Tn=j.prototype,Cn={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(s=>{Cn[s]={value:s}}),Object.defineProperties(j,Cn),Object.defineProperty(Tn,"isAxiosError",{value:!0}),j.from=(s,a,h,u,n,o)=>{const c=Object.create(Tn);return P.toFlatObject(s,c,function(_){return _!==Error.prototype},f=>f!=="isAxiosError"),j.call(c,s.message,a,h,u,n),c.cause=s,c.name=s.name,o&&Object.assign(c,o),c};const Ss=null;function li(s){return P.isPlainObject(s)||P.isArray(s)}function Sn(s){return P.endsWith(s,"[]")?s.slice(0,-2):s}function zn(s,a,h){return s?s.concat(a).map(function(n,o){return n=Sn(n),!h&&o?"["+n+"]":n}).join(h?".":""):a}function zs(s){return P.isArray(s)&&!s.some(li)}const Ds=P.toFlatObject(P,{},null,function(a){return/^is[A-Z]/.test(a)});function Oe(s,a,h){if(!P.isObject(s))throw new TypeError("target must be an object");a=a||new FormData,h=P.toFlatObject(h,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,C){return!P.isUndefined(C[b])});const u=h.metaTokens,n=h.visitor||m,o=h.dots,c=h.indexes,_=(h.Blob||typeof Blob<"u"&&Blob)&&P.isSpecCompliantForm(a);if(!P.isFunction(n))throw new TypeError("visitor must be a function");function v(k){if(k===null)return"";if(P.isDate(k))return k.toISOString();if(!_&&P.isBlob(k))throw new j("Blob is not supported. Use a Buffer instead.");return P.isArrayBuffer(k)||P.isTypedArray(k)?_&&typeof Blob=="function"?new Blob([k]):Buffer.from(k):k}function m(k,b,C){let D=k;if(k&&!C&&typeof k=="object"){if(P.endsWith(b,"{}"))b=u?b:b.slice(0,-2),k=JSON.stringify(k);else if(P.isArray(k)&&zs(k)||(P.isFileList(k)||P.endsWith(b,"[]"))&&(D=P.toArray(k)))return b=Sn(b),D.forEach(function(M,I){!(P.isUndefined(M)||M===null)&&a.append(c===!0?zn([b],I,o):c===null?b:b+"[]",v(M))}),!1}return li(k)?!0:(a.append(zn(C,b,o),v(k)),!1)}const w=[],T=Object.assign(Ds,{defaultVisitor:m,convertValue:v,isVisitable:li});function O(k,b){if(!P.isUndefined(k)){if(w.indexOf(k)!==-1)throw Error("Circular reference detected in "+b.join("."));w.push(k),P.forEach(k,function(D,x){(!(P.isUndefined(D)||D===null)&&n.call(a,D,P.isString(x)?x.trim():x,b,T))===!0&&O(D,b?b.concat(x):[x])}),w.pop()}}if(!P.isObject(s))throw new TypeError("data must be an object");return O(s),a}function Dn(s){const a={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(s).replace(/[!'()~]|%20|%00/g,function(u){return a[u]})}function hi(s,a){this._pairs=[],s&&Oe(s,this,a)}const On=hi.prototype;On.append=function(a,h){this._pairs.push([a,h])},On.toString=function(a){const h=a?function(u){return a.call(this,u,Dn)}:Dn;return this._pairs.map(function(n){return h(n[0])+"="+h(n[1])},"").join("&")};function Os(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function An(s,a,h){if(!a)return s;const u=h&&h.encode||Os,n=h&&h.serialize;let o;if(n?o=n(a,h):o=P.isURLSearchParams(a)?a.toString():new hi(a,h).toString(u),o){const c=s.indexOf("#");c!==-1&&(s=s.slice(0,c)),s+=(s.indexOf("?")===-1?"?":"&")+o}return s}class As{constructor(){this.handlers=[]}use(a,h,u){return this.handlers.push({fulfilled:a,rejected:h,synchronous:u?u.synchronous:!1,runWhen:u?u.runWhen:null}),this.handlers.length-1}eject(a){this.handlers[a]&&(this.handlers[a]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(a){P.forEach(this.handlers,function(u){u!==null&&a(u)})}}const In=As,Rn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Is=typeof URLSearchParams<"u"?URLSearchParams:hi,Rs=typeof FormData<"u"?FormData:null,Bs=typeof Blob<"u"?Blob:null,Ns=(()=>{let s;return typeof navigator<"u"&&((s=navigator.product)==="ReactNative"||s==="NativeScript"||s==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Fs=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),xt={isBrowser:!0,classes:{URLSearchParams:Is,FormData:Rs,Blob:Bs},isStandardBrowserEnv:Ns,isStandardBrowserWebWorkerEnv:Fs,protocols:["http","https","file","blob","url","data"]};function Zs(s,a){return Oe(s,new xt.classes.URLSearchParams,Object.assign({visitor:function(h,u,n,o){return xt.isNode&&P.isBuffer(h)?(this.append(u,h.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},a))}function Us(s){return P.matchAll(/\w+|\[(\w*)]/g,s).map(a=>a[0]==="[]"?"":a[1]||a[0])}function Hs(s){const a={},h=Object.keys(s);let u;const n=h.length;let o;for(u=0;u<n;u++)o=h[u],a[o]=s[o];return a}function Bn(s){function a(h,u,n,o){let c=h[o++];const f=Number.isFinite(+c),_=o>=h.length;return c=!c&&P.isArray(n)?n.length:c,_?(P.hasOwnProp(n,c)?n[c]=[n[c],u]:n[c]=u,!f):((!n[c]||!P.isObject(n[c]))&&(n[c]=[]),a(h,u,n[c],o)&&P.isArray(n[c])&&(n[c]=Hs(n[c])),!f)}if(P.isFormData(s)&&P.isFunction(s.entries)){const h={};return P.forEachEntry(s,(u,n)=>{a(Us(u),n,h,0)}),h}return null}function js(s,a,h){if(P.isString(s))try{return(a||JSON.parse)(s),P.trim(s)}catch(u){if(u.name!=="SyntaxError")throw u}return(h||JSON.stringify)(s)}const ci={transitional:Rn,adapter:["xhr","http"],transformRequest:[function(a,h){const u=h.getContentType()||"",n=u.indexOf("application/json")>-1,o=P.isObject(a);if(o&&P.isHTMLForm(a)&&(a=new FormData(a)),P.isFormData(a))return n&&n?JSON.stringify(Bn(a)):a;if(P.isArrayBuffer(a)||P.isBuffer(a)||P.isStream(a)||P.isFile(a)||P.isBlob(a))return a;if(P.isArrayBufferView(a))return a.buffer;if(P.isURLSearchParams(a))return h.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),a.toString();let f;if(o){if(u.indexOf("application/x-www-form-urlencoded")>-1)return Zs(a,this.formSerializer).toString();if((f=P.isFileList(a))||u.indexOf("multipart/form-data")>-1){const _=this.env&&this.env.FormData;return Oe(f?{"files[]":a}:a,_&&new _,this.formSerializer)}}return o||n?(h.setContentType("application/json",!1),js(a)):a}],transformResponse:[function(a){const h=this.transitional||ci.transitional,u=h&&h.forcedJSONParsing,n=this.responseType==="json";if(a&&P.isString(a)&&(u&&!this.responseType||n)){const c=!(h&&h.silentJSONParsing)&&n;try{return JSON.parse(a)}catch(f){if(c)throw f.name==="SyntaxError"?j.from(f,j.ERR_BAD_RESPONSE,this,null,this.response):f}}return a}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:xt.classes.FormData,Blob:xt.classes.Blob},validateStatus:function(a){return a>=200&&a<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};P.forEach(["delete","get","head","post","put","patch"],s=>{ci.headers[s]={}});const ui=ci,Gs=P.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),qs=s=>{const a={};let h,u,n;return s&&s.split(`
14
- `).forEach(function(c){n=c.indexOf(":"),h=c.substring(0,n).trim().toLowerCase(),u=c.substring(n+1).trim(),!(!h||a[h]&&Gs[h])&&(h==="set-cookie"?a[h]?a[h].push(u):a[h]=[u]:a[h]=a[h]?a[h]+", "+u:u)}),a},Nn=Symbol("internals");function le(s){return s&&String(s).trim().toLowerCase()}function Ae(s){return s===!1||s==null?s:P.isArray(s)?s.map(Ae):String(s)}function Ws(s){const a=Object.create(null),h=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let u;for(;u=h.exec(s);)a[u[1]]=u[2];return a}const Ks=s=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(s.trim());function di(s,a,h,u,n){if(P.isFunction(u))return u.call(this,a,h);if(n&&(a=h),!!P.isString(a)){if(P.isString(u))return a.indexOf(u)!==-1;if(P.isRegExp(u))return u.test(a)}}function Vs(s){return s.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(a,h,u)=>h.toUpperCase()+u)}function Js(s,a){const h=P.toCamelCase(" "+a);["get","set","has"].forEach(u=>{Object.defineProperty(s,u+h,{value:function(n,o,c){return this[u].call(this,a,n,o,c)},configurable:!0})})}class Ie{constructor(a){a&&this.set(a)}set(a,h,u){const n=this;function o(f,_,v){const m=le(_);if(!m)throw new Error("header name must be a non-empty string");const w=P.findKey(n,m);(!w||n[w]===void 0||v===!0||v===void 0&&n[w]!==!1)&&(n[w||_]=Ae(f))}const c=(f,_)=>P.forEach(f,(v,m)=>o(v,m,_));return P.isPlainObject(a)||a instanceof this.constructor?c(a,h):P.isString(a)&&(a=a.trim())&&!Ks(a)?c(qs(a),h):a!=null&&o(h,a,u),this}get(a,h){if(a=le(a),a){const u=P.findKey(this,a);if(u){const n=this[u];if(!h)return n;if(h===!0)return Ws(n);if(P.isFunction(h))return h.call(this,n,u);if(P.isRegExp(h))return h.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(a,h){if(a=le(a),a){const u=P.findKey(this,a);return!!(u&&this[u]!==void 0&&(!h||di(this,this[u],u,h)))}return!1}delete(a,h){const u=this;let n=!1;function o(c){if(c=le(c),c){const f=P.findKey(u,c);f&&(!h||di(u,u[f],f,h))&&(delete u[f],n=!0)}}return P.isArray(a)?a.forEach(o):o(a),n}clear(a){const h=Object.keys(this);let u=h.length,n=!1;for(;u--;){const o=h[u];(!a||di(this,this[o],o,a,!0))&&(delete this[o],n=!0)}return n}normalize(a){const h=this,u={};return P.forEach(this,(n,o)=>{const c=P.findKey(u,o);if(c){h[c]=Ae(n),delete h[o];return}const f=a?Vs(o):String(o).trim();f!==o&&delete h[o],h[f]=Ae(n),u[f]=!0}),this}concat(...a){return this.constructor.concat(this,...a)}toJSON(a){const h=Object.create(null);return P.forEach(this,(u,n)=>{u!=null&&u!==!1&&(h[n]=a&&P.isArray(u)?u.join(", "):u)}),h}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([a,h])=>a+": "+h).join(`
15
- `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(a){return a instanceof this?a:new this(a)}static concat(a,...h){const u=new this(a);return h.forEach(n=>u.set(n)),u}static accessor(a){const u=(this[Nn]=this[Nn]={accessors:{}}).accessors,n=this.prototype;function o(c){const f=le(c);u[f]||(Js(n,c),u[f]=!0)}return P.isArray(a)?a.forEach(o):o(a),this}}Ie.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),P.reduceDescriptors(Ie.prototype,({value:s},a)=>{let h=a[0].toUpperCase()+a.slice(1);return{get:()=>s,set(u){this[h]=u}}}),P.freezeMethods(Ie);const zt=Ie;function fi(s,a){const h=this||ui,u=a||h,n=zt.from(u.headers);let o=u.data;return P.forEach(s,function(f){o=f.call(h,o,n.normalize(),a?a.status:void 0)}),n.normalize(),o}function Fn(s){return!!(s&&s.__CANCEL__)}function he(s,a,h){j.call(this,s??"canceled",j.ERR_CANCELED,a,h),this.name="CanceledError"}P.inherits(he,j,{__CANCEL__:!0});function Ys(s,a,h){const u=h.config.validateStatus;!h.status||!u||u(h.status)?s(h):a(new j("Request failed with status code "+h.status,[j.ERR_BAD_REQUEST,j.ERR_BAD_RESPONSE][Math.floor(h.status/100)-4],h.config,h.request,h))}const Xs=xt.isStandardBrowserEnv?function(){return{write:function(h,u,n,o,c,f){const _=[];_.push(h+"="+encodeURIComponent(u)),P.isNumber(n)&&_.push("expires="+new Date(n).toGMTString()),P.isString(o)&&_.push("path="+o),P.isString(c)&&_.push("domain="+c),f===!0&&_.push("secure"),document.cookie=_.join("; ")},read:function(h){const u=document.cookie.match(new RegExp("(^|;\\s*)("+h+")=([^;]*)"));return u?decodeURIComponent(u[3]):null},remove:function(h){this.write(h,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function $s(s){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(s)}function Qs(s,a){return a?s.replace(/\/+$/,"")+"/"+a.replace(/^\/+/,""):s}function Zn(s,a){return s&&!$s(a)?Qs(s,a):a}const ta=xt.isStandardBrowserEnv?function(){const a=/(msie|trident)/i.test(navigator.userAgent),h=document.createElement("a");let u;function n(o){let c=o;return a&&(h.setAttribute("href",c),c=h.href),h.setAttribute("href",c),{href:h.href,protocol:h.protocol?h.protocol.replace(/:$/,""):"",host:h.host,search:h.search?h.search.replace(/^\?/,""):"",hash:h.hash?h.hash.replace(/^#/,""):"",hostname:h.hostname,port:h.port,pathname:h.pathname.charAt(0)==="/"?h.pathname:"/"+h.pathname}}return u=n(window.location.href),function(c){const f=P.isString(c)?n(c):c;return f.protocol===u.protocol&&f.host===u.host}}():function(){return function(){return!0}}();function ea(s){const a=/^([-+\w]{1,25})(:?\/\/|:)/.exec(s);return a&&a[1]||""}function ia(s,a){s=s||10;const h=new Array(s),u=new Array(s);let n=0,o=0,c;return a=a!==void 0?a:1e3,function(_){const v=Date.now(),m=u[o];c||(c=v),h[n]=_,u[n]=v;let w=o,T=0;for(;w!==n;)T+=h[w++],w=w%s;if(n=(n+1)%s,n===o&&(o=(o+1)%s),v-c<a)return;const O=m&&v-m;return O?Math.round(T*1e3/O):void 0}}function Un(s,a){let h=0;const u=ia(50,250);return n=>{const o=n.loaded,c=n.lengthComputable?n.total:void 0,f=o-h,_=u(f),v=o<=c;h=o;const m={loaded:o,total:c,progress:c?o/c:void 0,bytes:f,rate:_||void 0,estimated:_&&c&&v?(c-o)/_:void 0,event:n};m[a?"download":"upload"]=!0,s(m)}}const pi={http:Ss,xhr:typeof XMLHttpRequest<"u"&&function(s){return new Promise(function(h,u){let n=s.data;const o=zt.from(s.headers).normalize(),c=s.responseType;let f;function _(){s.cancelToken&&s.cancelToken.unsubscribe(f),s.signal&&s.signal.removeEventListener("abort",f)}let v;P.isFormData(n)&&(xt.isStandardBrowserEnv||xt.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?P.isString(v=o.getContentType())&&o.setContentType(v.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let m=new XMLHttpRequest;if(s.auth){const k=s.auth.username||"",b=s.auth.password?unescape(encodeURIComponent(s.auth.password)):"";o.set("Authorization","Basic "+btoa(k+":"+b))}const w=Zn(s.baseURL,s.url);m.open(s.method.toUpperCase(),An(w,s.params,s.paramsSerializer),!0),m.timeout=s.timeout;function T(){if(!m)return;const k=zt.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),C={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:k,config:s,request:m};Ys(function(x){h(x),_()},function(x){u(x),_()},C),m=null}if("onloadend"in m?m.onloadend=T:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(T)},m.onabort=function(){m&&(u(new j("Request aborted",j.ECONNABORTED,s,m)),m=null)},m.onerror=function(){u(new j("Network Error",j.ERR_NETWORK,s,m)),m=null},m.ontimeout=function(){let b=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const C=s.transitional||Rn;s.timeoutErrorMessage&&(b=s.timeoutErrorMessage),u(new j(b,C.clarifyTimeoutError?j.ETIMEDOUT:j.ECONNABORTED,s,m)),m=null},xt.isStandardBrowserEnv){const k=(s.withCredentials||ta(w))&&s.xsrfCookieName&&Xs.read(s.xsrfCookieName);k&&o.set(s.xsrfHeaderName,k)}n===void 0&&o.setContentType(null),"setRequestHeader"in m&&P.forEach(o.toJSON(),function(b,C){m.setRequestHeader(C,b)}),P.isUndefined(s.withCredentials)||(m.withCredentials=!!s.withCredentials),c&&c!=="json"&&(m.responseType=s.responseType),typeof s.onDownloadProgress=="function"&&m.addEventListener("progress",Un(s.onDownloadProgress,!0)),typeof s.onUploadProgress=="function"&&m.upload&&m.upload.addEventListener("progress",Un(s.onUploadProgress)),(s.cancelToken||s.signal)&&(f=k=>{m&&(u(!k||k.type?new he(null,s,m):k),m.abort(),m=null)},s.cancelToken&&s.cancelToken.subscribe(f),s.signal&&(s.signal.aborted?f():s.signal.addEventListener("abort",f)));const O=ea(w);if(O&&xt.protocols.indexOf(O)===-1){u(new j("Unsupported protocol "+O+":",j.ERR_BAD_REQUEST,s));return}m.send(n||null)})}};P.forEach(pi,(s,a)=>{if(s){try{Object.defineProperty(s,"name",{value:a})}catch{}Object.defineProperty(s,"adapterName",{value:a})}});const Hn=s=>`- ${s}`,na=s=>P.isFunction(s)||s===null||s===!1,jn={getAdapter:s=>{s=P.isArray(s)?s:[s];const{length:a}=s;let h,u;const n={};for(let o=0;o<a;o++){h=s[o];let c;if(u=h,!na(h)&&(u=pi[(c=String(h)).toLowerCase()],u===void 0))throw new j(`Unknown adapter '${c}'`);if(u)break;n[c||"#"+o]=u}if(!u){const o=Object.entries(n).map(([f,_])=>`adapter ${f} `+(_===!1?"is not supported by the environment":"is not available in the build"));let c=a?o.length>1?`since :
16
- `+o.map(Hn).join(`
17
- `):" "+Hn(o[0]):"as no adapter specified";throw new j("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return u},adapters:pi};function mi(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new he(null,s)}function Gn(s){return mi(s),s.headers=zt.from(s.headers),s.data=fi.call(s,s.transformRequest),["post","put","patch"].indexOf(s.method)!==-1&&s.headers.setContentType("application/x-www-form-urlencoded",!1),jn.getAdapter(s.adapter||ui.adapter)(s).then(function(u){return mi(s),u.data=fi.call(s,s.transformResponse,u),u.headers=zt.from(u.headers),u},function(u){return Fn(u)||(mi(s),u&&u.response&&(u.response.data=fi.call(s,s.transformResponse,u.response),u.response.headers=zt.from(u.response.headers))),Promise.reject(u)})}const qn=s=>s instanceof zt?s.toJSON():s;function Jt(s,a){a=a||{};const h={};function u(v,m,w){return P.isPlainObject(v)&&P.isPlainObject(m)?P.merge.call({caseless:w},v,m):P.isPlainObject(m)?P.merge({},m):P.isArray(m)?m.slice():m}function n(v,m,w){if(P.isUndefined(m)){if(!P.isUndefined(v))return u(void 0,v,w)}else return u(v,m,w)}function o(v,m){if(!P.isUndefined(m))return u(void 0,m)}function c(v,m){if(P.isUndefined(m)){if(!P.isUndefined(v))return u(void 0,v)}else return u(void 0,m)}function f(v,m,w){if(w in a)return u(v,m);if(w in s)return u(void 0,v)}const _={url:o,method:o,data:o,baseURL:c,transformRequest:c,transformResponse:c,paramsSerializer:c,timeout:c,timeoutMessage:c,withCredentials:c,adapter:c,responseType:c,xsrfCookieName:c,xsrfHeaderName:c,onUploadProgress:c,onDownloadProgress:c,decompress:c,maxContentLength:c,maxBodyLength:c,beforeRedirect:c,transport:c,httpAgent:c,httpsAgent:c,cancelToken:c,socketPath:c,responseEncoding:c,validateStatus:f,headers:(v,m)=>n(qn(v),qn(m),!0)};return P.forEach(Object.keys(Object.assign({},s,a)),function(m){const w=_[m]||n,T=w(s[m],a[m],m);P.isUndefined(T)&&w!==f||(h[m]=T)}),h}const Wn="1.5.1",_i={};["object","boolean","number","function","string","symbol"].forEach((s,a)=>{_i[s]=function(u){return typeof u===s||"a"+(a<1?"n ":" ")+s}});const Kn={};_i.transitional=function(a,h,u){function n(o,c){return"[Axios v"+Wn+"] Transitional option '"+o+"'"+c+(u?". "+u:"")}return(o,c,f)=>{if(a===!1)throw new j(n(c," has been removed"+(h?" in "+h:"")),j.ERR_DEPRECATED);return h&&!Kn[c]&&(Kn[c]=!0,console.warn(n(c," has been deprecated since v"+h+" and will be removed in the near future"))),a?a(o,c,f):!0}};function oa(s,a,h){if(typeof s!="object")throw new j("options must be an object",j.ERR_BAD_OPTION_VALUE);const u=Object.keys(s);let n=u.length;for(;n-- >0;){const o=u[n],c=a[o];if(c){const f=s[o],_=f===void 0||c(f,o,s);if(_!==!0)throw new j("option "+o+" must be "+_,j.ERR_BAD_OPTION_VALUE);continue}if(h!==!0)throw new j("Unknown option "+o,j.ERR_BAD_OPTION)}}const gi={assertOptions:oa,validators:_i},Nt=gi.validators;class Re{constructor(a){this.defaults=a,this.interceptors={request:new In,response:new In}}request(a,h){typeof a=="string"?(h=h||{},h.url=a):h=a||{},h=Jt(this.defaults,h);const{transitional:u,paramsSerializer:n,headers:o}=h;u!==void 0&&gi.assertOptions(u,{silentJSONParsing:Nt.transitional(Nt.boolean),forcedJSONParsing:Nt.transitional(Nt.boolean),clarifyTimeoutError:Nt.transitional(Nt.boolean)},!1),n!=null&&(P.isFunction(n)?h.paramsSerializer={serialize:n}:gi.assertOptions(n,{encode:Nt.function,serialize:Nt.function},!0)),h.method=(h.method||this.defaults.method||"get").toLowerCase();let c=o&&P.merge(o.common,o[h.method]);o&&P.forEach(["delete","get","head","post","put","patch","common"],k=>{delete o[k]}),h.headers=zt.concat(c,o);const f=[];let _=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(h)===!1||(_=_&&b.synchronous,f.unshift(b.fulfilled,b.rejected))});const v=[];this.interceptors.response.forEach(function(b){v.push(b.fulfilled,b.rejected)});let m,w=0,T;if(!_){const k=[Gn.bind(this),void 0];for(k.unshift.apply(k,f),k.push.apply(k,v),T=k.length,m=Promise.resolve(h);w<T;)m=m.then(k[w++],k[w++]);return m}T=f.length;let O=h;for(w=0;w<T;){const k=f[w++],b=f[w++];try{O=k(O)}catch(C){b.call(this,C);break}}try{m=Gn.call(this,O)}catch(k){return Promise.reject(k)}for(w=0,T=v.length;w<T;)m=m.then(v[w++],v[w++]);return m}getUri(a){a=Jt(this.defaults,a);const h=Zn(a.baseURL,a.url);return An(h,a.params,a.paramsSerializer)}}P.forEach(["delete","get","head","options"],function(a){Re.prototype[a]=function(h,u){return this.request(Jt(u||{},{method:a,url:h,data:(u||{}).data}))}}),P.forEach(["post","put","patch"],function(a){function h(u){return function(o,c,f){return this.request(Jt(f||{},{method:a,headers:u?{"Content-Type":"multipart/form-data"}:{},url:o,data:c}))}}Re.prototype[a]=h(),Re.prototype[a+"Form"]=h(!0)});const Be=Re;class vi{constructor(a){if(typeof a!="function")throw new TypeError("executor must be a function.");let h;this.promise=new Promise(function(o){h=o});const u=this;this.promise.then(n=>{if(!u._listeners)return;let o=u._listeners.length;for(;o-- >0;)u._listeners[o](n);u._listeners=null}),this.promise.then=n=>{let o;const c=new Promise(f=>{u.subscribe(f),o=f}).then(n);return c.cancel=function(){u.unsubscribe(o)},c},a(function(o,c,f){u.reason||(u.reason=new he(o,c,f),h(u.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(a){if(this.reason){a(this.reason);return}this._listeners?this._listeners.push(a):this._listeners=[a]}unsubscribe(a){if(!this._listeners)return;const h=this._listeners.indexOf(a);h!==-1&&this._listeners.splice(h,1)}static source(){let a;return{token:new vi(function(n){a=n}),cancel:a}}}const ra=vi;function sa(s){return function(h){return s.apply(null,h)}}function aa(s){return P.isObject(s)&&s.isAxiosError===!0}const yi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(yi).forEach(([s,a])=>{yi[a]=s});const la=yi;function Vn(s){const a=new Be(s),h=vn(Be.prototype.request,a);return P.extend(h,Be.prototype,a,{allOwnKeys:!0}),P.extend(h,a,null,{allOwnKeys:!0}),h.create=function(n){return Vn(Jt(s,n))},h}const et=Vn(ui);et.Axios=Be,et.CanceledError=he,et.CancelToken=ra,et.isCancel=Fn,et.VERSION=Wn,et.toFormData=Oe,et.AxiosError=j,et.Cancel=et.CanceledError,et.all=function(a){return Promise.all(a)},et.spread=sa,et.isAxiosError=aa,et.mergeConfig=Jt,et.AxiosHeaders=zt,et.formToJSON=s=>Bn(P.isHTMLForm(s)?new FormData(s):s),et.getAdapter=jn.getAdapter,et.HttpStatusCode=la,et.default=et;const Jn=et;Z.Edit.Circle=Z.Edit.CircleMarker.extend({_createResizeMarker:function(){var s=this._shape.getLatLng(),a=this._getResizeMarkerPoint(s);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(a,this.options.resizeIcon))},_getResizeMarkerPoint:function(s){var a=this._shape._radius*Math.cos(Math.PI/4),h=this._map.project(s);return this._map.unproject([h.x+a,h.y-a])},_resize:function(s){var a=this._moveMarker.getLatLng(),h;Z.GeometryUtil.isVersion07x()?h=a.distanceTo(s):h=this._map.distance(a,s),this._shape.setRadius(h),this._map.fire(Z.Draw.Event.EDITRESIZE,{layer:this._shape})}});const ha=W.defineComponent({name:"MapView",props:{loadPolygon:Boolean,reverseCoordinatesPolygon:Boolean,dataPolygon:Object,configurationMap:Object,coordinatesMap:Array,getGeoJSON:Function,getCoodMarker:Function},data(){return{idMap:"",mapRender:null,markerRender:null,renderCoordinates:this.coordinatesMap,renderGeojson:this.dataPolygon,markerIcon:{iconUrl:Me,iconSize:[25,41],iconAnchor:[12,41]},layersFeatureGroup:null,featuresData:null}},mounted(){this.makeid(10),this.renderMap()},methods:{getLayersFeaturesInGeoJson(){const s=Z.geoJSON().addTo(this.mapRender);return this.featuresData.eachLayer(h=>{s.addLayer(h)}),[s.toGeoJSON()]},triggerSaveEdit(){var a,h,u;(u=(h=(a=(document.getElementsByClassName("leaflet-draw-actions leaflet-draw-actions-top")||document.getElementsByClassName("leaflet-draw-actions leaflet-draw-actions-top leaflet-draw-actions-bottom"))[0])==null?void 0:a.querySelector("li"))==null?void 0:h.querySelector("a"))==null||u.click()},makeid(s){let a="";const h="abcdefghijklmnopqrstuvwxyz",u=h.length;let n=0;for(;n<s;)a+=h.charAt(Math.floor(Math.random()*u)),n+=1;this.idMap=a},renderMap(){Yr("es"),setTimeout(()=>{this.loadPolygon?this.viewMap():this.createMap()},500)},createMap(){var c,f,_,v,m,w,T,O;const s=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const a=Z.map(this.idMap,{fullscreenControl:!0}).setView([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],this.renderCoordinates?this.renderCoordinates[2]:0);if(this.mapRender=a,Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(a),a.setZoom((c=this.configurationMap)==null?void 0:c.maxZoom),this.configurationMap.renderMarker){const k=Z.marker([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],{icon:Z.icon(s),draggable:this.configurationMap.dragMarker}).addTo(a);this.markerRender=k,this.getCoodMarker&&k.on("dragend",b=>{const C=b.target.getLatLng(),D=C.lat,x=C.lng;this.getCoodMarker&&this.getCoodMarker(D,x)})}const h=Z.featureGroup();this.featuresData=h;const u=h.addTo(a);let n={featureGroup:u,edit:!1,remove:(f=this.configurationMap)==null?void 0:f.editFigures.remove};(_=this.configurationMap)!=null&&_.editFigures.edit&&(n={featureGroup:u,...(v=this.configurationMap)==null?void 0:v.editFigures.edit,remove:(m=this.configurationMap)==null?void 0:m.editFigures.remove});const o=new Z.Control.Draw({position:"topleft",draw:{polygon:(w=this.configurationMap)==null?void 0:w.createFigures.polygon,circle:!1,rectangle:(T=this.configurationMap)!=null&&T.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(O=this.configurationMap)!=null&&O.createFigures.marker?{icon:Z.icon(s)}:!1,polyline:!1,circlemarker:!1},edit:n});a.addControl(o),a.on("draw:created",k=>{const b=k.layer;u.addLayer(b);const C=b.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([C])}),a.on("draw:edited",k=>{k.layers.eachLayer(C=>{const D=C.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([D])})})},viewMap(){var f,_,v,m,w,T,O,k;const s=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const a=Z.map(this.idMap,{fullscreenControl:!0}).setView([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],this.renderCoordinates?this.renderCoordinates[2]:0);this.mapRender=a,Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(a),a.setZoom((f=this.configurationMap)==null?void 0:f.maxZoom);const h=Z.featureGroup();this.featuresData=h;const u=h.addTo(a);let n={featureGroup:u,edit:!1,remove:(_=this.configurationMap)==null?void 0:_.editFigures.remove};(v=this.configurationMap)!=null&&v.editFigures.edit&&(n={featureGroup:u,...(m=this.configurationMap)==null?void 0:m.editFigures.edit,remove:(w=this.configurationMap)==null?void 0:w.editFigures.remove});const o=this.renderGeojson;if(o&&o.length){o.forEach(C=>{C.type==="FeatureCollection"?C.features.forEach(D=>{(D.geometry.type==="Polygon"||D.geometry.type==="MultiPolygon")&&Z.geoJson(D,{onEachFeature:function(x,M){u.addLayer(M)}})}):C.type==="Feature"&&(C.geometry.type==="Polygon"||C.geometry.type==="MultiPolygon")&&Z.geoJson(C,{onEachFeature:function(D,x){u.addLayer(x)}})});const b=u.getBounds();a.fitBounds(b)}const c=new Z.Control.Draw({position:"topleft",draw:{polygon:(T=this.configurationMap)==null?void 0:T.createFigures.polygon,circle:!1,rectangle:(O=this.configurationMap)!=null&&O.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(k=this.configurationMap)!=null&&k.createFigures.marker?{icon:Z.icon(s)}:!1,polyline:!1,circlemarker:!1},edit:n});a.addControl(c),a.on("draw:created",b=>{const C=b.layer;u.addLayer(C);const D=C.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(D)}),a.on("draw:edited",b=>{b.layers.eachLayer(D=>{const x=D.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(x)})})},async searchAddress(s){const a=await Jn.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:s,limit:1,format:"json"}});if(a.data.length===1){const h=parseFloat(a.data[0].lat),n={lng:parseFloat(a.data[0].lon),lat:h};return this.setCoordinates({...n,moveMarker:!0}),a.data[0]}return a.data},setCoordinates({lat:s,lng:a}){if(this.mapRender){const h=Z.latLng(s,a);this.mapRender.panTo(h,{animate:!0,duration:.5})}}},watch:{coordinatesMap(s){if(this.renderCoordinates=s,this.mapRender&&this.markerRender){const a=Z.latLng([s[0],s[1]]);this.mapRender.setView([s[0],s[1]],s[2]),this.markerRender.setLatLng(a)}},dataPolygon(s){this.renderGeojson=s}}}),ca=["id"];function ua(s,a,h,u,n,o){var c;return W.openBlock(),W.createElementBlock("div",{class:"map-container",style:W.normalizeStyle(`height:${(c=s.configurationMap)==null?void 0:c.height}`)},[W.createElementVNode("div",{id:s.idMap,style:{height:"100%"}},null,8,ca)],4)}const da=_n(ha,[["render",ua]]),fa=["id"],pa=W.defineComponent({__name:"MapSearchAddress",props:{configurationMap:{default:()=>({height:"250px",maxZoom:20,iconMarker:{iconUrl:Me,iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})},coordinatesMap:{default:()=>({lat:-19.0429,lng:-65.2554,zoom:12})}},emits:["updated:coordsMarker"],setup(s,{expose:a,emit:h}){const u=s,n=W.ref(),o=W.ref(u.coordinatesMap),c=W.ref(),f=W.ref();W.onMounted(async()=>{await _(10),await v()});const _=async k=>{let b="";const C="abcdefghijklmnopqrstuvwxyz",D=C.length;let x=0;for(;x<k;)b+=C.charAt(Math.floor(Math.random()*D)),x+=1;n.value=b},v=async()=>{await m()},m=async()=>{var C,D;const k=(C=u.configurationMap)==null?void 0:C.iconMarker,b=Z.map(n.value,{fullscreenControl:!0}).setView([o.value.lat,o.value.lng],o.value.zoom);if(b.invalidateSize(),c.value=b,Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:(D=u.configurationMap)==null?void 0:D.maxZoom,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(b),k.type==="image"){const x=Z.marker([o.value.lat,o.value.lng],{icon:Z.icon({iconUrl:k.iconUrl,iconAnchor:k.iconAnchor,iconSize:k.iconSize,className:k.class}),draggable:u.configurationMap.dragMarker}).addTo(b);f.value=x,x.on("dragend",M=>{const I=M.target.getLatLng(),B=I.lat,V=I.lng;T({lat:B,lng:V})})}else if(k.type==="svg"){const x=Z.marker([o.value.lat,o.value.lng],{icon:Z.divIcon({html:k.iconUrl,iconAnchor:k.iconAnchor,iconSize:k.iconSize,className:k.class}),draggable:u.configurationMap.dragMarker}).addTo(b);f.value=x,x.on("dragend",M=>{const I=M.target.getLatLng(),B=I.lat,V=I.lng;T({lat:B,lng:V})})}},w=async k=>{const b=await Jn.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:k,limit:1,format:"json"}});if(b.data.length===1){const C=parseFloat(b.data[0].lat),x={lng:parseFloat(b.data[0].lon),lat:C};return T({...x,moveMarker:!0}),b.data[0]}return b.data},T=({lat:k,lng:b,moveMarker:C=!1})=>{var D;h("updated:coordsMarker",{lat:k,lng:b}),C&&((D=f.value)==null||D.setLatLng({lat:k,lng:b})),O({lat:k,lng:b})},O=({lat:k,lng:b})=>{const C=Z.latLng(k,b);c.value.panTo(C,{animate:!0,duration:.5})};return a({searchAddress:w}),(k,b)=>{var C;return W.openBlock(),W.createElementBlock("div",{class:"map-container",style:W.normalizeStyle(`height:${(C=k.configurationMap)==null?void 0:C.height}`)},[W.createElementVNode("div",{id:n.value,style:{height:"100%"}},null,8,fa)],4)}}});(function(){function s(a){return this instanceof s?(this._canvas=a=typeof a=="string"?document.getElementById(a):a,this._ctx=a.getContext("2d"),this._width=a.width,this._height=a.height,this._max=1,void this.clear()):new s(a)}s.prototype={defaultRadius:25,defaultGradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},data:function(a,h){return this._data=a,this},max:function(a){return this._max=a,this},add:function(a){return this._data.push(a),this},clear:function(){return this._data=[],this},radius:function(a,h){h=h||15;var u=this._circle=document.createElement("canvas"),n=u.getContext("2d"),o=this._r=a+h;return u.width=u.height=2*o,n.shadowOffsetX=n.shadowOffsetY=200,n.shadowBlur=h,n.shadowColor="black",n.beginPath(),n.arc(o-200,o-200,a,0,2*Math.PI,!0),n.closePath(),n.fill(),this},gradient:function(a){var h=document.createElement("canvas"),u=h.getContext("2d"),n=u.createLinearGradient(0,0,0,256);h.width=1,h.height=256;for(var o in a)n.addColorStop(o,a[o]);return u.fillStyle=n,u.fillRect(0,0,1,256),this._grad=u.getImageData(0,0,1,256).data,this},draw:function(a){this._circle||this.radius(this.defaultRadius),this._grad||this.gradient(this.defaultGradient);var h=this._ctx;h.clearRect(0,0,this._width,this._height);for(var u,n=0,o=this._data.length;o>n;n++)u=this._data[n],h.globalAlpha=Math.max(u[2]/this._max,a||.05),h.drawImage(this._circle,u[0]-this._r,u[1]-this._r);var c=h.getImageData(0,0,this._width,this._height);return this._colorize(c.data,this._grad),h.putImageData(c,0,0),this},_colorize:function(a,h){for(var u,n=3,o=a.length;o>n;n+=4)u=4*a[n],u&&(a[n-3]=h[u],a[n-2]=h[u+1],a[n-1]=h[u+2])}},window.simpleheat=s})(),L.HeatLayer=(L.Layer?L.Layer:L.Class).extend({initialize:function(s,a){this._latlngs=s,L.setOptions(this,a)},setLatLngs:function(s){return this._latlngs=s,this.redraw()},addLatLng:function(s){return this._latlngs.push(s),this.redraw()},setOptions:function(s){return L.setOptions(this,s),this._heat&&this._updateOptions(),this.redraw()},redraw:function(){return!this._heat||this._frame||this._map._animating||(this._frame=L.Util.requestAnimFrame(this._redraw,this)),this},onAdd:function(s){this._map=s,this._canvas||this._initCanvas(),s._panes.overlayPane.appendChild(this._canvas),s.on("moveend",this._reset,this),s.options.zoomAnimation&&L.Browser.any3d&&s.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(s){s.getPanes().overlayPane.removeChild(this._canvas),s.off("moveend",this._reset,this),s.options.zoomAnimation&&s.off("zoomanim",this._animateZoom,this)},addTo:function(s){return s.addLayer(this),this},_initCanvas:function(){var s=this._canvas=L.DomUtil.create("canvas","leaflet-heatmap-layer leaflet-layer"),a=L.DomUtil.testProp(["transformOrigin","WebkitTransformOrigin","msTransformOrigin"]);s.style[a]="50% 50%";var h=this._map.getSize();s.width=h.x,s.height=h.y;var u=this._map.options.zoomAnimation&&L.Browser.any3d;L.DomUtil.addClass(s,"leaflet-zoom-"+(u?"animated":"hide")),this._heat=simpleheat(s),this._updateOptions()},_updateOptions:function(){this._heat.radius(this.options.radius||this._heat.defaultRadius,this.options.blur),this.options.gradient&&this._heat.gradient(this.options.gradient),this.options.max&&this._heat.max(this.options.max)},_reset:function(){var s=this._map.containerPointToLayerPoint([0,0]);L.DomUtil.setPosition(this._canvas,s);var a=this._map.getSize();this._heat._width!==a.x&&(this._canvas.width=this._heat._width=a.x),this._heat._height!==a.y&&(this._canvas.height=this._heat._height=a.y),this._redraw()},_redraw:function(){var s,a,h,u,n,o,c,f,_,v=[],m=this._heat._r,w=this._map.getSize(),T=new L.Bounds(L.point([-m,-m]),w.add([m,m])),O=this.options.max===void 0?1:this.options.max,k=this.options.maxZoom===void 0?this._map.getMaxZoom():this.options.maxZoom,b=1/Math.pow(2,Math.max(0,Math.min(k-this._map.getZoom(),12))),C=m/2,D=[],x=this._map._getMapPanePos(),M=x.x%C,I=x.y%C;for(s=0,a=this._latlngs.length;a>s;s++)if(h=this._map.latLngToContainerPoint(this._latlngs[s]),T.contains(h)){n=Math.floor((h.x-M)/C)+2,o=Math.floor((h.y-I)/C)+2;var B=this._latlngs[s].alt!==void 0?this._latlngs[s].alt:this._latlngs[s][2]!==void 0?+this._latlngs[s][2]:1;_=B*b,D[o]=D[o]||[],u=D[o][n],u?(u[0]=(u[0]*u[2]+h.x*_)/(u[2]+_),u[1]=(u[1]*u[2]+h.y*_)/(u[2]+_),u[2]+=_):D[o][n]=[h.x,h.y,_]}for(s=0,a=D.length;a>s;s++)if(D[s])for(c=0,f=D[s].length;f>c;c++)u=D[s][c],u&&v.push([Math.round(u[0]),Math.round(u[1]),Math.min(u[2],O)]);this._heat.data(v).draw(this.options.minOpacity),this._frame=null},_animateZoom:function(s){var a=this._map.getZoomScale(s.zoom),h=this._map._getCenterOffset(s.center)._multiplyBy(-a).subtract(this._map._getMapPanePos());L.DomUtil.setTransform?L.DomUtil.setTransform(this._canvas,h,a):this._canvas.style[L.DomUtil.TRANSFORM]=L.DomUtil.getTranslateString(h)+" scale("+a+")"}}),L.heatLayer=function(s,a){return new L.HeatLayer(s,a)};const ma=["id"],_a=W.defineComponent({__name:"MapHeatComponent",props:{configurationMap:{default:()=>({height:"250px",maxZoom:20,iconMarker:{iconUrl:Me,iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})},coordinatesMap:{default:()=>({lat:-19.0429,lng:-65.2554,zoom:12})},coordinatesMapHeat:{default:()=>[]}},emits:["updated:coordsMarker"],setup(s,{expose:a,emit:h}){const u=s,n=W.ref(),o=W.ref(u.coordinatesMap),c=W.ref(),f=W.ref();W.onMounted(async()=>{await _(10),await v()});const _=async k=>{let b="";const C="abcdefghijklmnopqrstuvwxyz",D=C.length;let x=0;for(;x<k;)b+=C.charAt(Math.floor(Math.random()*D)),x+=1;n.value=b},v=async()=>{await m()},m=async()=>{var D,x;const k=(D=u.configurationMap)==null?void 0:D.iconMarker,b=Z.map(n.value,{fullscreenControl:!0}).setView([o.value.lat,o.value.lng],o.value.zoom);b.invalidateSize(),c.value=b,Z.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:(x=u.configurationMap)==null?void 0:x.maxZoom,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(b);const C=u.coordinatesMapHeat.map(M=>[M.lat,M.lng,M.intensidad]);if(Z.heatLayer(C,{radius:25}).addTo(b),k.type==="image"){const M=Z.marker([o.value.lat,o.value.lng],{icon:Z.icon({iconUrl:k.iconUrl,iconAnchor:k.iconAnchor,iconSize:k.iconSize,className:k.class}),draggable:u.configurationMap.dragMarker}).addTo(b);f.value=M,M.on("dragend",I=>{const B=I.target.getLatLng(),V=B.lat,Q=B.lng;T({lat:V,lng:Q})})}else if(k.type==="svg"){const M=Z.marker([o.value.lat,o.value.lng],{icon:Z.divIcon({html:k.iconUrl,iconAnchor:k.iconAnchor,iconSize:k.iconSize,className:k.class}),draggable:u.configurationMap.dragMarker}).addTo(b);f.value=M,M.on("dragend",I=>{const B=I.target.getLatLng(),V=B.lat,Q=B.lng;T({lat:V,lng:Q})})}},w=async k=>{},T=({lat:k,lng:b,moveMarker:C=!1})=>{var D;h("updated:coordsMarker",{lat:k,lng:b}),C&&((D=f.value)==null||D.setLatLng({lat:k,lng:b})),O({lat:k,lng:b})},O=({lat:k,lng:b})=>{const C=Z.latLng(k,b);c.value.panTo(C,{animate:!0,duration:.5})};return a({searchAddress:w}),(k,b)=>{var C;return W.openBlock(),W.createElementBlock("div",{class:"map-container",style:W.normalizeStyle(`height:${(C=k.configurationMap)==null?void 0:C.height}`)},[W.createElementVNode("div",{id:n.value,style:{height:"100%"}},null,8,ma)],4)}}});pt.CoordinatesVerifyPolygon=Cr,pt.MapHeatComponent=_a,pt.MapSearchAddress=pa,pt.MapView=da,pt.listenServiceGoogleMaps=mr,pt.searchAutomaticGoogleMaps=gr,pt.searchManualGoogleMaps=_r,Object.defineProperty(pt,Symbol.toStringTag,{value:"Module"})});
13
+ */(function(t,e){r.exports?r.exports=e(Th(),Fg):e(t.L,t.screenfull)})(typeof self<"u"?self:qe,function(t,e){return t.Control.FullScreen=t.Control.extend({options:{position:"topleft",title:"Full Screen",titleCancel:"Exit Full Screen",forceSeparateButton:!1,forcePseudoFullscreen:!1,fullscreenElement:!1},_screenfull:e,onAdd:function(i){var n="leaflet-control-zoom-fullscreen",o,a="";return i.zoomControl&&!this.options.forceSeparateButton?o=i.zoomControl._container:o=t.DomUtil.create("div","leaflet-bar"),this.options.content?a=this.options.content:n+=" fullscreen-icon",this._createButton(this.options.title,n,a,o,this.toggleFullScreen,this),this._map.fullscreenControl=this,this._map.on("enterFullscreen exitFullscreen",this._toggleState,this),o},onRemove:function(){t.DomEvent.off(this.link,"click",t.DomEvent.stop).off(this.link,"click",this.toggleFullScreen,this),this._screenfull.isEnabled&&(t.DomEvent.off(this._container,this._screenfull.raw.fullscreenchange,t.DomEvent.stop).off(this._container,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,this),t.DomEvent.off(document,this._screenfull.raw.fullscreenchange,t.DomEvent.stop).off(document,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,this))},_createButton:function(i,n,o,a,h,c){return this.link=t.DomUtil.create("a",n,a),this.link.href="#",this.link.title=i,this.link.innerHTML=o,this.link.setAttribute("role","button"),this.link.setAttribute("aria-label",i),L.DomEvent.disableClickPropagation(a),t.DomEvent.on(this.link,"click",t.DomEvent.stop).on(this.link,"click",h,c),this._screenfull.isEnabled&&(t.DomEvent.on(a,this._screenfull.raw.fullscreenchange,t.DomEvent.stop).on(a,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,c),t.DomEvent.on(document,this._screenfull.raw.fullscreenchange,t.DomEvent.stop).on(document,this._screenfull.raw.fullscreenchange,this._handleFullscreenChange,c)),this.link},toggleFullScreen:function(){var i=this._map;i._exitFired=!1,i._isFullscreen?(this._screenfull.isEnabled&&!this.options.forcePseudoFullscreen?this._screenfull.exit():(t.DomUtil.removeClass(this.options.fullscreenElement?this.options.fullscreenElement:i._container,"leaflet-pseudo-fullscreen"),i.invalidateSize()),i.fire("exitFullscreen"),i._exitFired=!0,i._isFullscreen=!1):(this._screenfull.isEnabled&&!this.options.forcePseudoFullscreen?this._screenfull.request(this.options.fullscreenElement?this.options.fullscreenElement:i._container):(t.DomUtil.addClass(this.options.fullscreenElement?this.options.fullscreenElement:i._container,"leaflet-pseudo-fullscreen"),i.invalidateSize()),i.fire("enterFullscreen"),i._isFullscreen=!0)},_toggleState:function(){this.link.title=this._map._isFullscreen?this.options.title:this.options.titleCancel,this._map._isFullscreen?L.DomUtil.removeClass(this.link,"leaflet-fullscreen-on"):L.DomUtil.addClass(this.link,"leaflet-fullscreen-on")},_handleFullscreenChange:function(){var i=this._map;i.invalidateSize(),!this._screenfull.isFullscreen&&!i._exitFired&&(i.fire("exitFullscreen"),i._exitFired=!0,i._isFullscreen=!1)}}),t.Map.include({toggleFullscreen:function(){this.fullscreenControl.toggleFullScreen()}}),t.Map.addInitHook(function(){this.options.fullscreenControl&&this.addControl(t.control.fullscreen(this.options.fullscreenControlOptions))}),t.control.fullscreen=function(i){return new t.Control.FullScreen(i)},{leaflet:t,screenfull:e}})})(Og);const zg=G.defineComponent({name:"CoordinatesVerifyPolygon",props:{dataPolygon:Object,iconMarker:Object,coordinatesMap:Array,checkPointInPolygon:Function},data(){return{markerIconDefault:{iconUrl:Jo,iconSize:[25,41],iconAnchor:[12,41]}}},mounted(){this.verificarPuntoEnPoligono()},methods:{verificarPuntoEnPoligono(){var f;const r=this.iconMarker?this.iconMarker:this.markerIconDefault,t=(f=this.dataPolygon)==null?void 0:f.geometry.coordinates[0].map(_=>[_[1],_[0]]),e=JSON.parse(JSON.stringify(t)),i=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],n=pt.map("maps",{fullscreenControl:!0}).setView([this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],this.coordinatesMap?this.coordinatesMap[2]:0);pt.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(n),pt.polygon(e).addTo(n);const o=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],a=pt.icon(r);pt.marker(o,{icon:a}).addTo(n);const h=ag(i),c=lg([t]),d=yg(h,c);this.checkPointInPolygon&&this.checkPointInPolygon(d)}}}),RL="",ra=(r,t)=>{const e=r.__vccOpts||r;for(const[i,n]of t)e[i]=n;return e},Ng={ref:"maps",id:"maps"};function Bg(r,t,e,i,n,o){return G.openBlock(),G.createElementBlock("div",Ng,null,512)}const Gg=ra(zg,[["render",Bg]]);(function(r,t,e){function i(n,o){for(;(n=n.parentElement)&&!n.classList.contains(o););return n}L.drawVersion="1.0.4",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(n,o){this._map=n,this._container=n._container,this._overlayPane=n._panes.overlayPane,this._popupPane=n._panes.popupPane,o&&o.shapeOptions&&(o.shapeOptions=L.Util.extend({},this.options.shapeOptions,o.shapeOptions)),L.setOptions(this,o);var a=L.version.split(".");parseInt(a[0],10)===1&&parseInt(a[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(L.DomUtil.disableTextSelection(),n.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(n){L.setOptions(this,n)},_fireCreatedEvent:function(n){this._map.fire(L.Draw.Event.CREATED,{layer:n,layerType:this.type})},_cancelDrawing:function(n){n.keyCode===27&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(n,o){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,o&&o.drawError&&(o.drawError=L.Util.extend({},this.options.drawError,o.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var n=this._markers.pop(),o=this._poly,a=o.getLatLngs(),h=a.splice(-1,1)[0];this._poly.setLatLngs(a),this._markerGroup.removeLayer(n),o.getLatLngs().length<2&&this._map.removeLayer(o),this._vertexChanged(h,!1)}},addVertex:function(n){if(this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(n))return void this._showErrorTooltip();this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(n)),this._poly.addLatLng(n),this._poly.getLatLngs().length===2&&this._map.addLayer(this._poly),this._vertexChanged(n,!0)},completeShape:function(){this._markers.length<=1||!this._shapeIsValid()||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var n=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),o=this._poly.newLatLngIntersects(n[n.length-1]);if(!this.options.allowIntersection&&o||!this._shapeIsValid())return void this._showErrorTooltip();this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_shapeIsValid:function(){return!0},_onZoomEnd:function(){this._markers!==null&&this._updateGuide()},_onMouseMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent),a=this._map.layerPointToLatLng(o);this._currentLatLng=a,this._updateTooltip(a),this._updateGuide(o),this._mouseMarker.setLatLng(a),L.DomEvent.preventDefault(n.originalEvent)},_vertexChanged:function(n,o){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(n,o),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(n){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(n),this._clickHandled=!0,this._disableNewMarkers();var o=n.originalEvent,a=o.clientX,h=o.clientY;this._startPoint.call(this,a,h)}},_startPoint:function(n,o){this._mouseDownOrigin=L.point(n,o)},_onMouseUp:function(n){var o=n.originalEvent,a=o.clientX,h=o.clientY;this._endPoint.call(this,a,h,n),this._clickHandled=null},_endPoint:function(n,o,a){if(this._mouseDownOrigin){var h=L.point(n,o).distanceTo(this._mouseDownOrigin),c=this._calculateFinishDistance(a.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(a.latlng),this._finishShape()):c<10&&L.Browser.touch?this._finishShape():Math.abs(h)<9*(r.devicePixelRatio||1)&&this.addVertex(a.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(n){var o,a,h=n.originalEvent;!h.touches||!h.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(o=h.touches[0].clientX,a=h.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,o,a),this._endPoint.call(this,o,a,n),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(n){var o;if(this._markers.length>0){var a;if(this.type===L.Draw.Polyline.TYPE)a=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;a=this._markers[0]}var h=this._map.latLngToContainerPoint(a.getLatLng()),c=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),d=this._map.latLngToContainerPoint(c.getLatLng());o=h.distanceTo(d)}else o=1/0;return o},_updateFinishHandler:function(){var n=this._markers.length;n>1&&this._markers[n-1].on("click",this._finishShape,this),n>2&&this._markers[n-2].off("click",this._finishShape,this)},_createMarker:function(n){var o=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(o),o},_updateGuide:function(n){var o=this._markers?this._markers.length:0;o>0&&(n=n||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[o-1].getLatLng()),n))},_updateTooltip:function(n){var o=this._getTooltipText();n&&this._tooltip.updatePosition(n),this._errorShown||this._tooltip.updateContent(o)},_drawGuide:function(n,o){var a,h,c,d=Math.floor(Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2))),f=this.options.guidelineDistance,_=this.options.maxGuideLineLength,m=d>_?d-_:f;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));m<d;m+=this.options.guidelineDistance)a=m/d,h={x:Math.floor(n.x*(1-a)+a*o.x),y:Math.floor(n.y*(1-a)+a*o.y)},c=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer),c.style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(c,h)},_updateGuideColor:function(n){if(this._guidesContainer)for(var o=0,a=this._guidesContainer.childNodes.length;o<a;o++)this._guidesContainer.childNodes[o].style.backgroundColor=n},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var n,o,a=this.options.showLength;return this._markers.length===0?n={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(o=a?this._getMeasurementString():"",n=this._markers.length===1?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:o}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:o}),n},_updateRunningMeasure:function(n,o){var a,h,c=this._markers.length;this._markers.length===1?this._measurementRunningTotal=0:(a=c-(o?2:1),h=L.GeometryUtil.isVersion07x()?n.distanceTo(this._markers[a].getLatLng())*(this.options.factor||1):this._map.distance(n,this._markers[a].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=h*(o?1:-1))},_getMeasurementString:function(){var n,o=this._currentLatLng,a=this._markers[this._markers.length-1].getLatLng();return n=L.GeometryUtil.isVersion07x()?a&&o&&o.distanceTo?this._measurementRunningTotal+o.distanceTo(a)*(this.options.factor||1):this._measurementRunningTotal||0:a&&o?this._measurementRunningTotal+this._map.distance(o,a)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(n,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var n=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(n,o){L.Draw.Polyline.prototype.initialize.call(this,n,o),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var n=this._markers.length;n===1&&this._markers[0].on("click",this._finishShape,this),n>2&&(this._markers[n-1].on("dblclick",this._finishShape,this),n>3&&this._markers[n-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var n,o;return this._markers.length===0?n=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(n=L.drawLocal.draw.handlers.polygon.tooltip.cont,o=this._getMeasurementString()):(n=L.drawLocal.draw.handlers.polygon.tooltip.end,o=this._getMeasurementString()),{text:n,subtext:o}},_getMeasurementString:function(){var n=this._area,o="";return n||this.options.showLength?(this.options.showLength&&(o=L.Draw.Polyline.prototype._getMeasurementString.call(this)),n&&(o+="<br>"+L.GeometryUtil.readableArea(n,this.options.metric,this.options.precision)),o):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(n,o){var a;!this.options.allowIntersection&&this.options.showArea&&(a=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(a)),L.Draw.Polyline.prototype._vertexChanged.call(this,n,o)},_cleanUpShape:function(){var n=this._markers.length;n>0&&(this._markers[0].off("click",this._finishShape,this),n>2&&this._markers[n-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(n,o){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),t.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(t,"mouseup",this._onMouseUp,this),L.DomEvent.off(t,"touchend",this._onMouseUp,this),t.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(n){this._isDrawing=!0,this._startLatLng=n.latlng,L.DomEvent.on(t,"mouseup",this._onMouseUp,this).on(t,"touchend",this._onMouseUp,this).preventDefault(n.originalEvent)},_onMouseMove:function(n){var o=n.latlng;this._tooltip.updatePosition(o),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(o))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showArea:!0,metric:!0},initialize:function(n,o){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,o)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(n){if(!this._shape&&!this._isCurrentlyTwoClickDrawing)return void(this._isCurrentlyTwoClickDrawing=!0);this._isCurrentlyTwoClickDrawing&&!i(n.target,"leaflet-pane")||L.Draw.SimpleShape.prototype._onMouseUp.call(this)},_drawShape:function(n){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,n)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,n),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_getTooltipText:function(){var n,o,a,h=L.Draw.SimpleShape.prototype._getTooltipText.call(this),c=this._shape,d=this.options.showArea;return c&&(n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),o=L.GeometryUtil.geodesicArea(n),a=d?L.GeometryUtil.readableArea(o,this.options.metric):""),{text:h.text,subtext:a}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(n,o){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,o)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(n){var o=n.latlng;this._tooltip.updatePosition(o),this._mouseMarker.setLatLng(o),this._marker?(o=this._mouseMarker.getLatLng(),this._marker.setLatLng(o)):(this._marker=this._createMarker(o),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(n){return new L.Marker(n,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(n){this._onMouseMove(n),this._onClick()},_fireCreatedEvent:function(){var n=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(n,o){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,o)},_fireCreatedEvent:function(){var n=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,n)},_createMarker:function(n){return new L.CircleMarker(n,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(n,o){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,o)},_drawShape:function(n){if(L.GeometryUtil.isVersion07x())var o=this._startLatLng.distanceTo(n);else var o=this._map.distance(this._startLatLng,n);this._shape?this._shape.setRadius(o):(this._shape=new L.Circle(this._startLatLng,o,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var n=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,n)},_onMouseMove:function(n){var o,a=n.latlng,h=this.options.showRadius,c=this.options.metric;if(this._tooltip.updatePosition(a),this._isDrawing){this._drawShape(a),o=this._shape.getRadius().toFixed(1);var d="";h&&(d=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(o,c,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:d})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(n,o){this._marker=n,L.setOptions(this,o)},addHooks:function(){var n=this._marker;n.dragging.enable(),n.on("dragend",this._onDragEnd,n),this._toggleMarkerHighlight()},removeHooks:function(){var n=this._marker;n.dragging.disable(),n.off("dragend",this._onDragEnd,n),this._toggleMarkerHighlight()},_onDragEnd:function(n){var o=n.target;o.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:o})},_toggleMarkerHighlight:function(){var n=this._marker._icon;n&&(n.style.display="none",L.DomUtil.hasClass(n,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,-4)):(L.DomUtil.addClass(n,"leaflet-edit-marker-selected"),this._offsetMarker(n,4)),n.style.display="")},_offsetMarker:function(n,o){var a=parseInt(n.style.marginTop,10)-o,h=parseInt(n.style.marginLeft,10)-o;n.style.marginTop=a+"px",n.style.marginLeft=h+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(n){this.latlngs=[n._latlngs],n._holes&&(this.latlngs=this.latlngs.concat(n._holes)),this._poly=n,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(n){for(var o=0;o<this._verticesHandlers.length;o++)n(this._verticesHandlers[o])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(n){n.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(n){n.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(n){n.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var n=0;n<this.latlngs.length;n++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[n],this._poly.options.poly))},_updateLatLngs:function(n){this.latlngs=[n.layer._latlngs],n.layer._holes&&(this.latlngs=this.latlngs.concat(n.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(n,o,a){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=n,a&&a.drawError&&(a.drawError=L.Util.extend({},this.options.drawError,a.drawError)),this._latlngs=o,L.setOptions(this,a)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var n=this._poly,o=n._path;n instanceof L.Polygon||(n.options.fill=!1,n.options.editing&&(n.options.editing.fill=!1)),o&&n.options.editing&&n.options.editing.className&&(n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.removeClass(o,a)}),n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.addClass(o,a)})),n.setStyle(n.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var n=this._poly,o=n._path;o&&n.options.editing&&n.options.editing.className&&(n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.removeClass(o,a)}),n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.addClass(o,a)})),n.setStyle(n.options.original),n._map&&(n._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var n,o,a,h,c=this._defaultShape();for(n=0,a=c.length;n<a;n++)h=this._createMarker(c[n],n),h.on("click",this._onMarkerClick,this),h.on("contextmenu",this._onContextMenu,this),this._markers.push(h);var d,f;for(n=0,o=a-1;n<a;o=n++)(n!==0||L.Polygon&&this._poly instanceof L.Polygon)&&(d=this._markers[o],f=this._markers[n],this._createMiddleMarker(d,f),this._updatePrevNext(d,f))},_createMarker:function(n,o){var a=new L.Marker.Touch(n,{draggable:!0,icon:this.options.icon});return a._origLatLng=n,a._index=o,a.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(a),a},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var n=this._defaultShape(),o=[].splice.apply(n,arguments);return this._poly._convertLatLngs(n,!0),this._poly.redraw(),o},_removeMarker:function(n){var o=n._index;this._markerGroup.removeLayer(n),this._markers.splice(o,1),this._spliceLatLngs(o,1),this._updateIndexes(o,-1),n.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(n){var o=n.target,a=this._poly,h=L.LatLngUtil.cloneLatLng(o._origLatLng);if(L.extend(o._origLatLng,o._latlng),a.options.poly){var c=a._map._editTooltip;if(!a.options.poly.allowIntersection&&a.intersects()){L.extend(o._origLatLng,h),o.setLatLng(h);var d=a.options.color;a.setStyle({color:this.options.drawError.color}),c&&c.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){a.setStyle({color:d}),c&&c.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}o._middleLeft&&o._middleLeft.setLatLng(this._getMiddleLatLng(o._prev,o)),o._middleRight&&o._middleRight.setLatLng(this._getMiddleLatLng(o,o._next)),this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var f=this._poly.getLatLngs();this._poly._convertLatLngs(f,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(n){var o=L.Polygon&&this._poly instanceof L.Polygon?4:3,a=n.target;this._defaultShape().length<o||(this._removeMarker(a),this._updatePrevNext(a._prev,a._next),a._middleLeft&&this._markerGroup.removeLayer(a._middleLeft),a._middleRight&&this._markerGroup.removeLayer(a._middleRight),a._prev&&a._next?this._createMiddleMarker(a._prev,a._next):a._prev?a._next||(a._prev._middleRight=null):a._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(n){var o=n.target;this._poly,this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:o,layers:this._markerGroup,poly:this._poly}),L.DomEvent.stopPropagation},_onTouchMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(o),h=n.target;L.extend(h._origLatLng,a),h._middleLeft&&h._middleLeft.setLatLng(this._getMiddleLatLng(h._prev,h)),h._middleRight&&h._middleRight.setLatLng(this._getMiddleLatLng(h,h._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(n,o){this._markerGroup.eachLayer(function(a){a._index>n&&(a._index+=o)})},_createMiddleMarker:function(n,o){var a,h,c,d=this._getMiddleLatLng(n,o),f=this._createMarker(d);f.setOpacity(.6),n._middleRight=o._middleLeft=f,h=function(){f.off("touchmove",h,this);var _=o._index;f._index=_,f.off("click",a,this).on("click",this._onMarkerClick,this),d.lat=f.getLatLng().lat,d.lng=f.getLatLng().lng,this._spliceLatLngs(_,0,d),this._markers.splice(_,0,f),f.setOpacity(1),this._updateIndexes(_,1),o._index++,this._updatePrevNext(n,f),this._updatePrevNext(f,o),this._poly.fire("editstart")},c=function(){f.off("dragstart",h,this),f.off("dragend",c,this),f.off("touchmove",h,this),this._createMiddleMarker(n,f),this._createMiddleMarker(f,o)},a=function(){h.call(this),c.call(this),this._fireEdit()},f.on("click",a,this).on("dragstart",h,this).on("dragend",c,this).on("touchmove",h,this),this._markerGroup.addLayer(f)},_updatePrevNext:function(n,o){n&&(n._next=o),o&&(o._prev=n)},_getMiddleLatLng:function(n,o){var a=this._poly._map,h=a.project(n.getLatLng()),c=a.project(o.getLatLng());return a.unproject(h._add(c)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(n,o){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=n,L.Util.setOptions(this,o)},addHooks:function(){var n=this._shape;this._shape._map&&(this._map=this._shape._map,n.setStyle(n.options.editing),n._map&&(this._map=n._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var n=this._shape;if(n.setStyle(n.options.original),n._map){this._unbindMarker(this._moveMarker);for(var o=0,a=this._resizeMarkers.length;o<a;o++)this._unbindMarker(this._resizeMarkers[o]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(n,o){var a=new L.Marker.Touch(n,{draggable:!0,icon:o,zIndexOffset:10});return this._bindMarker(a),this._markerGroup.addLayer(a),a},_bindMarker:function(n){n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(n){n.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(n){n.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(n){var o=n.target,a=o.getLatLng();o===this._moveMarker?this._move(a):this._resize(a),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(n){n.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(n){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n),typeof this._getCorners=="function"){var o=this._getCorners(),a=n.target,h=a._cornerIndex;a.setOpacity(0),this._oppositeCorner=o[(h+2)%4],this._toggleCornerMarkers(0,h)}this._shape.fire("editstart")},_onTouchMove:function(n){var o=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(o);return n.target===this._moveMarker?this._move(a):this._resize(a),this._shape.redraw(),!1},_onTouchEnd:function(n){n.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getBounds(),o=n.getCenter();this._moveMarker=this._createMarker(o,this.options.moveIcon)},_createResizeMarker:function(){var n=this._getCorners();this._resizeMarkers=[];for(var o=0,a=n.length;o<a;o++)this._resizeMarkers.push(this._createMarker(n[o],this.options.resizeIcon)),this._resizeMarkers[o]._cornerIndex=o},_onMarkerDragStart:function(n){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n);var o=this._getCorners(),a=n.target,h=a._cornerIndex;this._oppositeCorner=o[(h+2)%4],this._toggleCornerMarkers(0,h)},_onMarkerDragEnd:function(n){var o,a,h=n.target;h===this._moveMarker&&(o=this._shape.getBounds(),a=o.getCenter(),h.setLatLng(a)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,n)},_move:function(n){for(var o,a=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),h=this._shape.getBounds(),c=h.getCenter(),d=[],f=0,_=a.length;f<_;f++)o=[a[f].lat-c.lat,a[f].lng-c.lng],d.push([n.lat+o[0],n.lng+o[1]]);this._shape.setLatLngs(d),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(n){var o;this._shape.setBounds(L.latLngBounds(n,this._oppositeCorner)),o=this._shape.getBounds(),this._moveMarker.setLatLng(o.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var n=this._shape.getBounds();return[n.getNorthWest(),n.getNorthEast(),n.getSouthEast(),n.getSouthWest()]},_toggleCornerMarkers:function(n){for(var o=0,a=this._resizeMarkers.length;o<a;o++)this._resizeMarkers[o].setOpacity(n)},_repositionCornerMarkers:function(){for(var n=this._getCorners(),o=0,a=this._resizeMarkers.length;o<a;o++)this._resizeMarkers[o].setLatLng(n[o])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var n=this._shape.getLatLng();this._moveMarker=this._createMarker(n,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(n){if(this._resizeMarkers.length){var o=this._getResizeMarkerPoint(n);this._resizeMarkers[0].setLatLng(o)}this._shape.setLatLng(n),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var n=this._shape.getLatLng(),o=this._getResizeMarkerPoint(n);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(o,this.options.resizeIcon))},_getResizeMarkerPoint:function(n){var o=this._shape._radius*Math.cos(Math.PI/4),a=this._map.project(n);return this._map.unproject([a.x+o,a.y-o])},_resize:function(n){var o=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=o.distanceTo(n):radius=this._map.distance(o,n),this._shape.setRadius(radius),this._map.editTooltip&&this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable())}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(n){this._map=n,this._container=n._container,this._pane=n._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.off(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.off(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave,this))},_touchEvent:function(n,o){var a={};if(n.touches!==void 0){if(!n.touches.length)return;a=n.touches[0]}else if(n.pointerType!=="touch"||(a=n,!this._filterClick(n)))return;var h=this._map.mouseEventToContainerPoint(a),c=this._map.mouseEventToLayerPoint(a),d=this._map.layerPointToLatLng(c);this._map.fire(o,{latlng:d,layerPoint:c,containerPoint:h,pageX:a.pageX,pageY:a.pageY,originalEvent:n})},_filterClick:function(n){var o=n.timeStamp||n.originalEvent.timeStamp,a=L.DomEvent._lastClick&&o-L.DomEvent._lastClick;return a&&a>100&&a<500||n.target._simulatedClick&&!n._simulated?(L.DomEvent.stop(n),!1):(L.DomEvent._lastClick=o,!0)},_onTouchStart:function(n){this._map._loaded&&this._touchEvent(n,"touchstart")},_onTouchEnd:function(n){this._map._loaded&&this._touchEvent(n,"touchend")},_onTouchCancel:function(n){if(this._map._loaded){var o="touchcancel";this._detectIE()&&(o="pointercancel"),this._touchEvent(n,o)}},_onTouchLeave:function(n){this._map._loaded&&this._touchEvent(n,"touchleave")},_onTouchMove:function(n){this._map._loaded&&this._touchEvent(n,"touchmove")},_detectIE:function(){var n=r.navigator.userAgent,o=n.indexOf("MSIE ");if(o>0)return parseInt(n.substring(o+5,n.indexOf(".",o)),10);if(n.indexOf("Trident/")>0){var a=n.indexOf("rv:");return parseInt(n.substring(a+3,n.indexOf(".",a)),10)}var h=n.indexOf("Edge/");return h>0&&parseInt(n.substring(h+5,n.indexOf(".",h)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var n=this._icon,o=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];this._detectIE?o.concat(["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]):o.concat(["touchcancel"]),L.DomUtil.addClass(n,"leaflet-clickable"),L.DomEvent.on(n,"click",this._onMouseClick,this),L.DomEvent.on(n,"keypress",this._onKeyPress,this);for(var a=0;a<o.length;a++)L.DomEvent.on(n,o[a],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var n=r.navigator.userAgent,o=n.indexOf("MSIE ");if(o>0)return parseInt(n.substring(o+5,n.indexOf(".",o)),10);if(n.indexOf("Trident/")>0){var a=n.indexOf("rv:");return parseInt(n.substring(a+3,n.indexOf(".",a)),10)}var h=n.indexOf("Edge/");return h>0&&parseInt(n.substring(h+5,n.indexOf(".",h)),10)}}),L.LatLngUtil={cloneLatLngs:function(n){for(var o=[],a=0,h=n.length;a<h;a++)Array.isArray(n[a])?o.push(L.LatLngUtil.cloneLatLngs(n[a])):o.push(this.cloneLatLng(n[a]));return o},cloneLatLng:function(n){return L.latLng(n.lat,n.lng)}},function(){var n={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(o){var a,h,c=o.length,d=0,f=Math.PI/180;if(c>2){for(var _=0;_<c;_++)a=o[_],h=o[(_+1)%c],d+=(h.lng-a.lng)*f*(2+Math.sin(a.lat*f)+Math.sin(h.lat*f));d=6378137*d*6378137/2}return Math.abs(d)},formattedNumber:function(o,a){var h=parseFloat(o).toFixed(a),c=L.drawLocal.format&&L.drawLocal.format.numeric,d=c&&c.delimiters,f=d&&d.thousands,_=d&&d.decimal;if(f||_){var m=h.split(".");h=f?m[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f):m[0],_=_||".",m.length>1&&(h=h+_+m[1])}return h},readableArea:function(o,a,f){var c,d,f=L.Util.extend({},n,f);return a?(d=["ha","m"],type=typeof a,type==="string"?d=[a]:type!=="boolean"&&(d=a),c=o>=1e6&&d.indexOf("km")!==-1?L.GeometryUtil.formattedNumber(1e-6*o,f.km)+" km²":o>=1e4&&d.indexOf("ha")!==-1?L.GeometryUtil.formattedNumber(1e-4*o,f.ha)+" ha":L.GeometryUtil.formattedNumber(o,f.m)+" m²"):(o/=.836127,c=o>=3097600?L.GeometryUtil.formattedNumber(o/3097600,f.mi)+" mi²":o>=4840?L.GeometryUtil.formattedNumber(o/4840,f.ac)+" acres":L.GeometryUtil.formattedNumber(o,f.yd)+" yd²"),c},readableDistance:function(o,a,h,c,_){var f,_=L.Util.extend({},n,_);switch(a?typeof a=="string"?a:"metric":h?"feet":c?"nauticalMile":"yards"){case"metric":f=o>1e3?L.GeometryUtil.formattedNumber(o/1e3,_.km)+" km":L.GeometryUtil.formattedNumber(o,_.m)+" m";break;case"feet":o*=3.28083,f=L.GeometryUtil.formattedNumber(o,_.ft)+" ft";break;case"nauticalMile":o*=.53996,f=L.GeometryUtil.formattedNumber(o/1e3,_.nm)+" nm";break;case"yards":default:o*=1.09361,f=o>1760?L.GeometryUtil.formattedNumber(o/1760,_.mi)+" miles":L.GeometryUtil.formattedNumber(o,_.yd)+" yd"}return f},isVersion07x:function(){var o=L.version.split(".");return parseInt(o[0],10)===0&&parseInt(o[1],10)===7}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(n,o,a,h){return this._checkCounterclockwise(n,a,h)!==this._checkCounterclockwise(o,a,h)&&this._checkCounterclockwise(n,o,a)!==this._checkCounterclockwise(n,o,h)},_checkCounterclockwise:function(n,o,a){return(a.y-n.y)*(o.x-n.x)>(o.y-n.y)*(a.x-n.x)}}),L.Polyline.include({intersects:function(){var n,o,a,h=this._getProjectedPoints(),c=h?h.length:0;if(this._tooFewPointsForIntersection())return!1;for(n=c-1;n>=3;n--)if(o=h[n-1],a=h[n],this._lineSegmentsIntersectsRange(o,a,n-2))return!0;return!1},newLatLngIntersects:function(n,o){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(n),o)},newPointIntersects:function(n,o){var a=this._getProjectedPoints(),h=a?a.length:0,c=a?a[h-1]:null,d=h-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(c,n,d,o?1:0)},_tooFewPointsForIntersection:function(n){var o=this._getProjectedPoints(),a=o?o.length:0;return a+=n||0,!o||a<=3},_lineSegmentsIntersectsRange:function(n,o,a,h){var c,d,f=this._getProjectedPoints();h=h||0;for(var _=a;_>h;_--)if(c=f[_-1],d=f[_],L.LineUtil.segmentsIntersect(n,o,c,d))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var n=[],o=this._defaultShape(),a=0;a<o.length;a++)n.push(this._map.latLngToLayerPoint(o[a]));return n}}),L.Polygon.include({intersects:function(){var n,o,a,h,c=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||(n=c.length,o=c[0],a=c[n-1],h=n-2,this._lineSegmentsIntersectsRange(a,o,h,1)))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(n){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");L.Control.prototype.initialize.call(this,n);var o;this._toolbars={},L.DrawToolbar&&this.options.draw&&(o=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=o,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(o=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=o,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(n){var o,a=L.DomUtil.create("div","leaflet-draw"),h=!1;for(var c in this._toolbars)this._toolbars.hasOwnProperty(c)&&(o=this._toolbars[c].addToolbar(n))&&(h||(L.DomUtil.hasClass(o,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(o.childNodes[0],"leaflet-draw-toolbar-top"),h=!0),a.appendChild(o));return a},onRemove:function(){for(var n in this._toolbars)this._toolbars.hasOwnProperty(n)&&this._toolbars[n].removeToolbar()},setDrawingOptions:function(n){for(var o in this._toolbars)this._toolbars[o]instanceof L.DrawToolbar&&this._toolbars[o].setOptions(n)},_toolbarEnabled:function(n){var o=n.target;for(var a in this._toolbars)this._toolbars[a]!==o&&this._toolbars[a].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(n){L.setOptions(this,n),this._modes={},this._actionButtons=[],this._activeMode=null;var o=L.version.split(".");parseInt(o[0],10)===1&&parseInt(o[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return this._activeMode!==null},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(n){var o,a=L.DomUtil.create("div","leaflet-draw-section"),h=0,c=this._toolbarClass||"",d=this.getModeHandlers(n);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=n,o=0;o<d.length;o++)d[o].enabled&&this._initModeHandler(d[o].handler,this._toolbarContainer,h++,c,d[o].title);if(h)return this._lastButtonIndex=--h,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),a.appendChild(this._toolbarContainer),a.appendChild(this._actionsContainer),a},removeToolbar:function(){for(var n in this._modes)this._modes.hasOwnProperty(n)&&(this._disposeButton(this._modes[n].button,this._modes[n].handler.enable,this._modes[n].handler),this._modes[n].handler.disable(),this._modes[n].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var o=0,a=this._actionButtons.length;o<a;o++)this._disposeButton(this._actionButtons[o].button,this._actionButtons[o].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(n,o,a,h,c){var d=n.type;this._modes[d]={},this._modes[d].handler=n,this._modes[d].button=this._createButton({type:d,title:c,className:h+"-"+d,container:o,callback:this._modes[d].handler.enable,context:this._modes[d].handler}),this._modes[d].buttonIndex=a,this._modes[d].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!r.MSStream},_createButton:function(n){var o=L.DomUtil.create("a",n.className||"",n.container),a=L.DomUtil.create("span","sr-only",n.container);o.href="#",o.appendChild(a),n.title&&(o.title=n.title,a.innerHTML=n.title),n.text&&(o.innerHTML=n.text,a.innerHTML=n.text);var h=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(o,"click",L.DomEvent.stopPropagation).on(o,"mousedown",L.DomEvent.stopPropagation).on(o,"dblclick",L.DomEvent.stopPropagation).on(o,"touchstart",L.DomEvent.stopPropagation).on(o,"click",L.DomEvent.preventDefault).on(o,h,n.callback,n.context),o},_disposeButton:function(n,o){var a=this._detectIOS()?"touchstart":"click";L.DomEvent.off(n,"click",L.DomEvent.stopPropagation).off(n,"mousedown",L.DomEvent.stopPropagation).off(n,"dblclick",L.DomEvent.stopPropagation).off(n,"touchstart",L.DomEvent.stopPropagation).off(n,"click",L.DomEvent.preventDefault).off(n,a,o)},_handlerActivated:function(n){this.disable(),this._activeMode=this._modes[n.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(n){var o,a,h,c,d=this._actionsContainer,f=this.getActions(n),_=f.length;for(a=0,h=this._actionButtons.length;a<h;a++)this._disposeButton(this._actionButtons[a].button,this._actionButtons[a].callback);for(this._actionButtons=[];d.firstChild;)d.removeChild(d.firstChild);for(var m=0;m<_;m++)"enabled"in f[m]&&!f[m].enabled||(o=L.DomUtil.create("li","",d),c=this._createButton({title:f[m].title,text:f[m].text,container:o,callback:f[m].callback,context:f[m].context}),this._actionButtons.push({button:c,callback:f[m].callback}))},_showActionsToolbar:function(){var n=this._activeMode.buttonIndex,o=this._lastButtonIndex,a=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=a+"px",n===0&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),n===o&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(n){this._map=n,this._popupPane=n._panes.popupPane,this._visible=!1,this._container=n.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(n){return this._container?(n.subtext=n.subtext||"",n.subtext.length!==0||this._singleLineLabel?n.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(n.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+n.subtext+"</span><br />":"")+"<span>"+n.text+"</span>",n.text||n.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(n){var o=this._map.latLngToLayerPoint(n),a=this._container;return this._container&&(this._visible&&(a.style.visibility="inherit"),L.DomUtil.setPosition(a,o)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(n){for(var o in this.options)this.options.hasOwnProperty(o)&&n[o]&&(n[o]=L.extend({},this.options[o],n[o]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,n)},getModeHandlers:function(n){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(n,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(n,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(n,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(n,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(n,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(n,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(n){return[{enabled:n.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:n.completeShape,context:n},{enabled:n.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:n.deleteLastVertex,context:n},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(n){L.setOptions(this,n);for(var o in this._modes)this._modes.hasOwnProperty(o)&&n.hasOwnProperty(o)&&this._modes[o].handler.setOptions(n[o])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(n){n.edit&&(n.edit.selectedPathOptions===void 0&&(n.edit.selectedPathOptions=this.options.edit.selectedPathOptions),n.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,n.edit.selectedPathOptions)),n.remove&&(n.remove=L.extend({},this.options.remove,n.remove)),n.poly&&(n.poly=L.extend({},this.options.poly,n.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,n),this._selectedFeatureCount=0},getModeHandlers:function(n){var o=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(n,{featureGroup:o,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(n,{featureGroup:o}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(n){var o=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return n.removeAllLayers&&o.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),o},addToolbar:function(n){var o=L.Toolbar.prototype.addToolbar.call(this,n);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),o},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var n,o=this.options.featureGroup,a=o.getLayers().length!==0;this.options.edit&&(n=this._modes[L.EditToolbar.Edit.TYPE].button,a?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",a?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(n=this._modes[L.EditToolbar.Delete.TYPE].button,a?L.DomUtil.removeClass(n,"leaflet-disabled"):L.DomUtil.addClass(n,"leaflet-disabled"),n.setAttribute("title",a?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(n,o){if(L.Handler.prototype.initialize.call(this,n),L.setOptions(this,o),this._featureGroup=o.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var a=L.version.split(".");parseInt(a[0],10)===1&&parseInt(a[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),n._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(n){this._revertLayer(n)},this)},save:function(){var n=new L.LayerGroup;this._featureGroup.eachLayer(function(o){o.edited&&(n.addLayer(o),o.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:n})},_backupLayer:function(n){var o=L.Util.stamp(n);this._uneditedLayerProps[o]||(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?this._uneditedLayerProps[o]={latlngs:L.LatLngUtil.cloneLatLngs(n.getLatLngs())}:n instanceof L.Circle?this._uneditedLayerProps[o]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng()),radius:n.getRadius()}:(n instanceof L.Marker||n instanceof L.CircleMarker)&&(this._uneditedLayerProps[o]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(n){var o=L.Util.stamp(n);n.edited=!1,this._uneditedLayerProps.hasOwnProperty(o)&&(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?n.setLatLngs(this._uneditedLayerProps[o].latlngs):n instanceof L.Circle?(n.setLatLng(this._uneditedLayerProps[o].latlng),n.setRadius(this._uneditedLayerProps[o].radius)):(n instanceof L.Marker||n instanceof L.CircleMarker)&&n.setLatLng(this._uneditedLayerProps[o].latlng),n.fire("revert-edited",{layer:n}))},_enableLayerEdit:function(n){var o,a,h=n.layer||n.target||n;this._backupLayer(h),this.options.poly&&(a=L.Util.extend({},this.options.poly),h.options.poly=a),this.options.selectedPathOptions&&(o=L.Util.extend({},this.options.selectedPathOptions),o.maintainColor&&(o.color=h.options.color,o.fillColor=h.options.fillColor),h.options.original=L.extend({},h.options),h.options.editing=o),h instanceof L.Marker?(h.editing&&h.editing.enable(),h.dragging.enable(),h.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):h.editing.enable()},_disableLayerEdit:function(n){var o=n.layer||n.target||n;o.edited=!1,o.editing&&o.editing.disable(),delete o.options.editing,delete o.options.original,this._selectedPathOptions&&(o instanceof L.Marker?this._toggleMarkerHighlight(o):(o.setStyle(o.options.previousOptions),delete o.options.previousOptions)),o instanceof L.Marker?(o.dragging.disable(),o.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):o.editing.disable()},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_onMarkerDragEnd:function(n){var o=n.target;o.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:o})},_onTouchMove:function(n){var o=n.originalEvent.changedTouches[0],a=this._map.mouseEventToLayerPoint(o),h=this._map.layerPointToLatLng(a);n.target.setLatLng(h)},_hasAvailableLayers:function(){return this._featureGroup.getLayers().length!==0}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(n,o){if(L.Handler.prototype.initialize.call(this,n),L.Util.setOptions(this,o),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var a=L.version.split(".");parseInt(a[0],10)===1&&parseInt(a[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var n=this._map;n&&(n.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(n){this._deletableLayers.addLayer(n),n.fire("revert-deleted",{layer:n})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(n){this._removeLayer({layer:n})},this),this.save()},_enableLayerDelete:function(n){(n.layer||n.target||n).on("click",this._removeLayer,this)},_disableLayerDelete:function(n){var o=n.layer||n.target||n;o.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(o)},_removeLayer:function(n){var o=n.layer||n.target||n;this._deletableLayers.removeLayer(o),this._deletedLayers.addLayer(o),o.fire("deleted")},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_hasAvailableLayers:function(){return this._deletableLayers.getLayers().length!==0}})})(window,document);const ML="";var Ug={draw:{toolbar:{actions:{title:"መሳል ተው",text:"ተው"},finish:{title:"መሳል ጨርስ",text:"ጨርስ"},undo:{title:"መጨረሻ የተሳለውን ነጥብ አጥፋ",text:"መጨረሻ የተሳለውን ነጥብ አጥፋ"},buttons:{polyline:"ፖሊላየን ሳል",polygon:"ፖሊጎን ሳል",rectangle:"አራት መአዘን ሳል",circle:"ክብ ሳል",marker:"ምልክት ሳል",circlemarker:"ክብ ምልክት ሳል"}},handlers:{circle:{tooltip:{start:"ክብ ለመሳል ተጭንው ይጎትቱ"},radius:"ራዲየስ"},circlemarker:{tooltip:{start:"ክብ ምልክት ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},marker:{tooltip:{start:"ምልክት ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},polygon:{tooltip:{start:"ቅርጽን ለመሳል ካርታውን ተጭነው ይጎትቱ",cont:"ቅርጽን መሳሎን ለመቀጠል ይጫኑ",end:"ቅርጽን ስሎ ለመጨረስ የመጀመሪያውን ነጥብ ይጫኑ"}},polyline:{error:"<strong>ስህተት:</strong> መስመሮች እርስ በእርስ መተላለፍ አይችሉም!",tooltip:{start:"መስመር ለመሳል ካርታውን ተጭነው ይጎትቱ",cont:"መስመር መሳሎን ለመቀጠል ይጫኑ",end:"መስመር ስሎ ለመጨረስ የመጨረሻውን ነጥብ ይጫኑ"}},rectangle:{tooltip:{start:"ዐራት መአዝን ለመሳል ካርታውን ይጫኑ ይጎትቱ"}},simpleshape:{tooltip:{end:"ስለው ለመጨረስ አይጤን ይልቀቁ"}}}},edit:{toolbar:{actions:{save:{title:"ለውጦቹን አኑር",text:"አኑር"},cancel:{title:"ማስተካከሉን ተው፣ ሁሉንም ለውጦች ሰርዝ",text:"ተው"},clearAll:{title:"ሁሉንም የካርታ ገጾች አጥፋ",text:"ሁሉንም አጥፋ"}},buttons:{edit:"የካርታ ገጽ አስተካክል",editDisabled:"የሚስተካከል የካርታ ገጽ የለም",remove:"የካርታ ገጽ ሰርዝ.",removeDisabled:"የሚሰረዝ የካርታ ገጽ የለም"}},handlers:{edit:{tooltip:{text:"ለማስተካከል ምልክቱን ወይም መያዣውን ይጎትቱ",subtext:"ለውጥጡን ለመተው ተው የሚለውን ይጫኑ"}},remove:{tooltip:{text:"ማጥፋት የፈለጉትን ይጫኑ"}}}}},Zg={draw:{toolbar:{actions:{title:"Zrušit kreslení",text:"Zrušit"},finish:{title:"Dokončit kreslení",text:"Dokončit"},undo:{title:"Smazat poslední nakreslený bod",text:"Smazat poslední bod"},buttons:{polyline:"Nakreslit mnohoúhelník",polygon:"Nakreslit polygon",rectangle:"Nakreslit obdélník",circle:"Nakreslit kruh",marker:"Nakreslit značku",circlemarker:"Nakreslit kruhovou značku"}},handlers:{circle:{tooltip:{start:"Kliknout a táhnout pro nakreslení kruhu."},radius:"Poloměr"},circlemarker:{tooltip:{start:"Kliknout do mapy pro umístění kruhové značky."}},marker:{tooltip:{start:"Kliknout do mapy pro umístění značky."}},polygon:{tooltip:{start:"Kliknout pro začátek kreslení tvaru.",cont:"Kliknout pro pokračování v kreslení tvaru.",end:"Kliknout na pvní bod k uzavření tvaru."}},polyline:{error:"<strong>Chyba:</strong> hrany tvaru se nemohou protínat!",tooltip:{start:"Kliknout pro začátek kreslení úsečky.",cont:"Kliknout pro pokračování v kreslení úsečky.",end:"Kliknout na koncový bod k ukončení kreslení úsečky."}},rectangle:{tooltip:{start:"Kliknout a táhnout k nakreslení obdélníku."}},simpleshape:{tooltip:{end:"Pustit myš k dokončení kreslení."}}}},edit:{toolbar:{actions:{save:{title:"Uložit změny.",text:"Uložit"},cancel:{title:"Zrušit úpravu, zruší všechny změny.",text:"Zrušit"},clearAll:{title:"Vymazat všechny vrstvy.",text:"Vymazat vše"}},buttons:{edit:"Upravit vrstvy.",editDisabled:"Žádné vrstvy k úpravě.",remove:"Vymazat vrstvy.",removeDisabled:"Žádná vrstva k vymazání."}},handlers:{edit:{tooltip:{text:"Táhnout za úchopy pro editaci tvaru.",subtext:"Kliknutím na zrušit vrátite změny."}},remove:{tooltip:{text:"Kliknout na tvar pro smazání"}}}}},jg={draw:{toolbar:{actions:{title:"Zeichnung abbrechen",text:"Abbrechen"},finish:{title:"Zeichnung fertigstellen",text:"Fertigstellen"},undo:{title:"Lösche den zuletzt gezeichneten Punkt",text:"Letzter Punkt löschen"},buttons:{polyline:"Zeichne eine Linie",polygon:"Zeichne ein Polygon",rectangle:"Zeichne ein Rechteck",circle:"Zeichne einen Kreis",marker:"Zeichne einen Marker",circlemarker:"Zeichne einen Kreis-Marker"}},handlers:{circle:{tooltip:{start:"Klicken und ziehen um einen Kreis zu zeichnen."},radius:"Radius"},circlemarker:{tooltip:{start:"Karte anklicken um einen Kreis-Marker zu platzieren."}},marker:{tooltip:{start:"Karte anklicken um einen Marker zu platzieren."}},polygon:{tooltip:{start:"Klicken um mit dem Zeichnen einer Form zu beginnen.",cont:"Klicken um mit dem Zeichnen dieser Form fortzufahren.",end:"Erster Punkt anklicken um diese Form abzuschliessen."}},polyline:{error:"<strong>Fehler:</strong> Form-Ecken dürfen sich nicht überschneiden!",tooltip:{start:"Klicken um mit dem Zeichnen einer Linie zu beginnen.",cont:"Klicken um mit dem Zeichnen dieser Linie fortzufahren.",end:"Erster Punkt anklicken um diese Linie abzuschliessen."}},rectangle:{tooltip:{start:"Klicken und ziehen um ein Rechteck zu zeichnen."}},simpleshape:{tooltip:{end:"Maustaste loslassen um die Zeichnung fertigzustellen."}}}},edit:{toolbar:{actions:{save:{title:"Speichere Änderungen.",text:"Speichern"},cancel:{title:"Bearbeitung abbrechen, alle Änderungen verwerfen.",text:"Abbrechen"},clearAll:{title:"Alle Layer bereinigen.",text:"Alles bereinigen"}},buttons:{edit:"Layer bearbeiten.",editDisabled:"Keine Layer zum bearbeiten.",remove:"Layer löschen.",removeDisabled:"Keine Layer zum löschen."}},handlers:{edit:{tooltip:{text:"Ziehe den Griff oder den Marker um die Eigenschaft zu bearbeiten.",subtext:"Klicke abbrechen um Änderungen rückgängig zu machen."}},remove:{tooltip:{text:"Klicke auf eine Eigenschaft um diese zu entfernen."}}}}},Bh={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes.",text:"Save"},cancel:{title:"Cancel editing, discards all changes.",text:"Cancel"},clearAll:{title:"Clear all layers.",text:"Clear All"}},buttons:{edit:"Edit layers.",editDisabled:"No layers to edit.",remove:"Delete layers.",removeDisabled:"No layers to delete."}},handlers:{edit:{tooltip:{text:"Drag handles, or marker to edit feature.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove"}}}}},Wg={draw:{toolbar:{actions:{title:"Cancelar dibujo",text:"Cancelar"},finish:{title:"Terminar dibujo",text:"Terminar"},undo:{title:"Eliminar último punto dibujado",text:"Eliminar último punto"},buttons:{polyline:"Dibujar una polilínea",polygon:"Dibujar un polígono",rectangle:"Dibujar un rectángulo",circle:"Dibujar un círculo",marker:"Dibujar un marcador",circlemarker:"Dibujar un marcador circular"}},handlers:{circle:{tooltip:{start:"Haz click y arrastra para dibujar un círculo"},radius:"Radio"},circlemarker:{tooltip:{start:"Haz click en el mapa para situar el marcador circular"}},marker:{tooltip:{start:"Haz click en el mapa para situar el marcador"}},polygon:{tooltip:{start:"Haz click para empezar a dibujar la forma",cont:"Haz click para continuar dibujando la forma",end:"Haz click en el primer punto para cerrar la forma"}},polyline:{error:"<strong>Error:</strong> las líneas no deben cruzarse",tooltip:{start:"Haz click para empezar a dibujar la línea",cont:"Haz click para continuar dibujando la línea",end:"Haz click en el último punto para terminar la línea"}},rectangle:{tooltip:{start:"Haz click y arrastra para dibujar un rectángulo"}},simpleshape:{tooltip:{end:"Suelta el ratón para terminar de dibujar"}}}},edit:{toolbar:{actions:{save:{title:"Guardar los cambios",text:"Guardar"},cancel:{title:"Cancelar la edición, descarta todos los cambios",text:"Cancelar"},clearAll:{title:"Limpiar todas las capas",text:"Limpiar todo"}},buttons:{edit:"Editar capas",editDisabled:"No hay capas que editar",remove:"Eliminar capas",removeDisabled:"No hay capas que eliminar"}},handlers:{edit:{tooltip:{text:"Arrastra el marcador para editar la forma",subtext:"Haz click en cancelar para deshacer los cambios"}},remove:{tooltip:{text:"Haz click en una forma para eliminarla"}}}}},Hg={draw:{toolbar:{actions:{title:"Peru piirustus",text:"Peru"},finish:{title:"Hyväksy piirustus",text:"Hyväksy"},undo:{title:"Poista viimeinen piirretty piste",text:"Poista viimeinen piste"},buttons:{polyline:"Piirrä murtoviiva",polygon:"Piirrä monikulmio",rectangle:"Piirrä suorakulmio",circle:"Piirrä ympyrä",marker:"Piirrä merkki",circlemarker:"Piirrä piirimerkki"}},handlers:{circle:{tooltip:{start:"Piirrä ympyrä pitämällä hiiri painettuna ja vetämällä."},radius:"Säde"},circlemarker:{tooltip:{start:"Aseta ympyrämerkki painamalla karttaa."}},marker:{tooltip:{start:"Aseta markkeri painamalla karttaa."}},polygon:{tooltip:{start:"Paina aloittaaksesi muodon piirtämisen.",cont:"Paina jatkaaksesi muodon piirtämistä.",end:"Sulje muoto painamalla ensimmäistä pistettä."}},polyline:{error:"<strong>Virhe:</strong> muodon reunaa ei voi ylittää!",tooltip:{start:"Paina aloittaaksesi viivan piirtämisen.",cont:"Paina jatkaaksesi viivan piirtämistä.",end:"Paina viimeistä pistettä päättäksesi viiva."}},rectangle:{tooltip:{start:"Piirrä suorakulmio pitämällä hiiri painettuna ja vetämällä."}},simpleshape:{tooltip:{end:"Vapauta hiiri päättääksesi piirtämisen."}}}},edit:{toolbar:{actions:{save:{title:"Hyväksy muutokset.",text:"Hyväksy"},cancel:{title:"Peru muokkaus, hylkää kaikki muutokset.",text:"Peru"},clearAll:{title:"Poista kaikki tasot.",text:"Poista kaikki"}},buttons:{edit:"Muokkaa tasoja.",editDisabled:"Ei muokattavia tasoja.",remove:"Poista tasot.",removeDisabled:"Ei poistettavia tasoja."}},handlers:{edit:{tooltip:{text:"Vedä pistettä tai markkeria muokataksesi piirrettyjä ominaisuuksia.",subtext:"Kumoa muutokset painamalla peruuta."}},remove:{tooltip:{text:"Paina piirrettyä ominaisuutta poistaaksesi"}}}}},Vg={draw:{toolbar:{actions:{title:"Annuler le dessin",text:"Annuler"},finish:{title:"Terminer le dessin",text:"Terminer"},undo:{title:"Supprimer le dernier point tiré",text:"Supprimer le dernier point"},buttons:{polyline:"Dessinez une polyligne",polygon:"Dessinez un polygone",rectangle:"Dessinez un rectangle",circle:"Dessiner un cercle",marker:"Dessinez un marqueur",circlemarker:"Dessinez un marqueur circulaire"}},handlers:{circle:{tooltip:{start:"Cliquez et faites glisser pour dessiner le cercle."},radius:"Rayon"},circlemarker:{tooltip:{start:"Cliquez sur la carte pour placer le marqueur circulaire."}},marker:{tooltip:{start:"Cliquez sur la carte pour placer le marqueur."}},polygon:{tooltip:{start:"Cliquez pour commencer à dessiner.",cont:"Cliquez pour continuer à dessiner.",end:"Cliquez sur le premier point pour fermer cette forme."}},polyline:{error:"<strong>Erreur:</strong> les polyligne ne peuvent pas traverser!",tooltip:{start:"Cliquez pour commencer à dessiner.",cont:"Cliquez pour continuer à dessiner.",end:"Cliquez sur le dernier point pour fermer cette forme."}},rectangle:{tooltip:{start:"Cliquez et faites glisser pour dessiner le rectangle."}},simpleshape:{tooltip:{end:"Relâchez la souris pour terminer le dessin."}}}},edit:{toolbar:{actions:{save:{title:"Sauvegarder les modifications.",text:"Sauvegarder"},cancel:{title:"Annuler l'édition, rejette toutes les modifications.",text:"Annuler"},clearAll:{title:"Effacez toutes les collections.",text:"Tout effacer"}},buttons:{edit:"Modifier les collections.",editDisabled:"Pas de collections à éditer.",remove:"Supprimez les collections.",removeDisabled:"Pas de collections à supprimer."}},handlers:{edit:{tooltip:{text:"Sélectionnez les poignées ou le marqueur pour modifier l'entité.",subtext:"Cliquez sur annuler pour rétablir les modifications."}},remove:{tooltip:{text:"Cliquez sur une entité pour supprimer"}}}}},Xg={draw:{toolbar:{actions:{title:"Rajzolás elvetése",text:"Mégse"},finish:{title:"Rajzolás befejezése",text:"Befejezés"},undo:{title:"Legutóbbi pont törlése",text:"Legutóbbi pont törlése"},buttons:{polyline:"Útvonal rajzolása",polygon:"Sokszög rajzolása",rectangle:"Négyszög rajzolása",circle:"Kör rajzolása",marker:"Jelölő rajzolása",circlemarker:"Kör-jelölő rajzolása"}},handlers:{circle:{tooltip:{start:"Kattintson és tartsa nyomva a rajzoláshoz."},radius:"Sugár"},circlemarker:{tooltip:{start:"Kör-jelölő elhelyezéséhez kattintson a térképre."}},marker:{tooltip:{start:"Jelölő elhelyezéséhez kattintson a térképre."}},polygon:{tooltip:{start:"Alakzat rajzolásához kattintson a térképre.",cont:"Alakzat folytatásához kattintson a térképre.",end:"Alakzat befejezéséhez kattintson a kezdőpontra."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Útvonal rajzolásához kattintson a térképre.",cont:"Útvonal folytatásához kattintson a térképre.",end:"Útvonal befejezéséhez kattintson a végpontra."}},rectangle:{tooltip:{start:"Kattintson és tartsa nyomva négyszög rajzolásához."}},simpleshape:{tooltip:{end:"Ha elégedett az alakzattal, engedje fel az egér gombját."}}}},edit:{toolbar:{actions:{save:{title:"Változtatások elmentése.",text:"Mentés"},cancel:{title:"Változtatások elvetése.",text:"Mégse"},clearAll:{title:"Összes réteg törlése.",text:"Összes törlése"}},buttons:{edit:"Rétegek szerkesztése.",editDisabled:"Nem állnak rendelkezésre szerkeszthető rétegek.",remove:"Rétegek törlése.",removeDisabled:"Nem állnak rendelkezésre törölhető rétegek."}},handlers:{edit:{tooltip:{text:"Módosításhoz használja a jelölők, alakzatok kezelőit.",subtext:"Változások elvetéséhez kattintson a 'Mégse' gombra."}},remove:{tooltip:{text:"Kattintson a jelölőkre, alakzatokra az eltávolításukhoz."}}}}},Yg={draw:{toolbar:{actions:{title:"Annulla disegno",text:"Annulla"},finish:{title:"Completa disegno",text:"Completa"},undo:{title:"Elimina l'ultimo punto disegnato",text:"Elimina l'ultimo punto"},buttons:{polyline:"Disegna una polilinea",polygon:"Disegna un poligono",rectangle:"Disegna un rettangolo",circle:"Disegna un cerchio",marker:"Disegna un marcatore",circlemarker:"Disegna un marker circolare"}},handlers:{circle:{tooltip:{start:"Clicca e trascina per disegnare un cerchio."},radius:"Raggio"},circlemarker:{tooltip:{start:"Clicca la mappa per posizionare un marcatore circolare."}},marker:{tooltip:{start:"Clicca la mappa per posizionare un marcatore."}},polygon:{tooltip:{start:"Clicca per iniziare a disegnare una figura.",cont:"Clicca per continuare a disegnare una figura.",end:"Clicca il primo punto per chiudere questa figura."}},polyline:{error:"<strong>Errore:</strong> i margini della figura non si possono incrociare!",tooltip:{start:"Clicca per iniziare a disegnare una linea.",cont:"Clicca per continuare a disegnare una linea",end:"Clicca l'ultimo punto per finire questa linea"}},rectangle:{tooltip:{start:"Clicca e trascina per disegnare un rettangolo."}},simpleshape:{tooltip:{end:"Rilascia il mouse per finire il disegno."}}}},edit:{toolbar:{actions:{save:{title:"Salva modifiche.",text:"Salva"},cancel:{title:"Annulla tutte le modifiche.",text:"Annulla"},clearAll:{title:"Pulisci tutti i livelli.",text:"Pulisci tutto"}},buttons:{edit:"Modifica i livelli.",editDisabled:"Nessun livello disponibile per la modifica.",remove:"Elimina livelli.",removeDisabled:"Nessun livello disponibile per l'eliminazione."}},handlers:{edit:{tooltip:{text:"Trascina le maniglie, o i marcatori per modificare l'elemento.",subtext:"Clicca annulla per annullare le modifiche."}},remove:{tooltip:{text:"Clicca un elemento per rimuoverlo"}}}}},Kg={draw:{toolbar:{actions:{title:"ხატვის გაუქმება",text:"გაუქმება"},finish:{title:"ხატვის დასრულება",text:"დასრულება"},undo:{title:"ბოლო დახატული წერტილის წაშლა",text:"ბოლო წერტილის წაშლა"},buttons:{polyline:"პოლილაინის დახაზვა",polygon:"პოლიგონის დახაზვა",rectangle:"მართკუთხედის დახაზვა",circle:"წრის დახაზვა",marker:"ადგილმდებარეობის დატანა",circlemarker:"ადგილმდებარეობის დატანა(წრის სახით)"}},handlers:{circle:{tooltip:{start:"დააწკაპუნეთ და გადაიტანეთ იმისათვის, რომ წრე დახაზოთ."},radius:"რადიუსი"},circlemarker:{tooltip:{start:"დააწკაპუნეთ რუკაზე ადგილმდებარეობის შესაქმნელად."}},marker:{tooltip:{start:"დააწკაპუნეთ რუკაზე ადგილმდებარეობის შესაქმნელად."}},polygon:{tooltip:{start:"დააწკაპუნეთ, კონტურის ხაზვის დაწყებისთვის.",cont:"დააწკაპუნეთ, კონტრუსი ხაზვის დასრულებისთვის.",end:"დააწკაპუნეთ პირველ წერტილზე, რათა დაასრულოთ კონტურის ხაზვა."}},polyline:{error:"<strong>შეცდომა:</strong> ხაზი ვერ გადაკვეთავს თავის თავს",tooltip:{start:"დააწკაპუნეთ, ხაზის ხაზვის დაწყებისთვის.",cont:"დააწკაპუნეთ, ხაზის ხაზვის დასრულებისთვის.",end:"დააწკაპუნეთ ბოლო წერტილზე, რათა დაასრულოთ ხაზის ხაზვა."}},rectangle:{tooltip:{start:"დააწკაპუნეთ და გადაიტანეთ იმისათვის, რომ მართკუთხედი დახაზოთ."}},simpleshape:{tooltip:{end:"გაათავისუფლეთ თაგვის ღილაკი ხაზვის დასასრულებლად."}}}},edit:{toolbar:{actions:{save:{title:"ცვლილებების შენახვა.",text:"შენახვა"},cancel:{title:"რედაქტირების გაუქმება, დააბრუნე ყველა ცვლილება.",text:"გაუქმება"},clearAll:{title:"ყველა რედაქტირებული ფენის გასუფთავება.",text:"გასუფთავება"}},buttons:{edit:"რედაქტირება.",editDisabled:"ფენები არ არის რედაქტირებისთვის.",remove:"წაშლა.",removeDisabled:"ფენები არ არის წაშლისთვის."}},handlers:{edit:{tooltip:{text:"გადაიტანეთ წვერები ან წერტილები ობიექტის რედაქტირებისთვის.",subtext:'დააჭირეთ "გაუქმება", საწყის მდგომარეობაში დასაბრუნებლად.'}},remove:{tooltip:{text:"დააწკაპუნეთ ობიექტზე წაშლისთვის"}}}}},qg={draw:{toolbar:{actions:{title:"Tekening annuleren",text:"Annuleren"},finish:{title:"Tekening voltooien",text:"Voltooien"},undo:{title:"Laatst getekende punt verwijderen",text:"Verwijder laatst getekende punt"},buttons:{polyline:"Teken een polygonale lijn",polygon:"Teken een polygoon",rectangle:"Teken een rechthoek",circle:"Teken een cirkel",marker:"Plaats een marker",circlemarker:"Teken een cirkelmarkering"}},handlers:{circle:{tooltip:{start:"Klik en sleep om de cirkel te tekenen."},radius:"Radius"},circlemarker:{tooltip:{start:"Klik op de kaart om de cirkelmarkering te plaatsen."}},marker:{tooltip:{start:"Klik op de kaart om de markering te plaatsen."}},polygon:{tooltip:{start:"Klik om te beginnen met het tekenen van de polygoon.",cont:"Klik om door te gaan met het tekenen van de vorm.",end:"Klik op het eerste punt om dit polygoon te sluiten."}},polyline:{error:"<strong>Fout:</strong> vormranden kunnen niet kruisen!",tooltip:{start:"Klik om te beginnen met het tekenen van een lijn.",cont:"Klik om door te gaan met het tekenen van de lijn.",end:"Klik laatst getekende punt om deze lijn te voltooien."}},rectangle:{tooltip:{start:"Klik en sleep om een rechthoek te tekenen."}},simpleshape:{tooltip:{end:"Laat de muis los om de tekening te voltooien."}}}},edit:{toolbar:{actions:{save:{title:"Wijzigingen opslaan.",text:"Opslaan"},cancel:{title:"Annuleer bewerken en verwijder alle wijzigingen.",text:"Annuleren"},clearAll:{title:"Verwijder alle lagen.",text:"Verwijderd alles"}},buttons:{edit:"Lagen bewerken.",editDisabled:"Geen lagen om te bewerken.",remove:"Verwijder lagen.",removeDisabled:"Geen lagen om te verwijderen."}},handlers:{edit:{tooltip:{text:"Sleep hoeken om te schalen of middenpunt om te verplaatsen.",subtext:"Klik op annuleren om wijzigingen ongedaan te maken."}},remove:{tooltip:{text:"Klik op een vorm om die te verwijderen"}}}}},$g={draw:{toolbar:{actions:{title:"Avbryt markering",text:"Avbryt"},finish:{title:"Ferdiggjør markering",text:"Ferdiggjør"},undo:{title:"Ta bort siste punkt",text:"Slett siste punkt"},buttons:{polyline:"Tegn flere linjer",polygon:"Tegn en mangekant",rectangle:"Tegn et rektangel",circle:"Tegn en sirkel",marker:"Sett et markeringspunkt",circlemarker:"Tegn et sirkelpunkt"}},handlers:{circle:{tooltip:{start:"Klikk og dra for å tegne en sirkel."},radius:"Radius"},circlemarker:{tooltip:{start:"Klikk på kartet for å plassere et sirkelpunkt."}},marker:{tooltip:{start:"Klikk på kartet for å markere et punkt."}},polygon:{tooltip:{start:"Klikk for å tegne et område.",cont:"Klikk for å fortsette tegningen.",end:"Klikk på det første punktet for å lukke området."}},polyline:{error:"<strong>Error:</strong> kantene kan ikke krysses!",tooltip:{start:"Klikk for å tegne en linje.",cont:"Klikk for å fortsette å tegne linjen.",end:"Kikk siste punkt for å ferdiggjøre linjen."}},rectangle:{tooltip:{start:"Klikk og dra for å tegne et rektangel."}},simpleshape:{tooltip:{end:"Slipp museknappen for å gjøre tegningen ferdig."}}}},edit:{toolbar:{actions:{save:{title:"Lagre endringer.",text:"Lagre"},cancel:{title:"Avbryt redigering og forkast endringer.",text:"Avbryt"},clearAll:{title:"Nullstill alle figurer.",text:"Nullstill alt."}},buttons:{edit:"Rediger figur.",editDisabled:"Ingen figur å redigere.",remove:"Slett figur.",removeDisabled:"Ingen figur å slette."}},handlers:{edit:{tooltip:{text:"Dra markør for å redigere.",subtext:"Klikk avbryt for å angre endringer."}},remove:{tooltip:{text:"Klikk for å ta bort"}}}}},Jg={draw:{toolbar:{actions:{title:"Anuluj wyznaczanie",text:"Anuluj"},finish:{title:"Zakończ wyznaczanie",text:"Zakończ"},undo:{title:"Usuń ostatnio wyznaczony punkt",text:"Usuń ostatni punkt"},buttons:{polyline:"Wyznacz wzór",polygon:"Wyznacz wielokąt",rectangle:"Wyznacz prostokąt",circle:"Wyznacz koło",marker:"Umieść znacznik",circlemarker:"Umieść okrągły znacznik"}},handlers:{circle:{tooltip:{start:"Kliknij i przeciągnij, aby wyznaczyć koło."},radius:"Promień"},circlemarker:{tooltip:{start:"Kliknij na mapę, aby umieścić okrągły znacznik."}},marker:{tooltip:{start:"Kliknij na mapę, aby umieścić znacznik."}},polygon:{tooltip:{start:"Kliknij, aby rozpocząć wyznaczanie kształtu.",cont:"Kliknij, aby kontynuować wyznaczanie kształtu.",end:"Kliknij pierwszy punkt, aby zakończyć ten kształt."}},polyline:{error:"<strong>Błąd:</strong> odcinki nie mogą się przecinać!",tooltip:{start:"Kliknij, aby rozpocząć wyznaczanie lini.",cont:"Kliknij, aby kontynuować wyznaczanie lini.",end:"Kliknij ostatni punkt, aby ukończyć linię."}},rectangle:{tooltip:{start:"Kliknij i przeciągnij, aby wyznaczyć prostokąt."}},simpleshape:{tooltip:{end:"Zwolnij przycisk myszy, aby ukończyć wyznaczanie."}}}},edit:{toolbar:{actions:{save:{title:"Zapisz zmiany.",text:"Zapisz"},cancel:{title:"Anuluj edytowanie i odrzuć zmiany.",text:"Anuluj"},clearAll:{title:"Wyczyść wszystkie warstwy.",text:"Wyczyść wszystko"}},buttons:{edit:"Edytuj warstwy.",editDisabled:"Brak warstw do edycji.",remove:"Usuń warstwy.",removeDisabled:"Brak warstw do usunięcia."}},handlers:{edit:{tooltip:{text:"Przeciągnij uchwyt lub znacznik, aby edytować.",subtext:"Kliknij anuluj, aby odrzucić zmiany."}},remove:{tooltip:{text:"Kliknij obiekt, aby go usunąć."}}}}},Qg={draw:{toolbar:{actions:{title:"Cancelar desenho",text:"Cancelar"},finish:{title:"Terminar desenho",text:"Terminar"},undo:{title:"Eliminar último ponto desenhado",text:"Eliminar último ponto"},buttons:{polyline:"Desenhar uma polilinha",polygon:"Desenhar um polígono",rectangle:"Desenhar um retângulo",circle:"Desenhar um círculo",marker:"Desenhar un marcador",circlemarker:"Desenhar um marcador circular"}},handlers:{circle:{tooltip:{start:"Clique e arrastrar para desenhar o círculo."},radius:"Raio"},circlemarker:{tooltip:{start:"Clique no mapa para colocar o marcador circular."}},marker:{tooltip:{start:"Clique no mapa para colocar o marcador."}},polygon:{tooltip:{start:"Clique para começar a desenhar a figura.",cont:"Clique para continuar desenhando a figura.",end:"Clique no primeiro ponto para fechar esta figura."}},polyline:{error:"<strong>Erro:</strong> as bordas de uma forma não podem atravessar!",tooltip:{start:"Clique para começar a desenhar a linha.",cont:"Clique para continuar desenhando a linha.",end:"Clique no último ponto para terminar a linha."}},rectangle:{tooltip:{start:"Clique e arrastrar para desenhar o retângulo."}},simpleshape:{tooltip:{end:"Solte o mouse para terminar o desenho."}}}},edit:{toolbar:{actions:{save:{title:"Guardar alterações.",text:"Guardar"},cancel:{title:"Cancelar edição, descarta todas as alterações.",text:"Cancelar"},clearAll:{title:"Limpar todas as camadas.",text:"Limpar tudo"}},buttons:{edit:"Editar camadas.",editDisabled:"Nenhuma camada que editar.",remove:"Eliminar camadas.",removeDisabled:"Nenhuma camada que eliminar."}},handlers:{edit:{tooltip:{text:"Arraste os manipuladores ou marcadores para editar a figura.",subtext:"Clique em cancelar para desfazer as alterações."}},remove:{tooltip:{text:"Clique em uma figura para removê-la"}}}}},t_={draw:{toolbar:{actions:{title:"Отменить рисование",text:"Отмена"},finish:{title:"Завершить рисование",text:"Завершить"},undo:{title:"Удалить последнюю нарисованную точку",text:"Удалить последнюю точку"},buttons:{polyline:"Нарисовать полилинию",polygon:"Нарисовать полигон",rectangle:"Нарисовать прямоугольник",circle:"Нарисовать круг",marker:"Нарисовать точку",circlemarker:"Нарисовать точку(в виде круга)"}},handlers:{circle:{tooltip:{start:"Кликните и перетащите для того, чтобы нарисовать круг."},radius:"Радиус"},circlemarker:{tooltip:{start:"Кликните на карту для установки точки."}},marker:{tooltip:{start:"Кликните на карту для установки точки."}},polygon:{tooltip:{start:"Кликните, чтобы начать рисовать контур.",cont:"Кликните, чтобы завершить рисовать контур.",end:"Кликните на первую точку, чтобы завершить рисование контура."}},polyline:{error:"<strong>Ошибка:</strong> линия не может самопересекаться!",tooltip:{start:"Кликните, чтобы начать рисовать линию.",cont:"Кликните, чтобы завершить рисование линии.",end:"Кликните на последнюю точку, чтобы завершить рисование линии."}},rectangle:{tooltip:{start:"Кликните и перетащите, чтобы нарисовать прямоугольник."}},simpleshape:{tooltip:{end:"Отпустите кнопку мыши для завершения рисования."}}}},edit:{toolbar:{actions:{save:{title:"Сохранить изменения.",text:"Сохранить"},cancel:{title:"Отменить редактирование, откатить все изменения.",text:"Отмена"},clearAll:{title:"Очистить все редактируемые слои.",text:"Очистить всё"}},buttons:{edit:"Редактировать.",editDisabled:"Нет слоёв для редактирования.",remove:"Удалить.",removeDisabled:"Нет слоёв для удаления."}},handlers:{edit:{tooltip:{text:"Перетащите вершины или точки для редактирования фигуры.",subtext:'Нажмите "Отмена", чтобы откатить изменения.'}},remove:{tooltip:{text:"Кликните на фигуру для удаления"}}}}},e_={draw:{toolbar:{actions:{title:"Zrušiť kreslenie",text:"Zrušiť"},finish:{title:"Dokončiť kreslenie",text:"Dokončiť"},undo:{title:"Zmazať posledný nakreslený bod",text:"Zmazať posledný bod"},buttons:{polyline:"Nakresliť čiaru",polygon:"Nakresliť polygón",rectangle:"Nakresliť obdĺžnik",circle:"Nakresliť kruh",marker:"Nakresliť bod",circlemarker:"Nakresliť kruhový bod"}},handlers:{circle:{tooltip:{start:"Kliknite a potiahnite, aby ste nakreslili kruh."},radius:"Polomer"},circlemarker:{tooltip:{start:"Kliknite na mapu aby ste umiestnili kruhový bod."}},marker:{tooltip:{start:"Kliknite na mapu aby ste umiestnili bod."}},polygon:{tooltip:{start:"Kliknite, aby ste začali kresliť útvar.",cont:"Kliknite, aby ste nakreslili ďalší bod útvaru.",end:"Kliknite na prvý bod, aby ste uzavreli útvar."}},polyline:{error:"<strong>Chyba:</strong> čiary sa nesmú pretínať!",tooltip:{start:"Kliknite, aby ste začali kresliť čiaru.",cont:"Kliknite, aby ste nakreslili ďalší bod čiary.",end:"Kliknite posledný bod, aby ste dokončili čiaru."}},rectangle:{tooltip:{start:"Kliknite a potiahnite, aby ste nakreslili štvorec."}},simpleshape:{tooltip:{end:"Uvoľnením tlačidla myši ukončíte kreslenie."}}}},edit:{toolbar:{actions:{save:{title:"Uložiť zmeny.",text:"Uložiť"},cancel:{title:"Ukončiť úpravu, zrušiť všetky zmeny.",text:"Zrušiť"},clearAll:{title:"Zmazať všetky vrstvy.",text:"Zmazať všetko"}},buttons:{edit:"Upraviť vrstvy.",editDisabled:"Žiadne vrstvy pre úpravu",remove:"Zmazať vrstvy.",removeDisabled:"Žiadne vrstvy pre zmazanie."}},handlers:{edit:{tooltip:{text:"Potiahnutím vyznačených štvorčekov, alebo bodov upravíte útvar.",subtext:"Kliknite zrušiť, pre zrušenie zmien."}},remove:{tooltip:{text:"Kliknite na útvar pre jeho zmazanie."}}}}},i_={draw:{toolbar:{actions:{title:"Скасувати креслення",text:"Скасувати"},finish:{title:"Завершити креслення",text:"Завершити"},undo:{title:"Видалити останню нанесену точку",text:"Видалити останню точку"},buttons:{polyline:"Накреслити криву",polygon:"Накреслити многокутник",rectangle:"Накреслити прямокутник",circle:"Накреслити коло",marker:"Розмістити маркер",circlemarker:"Розмістити маркер-коло"}},handlers:{circle:{tooltip:{start:"Натисніть і перетягуйте вказівник, щоб накреслити коло."},radius:"Радіус"},circlemarker:{tooltip:{start:"Натисніть на мапу, щоб розмістити маркер-коло."}},marker:{tooltip:{start:"Натисніть на мапу, щоб розмістити маркер."}},polygon:{tooltip:{start:"Натисніть, щоб накреслити фігуру.",cont:"Натисніть, щоб продовжити креслення фігури.",end:"Натисніть на першу точку, щоб замкнути цю фігуру."}},polyline:{error:"<strong>Помилка:</strong> сторони фігури не мають перетинатись!",tooltip:{start:"Натисніть, щоб накреслити лінію.",cont:"Натисніть, щоб продовжити креслення лінії.",end:"Натисніть на останню точку, щоб завершити лінію."}},rectangle:{tooltip:{start:"Натисніть і перетягуйте вказівник, щоб накреслити прямокутник."}},simpleshape:{tooltip:{end:"Відпустіть мишку, щоб завершити рисування."}}}},edit:{toolbar:{actions:{save:{title:"Зберегти зміни.",text:"Зберегти"},cancel:{title:"Припинити редагування, скасувати всі зміни.",text:"Скасувати"},clearAll:{title:"Очистити всі шари.",text:"Очистити все"}},buttons:{edit:"Редагувати шари.",editDisabled:"Немає шарів для редагування.",remove:"Видалити шари.",removeDisabled:"Немає шарів для видалення."}},handlers:{edit:{tooltip:{text:"Перетягуйте важелі або маркер для редагування фігури.",subtext:"Натисніть «Скасувати» для скасування змін."}},remove:{tooltip:{text:"Натисніть на фігуру для видалення"}}}}},n_={draw:{toolbar:{actions:{title:"الغاء الرسم",text:"الغاء"},finish:{title:"انهاء الرسم",text:"انهاء"},undo:{title:"مسح اخر رسمة",text:"مسح اخر نقطة"},buttons:{polyline:"رسم خط",polygon:"رسم منطقة",rectangle:"رسم مستطيل",circle:"رسم دائرة",marker:"رسم علامة",circlemarker:"رسم علامة دائرة"}},handlers:{circle:{tooltip:{start:"اضغط واسحب لرسم دائرة"},radius:"القطر"},circlemarker:{tooltip:{start:"اضغط على الخريطة لرسم دائرة"}},marker:{tooltip:{start:"اضغط على الخريطة لرسم نقطة"}},polygon:{tooltip:{start:"اضغط لبدء رسم منطقة",cont:"اضغط لاستمرار رسم منطقة",end:"اضغط على اول نقطة لاكمال المنطقة"}},polyline:{error:"<strong>خطأ:</strong> لا يمكن تقاطع الخطوط",tooltip:{start:"اضغط لبدئ رسم الخط",cont:"اضغط لاستكمال رسم الخط",end:"اضغط على اخر نقطة للانهاء"}},rectangle:{tooltip:{start:"اضغط واسحب لرسم مستطيل"}},simpleshape:{tooltip:{end:"اترك الماوس للانهاء"}}}},edit:{toolbar:{actions:{save:{title:"حفظ التغييرات",text:"حفظ"},cancel:{title:"الغاء كل التعديلات",text:"الغاء"},clearAll:{title:"مسح كل الطبقات",text:"مسح الكل"}},buttons:{edit:"تعديل الطبقات",editDisabled:"لاتوجد طبقات للتعديل",remove:"مسح الطبقات",removeDisabled:"لا يوجد طبقات للمسح"}},handlers:{edit:{tooltip:{text:"اسحب للتعديل",subtext:"اضغط الغاء لمسح التعديلات"}},remove:{tooltip:{text:"اضغط على رسمة للمسح"}}}}},r_={draw:{toolbar:{actions:{title:"取消绘制",text:"取消"},finish:{title:"结束绘制",text:"结束"},undo:{title:"删除最后一个绘制点",text:"删除最后一个点"},buttons:{polyline:"绘制折线",polygon:"绘制多边形",rectangle:"绘制矩形",circle:"绘制圆形",marker:"绘制标志物",circlemarker:"绘制圆形标志物"}},handlers:{circle:{tooltip:{start:"单击并拖拽绘制圆形"},radius:"半径"},circlemarker:{tooltip:{start:"单击地图放置圆形标志物"}},marker:{tooltip:{start:"单击地图放置标志物"}},polygon:{tooltip:{start:"单击地图绘制图形",cont:"继续单击绘制图形",end:"单击起始点结束绘制"}},polyline:{error:"<strong>错误:</strong> 图形边缘不能交叉!",tooltip:{start:"单击地图绘制折线",cont:"继续单击绘制下一段折线",end:"单击最后一个点结束绘制"}},rectangle:{tooltip:{start:"单击并拖拽绘制矩形"}},simpleshape:{tooltip:{end:"松开鼠标结束绘制"}}}},edit:{toolbar:{actions:{save:{title:"保存变更",text:"保存"},cancel:{title:"取消编辑,放弃所有变更",text:"取消"},clearAll:{title:"清除所有图形",text:"清除所有"}},buttons:{edit:"编辑图形",editDisabled:"无图形可编辑",remove:"删除图形",removeDisabled:"无图形可删除"}},handlers:{edit:{tooltip:{text:"拖拽线段或标志点以编辑图形",subtext:"点击<strong>取消</strong>按钮撤销变更"}},remove:{tooltip:{text:"单击图形以移除"}}}}},s_={draw:{toolbar:{actions:{title:"Çizimi iptal et",text:"İptal"},finish:{title:"Çizimi Bitir",text:"Bitir"},undo:{title:"Çizilen son noktayı sil",text:"Son noktayı sil"},buttons:{polyline:"Çoklu çizgi çiz",polygon:"Çokgen çiz",rectangle:"Dikdörtgen çiz",circle:"Yuvarlak çiz",marker:"İşaretçi çiz",circlemarker:"Yuvarlak işaretçi çiz"}},handlers:{circle:{tooltip:{start:"Yuvarlak çizmek için tıklayın ve sürükleyin."},radius:"Çap"},circlemarker:{tooltip:{start:"Yuvarlak işaretçi yerleştirmek için haritaya tıklayın."}},marker:{tooltip:{start:"İşaretçi yerleştirmek için haritaya tıklayın."}},polygon:{tooltip:{start:"Şekil çizmeye başlamak için tıklayın.",cont:"Şekil çizmeye devam etmek için tıklayın.",end:"Bu şekli tamamlamak için ilk noktayı tıklayın."}},polyline:{error:"<strong>Hata:</strong> şekil kenarları kesişemez!",tooltip:{start:"Hat çizmeye başlamak için tıklayın.",cont:"Hat çizmeye devam etmek için tıklayın.",end:"Bu hattı tamamlamak için ilk noktayı tıklayın."}},rectangle:{tooltip:{start:"Dikdörtgen çizmek için tıklayın ve sürükleyin."}},simpleshape:{tooltip:{end:"Çizimi bitirmek için fareyi bırakın."}}}},edit:{toolbar:{actions:{save:{title:"Değişiklikleri kaydet.",text:"Kaydet"},cancel:{title:"Düzenlemeyi iptal et, tüm değişiklikleri çıkar.",text:"İptal"},clearAll:{title:"Tüm katmanları temizle.",text:"Hepsini temizle"}},buttons:{edit:"Katmanları düzenle.",editDisabled:"Düzenlenecek katman bulunamadı.",remove:"Katmanları sil.",removeDisabled:"Silinecek katman bulunamadı."}},handlers:{edit:{tooltip:{text:"Çizimi düzenlemek için köşeleri veya işaretçiyi sürükleyin.",subtext:"Değişiklikleri geri almak için iptale tıklayın."}},remove:{tooltip:{text:"Çizimi silmek için tıklayın"}}}}},o_={draw:{toolbar:{actions:{title:"Anulați desenul",text:"Anulare"},finish:{title:"Terminați desenul",text:"Termina"},undo:{title:"Șterge ultimul punct desenat",text:"Șterge ultimul punct"},buttons:{polyline:"Desenați o polilinie",polygon:"Desenați un poligon",rectangle:"Desenați un dreptunghi",circle:"Desenează un cerc",marker:"Desenați un marker",circlemarker:"Desenați un marcator de cerc"}},handlers:{circle:{tooltip:{start:"Dați clic și trageți pentru a desena cerc."},radius:"Rază"},circlemarker:{tooltip:{start:"Dați clic pe hartă pentru a plasa marcatorul cercului."}},marker:{tooltip:{start:"Dați clic pe hartă pentru a plasa marcatorul."}},polygon:{tooltip:{start:"Dați clic pentru a începe desenarea parcelei",cont:"Dați clic pentru a continua desenarea parcelei",end:"Dați clic pe primul punct pentru a închide această parcelei."}},polyline:{error:"<strong>Eroare:</strong> marginile formei nu se pot traversa!",tooltip:{start:"Daţi clic pentru a începe să desenezi o linie.",cont:"Daţi clic pentru a continua să desenezi linia.",end:"Dați clic pe ultimul punct pentru a ajunge la linia de sosire."}},rectangle:{tooltip:{start:"Dați clic și trageți pentru a desena dreptunghi."}},simpleshape:{tooltip:{end:"Eliberați mouse-ul pentru a termina desenul."}}}},edit:{toolbar:{actions:{save:{title:"Salvează modificările.",text:"Salvați"},cancel:{title:"Anulează editarea, anulează toate modificările.",text:"Anulare"},clearAll:{title:"Ștergeți toate straturile.",text:"Curata tot"}},buttons:{edit:"Editați straturi.",editDisabled:"Fără straturi de editat.",remove:"Ștergeți straturile.",removeDisabled:"Nu există straturi de șters."}},handlers:{edit:{tooltip:{text:"Trageți mânerele sau marcatorul pentru a edita caracteristica.",subtext:"Dați clic pe Anulare pentru a anula modificările."}},remove:{tooltip:{text:"Dați clic pe o caracteristică pentru a o elimina"}}}}},a_=function(r){var t=Bh;switch(r.toLocaleLowerCase()){case"de":case"de-at":case"de-be":case"de-ch":case"de-de":case"de-li":case"de-lu":case"de-de.utf-8":case"german":t=jg;break;case"en":case"en-us":case"en-ca":case"en-gb":case"en-us.utf-8":case"english":t=Bh;break;case"ar":case"ar-ae":case"ar-eg":case"arabic":t=n_;break;case"fi":case"fi-fi":case"fi-fi.utf-8":case"finnish":t=Hg;break;case"fr":case"fr-us":case"fr-ca":case"fr-us.utf-8":case"french":t=Vg;break;case"es":case"es-us":case"es-ca":case"es-us.utf-8":case"spanish":t=Wg;break;case"sk":case"sk-sk":case"sk-sk.utf-8":case"slovak":t=e_;break;case"pl":case"pl-pl":case"pl-pl.utf-8":case"polish":t=Jg;break;case"pt":case"pt-pt":case"pt-pt.utf-8":case"portuguese":t=Qg;break;case"uk":case"uk-ua":case"uk-ua.utf-8":case"ukrainian":t=i_;break;case"cs":case"cs-cz":case"cs-cz.utf-8":case"czech":t=Zg;break;case"ru":case"ru-ru":case"ru-ru.utf-8":case"russian":t=t_;break;case"ka":case"ka-ka":case"ka-ka.utf-8":case"georgian":t=Kg;break;case"no":case"no-no":case"no-no.utf-8":case"norwegian":t=$g;break;case"am":case"am-et":case"am-et.utf-8":case"amharic":t=Ug;break;case"nl":case"nl-nl":case"nl-nl.utf-8":case"nl-be":case"nl-be.utf-8":case"dutch":case"belgian":case"flemish":t=qg;break;case"it":case"it-it":case"it-ch":case"it-it.utf-8":case"it-ch.utf-8":case"italiano":case"italian":t=Yg;break;case"hu":case"hu-HU":case"hu-hu":case"hu-HU.utf-8":case"hu-hu.utf-8":case"magyar":case"hungarian":t=Xg;break;case"zh":case"zh-cn":case"zh-cn.utf-8":case"chinese":t=r_;break;case"tr":case"tr-tr":case"tr-tr.utf-8":case"turkish":t=s_;break;case"ro":case"ro-ro":case"ro-RO":case"ro-ro.utf-8":case"romanian":t=o_;break;default:throw new Error("[language] not found")}try{L&&L.drawLocal&&(L.drawLocal=t)}catch{}return t};function Gh(r,t){return function(){return r.apply(t,arguments)}}const{toString:l_}=Object.prototype,{getPrototypeOf:sa}=Object,ds=(r=>t=>{const e=l_.call(t);return r[e]||(r[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),De=r=>(r=r.toLowerCase(),t=>ds(t)===r),fs=r=>t=>typeof t===r,{isArray:vn}=Array,ur=fs("undefined");function h_(r){return r!==null&&!ur(r)&&r.constructor!==null&&!ur(r.constructor)&&ye(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const Uh=De("ArrayBuffer");function c_(r){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(r):t=r&&r.buffer&&Uh(r.buffer),t}const u_=fs("string"),ye=fs("function"),Zh=fs("number"),gs=r=>r!==null&&typeof r=="object",d_=r=>r===!0||r===!1,_s=r=>{if(ds(r)!=="object")return!1;const t=sa(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},f_=De("Date"),g_=De("File"),__=De("Blob"),p_=De("FileList"),m_=r=>gs(r)&&ye(r.pipe),y_=r=>{let t;return r&&(typeof FormData=="function"&&r instanceof FormData||ye(r.append)&&((t=ds(r))==="formdata"||t==="object"&&ye(r.toString)&&r.toString()==="[object FormData]"))},v_=De("URLSearchParams"),x_=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function dr(r,t,{allOwnKeys:e=!1}={}){if(r===null||typeof r>"u")return;let i,n;if(typeof r!="object"&&(r=[r]),vn(r))for(i=0,n=r.length;i<n;i++)t.call(null,r[i],i,r);else{const o=e?Object.getOwnPropertyNames(r):Object.keys(r),a=o.length;let h;for(i=0;i<a;i++)h=o[i],t.call(null,r[h],h,r)}}function jh(r,t){t=t.toLowerCase();const e=Object.keys(r);let i=e.length,n;for(;i-- >0;)if(n=e[i],t===n.toLowerCase())return n;return null}const Wh=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Hh=r=>!ur(r)&&r!==Wh;function oa(){const{caseless:r}=Hh(this)&&this||{},t={},e=(i,n)=>{const o=r&&jh(t,n)||n;_s(t[o])&&_s(i)?t[o]=oa(t[o],i):_s(i)?t[o]=oa({},i):vn(i)?t[o]=i.slice():t[o]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&dr(arguments[i],e);return t}const E_=(r,t,e,{allOwnKeys:i}={})=>(dr(t,(n,o)=>{e&&ye(n)?r[o]=Gh(n,e):r[o]=n},{allOwnKeys:i}),r),w_=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),L_=(r,t,e,i)=>{r.prototype=Object.create(t.prototype,i),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:t.prototype}),e&&Object.assign(r.prototype,e)},b_=(r,t,e,i)=>{let n,o,a;const h={};if(t=t||{},r==null)return t;do{for(n=Object.getOwnPropertyNames(r),o=n.length;o-- >0;)a=n[o],(!i||i(a,r,t))&&!h[a]&&(t[a]=r[a],h[a]=!0);r=e!==!1&&sa(r)}while(r&&(!e||e(r,t))&&r!==Object.prototype);return t},T_=(r,t,e)=>{r=String(r),(e===void 0||e>r.length)&&(e=r.length),e-=t.length;const i=r.indexOf(t,e);return i!==-1&&i===e},C_=r=>{if(!r)return null;if(vn(r))return r;let t=r.length;if(!Zh(t))return null;const e=new Array(t);for(;t-- >0;)e[t]=r[t];return e},S_=(r=>t=>r&&t instanceof r)(typeof Uint8Array<"u"&&sa(Uint8Array)),P_=(r,t)=>{const i=(r&&r[Symbol.iterator]).call(r);let n;for(;(n=i.next())&&!n.done;){const o=n.value;t.call(r,o[0],o[1])}},k_=(r,t)=>{let e;const i=[];for(;(e=r.exec(t))!==null;)i.push(e);return i},R_=De("HTMLFormElement"),M_=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,i,n){return i.toUpperCase()+n}),Vh=(({hasOwnProperty:r})=>(t,e)=>r.call(t,e))(Object.prototype),I_=De("RegExp"),Xh=(r,t)=>{const e=Object.getOwnPropertyDescriptors(r),i={};dr(e,(n,o)=>{let a;(a=t(n,o,r))!==!1&&(i[o]=a||n)}),Object.defineProperties(r,i)},A_=r=>{Xh(r,(t,e)=>{if(ye(r)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const i=r[e];if(ye(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},D_=(r,t)=>{const e={},i=n=>{n.forEach(o=>{e[o]=!0})};return vn(r)?i(r):i(String(r).split(t)),e},O_=()=>{},F_=(r,t)=>(r=+r,Number.isFinite(r)?r:t),aa="abcdefghijklmnopqrstuvwxyz",Yh="0123456789",Kh={DIGIT:Yh,ALPHA:aa,ALPHA_DIGIT:aa+aa.toUpperCase()+Yh},z_=(r=16,t=Kh.ALPHA_DIGIT)=>{let e="";const{length:i}=t;for(;r--;)e+=t[Math.random()*i|0];return e};function N_(r){return!!(r&&ye(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const B_=r=>{const t=new Array(10),e=(i,n)=>{if(gs(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;const o=vn(i)?[]:{};return dr(i,(a,h)=>{const c=e(a,n+1);!ur(c)&&(o[h]=c)}),t[n]=void 0,o}}return i};return e(r,0)},G_=De("AsyncFunction"),A={isArray:vn,isArrayBuffer:Uh,isBuffer:h_,isFormData:y_,isArrayBufferView:c_,isString:u_,isNumber:Zh,isBoolean:d_,isObject:gs,isPlainObject:_s,isUndefined:ur,isDate:f_,isFile:g_,isBlob:__,isRegExp:I_,isFunction:ye,isStream:m_,isURLSearchParams:v_,isTypedArray:S_,isFileList:p_,forEach:dr,merge:oa,extend:E_,trim:x_,stripBOM:w_,inherits:L_,toFlatObject:b_,kindOf:ds,kindOfTest:De,endsWith:T_,toArray:C_,forEachEntry:P_,matchAll:k_,isHTMLForm:R_,hasOwnProperty:Vh,hasOwnProp:Vh,reduceDescriptors:Xh,freezeMethods:A_,toObjectSet:D_,toCamelCase:M_,noop:O_,toFiniteNumber:F_,findKey:jh,global:Wh,isContextDefined:Hh,ALPHABET:Kh,generateString:z_,isSpecCompliantForm:N_,toJSONObject:B_,isAsyncFn:G_,isThenable:r=>r&&(gs(r)||ye(r))&&ye(r.then)&&ye(r.catch)};function gt(r,t,e,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),i&&(this.request=i),n&&(this.response=n)}A.inherits(gt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:A.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const qh=gt.prototype,$h={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{$h[r]={value:r}}),Object.defineProperties(gt,$h),Object.defineProperty(qh,"isAxiosError",{value:!0}),gt.from=(r,t,e,i,n,o)=>{const a=Object.create(qh);return A.toFlatObject(r,a,function(c){return c!==Error.prototype},h=>h!=="isAxiosError"),gt.call(a,r.message,t,e,i,n),a.cause=r,a.name=r.name,o&&Object.assign(a,o),a};const U_=null;function la(r){return A.isPlainObject(r)||A.isArray(r)}function Jh(r){return A.endsWith(r,"[]")?r.slice(0,-2):r}function Qh(r,t,e){return r?r.concat(t).map(function(n,o){return n=Jh(n),!e&&o?"["+n+"]":n}).join(e?".":""):t}function Z_(r){return A.isArray(r)&&!r.some(la)}const j_=A.toFlatObject(A,{},null,function(t){return/^is[A-Z]/.test(t)});function ps(r,t,e){if(!A.isObject(r))throw new TypeError("target must be an object");t=t||new FormData,e=A.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,b){return!A.isUndefined(b[E])});const i=e.metaTokens,n=e.visitor||f,o=e.dots,a=e.indexes,c=(e.Blob||typeof Blob<"u"&&Blob)&&A.isSpecCompliantForm(t);if(!A.isFunction(n))throw new TypeError("visitor must be a function");function d(y){if(y===null)return"";if(A.isDate(y))return y.toISOString();if(!c&&A.isBlob(y))throw new gt("Blob is not supported. Use a Buffer instead.");return A.isArrayBuffer(y)||A.isTypedArray(y)?c&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function f(y,E,b){let S=y;if(y&&!b&&typeof y=="object"){if(A.endsWith(E,"{}"))E=i?E:E.slice(0,-2),y=JSON.stringify(y);else if(A.isArray(y)&&Z_(y)||(A.isFileList(y)||A.endsWith(E,"[]"))&&(S=A.toArray(y)))return E=Jh(E),S.forEach(function(T,P){!(A.isUndefined(T)||T===null)&&t.append(a===!0?Qh([E],P,o):a===null?E:E+"[]",d(T))}),!1}return la(y)?!0:(t.append(Qh(b,E,o),d(y)),!1)}const _=[],m=Object.assign(j_,{defaultVisitor:f,convertValue:d,isVisitable:la});function v(y,E){if(!A.isUndefined(y)){if(_.indexOf(y)!==-1)throw Error("Circular reference detected in "+E.join("."));_.push(y),A.forEach(y,function(S,w){(!(A.isUndefined(S)||S===null)&&n.call(t,S,A.isString(w)?w.trim():w,E,m))===!0&&v(S,E?E.concat(w):[w])}),_.pop()}}if(!A.isObject(r))throw new TypeError("data must be an object");return v(r),t}function tc(r){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function ha(r,t){this._pairs=[],r&&ps(r,this,t)}const ec=ha.prototype;ec.append=function(t,e){this._pairs.push([t,e])},ec.toString=function(t){const e=t?function(i){return t.call(this,i,tc)}:tc;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function W_(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ic(r,t,e){if(!t)return r;const i=e&&e.encode||W_,n=e&&e.serialize;let o;if(n?o=n(t,e):o=A.isURLSearchParams(t)?t.toString():new ha(t,e).toString(i),o){const a=r.indexOf("#");a!==-1&&(r=r.slice(0,a)),r+=(r.indexOf("?")===-1?"?":"&")+o}return r}class H_{constructor(){this.handlers=[]}use(t,e,i){return this.handlers.push({fulfilled:t,rejected:e,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){A.forEach(this.handlers,function(i){i!==null&&t(i)})}}const nc=H_,rc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},V_=typeof URLSearchParams<"u"?URLSearchParams:ha,X_=typeof FormData<"u"?FormData:null,Y_=typeof Blob<"u"?Blob:null,K_=(()=>{let r;return typeof navigator<"u"&&((r=navigator.product)==="ReactNative"||r==="NativeScript"||r==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),q_=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Oe={isBrowser:!0,classes:{URLSearchParams:V_,FormData:X_,Blob:Y_},isStandardBrowserEnv:K_,isStandardBrowserWebWorkerEnv:q_,protocols:["http","https","file","blob","url","data"]};function $_(r,t){return ps(r,new Oe.classes.URLSearchParams,Object.assign({visitor:function(e,i,n,o){return Oe.isNode&&A.isBuffer(e)?(this.append(i,e.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function J_(r){return A.matchAll(/\w+|\[(\w*)]/g,r).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Q_(r){const t={},e=Object.keys(r);let i;const n=e.length;let o;for(i=0;i<n;i++)o=e[i],t[o]=r[o];return t}function sc(r){function t(e,i,n,o){let a=e[o++];const h=Number.isFinite(+a),c=o>=e.length;return a=!a&&A.isArray(n)?n.length:a,c?(A.hasOwnProp(n,a)?n[a]=[n[a],i]:n[a]=i,!h):((!n[a]||!A.isObject(n[a]))&&(n[a]=[]),t(e,i,n[a],o)&&A.isArray(n[a])&&(n[a]=Q_(n[a])),!h)}if(A.isFormData(r)&&A.isFunction(r.entries)){const e={};return A.forEachEntry(r,(i,n)=>{t(J_(i),n,e,0)}),e}return null}function tp(r,t,e){if(A.isString(r))try{return(t||JSON.parse)(r),A.trim(r)}catch(i){if(i.name!=="SyntaxError")throw i}return(e||JSON.stringify)(r)}const ca={transitional:rc,adapter:["xhr","http"],transformRequest:[function(t,e){const i=e.getContentType()||"",n=i.indexOf("application/json")>-1,o=A.isObject(t);if(o&&A.isHTMLForm(t)&&(t=new FormData(t)),A.isFormData(t))return n&&n?JSON.stringify(sc(t)):t;if(A.isArrayBuffer(t)||A.isBuffer(t)||A.isStream(t)||A.isFile(t)||A.isBlob(t))return t;if(A.isArrayBufferView(t))return t.buffer;if(A.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let h;if(o){if(i.indexOf("application/x-www-form-urlencoded")>-1)return $_(t,this.formSerializer).toString();if((h=A.isFileList(t))||i.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return ps(h?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),tp(t)):t}],transformResponse:[function(t){const e=this.transitional||ca.transitional,i=e&&e.forcedJSONParsing,n=this.responseType==="json";if(t&&A.isString(t)&&(i&&!this.responseType||n)){const a=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(h){if(a)throw h.name==="SyntaxError"?gt.from(h,gt.ERR_BAD_RESPONSE,this,null,this.response):h}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Oe.classes.FormData,Blob:Oe.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};A.forEach(["delete","get","head","post","put","patch"],r=>{ca.headers[r]={}});const ua=ca,ep=A.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ip=r=>{const t={};let e,i,n;return r&&r.split(`
14
+ `).forEach(function(a){n=a.indexOf(":"),e=a.substring(0,n).trim().toLowerCase(),i=a.substring(n+1).trim(),!(!e||t[e]&&ep[e])&&(e==="set-cookie"?t[e]?t[e].push(i):t[e]=[i]:t[e]=t[e]?t[e]+", "+i:i)}),t},oc=Symbol("internals");function fr(r){return r&&String(r).trim().toLowerCase()}function ms(r){return r===!1||r==null?r:A.isArray(r)?r.map(ms):String(r)}function np(r){const t=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=e.exec(r);)t[i[1]]=i[2];return t}const rp=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function da(r,t,e,i,n){if(A.isFunction(i))return i.call(this,t,e);if(n&&(t=e),!!A.isString(t)){if(A.isString(i))return t.indexOf(i)!==-1;if(A.isRegExp(i))return i.test(t)}}function sp(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,i)=>e.toUpperCase()+i)}function op(r,t){const e=A.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(r,i+e,{value:function(n,o,a){return this[i].call(this,t,n,o,a)},configurable:!0})})}class ys{constructor(t){t&&this.set(t)}set(t,e,i){const n=this;function o(h,c,d){const f=fr(c);if(!f)throw new Error("header name must be a non-empty string");const _=A.findKey(n,f);(!_||n[_]===void 0||d===!0||d===void 0&&n[_]!==!1)&&(n[_||c]=ms(h))}const a=(h,c)=>A.forEach(h,(d,f)=>o(d,f,c));return A.isPlainObject(t)||t instanceof this.constructor?a(t,e):A.isString(t)&&(t=t.trim())&&!rp(t)?a(ip(t),e):t!=null&&o(e,t,i),this}get(t,e){if(t=fr(t),t){const i=A.findKey(this,t);if(i){const n=this[i];if(!e)return n;if(e===!0)return np(n);if(A.isFunction(e))return e.call(this,n,i);if(A.isRegExp(e))return e.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=fr(t),t){const i=A.findKey(this,t);return!!(i&&this[i]!==void 0&&(!e||da(this,this[i],i,e)))}return!1}delete(t,e){const i=this;let n=!1;function o(a){if(a=fr(a),a){const h=A.findKey(i,a);h&&(!e||da(i,i[h],h,e))&&(delete i[h],n=!0)}}return A.isArray(t)?t.forEach(o):o(t),n}clear(t){const e=Object.keys(this);let i=e.length,n=!1;for(;i--;){const o=e[i];(!t||da(this,this[o],o,t,!0))&&(delete this[o],n=!0)}return n}normalize(t){const e=this,i={};return A.forEach(this,(n,o)=>{const a=A.findKey(i,o);if(a){e[a]=ms(n),delete e[o];return}const h=t?sp(o):String(o).trim();h!==o&&delete e[o],e[h]=ms(n),i[h]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return A.forEach(this,(i,n)=>{i!=null&&i!==!1&&(e[n]=t&&A.isArray(i)?i.join(", "):i)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
15
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const i=new this(t);return e.forEach(n=>i.set(n)),i}static accessor(t){const i=(this[oc]=this[oc]={accessors:{}}).accessors,n=this.prototype;function o(a){const h=fr(a);i[h]||(op(n,a),i[h]=!0)}return A.isArray(t)?t.forEach(o):o(t),this}}ys.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),A.reduceDescriptors(ys.prototype,({value:r},t)=>{let e=t[0].toUpperCase()+t.slice(1);return{get:()=>r,set(i){this[e]=i}}}),A.freezeMethods(ys);const Je=ys;function fa(r,t){const e=this||ua,i=t||e,n=Je.from(i.headers);let o=i.data;return A.forEach(r,function(h){o=h.call(e,o,n.normalize(),t?t.status:void 0)}),n.normalize(),o}function ac(r){return!!(r&&r.__CANCEL__)}function gr(r,t,e){gt.call(this,r??"canceled",gt.ERR_CANCELED,t,e),this.name="CanceledError"}A.inherits(gr,gt,{__CANCEL__:!0});function ap(r,t,e){const i=e.config.validateStatus;!e.status||!i||i(e.status)?r(e):t(new gt("Request failed with status code "+e.status,[gt.ERR_BAD_REQUEST,gt.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}const lp=Oe.isStandardBrowserEnv?function(){return{write:function(e,i,n,o,a,h){const c=[];c.push(e+"="+encodeURIComponent(i)),A.isNumber(n)&&c.push("expires="+new Date(n).toGMTString()),A.isString(o)&&c.push("path="+o),A.isString(a)&&c.push("domain="+a),h===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(e){const i=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function hp(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function cp(r,t){return t?r.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):r}function lc(r,t){return r&&!hp(t)?cp(r,t):t}const up=Oe.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let i;function n(o){let a=o;return t&&(e.setAttribute("href",a),a=e.href),e.setAttribute("href",a),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:e.pathname.charAt(0)==="/"?e.pathname:"/"+e.pathname}}return i=n(window.location.href),function(a){const h=A.isString(a)?n(a):a;return h.protocol===i.protocol&&h.host===i.host}}():function(){return function(){return!0}}();function dp(r){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return t&&t[1]||""}function fp(r,t){r=r||10;const e=new Array(r),i=new Array(r);let n=0,o=0,a;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=i[o];a||(a=d),e[n]=c,i[n]=d;let _=o,m=0;for(;_!==n;)m+=e[_++],_=_%r;if(n=(n+1)%r,n===o&&(o=(o+1)%r),d-a<t)return;const v=f&&d-f;return v?Math.round(m*1e3/v):void 0}}function hc(r,t){let e=0;const i=fp(50,250);return n=>{const o=n.loaded,a=n.lengthComputable?n.total:void 0,h=o-e,c=i(h),d=o<=a;e=o;const f={loaded:o,total:a,progress:a?o/a:void 0,bytes:h,rate:c||void 0,estimated:c&&a&&d?(a-o)/c:void 0,event:n};f[t?"download":"upload"]=!0,r(f)}}const ga={http:U_,xhr:typeof XMLHttpRequest<"u"&&function(r){return new Promise(function(e,i){let n=r.data;const o=Je.from(r.headers).normalize(),a=r.responseType;let h;function c(){r.cancelToken&&r.cancelToken.unsubscribe(h),r.signal&&r.signal.removeEventListener("abort",h)}let d;A.isFormData(n)&&(Oe.isStandardBrowserEnv||Oe.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?A.isString(d=o.getContentType())&&o.setContentType(d.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let f=new XMLHttpRequest;if(r.auth){const y=r.auth.username||"",E=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";o.set("Authorization","Basic "+btoa(y+":"+E))}const _=lc(r.baseURL,r.url);f.open(r.method.toUpperCase(),ic(_,r.params,r.paramsSerializer),!0),f.timeout=r.timeout;function m(){if(!f)return;const y=Je.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),b={data:!a||a==="text"||a==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:y,config:r,request:f};ap(function(w){e(w),c()},function(w){i(w),c()},b),f=null}if("onloadend"in f?f.onloadend=m:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(m)},f.onabort=function(){f&&(i(new gt("Request aborted",gt.ECONNABORTED,r,f)),f=null)},f.onerror=function(){i(new gt("Network Error",gt.ERR_NETWORK,r,f)),f=null},f.ontimeout=function(){let E=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const b=r.transitional||rc;r.timeoutErrorMessage&&(E=r.timeoutErrorMessage),i(new gt(E,b.clarifyTimeoutError?gt.ETIMEDOUT:gt.ECONNABORTED,r,f)),f=null},Oe.isStandardBrowserEnv){const y=(r.withCredentials||up(_))&&r.xsrfCookieName&&lp.read(r.xsrfCookieName);y&&o.set(r.xsrfHeaderName,y)}n===void 0&&o.setContentType(null),"setRequestHeader"in f&&A.forEach(o.toJSON(),function(E,b){f.setRequestHeader(b,E)}),A.isUndefined(r.withCredentials)||(f.withCredentials=!!r.withCredentials),a&&a!=="json"&&(f.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&f.addEventListener("progress",hc(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",hc(r.onUploadProgress)),(r.cancelToken||r.signal)&&(h=y=>{f&&(i(!y||y.type?new gr(null,r,f):y),f.abort(),f=null)},r.cancelToken&&r.cancelToken.subscribe(h),r.signal&&(r.signal.aborted?h():r.signal.addEventListener("abort",h)));const v=dp(_);if(v&&Oe.protocols.indexOf(v)===-1){i(new gt("Unsupported protocol "+v+":",gt.ERR_BAD_REQUEST,r));return}f.send(n||null)})}};A.forEach(ga,(r,t)=>{if(r){try{Object.defineProperty(r,"name",{value:t})}catch{}Object.defineProperty(r,"adapterName",{value:t})}});const cc=r=>`- ${r}`,gp=r=>A.isFunction(r)||r===null||r===!1,uc={getAdapter:r=>{r=A.isArray(r)?r:[r];const{length:t}=r;let e,i;const n={};for(let o=0;o<t;o++){e=r[o];let a;if(i=e,!gp(e)&&(i=ga[(a=String(e)).toLowerCase()],i===void 0))throw new gt(`Unknown adapter '${a}'`);if(i)break;n[a||"#"+o]=i}if(!i){const o=Object.entries(n).map(([h,c])=>`adapter ${h} `+(c===!1?"is not supported by the environment":"is not available in the build"));let a=t?o.length>1?`since :
16
+ `+o.map(cc).join(`
17
+ `):" "+cc(o[0]):"as no adapter specified";throw new gt("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return i},adapters:ga};function _a(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new gr(null,r)}function dc(r){return _a(r),r.headers=Je.from(r.headers),r.data=fa.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),uc.getAdapter(r.adapter||ua.adapter)(r).then(function(i){return _a(r),i.data=fa.call(r,r.transformResponse,i),i.headers=Je.from(i.headers),i},function(i){return ac(i)||(_a(r),i&&i.response&&(i.response.data=fa.call(r,r.transformResponse,i.response),i.response.headers=Je.from(i.response.headers))),Promise.reject(i)})}const fc=r=>r instanceof Je?r.toJSON():r;function xn(r,t){t=t||{};const e={};function i(d,f,_){return A.isPlainObject(d)&&A.isPlainObject(f)?A.merge.call({caseless:_},d,f):A.isPlainObject(f)?A.merge({},f):A.isArray(f)?f.slice():f}function n(d,f,_){if(A.isUndefined(f)){if(!A.isUndefined(d))return i(void 0,d,_)}else return i(d,f,_)}function o(d,f){if(!A.isUndefined(f))return i(void 0,f)}function a(d,f){if(A.isUndefined(f)){if(!A.isUndefined(d))return i(void 0,d)}else return i(void 0,f)}function h(d,f,_){if(_ in t)return i(d,f);if(_ in r)return i(void 0,d)}const c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:h,headers:(d,f)=>n(fc(d),fc(f),!0)};return A.forEach(Object.keys(Object.assign({},r,t)),function(f){const _=c[f]||n,m=_(r[f],t[f],f);A.isUndefined(m)&&_!==h||(e[f]=m)}),e}const gc="1.5.1",pa={};["object","boolean","number","function","string","symbol"].forEach((r,t)=>{pa[r]=function(i){return typeof i===r||"a"+(t<1?"n ":" ")+r}});const _c={};pa.transitional=function(t,e,i){function n(o,a){return"[Axios v"+gc+"] Transitional option '"+o+"'"+a+(i?". "+i:"")}return(o,a,h)=>{if(t===!1)throw new gt(n(a," has been removed"+(e?" in "+e:"")),gt.ERR_DEPRECATED);return e&&!_c[a]&&(_c[a]=!0,console.warn(n(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(o,a,h):!0}};function _p(r,t,e){if(typeof r!="object")throw new gt("options must be an object",gt.ERR_BAD_OPTION_VALUE);const i=Object.keys(r);let n=i.length;for(;n-- >0;){const o=i[n],a=t[o];if(a){const h=r[o],c=h===void 0||a(h,o,r);if(c!==!0)throw new gt("option "+o+" must be "+c,gt.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new gt("Unknown option "+o,gt.ERR_BAD_OPTION)}}const ma={assertOptions:_p,validators:pa},vi=ma.validators;class vs{constructor(t){this.defaults=t,this.interceptors={request:new nc,response:new nc}}request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=xn(this.defaults,e);const{transitional:i,paramsSerializer:n,headers:o}=e;i!==void 0&&ma.assertOptions(i,{silentJSONParsing:vi.transitional(vi.boolean),forcedJSONParsing:vi.transitional(vi.boolean),clarifyTimeoutError:vi.transitional(vi.boolean)},!1),n!=null&&(A.isFunction(n)?e.paramsSerializer={serialize:n}:ma.assertOptions(n,{encode:vi.function,serialize:vi.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a=o&&A.merge(o.common,o[e.method]);o&&A.forEach(["delete","get","head","post","put","patch","common"],y=>{delete o[y]}),e.headers=Je.concat(a,o);const h=[];let c=!0;this.interceptors.request.forEach(function(E){typeof E.runWhen=="function"&&E.runWhen(e)===!1||(c=c&&E.synchronous,h.unshift(E.fulfilled,E.rejected))});const d=[];this.interceptors.response.forEach(function(E){d.push(E.fulfilled,E.rejected)});let f,_=0,m;if(!c){const y=[dc.bind(this),void 0];for(y.unshift.apply(y,h),y.push.apply(y,d),m=y.length,f=Promise.resolve(e);_<m;)f=f.then(y[_++],y[_++]);return f}m=h.length;let v=e;for(_=0;_<m;){const y=h[_++],E=h[_++];try{v=y(v)}catch(b){E.call(this,b);break}}try{f=dc.call(this,v)}catch(y){return Promise.reject(y)}for(_=0,m=d.length;_<m;)f=f.then(d[_++],d[_++]);return f}getUri(t){t=xn(this.defaults,t);const e=lc(t.baseURL,t.url);return ic(e,t.params,t.paramsSerializer)}}A.forEach(["delete","get","head","options"],function(t){vs.prototype[t]=function(e,i){return this.request(xn(i||{},{method:t,url:e,data:(i||{}).data}))}}),A.forEach(["post","put","patch"],function(t){function e(i){return function(o,a,h){return this.request(xn(h||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}vs.prototype[t]=e(),vs.prototype[t+"Form"]=e(!0)});const xs=vs;class ya{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(o){e=o});const i=this;this.promise.then(n=>{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](n);i._listeners=null}),this.promise.then=n=>{let o;const a=new Promise(h=>{i.subscribe(h),o=h}).then(n);return a.cancel=function(){i.unsubscribe(o)},a},t(function(o,a,h){i.reason||(i.reason=new gr(o,a,h),e(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);e!==-1&&this._listeners.splice(e,1)}static source(){let t;return{token:new ya(function(n){t=n}),cancel:t}}}const pp=ya;function mp(r){return function(e){return r.apply(null,e)}}function yp(r){return A.isObject(r)&&r.isAxiosError===!0}const va={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(va).forEach(([r,t])=>{va[t]=r});const vp=va;function pc(r){const t=new xs(r),e=Gh(xs.prototype.request,t);return A.extend(e,xs.prototype,t,{allOwnKeys:!0}),A.extend(e,t,null,{allOwnKeys:!0}),e.create=function(n){return pc(xn(r,n))},e}const Dt=pc(ua);Dt.Axios=xs,Dt.CanceledError=gr,Dt.CancelToken=pp,Dt.isCancel=ac,Dt.VERSION=gc,Dt.toFormData=ps,Dt.AxiosError=gt,Dt.Cancel=Dt.CanceledError,Dt.all=function(t){return Promise.all(t)},Dt.spread=mp,Dt.isAxiosError=yp,Dt.mergeConfig=xn,Dt.AxiosHeaders=Je,Dt.formToJSON=r=>sc(A.isHTMLForm(r)?new FormData(r):r),Dt.getAdapter=uc.getAdapter,Dt.HttpStatusCode=vp,Dt.default=Dt;const mc=Dt;pt.Edit.Circle=pt.Edit.CircleMarker.extend({_createResizeMarker:function(){var r=this._shape.getLatLng(),t=this._getResizeMarkerPoint(r);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(t,this.options.resizeIcon))},_getResizeMarkerPoint:function(r){var t=this._shape._radius*Math.cos(Math.PI/4),e=this._map.project(r);return this._map.unproject([e.x+t,e.y-t])},_resize:function(r){var t=this._moveMarker.getLatLng(),e;pt.GeometryUtil.isVersion07x()?e=t.distanceTo(r):e=this._map.distance(t,r),this._shape.setRadius(e),this._map.fire(pt.Draw.Event.EDITRESIZE,{layer:this._shape})}});const xp=G.defineComponent({name:"MapView",props:{loadPolygon:Boolean,reverseCoordinatesPolygon:Boolean,dataPolygon:Object,configurationMap:Object,coordinatesMap:Array,getGeoJSON:Function,getCoodMarker:Function},data(){return{idMap:"",mapRender:null,markerRender:null,renderCoordinates:this.coordinatesMap,renderGeojson:this.dataPolygon,markerIcon:{iconUrl:Jo,iconSize:[25,41],iconAnchor:[12,41]},layersFeatureGroup:null,featuresData:null}},mounted(){this.makeid(10),this.renderMap()},methods:{getLayersFeaturesInGeoJson(){const r=pt.geoJSON().addTo(this.mapRender);return this.featuresData.eachLayer(e=>{r.addLayer(e)}),[r.toGeoJSON()]},triggerSaveEdit(){var t,e,i;(i=(e=(t=(document.getElementsByClassName("leaflet-draw-actions leaflet-draw-actions-top")||document.getElementsByClassName("leaflet-draw-actions leaflet-draw-actions-top leaflet-draw-actions-bottom"))[0])==null?void 0:t.querySelector("li"))==null?void 0:e.querySelector("a"))==null||i.click()},makeid(r){let t="";const e="abcdefghijklmnopqrstuvwxyz",i=e.length;let n=0;for(;n<r;)t+=e.charAt(Math.floor(Math.random()*i)),n+=1;this.idMap=t},renderMap(){a_("es"),setTimeout(()=>{this.loadPolygon?this.viewMap():this.createMap()},500)},createMap(){var a,h,c,d,f,_,m,v;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=pt.map(this.idMap,{fullscreenControl:!0}).setView([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],this.renderCoordinates?this.renderCoordinates[2]:0);if(this.mapRender=t,pt.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(t),t.setZoom((a=this.configurationMap)==null?void 0:a.maxZoom),this.configurationMap.renderMarker){const y=pt.marker([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],{icon:pt.icon(r),draggable:this.configurationMap.dragMarker}).addTo(t);this.markerRender=y,this.getCoodMarker&&y.on("dragend",E=>{const b=E.target.getLatLng(),S=b.lat,w=b.lng;this.getCoodMarker&&this.getCoodMarker(S,w)})}const e=pt.featureGroup();this.featuresData=e;const i=e.addTo(t);let n={featureGroup:i,edit:!1,remove:(h=this.configurationMap)==null?void 0:h.editFigures.remove};(c=this.configurationMap)!=null&&c.editFigures.edit&&(n={featureGroup:i,...(d=this.configurationMap)==null?void 0:d.editFigures.edit,remove:(f=this.configurationMap)==null?void 0:f.editFigures.remove});const o=new pt.Control.Draw({position:"topleft",draw:{polygon:(_=this.configurationMap)==null?void 0:_.createFigures.polygon,circle:!1,rectangle:(m=this.configurationMap)!=null&&m.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(v=this.configurationMap)!=null&&v.createFigures.marker?{icon:pt.icon(r)}:!1,polyline:!1,circlemarker:!1},edit:n});t.addControl(o),t.on("draw:created",y=>{const E=y.layer;i.addLayer(E);const b=E.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([b])}),t.on("draw:edited",y=>{y.layers.eachLayer(b=>{const S=b.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([S])})})},viewMap(){var h,c,d,f,_,m,v,y;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=pt.map(this.idMap,{fullscreenControl:!0}).setView([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],this.renderCoordinates?this.renderCoordinates[2]:0);this.mapRender=t,pt.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(t),t.setZoom((h=this.configurationMap)==null?void 0:h.maxZoom);const e=pt.featureGroup();this.featuresData=e;const i=e.addTo(t);let n={featureGroup:i,edit:!1,remove:(c=this.configurationMap)==null?void 0:c.editFigures.remove};(d=this.configurationMap)!=null&&d.editFigures.edit&&(n={featureGroup:i,...(f=this.configurationMap)==null?void 0:f.editFigures.edit,remove:(_=this.configurationMap)==null?void 0:_.editFigures.remove});const o=this.renderGeojson;if(o&&o.length){o.forEach(b=>{b.type==="FeatureCollection"?b.features.forEach(S=>{(S.geometry.type==="Polygon"||S.geometry.type==="MultiPolygon")&&pt.geoJson(S,{onEachFeature:function(w,T){i.addLayer(T)}})}):b.type==="Feature"&&(b.geometry.type==="Polygon"||b.geometry.type==="MultiPolygon")&&pt.geoJson(b,{onEachFeature:function(S,w){i.addLayer(w)}})});const E=i.getBounds();t.fitBounds(E)}const a=new pt.Control.Draw({position:"topleft",draw:{polygon:(m=this.configurationMap)==null?void 0:m.createFigures.polygon,circle:!1,rectangle:(v=this.configurationMap)!=null&&v.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(y=this.configurationMap)!=null&&y.createFigures.marker?{icon:pt.icon(r)}:!1,polyline:!1,circlemarker:!1},edit:n});t.addControl(a),t.on("draw:created",E=>{const b=E.layer;i.addLayer(b);const S=b.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(S)}),t.on("draw:edited",E=>{E.layers.eachLayer(S=>{const w=S.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(w)})})},async searchAddress(r){const t=await mc.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:r,limit:1,format:"json"}});if(t.data.length===1){const e=parseFloat(t.data[0].lat),n={lng:parseFloat(t.data[0].lon),lat:e};return this.setCoordinates({...n,moveMarker:!0}),t.data[0]}return t.data},setCoordinates({lat:r,lng:t}){if(this.mapRender){const e=pt.latLng(r,t);this.mapRender.panTo(e,{animate:!0,duration:.5})}}},watch:{coordinatesMap(r){if(this.renderCoordinates=r,this.mapRender&&this.markerRender){const t=pt.latLng([r[0],r[1]]);this.mapRender.setView([r[0],r[1]],r[2]),this.markerRender.setLatLng(t)}},dataPolygon(r){this.renderGeojson=r}}}),Ep=["id"];function wp(r,t,e,i,n,o){var a;return G.openBlock(),G.createElementBlock("div",{class:"map-container",style:G.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[G.createElementVNode("div",{id:r.idMap,style:{height:"100%"}},null,8,Ep)],4)}const Lp=ra(xp,[["render",wp]]),bp=["id"],Tp=G.defineComponent({__name:"MapSearchAddress",props:{configurationMap:{default:()=>({height:"250px",maxZoom:20,iconMarker:{iconUrl:Jo,iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})},coordinatesMap:{default:()=>({lat:-19.0429,lng:-65.2554,zoom:12})}},emits:["updated:coordsMarker"],setup(r,{expose:t,emit:e}){const i=r,n=G.ref(),o=G.ref(i.coordinatesMap),a=G.ref(),h=G.ref();G.onMounted(async()=>{await c(10),await d()});const c=async y=>{let E="";const b="abcdefghijklmnopqrstuvwxyz",S=b.length;let w=0;for(;w<y;)E+=b.charAt(Math.floor(Math.random()*S)),w+=1;n.value=E},d=async()=>{await f()},f=async()=>{var b,S;const y=(b=i.configurationMap)==null?void 0:b.iconMarker,E=pt.map(n.value,{fullscreenControl:!0}).setView([o.value.lat,o.value.lng],o.value.zoom);if(E.invalidateSize(),a.value=E,pt.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:(S=i.configurationMap)==null?void 0:S.maxZoom,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(E),y.type==="image"){const w=pt.marker([o.value.lat,o.value.lng],{icon:pt.icon({iconUrl:y.iconUrl,iconAnchor:y.iconAnchor,iconSize:y.iconSize,className:y.class}),draggable:i.configurationMap.dragMarker}).addTo(E);h.value=w,w.on("dragend",T=>{const P=T.target.getLatLng(),M=P.lat,I=P.lng;m({lat:M,lng:I})})}else if(y.type==="svg"){const w=pt.marker([o.value.lat,o.value.lng],{icon:pt.divIcon({html:y.iconUrl,iconAnchor:y.iconAnchor,iconSize:y.iconSize,className:y.class}),draggable:i.configurationMap.dragMarker}).addTo(E);h.value=w,w.on("dragend",T=>{const P=T.target.getLatLng(),M=P.lat,I=P.lng;m({lat:M,lng:I})})}},_=async y=>{const E=await mc.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:y,limit:1,format:"json"}});if(E.data.length===1){const b=parseFloat(E.data[0].lat),w={lng:parseFloat(E.data[0].lon),lat:b};return m({...w,moveMarker:!0}),E.data[0]}return E.data},m=({lat:y,lng:E,moveMarker:b=!1})=>{var S;e("updated:coordsMarker",{lat:y,lng:E}),b&&((S=h.value)==null||S.setLatLng({lat:y,lng:E})),v({lat:y,lng:E})},v=({lat:y,lng:E})=>{const b=pt.latLng(y,E);a.value.panTo(b,{animate:!0,duration:.5})};return t({searchAddress:_}),(y,E)=>{var b;return G.openBlock(),G.createElementBlock("div",{class:"map-container",style:G.normalizeStyle(`height:${(b=y.configurationMap)==null?void 0:b.height}`)},[G.createElementVNode("div",{id:n.value,style:{height:"100%"}},null,8,bp)],4)}}}),OL="";class Cp{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}const Qe=Cp,En={PROPERTYCHANGE:"propertychange"};class Sp{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}const Es=Sp;function Pp(r,t,e){let i,n;e=e||xi;let o=0,a=r.length,h=!1;for(;o<a;)i=o+(a-o>>1),n=+e(r[i],t),n<0?o=i+1:(a=i,h=!n);return h?o:~o}function xi(r,t){return r>t?1:r<t?-1:0}function xa(r,t,e){if(r[0]<=t)return 0;const i=r.length;if(t<=r[i-1])return i-1;if(typeof e=="function"){for(let n=1;n<i;++n){const o=r[n];if(o===t)return n;if(o<t)return e(t,r[n-1],o)>0?n-1:n}return i-1}if(e>0){for(let n=1;n<i;++n)if(r[n]<t)return n-1;return i-1}if(e<0){for(let n=1;n<i;++n)if(r[n]<=t)return n;return i-1}for(let n=1;n<i;++n){if(r[n]==t)return n;if(r[n]<t)return r[n-1]-t<t-r[n]?n-1:n}return i-1}function kp(r,t,e){for(;t<e;){const i=r[t];r[t]=r[e],r[e]=i,++t,--e}}function ti(r,t){const e=Array.isArray(t)?t:[t],i=e.length;for(let n=0;n<i;n++)r[r.length]=e[n]}function ei(r,t){const e=r.length;if(e!==t.length)return!1;for(let i=0;i<e;i++)if(r[i]!==t[i])return!1;return!0}function Rp(r,t,e){const i=t||xi;return r.every(function(n,o){if(o===0)return!0;const a=i(r[o-1],n);return!(a>0||e&&a===0)})}function _r(){return!0}function ws(){return!1}function wn(){}function Mp(r){let t=!1,e,i,n;return function(){const o=Array.prototype.slice.call(arguments);return(!t||this!==n||!ei(o,i))&&(t=!0,n=this,i=o,e=r.apply(this,arguments)),e}}function Ln(r){for(const t in r)delete r[t]}function bn(r){let t;for(t in r)return!1;return!t}class Ip extends Es{constructor(t){super(),this.eventTarget_=t,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(t,e){if(!t||!e)return;const i=this.listeners_||(this.listeners_={}),n=i[t]||(i[t]=[]);n.includes(e)||n.push(e)}dispatchEvent(t){const e=typeof t=="string",i=e?t:t.type,n=this.listeners_&&this.listeners_[i];if(!n)return;const o=e?new Qe(t):t;o.target||(o.target=this.eventTarget_||this);const a=this.dispatching_||(this.dispatching_={}),h=this.pendingRemovals_||(this.pendingRemovals_={});i in a||(a[i]=0,h[i]=0),++a[i];let c;for(let d=0,f=n.length;d<f;++d)if("handleEvent"in n[d]?c=n[d].handleEvent(o):c=n[d].call(this,o),c===!1||o.propagationStopped){c=!1;break}if(--a[i]===0){let d=h[i];for(delete h[i];d--;)this.removeEventListener(i,wn);delete a[i]}return c}disposeInternal(){this.listeners_&&Ln(this.listeners_)}getListeners(t){return this.listeners_&&this.listeners_[t]||void 0}hasListener(t){return this.listeners_?t?t in this.listeners_:Object.keys(this.listeners_).length>0:!1}removeEventListener(t,e){const i=this.listeners_&&this.listeners_[t];if(i){const n=i.indexOf(e);n!==-1&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[n]=wn,++this.pendingRemovals_[t]):(i.splice(n,1),i.length===0&&delete this.listeners_[t]))}}}const Ls=Ip,rt={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"};function ht(r,t,e,i,n){if(i&&i!==r&&(e=e.bind(i)),n){const a=e;e=function(){r.removeEventListener(t,e),a.apply(this,arguments)}}const o={target:r,type:t,listener:e};return r.addEventListener(t,e),o}function bs(r,t,e,i){return ht(r,t,e,i,!0)}function wt(r){r&&r.target&&(r.target.removeEventListener(r.type,r.listener),Ln(r))}class Ts extends Ls{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(rt.CHANGE)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,n=new Array(i);for(let o=0;o<i;++o)n[o]=ht(this,t[o],e);return n}return ht(this,t,e)}onceInternal(t,e){let i;if(Array.isArray(t)){const n=t.length;i=new Array(n);for(let o=0;o<n;++o)i[o]=bs(this,t[o],e)}else i=bs(this,t,e);return e.ol_key=i,i}unInternal(t,e){const i=e.ol_key;if(i)Ap(i);else if(Array.isArray(t))for(let n=0,o=t.length;n<o;++n)this.removeEventListener(t[n],e);else this.removeEventListener(t,e)}}Ts.prototype.on,Ts.prototype.once,Ts.prototype.un;function Ap(r){if(Array.isArray(r))for(let t=0,e=r.length;t<e;++t)wt(r[t]);else wt(r)}const yc=Ts;function it(){throw new Error("Unimplemented abstract method.")}let Dp=0;function at(r){return r.ol_uid||(r.ol_uid=String(++Dp))}class vc extends Qe{constructor(t,e,i){super(t),this.key=e,this.oldValue=i}}class Op extends yc{constructor(t){super(),this.on,this.once,this.un,at(this),this.values_=null,t!==void 0&&this.setProperties(t)}get(t){let e;return this.values_&&this.values_.hasOwnProperty(t)&&(e=this.values_[t]),e}getKeys(){return this.values_&&Object.keys(this.values_)||[]}getProperties(){return this.values_&&Object.assign({},this.values_)||{}}getPropertiesInternal(){return this.values_}hasProperties(){return!!this.values_}notify(t,e){let i;i=`change:${t}`,this.hasListener(i)&&this.dispatchEvent(new vc(i,t,e)),i=En.PROPERTYCHANGE,this.hasListener(i)&&this.dispatchEvent(new vc(i,t,e))}addChangeListener(t,e){this.addEventListener(`change:${t}`,e)}removeChangeListener(t,e){this.removeEventListener(`change:${t}`,e)}set(t,e,i){const n=this.values_||(this.values_={});if(i)n[t]=e;else{const o=n[t];n[t]=e,o!==e&&this.notify(t,o)}}setProperties(t,e){for(const i in t)this.set(i,t[i],e)}applyProperties(t){t.values_&&Object.assign(this.values_||(this.values_={}),t.values_)}unset(t,e){if(this.values_&&t in this.values_){const i=this.values_[t];delete this.values_[t],bn(this.values_)&&(this.values_=null),e||this.notify(t,i)}}}const be=Op,Ut={ANIMATING:0,INTERACTING:1},Te={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},Fp=42,Ea=256,pr={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class zp{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=t.extent!==void 0?t.extent:null,this.worldExtent_=t.worldExtent!==void 0?t.worldExtent:null,this.axisOrientation_=t.axisOrientation!==void 0?t.axisOrientation:"enu",this.global_=t.global!==void 0?t.global:!1,this.canWrapX_=!!(this.global_&&this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||pr[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!!(t&&this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!!(this.global_&&t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const xc=zp,mr=6378137,Tn=Math.PI*mr,Np=[-Tn,-Tn,Tn,Tn],Bp=[-180,-85,180,85],Cs=mr*Math.log(Math.tan(Math.PI/2));class Cn extends xc{constructor(t){super({code:t,units:"m",extent:Np,global:!0,worldExtent:Bp,getPointResolution:function(e,i){return e/Math.cosh(i[1]/mr)}})}}const Ec=[new Cn("EPSG:3857"),new Cn("EPSG:102100"),new Cn("EPSG:102113"),new Cn("EPSG:900913"),new Cn("http://www.opengis.net/def/crs/EPSG/0/3857"),new Cn("http://www.opengis.net/gml/srs/epsg.xml#3857")];function Gp(r,t,e){const i=r.length;e=e>1?e:2,t===void 0&&(e>2?t=r.slice():t=new Array(i));for(let n=0;n<i;n+=e){t[n]=Tn*r[n]/180;let o=mr*Math.log(Math.tan(Math.PI*(+r[n+1]+90)/360));o>Cs?o=Cs:o<-Cs&&(o=-Cs),t[n+1]=o}return t}function Up(r,t,e){const i=r.length;e=e>1?e:2,t===void 0&&(e>2?t=r.slice():t=new Array(i));for(let n=0;n<i;n+=e)t[n]=180*r[n]/Tn,t[n+1]=360*Math.atan(Math.exp(r[n+1]/mr))/Math.PI-90;return t}const Zp=6378137,wc=[-180,-90,180,90],jp=Math.PI*Zp/180;class Vi extends xc{constructor(t,e){super({code:t,units:"degrees",extent:wc,axisOrientation:e,global:!0,metersPerUnit:jp,worldExtent:wc})}}const Lc=[new Vi("CRS:84"),new Vi("EPSG:4326","neu"),new Vi("urn:ogc:def:crs:OGC:1.3:CRS84"),new Vi("urn:ogc:def:crs:OGC:2:84"),new Vi("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new Vi("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new Vi("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let wa={};function Wp(r){return wa[r]||wa[r.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null}function Hp(r,t){wa[r]=t}let Sn={};function Ss(r,t,e){const i=r.getCode(),n=t.getCode();i in Sn||(Sn[i]={}),Sn[i][n]=e}function Vp(r,t){let e;return r in Sn&&t in Sn[r]&&(e=Sn[r][t]),e}const Zt={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};function bc(r){const t=ge();for(let e=0,i=r.length;e<i;++e)vr(t,r[e]);return t}function Ps(r,t,e){return e?(e[0]=r[0]-t,e[1]=r[1]-t,e[2]=r[2]+t,e[3]=r[3]+t,e):[r[0]-t,r[1]-t,r[2]+t,r[3]+t]}function Tc(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r.slice()}function Xi(r,t,e){let i,n;return t<r[0]?i=r[0]-t:r[2]<t?i=t-r[2]:i=0,e<r[1]?n=r[1]-e:r[3]<e?n=e-r[3]:n=0,i*i+n*n}function ks(r,t){return La(r,t[0],t[1])}function Yi(r,t){return r[0]<=t[0]&&t[2]<=r[2]&&r[1]<=t[1]&&t[3]<=r[3]}function La(r,t,e){return r[0]<=t&&t<=r[2]&&r[1]<=e&&e<=r[3]}function ba(r,t){const e=r[0],i=r[1],n=r[2],o=r[3],a=t[0],h=t[1];let c=Zt.UNKNOWN;return a<e?c=c|Zt.LEFT:a>n&&(c=c|Zt.RIGHT),h<i?c=c|Zt.BELOW:h>o&&(c=c|Zt.ABOVE),c===Zt.UNKNOWN&&(c=Zt.INTERSECTING),c}function ge(){return[1/0,1/0,-1/0,-1/0]}function Ei(r,t,e,i,n){return n?(n[0]=r,n[1]=t,n[2]=e,n[3]=i,n):[r,t,e,i]}function yr(r){return Ei(1/0,1/0,-1/0,-1/0,r)}function Xp(r,t){const e=r[0],i=r[1];return Ei(e,i,e,i,t)}function Cc(r,t,e,i,n){const o=yr(n);return Pc(o,r,t,e,i)}function Pn(r,t){return r[0]==t[0]&&r[2]==t[2]&&r[1]==t[1]&&r[3]==t[3]}function Sc(r,t){return t[0]<r[0]&&(r[0]=t[0]),t[2]>r[2]&&(r[2]=t[2]),t[1]<r[1]&&(r[1]=t[1]),t[3]>r[3]&&(r[3]=t[3]),r}function vr(r,t){t[0]<r[0]&&(r[0]=t[0]),t[0]>r[2]&&(r[2]=t[0]),t[1]<r[1]&&(r[1]=t[1]),t[1]>r[3]&&(r[3]=t[1])}function Pc(r,t,e,i,n){for(;e<i;e+=n)Yp(r,t[e],t[e+1]);return r}function Yp(r,t,e){r[0]=Math.min(r[0],t),r[1]=Math.min(r[1],e),r[2]=Math.max(r[2],t),r[3]=Math.max(r[3],e)}function kc(r,t){let e;return e=t(Rs(r)),e||(e=t(Ms(r)),e)||(e=t(Is(r)),e)||(e=t(qi(r)),e)?e:!1}function Ta(r){let t=0;return As(r)||(t=Tt(r)*Fe(r)),t}function Rs(r){return[r[0],r[1]]}function Ms(r){return[r[2],r[1]]}function Ki(r){return[(r[0]+r[2])/2,(r[1]+r[3])/2]}function Kp(r,t){let e;if(t==="bottom-left")e=Rs(r);else if(t==="bottom-right")e=Ms(r);else if(t==="top-left")e=qi(r);else if(t==="top-right")e=Is(r);else throw new Error("Invalid corner");return e}function Ca(r,t,e,i,n){const[o,a,h,c,d,f,_,m]=Sa(r,t,e,i);return Ei(Math.min(o,h,d,_),Math.min(a,c,f,m),Math.max(o,h,d,_),Math.max(a,c,f,m),n)}function Sa(r,t,e,i){const n=t*i[0]/2,o=t*i[1]/2,a=Math.cos(e),h=Math.sin(e),c=n*a,d=n*h,f=o*a,_=o*h,m=r[0],v=r[1];return[m-c+_,v-d-f,m-c-_,v-d+f,m+c-_,v+d+f,m+c+_,v+d-f,m-c+_,v-d-f]}function Fe(r){return r[3]-r[1]}function xr(r,t,e){const i=e||ge();return se(r,t)?(r[0]>t[0]?i[0]=r[0]:i[0]=t[0],r[1]>t[1]?i[1]=r[1]:i[1]=t[1],r[2]<t[2]?i[2]=r[2]:i[2]=t[2],r[3]<t[3]?i[3]=r[3]:i[3]=t[3]):yr(i),i}function qi(r){return[r[0],r[3]]}function Is(r){return[r[2],r[3]]}function Tt(r){return r[2]-r[0]}function se(r,t){return r[0]<=t[2]&&r[2]>=t[0]&&r[1]<=t[3]&&r[3]>=t[1]}function As(r){return r[2]<r[0]||r[3]<r[1]}function qp(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r}function $p(r,t,e){let i=!1;const n=ba(r,t),o=ba(r,e);if(n===Zt.INTERSECTING||o===Zt.INTERSECTING)i=!0;else{const a=r[0],h=r[1],c=r[2],d=r[3],f=t[0],_=t[1],m=e[0],v=e[1],y=(v-_)/(m-f);let E,b;o&Zt.ABOVE&&!(n&Zt.ABOVE)&&(E=m-(v-d)/y,i=E>=a&&E<=c),!i&&o&Zt.RIGHT&&!(n&Zt.RIGHT)&&(b=v-(m-c)*y,i=b>=h&&b<=d),!i&&o&Zt.BELOW&&!(n&Zt.BELOW)&&(E=m-(v-h)/y,i=E>=a&&E<=c),!i&&o&Zt.LEFT&&!(n&Zt.LEFT)&&(b=v-(m-a)*y,i=b>=h&&b<=d)}return i}function Rc(r,t){const e=t.getExtent(),i=Ki(r);if(t.canWrapX()&&(i[0]<e[0]||i[0]>=e[2])){const n=Tt(e),a=Math.floor((i[0]-e[0])/n)*n;r[0]-=a,r[2]-=a}return r}function Jp(r,t){if(t.canWrapX()){const e=t.getExtent();if(!isFinite(r[0])||!isFinite(r[2]))return[[e[0],r[1],e[2],r[3]]];Rc(r,t);const i=Tt(e);if(Tt(r)>i)return[[e[0],r[1],e[2],r[3]]];if(r[0]<e[0])return[[r[0]+i,r[1],e[2],r[3]],[e[0],r[1],r[2],r[3]]];if(r[2]>e[2])return[[r[0],r[1],e[2],r[3]],[e[0],r[1],r[2]-i,r[3]]]}return[r]}function It(r,t,e){return Math.min(Math.max(r,t),e)}function Qp(r,t,e,i,n,o){const a=n-e,h=o-i;if(a!==0||h!==0){const c=((r-e)*a+(t-i)*h)/(a*a+h*h);c>1?(e=n,i=o):c>0&&(e+=a*c,i+=h*c)}return $i(r,t,e,i)}function $i(r,t,e,i){const n=e-r,o=i-t;return n*n+o*o}function tm(r){const t=r.length;for(let i=0;i<t;i++){let n=i,o=Math.abs(r[i][i]);for(let h=i+1;h<t;h++){const c=Math.abs(r[h][i]);c>o&&(o=c,n=h)}if(o===0)return null;const a=r[n];r[n]=r[i],r[i]=a;for(let h=i+1;h<t;h++){const c=-r[h][i]/r[i][i];for(let d=i;d<t+1;d++)i==d?r[h][d]=0:r[h][d]+=c*r[i][d]}}const e=new Array(t);for(let i=t-1;i>=0;i--){e[i]=r[i][t]/r[i][i];for(let n=i-1;n>=0;n--)r[n][t]-=r[n][i]*e[i]}return e}function Ds(r){return r*Math.PI/180}function kn(r,t){const e=r%t;return e*t<0?e+t:e}function _e(r,t,e){return r+e*(t-r)}function Pa(r,t){const e=Math.pow(10,t);return Math.round(r*e)/e}function Os(r,t){return Math.floor(Pa(r,t))}function Fs(r,t){return Math.ceil(Pa(r,t))}function em(r,t){return r[0]+=+t[0],r[1]+=+t[1],r}function zs(r,t){let e=!0;for(let i=r.length-1;i>=0;--i)if(r[i]!=t[i]){e=!1;break}return e}function ka(r,t){const e=Math.cos(t),i=Math.sin(t),n=r[0]*e-r[1]*i,o=r[1]*e+r[0]*i;return r[0]=n,r[1]=o,r}function im(r,t){return r[0]*=t,r[1]*=t,r}function Mc(r,t){if(t.canWrapX()){const e=Tt(t.getExtent()),i=nm(r,t,e);i&&(r[0]-=i*e)}return r}function nm(r,t,e){const i=t.getExtent();let n=0;return t.canWrapX()&&(r[0]<i[0]||r[0]>i[2])&&(e=e||Tt(i),n=Math.floor((r[0]-i[0])/e)),n}const rm=63710088e-1;function Ic(r,t,e){e=e||rm;const i=Ds(r[1]),n=Ds(t[1]),o=(n-i)/2,a=Ds(t[0]-r[0])/2,h=Math.sin(o)*Math.sin(o)+Math.sin(a)*Math.sin(a)*Math.cos(i)*Math.cos(n);return 2*e*Math.atan2(Math.sqrt(h),Math.sqrt(1-h))}const Ac={info:1,warn:2,error:3,none:4};let sm=Ac.info;function Dc(...r){sm>Ac.warn||console.warn(...r)}let Ra=!0;function Oc(r){Ra=!(r===void 0?!0:r)}function Ma(r,t){if(t!==void 0){for(let e=0,i=r.length;e<i;++e)t[e]=r[e];t=t}else t=r.slice();return t}function Fc(r,t){if(t!==void 0&&r!==t){for(let e=0,i=r.length;e<i;++e)t[e]=r[e];r=t}return r}function om(r){Hp(r.getCode(),r),Ss(r,r,Ma)}function am(r){r.forEach(om)}function Gt(r){return typeof r=="string"?Wp(r):r||null}function zc(r,t,e,i){r=Gt(r);let n;const o=r.getPointResolutionFunc();if(o){if(n=o(t,e),i&&i!==r.getUnits()){const a=r.getMetersPerUnit();a&&(n=n*a/pr[i])}}else{const a=r.getUnits();if(a=="degrees"&&!i||i=="degrees")n=t;else{const h=Aa(r,Gt("EPSG:4326"));if(h===Fc&&a!=="degrees")n=t*r.getMetersPerUnit();else{let d=[e[0]-t/2,e[1],e[0]+t/2,e[1],e[0],e[1]-t/2,e[0],e[1]+t/2];d=h(d,d,2);const f=Ic(d.slice(0,2),d.slice(2,4)),_=Ic(d.slice(4,6),d.slice(6,8));n=(f+_)/2}const c=i?pr[i]:r.getMetersPerUnit();c!==void 0&&(n/=c)}}return n}function Nc(r){am(r),r.forEach(function(t){r.forEach(function(e){t!==e&&Ss(t,e,Ma)})})}function lm(r,t,e,i){r.forEach(function(n){t.forEach(function(o){Ss(n,o,e),Ss(o,n,i)})})}function Ia(r,t){return r?typeof r=="string"?Gt(r):r:Gt(t)}function Bc(r,t){return Oc(),Gc(r,"EPSG:4326",t!==void 0?t:"EPSG:3857")}function Ji(r,t){if(r===t)return!0;const e=r.getUnits()===t.getUnits();return(r.getCode()===t.getCode()||Aa(r,t)===Ma)&&e}function Aa(r,t){const e=r.getCode(),i=t.getCode();let n=Vp(e,i);return n||(n=Fc),n}function Ns(r,t){const e=Gt(r),i=Gt(t);return Aa(e,i)}function Gc(r,t,e){return Ns(t,e)(r,void 0,r.length)}function Da(r,t){return r}function ii(r,t){return Ra&&!zs(r,[0,0])&&r[0]>=-180&&r[0]<=180&&r[1]>=-90&&r[1]<=90&&(Ra=!1,Dc("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),r}function Uc(r,t){return r}function Qi(r,t){return r}function hm(){Nc(Ec),Nc(Lc),lm(Lc,Ec,Gp,Up)}hm();function ft(r,t){if(!r)throw new Error(t)}function Zc(r,t,e){return function(i,n,o,a,h){if(!i)return;if(!n&&!t)return i;const c=t?0:o[0]*n,d=t?0:o[1]*n,f=h?h[0]:0,_=h?h[1]:0;let m=r[0]+c/2+f,v=r[2]-c/2+f,y=r[1]+d/2+_,E=r[3]-d/2+_;m>v&&(m=(v+m)/2,v=m),y>E&&(y=(E+y)/2,E=y);let b=It(i[0],m,v),S=It(i[1],y,E);if(a&&e&&n){const w=30*n;b+=-w*Math.log(1+Math.max(0,m-i[0])/w)+w*Math.log(1+Math.max(0,i[0]-v)/w),S+=-w*Math.log(1+Math.max(0,y-i[1])/w)+w*Math.log(1+Math.max(0,i[1]-E)/w)}return[b,S]}}function cm(r){return r}function Oa(r,t,e,i){const n=Tt(t)/e[0],o=Fe(t)/e[1];return i?Math.min(r,Math.max(n,o)):Math.min(r,Math.min(n,o))}function Fa(r,t,e){let i=Math.min(r,t);const n=50;return i*=Math.log(1+n*Math.max(0,r/t-1))/n+1,e&&(i=Math.max(i,e),i/=Math.log(1+n*Math.max(0,e/r-1))/n+1),It(i,e/2,t*2)}function um(r,t,e,i){return t=t!==void 0?t:!0,function(n,o,a,h){if(n!==void 0){const c=r[0],d=r[r.length-1],f=e?Oa(c,e,a,i):c;if(h)return t?Fa(n,f,d):It(n,d,f);const _=Math.min(f,n),m=Math.floor(xa(r,_,o));return r[m]>f&&m<r.length-1?r[m+1]:r[m]}}}function dm(r,t,e,i,n,o){return i=i!==void 0?i:!0,e=e!==void 0?e:0,function(a,h,c,d){if(a!==void 0){const f=n?Oa(t,n,c,o):t;if(d)return i?Fa(a,f,e):It(a,e,f);const _=1e-9,m=Math.ceil(Math.log(t/f)/Math.log(r)-_),v=-h*(.5-_)+.5,y=Math.min(f,a),E=Math.floor(Math.log(t/y)/Math.log(r)+v),b=Math.max(m,E),S=t/Math.pow(r,b);return It(S,e,f)}}}function jc(r,t,e,i,n){return e=e!==void 0?e:!0,function(o,a,h,c){if(o!==void 0){const d=i?Oa(r,i,h,n):r;return!e||!c?It(o,t,d):Fa(o,d,t)}}}function za(r){if(r!==void 0)return 0}function Wc(r){if(r!==void 0)return r}function fm(r){const t=2*Math.PI/r;return function(e,i){if(i)return e;if(e!==void 0)return e=Math.floor(e/t+.5)*t,e}}function gm(r){return r=r||Ds(5),function(t,e){if(e)return t;if(t!==void 0)return Math.abs(t)<=r?0:t}}function Hc(r){return Math.pow(r,3)}function Rn(r){return 1-Hc(1-r)}function _m(r){return 3*r*r-2*r*r*r}function pm(r){return r}const wi=typeof navigator<"u"&&typeof navigator.userAgent<"u"?navigator.userAgent.toLowerCase():"",mm=wi.includes("firefox"),ym=wi.includes("safari")&&!wi.includes("chrom")&&(wi.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(wi)),vm=wi.includes("webkit")&&!wi.includes("edge"),Vc=wi.includes("macintosh"),Xc=typeof devicePixelRatio<"u"?devicePixelRatio:1,Na=typeof WorkerGlobalScope<"u"&&typeof OffscreenCanvas<"u"&&self instanceof WorkerGlobalScope,Yc=typeof Image<"u"&&Image.prototype.decode,Kc=function(){let r=!1;try{const t=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("_",null,t),window.removeEventListener("_",null,t)}catch{}return r}(),xm=new Array(6);function Vt(){return[1,0,0,1,0,0]}function qc(r,t){const e=r[0],i=r[1],n=r[2],o=r[3],a=r[4],h=r[5],c=t[0],d=t[1],f=t[2],_=t[3],m=t[4],v=t[5];return r[0]=e*c+n*d,r[1]=i*c+o*d,r[2]=e*f+n*_,r[3]=i*f+o*_,r[4]=e*m+n*v+a,r[5]=i*m+o*v+h,r}function $c(r,t,e,i,n,o,a){return r[0]=t,r[1]=e,r[2]=i,r[3]=n,r[4]=o,r[5]=a,r}function Em(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r}function Ot(r,t){const e=t[0],i=t[1];return t[0]=r[0]*e+r[2]*i+r[4],t[1]=r[1]*e+r[3]*i+r[5],t}function wm(r,t,e){return $c(r,t,0,0,e,0,0)}function Lm(r,t,e){return qc(r,$c(xm,1,0,0,1,t,e))}function ze(r,t,e,i,n,o,a,h){const c=Math.sin(o),d=Math.cos(o);return r[0]=i*d,r[1]=n*c,r[2]=-i*c,r[3]=n*d,r[4]=a*i*d-h*i*c+t,r[5]=a*n*c+h*n*d+e,r}function Bs(r,t){const e=bm(t);ft(e!==0,"Transformation matrix cannot be inverted");const i=t[0],n=t[1],o=t[2],a=t[3],h=t[4],c=t[5];return r[0]=a/e,r[1]=-n/e,r[2]=-o/e,r[3]=i/e,r[4]=(o*c-a*h)/e,r[5]=-(i*c-n*h)/e,r}function bm(r){return r[0]*r[3]-r[1]*r[2]}let Jc;function Qc(r){const t="matrix("+r.join(", ")+")";if(Na)return t;const e=Jc||(Jc=document.createElement("div"));return e.style.transform=t,e.style.transform}function tn(r,t,e,i,n,o){o=o||[];let a=0;for(let h=t;h<e;h+=i){const c=r[h],d=r[h+1];o[a++]=n[0]*c+n[2]*d+n[4],o[a++]=n[1]*c+n[3]*d+n[5]}return o&&o.length!=a&&(o.length=a),o}function tu(r,t,e,i,n,o,a){a=a||[];const h=Math.cos(n),c=Math.sin(n),d=o[0],f=o[1];let _=0;for(let m=t;m<e;m+=i){const v=r[m]-d,y=r[m+1]-f;a[_++]=d+v*h-y*c,a[_++]=f+v*c+y*h;for(let E=m+2;E<m+i;++E)a[_++]=r[E]}return a&&a.length!=_&&(a.length=_),a}function Tm(r,t,e,i,n,o,a,h){h=h||[];const c=a[0],d=a[1];let f=0;for(let _=t;_<e;_+=i){const m=r[_]-c,v=r[_+1]-d;h[f++]=c+n*m,h[f++]=d+o*v;for(let y=_+2;y<_+i;++y)h[f++]=r[y]}return h&&h.length!=f&&(h.length=f),h}function Cm(r,t,e,i,n,o,a){a=a||[];let h=0;for(let c=t;c<e;c+=i){a[h++]=r[c]+n,a[h++]=r[c+1]+o;for(let d=c+2;d<c+i;++d)a[h++]=r[d]}return a&&a.length!=h&&(a.length=h),a}const eu=Vt();class Sm extends be{constructor(){super(),this.extent_=ge(),this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=Mp(function(t,e,i){if(!i)return this.getSimplifiedGeometry(e);const n=this.clone();return n.applyTransform(i),n.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return it()}closestPointXY(t,e,i,n){return it()}containsXY(t,e){const i=this.getClosestPoint([t,e]);return i[0]===t&&i[1]===e}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return it()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&yr(e),this.extentRevision_=this.getRevision()}return qp(this.extent_,t)}rotate(t,e){it()}scale(t,e,i){it()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return it()}getType(){return it()}applyTransform(t){it()}intersectsExtent(t){return it()}translate(t,e){it()}transform(t,e){const i=Gt(t),n=i.getUnits()=="tile-pixels"?function(o,a,h){const c=i.getExtent(),d=i.getWorldExtent(),f=Fe(d)/Fe(c);return ze(eu,d[0],d[3],f,-f,0,0,0),tn(o,0,o.length,h,eu,a),Ns(i,e)(o,a,h)}:Ns(i,e);return this.applyTransform(n),this}}const iu=Sm;class Pm extends iu{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates=null}computeExtent(t){return Cc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return it()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length<this.flatCoordinates.length?e:(this.simplifiedGeometryMaxMinSquaredTolerance=t,this)}getSimplifiedGeometryInternal(t){return this}getStride(){return this.stride}setFlatCoordinates(t,e){this.stride=nu(t),this.layout=t,this.flatCoordinates=e}setCoordinates(t,e){it()}setLayout(t,e,i){let n;if(t)n=nu(t);else{for(let o=0;o<i;++o){if(e.length===0){this.layout="XY",this.stride=2;return}e=e[0]}n=e.length,t=km(n)}this.layout=t,this.stride=n}applyTransform(t){this.flatCoordinates&&(t(this.flatCoordinates,this.flatCoordinates,this.stride),this.changed())}rotate(t,e){const i=this.getFlatCoordinates();if(i){const n=this.getStride();tu(i,0,i.length,n,t,e,i),this.changed()}}scale(t,e,i){e===void 0&&(e=t),i||(i=Ki(this.getExtent()));const n=this.getFlatCoordinates();if(n){const o=this.getStride();Tm(n,0,n.length,o,t,e,i,n),this.changed()}}translate(t,e){const i=this.getFlatCoordinates();if(i){const n=this.getStride();Cm(i,0,i.length,n,t,e,i),this.changed()}}}function km(r){let t;return r==2?t="XY":r==3?t="XYZ":r==4&&(t="XYZM"),t}function nu(r){let t;return r=="XY"?t=2:r=="XYZ"||r=="XYM"?t=3:r=="XYZM"&&(t=4),t}function Rm(r,t,e){const i=r.getFlatCoordinates();if(!i)return null;const n=r.getStride();return tn(i,0,i.length,n,t,e)}const en=Pm;function ru(r,t,e,i,n,o,a){const h=r[t],c=r[t+1],d=r[e]-h,f=r[e+1]-c;let _;if(d===0&&f===0)_=t;else{const m=((n-h)*d+(o-c)*f)/(d*d+f*f);if(m>1)_=e;else if(m>0){for(let v=0;v<i;++v)a[v]=_e(r[t+v],r[e+v],m);a.length=i;return}else _=t}for(let m=0;m<i;++m)a[m]=r[_+m];a.length=i}function Ba(r,t,e,i,n){let o=r[t],a=r[t+1];for(t+=i;t<e;t+=i){const h=r[t],c=r[t+1],d=$i(o,a,h,c);d>n&&(n=d),o=h,a=c}return n}function Ga(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o){const h=e[o];n=Ba(r,t,h,i,n),t=h}return n}function Mm(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o){const h=e[o];n=Ga(r,t,h,i,n),t=h[h.length-1]}return n}function Ua(r,t,e,i,n,o,a,h,c,d,f){if(t==e)return d;let _,m;if(n===0){if(m=$i(a,h,r[t],r[t+1]),m<d){for(_=0;_<i;++_)c[_]=r[t+_];return c.length=i,m}return d}f=f||[NaN,NaN];let v=t+i;for(;v<e;)if(ru(r,v-i,v,i,a,h,f),m=$i(a,h,f[0],f[1]),m<d){for(d=m,_=0;_<i;++_)c[_]=f[_];c.length=i,v+=i}else v+=i*Math.max((Math.sqrt(m)-Math.sqrt(d))/n|0,1);if(o&&(ru(r,e-i,t,i,a,h,f),m=$i(a,h,f[0],f[1]),m<d)){for(d=m,_=0;_<i;++_)c[_]=f[_];c.length=i}return d}function Za(r,t,e,i,n,o,a,h,c,d,f){f=f||[NaN,NaN];for(let _=0,m=e.length;_<m;++_){const v=e[_];d=Ua(r,t,v,i,n,o,a,h,c,d,f),t=v}return d}function Im(r,t,e,i,n,o,a,h,c,d,f){f=f||[NaN,NaN];for(let _=0,m=e.length;_<m;++_){const v=e[_];d=Za(r,t,v,i,n,o,a,h,c,d,f),t=v[v.length-1]}return d}function Am(r,t,e,i){for(let n=0,o=e.length;n<o;++n)r[t++]=e[n];return t}function Gs(r,t,e,i){for(let n=0,o=e.length;n<o;++n){const a=e[n];for(let h=0;h<i;++h)r[t++]=a[h]}return t}function ja(r,t,e,i,n){n=n||[];let o=0;for(let a=0,h=e.length;a<h;++a){const c=Gs(r,t,e[a],i);n[o++]=c,t=c}return n.length=o,n}function Dm(r,t,e,i,n){n=n||[];let o=0;for(let a=0,h=e.length;a<h;++a){const c=ja(r,t,e[a],i,n[o]);c.length===0&&(c[0]=t),n[o++]=c,t=c[c.length-1]}return n.length=o,n}function Wa(r,t,e,i,n,o,a){const h=(e-t)/i;if(h<3){for(;t<e;t+=i)o[a++]=r[t],o[a++]=r[t+1];return a}const c=new Array(h);c[0]=1,c[h-1]=1;const d=[t,e-i];let f=0;for(;d.length>0;){const _=d.pop(),m=d.pop();let v=0;const y=r[m],E=r[m+1],b=r[_],S=r[_+1];for(let w=m+i;w<_;w+=i){const T=r[w],P=r[w+1],M=Qp(T,P,y,E,b,S);M>v&&(f=w,v=M)}v>n&&(c[(f-t)/i]=1,m+i<f&&d.push(m,f),f+i<_&&d.push(f,_))}for(let _=0;_<h;++_)c[_]&&(o[a++]=r[t+_*i],o[a++]=r[t+_*i+1]);return a}function Om(r,t,e,i,n,o,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=Wa(r,t,f,i,n,o,a),h.push(a),t=f}return a}function nn(r,t){return t*Math.round(r/t)}function Fm(r,t,e,i,n,o,a){if(t==e)return a;let h=nn(r[t],n),c=nn(r[t+1],n);t+=i,o[a++]=h,o[a++]=c;let d,f;do if(d=nn(r[t],n),f=nn(r[t+1],n),t+=i,t==e)return o[a++]=d,o[a++]=f,a;while(d==h&&f==c);for(;t<e;){const _=nn(r[t],n),m=nn(r[t+1],n);if(t+=i,_==d&&m==f)continue;const v=d-h,y=f-c,E=_-h,b=m-c;if(v*b==y*E&&(v<0&&E<v||v==E||v>0&&E>v)&&(y<0&&b<y||y==b||y>0&&b>y)){d=_,f=m;continue}o[a++]=d,o[a++]=f,h=d,c=f,d=_,f=m}return o[a++]=d,o[a++]=f,a}function su(r,t,e,i,n,o,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=Fm(r,t,f,i,n,o,a),h.push(a),t=f}return a}function zm(r,t,e,i,n,o,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c],_=[];a=su(r,t,f,i,n,o,a,_),h.push(_),t=f[f.length-1]}return a}function Li(r,t,e,i,n){n=n!==void 0?n:[];let o=0;for(let a=t;a<e;a+=i)n[o++]=r.slice(a,a+i);return n.length=o,n}function Er(r,t,e,i,n){n=n!==void 0?n:[];let o=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[o++]=Li(r,t,c,i,n[o]),t=c}return n.length=o,n}function Ha(r,t,e,i,n){n=n!==void 0?n:[];let o=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[o++]=c.length===1&&c[0]===t?[]:Er(r,t,c,i,n[o]),t=c[c.length-1]}return n.length=o,n}function ou(r,t,e,i){let n=0,o=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=a*h-o*c,o=h,a=c}return n/2}function au(r,t,e,i){let n=0;for(let o=0,a=e.length;o<a;++o){const h=e[o];n+=ou(r,t,h,i),t=h}return n}function Nm(r,t,e,i){let n=0;for(let o=0,a=e.length;o<a;++o){const h=e[o];n+=au(r,t,h,i),t=h[h.length-1]}return n}class Us extends en{constructor(t,e){super(),this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}clone(){return new Us(this.flatCoordinates.slice(),this.layout)}closestPointXY(t,e,i,n){return n<Xi(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Ba(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Ua(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,t,e,i,n))}getArea(){return ou(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return Li(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(t){const e=[];return e.length=Wa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new Us(e,"XY")}getType(){return"LinearRing"}intersectsExtent(t){return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Gs(this.flatCoordinates,0,t,this.stride),this.changed()}}const lu=Us;class Va extends en{constructor(t,e){super(),this.setCoordinates(t,e)}clone(){const t=new Va(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){const o=this.flatCoordinates,a=$i(t,e,o[0],o[1]);if(a<n){const h=this.stride;for(let c=0;c<h;++c)i[c]=o[c];return i.length=h,a}return n}getCoordinates(){return this.flatCoordinates?this.flatCoordinates.slice():[]}computeExtent(t){return Xp(this.flatCoordinates,t)}getType(){return"Point"}intersectsExtent(t){return La(t,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(t,e){this.setLayout(e,t,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Am(this.flatCoordinates,0,t,this.stride),this.changed()}}const Zs=Va;function Bm(r,t,e,i,n){return!kc(n,function(a){return!rn(r,t,e,i,a[0],a[1])})}function rn(r,t,e,i,n,o){let a=0,h=r[e-i],c=r[e-i+1];for(;t<e;t+=i){const d=r[t],f=r[t+1];c<=o?f>o&&(d-h)*(o-c)-(n-h)*(f-c)>0&&a++:f<=o&&(d-h)*(o-c)-(n-h)*(f-c)<0&&a--,h=d,c=f}return a!==0}function Xa(r,t,e,i,n,o){if(e.length===0||!rn(r,t,e[0],i,n,o))return!1;for(let a=1,h=e.length;a<h;++a)if(rn(r,e[a-1],e[a],i,n,o))return!1;return!0}function Gm(r,t,e,i,n,o){if(e.length===0)return!1;for(let a=0,h=e.length;a<h;++a){const c=e[a];if(Xa(r,t,c,i,n,o))return!0;t=c[c.length-1]}return!1}function hu(r,t,e,i,n,o,a){let h,c,d,f,_,m,v;const y=n[o+1],E=[];for(let w=0,T=e.length;w<T;++w){const P=e[w];for(f=r[P-i],m=r[P-i+1],h=t;h<P;h+=i)_=r[h],v=r[h+1],(y<=m&&v<=y||m<=y&&y<=v)&&(d=(y-m)/(v-m)*(_-f)+f,E.push(d)),f=_,m=v}let b=NaN,S=-1/0;for(E.sort(xi),f=E[0],h=1,c=E.length;h<c;++h){_=E[h];const w=Math.abs(_-f);w>S&&(d=(f+_)/2,Xa(r,t,e,i,d,y)&&(b=d,S=w)),f=_}return isNaN(b)&&(b=n[o]),a?(a.push(b,y,S),a):[b,y,S]}function Um(r,t,e,i,n){let o=[];for(let a=0,h=e.length;a<h;++a){const c=e[a];o=hu(r,t,c,i,n,2*a,o),t=c[c.length-1]}return o}function cu(r,t,e,i,n){let o;for(t+=i;t<e;t+=i)if(o=n(r.slice(t-i,t),r.slice(t,t+i)),o)return o;return!1}function js(r,t,e,i,n){const o=Pc(ge(),r,t,e,i);return se(n,o)?Yi(n,o)||o[0]>=n[0]&&o[2]<=n[2]||o[1]>=n[1]&&o[3]<=n[3]?!0:cu(r,t,e,i,function(a,h){return $p(n,a,h)}):!1}function Zm(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o){if(js(r,t,e[o],i,n))return!0;t=e[o]}return!1}function uu(r,t,e,i,n){return!!(js(r,t,e,i,n)||rn(r,t,e,i,n[0],n[1])||rn(r,t,e,i,n[0],n[3])||rn(r,t,e,i,n[2],n[1])||rn(r,t,e,i,n[2],n[3]))}function du(r,t,e,i,n){if(!uu(r,t,e[0],i,n))return!1;if(e.length===1)return!0;for(let o=1,a=e.length;o<a;++o)if(Bm(r,e[o-1],e[o],i,n)&&!js(r,e[o-1],e[o],i,n))return!1;return!0}function jm(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o){const h=e[o];if(du(r,t,h,i,n))return!0;t=h[h.length-1]}return!1}function Wm(r,t,e,i){for(;t<e-i;){for(let n=0;n<i;++n){const o=r[t+n];r[t+n]=r[e-i+n],r[e-i+n]=o}t+=i,e-=i}}function fu(r,t,e,i){let n=0,o=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=(h-o)*(c+a),o=h,a=c}return n===0?void 0:n>0}function gu(r,t,e,i,n){n=n!==void 0?n:!1;for(let o=0,a=e.length;o<a;++o){const h=e[o],c=fu(r,t,h,i);if(o===0){if(n&&c||!n&&!c)return!1}else if(n&&!c||!n&&c)return!1;t=h}return!0}function Hm(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o){const h=e[o];if(!gu(r,t,h,i,n))return!1;h.length&&(t=h[h.length-1])}return!0}function Ya(r,t,e,i,n){n=n!==void 0?n:!1;for(let o=0,a=e.length;o<a;++o){const h=e[o],c=fu(r,t,h,i);(o===0?n&&c||!n&&!c:n&&!c||!n&&c)&&Wm(r,t,h,i),t=h}return t}function _u(r,t,e,i,n){for(let o=0,a=e.length;o<a;++o)t=Ya(r,t,e[o],i,n);return t}class wr extends en{constructor(t,e,i){super(),this.ends_=[],this.flatInteriorPointRevision_=-1,this.flatInteriorPoint_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,e!==void 0&&i?(this.setFlatCoordinates(e,t),this.ends_=i):this.setCoordinates(t,e)}appendLinearRing(t){this.flatCoordinates?ti(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new wr(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<Xi(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Ga(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Za(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return Xa(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,e)}getArea(){return au(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),Ya(e,0,this.ends_,this.stride,t)):e=this.flatCoordinates,Er(e,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const t=Ki(this.getExtent());this.flatInteriorPoint_=hu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new Zs(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(t){return t<0||this.ends_.length<=t?null:new lu(this.flatCoordinates.slice(t===0?0:this.ends_[t-1],this.ends_[t]),this.layout)}getLinearRings(){const t=this.layout,e=this.flatCoordinates,i=this.ends_,n=[];let o=0;for(let a=0,h=i.length;a<h;++a){const c=i[a],d=new lu(e.slice(o,c),t);n.push(d),o=c}return n}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;gu(t,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=Ya(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=su(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(t),e,0,i),new wr(e,"XY",i)}getType(){return"Polygon"}intersectsExtent(t){return du(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=ja(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}const Ws=wr;function pu(r){if(As(r))throw new Error("Cannot create polygon from empty extent");const t=r[0],e=r[1],i=r[2],n=r[3],o=[t,e,t,n,i,n,i,e,t,e];return new wr(o,"XY",[o.length])}const Ka=0;class Vm extends be{constructor(t){super(),this.on,this.once,this.un,t=Object.assign({},t),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=Ia(t.projection,"EPSG:3857"),this.viewportSize_=[100,100],this.targetCenter_=null,this.targetResolution_,this.targetRotation_,this.nextCenter_=null,this.nextResolution_,this.nextRotation_,this.cancelAnchor_=void 0,t.projection&&Oc(),t.center&&(t.center=ii(t.center,this.projection_)),t.extent&&(t.extent=Qi(t.extent,this.projection_)),this.applyOptions_(t)}applyOptions_(t){const e=Object.assign({},t);for(const h in Te)delete e[h];this.setProperties(e,!0);const i=Ym(t);this.maxResolution_=i.maxResolution,this.minResolution_=i.minResolution,this.zoomFactor_=i.zoomFactor,this.resolutions_=t.resolutions,this.padding_=t.padding,this.minZoom_=i.minZoom;const n=Xm(t),o=i.constraint,a=Km(t);this.constraints_={center:n,resolution:o,rotation:a},this.setRotation(t.rotation!==void 0?t.rotation:0),this.setCenterInternal(t.center!==void 0?t.center:null),t.resolution!==void 0?this.setResolution(t.resolution):t.zoom!==void 0&&this.setZoom(t.zoom)}get padding(){return this.padding_}set padding(t){let e=this.padding_;this.padding_=t;const i=this.getCenterInternal();if(i){const n=t||[0,0,0,0];e=e||[0,0,0,0];const o=this.getResolution(),a=o/2*(n[3]-e[3]+e[1]-n[1]),h=o/2*(n[0]-e[0]+e[2]-n[2]);this.setCenterInternal([i[0]+a,i[1]-h])}}getUpdatedOptions_(t){const e=this.getProperties();return e.resolution!==void 0?e.resolution=this.getResolution():e.zoom=this.getZoom(),e.center=this.getCenterInternal(),e.rotation=this.getRotation(),Object.assign({},e,t)}animate(t){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);const e=new Array(arguments.length);for(let i=0;i<e.length;++i){let n=arguments[i];n.center&&(n=Object.assign({},n),n.center=ii(n.center,this.getProjection())),n.anchor&&(n=Object.assign({},n),n.anchor=ii(n.anchor,this.getProjection())),e[i]=n}this.animateInternal.apply(this,e)}animateInternal(t){let e=arguments.length,i;e>1&&typeof arguments[e-1]=="function"&&(i=arguments[e-1],--e);let n=0;for(;n<e&&!this.isDef();++n){const f=arguments[n];f.center&&this.setCenterInternal(f.center),f.zoom!==void 0?this.setZoom(f.zoom):f.resolution&&this.setResolution(f.resolution),f.rotation!==void 0&&this.setRotation(f.rotation)}if(n===e){i&&Hs(i,!0);return}let o=Date.now(),a=this.targetCenter_.slice(),h=this.targetResolution_,c=this.targetRotation_;const d=[];for(;n<e;++n){const f=arguments[n],_={start:o,complete:!1,anchor:f.anchor,duration:f.duration!==void 0?f.duration:1e3,easing:f.easing||_m,callback:i};if(f.center&&(_.sourceCenter=a,_.targetCenter=f.center.slice(),a=_.targetCenter),f.zoom!==void 0?(_.sourceResolution=h,_.targetResolution=this.getResolutionForZoom(f.zoom),h=_.targetResolution):f.resolution&&(_.sourceResolution=h,_.targetResolution=f.resolution,h=_.targetResolution),f.rotation!==void 0){_.sourceRotation=c;const m=kn(f.rotation-c+Math.PI,2*Math.PI)-Math.PI;_.targetRotation=c+m,c=_.targetRotation}qm(_)?_.complete=!0:o+=_.duration,d.push(_)}this.animations_.push(d),this.setHint(Ut.ANIMATING,1),this.updateAnimations_()}getAnimating(){return this.hints_[Ut.ANIMATING]>0}getInteracting(){return this.hints_[Ut.INTERACTING]>0}cancelAnimations(){this.setHint(Ut.ANIMATING,-this.hints_[Ut.ANIMATING]);let t;for(let e=0,i=this.animations_.length;e<i;++e){const n=this.animations_[e];if(n[0].callback&&Hs(n[0].callback,!1),!t)for(let o=0,a=n.length;o<a;++o){const h=n[o];if(!h.complete){t=h.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=t,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}updateAnimations_(){if(this.updateAnimationKey_!==void 0&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),!this.getAnimating())return;const t=Date.now();let e=!1;for(let i=this.animations_.length-1;i>=0;--i){const n=this.animations_[i];let o=!0;for(let a=0,h=n.length;a<h;++a){const c=n[a];if(c.complete)continue;const d=t-c.start;let f=c.duration>0?d/c.duration:1;f>=1?(c.complete=!0,f=1):o=!1;const _=c.easing(f);if(c.sourceCenter){const m=c.sourceCenter[0],v=c.sourceCenter[1],y=c.targetCenter[0],E=c.targetCenter[1];this.nextCenter_=c.targetCenter;const b=m+_*(y-m),S=v+_*(E-v);this.targetCenter_=[b,S]}if(c.sourceResolution&&c.targetResolution){const m=_===1?c.targetResolution:c.sourceResolution+_*(c.targetResolution-c.sourceResolution);if(c.anchor){const v=this.getViewportSize_(this.getRotation()),y=this.constraints_.resolution(m,0,v,!0);this.targetCenter_=this.calculateCenterZoom(y,c.anchor)}this.nextResolution_=c.targetResolution,this.targetResolution_=m,this.applyTargetState_(!0)}if(c.sourceRotation!==void 0&&c.targetRotation!==void 0){const m=_===1?kn(c.targetRotation+Math.PI,2*Math.PI)-Math.PI:c.sourceRotation+_*(c.targetRotation-c.sourceRotation);if(c.anchor){const v=this.constraints_.rotation(m,!0);this.targetCenter_=this.calculateCenterRotate(v,c.anchor)}this.nextRotation_=c.targetRotation,this.targetRotation_=m}if(this.applyTargetState_(!0),e=!0,!c.complete)break}if(o){this.animations_[i]=null,this.setHint(Ut.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const a=n[0].callback;a&&Hs(a,!0)}}this.animations_=this.animations_.filter(Boolean),e&&this.updateAnimationKey_===void 0&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let i;const n=this.getCenterInternal();return n!==void 0&&(i=[n[0]-e[0],n[1]-e[1]],ka(i,t-this.getRotation()),em(i,e)),i}calculateCenterZoom(t,e){let i;const n=this.getCenterInternal(),o=this.getResolution();if(n!==void 0&&o!==void 0){const a=e[0]-t*(e[0]-n[0])/o,h=e[1]-t*(e[1]-n[1])/o;i=[a,h]}return i}getViewportSize_(t){const e=this.viewportSize_;if(t){const i=e[0],n=e[1];return[Math.abs(i*Math.cos(t))+Math.abs(n*Math.sin(t)),Math.abs(i*Math.sin(t))+Math.abs(n*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t&&Da(t,this.getProjection())}getCenterInternal(){return this.get(Te.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return t!==void 0?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){const e=this.calculateExtentInternal(t);return Uc(e,this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ft(e,"The view center is not defined");const i=this.getResolution();ft(i!==void 0,"The view resolution is not defined");const n=this.getRotation();return ft(n!==void 0,"The view rotation is not defined"),Ca(e,i,n,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(Te.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(Qi(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=Tt(t)/e[0],n=Fe(t)/e[1];return Math.max(i,n)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,n=Math.log(e/i)/Math.log(t);return function(o){return e/Math.pow(t,o*n)}}getRotation(){return this.get(Te.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,o=Math.log(i/n)/e;return function(a){return Math.log(i/a)/e/o}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const i=this.padding_;return i&&(e=[e[0]-i[1]-i[3],e[1]-i[0]-i[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),i=this.getRotation();let n=this.getCenterInternal();const o=this.padding_;if(o){const a=this.getViewportSizeMinusPadding_();n=qa(n,this.getViewportSize_(),[a[0]/2+o[3],a[1]/2+o[0]],e,i)}return{center:n.slice(0),projection:t!==void 0?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:i,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return e!==void 0&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e=this.minZoom_||0,i,n;if(this.resolutions_){const o=xa(this.resolutions_,t,1);e=o,i=this.resolutions_[o],o==this.resolutions_.length-1?n=2:n=i/this.resolutions_[o+1]}else i=this.maxResolution_,n=this.zoomFactor_;return e+Math.log(i/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_){if(this.resolutions_.length<=1)return 0;const e=It(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,It(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(ft(Array.isArray(t)||typeof t.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){ft(!As(t),"Cannot fit empty extent provided as `geometry`");const n=Qi(t,this.getProjection());i=pu(n)}else if(t.getType()==="Circle"){const n=Qi(t.getExtent(),this.getProjection());i=pu(n),i.rotate(this.getRotation(),Ki(n))}else i=t;this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),n=Math.sin(-e),o=t.getFlatCoordinates(),a=t.getStride();let h=1/0,c=1/0,d=-1/0,f=-1/0;for(let _=0,m=o.length;_<m;_+=a){const v=o[_]*i-o[_+1]*n,y=o[_]*n+o[_+1]*i;h=Math.min(h,v),c=Math.min(c,y),d=Math.max(d,v),f=Math.max(f,y)}return[h,c,d,f]}fitInternal(t,e){e=e||{};let i=e.size;i||(i=this.getViewportSizeMinusPadding_());const n=e.padding!==void 0?e.padding:[0,0,0,0],o=e.nearest!==void 0?e.nearest:!1;let a;e.minResolution!==void 0?a=e.minResolution:e.maxZoom!==void 0?a=this.getResolutionForZoom(e.maxZoom):a=0;const h=this.rotatedExtentForGeometry(t);let c=this.getResolutionForExtentInternal(h,[i[0]-n[1]-n[3],i[1]-n[0]-n[2]]);c=isNaN(c)?a:Math.max(c,a),c=this.getConstrainedResolution(c,o?0:1);const d=this.getRotation(),f=Math.sin(d),_=Math.cos(d),m=Ki(h);m[0]+=(n[1]-n[3])/2*c,m[1]+=(n[0]-n[2])/2*c;const v=m[0]*_-m[1]*f,y=m[1]*_+m[0]*f,E=this.getConstrainedCenter([v,y],c),b=e.callback?e.callback:wn;e.duration!==void 0?this.animateInternal({resolution:c,center:E,duration:e.duration,easing:e.easing},b):(this.targetResolution_=c,this.targetCenter_=E,this.applyTargetState_(!1,!0),Hs(b,!0))}centerOn(t,e,i){this.centerOnInternal(ii(t,this.getProjection()),e,i)}centerOnInternal(t,e,i){this.setCenterInternal(qa(t,e,i,this.getResolution(),this.getRotation()))}calculateCenterShift(t,e,i,n){let o;const a=this.padding_;if(a&&t){const h=this.getViewportSizeMinusPadding_(-i),c=qa(t,n,[h[0]/2+a[3],h[1]/2+a[0]],e,i);o=[t[0]-c[0],t[1]-c[1]]}return o}isDef(){return!!this.getCenterInternal()&&this.getResolution()!==void 0}adjustCenter(t){const e=Da(this.targetCenter_,this.getProjection());this.setCenter([e[0]+t[0],e[1]+t[1]])}adjustCenterInternal(t){const e=this.targetCenter_;this.setCenterInternal([e[0]+t[0],e[1]+t[1]])}adjustResolution(t,e){e=e&&ii(e,this.getProjection()),this.adjustResolutionInternal(t,e)}adjustResolutionInternal(t,e){const i=this.getAnimating()||this.getInteracting(),n=this.getViewportSize_(this.getRotation()),o=this.constraints_.resolution(this.targetResolution_*t,0,n,i);e&&(this.targetCenter_=this.calculateCenterZoom(o,e)),this.targetResolution_*=t,this.applyTargetState_()}adjustZoom(t,e){this.adjustResolution(Math.pow(this.zoomFactor_,-t),e)}adjustRotation(t,e){e&&(e=ii(e,this.getProjection())),this.adjustRotationInternal(t,e)}adjustRotationInternal(t,e){const i=this.getAnimating()||this.getInteracting(),n=this.constraints_.rotation(this.targetRotation_+t,i);e&&(this.targetCenter_=this.calculateCenterRotate(n,e)),this.targetRotation_+=t,this.applyTargetState_()}setCenter(t){this.setCenterInternal(t&&ii(t,this.getProjection()))}setCenterInternal(t){this.targetCenter_=t,this.applyTargetState_()}setHint(t,e){return this.hints_[t]+=e,this.changed(),this.hints_[t]}setResolution(t){this.targetResolution_=t,this.applyTargetState_()}setRotation(t){this.targetRotation_=t,this.applyTargetState_()}setZoom(t){this.setResolution(this.getResolutionForZoom(t))}applyTargetState_(t,e){const i=this.getAnimating()||this.getInteracting()||e,n=this.constraints_.rotation(this.targetRotation_,i),o=this.getViewportSize_(n),a=this.constraints_.resolution(this.targetResolution_,0,o,i),h=this.constraints_.center(this.targetCenter_,a,o,i,this.calculateCenterShift(this.targetCenter_,a,n,o));this.get(Te.ROTATION)!==n&&this.set(Te.ROTATION,n),this.get(Te.RESOLUTION)!==a&&(this.set(Te.RESOLUTION,a),this.set("zoom",this.getZoom(),!0)),(!h||!this.get(Te.CENTER)||!zs(this.get(Te.CENTER),h))&&this.set(Te.CENTER,h),this.getAnimating()&&!t&&this.cancelAnimations(),this.cancelAnchor_=void 0}resolveConstraints(t,e,i){t=t!==void 0?t:200;const n=e||0,o=this.constraints_.rotation(this.targetRotation_),a=this.getViewportSize_(o),h=this.constraints_.resolution(this.targetResolution_,n,a),c=this.constraints_.center(this.targetCenter_,h,a,!1,this.calculateCenterShift(this.targetCenter_,h,o,a));if(t===0&&!this.cancelAnchor_){this.targetResolution_=h,this.targetRotation_=o,this.targetCenter_=c,this.applyTargetState_();return}i=i||(t===0?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,(this.getResolution()!==h||this.getRotation()!==o||!this.getCenterInternal()||!zs(this.getCenterInternal(),c))&&(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:o,center:c,resolution:h,duration:t,easing:Rn,anchor:i}))}beginInteraction(){this.resolveConstraints(0),this.setHint(Ut.INTERACTING,1)}endInteraction(t,e,i){i=i&&ii(i,this.getProjection()),this.endInteractionInternal(t,e,i)}endInteractionInternal(t,e,i){this.getInteracting()&&(this.setHint(Ut.INTERACTING,-1),this.resolveConstraints(t,e,i))}getConstrainedCenter(t,e){const i=this.getViewportSize_(this.getRotation());return this.constraints_.center(t,e||this.getResolution(),i)}getConstrainedZoom(t,e){const i=this.getResolutionForZoom(t);return this.getZoomForResolution(this.getConstrainedResolution(i,e))}getConstrainedResolution(t,e){e=e||0;const i=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(t,e,i)}}function Hs(r,t){setTimeout(function(){r(t)},0)}function Xm(r){if(r.extent!==void 0){const e=r.smoothExtentConstraint!==void 0?r.smoothExtentConstraint:!0;return Zc(r.extent,r.constrainOnlyCenter,e)}const t=Ia(r.projection,"EPSG:3857");if(r.multiWorld!==!0&&t.isGlobal()){const e=t.getExtent().slice();return e[0]=-1/0,e[2]=1/0,Zc(e,!1,!1)}return cm}function Ym(r){let t,e,i,a=r.minZoom!==void 0?r.minZoom:Ka,h=r.maxZoom!==void 0?r.maxZoom:28;const c=r.zoomFactor!==void 0?r.zoomFactor:2,d=r.multiWorld!==void 0?r.multiWorld:!1,f=r.smoothResolutionConstraint!==void 0?r.smoothResolutionConstraint:!0,_=r.showFullExtent!==void 0?r.showFullExtent:!1,m=Ia(r.projection,"EPSG:3857"),v=m.getExtent();let y=r.constrainOnlyCenter,E=r.extent;if(!d&&!E&&m.isGlobal()&&(y=!1,E=v),r.resolutions!==void 0){const b=r.resolutions;e=b[a],i=b[h]!==void 0?b[h]:b[b.length-1],r.constrainResolution?t=um(b,f,!y&&E,_):t=jc(e,i,f,!y&&E,_)}else{const S=(v?Math.max(Tt(v),Fe(v)):360*pr.degrees/m.getMetersPerUnit())/Ea/Math.pow(2,Ka),w=S/Math.pow(2,28-Ka);e=r.maxResolution,e!==void 0?a=0:e=S/Math.pow(c,a),i=r.minResolution,i===void 0&&(r.maxZoom!==void 0?r.maxResolution!==void 0?i=e/Math.pow(c,h):i=S/Math.pow(c,h):i=w),h=a+Math.floor(Math.log(e/i)/Math.log(c)),i=e/Math.pow(c,h-a),r.constrainResolution?t=dm(c,e,i,f,!y&&E,_):t=jc(e,i,f,!y&&E,_)}return{constraint:t,maxResolution:e,minResolution:i,minZoom:a,zoomFactor:c}}function Km(r){if(r.enableRotation!==void 0?r.enableRotation:!0){const e=r.constrainRotation;return e===void 0||e===!0?gm():e===!1?Wc:typeof e=="number"?fm(e):Wc}return za}function qm(r){return!(r.sourceCenter&&r.targetCenter&&!zs(r.sourceCenter,r.targetCenter)||r.sourceResolution!==r.targetResolution||r.sourceRotation!==r.targetRotation)}function qa(r,t,e,i,n){const o=Math.cos(-n);let a=Math.sin(-n),h=r[0]*o-r[1]*a,c=r[1]*o+r[0]*a;h+=(t[0]/2-e[0])*i,c+=(e[1]-t[1]/2)*i,a=-a;const d=h*o-c*a,f=c*o+h*a;return[d,f]}const Ne=Vm,oe={ADD:"add",REMOVE:"remove"},mu={LENGTH:"length"};class Vs extends Qe{constructor(t,e,i){super(t),this.element=e,this.index=i}}class $m extends be{constructor(t,e){if(super(),this.on,this.once,this.un,e=e||{},this.unique_=!!e.unique,this.array_=t||[],this.unique_)for(let i=0,n=this.array_.length;i<n;++i)this.assertUnique_(this.array_[i],i);this.updateLength_()}clear(){for(;this.getLength()>0;)this.pop()}extend(t){for(let e=0,i=t.length;e<i;++e)this.push(t[e]);return this}forEach(t){const e=this.array_;for(let i=0,n=e.length;i<n;++i)t(e[i],i,e)}getArray(){return this.array_}item(t){return this.array_[t]}getLength(){return this.get(mu.LENGTH)}insertAt(t,e){if(t<0||t>this.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new Vs(oe.ADD,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){this.unique_&&this.assertUnique_(t);const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let i=0,n=e.length;i<n;++i)if(e[i]===t)return this.removeAt(i)}removeAt(t){if(t<0||t>=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new Vs(oe.REMOVE,e,t)),e}setAt(t,e){const i=this.getLength();if(t>=i){this.insertAt(t,e);return}if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new Vs(oe.REMOVE,n,t)),this.dispatchEvent(new Vs(oe.ADD,e,t))}updateLength_(){this.set(mu.LENGTH,this.array_.length)}assertUnique_(t,e){for(let i=0,n=this.array_.length;i<n;++i)if(this.array_[i]===t&&i!==e)throw new Error("Duplicate item added to a unique collection")}}const Be=$m,Jm=/^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i,Qm=/^([a-z]*)$|^hsla?\(.*\)$/i;function yu(r){return typeof r=="string"?r:xu(r)}function ty(r){const t=document.createElement("div");if(t.style.color=r,t.style.color!==""){document.body.appendChild(t);const e=getComputedStyle(t).color;return document.body.removeChild(t),e}return""}const ey=function(){const t={};let e=0;return function(i){let n;if(t.hasOwnProperty(i))n=t[i];else{if(e>=1024){let o=0;for(const a in t)o++&3||(delete t[a],--e)}n=iy(i),t[i]=n,++e}return n}}();function Lr(r){return Array.isArray(r)?r:ey(r)}function iy(r){let t,e,i,n,o;if(Qm.exec(r)&&(r=ty(r)),Jm.exec(r)){const a=r.length-1;let h;a<=4?h=1:h=2;const c=a===4||a===8;t=parseInt(r.substr(1+0*h,h),16),e=parseInt(r.substr(1+1*h,h),16),i=parseInt(r.substr(1+2*h,h),16),c?n=parseInt(r.substr(1+3*h,h),16):n=255,h==1&&(t=(t<<4)+t,e=(e<<4)+e,i=(i<<4)+i,c&&(n=(n<<4)+n)),o=[t,e,i,n/255]}else if(r.startsWith("rgba("))o=r.slice(5,-1).split(",").map(Number),vu(o);else if(r.startsWith("rgb("))o=r.slice(4,-1).split(",").map(Number),o.push(1),vu(o);else throw new Error("Invalid color");return o}function vu(r){return r[0]=It(r[0]+.5|0,0,255),r[1]=It(r[1]+.5|0,0,255),r[2]=It(r[2]+.5|0,0,255),r[3]=It(r[3],0,1),r}function xu(r){let t=r[0];t!=(t|0)&&(t=t+.5|0);let e=r[1];e!=(e|0)&&(e=e+.5|0);let i=r[2];i!=(i|0)&&(i=i+.5|0);const n=r[3]===void 0?1:Math.round(r[3]*100)/100;return"rgba("+t+","+e+","+i+","+n+")"}class ny{constructor(){this.cache_={},this.cacheSize_=0,this.maxCacheSize_=32}clear(){this.cache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const i=this.cache_[e];!(t++&3)&&!i.hasListener()&&(delete this.cache_[e],--this.cacheSize_)}}}get(t,e,i){const n=Eu(t,e,i);return n in this.cache_?this.cache_[n]:null}set(t,e,i,n){const o=Eu(t,e,i);this.cache_[o]=n,++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function Eu(r,t,e){const i=e?yu(e):"null";return t+":"+r+":"+i}const Xs=new ny,vt={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",MAX_ZOOM:"maxZoom",MIN_ZOOM:"minZoom",SOURCE:"source",MAP:"map"};class ry extends be{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);typeof t.properties=="object"&&(delete e.properties,Object.assign(e,t.properties)),e[vt.OPACITY]=t.opacity!==void 0?t.opacity:1,ft(typeof e[vt.OPACITY]=="number","Layer opacity must be a number"),e[vt.VISIBLE]=t.visible!==void 0?t.visible:!0,e[vt.Z_INDEX]=t.zIndex,e[vt.MAX_RESOLUTION]=t.maxResolution!==void 0?t.maxResolution:1/0,e[vt.MIN_RESOLUTION]=t.minResolution!==void 0?t.minResolution:0,e[vt.MIN_ZOOM]=t.minZoom!==void 0?t.minZoom:-1/0,e[vt.MAX_ZOOM]=t.maxZoom!==void 0?t.maxZoom:1/0,this.className_=e.className!==void 0?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:t===void 0?!0:t},i=this.getZIndex();return e.opacity=It(Math.round(this.getOpacity()*100)/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=i===void 0&&!e.managed?1/0:i,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return it()}getLayerStatesArray(t){return it()}getExtent(){return this.get(vt.EXTENT)}getMaxResolution(){return this.get(vt.MAX_RESOLUTION)}getMinResolution(){return this.get(vt.MIN_RESOLUTION)}getMinZoom(){return this.get(vt.MIN_ZOOM)}getMaxZoom(){return this.get(vt.MAX_ZOOM)}getOpacity(){return this.get(vt.OPACITY)}getSourceState(){return it()}getVisible(){return this.get(vt.VISIBLE)}getZIndex(){return this.get(vt.Z_INDEX)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(vt.EXTENT,t)}setMaxResolution(t){this.set(vt.MAX_RESOLUTION,t)}setMinResolution(t){this.set(vt.MIN_RESOLUTION,t)}setMaxZoom(t){this.set(vt.MAX_ZOOM,t)}setMinZoom(t){this.set(vt.MIN_ZOOM,t)}setOpacity(t){ft(typeof t=="number","Layer opacity must be a number"),this.set(vt.OPACITY,t)}setVisible(t){this.set(vt.VISIBLE,t)}setZIndex(t){this.set(vt.Z_INDEX,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const wu=ry,qt={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"};class sy extends wu{constructor(t){const e=Object.assign({},t);delete e.source,super(e),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,t.render&&(this.render=t.render),t.map&&this.setMap(t.map),this.addChangeListener(vt.SOURCE,this.handleSourcePropertyChange_);const i=t.source?t.source:null;this.setSource(i)}getLayersArray(t){return t=t||[],t.push(this),t}getLayerStatesArray(t){return t=t||[],t.push(this.getLayerState()),t}getSource(){return this.get(vt.SOURCE)||null}getRenderSource(){return this.getSource()}getSourceState(){const t=this.getSource();return t?t.getState():"undefined"}handleSourceChange_(){this.changed(),!(this.sourceReady_||this.getSource().getState()!=="ready")&&(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(wt(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const t=this.getSource();t&&(this.sourceChangeKey_=ht(t,rt.CHANGE,this.handleSourceChange_,this),t.getState()==="ready"&&(this.sourceReady_=!0,setTimeout(()=>{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return!this.renderer_||!this.rendered?null:this.renderer_.getData(t)}isVisible(t){let e;const i=this.getMapInternal();!t&&i&&(t=i.getView()),t instanceof Ne?e={viewState:t.getState(),extent:t.calculateExtent()}:e=t,!e.layerStatesArray&&i&&(e.layerStatesArray=i.getLayerGroup().getLayerStatesArray());let n;e.layerStatesArray?n=e.layerStatesArray.find(a=>a.layer===this):n=this.getLayerState();const o=this.getExtent();return $a(n,e.viewState)&&(!o||se(o,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];let e;const i=this.getSource();if(i&&(e=i.getAttributions()),!e)return[];const n=t instanceof Ne?t.getViewStateAndExtent():t;let o=e(n);return Array.isArray(o)||(o=[o]),o}render(t,e){const i=this.getRenderer();return i.prepareFrame(t)?(this.rendered=!0,i.renderFrame(t,e)):null}unrender(){this.rendered=!1}setMapInternal(t){t||this.unrender(),this.set(vt.MAP,t)}getMapInternal(){return this.get(vt.MAP)}setMap(t){this.mapPrecomposeKey_&&(wt(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wt(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=ht(t,qt.PRECOMPOSE,function(e){const n=e.frameState.layerStatesArray,o=this.getLayerState(!1);ft(!n.some(function(a){return a.layer===o.layer}),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),n.push(o)},this),this.mapRenderKey_=ht(this,rt.CHANGE,t.render,t),this.changed())}setSource(t){this.set(vt.SOURCE,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),super.disposeInternal()}}function $a(r,t){if(!r.visible)return!1;const e=t.resolution;if(e<r.minResolution||e>=r.maxResolution)return!1;const i=t.zoom;return i>r.minZoom&&i<=r.maxZoom}const Ys=sy;class oy extends Es{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){it()}calculateMatrices2D(t){const e=t.viewState,i=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;ze(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Bs(n,i)}forEachFeatureAtCoordinate(t,e,i,n,o,a,h,c){let d;const f=e.viewState;function _(P,M,I,D){return o.call(a,M,P?I:null,D)}const m=f.projection,v=Mc(t.slice(),m),y=[[0,0]];if(m.canWrapX()&&n){const P=m.getExtent(),M=Tt(P);y.push([-M,0],[M,0])}const E=e.layerStatesArray,b=E.length,S=[],w=[];for(let P=0;P<y.length;P++)for(let M=b-1;M>=0;--M){const I=E[M],D=I.layer;if(D.hasRenderer()&&$a(I,f)&&h.call(c,D)){const z=D.getRenderer(),W=D.getSource();if(z&&W){const K=W.getWrapX()?v:t,Q=_.bind(null,I.managed);w[0]=K[0]+y[P][0],w[1]=K[1]+y[P][1],d=z.forEachFeatureAtCoordinate(w,e,i,Q,S)}if(d)return d}}if(S.length===0)return;const T=1/S.length;return S.forEach((P,M)=>P.distanceSq+=M*T),S.sort((P,M)=>P.distanceSq-M.distanceSq),S.some(P=>d=P.callback(P.feature,P.layer,P.geometry)),d}hasFeatureAtCoordinate(t,e,i,n,o,a){return this.forEachFeatureAtCoordinate(t,e,i,n,_r,this,o,a)!==void 0}getMap(){return this.map_}renderFrame(t){it()}flushDeclutterItems(t){}scheduleExpireIconCache(t){Xs.canExpireCache()&&t.postRenderFunctions.push(ay)}}function ay(r,t){Xs.expire()}const ly=oy;class hy extends Qe{constructor(t,e,i,n){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=n}}const br=hy,Ks="ol-hidden",cy="ol-selectable",Tr="ol-unselectable",Lu="ol-unsupported",qs="ol-control",bu="ol-collapsed",uy=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))",`?\\s*([-,\\"\\'\\sa-z]+?)\\s*$`].join(""),"i"),Tu=["style","variant","weight","size","lineHeight","family"],Cu=function(r){const t=r.match(uy);if(!t)return null;const e={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let i=0,n=Tu.length;i<n;++i){const o=t[i+1];o!==void 0&&(e[Tu[i]]=o)}return e.families=e.family.split(/,\s?/),e};function $t(r,t,e,i){let n;return e&&e.length?n=e.shift():Na?n=new OffscreenCanvas(r||300,t||300):n=document.createElement("canvas"),r&&(n.width=r),t&&(n.height=t),n.getContext("2d",i)}function $s(r){const t=r.canvas;t.width=1,t.height=1,r.clearRect(0,0,1,1)}function dy(r){let t=r.offsetWidth;const e=getComputedStyle(r);return t+=parseInt(e.marginLeft,10)+parseInt(e.marginRight,10),t}function fy(r){let t=r.offsetHeight;const e=getComputedStyle(r);return t+=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10),t}function Js(r,t){const e=t.parentNode;e&&e.replaceChild(r,t)}function Qs(r){return r&&r.parentNode?r.parentNode.removeChild(r):null}function Su(r){for(;r.lastChild;)r.removeChild(r.lastChild)}function gy(r,t){const e=r.childNodes;for(let i=0;;++i){const n=e[i],o=t[i];if(!n&&!o)break;if(n!==o){if(!n){r.appendChild(o);continue}if(!o){r.removeChild(n),--i;continue}r.insertBefore(o,n)}}}const Pu="10px sans-serif",ae="#000",Mn="round",ni=[],ri=0,In="round",Cr=10,Sr="#000",Pr="center",to="middle",sn=[0,0,0,0],kr=1,si=new be;let An=null,Ja;const Qa={},_y=function(){const t="32px ",e=["monospace","serif"],i=e.length,n="wmytzilWMYTZIL@#/&?$%10";let o,a;function h(d,f,_){let m=!0;for(let v=0;v<i;++v){const y=e[v];if(a=eo(d+" "+f+" "+t+y,n),_!=y){const E=eo(d+" "+f+" "+t+_+","+y,n);m=m&&E!=a}}return!!m}function c(){let d=!0;const f=si.getKeys();for(let _=0,m=f.length;_<m;++_){const v=f[_];si.get(v)<100&&(h.apply(this,v.split(`
18
+ `))?(Ln(Qa),An=null,Ja=void 0,si.set(v,100)):(si.set(v,si.get(v)+1,!0),d=!1))}d&&(clearInterval(o),o=void 0)}return function(d){const f=Cu(d);if(!f)return;const _=f.families;for(let m=0,v=_.length;m<v;++m){const y=_[m],E=f.style+`
19
+ `+f.weight+`
20
+ `+y;si.get(E)===void 0&&(si.set(E,100,!0),h(f.style,f.weight,y)||(si.set(E,0,!0),o===void 0&&(o=setInterval(c,32))))}}}(),py=function(){let r;return function(t){let e=Qa[t];if(e==null){if(Na){const i=Cu(t),n=ku(t,"Žg");e=(isNaN(Number(i.lineHeight))?1.2:Number(i.lineHeight))*(n.actualBoundingBoxAscent+n.actualBoundingBoxDescent)}else r||(r=document.createElement("div"),r.innerHTML="M",r.style.minHeight="0",r.style.maxHeight="none",r.style.height="auto",r.style.padding="0",r.style.border="none",r.style.position="absolute",r.style.display="block",r.style.left="-99999px"),r.style.font=t,document.body.appendChild(r),e=r.offsetHeight,document.body.removeChild(r);Qa[t]=e}return e}}();function ku(r,t){return An||(An=$t(1,1)),r!=Ja&&(An.font=r,Ja=An.font),An.measureText(t)}function eo(r,t){return ku(r,t).width}function Ru(r,t,e){if(t in e)return e[t];const i=t.split(`
21
+ `).reduce((n,o)=>Math.max(n,eo(r,o)),0);return e[t]=i,i}function my(r,t){const e=[],i=[],n=[];let o=0,a=0,h=0,c=0;for(let d=0,f=t.length;d<=f;d+=2){const _=t[d];if(_===`
22
+ `||d===f){o=Math.max(o,a),n.push(a),a=0,h+=c;continue}const m=t[d+1]||r.font,v=eo(m,_);e.push(v),a+=v;const y=py(m);i.push(y),c=Math.max(c,y)}return{width:o,height:h,widths:e,heights:i,lineWidths:n}}function yy(r,t,e,i,n,o,a,h,c,d,f){r.save(),e!==1&&(r.globalAlpha*=e),t&&r.transform.apply(r,t),i.contextInstructions?(r.translate(c,d),r.scale(f[0],f[1]),vy(i,r)):f[0]<0||f[1]<0?(r.translate(c,d),r.scale(f[0],f[1]),r.drawImage(i,n,o,a,h,0,0,a,h)):r.drawImage(i,n,o,a,h,c,d,a*f[0],h*f[1]),r.restore()}function vy(r,t){const e=r.contextInstructions;for(let i=0,n=e.length;i<n;i+=2)Array.isArray(e[i+1])?t[e[i]].apply(t,e[i+1]):t[e[i]]=e[i+1]}class xy extends ly{constructor(t){super(t),this.fontChangeListenerKey_=ht(si,En.PROPERTYCHANGE,t.redrawText.bind(t)),this.element_=document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=Tr+" ol-layers";const i=t.getViewport();i.insertBefore(this.element_,i.firstChild||null),this.children_=[],this.renderedVisible_=!0,this.declutterLayers_=[]}dispatchRenderEvent(t,e){const i=this.getMap();if(i.hasListener(t)){const n=new br(t,void 0,e);i.dispatchEvent(n)}}disposeInternal(){wt(this.fontChangeListenerKey_),this.element_.parentNode.removeChild(this.element_),super.disposeInternal()}renderFrame(t){if(!t){this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1);return}this.calculateMatrices2D(t),this.dispatchRenderEvent(qt.PRECOMPOSE,t);const e=t.layerStatesArray.sort(function(a,h){return a.zIndex-h.zIndex}),i=t.viewState;this.children_.length=0;const n=this.declutterLayers_;n.length=0;let o=null;for(let a=0,h=e.length;a<h;++a){const c=e[a];t.layerIndex=a;const d=c.layer,f=d.getSourceState();if(!$a(c,i)||f!="ready"&&f!="undefined"){d.unrender();continue}const _=d.render(t,o);_&&(_!==o&&(this.children_.push(_),o=_),"getDeclutter"in d&&n.push(d))}this.flushDeclutterItems(t),gy(this.element_,this.children_),this.dispatchRenderEvent(qt.POSTCOMPOSE,t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}flushDeclutterItems(t){const e=this.declutterLayers_;for(let i=e.length-1;i>=0;--i)e[i].renderDeclutter(t);e.length=0}}const Ey=xy;class bi extends Qe{constructor(t,e){super(t),this.layer=e}}const tl={LAYERS:"layers"};class el extends wu{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let i=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(tl.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new Be(i.slice(),{unique:!0}):ft(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new Be(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wt),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(ht(t,oe.ADD,this.handleLayersAdd_,this),ht(t,oe.REMOVE,this.handleLayersRemove_,this));for(const i in this.listenerKeys_)this.listenerKeys_[i].forEach(wt);Ln(this.listenerKeys_);const e=t.getArray();for(let i=0,n=e.length;i<n;i++){const o=e[i];this.registerLayerListeners_(o),this.dispatchEvent(new bi("addlayer",o))}this.changed()}registerLayerListeners_(t){const e=[ht(t,En.PROPERTYCHANGE,this.handleLayerChange_,this),ht(t,rt.CHANGE,this.handleLayerChange_,this)];t instanceof el&&e.push(ht(t,"addlayer",this.handleLayerGroupAdd_,this),ht(t,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[at(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new bi("addlayer",t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new bi("removelayer",t.layer))}handleLayersAdd_(t){const e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new bi("addlayer",e)),this.changed()}handleLayersRemove_(t){const e=t.element,i=at(e);this.listenerKeys_[i].forEach(wt),delete this.listenerKeys_[i],this.dispatchEvent(new bi("removelayer",e)),this.changed()}getLayers(){return this.get(tl.LAYERS)}setLayers(t){const e=this.getLayers();if(e){const i=e.getArray();for(let n=0,o=i.length;n<o;++n)this.dispatchEvent(new bi("removelayer",i[n]))}this.set(tl.LAYERS,t)}getLayersArray(t){return t=t!==void 0?t:[],this.getLayers().forEach(function(e){e.getLayersArray(t)}),t}getLayerStatesArray(t){const e=t!==void 0?t:[],i=e.length;this.getLayers().forEach(function(a){a.getLayerStatesArray(e)});const n=this.getLayerState();let o=n.zIndex;!t&&n.zIndex===void 0&&(o=0);for(let a=i,h=e.length;a<h;a++){const c=e[a];c.opacity*=n.opacity,c.visible=c.visible&&n.visible,c.maxResolution=Math.min(c.maxResolution,n.maxResolution),c.minResolution=Math.max(c.minResolution,n.minResolution),c.minZoom=Math.max(c.minZoom,n.minZoom),c.maxZoom=Math.min(c.maxZoom,n.maxZoom),n.extent!==void 0&&(c.extent!==void 0?c.extent=xr(c.extent,n.extent):c.extent=n.extent),c.zIndex===void 0&&(c.zIndex=o)}return e}getSourceState(){return"ready"}}const io=el;class wy extends Qe{constructor(t,e,i){super(t),this.map=e,this.frameState=i!==void 0?i:null}}const Dn=wy;class Ly extends Dn{constructor(t,e,i,n,o,a){super(t,e,o),this.originalEvent=i,this.pixel_=null,this.coordinate_=null,this.dragging=n!==void 0?n:!1,this.activePointers=a}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(t){this.pixel_=t}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(t){this.coordinate_=t}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}}const Ti=Ly,Mt={SINGLECLICK:"singleclick",CLICK:rt.CLICK,DBLCLICK:rt.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},il={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};class by extends Ls{constructor(t,e){super(t),this.map_=t,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=e===void 0?1:e,this.down_=null;const i=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=i,this.pointerdownListenerKey_=ht(i,il.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=ht(i,il.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(rt.TOUCHMOVE,this.boundHandleTouchMove_,Kc?{passive:!1}:!1)}emulateClick_(t){let e=new Ti(Mt.CLICK,this.map_,t);this.dispatchEvent(e),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new Ti(Mt.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const i=new Ti(Mt.SINGLECLICK,this.map_,t);this.dispatchEvent(i)},250)}updateActivePointers_(t){const e=t,i=e.pointerId;if(e.type==Mt.POINTERUP||e.type==Mt.POINTERCANCEL){delete this.trackedTouches_[i];for(const n in this.trackedTouches_)if(this.trackedTouches_[n].target!==e.target){delete this.trackedTouches_[n];break}}else(e.type==Mt.POINTERDOWN||e.type==Mt.POINTERMOVE)&&(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new Ti(Mt.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),this.activePointers_.length===0&&(this.dragListenerKeys_.forEach(wt),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return t.button===0}handlePointerDown_(t){this.emulateClicks_=this.activePointers_.length===0,this.updateActivePointers_(t);const e=new Ti(Mt.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),this.dragListenerKeys_.length===0){const i=this.map_.getOwnerDocument();this.dragListenerKeys_.push(ht(i,Mt.POINTERMOVE,this.handlePointerMove_,this),ht(i,Mt.POINTERUP,this.handlePointerUp_,this),ht(this.element_,Mt.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(ht(this.element_.getRootNode(),Mt.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new Ti(Mt.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!!(this.down_&&this.isMoving_(t));this.dispatchEvent(new Ti(Mt.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;(!e||e.defaultPrevented)&&(typeof t.cancelable!="boolean"||t.cancelable===!0)&&t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wt(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(rt.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wt(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wt),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const Ty=by,oi={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend",LOADSTART:"loadstart",LOADEND:"loadend"},jt={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"},no=1/0;class Cy{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Ln(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,i=t[0];t.length==1?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const n=this.keyFunction_(i);return delete this.queuedElements_[n],i}enqueue(t){ft(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=no?(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0):!1}getCount(){return this.elements_.length}getLeftChildIndex_(t){return t*2+1}getRightChildIndex_(t){return t*2+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return this.elements_.length===0}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,i=this.priorities_,n=e.length,o=e[t],a=i[t],h=t;for(;t<n>>1;){const c=this.getLeftChildIndex_(t),d=this.getRightChildIndex_(t),f=d<n&&i[d]<i[c]?d:c;e[t]=e[f],i[t]=i[f],t=f}e[t]=o,i[t]=a,this.siftDown_(h,t)}siftDown_(t,e){const i=this.elements_,n=this.priorities_,o=i[e],a=n[e];for(;e>t;){const h=this.getParentIndex_(e);if(n[h]>a)i[e]=i[h],n[e]=n[h],e=h;else break}i[e]=o,n[e]=a}reprioritize(){const t=this.priorityFunction_,e=this.elements_,i=this.priorities_;let n=0;const o=e.length;let a,h,c;for(h=0;h<o;++h)a=e[h],c=t(a),c==no?delete this.queuedElements_[this.keyFunction_(a)]:(i[n]=c,e[n++]=a);e.length=n,i.length=n,this.heapify_()}}const Sy=Cy,$={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class Py extends Sy{constructor(t,e){super(function(i){return t.apply(null,i)},function(i){return i[0].getKey()}),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(rt.CHANGE,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,i=e.getState();if(i===$.LOADED||i===$.ERROR||i===$.EMPTY){i!==$.ERROR&&e.removeEventListener(rt.CHANGE,this.boundHandleTileChange_);const n=e.getKey();n in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[n],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let i=0,n,o,a;for(;this.tilesLoading_<t&&i<e&&this.getCount()>0;)o=this.dequeue()[0],a=o.getKey(),n=o.getState(),n===$.IDLE&&!(a in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[a]=!0,++this.tilesLoading_,++i,o.load())}}const ky=Py;function Ry(r,t,e,i,n){if(!r||!(e in r.wantedTiles)||!r.wantedTiles[e][t.getKey()])return no;const o=r.viewState.center,a=i[0]-o[0],h=i[1]-o[1];return 65536*Math.log(n)+Math.sqrt(a*a+h*h)/n}class My extends be{constructor(t){super();const e=t.element;e&&!t.target&&!e.style.pointerEvents&&(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){Qs(this.element),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&Qs(this.element);for(let e=0,i=this.listenerKeys.length;e<i;++e)wt(this.listenerKeys[e]);this.listenerKeys.length=0,this.map_=t,t&&((this.target_?this.target_:t.getOverlayContainerStopEvent()).appendChild(this.element),this.render!==wn&&this.listenerKeys.push(ht(t,oi.POSTRENDER,this.render,this)),t.render())}render(t){}setTarget(t){this.target_=typeof t=="string"?document.getElementById(t):t}}const ro=My;class Iy extends ro{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=t.collapsed!==void 0?t.collapsed:!0,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=t.collapsible!==void 0,this.collapsible_=t.collapsible!==void 0?t.collapsible:!0,this.collapsible_||(this.collapsed_=!1);const e=t.className!==void 0?t.className:"ol-attribution",i=t.tipLabel!==void 0?t.tipLabel:"Attributions",n=t.expandClassName!==void 0?t.expandClassName:e+"-expand",o=t.collapseLabel!==void 0?t.collapseLabel:"›",a=t.collapseClassName!==void 0?t.collapseClassName:e+"-collapse";typeof o=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=o,this.collapseLabel_.className=a):this.collapseLabel_=o;const h=t.label!==void 0?t.label:"i";typeof h=="string"?(this.label_=document.createElement("span"),this.label_.textContent=h,this.label_.className=n):this.label_=h;const c=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=i,this.toggleButton_.appendChild(c),this.toggleButton_.addEventListener(rt.CLICK,this.handleClick_.bind(this),!1);const d=e+" "+Tr+" "+qs+(this.collapsed_&&this.collapsible_?" "+bu:"")+(this.collapsible_?"":" ol-uncollapsible"),f=this.element;f.className=d,f.appendChild(this.toggleButton_),f.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(t){const e=Array.from(new Set(this.getMap().getAllLayers().flatMap(n=>n.getAttributions(t)))),i=!this.getMap().getAllLayers().some(n=>n.getSource()&&n.getSource().getAttributionsCollapsible()===!1);return this.overrideCollapsible_||this.setCollapsible(i),e}updateElement_(t){if(!t){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}const e=this.collectSourceAttributions_(t),i=e.length>0;if(this.renderedVisible_!=i&&(this.element.style.display=i?"":"none",this.renderedVisible_=i),!ei(e,this.renderedAttributions_)){Su(this.ulElement_);for(let n=0,o=e.length;n<o;++n){const a=document.createElement("li");a.innerHTML=e[n],this.ulElement_.appendChild(a)}this.renderedAttributions_=e}}handleClick_(t){t.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(bu),this.collapsed_?Js(this.collapseLabel_,this.label_):Js(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(t){this.userCollapsed_=t,!(!this.collapsible_||this.collapsed_===t)&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(t){this.updateElement_(t.frameState)}}const Mu=Iy;class Ay extends ro{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target});const e=t.className!==void 0?t.className:"ol-rotate",i=t.label!==void 0?t.label:"⇧",n=t.compassClassName!==void 0?t.compassClassName:"ol-compass";this.label_=null,typeof i=="string"?(this.label_=document.createElement("span"),this.label_.className=n,this.label_.textContent=i):(this.label_=i,this.label_.classList.add(n));const o=t.tipLabel?t.tipLabel:"Reset rotation",a=document.createElement("button");a.className=e+"-reset",a.setAttribute("type","button"),a.title=o,a.appendChild(this.label_),a.addEventListener(rt.CLICK,this.handleClick_.bind(this),!1);const h=e+" "+Tr+" "+qs,c=this.element;c.className=h,c.appendChild(a),this.callResetNorth_=t.resetNorth?t.resetNorth:void 0,this.duration_=t.duration!==void 0?t.duration:250,this.autoHide_=t.autoHide!==void 0?t.autoHide:!0,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(Ks)}handleClick_(t){t.preventDefault(),this.callResetNorth_!==void 0?this.callResetNorth_():this.resetNorth_()}resetNorth_(){const e=this.getMap().getView();if(!e)return;const i=e.getRotation();i!==void 0&&(this.duration_>0&&i%(2*Math.PI)!==0?e.animate({rotation:0,duration:this.duration_,easing:Rn}):e.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const i=e.viewState.rotation;if(i!=this.rotation_){const n="rotate("+i+"rad)";if(this.autoHide_){const o=this.element.classList.contains(Ks);!o&&i===0?this.element.classList.add(Ks):o&&i!==0&&this.element.classList.remove(Ks)}this.label_.style.transform=n}this.rotation_=i}}const Dy=Ay;class Oy extends ro{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=t.className!==void 0?t.className:"ol-zoom",i=t.delta!==void 0?t.delta:1,n=t.zoomInClassName!==void 0?t.zoomInClassName:e+"-in",o=t.zoomOutClassName!==void 0?t.zoomOutClassName:e+"-out",a=t.zoomInLabel!==void 0?t.zoomInLabel:"+",h=t.zoomOutLabel!==void 0?t.zoomOutLabel:"–",c=t.zoomInTipLabel!==void 0?t.zoomInTipLabel:"Zoom in",d=t.zoomOutTipLabel!==void 0?t.zoomOutTipLabel:"Zoom out",f=document.createElement("button");f.className=n,f.setAttribute("type","button"),f.title=c,f.appendChild(typeof a=="string"?document.createTextNode(a):a),f.addEventListener(rt.CLICK,this.handleClick_.bind(this,i),!1);const _=document.createElement("button");_.className=o,_.setAttribute("type","button"),_.title=d,_.appendChild(typeof h=="string"?document.createTextNode(h):h),_.addEventListener(rt.CLICK,this.handleClick_.bind(this,-i),!1);const m=e+" "+Tr+" "+qs,v=this.element;v.className=m,v.appendChild(f),v.appendChild(_),this.duration_=t.duration!==void 0?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const i=this.getMap().getView();if(!i)return;const n=i.getZoom();if(n!==void 0){const o=i.getConstrainedZoom(n+t);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:o,duration:this.duration_,easing:Rn})):i.setZoom(o)}}}const Fy=Oy;function Iu(r){r=r||{};const t=new Be;return(r.zoom!==void 0?r.zoom:!0)&&t.push(new Fy(r.zoomOptions)),(r.rotate!==void 0?r.rotate:!0)&&t.push(new Dy(r.rotateOptions)),(r.attribution!==void 0?r.attribution:!0)&&t.push(new Mu(r.attributionOptions)),t}const Au={ACTIVE:"active"};class zy extends be{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(Au.ACTIVE)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(Au.ACTIVE,t)}setMap(t){this.map_=t}}function Ny(r,t,e){const i=r.getCenterInternal();if(i){const n=[i[0]+t[0],i[1]+t[1]];r.animateInternal({duration:e!==void 0?e:250,easing:pm,center:r.getConstrainedCenter(n)})}}function nl(r,t,e,i){const n=r.getZoom();if(n===void 0)return;const o=r.getConstrainedZoom(n+t),a=r.getResolutionForZoom(o);r.getAnimating()&&r.cancelAnimations(),r.animate({resolution:a,anchor:e,duration:i!==void 0?i:250,easing:Rn})}const Rr=zy;class By extends Rr{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:250}handleEvent(t){let e=!1;if(t.type==Mt.DBLCLICK){const i=t.originalEvent,n=t.map,o=t.coordinate,a=i.shiftKey?-this.delta_:this.delta_,h=n.getView();nl(h,a,o,this.duration_),i.preventDefault(),e=!0}return!e}}const Gy=By;class Uy extends Rr{constructor(t){t=t||{},super(t),t.handleDownEvent&&(this.handleDownEvent=t.handleDownEvent),t.handleDragEvent&&(this.handleDragEvent=t.handleDragEvent),t.handleMoveEvent&&(this.handleMoveEvent=t.handleMoveEvent),t.handleUpEvent&&(this.handleUpEvent=t.handleUpEvent),t.stopDown&&(this.stopDown=t.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(t){return!1}handleDragEvent(t){}handleEvent(t){if(!t.originalEvent)return!0;let e=!1;if(this.updateTrackedPointers_(t),this.handlingDownUpSequence){if(t.type==Mt.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==Mt.POINTERUP){const i=this.handleUpEvent(t);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(t.type==Mt.POINTERDOWN){const i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==Mt.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function rl(r){const t=r.length;let e=0,i=0;for(let n=0;n<t;n++)e+=r[n].clientX,i+=r[n].clientY;return{clientX:e/t,clientY:i/t}}const Mr=Uy;function sl(r){const t=arguments;return function(e){let i=!0;for(let n=0,o=t.length;n<o&&(i=i&&t[n](e),!!i);++n);return i}}const Zy=function(r){const t=r.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},jy=function(r){const t=r.map.getTargetElement(),e=r.map.getOwnerDocument().activeElement;return t.contains(e)},Du=function(r){return r.map.getTargetElement().hasAttribute("tabindex")?jy(r):!0},Wy=_r,Ou=function(r){const t=r.originalEvent;return t.button==0&&!(vm&&Vc&&t.ctrlKey)},Fu=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey},Hy=function(r){const t=r.originalEvent;return Vc?t.metaKey:t.ctrlKey},Vy=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},zu=function(r){const t=r.originalEvent,e=t.target.tagName;return e!=="INPUT"&&e!=="SELECT"&&e!=="TEXTAREA"&&!t.target.isContentEditable},ol=function(r){const t=r.originalEvent;return ft(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.pointerType=="mouse"},Xy=function(r){const t=r.originalEvent;return ft(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.isPrimary&&t.button===0};class Yy extends Mr{constructor(t){super({stopDown:ws}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const e=t.condition?t.condition:sl(Fu,Xy);this.condition_=t.onFocusOnly?sl(Du,e):e,this.noKinetic_=!1}handleDragEvent(t){const e=t.map;this.panning_||(this.panning_=!0,e.getView().beginInteraction());const i=this.targetPointers,n=e.getEventPixel(rl(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(n[0],n[1]),this.lastCentroid){const o=[this.lastCentroid[0]-n[0],n[1]-this.lastCentroid[1]],h=t.map.getView();im(o,h.getResolution()),ka(o,h.getRotation()),h.adjustCenterInternal(o)}}else this.kinetic_&&this.kinetic_.begin();this.lastCentroid=n,this.lastPointersCount_=i.length,t.originalEvent.preventDefault()}handleUpEvent(t){const e=t.map,i=e.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){const n=this.kinetic_.getDistance(),o=this.kinetic_.getAngle(),a=i.getCenterInternal(),h=e.getPixelFromCoordinateInternal(a),c=e.getCoordinateFromPixelInternal([h[0]-n*Math.cos(o),h[1]-n*Math.sin(o)]);i.animateInternal({center:i.getConstrainedCenter(c),duration:500,easing:Rn})}return this.panning_&&(this.panning_=!1,i.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(t){if(this.targetPointers.length>0&&this.condition_(t)){const i=t.map.getView();return this.lastCentroid=null,i.getAnimating()&&i.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}const Ky=Yy;class qy extends Mr{constructor(t){t=t||{},super({stopDown:ws}),this.condition_=t.condition?t.condition:Zy,this.lastAngle_=void 0,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){if(!ol(t))return;const e=t.map,i=e.getView();if(i.getConstraints().rotation===za)return;const n=e.getSize(),o=t.pixel,a=Math.atan2(n[1]/2-o[1],o[0]-n[0]/2);if(this.lastAngle_!==void 0){const h=a-this.lastAngle_;i.adjustRotationInternal(-h)}this.lastAngle_=a}handleUpEvent(t){return ol(t)?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){return ol(t)&&Ou(t)&&this.condition_(t)?(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}}const $y=qy;class Jy extends Es{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,i="px",n=this.element_.style;n.left=Math.min(t[0],e[0])+i,n.top=Math.min(t[1],e[1])+i,n.width=Math.abs(e[0]-t[0])+i,n.height=Math.abs(e[1]-t[1])+i}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new Ws([n])}getGeometry(){return this.geometry_}}const Qy=Jy,so={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"};class al extends Qe{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}}class tv extends Mr{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.box_=new Qy(t.className||"ol-dragbox"),this.minArea_=t.minArea!==void 0?t.minArea:64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition?t.condition:Ou,this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){const n=i[0]-e[0],o=i[1]-e[1];return n*n+o*o>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new al(so.BOXDRAG,t.coordinate,t))}handleUpEvent(t){this.box_.setMap(null);const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new al(e?so.BOXEND:so.BOXCANCEL,t.coordinate,t)),!1}handleDownEvent(t){return this.condition_(t)?(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new al(so.BOXSTART,t.coordinate,t)),!0):!1}onBoxEnd(t){}}const ev=tv;class iv extends ev{constructor(t){t=t||{};const e=t.condition?t.condition:Vy;super({condition:e,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=t.duration!==void 0?t.duration:200,this.out_=t.out!==void 0?t.out:!1}onBoxEnd(t){const i=this.getMap().getView();let n=this.getGeometry();if(this.out_){const o=i.rotatedExtentForGeometry(n),a=i.getResolutionForExtentInternal(o),h=i.getResolution()/a;n=n.clone(),n.scale(h*h)}i.fitInternal(n,{duration:this.duration_,easing:Rn})}}const nv=iv,on={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};class rv extends Rr{constructor(t){super(),t=t||{},this.defaultCondition_=function(e){return Fu(e)&&zu(e)},this.condition_=t.condition!==void 0?t.condition:this.defaultCondition_,this.duration_=t.duration!==void 0?t.duration:100,this.pixelDelta_=t.pixelDelta!==void 0?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==rt.KEYDOWN){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==on.DOWN||n==on.LEFT||n==on.RIGHT||n==on.UP)){const a=t.map.getView(),h=a.getResolution()*this.pixelDelta_;let c=0,d=0;n==on.DOWN?d=-h:n==on.LEFT?c=-h:n==on.RIGHT?c=h:d=h;const f=[c,d];ka(f,a.getRotation()),Ny(a,f,this.duration_),i.preventDefault(),e=!0}}return!e}}const sv=rv;class ov extends Rr{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(e){return!Hy(e)&&zu(e)},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:100}handleEvent(t){let e=!1;if(t.type==rt.KEYDOWN||t.type==rt.KEYPRESS){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==="+"||n==="-")){const o=t.map,a=n==="+"?this.delta_:-this.delta_,h=o.getView();nl(h,a,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}}const av=ov;class lv{constructor(t,e,i){this.decay_=t,this.minVelocity_=e,this.delay_=i,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]<t)return!1;let i=e-3;for(;i>0&&this.points_[i+2]>t;)i-=3;const n=this.points_[e+2]-this.points_[i+2];if(n<1e3/60)return!1;const o=this.points_[e]-this.points_[i],a=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(a,o),this.initialVelocity_=Math.sqrt(o*o+a*a)/n,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const hv=lv;class cv extends Rr{constructor(t){t=t||{},super(t),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=t.maxDelta!==void 0?t.maxDelta:1,this.duration_=t.duration!==void 0?t.duration:250,this.timeout_=t.timeout!==void 0?t.timeout:80,this.useAnchor_=t.useAnchor!==void 0?t.useAnchor:!0,this.constrainResolution_=t.constrainResolution!==void 0?t.constrainResolution:!1;const e=t.condition?t.condition:Wy;this.condition_=t.onFocusOnly?sl(Du,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();if(!t)return;t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_)}handleEvent(t){if(!this.condition_(t)||t.type!==rt.WHEEL)return!0;const i=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate);let o;if(t.type==rt.WHEEL&&(o=n.deltaY,mm&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(o/=Xc),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(o*=40)),o===0)return!1;this.lastDelta_=o;const a=Date.now();this.startTime_===void 0&&(this.startTime_=a),(!this.mode_||a-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(o)<4?"trackpad":"wheel");const h=i.getView();if(this.mode_==="trackpad"&&!(h.getConstrainResolution()||this.constrainResolution_))return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(h.getAnimating()&&h.cancelAnimations(),h.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),h.adjustZoom(-o/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=a,!1;this.totalDelta_+=o;const c=Math.max(this.timeout_-(a-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),c),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let i=-It(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),nl(e,i,this.lastAnchor_,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}const uv=cv;class dv extends Mr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=ws),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=t.threshold!==void 0?t.threshold:.3,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){let e=0;const i=this.targetPointers[0],n=this.targetPointers[1],o=Math.atan2(n.clientY-i.clientY,n.clientX-i.clientX);if(this.lastAngle_!==void 0){const c=o-this.lastAngle_;this.rotationDelta_+=c,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=c}this.lastAngle_=o;const a=t.map,h=a.getView();h.getConstraints().rotation!==za&&(this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(rl(this.targetPointers))),this.rotating_&&(a.render(),h.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return this.targetPointers.length<2?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const fv=dv;class gv extends Mr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=ws),super(e),this.anchor_=null,this.duration_=t.duration!==void 0?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const i=this.targetPointers[0],n=this.targetPointers[1],o=i.clientX-n.clientX,a=i.clientY-n.clientY,h=Math.sqrt(o*o+a*a);this.lastDistance_!==void 0&&(e=this.lastDistance_/h),this.lastDistance_=h;const c=t.map,d=c.getView();e!=1&&(this.lastScaleDelta_=e),this.anchor_=c.getCoordinateFromPixelInternal(c.getEventPixel(rl(this.targetPointers))),c.render(),d.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const i=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return i.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const _v=gv;function pv(r){r=r||{};const t=new Be,e=new hv(-.005,.05,100);return(r.altShiftDragRotate!==void 0?r.altShiftDragRotate:!0)&&t.push(new $y),(r.doubleClickZoom!==void 0?r.doubleClickZoom:!0)&&t.push(new Gy({delta:r.zoomDelta,duration:r.zoomDuration})),(r.dragPan!==void 0?r.dragPan:!0)&&t.push(new Ky({onFocusOnly:r.onFocusOnly,kinetic:e})),(r.pinchRotate!==void 0?r.pinchRotate:!0)&&t.push(new fv),(r.pinchZoom!==void 0?r.pinchZoom:!0)&&t.push(new _v({duration:r.zoomDuration})),(r.keyboard!==void 0?r.keyboard:!0)&&(t.push(new sv),t.push(new av({delta:r.zoomDelta,duration:r.zoomDuration}))),(r.mouseWheelZoom!==void 0?r.mouseWheelZoom:!0)&&t.push(new uv({onFocusOnly:r.onFocusOnly,duration:r.zoomDuration})),(r.shiftDragZoom!==void 0?r.shiftDragZoom:!0)&&t.push(new nv({duration:r.zoomDuration})),t}function Nu(r){return r[0]>0&&r[1]>0}function mv(r,t,e){return e===void 0&&(e=[0,0]),e[0]=r[0]*t+.5|0,e[1]=r[1]*t+.5|0,e}function pe(r,t){return Array.isArray(r)?r:(t===void 0?t=[r,r]:(t[0]=r,t[1]=r),t)}function Bu(r){if(r instanceof Ys){r.setMapInternal(null);return}r instanceof io&&r.getLayers().forEach(Bu)}function Gu(r,t){if(r instanceof Ys){r.setMapInternal(t);return}if(r instanceof io){const e=r.getLayers().getArray();for(let i=0,n=e.length;i<n;++i)Gu(e[i],t)}}class yv extends be{constructor(t){super(),t=t||{},this.on,this.once,this.un;const e=vv(t);this.renderComplete_,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=t.maxTilesLoading!==void 0?t.maxTilesLoading:16,this.pixelRatio_=t.pixelRatio!==void 0?t.pixelRatio:Xc,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=Vt(),this.pixelToCoordinateTransform_=Vt(),this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_),this.mapBrowserEventHandler_=null,this.moveTolerance_=t.moveTolerance,this.keyboardEventTarget_=e.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,this.resizeObserver_=new ResizeObserver(()=>this.updateSize()),this.controls=e.controls||Iu(),this.interactions=e.interactions||pv({onFocusOnly:!0}),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new ky(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(jt.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(jt.VIEW,this.handleViewChanged_),this.addChangeListener(jt.SIZE,this.handleSizeChanged_),this.addChangeListener(jt.TARGET,this.handleTargetChanged_),this.setProperties(e.values);const i=this;t.view&&!(t.view instanceof Ne)&&t.view.then(function(n){i.setView(new Ne(n))}),this.controls.addEventListener(oe.ADD,n=>{n.element.setMap(this)}),this.controls.addEventListener(oe.REMOVE,n=>{n.element.setMap(null)}),this.interactions.addEventListener(oe.ADD,n=>{n.element.setMap(this)}),this.interactions.addEventListener(oe.REMOVE,n=>{n.element.setMap(null)}),this.overlays_.addEventListener(oe.ADD,n=>{this.addOverlayInternal_(n.element)}),this.overlays_.addEventListener(oe.REMOVE,n=>{const o=n.element.getId();o!==void 0&&delete this.overlayIdIndex_[o.toString()],n.element.setMap(null)}),this.controls.forEach(n=>{n.setMap(this)}),this.interactions.forEach(n=>{n.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){Gu(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();e!==void 0&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,i){if(!this.frameState_||!this.renderer_)return;const n=this.getCoordinateFromPixelInternal(t);i=i!==void 0?i:{};const o=i.hitTolerance!==void 0?i.hitTolerance:0,a=i.layerFilter!==void 0?i.layerFilter:_r,h=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(n,this.frameState_,o,h,e,null,a,null)}getFeaturesAtPixel(t,e){const i=[];return this.forEachFeatureAtPixel(t,function(n){i.push(n)},e),i}getAllLayers(){const t=[];function e(i){i.forEach(function(n){n instanceof io?e(n.getLayers()):t.push(n)})}return e(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const i=this.getCoordinateFromPixelInternal(t);e=e!==void 0?e:{};const n=e.layerFilter!==void 0?e.layerFilter:_r,o=e.hitTolerance!==void 0?e.hitTolerance:0,a=e.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,o,a,n,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const i=this.viewport_.getBoundingClientRect(),n=this.getSize(),o=i.width/n[0],a=i.height/n[1],h="changedTouches"in t?t.changedTouches[0]:t;return[(h.clientX-i.left)/o,(h.clientY-i.top)/a]}getTarget(){return this.get(jt.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return Da(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Ot(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return e!==void 0?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(jt.LAYERGROUP)}setLayers(t){const e=this.getLayerGroup();if(t instanceof Be){e.setLayers(t);return}const i=e.getLayers();i.clear(),i.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,i=t.length;e<i;++e){const n=t[e];if(!n.visible)continue;const o=n.layer.getRenderer();if(o&&!o.ready)return!0;const a=n.layer.getSource();if(a&&a.loading)return!0}return!1}getPixelFromCoordinate(t){const e=ii(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){const e=this.frameState_;return e?Ot(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(jt.SIZE)}getView(){return this.get(jt.VIEW)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){const t=this.getTargetElement();return t?t.ownerDocument:document}getTilePriority(t,e,i,n){return Ry(this.frameState_,t,e,i,n)}handleBrowserEvent(t,e){e=e||t.type;const i=new Ti(e,this,t);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(t){if(!this.frameState_)return;const e=t.originalEvent,i=e.type;if(i===il.POINTERDOWN||i===rt.WHEEL||i===rt.KEYDOWN){const n=this.getOwnerDocument(),o=this.viewport_.getRootNode?this.viewport_.getRootNode():n,a=e.target;if(this.overlayContainerStopEvent_.contains(a)||!(o===n?n.documentElement:o).contains(a))return}if(t.frameState=this.frameState_,this.dispatchEvent(t)!==!1){const n=this.getInteractions().getArray().slice();for(let o=n.length-1;o>=0;o--){const a=n[o];if(a.getMap()!==this||!a.getActive()||!this.getTargetElement())continue;if(!a.handleEvent(t)||t.propagationStopped)break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,o=n;if(t){const a=t.viewHints;if(a[Ut.ANIMATING]||a[Ut.INTERACTING]){const h=Date.now()-t.time>8;n=h?0:8,o=h?0:2}}e.getTilesLoading()<n&&(e.reprioritize(),e.loadMoreTiles(n,o))}t&&this.renderer_&&!t.animate&&(this.renderComplete_===!0?(this.hasListener(qt.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(qt.RENDERCOMPLETE,t),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Dn(oi.LOADEND,this,t)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Dn(oi.LOADSTART,this,t))));const i=this.postRenderFunctions_;for(let n=0,o=i.length;n<o;++n)i[n](this,t);i.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let i=0,n=this.targetChangeHandlerKeys_.length;i<n;++i)wt(this.targetChangeHandlerKeys_[i]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(rt.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(rt.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,Qs(this.viewport_)}if(this.targetElement_){this.resizeObserver_.unobserve(this.targetElement_);const i=this.targetElement_.getRootNode();i instanceof ShadowRoot&&this.resizeObserver_.unobserve(i.host),this.setSize(void 0)}const t=this.getTarget(),e=typeof t=="string"?document.getElementById(t):t;if(this.targetElement_=e,!e)this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);else{e.appendChild(this.viewport_),this.renderer_||(this.renderer_=new Ey(this)),this.mapBrowserEventHandler_=new Ty(this,this.moveTolerance_);for(const o in Mt)this.mapBrowserEventHandler_.addEventListener(Mt[o],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(rt.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(rt.WHEEL,this.boundHandleBrowserEvent_,Kc?{passive:!1}:!1);const i=this.keyboardEventTarget_?this.keyboardEventTarget_:e;this.targetChangeHandlerKeys_=[ht(i,rt.KEYDOWN,this.handleBrowserEvent,this),ht(i,rt.KEYPRESS,this.handleBrowserEvent,this)];const n=e.getRootNode();n instanceof ShadowRoot&&this.resizeObserver_.observe(n.host),this.resizeObserver_.observe(e)}this.updateSize()}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(wt(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(wt(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const t=this.getView();t&&(this.updateViewportSize_(),this.viewPropertyListenerKey_=ht(t,En.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=ht(t,rt.CHANGE,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(wt),this.layerGroupPropertyListenerKeys_=null);const t=this.getLayerGroup();t&&(this.handleLayerAdd_(new bi("addlayer",t)),this.layerGroupPropertyListenerKeys_=[ht(t,En.PROPERTYCHANGE,this.render,this),ht(t,rt.CHANGE,this.render,this),ht(t,"addlayer",this.handleLayerAdd_,this),ht(t,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,i=t.length;e<i;++e){const n=t[e].layer;n.hasRenderer()&&n.getRenderer().handleFontsChanged()}}render(){this.renderer_&&this.animationDelayKey_===void 0&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}flushDeclutterItems(){const t=this.frameState_;t&&this.renderer_.flushDeclutterItems(t)}removeControl(t){return this.getControls().remove(t)}removeInteraction(t){return this.getInteractions().remove(t)}removeLayer(t){return this.getLayerGroup().getLayers().remove(t)}handleLayerRemove_(t){Bu(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){const e=this.getSize(),i=this.getView(),n=this.frameState_;let o=null;if(e!==void 0&&Nu(e)&&i&&i.isDef()){const a=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),h=i.getState();if(o={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutterTree:null,extent:Ca(h.center,h.resolution,h.rotation,e),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:t,usedTiles:{},viewState:h,viewHints:a,wantedTiles:{},mapId:at(this),renderTargets:{}},h.nextCenter&&h.nextResolution){const c=isNaN(h.nextRotation)?h.rotation:h.nextRotation;o.nextExtent=Ca(h.nextCenter,h.nextResolution,c,e)}}this.frameState_=o,this.renderer_.renderFrame(o),o&&(o.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,o.postRenderFunctions),n&&(!this.previousExtent_||!As(this.previousExtent_)&&!Pn(o.extent,this.previousExtent_))&&(this.dispatchEvent(new Dn(oi.MOVESTART,this,n)),this.previousExtent_=yr(this.previousExtent_)),this.previousExtent_&&!o.viewHints[Ut.ANIMATING]&&!o.viewHints[Ut.INTERACTING]&&!Pn(o.extent,this.previousExtent_)&&(this.dispatchEvent(new Dn(oi.MOVEEND,this,o)),Tc(o.extent,this.previousExtent_))),this.dispatchEvent(new Dn(oi.POSTRENDER,this,o)),this.renderComplete_=this.hasListener(oi.LOADSTART)||this.hasListener(oi.LOADEND)||this.hasListener(qt.RENDERCOMPLETE)?!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady():void 0,this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new bi("removelayer",e)),this.set(jt.LAYERGROUP,t)}setSize(t){this.set(jt.SIZE,t)}setTarget(t){this.set(jt.TARGET,t)}setView(t){if(!t||t instanceof Ne){this.set(jt.VIEW,t);return}this.set(jt.VIEW,new Ne);const e=this;t.then(function(i){e.setView(new Ne(i))})}updateSize(){const t=this.getTargetElement();let e;if(t){const n=getComputedStyle(t),o=t.offsetWidth-parseFloat(n.borderLeftWidth)-parseFloat(n.paddingLeft)-parseFloat(n.paddingRight)-parseFloat(n.borderRightWidth),a=t.offsetHeight-parseFloat(n.borderTopWidth)-parseFloat(n.paddingTop)-parseFloat(n.paddingBottom)-parseFloat(n.borderBottomWidth);!isNaN(o)&&!isNaN(a)&&(e=[o,a],!Nu(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&Dc("No map visible because the map container's width or height are 0."))}const i=this.getSize();e&&(!i||!ei(e,i))&&(this.setSize(e),this.updateViewportSize_())}updateViewportSize_(){const t=this.getView();if(t){let e;const i=getComputedStyle(this.viewport_);i.width&&i.height&&(e=[parseInt(i.width,10),parseInt(i.height,10)]),t.setViewportSize(e)}}}function vv(r){let t=null;r.keyboardEventTarget!==void 0&&(t=typeof r.keyboardEventTarget=="string"?document.getElementById(r.keyboardEventTarget):r.keyboardEventTarget);const e={},i=r.layers&&typeof r.layers.getLayers=="function"?r.layers:new io({layers:r.layers});e[jt.LAYERGROUP]=i,e[jt.TARGET]=r.target,e[jt.VIEW]=r.view instanceof Ne?r.view:new Ne;let n;r.controls!==void 0&&(Array.isArray(r.controls)?n=new Be(r.controls.slice()):(ft(typeof r.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),n=r.controls));let o;r.interactions!==void 0&&(Array.isArray(r.interactions)?o=new Be(r.interactions.slice()):(ft(typeof r.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),o=r.interactions));let a;return r.overlays!==void 0?Array.isArray(r.overlays)?a=new Be(r.overlays.slice()):(ft(typeof r.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),a=r.overlays):a=new Be,{controls:n,interactions:o,keyboardEventTarget:t,overlays:a,values:e}}const xv=yv,Ct={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class ll{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=pe(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new ll({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return it()}getImage(t){return it()}getHitDetectionImage(){return it()}getPixelRatio(t){return 1}getImageState(){return it()}getImageSize(){return it()}getOrigin(){return it()}getSize(){return it()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=pe(t)}listenImageChange(t){it()}load(){it()}unlistenImageChange(t){it()}}const Uu=ll;function Ge(r){return Array.isArray(r)?xu(r):r}class hl extends Uu{constructor(t){const e=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:1,rotateWithView:e,rotation:t.rotation!==void 0?t.rotation:0,scale:t.scale!==void 0?t.scale:1,displacement:t.displacement!==void 0?t.displacement:[0,0],declutterMode:t.declutterMode}),this.canvas_=void 0,this.hitDetectionCanvas_=null,this.fill_=t.fill!==void 0?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius_=t.radius!==void 0?t.radius:t.radius1,this.radius2_=t.radius2,this.angle_=t.angle!==void 0?t.angle:0,this.stroke_=t.stroke!==void 0?t.stroke:null,this.size_=null,this.renderOptions_=null,this.render()}clone(){const t=this.getScale(),e=new hl({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_;if(!t)return null;const e=this.getDisplacement(),i=this.getScaleArray();return[t[0]/2-e[0]/i[0],t[1]/2+e[1]/i[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||this.createHitDetectionCanvas_(this.renderOptions_),this.hitDetectionCanvas_}getImage(t){let e=this.canvas_[t];if(!e){const i=this.renderOptions_,n=$t(i.size*t,i.size*t);this.draw_(i,n,t),e=n.canvas,this.canvas_[t]=e}return e}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return Ct.LOADED}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius_}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,i){if(e===0||this.points_===1/0||t!=="bevel"&&t!=="miter")return e;let n=this.radius_,o=this.radius2_===void 0?n:this.radius2_;if(n<o){const I=n;n=o,o=I}const a=this.radius2_===void 0?this.points_:this.points_*2,h=2*Math.PI/a,c=o*Math.sin(h),d=Math.sqrt(o*o-c*c),f=n-d,_=Math.sqrt(c*c+f*f),m=_/c;if(t==="miter"&&m<=i)return m*e;const v=e/2/m,y=e/2*(f/_),b=Math.sqrt((n+v)*(n+v)+y*y)-n;if(this.radius2_===void 0||t==="bevel")return b*2;const S=n*Math.sin(h),w=Math.sqrt(n*n-S*S),T=o-w,M=Math.sqrt(S*S+T*T)/S;if(M<=i){const I=M*e/2-o-n;return 2*Math.max(b,I)}return b*2}createRenderOptions(){let t=Mn,e=In,i=0,n=null,o=0,a,h=0;this.stroke_&&(a=this.stroke_.getColor(),a===null&&(a=Sr),a=Ge(a),h=this.stroke_.getWidth(),h===void 0&&(h=kr),n=this.stroke_.getLineDash(),o=this.stroke_.getLineDashOffset(),e=this.stroke_.getLineJoin(),e===void 0&&(e=In),t=this.stroke_.getLineCap(),t===void 0&&(t=Mn),i=this.stroke_.getMiterLimit(),i===void 0&&(i=Cr));const c=this.calculateLineJoinSize_(e,h,i),d=Math.max(this.radius_,this.radius2_||0),f=Math.ceil(2*d+c);return{strokeStyle:a,strokeWidth:h,size:f,lineCap:t,lineDash:n,lineDashOffset:o,lineJoin:e,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const t=this.renderOptions_.size;this.canvas_={},this.size_=[t,t]}draw_(t,e,i){if(e.scale(i,i),e.translate(t.size/2,t.size/2),this.createPath_(e),this.fill_){let n=this.fill_.getColor();n===null&&(n=ae),e.fillStyle=Ge(n),e.fill()}this.stroke_&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineCap=t.lineCap,e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}createHitDetectionCanvas_(t){if(this.fill_){let e=this.fill_.getColor(),i=0;if(typeof e=="string"&&(e=Lr(e)),e===null?i=1:Array.isArray(e)&&(i=e.length===4?e[3]:1),i===0){const n=$t(t.size,t.size);this.hitDetectionCanvas_=n.canvas,this.drawHitDetectionCanvas_(t,n)}}this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.getImage(1))}createPath_(t){let e=this.points_;const i=this.radius_;if(e===1/0)t.arc(0,0,i,0,2*Math.PI);else{const n=this.radius2_===void 0?i:this.radius2_;this.radius2_!==void 0&&(e*=2);const o=this.angle_-Math.PI/2,a=2*Math.PI/e;for(let h=0;h<e;h++){const c=o+h*a,d=h%2===0?i:n;t.lineTo(d*Math.cos(c),d*Math.sin(c))}t.closePath()}}drawHitDetectionCanvas_(t,e){e.translate(t.size/2,t.size/2),this.createPath_(e),e.fillStyle=ae,e.fill(),this.stroke_&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}}const Zu=hl;class cl extends Zu{constructor(t){t=t||{radius:5},super({points:1/0,fill:t.fill,radius:t.radius,stroke:t.stroke,scale:t.scale!==void 0?t.scale:1,rotation:t.rotation!==void 0?t.rotation:0,rotateWithView:t.rotateWithView!==void 0?t.rotateWithView:!1,displacement:t.displacement!==void 0?t.displacement:[0,0],declutterMode:t.declutterMode})}clone(){const t=this.getScale(),e=new cl({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}setRadius(t){this.radius_=t,this.render()}}const ju=cl;class ul{constructor(t){t=t||{},this.color_=t.color!==void 0?t.color:null}clone(){const t=this.getColor();return new ul({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){this.color_=t}}const oo=ul;class dl{constructor(t){t=t||{},this.color_=t.color!==void 0?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=t.lineDash!==void 0?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new dl({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}const ao=dl;class lo{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=Wu,t.geometry!==void 0&&this.setGeometry(t.geometry),this.fill_=t.fill!==void 0?t.fill:null,this.image_=t.image!==void 0?t.image:null,this.renderer_=t.renderer!==void 0?t.renderer:null,this.hitDetectionRenderer_=t.hitDetectionRenderer!==void 0?t.hitDetectionRenderer:null,this.stroke_=t.stroke!==void 0?t.stroke:null,this.text_=t.text!==void 0?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&typeof t=="object"&&(t=t.clone()),new lo({geometry:t,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer(),stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){typeof t=="function"?this.geometryFunction_=t:typeof t=="string"?this.geometryFunction_=function(e){return e.get(t)}:t?t!==void 0&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=Wu,this.geometry_=t}setZIndex(t){this.zIndex_=t}}function Ev(r){let t;if(typeof r=="function")t=r;else{let e;Array.isArray(r)?e=r:(ft(typeof r.getZIndex=="function","Expected an `Style` or an array of `Style`"),e=[r]),t=function(){return e}}return t}let fl=null;function wv(r,t){if(!fl){const e=new oo({color:"rgba(255,255,255,0.4)"}),i=new ao({color:"#3399CC",width:1.25});fl=[new lo({image:new ju({fill:e,stroke:i,radius:5}),fill:e,stroke:i})]}return fl}function Wu(r){return r.getGeometry()}const On=lo;function Lv(r,t,e){const i=r;let n=!0,o=!1,a=!1;const h=[bs(i,rt.LOAD,function(){a=!0,o||t()})];return i.src&&Yc?(o=!0,i.decode().then(function(){n&&t()}).catch(function(c){n&&(a?t():e())})):h.push(bs(i,rt.ERROR,e)),function(){n=!1,h.forEach(wt)}}function bv(r,t){return new Promise((e,i)=>{function n(){a(),e(r)}function o(){a(),i(new Error("Image load error"))}function a(){r.removeEventListener("load",n),r.removeEventListener("error",o)}r.addEventListener("load",n),r.addEventListener("error",o),t&&(r.src=t)})}function Tv(r,t){return t&&(r.src=t),Yc?new Promise((e,i)=>r.decode().then(()=>e(r),i)):bv(r)}let Ir=null;class Cv extends Ls{constructor(t,e,i,n,o){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=o,this.imageState_=n===void 0?Ct.IDLE:n,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_}initializeImage_(){this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(this.tainted_===void 0&&this.imageState_===Ct.LOADED){Ir||(Ir=$t(1,1,void 0,{willReadFrequently:!0})),Ir.drawImage(this.image_,0,0);try{Ir.getImageData(0,0,1,1),this.tainted_=!1}catch{Ir=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(rt.CHANGE)}handleImageError_(){this.imageState_=Ct.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=Ct.LOADED,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],i=$t(t,e);i.fillRect(0,0,t,e),this.hitDetectionImage_=i.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(this.imageState_===Ct.IDLE){this.image_||this.initializeImage_(),this.imageState_=Ct.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&Tv(this.image_,this.src_).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}}replaceColor_(t){if(!this.color_||this.canvas_[t]||this.imageState_!==Ct.LOADED)return;const e=this.image_,i=document.createElement("canvas");i.width=Math.ceil(e.width*t),i.height=Math.ceil(e.height*t);const n=i.getContext("2d");n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle=yu(this.color_),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}}function Sv(r,t,e,i,n){let o=t===void 0?void 0:Xs.get(t,e,n);return o||(o=new Cv(r,r instanceof HTMLImageElement?r.src||void 0:t,e,i,n),Xs.set(t,e,n,o)),o}function Hu(r,t,e,i){return e!==void 0&&i!==void 0?[e/r,i/t]:e!==void 0?e/r:i!==void 0?i/t:1}class gl extends Uu{constructor(t){t=t||{};const e=t.opacity!==void 0?t.opacity:1,i=t.rotation!==void 0?t.rotation:0,n=t.scale!==void 0?t.scale:1,o=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:e,rotation:i,scale:n,displacement:t.displacement!==void 0?t.displacement:[0,0],rotateWithView:o,declutterMode:t.declutterMode}),this.anchor_=t.anchor!==void 0?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=t.anchorOrigin!==void 0?t.anchorOrigin:"top-left",this.anchorXUnits_=t.anchorXUnits!==void 0?t.anchorXUnits:"fraction",this.anchorYUnits_=t.anchorYUnits!==void 0?t.anchorYUnits:"fraction",this.crossOrigin_=t.crossOrigin!==void 0?t.crossOrigin:null;const a=t.img!==void 0?t.img:null;let h=t.src;ft(!(h!==void 0&&a),"`image` and `src` cannot be provided at the same time"),(h===void 0||h.length===0)&&a&&(h=a.src||at(a)),ft(h!==void 0&&h.length>0,"A defined and non-empty `src` or `image` must be provided"),ft(!((t.width!==void 0||t.height!==void 0)&&t.scale!==void 0),"`width` or `height` cannot be provided together with `scale`");let c;if(t.src!==void 0?c=Ct.IDLE:a!==void 0&&(a instanceof HTMLImageElement?a.complete?c=a.src?Ct.LOADED:Ct.IDLE:c=Ct.LOADING:c=Ct.LOADED),this.color_=t.color!==void 0?Lr(t.color):null,this.iconImage_=Sv(a,h,this.crossOrigin_,c,this.color_),this.offset_=t.offset!==void 0?t.offset:[0,0],this.offsetOrigin_=t.offsetOrigin!==void 0?t.offsetOrigin:"top-left",this.origin_=null,this.size_=t.size!==void 0?t.size:null,t.width!==void 0||t.height!==void 0){let d,f;if(t.size)[d,f]=t.size;else{const _=this.getImage(1);if(_.width&&_.height)d=_.width,f=_.height;else if(_ instanceof HTMLImageElement){this.initialOptions_=t;const m=()=>{if(this.unlistenImageChange(m),!this.initialOptions_)return;const v=this.iconImage_.getSize();this.setScale(Hu(v[0],v[1],t.width,t.height))};this.listenImageChange(m);return}}d!==void 0&&this.setScale(Hu(d,f,t.width,t.height))}}clone(){let t,e,i;return this.initialOptions_?(e=this.initialOptions_.width,i=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new gl({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:i,size:this.size_!==null?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const n=this.getSize();if(this.anchorXUnits_=="fraction"||this.anchorYUnits_=="fraction"){if(!n)return null;t=this.anchor_.slice(),this.anchorXUnits_=="fraction"&&(t[0]*=n[0]),this.anchorYUnits_=="fraction"&&(t[1]*=n[1])}if(this.anchorOrigin_!="top-left"){if(!n)return null;t===this.anchor_&&(t=this.anchor_.slice()),(this.anchorOrigin_=="top-right"||this.anchorOrigin_=="bottom-right")&&(t[0]=-t[0]+n[0]),(this.anchorOrigin_=="bottom-left"||this.anchorOrigin_=="bottom-right")&&(t[1]=-t[1]+n[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),i=this.getScaleArray();return[t[0]-e[0]/i[0],t[1]+e[1]/i[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if(this.offsetOrigin_!="top-left"){const e=this.getSize(),i=this.iconImage_.getSize();if(!e||!i)return null;t=t.slice(),(this.offsetOrigin_=="top-right"||this.offsetOrigin_=="bottom-right")&&(t[0]=i[0]-e[0]-t[0]),(this.offsetOrigin_=="bottom-left"||this.offsetOrigin_=="bottom-right")&&(t[1]=i[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();if(this.size_)return this.size_[0]*t[0];if(this.iconImage_.getImageState()==Ct.LOADED)return this.iconImage_.getSize()[0]*t[0]}getHeight(){const t=this.getScaleArray();if(this.size_)return this.size_[1]*t[1];if(this.iconImage_.getImageState()==Ct.LOADED)return this.iconImage_.getSize()[1]*t[1]}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(rt.CHANGE,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(rt.CHANGE,t)}}const _l=gl,Pv="#333";class pl{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.scale_=t.scale,this.scaleArray_=pe(t.scale!==void 0?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=t.fill!==void 0?t.fill:new oo({color:Pv}),this.maxAngle_=t.maxAngle!==void 0?t.maxAngle:Math.PI/4,this.placement_=t.placement!==void 0?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=t.stroke!==void 0?t.stroke:null,this.offsetX_=t.offsetX!==void 0?t.offsetX:0,this.offsetY_=t.offsetY!==void 0?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=t.padding===void 0?null:t.padding}clone(){const t=this.getScale();return new pl({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=pe(t!==void 0?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}}const Vu=pl;let Fn=0;const Jt=1<<Fn++,dt=1<<Fn++,zn=1<<Fn++,ml=1<<Fn++,Ar=1<<Fn++,Ce=Math.pow(2,Fn)-1,Xu={[Jt]:"boolean",[dt]:"number",[zn]:"string",[ml]:"color",[Ar]:"number[]"},kv=Object.keys(Xu).map(Number).sort(xi);function ho(r){const t=[];for(const e of kv)Rv(r,e)&&t.push(Xu[e]);return t.length===0?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function Rv(r,t){return(r&t)===t}function Yu(r,t){return!!(r&t)}class Ci{constructor(t,e){this.type=t,this.value=e}}class Mv{constructor(t,e,...i){this.type=t,this.operator=e,this.args=i}}function Ku(){return{variables:new Set,properties:new Set}}function co(r,t){switch(typeof r){case"boolean":return new Ci(Jt,r);case"number":return new Ci(dt,r);case"string":return new Ci(zn,r)}if(!Array.isArray(r))throw new Error("Expression must be an array or a primitive value");if(r.length===0)throw new Error("Empty expression");if(typeof r[0]=="string")return Fv(r,t);for(const i of r)if(typeof i!="number")throw new Error("Expected an array of numbers");let e=Ar;return(r.length===3||r.length===4)&&(e|=ml),new Ci(e,r)}const N={Number:"number",String:"string",Get:"get",Var:"var",Any:"any",All:"all",Not:"!",Resolution:"resolution",Equal:"==",NotEqual:"!=",GreaterThan:">",GreaterThanOrEqualTo:">=",LessThan:"<",LessThanOrEqualTo:"<=",Multiply:"*",Divide:"/",Add:"+",Subtract:"-",Clamp:"clamp",Mod:"%",Pow:"^",Abs:"abs",Floor:"floor",Ceil:"ceil",Round:"round",Sin:"sin",Cos:"cos",Atan:"atan",Sqrt:"sqrt",Match:"match"},Iv={[N.Number]:xt(bt(1,1/0,Ce),dt),[N.String]:xt(bt(1,1/0,Ce),zn),[N.Get]:xt(Av,Ce),[N.Var]:xt(Dv,Ce),[N.Resolution]:xt(Ov,dt),[N.Any]:xt(bt(2,1/0,Jt),Jt),[N.All]:xt(bt(2,1/0,Jt),Jt),[N.Not]:xt(bt(1,1,Jt),Jt),[N.Equal]:xt(bt(2,2,Ce),Jt),[N.NotEqual]:xt(bt(2,2,Ce),Jt),[N.GreaterThan]:xt(bt(2,2,Ce),Jt),[N.GreaterThanOrEqualTo]:xt(bt(2,2,Ce),Jt),[N.LessThan]:xt(bt(2,2,Ce),Jt),[N.LessThanOrEqualTo]:xt(bt(2,2,Ce),Jt),[N.Multiply]:xt(bt(2,1/0,dt),dt),[N.Divide]:xt(bt(2,2,dt),dt),[N.Add]:xt(bt(2,1/0,dt),dt),[N.Subtract]:xt(bt(2,2,dt),dt),[N.Clamp]:xt(bt(3,3,dt),dt),[N.Mod]:xt(bt(2,2,dt),dt),[N.Pow]:xt(bt(2,2,dt),dt),[N.Abs]:xt(bt(1,1,dt),dt),[N.Floor]:xt(bt(1,1,dt),dt),[N.Ceil]:xt(bt(1,1,dt),dt),[N.Round]:xt(bt(1,1,dt),dt),[N.Sin]:xt(bt(1,1,dt),dt),[N.Cos]:xt(bt(1,1,dt),dt),[N.Atan]:xt(bt(1,2,dt),dt),[N.Sqrt]:xt(bt(1,1,dt),dt),[N.Match]:xt(bt(4,1/0,zn|dt),Ce)};function Av(r,t){if(r.length!==2)throw new Error("Expected 1 argument for get operation");const e=co(r[1],t);if(!(e instanceof Ci))throw new Error("Expected a literal argument for get operation");if(typeof e.value!="string")throw new Error("Expected a string argument for get operation");return t.properties.add(e.value),[e]}function Dv(r,t){if(r.length!==2)throw new Error("Expected 1 argument for var operation");const e=co(r[1],t);if(!(e instanceof Ci))throw new Error("Expected a literal argument for var operation");if(typeof e.value!="string")throw new Error("Expected a string argument for get operation");return t.variables.add(e.value),[e]}function Ov(r,t){const e=r[0];if(r.length!==1)throw new Error(`Expected no arguments for ${e} operation`);return[]}function bt(r,t,e){return function(i,n){const o=i[0],a=i.length-1;if(r===t){if(a!==r){const c=r===1?"":"s";throw new Error(`Expected ${r} argument${c} for operation ${o}, got ${a}`)}}else if(a<r||a>t)throw new Error(`Expected ${r} to ${t} arguments for operation ${o}, got ${a}`);const h=new Array(a);for(let c=0;c<a;++c){const d=co(i[c+1],n);if(!Yu(e,d.type)){const f=ho(e),_=ho(d.type);throw new Error(`Unexpected type for argument ${c} of ${o} operation : got ${f} but expected ${_}`)}h[c]=d}return h}}function xt(r,t){return function(e,i){const n=e[0],o=r(e,i);return new Mv(t,n,...o)}}function Fv(r,t){const e=r[0],i=Iv[e];if(!i)throw new Error(`Unknown operator: ${e}`);return i(r,t)}function qu(){return{variables:{},properties:{},resolution:NaN}}function Si(r,t,e){const i=co(r,e);if(!Yu(t,i.type)){const n=ho(t),o=ho(i.type);throw new Error(`Expected expression to be of type ${n}, got ${o}`)}return an(i)}function an(r,t){if(r instanceof Ci)return function(){return r.value};const e=r.operator;switch(e){case N.Number:case N.String:return zv(r);case N.Get:case N.Var:return Nv(r);case N.Resolution:return i=>i.resolution;case N.Any:case N.All:case N.Not:return Gv(r);case N.Equal:case N.NotEqual:case N.LessThan:case N.LessThanOrEqualTo:case N.GreaterThan:case N.GreaterThanOrEqualTo:return Bv(r);case N.Multiply:case N.Divide:case N.Add:case N.Subtract:case N.Clamp:case N.Mod:case N.Pow:case N.Abs:case N.Floor:case N.Ceil:case N.Round:case N.Sin:case N.Cos:case N.Atan:case N.Sqrt:return Uv(r);case N.Match:return Zv(r);default:throw new Error(`Unsupported operator ${e}`)}}function zv(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let o=0;o<i;++o)n[o]=an(r.args[o]);switch(e){case N.Number:case N.String:return o=>{for(let a=0;a<i;++a){const h=n[a](o);if(typeof h===e)return h}throw new Error(`Expected one of the values to be a ${e}`)};default:throw new Error(`Unsupported assertion operator ${e}`)}}function Nv(r,t){const e=r.args[0];if(!(e instanceof Ci))throw new Error("Expected literal name");const i=e.value;if(typeof i!="string")throw new Error("Expected string name");switch(r.operator){case N.Get:return n=>n.properties[i];case N.Var:return n=>n.variables[i];default:throw new Error(`Unsupported accessor operator ${r.operator}`)}}function Bv(r,t){const e=r.operator,i=an(r.args[0]),n=an(r.args[1]);switch(e){case N.Equal:return o=>i(o)===n(o);case N.NotEqual:return o=>i(o)!==n(o);case N.LessThan:return o=>i(o)<n(o);case N.LessThanOrEqualTo:return o=>i(o)<=n(o);case N.GreaterThan:return o=>i(o)>n(o);case N.GreaterThanOrEqualTo:return o=>i(o)>=n(o);default:throw new Error(`Unsupported comparison operator ${e}`)}}function Gv(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let o=0;o<i;++o)n[o]=an(r.args[o]);switch(e){case N.Any:return o=>{for(let a=0;a<i;++a)if(n[a](o))return!0;return!1};case N.All:return o=>{for(let a=0;a<i;++a)if(!n[a](o))return!1;return!0};case N.Not:return o=>!n[0](o);default:throw new Error(`Unsupported logical operator ${e}`)}}function Uv(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let o=0;o<i;++o)n[o]=an(r.args[o]);switch(e){case N.Multiply:return o=>{let a=1;for(let h=0;h<i;++h)a*=n[h](o);return a};case N.Divide:return o=>n[0](o)/n[1](o);case N.Add:return o=>{let a=0;for(let h=0;h<i;++h)a+=n[h](o);return a};case N.Subtract:return o=>n[0](o)-n[1](o);case N.Clamp:return o=>{const a=n[0](o),h=n[1](o);if(a<h)return h;const c=n[2](o);return a>c?c:a};case N.Mod:return o=>n[0](o)%n[1](o);case N.Pow:return o=>Math.pow(n[0](o),n[1](o));case N.Abs:return o=>Math.abs(n[0](o));case N.Floor:return o=>Math.floor(n[0](o));case N.Ceil:return o=>Math.ceil(n[0](o));case N.Round:return o=>Math.round(n[0](o));case N.Sin:return o=>Math.sin(n[0](o));case N.Cos:return o=>Math.cos(n[0](o));case N.Atan:return i===2?o=>Math.atan2(n[0](o),n[1](o)):o=>Math.atan(n[0](o));case N.Sqrt:return o=>Math.sqrt(n[0](o));default:throw new Error(`Unsupported numeric operator ${e}`)}}function Zv(r,t){const e=r.args.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=an(r.args[n]);return n=>{const o=i[0](n);for(let a=1;a<e;a+=2)if(o===i[a](n))return i[a+1](n);return i[e-1](n)}}function jv(r){return!0}function Wv(r){const t=Ku(),e=Hv(r,t),i=qu();return function(n,o){return i.properties=n.getPropertiesInternal(),i.resolution=o,e(i)}}function $u(r){const t=Ku(),e=r.length,i=new Array(e);for(let a=0;a<e;++a)i[a]=yl(r[a],t);const n=qu(),o=new Array(e);return function(a,h){n.properties=a.getPropertiesInternal(),n.resolution=h;for(let c=0;c<e;++c)o[c]=i[c](n);return o}}function Hv(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n){const o=r[n],a="filter"in o?Si(o.filter,Jt,t):jv;let h;if(Array.isArray(o.style)){const c=o.style.length;h=new Array(c);for(let d=0;d<c;++d)h[d]=yl(o.style[d],t)}else h=[yl(o.style,t)];i[n]={filter:a,styles:h}}return function(n){const o=[];let a=!1;for(let h=0;h<e;++h){const c=i[h].filter;if(c(n)&&!(r[h].else&&a)){a=!0;for(const d of i[h].styles){const f=d(n);f&&o.push(f)}}}return o}}function yl(r,t){const e=Dr(r,"",t),i=Or(r,"",t),n=Vv(r,t),o=Xv(r,t),a=le(r,"z-index",t),h=new On;return function(c){let d=!0;if(e){const f=e(c);f&&(d=!1),h.setFill(f)}if(i){const f=i(c);f&&(d=!1),h.setStroke(f)}if(n){const f=n(c);f&&(d=!1),h.setText(f)}if(o){const f=o(c);f&&(d=!1),h.setImage(f)}return a&&h.setZIndex(a(c)),d?null:h}}function Dr(r,t,e){const i=Ju(r,t+"fill-color",e);if(!i)return null;const n=new oo;return function(o){const a=i(o);return a==="none"?null:(n.setColor(a),n)}}function Or(r,t,e){const i=le(r,t+"stroke-width",e),n=Ju(r,t+"stroke-color",e);if(!i&&!n)return null;const o=Pi(r,t+"stroke-line-cap",e),a=Pi(r,t+"stroke-line-join",e),h=Qu(r,t+"stroke-line-dash",e),c=le(r,t+"stroke-line-dash-offset",e),d=le(r,t+"stroke-miter-limit",e),f=new ao;return function(_){if(n){const m=n(_);if(m==="none")return null;f.setColor(m)}if(i&&f.setWidth(i(_)),o){const m=o(_);if(m!=="butt"&&m!=="round"&&m!=="square")throw new Error("Expected butt, round, or square line cap");f.setLineCap(m)}if(a){const m=a(_);if(m!=="bevel"&&m!=="round"&&m!=="miter")throw new Error("Expected bevel, round, or miter line join");f.setLineJoin(m)}return h&&f.setLineDash(h(_)),c&&f.setLineDashOffset(c(_)),d&&f.setMiterLimit(d(_)),f}}function Vv(r,t){const e="text-",i=Pi(r,e+"value",t);if(!i)return null;const n=Dr(r,e,t),o=Dr(r,e+"background-",t),a=Or(r,e,t),h=Or(r,e+"background-",t),c=Pi(r,e+"font",t),d=le(r,e+"max-angle",t),f=le(r,e+"offset-x",t),_=le(r,e+"offset-y",t),m=Fr(r,e+"overflow",t),v=Pi(r,e+"placement",t),y=le(r,e+"repeat",t),E=fo(r,e+"scale",t),b=Fr(r,e+"rotate-with-view",t),S=le(r,e+"rotation",t),w=Pi(r,e+"align",t),T=Pi(r,e+"justify",t),P=Pi(r,e+"baseline",t),M=Qu(r,e+"padding",t),I=new Vu({});return function(D){if(I.setText(i(D)),n&&I.setFill(n(D)),o&&I.setBackgroundFill(o(D)),a&&I.setStroke(a(D)),h&&I.setBackgroundStroke(h(D)),c&&I.setFont(c(D)),d&&I.setMaxAngle(d(D)),f&&I.setOffsetX(f(D)),_&&I.setOffsetY(_(D)),m&&I.setOverflow(m(D)),v){const z=v(D);if(z!=="point"&&z!=="line")throw new Error("Expected point or line for text-placement");I.setPlacement(z)}if(y&&I.setRepeat(y(D)),E&&I.setScale(E(D)),b&&I.setRotateWithView(b(D)),S&&I.setRotation(S(D)),w){const z=w(D);if(z!=="left"&&z!=="center"&&z!=="right"&&z!=="end"&&z!=="start")throw new Error("Expected left, right, center, start, or end for text-align");I.setTextAlign(z)}if(T){const z=T(D);if(z!=="left"&&z!=="right"&&z!=="center")throw new Error("Expected left, right, or center for text-justify");I.setJustify(z)}if(P){const z=P(D);if(z!=="bottom"&&z!=="top"&&z!=="middle"&&z!=="alphabetic"&&z!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");I.setTextBaseline(z)}return M&&I.setPadding(M(D)),I}}function Xv(r,t){return"icon-src"in r?Yv(r,t):"shape-points"in r?Kv(r,t):"circle-radius"in r?qv(r,t):null}function Yv(r,t){const e="icon-",i=e+"src",n=id(r[i],i),o=uo(r,e+"anchor",t),a=fo(r,e+"scale",t),h=le(r,e+"opacity",t),c=uo(r,e+"displacement",t),d=le(r,e+"rotation",t),f=Fr(r,e+"rotate-with-view",t),_=td(r,e+"anchor-origin"),m=ed(r,e+"anchor-x-units"),v=ed(r,e+"anchor-y-units"),y=tx(r,e+"color"),E=Jv(r,e+"cross-origin"),b=Qv(r,e+"offset"),S=td(r,e+"offset-origin"),w=Nn(r,e+"width"),T=Nn(r,e+"height"),P=$v(r,e+"size"),M=vl(r,e+"declutter"),I=new _l({src:n,anchorOrigin:_,anchorXUnits:m,anchorYUnits:v,color:y,crossOrigin:E,offset:b,offsetOrigin:S,height:T,width:w,size:P,declutterMode:M});return function(D){return h&&I.setOpacity(h(D)),c&&I.setDisplacement(c(D)),d&&I.setRotation(d(D)),f&&I.setRotateWithView(f(D)),a&&I.setScale(a(D)),o&&I.setAnchor(o(D)),I}}function Kv(r,t){const e="shape-",i=e+"points",n=nd(r[i],i),o=Dr(r,e,t),a=Or(r,e,t),h=fo(r,e+"scale",t),c=uo(r,e+"displacement",t),d=le(r,e+"rotation",t),f=Fr(r,e+"rotate-with-view",t),_=Nn(r,e+"radius"),m=Nn(r,e+"radius1"),v=Nn(r,e+"radius2"),y=Nn(r,e+"angle"),E=vl(r,e+"declutter-mode"),b=new Zu({points:n,radius:_,radius1:m,radius2:v,angle:y,declutterMode:E});return function(S){return o&&b.setFill(o(S)),a&&b.setStroke(a(S)),c&&b.setDisplacement(c(S)),d&&b.setRotation(d(S)),f&&b.setRotateWithView(f(S)),h&&b.setScale(h(S)),b}}function qv(r,t){const e="circle-",i=Dr(r,e,t),n=Or(r,e,t),o=le(r,e+"radius",t),a=fo(r,e+"scale",t),h=uo(r,e+"displacement",t),c=le(r,e+"rotation",t),d=Fr(r,e+"rotate-with-view",t),f=vl(r,e+"declutter-mode"),_=new ju({radius:5,declutterMode:f});return function(m){return o&&_.setRadius(o(m)),i&&_.setFill(i(m)),n&&_.setStroke(n(m)),h&&_.setDisplacement(h(m)),c&&_.setRotation(c(m)),d&&_.setRotateWithView(d(m)),a&&_.setScale(a(m)),_}}function le(r,t,e){if(!(t in r))return;const i=Si(r[t],dt,e);return function(n){return nd(i(n),t)}}function Pi(r,t,e){if(!(t in r))return null;const i=Si(r[t],zn,e);return function(n){return id(i(n),t)}}function Fr(r,t,e){if(!(t in r))return null;const i=Si(r[t],Jt,e);return function(n){const o=i(n);if(typeof o!="boolean")throw new Error(`Expected a boolean for ${t}`);return o}}function Ju(r,t,e){if(!(t in r))return null;const i=Si(r[t],ml|zn,e);return function(n){return rd(i(n),t)}}function Qu(r,t,e){if(!(t in r))return null;const i=Si(r[t],Ar,e);return function(n){return zr(i(n),t)}}function uo(r,t,e){if(!(t in r))return null;const i=Si(r[t],Ar,e);return function(n){const o=zr(i(n),t);if(o.length!==2)throw new Error(`Expected two numbers for ${t}`);return o}}function fo(r,t,e){if(!(t in r))return null;const i=Si(r[t],Ar|dt,e);return function(n){return ex(i(n),t)}}function Nn(r,t){const e=r[t];if(e!==void 0){if(typeof e!="number")throw new Error(`Expected a number for ${t}`);return e}}function $v(r,t){const e=r[t];if(e!==void 0){if(typeof e=="number")return pe(e);if(!Array.isArray(e))throw new Error(`Expected a number or size array for ${t}`);if(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number")throw new Error(`Expected a number or size array for ${t}`);return e}}function Jv(r,t){const e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);return e}}function td(r,t){const e=r[t];if(e!==void 0){if(e!=="bottom-left"&&e!=="bottom-right"&&e!=="top-left"&&e!=="top-right")throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${t}`);return e}}function ed(r,t){const e=r[t];if(e!==void 0){if(e!=="pixels"&&e!=="fraction")throw new Error(`Expected pixels or fraction for ${t}`);return e}}function Qv(r,t){const e=r[t];if(e!==void 0)return zr(e,t)}function vl(r,t){const e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);if(e!=="declutter"&&e!=="obstacle"&&e!=="none")throw new Error(`Expected declutter, obstacle, or none for ${t}`);return e}}function tx(r,t){const e=r[t];if(e!==void 0)return rd(e,t)}function zr(r,t){if(!Array.isArray(r))throw new Error(`Expected an array for ${t}`);const e=r.length;for(let i=0;i<e;++i)if(typeof r[i]!="number")throw new Error(`Expected an array of numbers for ${t}`);return r}function id(r,t){if(typeof r!="string")throw new Error(`Expected a string for ${t}`);return r}function nd(r,t){if(typeof r!="number")throw new Error(`Expected a number for ${t}`);return r}function rd(r,t){if(typeof r=="string")return r;const e=zr(r,t),i=e.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${t}`);return e}function ex(r,t){if(typeof r=="number")return r;const e=zr(r,t);if(e.length!==2)throw new Error(`Expected an array of two numbers for ${t}`);return e}const sd={RENDER_ORDER:"renderOrder"};class ix extends Ys{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter!==void 0?t.declutter:!1,this.renderBuffer_=t.renderBuffer!==void 0?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=t.updateWhileAnimating!==void 0?t.updateWhileAnimating:!1,this.updateWhileInteracting_=t.updateWhileInteracting!==void 0?t.updateWhileInteracting:!1}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(sd.RENDER_ORDER)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t){t.declutterTree||(t.declutterTree=new kh(9)),this.getRenderer().renderDeclutter(t)}setRenderOrder(t){this.set(sd.RENDER_ORDER,t)}setStyle(t){this.style_=nx(t),this.styleFunction_=t===null?void 0:Ev(this.style_),this.changed()}}function nx(r){if(r===void 0)return wv;if(!r)return null;if(typeof r=="function"||r instanceof On)return r;if(!Array.isArray(r))return $u([r]);if(r.length===0)return[];const t=r.length,e=r[0];if(e instanceof On){const n=new Array(t);for(let o=0;o<t;++o){const a=r[o];if(!(a instanceof On))throw new Error("Expected a list of style instances");n[o]=a}return n}if("style"in e){const n=new Array(t);for(let o=0;o<t;++o){const a=r[o];if(!("style"in a))throw new Error("Expected a list of rules with a style property");n[o]=a}return Wv(n)}return $u(r)}const xl=ix,ee={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature",FEATURESLOADSTART:"featuresloadstart",FEATURESLOADEND:"featuresloadend",FEATURESLOADERROR:"featuresloaderror"},El=34962,wl=34963,rx=35040,sx=35044,Ll=35048,ox=5121,ax=5123,lx=5125,od=5126,ad=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function hx(r,t){t=Object.assign({preserveDrawingBuffer:!0,antialias:!ym},t);const e=ad.length;for(let i=0;i<e;++i)try{const n=r.getContext(ad[i],t);if(n)return n}catch{}return null}const cx={STATIC_DRAW:sx,STREAM_DRAW:rx,DYNAMIC_DRAW:Ll};class ux{constructor(t,e){this.array=null,this.type=t,ft(t===El||t===wl,"A `WebGLArrayBuffer` must either be of type `ELEMENT_ARRAY_BUFFER` or `ARRAY_BUFFER`"),this.usage=e!==void 0?e:cx.STATIC_DRAW}ofSize(t){return this.array=new(bl(this.type))(t),this}fromArray(t){return this.array=bl(this.type).from(t),this}fromArrayBuffer(t){return this.array=new(bl(this.type))(t),this}getType(){return this.type}getArray(){return this.array}getUsage(){return this.usage}getSize(){return this.array?this.array.length:0}}function bl(r){switch(r){case El:return Float32Array;case wl:return Uint32Array;default:return Float32Array}}const ld=ux;class dx extends yc{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.declutterExecutorGroup=null}getFeatures(t){return it()}getData(t){return null}prepareFrame(t){return it()}renderFrame(t,e){return it()}loadedTileCallback(t,e,i){t[e]||(t[e]={}),t[e][i.tileCoord.toString()]=i}createLoadedTileFinder(t,e,i){return(n,o)=>{const a=this.loadedTileCallback.bind(this,i,n);return t.forEachLoadedTile(e,n,o,a)}}forEachFeatureAtCoordinate(t,e,i,n,o){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;(e.getState()===Ct.LOADED||e.getState()===Ct.ERROR)&&this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=Ct.LOADED&&e!=Ct.ERROR&&t.addEventListener(rt.CHANGE,this.boundHandleImageChange_),e==Ct.IDLE&&(t.load(),e=t.getState()),e==Ct.LOADED}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&t.getSourceState()==="ready"&&t.changed()}disposeInternal(){delete this.layer_,super.disposeInternal()}}const hd=dx,go={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"},fx=`
23
+ precision mediump float;
24
+
25
+ attribute vec2 a_position;
26
+ varying vec2 v_texCoord;
27
+ varying vec2 v_screenCoord;
28
+
29
+ uniform vec2 u_screenSize;
30
+
31
+ void main() {
32
+ v_texCoord = a_position * 0.5 + 0.5;
33
+ v_screenCoord = v_texCoord * u_screenSize;
34
+ gl_Position = vec4(a_position, 0.0, 1.0);
35
+ }
36
+ `,gx=`
37
+ precision mediump float;
38
+
39
+ uniform sampler2D u_image;
40
+ uniform float u_opacity;
41
+
42
+ varying vec2 v_texCoord;
43
+
44
+ void main() {
45
+ gl_FragColor = texture2D(u_image, v_texCoord) * u_opacity;
46
+ }
47
+ `;class _x{constructor(t){this.gl_=t.webGlContext;const e=this.gl_;this.scaleRatio_=t.scaleRatio||1,this.renderTargetTexture_=e.createTexture(),this.renderTargetTextureSize_=null,this.frameBuffer_=e.createFramebuffer(),this.depthBuffer_=e.createRenderbuffer();const i=e.createShader(e.VERTEX_SHADER);e.shaderSource(i,t.vertexShader||fx),e.compileShader(i);const n=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(n,t.fragmentShader||gx),e.compileShader(n),this.renderTargetProgram_=e.createProgram(),e.attachShader(this.renderTargetProgram_,i),e.attachShader(this.renderTargetProgram_,n),e.linkProgram(this.renderTargetProgram_),this.renderTargetVerticesBuffer_=e.createBuffer();const o=[-1,-1,1,-1,-1,1,1,-1,1,1,-1,1];e.bindBuffer(e.ARRAY_BUFFER,this.renderTargetVerticesBuffer_),e.bufferData(e.ARRAY_BUFFER,new Float32Array(o),e.STATIC_DRAW),this.renderTargetAttribLocation_=e.getAttribLocation(this.renderTargetProgram_,"a_position"),this.renderTargetUniformLocation_=e.getUniformLocation(this.renderTargetProgram_,"u_screenSize"),this.renderTargetOpacityLocation_=e.getUniformLocation(this.renderTargetProgram_,"u_opacity"),this.renderTargetTextureLocation_=e.getUniformLocation(this.renderTargetProgram_,"u_image"),this.uniforms_=[],t.uniforms&&Object.keys(t.uniforms).forEach(a=>{this.uniforms_.push({value:t.uniforms[a],location:e.getUniformLocation(this.renderTargetProgram_,a)})})}getGL(){return this.gl_}init(t){const e=this.getGL(),i=[e.drawingBufferWidth*this.scaleRatio_,e.drawingBufferHeight*this.scaleRatio_];if(e.bindFramebuffer(e.FRAMEBUFFER,this.getFrameBuffer()),e.bindRenderbuffer(e.RENDERBUFFER,this.getDepthBuffer()),e.viewport(0,0,i[0],i[1]),!this.renderTargetTextureSize_||this.renderTargetTextureSize_[0]!==i[0]||this.renderTargetTextureSize_[1]!==i[1]){this.renderTargetTextureSize_=i;const n=0,o=e.RGBA,a=0,h=e.RGBA,c=e.UNSIGNED_BYTE,d=null;e.bindTexture(e.TEXTURE_2D,this.renderTargetTexture_),e.texImage2D(e.TEXTURE_2D,n,o,i[0],i[1],a,h,c,d),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.renderTargetTexture_,0),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,i[0],i[1]),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,this.depthBuffer_)}}apply(t,e,i,n){const o=this.getGL(),a=t.size;if(o.bindFramebuffer(o.FRAMEBUFFER,e?e.getFrameBuffer():null),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,this.renderTargetTexture_),!e){const c=at(o.canvas);if(!t.renderTargets[c]){const d=o.getContextAttributes();d&&d.preserveDrawingBuffer&&(o.clearColor(0,0,0,0),o.clearDepth(1),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT)),t.renderTargets[c]=!0}}o.disable(o.DEPTH_TEST),o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA),o.viewport(0,0,o.drawingBufferWidth,o.drawingBufferHeight),o.bindBuffer(o.ARRAY_BUFFER,this.renderTargetVerticesBuffer_),o.useProgram(this.renderTargetProgram_),o.enableVertexAttribArray(this.renderTargetAttribLocation_),o.vertexAttribPointer(this.renderTargetAttribLocation_,2,o.FLOAT,!1,0,0),o.uniform2f(this.renderTargetUniformLocation_,a[0],a[1]),o.uniform1i(this.renderTargetTextureLocation_,0);const h=t.layerStatesArray[t.layerIndex].opacity;o.uniform1f(this.renderTargetOpacityLocation_,h),this.applyUniforms(t),i&&i(o,t),o.drawArrays(o.TRIANGLES,0,6),n&&n(o,t)}getFrameBuffer(){return this.frameBuffer_}getDepthBuffer(){return this.depthBuffer_}applyUniforms(t){const e=this.getGL();let i,n=1;this.uniforms_.forEach(function(o){if(i=typeof o.value=="function"?o.value(t):o.value,i instanceof HTMLCanvasElement||i instanceof ImageData)o.texture||(o.texture=e.createTexture()),e.activeTexture(e[`TEXTURE${n}`]),e.bindTexture(e.TEXTURE_2D,o.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),i instanceof ImageData?e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,i.width,i.height,0,e.UNSIGNED_BYTE,new Uint8Array(i.data)):e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i),e.uniform1i(o.location,n++);else if(Array.isArray(i))switch(i.length){case 2:e.uniform2f(o.location,i[0],i[1]);return;case 3:e.uniform3f(o.location,i[0],i[1],i[2]);return;case 4:e.uniform4f(o.location,i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(o.location,i)})}}const cd=_x;function px(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function mx(r,t){return r[0]=t[0],r[1]=t[1],r[4]=t[2],r[5]=t[3],r[12]=t[4],r[13]=t[5],r}const ai={PROJECTION_MATRIX:"u_projectionMatrix",SCREEN_TO_WORLD_MATRIX:"u_screenToWorldMatrix",TIME:"u_time",ZOOM:"u_zoom",RESOLUTION:"u_resolution",ROTATION:"u_rotation",VIEWPORT_SIZE_PX:"u_viewportSizePx",PIXEL_RATIO:"u_pixelRatio",HIT_DETECTION:"u_hitDetection"},li={UNSIGNED_BYTE:ox,UNSIGNED_SHORT:ax,UNSIGNED_INT:lx,FLOAT:od},_o={};function ud(r){return"shared/"+r}let dd=0;function yx(){const r="unique/"+dd;return dd+=1,r}function vx(r){let t=_o[r];if(!t){const e=document.createElement("canvas");e.width=1,e.height=1,e.style.position="absolute",e.style.left="0",t={users:0,context:hx(e)},_o[r]=t}return t.users+=1,t.context}function xx(r){const t=_o[r];if(!t||(t.users-=1,t.users>0))return;const e=t.context,i=e.getExtension("WEBGL_lose_context");i&&i.loseContext();const n=e.canvas;n.width=1,n.height=1,delete _o[r]}class Ex extends Es{constructor(t){super(),t=t||{},this.boundHandleWebGLContextLost_=this.handleWebGLContextLost.bind(this),this.boundHandleWebGLContextRestored_=this.handleWebGLContextRestored.bind(this),this.canvasCacheKey_=t.canvasCacheKey?ud(t.canvasCacheKey):yx(),this.gl_=vx(this.canvasCacheKey_),this.bufferCache_={},this.extensionCache_={},this.currentProgram_=null,this.needsToBeRecreated_=!1;const e=this.gl_.canvas;e.addEventListener(go.LOST,this.boundHandleWebGLContextLost_),e.addEventListener(go.RESTORED,this.boundHandleWebGLContextRestored_),this.offsetRotateMatrix_=Vt(),this.offsetScaleMatrix_=Vt(),this.tmpMat4_=px(),this.uniformLocationsByProgram_={},this.attribLocationsByProgram_={},this.uniforms_=[],t.uniforms&&this.setUniforms(t.uniforms),this.postProcessPasses_=t.postProcesses?t.postProcesses.map(i=>new cd({webGlContext:this.gl_,scaleRatio:i.scaleRatio,vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,uniforms:i.uniforms})):[new cd({webGlContext:this.gl_})],this.shaderCompileErrors_=null,this.startTime_=Date.now()}setUniforms(t){this.uniforms_=[],this.addUniforms(t)}addUniforms(t){for(const e in t)this.uniforms_.push({name:e,value:t[e]})}canvasCacheKeyMatches(t){return this.canvasCacheKey_===ud(t)}getExtension(t){if(t in this.extensionCache_)return this.extensionCache_[t];const e=this.gl_.getExtension(t);return this.extensionCache_[t]=e,e}bindBuffer(t){const e=this.gl_,i=at(t);let n=this.bufferCache_[i];if(!n){const o=e.createBuffer();n={buffer:t,webGlBuffer:o},this.bufferCache_[i]=n}e.bindBuffer(t.getType(),n.webGlBuffer)}flushBufferData(t){const e=this.gl_;this.bindBuffer(t),e.bufferData(t.getType(),t.getArray(),t.getUsage())}deleteBuffer(t){const e=this.gl_,i=at(t),n=this.bufferCache_[i];n&&!e.isContextLost()&&e.deleteBuffer(n.webGlBuffer),delete this.bufferCache_[i]}disposeInternal(){const t=this.gl_.canvas;t.removeEventListener(go.LOST,this.boundHandleWebGLContextLost_),t.removeEventListener(go.RESTORED,this.boundHandleWebGLContextRestored_),xx(this.canvasCacheKey_),delete this.gl_}prepareDraw(t,e,i){const n=this.gl_,o=this.getCanvas(),a=t.size,h=t.pixelRatio;(o.width!==a[0]*h||o.height!==a[1]*h)&&(o.width=a[0]*h,o.height=a[1]*h,o.style.width=a[0]+"px",o.style.height=a[1]+"px");for(let c=this.postProcessPasses_.length-1;c>=0;c--)this.postProcessPasses_[c].init(t);n.bindTexture(n.TEXTURE_2D,null),n.clearColor(0,0,0,0),n.depthRange(0,1),n.clearDepth(1),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),n.enable(n.BLEND),n.blendFunc(n.ONE,e?n.ZERO:n.ONE_MINUS_SRC_ALPHA),i?(n.enable(n.DEPTH_TEST),n.depthFunc(n.LEQUAL)):n.disable(n.DEPTH_TEST)}bindTexture(t,e,i){const n=this.gl_;n.activeTexture(n.TEXTURE0+e),n.bindTexture(n.TEXTURE_2D,t),n.uniform1i(this.getUniformLocation(i),e)}prepareDrawToRenderTarget(t,e,i,n){const o=this.gl_,a=e.getSize();o.bindFramebuffer(o.FRAMEBUFFER,e.getFramebuffer()),o.bindRenderbuffer(o.RENDERBUFFER,e.getDepthbuffer()),o.viewport(0,0,a[0],a[1]),o.bindTexture(o.TEXTURE_2D,e.getTexture()),o.clearColor(0,0,0,0),o.depthRange(0,1),o.clearDepth(1),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT),o.enable(o.BLEND),o.blendFunc(o.ONE,i?o.ZERO:o.ONE_MINUS_SRC_ALPHA),n?(o.enable(o.DEPTH_TEST),o.depthFunc(o.LEQUAL)):o.disable(o.DEPTH_TEST)}drawElements(t,e){const i=this.gl_;this.getExtension("OES_element_index_uint");const n=i.UNSIGNED_INT,o=4,a=e-t,h=t*o;i.drawElements(i.TRIANGLES,a,n,h)}finalizeDraw(t,e,i){for(let n=0,o=this.postProcessPasses_.length;n<o;n++)n===o-1?this.postProcessPasses_[n].apply(t,null,e,i):this.postProcessPasses_[n].apply(t,this.postProcessPasses_[n+1])}getCanvas(){return this.gl_.canvas}getGL(){return this.gl_}applyFrameState(t){const e=t.size,i=t.viewState.rotation,n=t.pixelRatio;this.setUniformFloatValue(ai.TIME,(Date.now()-this.startTime_)*.001),this.setUniformFloatValue(ai.ZOOM,t.viewState.zoom),this.setUniformFloatValue(ai.RESOLUTION,t.viewState.resolution),this.setUniformFloatValue(ai.PIXEL_RATIO,n),this.setUniformFloatVec2(ai.VIEWPORT_SIZE_PX,[e[0],e[1]]),this.setUniformFloatValue(ai.ROTATION,i)}applyHitDetectionUniform(t){const e=this.getUniformLocation(ai.HIT_DETECTION);this.getGL().uniform1i(e,t?1:0),t&&this.setUniformFloatValue(ai.PIXEL_RATIO,.5)}applyUniforms(t){const e=this.gl_;let i,n=0;this.uniforms_.forEach(o=>{if(i=typeof o.value=="function"?o.value(t):o.value,i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof ImageData)o.texture||(o.prevValue=void 0,o.texture=e.createTexture()),this.bindTexture(o.texture,n,o.name),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),(!(i instanceof HTMLImageElement)||i.complete)&&o.prevValue!==i&&(o.prevValue=i,e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i)),n++;else if(Array.isArray(i)&&i.length===6)this.setUniformMatrixValue(o.name,mx(this.tmpMat4_,i));else if(Array.isArray(i)&&i.length<=4)switch(i.length){case 2:e.uniform2f(this.getUniformLocation(o.name),i[0],i[1]);return;case 3:e.uniform3f(this.getUniformLocation(o.name),i[0],i[1],i[2]);return;case 4:e.uniform4f(this.getUniformLocation(o.name),i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(this.getUniformLocation(o.name),i)})}useProgram(t,e){this.gl_.useProgram(t),this.currentProgram_=t,this.applyFrameState(e),this.applyUniforms(e)}compileShader(t,e){const i=this.gl_,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}getProgram(t,e){const i=this.gl_,n=this.compileShader(t,i.FRAGMENT_SHADER),o=this.compileShader(e,i.VERTEX_SHADER),a=i.createProgram();if(i.attachShader(a,n),i.attachShader(a,o),i.linkProgram(a),!i.getShaderParameter(n,i.COMPILE_STATUS)){const h=`Fragment shader compilation failed: ${i.getShaderInfoLog(n)}`;throw new Error(h)}if(i.deleteShader(n),!i.getShaderParameter(o,i.COMPILE_STATUS)){const h=`Vertex shader compilation failed: ${i.getShaderInfoLog(o)}`;throw new Error(h)}if(i.deleteShader(o),!i.getProgramParameter(a,i.LINK_STATUS)){const h=`GL program linking failed: ${i.getProgramInfoLog(a)}`;throw new Error(h)}return a}getUniformLocation(t){const e=at(this.currentProgram_);return this.uniformLocationsByProgram_[e]===void 0&&(this.uniformLocationsByProgram_[e]={}),this.uniformLocationsByProgram_[e][t]===void 0&&(this.uniformLocationsByProgram_[e][t]=this.gl_.getUniformLocation(this.currentProgram_,t)),this.uniformLocationsByProgram_[e][t]}getAttributeLocation(t){const e=at(this.currentProgram_);return this.attribLocationsByProgram_[e]===void 0&&(this.attribLocationsByProgram_[e]={}),this.attribLocationsByProgram_[e][t]===void 0&&(this.attribLocationsByProgram_[e][t]=this.gl_.getAttribLocation(this.currentProgram_,t)),this.attribLocationsByProgram_[e][t]}makeProjectionTransform(t,e){const i=t.size,n=t.viewState.rotation,o=t.viewState.resolution,a=t.viewState.center;return ze(e,0,0,2/(o*i[0]),2/(o*i[1]),-n,-a[0],-a[1]),e}setUniformFloatValue(t,e){this.gl_.uniform1f(this.getUniformLocation(t),e)}setUniformFloatVec2(t,e){this.gl_.uniform2fv(this.getUniformLocation(t),e)}setUniformFloatVec4(t,e){this.gl_.uniform4fv(this.getUniformLocation(t),e)}setUniformMatrixValue(t,e){this.gl_.uniformMatrix4fv(this.getUniformLocation(t),!1,e)}enableAttributeArray_(t,e,i,n,o){const a=this.getAttributeLocation(t);a<0||(this.gl_.enableVertexAttribArray(a),this.gl_.vertexAttribPointer(a,e,i,!1,n,o))}enableAttributes(t){const e=wx(t);let i=0;for(let n=0;n<t.length;n++){const o=t[n];this.enableAttributeArray_(o.name,o.size,o.type||od,e,i),i+=o.size*fd(o.type)}}handleWebGLContextLost(t){Ln(this.bufferCache_),this.currentProgram_=null,t.preventDefault()}handleWebGLContextRestored(){this.needsToBeRecreated_=!0}needsToBeRecreated(){return this.needsToBeRecreated_}createTexture(t,e,i){const n=this.gl_;i=i||n.createTexture();const o=0,a=n.RGBA,h=0,c=n.RGBA,d=n.UNSIGNED_BYTE;return n.bindTexture(n.TEXTURE_2D,i),e?n.texImage2D(n.TEXTURE_2D,o,a,c,d,e):n.texImage2D(n.TEXTURE_2D,o,a,t[0],t[1],h,c,d,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),i}}function wx(r){let t=0;for(let e=0;e<r.length;e++){const i=r[e];t+=i.size*fd(i.type)}return t}function fd(r){switch(r){case li.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case li.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case li.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case li.FLOAT:default:return Float32Array.BYTES_PER_ELEMENT}}class Tl extends hd{constructor(t,e){super(t),e=e||{},this.inversePixelTransform_=Vt(),this.pixelContext_=null,this.postProcesses_=e.postProcesses,this.uniforms_=e.uniforms,this.helper,t.addChangeListener(vt.MAP,this.removeHelper.bind(this)),this.dispatchPreComposeEvent=this.dispatchPreComposeEvent.bind(this),this.dispatchPostComposeEvent=this.dispatchPostComposeEvent.bind(this)}dispatchPreComposeEvent(t,e){const i=this.getLayer();if(i.hasListener(qt.PRECOMPOSE)){const n=new br(qt.PRECOMPOSE,void 0,e,t);i.dispatchEvent(n)}}dispatchPostComposeEvent(t,e){const i=this.getLayer();if(i.hasListener(qt.POSTCOMPOSE)){const n=new br(qt.POSTCOMPOSE,void 0,e,t);i.dispatchEvent(n)}}reset(t){this.uniforms_=t.uniforms,this.helper&&this.helper.setUniforms(this.uniforms_)}removeHelper(){this.helper&&(this.helper.dispose(),delete this.helper)}prepareFrame(t){if(this.getLayer().getRenderSource()){let e=!0,i=-1,n;for(let a=0,h=t.layerStatesArray.length;a<h;a++){const c=t.layerStatesArray[a].layer,d=c.getRenderer();if(!(d instanceof Tl)){e=!0;continue}const f=c.getClassName();if((e||f!==n)&&(i+=1,e=!1),n=f,d===this)break}const o="map/"+t.mapId+"/group/"+i;(!this.helper||!this.helper.canvasCacheKeyMatches(o)||this.helper.needsToBeRecreated())&&(this.removeHelper(),this.helper=new Ex({postProcesses:this.postProcesses_,uniforms:this.uniforms_,canvasCacheKey:o}),n&&(this.helper.getCanvas().className=n),this.afterHelperCreated())}return this.prepareFrameInternal(t)}afterHelperCreated(){}prepareFrameInternal(t){return!0}disposeInternal(){this.removeHelper(),super.disposeInternal()}dispatchRenderEvent_(t,e,i){const n=this.getLayer();if(n.hasListener(t)){ze(this.inversePixelTransform_,0,0,i.pixelRatio,-i.pixelRatio,0,0,-i.size[1]);const o=new br(t,this.inversePixelTransform_,i,e);n.dispatchEvent(o)}}preRender(t,e){this.dispatchRenderEvent_(qt.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(qt.POSTRENDER,t,e)}}const Lx=Tl,Ue=new Uint8Array(4);class bx{constructor(t,e){this.helper_=t;const i=t.getGL();this.texture_=i.createTexture(),this.framebuffer_=i.createFramebuffer(),this.depthbuffer_=i.createRenderbuffer(),this.size_=e||[1,1],this.data_=new Uint8Array(0),this.dataCacheDirty_=!0,this.updateSize_()}setSize(t){ei(t,this.size_)||(this.size_[0]=t[0],this.size_[1]=t[1],this.updateSize_())}getSize(){return this.size_}clearCachedData(){this.dataCacheDirty_=!0}readAll(){if(this.dataCacheDirty_){const t=this.size_,e=this.helper_.getGL();e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer_),e.readPixels(0,0,t[0],t[1],e.RGBA,e.UNSIGNED_BYTE,this.data_),this.dataCacheDirty_=!1}return this.data_}readPixel(t,e){if(t<0||e<0||t>this.size_[0]||e>=this.size_[1])return Ue[0]=0,Ue[1]=0,Ue[2]=0,Ue[3]=0,Ue;this.readAll();const i=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return Ue[0]=this.data_[i*4],Ue[1]=this.data_[i*4+1],Ue[2]=this.data_[i*4+2],Ue[3]=this.data_[i*4+3],Ue}getTexture(){return this.texture_}getFramebuffer(){return this.framebuffer_}getDepthbuffer(){return this.depthbuffer_}updateSize_(){const t=this.size_,e=this.helper_.getGL();this.texture_=this.helper_.createTexture(t,null,this.texture_),e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer_),e.viewport(0,0,t[0],t[1]),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture_,0),e.bindRenderbuffer(e.RENDERBUFFER,this.depthbuffer_),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t[0],t[1]),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,this.depthbuffer_),this.data_=new Uint8Array(t[0]*t[1]*4)}}const Tx=bx,gd={GENERATE_POLYGON_BUFFERS:"GENERATE_POLYGON_BUFFERS",GENERATE_POINT_BUFFERS:"GENERATE_POINT_BUFFERS",GENERATE_LINE_STRING_BUFFERS:"GENERATE_LINE_STRING_BUFFERS"};function Cx(r,t){t=t||[];const e=256,i=e-1;return t[0]=Math.floor(r/e/e/e)/i,t[1]=Math.floor(r/e/e)%e/i,t[2]=Math.floor(r/e)%e/i,t[3]=r%e/i,t}function Sx(r){let t=0;const e=256,i=e-1;return t+=Math.round(r[0]*e*e*e*i),t+=Math.round(r[1]*e*e*i),t+=Math.round(r[2]*e*i),t+=Math.round(r[3]*i),t}function Px(){const r='const e="GENERATE_POLYGON_BUFFERS",t="GENERATE_POINT_BUFFERS",n="GENERATE_LINE_STRING_BUFFERS";function r(e,t){const n=t[0],r=t[1];return t[0]=e[0]*n+e[2]*r+e[4],t[1]=e[1]*n+e[3]*r+e[5],t}function x(e,t){const n=(r=t)[0]*r[3]-r[1]*r[2];var r;!function(e,t){if(!e)throw new Error(t)}(0!==n,"Transformation matrix cannot be inverted");const x=t[0],i=t[1],u=t[2],o=t[3],f=t[4],s=t[5];return e[0]=o/n,e[1]=-i/n,e[2]=-u/n,e[3]=x/n,e[4]=(u*s-o*f)/n,e[5]=-(x*s-i*f)/n,e}function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}new Array(6);var u={exports:{}};function o(e,t,n){n=n||2;var r,x,i,u,o,s,l,v=t&&t.length,c=v?t[0]*n:e.length,h=f(e,0,c,n,!0),g=[];if(!h||h.next===h.prev)return g;if(v&&(h=function(e,t,n,r){var x,i,u,o=[];for(x=0,i=t.length;x<i;x++)(u=f(e,t[x]*r,x<i-1?t[x+1]*r:e.length,r,!1))===u.next&&(u.steiner=!0),o.push(d(u));for(o.sort(p),x=0;x<o.length;x++)n=y(o[x],n);return n}(e,t,h,n)),e.length>80*n){r=i=e[0],x=u=e[1];for(var b=n;b<c;b+=n)(o=e[b])<r&&(r=o),(s=e[b+1])<x&&(x=s),o>i&&(i=o),s>u&&(u=s);l=0!==(l=Math.max(i-r,u-x))?32767/l:0}return a(h,g,n,r,x,l,0),g}function f(e,t,n,r,x){var i,u;if(x===O(e,t,n,r)>0)for(i=t;i<n;i+=r)u=P(i,e[i],e[i+1],u);else for(i=n-r;i>=t;i-=r)u=P(i,e[i],e[i+1],u);return u&&m(u,u.next)&&(B(u),u=u.next),u}function s(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!m(r,r.next)&&0!==M(r.prev,r,r.next))r=r.next;else{if(B(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function a(e,t,n,r,x,i,u){if(e){!u&&i&&function(e,t,n,r){var x=e;do{0===x.z&&(x.z=b(x.x,x.y,t,n,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,function(e){var t,n,r,x,i,u,o,f,s=1;do{for(n=e,e=null,i=null,u=0;n;){for(u++,r=n,o=0,t=0;t<s&&(o++,r=r.nextZ);t++);for(f=s;o>0||f>0&&r;)0!==o&&(0===f||!r||n.z<=r.z)?(x=n,n=n.nextZ,o--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;n=r}i.nextZ=null,s*=2}while(u>1)}(x)}(e,r,x,i);for(var o,f,p=e;e.prev!==e.next;)if(o=e.prev,f=e.next,i?v(e,r,x,i):l(e))t.push(o.i/n|0),t.push(e.i/n|0),t.push(f.i/n|0),B(e),e=f.next,p=f.next;else if((e=f)===p){u?1===u?a(e=c(s(e),t,n),t,n,r,x,i,2):2===u&&h(e,t,n,r,x,i):a(s(e),t,n,r,x,i,1);break}}}function l(e){var t=e.prev,n=e,r=e.next;if(M(t,n,r)>=0)return!1;for(var x=t.x,i=n.x,u=r.x,o=t.y,f=n.y,s=r.y,a=x<i?x<u?x:u:i<u?i:u,l=o<f?o<s?o:s:f<s?f:s,v=x>i?x>u?x:u:i>u?i:u,c=o>f?o>s?o:s:f>s?f:s,h=r.next;h!==t;){if(h.x>=a&&h.x<=v&&h.y>=l&&h.y<=c&&Z(x,o,i,f,u,s,h.x,h.y)&&M(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function v(e,t,n,r){var x=e.prev,i=e,u=e.next;if(M(x,i,u)>=0)return!1;for(var o=x.x,f=i.x,s=u.x,a=x.y,l=i.y,v=u.y,c=o<f?o<s?o:s:f<s?f:s,h=a<l?a<v?a:v:l<v?l:v,p=o>f?o>s?o:s:f>s?f:s,y=a>l?a>v?a:v:l>v?l:v,g=b(c,h,t,n,r),d=b(p,y,t,n,r),w=e.prevZ,m=e.nextZ;w&&w.z>=g&&m&&m.z<=d;){if(w.x>=c&&w.x<=p&&w.y>=h&&w.y<=y&&w!==x&&w!==u&&Z(o,a,f,l,s,v,w.x,w.y)&&M(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,m.x>=c&&m.x<=p&&m.y>=h&&m.y<=y&&m!==x&&m!==u&&Z(o,a,f,l,s,v,m.x,m.y)&&M(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;w&&w.z>=g;){if(w.x>=c&&w.x<=p&&w.y>=h&&w.y<=y&&w!==x&&w!==u&&Z(o,a,f,l,s,v,w.x,w.y)&&M(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;m&&m.z<=d;){if(m.x>=c&&m.x<=p&&m.y>=h&&m.y<=y&&m!==x&&m!==u&&Z(o,a,f,l,s,v,m.x,m.y)&&M(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(e,t,n){var r=e;do{var x=r.prev,i=r.next.next;!m(x,i)&&A(x,r,r.next,i)&&F(x,i)&&F(i,x)&&(t.push(x.i/n|0),t.push(r.i/n|0),t.push(i.i/n|0),B(r),B(r.next),r=e=i),r=r.next}while(r!==e);return s(r)}function h(e,t,n,r,x,i){var u=e;do{for(var o=u.next.next;o!==u.prev;){if(u.i!==o.i&&w(u,o)){var f=I(u,o);return u=s(u,u.next),f=s(f,f.next),a(u,t,n,r,x,i,0),void a(f,t,n,r,x,i,0)}o=o.next}u=u.next}while(u!==e)}function p(e,t){return e.x-t.x}function y(e,t){var n=function(e,t){var n,r=t,x=e.x,i=e.y,u=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var o=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=x&&o>u&&(u=o,n=r.x<r.next.x?r:r.next,o===x))return n}r=r.next}while(r!==t);if(!n)return null;var f,s=n,a=n.x,l=n.y,v=1/0;r=n;do{x>=r.x&&r.x>=a&&x!==r.x&&Z(i<l?x:u,i,a,l,i<l?u:x,i,r.x,r.y)&&(f=Math.abs(i-r.y)/(x-r.x),F(r,e)&&(f<v||f===v&&(r.x>n.x||r.x===n.x&&g(n,r)))&&(n=r,v=f)),r=r.next}while(r!==s);return n}(e,t);if(!n)return t;var r=I(n,e);return s(r,r.next),s(n,n.next)}function g(e,t){return M(e.prev,e,t.prev)<0&&M(t.next,e,e.next)<0}function b(e,t,n,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*x|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*x|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function d(e){var t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next}while(t!==e);return n}function Z(e,t,n,r,x,i,u,o){return(x-u)*(t-o)>=(e-u)*(i-o)&&(e-u)*(r-o)>=(n-u)*(t-o)&&(n-u)*(i-o)>=(x-u)*(r-o)}function w(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&A(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(F(e,t)&&F(t,e)&&function(e,t){var n=e,r=!1,x=(e.x+t.x)/2,i=(e.y+t.y)/2;do{n.y>i!=n.next.y>i&&n.next.y!==n.y&&x<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(M(e.prev,e,t.prev)||M(e,t.prev,t))||m(e,t)&&M(e.prev,e,e.next)>0&&M(t.prev,t,t.next)>0)}function M(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function m(e,t){return e.x===t.x&&e.y===t.y}function A(e,t,n,r){var x=z(M(e,t,n)),i=z(M(e,t,r)),u=z(M(n,r,e)),o=z(M(n,r,t));return x!==i&&u!==o||(!(0!==x||!E(e,n,t))||(!(0!==i||!E(e,r,t))||(!(0!==u||!E(n,e,r))||!(0!==o||!E(n,t,r)))))}function E(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function z(e){return e>0?1:e<0?-1:0}function F(e,t){return M(e.prev,e,e.next)<0?M(e,t,e.next)>=0&&M(e,e.prev,t)>=0:M(e,t,e.prev)<0||M(e,e.next,t)<0}function I(e,t){var n=new _(e.i,e.x,e.y),r=new _(t.i,t.x,t.y),x=e.next,i=t.prev;return e.next=t,t.prev=e,n.next=x,x.prev=n,r.next=n,n.prev=r,i.next=r,r.prev=i,r}function P(e,t,n,r){var x=new _(e,t,n);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function B(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function _(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function O(e,t,n,r){for(var x=0,i=t,u=n-r;i<n;i+=r)x+=(e[u]-e[i])*(e[i+1]+e[u+1]),u=i;return x}u.exports=o,u.exports.default=o,o.deviation=function(e,t,n,r){var x=t&&t.length,i=x?t[0]*n:e.length,u=Math.abs(O(e,0,i,n));if(x)for(var o=0,f=t.length;o<f;o++){var s=t[o]*n,a=o<f-1?t[o+1]*n:e.length;u-=Math.abs(O(e,s,a,n))}var l=0;for(o=0;o<r.length;o+=3){var v=r[o]*n,c=r[o+1]*n,h=r[o+2]*n;l+=Math.abs((e[v]-e[h])*(e[c+1]-e[v+1])-(e[v]-e[c])*(e[h+1]-e[v+1]))}return 0===u&&0===l?0:Math.abs((l-u)/u)},o.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},r=0,x=0;x<e.length;x++){for(var i=0;i<e[x].length;i++)for(var u=0;u<t;u++)n.vertices.push(e[x][i][u]);x>0&&(r+=e[x-1].length,n.holes.push(r))}return n};var N=i(u.exports);const R=[],S={vertexPosition:0,indexPosition:0};function T(e,t,n,r,x){e[t+0]=n,e[t+1]=r,e[t+2]=x}function U(e,t,n,r,x,i){const u=3+x,o=e[t+0],f=e[t+1],s=R;s.length=x;for(let n=0;n<s.length;n++)s[n]=e[t+2+n];let a=i?i.vertexPosition:0,l=i?i.indexPosition:0;const v=a/u;return T(n,a,o,f,0),s.length&&n.set(s,a+3),a+=u,T(n,a,o,f,1),s.length&&n.set(s,a+3),a+=u,T(n,a,o,f,2),s.length&&n.set(s,a+3),a+=u,T(n,a,o,f,3),s.length&&n.set(s,a+3),a+=u,r[l++]=v,r[l++]=v+1,r[l++]=v+3,r[l++]=v+1,r[l++]=v+2,r[l++]=v+3,S.vertexPosition=a,S.indexPosition=l,S}function k(e,t,n,x,i,u,o,f,s,a){const l=8+f.length,v=u.length/l,c=[e[t+0],e[t+1]],h=[e[n],e[n+1]],p=r(s,[...c]),y=r(s,[...h]);function g(e,t,n){const r=Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])),x=[(t[0]-e[0])/r,(t[1]-e[1])/r],i=[-x[1],x[0]],u=Math.sqrt((n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1])),o=[(n[0]-e[0])/u,(n[1]-e[1])/u],f=0===r||0===u?0:Math.acos((s=o[0]*x[0]+o[1]*x[1],a=-1,l=1,Math.min(Math.max(s,a),l)));var s,a,l;return o[0]*i[0]+o[1]*i[1]>0?f:2*Math.PI-f}let b=-1,d=-1;const Z=null!==i;if(null!==x){b=g(p,y,r(s,[...[e[x],e[x+1]]]))}if(Z){d=g(y,p,r(s,[...[e[i],e[i+1]]]))}return u.push(c[0],c[1],h[0],h[1],b,d,a,0),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,1),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,2),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,3),u.push(...f),o.push(v,v+1,v+2,v+1,v+3,v+2),a+Math.sqrt((y[0]-p[0])*(y[0]-p[0])+(y[1]-p[1])*(y[1]-p[1]))}function G(e,t,n,r,x){const i=2+x;let u=t;const o=e.slice(u,u+x);u+=x;const f=e[u++];let s=0;const a=new Array(f-1);for(let t=0;t<f;t++)s+=e[u++],t<f-1&&(a[t]=s);const l=e.slice(u,u+2*s),v=N(l,a,2);for(let e=0;e<v.length;e++)r.push(v[e]+n.length/i);for(let e=0;e<l.length;e+=2)n.push(l[e],l[e+1],...o);return u+2*s}const j=self;j.onmessage=r=>{const i=r.data;switch(i.type){case t:{const e=3,t=2,n=i.customAttributesSize,r=t+n,x=new Float32Array(i.renderInstructions),u=x.length/r,o=4*u*(n+e),f=new Uint32Array(6*u),s=new Float32Array(o);let a;for(let e=0;e<x.length;e+=r)a=U(x,e,s,f,n,a);const l=Object.assign({vertexBuffer:s.buffer,indexBuffer:f.buffer,renderInstructions:x.buffer},i);j.postMessage(l,[s.buffer,f.buffer,x.buffer]);break}case n:{const e=[],t=[],n=i.customAttributesSize,r=2,u=new Float32Array(i.renderInstructions);let o=0;const f=[1,0,0,1,0,0];let s,a;for(x(f,i.renderInstructionsTransform);o<u.length;){a=Array.from(u.slice(o,o+n)),o+=n,s=u[o++];const x=o,i=o+(s-1)*r,l=u[x]===u[i]&&u[x+1]===u[i+1];let v=0;for(let n=0;n<s-1;n++){let c=null;n>0?c=o+(n-1)*r:l&&(c=i-r);let h=null;n<s-2?h=o+(n+2)*r:l&&(h=x+r),v=k(u,o+n*r,o+(n+1)*r,c,h,e,t,a,f,v)}o+=s*r}const l=Uint32Array.from(t),v=Float32Array.from(e),c=Object.assign({vertexBuffer:v.buffer,indexBuffer:l.buffer,renderInstructions:u.buffer},i);j.postMessage(c,[v.buffer,l.buffer,u.buffer]);break}case e:{const e=[],t=[],n=i.customAttributesSize,r=new Float32Array(i.renderInstructions);let x=0;for(;x<r.length;)x=G(r,x,e,t,n);const u=Uint32Array.from(t),o=Float32Array.from(e),f=Object.assign({vertexBuffer:o.buffer,indexBuffer:u.buffer,renderInstructions:r.buffer},i);j.postMessage(f,[o.buffer,u.buffer,r.buffer]);break}}};';return new Worker(typeof Blob>"u"?"data:application/javascript;base64,"+Buffer.from(r,"binary").toString("base64"):URL.createObjectURL(new Blob([r],{type:"application/javascript"})))}class kx extends Lx{constructor(t,e){const i=e.uniforms||{},n=Vt();i[ai.PROJECTION_MATRIX]=n,super(t,{uniforms:i,postProcesses:e.postProcesses}),this.sourceRevision_=-1,this.verticesBuffer_=new ld(El,Ll),this.indicesBuffer_=new ld(wl,Ll),this.vertexShader_=e.vertexShader,this.fragmentShader_=e.fragmentShader,this.program_,this.hitDetectionEnabled_=e.hitDetectionEnabled??!0;const o=e.attributes?e.attributes.map(function(h){return{name:"a_"+h.name,size:1,type:li.FLOAT}}):[];this.attributes=[{name:"a_position",size:2,type:li.FLOAT},{name:"a_index",size:1,type:li.FLOAT}],this.hitDetectionEnabled_&&(this.attributes.push({name:"a_hitColor",size:4,type:li.FLOAT}),this.attributes.push({name:"a_featureUid",size:1,type:li.FLOAT})),this.attributes.push(...o),this.customAttributes=e.attributes?e.attributes:[],this.previousExtent_=ge(),this.currentTransform_=n,this.renderTransform_=Vt(),this.invertRenderTransform_=Vt(),this.renderInstructions_=new Float32Array(0),this.hitRenderTarget_,this.lastSentId=0,this.worker_=Px(),this.worker_.addEventListener("message",h=>{const c=h.data;if(c.type===gd.GENERATE_POINT_BUFFERS){const d=c.projectionTransform;this.verticesBuffer_.fromArrayBuffer(c.vertexBuffer),this.helper.flushBufferData(this.verticesBuffer_),this.indicesBuffer_.fromArrayBuffer(c.indexBuffer),this.helper.flushBufferData(this.indicesBuffer_),this.renderTransform_=d,Bs(this.invertRenderTransform_,this.renderTransform_),this.renderInstructions_=new Float32Array(h.data.renderInstructions),c.id===this.lastSentId&&(this.ready=!0),this.getLayer().changed()}}),this.featureCache_={},this.featureCount_=0;const a=this.getLayer().getSource();this.sourceListenKeys_=[ht(a,ee.ADDFEATURE,this.handleSourceFeatureAdded_,this),ht(a,ee.CHANGEFEATURE,this.handleSourceFeatureChanged_,this),ht(a,ee.REMOVEFEATURE,this.handleSourceFeatureDelete_,this),ht(a,ee.CLEAR,this.handleSourceFeatureClear_,this)],a.forEachFeature(h=>{this.featureCache_[at(h)]={feature:h,properties:h.getProperties(),geometry:h.getGeometry()},this.featureCount_++})}afterHelperCreated(){this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_),this.hitDetectionEnabled_&&(this.hitRenderTarget_=new Tx(this.helper))}handleSourceFeatureAdded_(t){const e=t.feature;this.featureCache_[at(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++}handleSourceFeatureChanged_(t){const e=t.feature;this.featureCache_[at(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}}handleSourceFeatureDelete_(t){const e=t.feature;delete this.featureCache_[at(e)],this.featureCount_--}handleSourceFeatureClear_(){this.featureCache_={},this.featureCount_=0}renderFrame(t){const e=this.helper.getGL();this.preRender(e,t);const[i,n,o]=this.getWorldParameters_(t);this.renderWorlds(t,!1,i,n,o),this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent);const a=this.helper.getCanvas();return this.hitDetectionEnabled_&&(this.renderWorlds(t,!0,i,n,o),this.hitRenderTarget_.clearCachedData()),this.postRender(e,t),a}getWorldParameters_(t){const e=t.viewState.projection,o=this.getLayer().getSource().getWrapX()&&e.canWrapX(),a=e.getExtent(),h=t.extent,c=o?Tt(a):null,d=o?Math.ceil((h[2]-a[2])/c)+1:1;return[o?Math.floor((h[0]-a[0])/c):0,d,c]}prepareFrameInternal(t){const e=this.getLayer(),i=e.getSource(),n=t.viewState,o=!t.viewHints[Ut.ANIMATING]&&!t.viewHints[Ut.INTERACTING],a=!Pn(this.previousExtent_,t.extent),h=this.sourceRevision_<i.getRevision();if(h&&(this.sourceRevision_=i.getRevision()),o&&(a||h)){const c=n.projection,d=n.resolution,f=e instanceof xl?e.getRenderBuffer():0,_=Ps(t.extent,f*d);i.loadFeatures(_,d,c),this.rebuildBuffers_(t),this.previousExtent_=t.extent.slice()}return this.helper.useProgram(this.program_,t),this.helper.prepareDraw(t),this.helper.bindBuffer(this.verticesBuffer_),this.helper.bindBuffer(this.indicesBuffer_),this.helper.enableAttributes(this.attributes),!0}rebuildBuffers_(t){const e=Vt();this.helper.makeProjectionTransform(t,e);const n=(this.hitDetectionEnabled_?7:2)+this.customAttributes.length,o=n*this.featureCount_;(!this.renderInstructions_||this.renderInstructions_.length!==o)&&(this.renderInstructions_=new Float32Array(o));let a,h;const c=[],d=[];let f=-1;for(const m in this.featureCache_)if(a=this.featureCache_[m],h=a.geometry,!(!h||h.getType()!=="Point")){if(c[0]=h.getFlatCoordinates()[0],c[1]=h.getFlatCoordinates()[1],Ot(e,c),this.renderInstructions_[++f]=c[0],this.renderInstructions_[++f]=c[1],this.hitDetectionEnabled_){const v=Cx(f+5,d);this.renderInstructions_[++f]=v[0],this.renderInstructions_[++f]=v[1],this.renderInstructions_[++f]=v[2],this.renderInstructions_[++f]=v[3],this.renderInstructions_[++f]=Number(m)}for(let v=0;v<this.customAttributes.length;v++){const y=this.customAttributes[v].callback(a.feature,a.properties);this.renderInstructions_[++f]=y}}const _={id:++this.lastSentId,type:gd.GENERATE_POINT_BUFFERS,renderInstructions:this.renderInstructions_.buffer,customAttributesSize:n-2};_.projectionTransform=e,this.ready=!1,this.worker_.postMessage(_,[this.renderInstructions_.buffer]),this.renderInstructions_=null}forEachFeatureAtCoordinate(t,e,i,n,o){if(ft(this.hitDetectionEnabled_,"`forEachFeatureAtCoordinate` cannot be used on a WebGL layer if the hit detection logic has not been enabled. This is done by providing adequate shaders using the `hitVertexShader` and `hitFragmentShader` properties of `WebGLPointsLayerRenderer`"),!this.renderInstructions_||!this.hitDetectionEnabled_)return;const a=Ot(e.coordinateToPixelTransform,t.slice()),h=this.hitRenderTarget_.readPixel(a[0]/2,a[1]/2),c=[h[0]/255,h[1]/255,h[2]/255,h[3]/255],d=Sx(c),f=this.renderInstructions_[d],_=Math.floor(f).toString(),v=this.getLayer().getSource().getFeatureByUid(_);if(v)return n(v,this.getLayer(),null)}renderWorlds(t,e,i,n,o){let a=i;this.helper.useProgram(this.program_,t),e&&(this.hitRenderTarget_.setSize([Math.floor(t.size[0]/2),Math.floor(t.size[1]/2)]),this.helper.prepareDrawToRenderTarget(t,this.hitRenderTarget_,!0)),this.helper.bindBuffer(this.verticesBuffer_),this.helper.bindBuffer(this.indicesBuffer_),this.helper.enableAttributes(this.attributes);do{this.helper.makeProjectionTransform(t,this.currentTransform_),Lm(this.currentTransform_,a*o,0),qc(this.currentTransform_,this.invertRenderTransform_),this.helper.applyUniforms(t),this.helper.applyHitDetectionUniform(e);const h=this.indicesBuffer_.getSize();this.helper.drawElements(0,h)}while(++a<n)}disposeInternal(){this.worker_.terminate(),this.layer_=null,this.sourceListenKeys_.forEach(function(t){wt(t)}),this.sourceListenKeys_=null,super.disposeInternal()}}const Rx=kx,Mx=.5;class Ix extends Ls{constructor(t,e,i){super(),i=i||{},this.tileCoord=t,this.state=e,this.interimTile=null,this.key="",this.transition_=i.transition===void 0?250:i.transition,this.transitionStarts_={},this.interpolate=!!i.interpolate}changed(){this.dispatchEvent(rt.CHANGE)}release(){this.state===$.ERROR&&this.setState($.EMPTY)}getKey(){return this.key+"/"+this.tileCoord}getInterimTile(){if(!this.interimTile)return this;let t=this.interimTile;do{if(t.getState()==$.LOADED)return this.transition_=0,t;t=t.interimTile}while(t);return this}refreshInterimChain(){if(!this.interimTile)return;let t=this.interimTile,e=this;do{if(t.getState()==$.LOADED){t.interimTile=null;break}else t.getState()==$.LOADING?e=t:t.getState()==$.IDLE?e.interimTile=t.interimTile:e=t;t=e.interimTile}while(t)}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(this.state!==$.ERROR&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}load(){it()}getAlpha(t,e){if(!this.transition_)return 1;let i=this.transitionStarts_[t];if(!i)i=e,this.transitionStarts_[t]=i;else if(i===-1)return 1;const n=e-i+1e3/60;return n>=this.transition_?1:Hc(n/this.transition_)}inTransition(t){return this.transition_?this.transitionStarts_[t]!==-1:!1}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}}const _d=Ix,Ax=10,pd=.25;class Dx{constructor(t,e,i,n,o,a){this.sourceProj_=t,this.targetProj_=e;let h={};const c=Ns(this.targetProj_,this.sourceProj_);this.transformInv_=function(w){const T=w[0]+"/"+w[1];return h[T]||(h[T]=c(w)),h[T]},this.maxSourceExtent_=n,this.errorThresholdSquared_=o*o,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!n&&!!this.sourceProj_.getExtent()&&Tt(n)>=Tt(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?Tt(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?Tt(this.targetProj_.getExtent()):null;const d=qi(i),f=Is(i),_=Ms(i),m=Rs(i),v=this.transformInv_(d),y=this.transformInv_(f),E=this.transformInv_(_),b=this.transformInv_(m),S=Ax+(a?Math.max(0,Math.ceil(Math.log2(Ta(i)/(a*a*256*256)))):0);if(this.addQuad_(d,f,_,m,v,y,E,b,S),this.wrapsXInSource_){let w=1/0;this.triangles_.forEach(function(T,P,M){w=Math.min(w,T.source[0][0],T.source[1][0],T.source[2][0])}),this.triangles_.forEach(T=>{if(Math.max(T.source[0][0],T.source[1][0],T.source[2][0])-w>this.sourceWorldWidth_/2){const P=[[T.source[0][0],T.source[0][1]],[T.source[1][0],T.source[1][1]],[T.source[2][0],T.source[2][1]]];P[0][0]-w>this.sourceWorldWidth_/2&&(P[0][0]-=this.sourceWorldWidth_),P[1][0]-w>this.sourceWorldWidth_/2&&(P[1][0]-=this.sourceWorldWidth_),P[2][0]-w>this.sourceWorldWidth_/2&&(P[2][0]-=this.sourceWorldWidth_);const M=Math.min(P[0][0],P[1][0],P[2][0]);Math.max(P[0][0],P[1][0],P[2][0])-M<this.sourceWorldWidth_/2&&(T.source=P)}})}h={}}addTriangle_(t,e,i,n,o,a){this.triangles_.push({source:[n,o,a],target:[t,e,i]})}addQuad_(t,e,i,n,o,a,h,c,d){const f=bc([o,a,h,c]),_=this.sourceWorldWidth_?Tt(f)/this.sourceWorldWidth_:null,m=this.sourceWorldWidth_,v=this.sourceProj_.canWrapX()&&_>.5&&_<1;let y=!1;if(d>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const b=bc([t,e,i,n]);y=Tt(b)/this.targetWorldWidth_>pd||y}!v&&this.sourceProj_.isGlobal()&&_&&(y=_>pd||y)}if(!y&&this.maxSourceExtent_&&isFinite(f[0])&&isFinite(f[1])&&isFinite(f[2])&&isFinite(f[3])&&!se(f,this.maxSourceExtent_))return;let E=0;if(!y&&(!isFinite(o[0])||!isFinite(o[1])||!isFinite(a[0])||!isFinite(a[1])||!isFinite(h[0])||!isFinite(h[1])||!isFinite(c[0])||!isFinite(c[1]))){if(d>0)y=!0;else if(E=(!isFinite(o[0])||!isFinite(o[1])?8:0)+(!isFinite(a[0])||!isFinite(a[1])?4:0)+(!isFinite(h[0])||!isFinite(h[1])?2:0)+(!isFinite(c[0])||!isFinite(c[1])?1:0),E!=1&&E!=2&&E!=4&&E!=8)return}if(d>0){if(!y){const b=[(t[0]+i[0])/2,(t[1]+i[1])/2],S=this.transformInv_(b);let w;v?w=(kn(o[0],m)+kn(h[0],m))/2-kn(S[0],m):w=(o[0]+h[0])/2-S[0];const T=(o[1]+h[1])/2-S[1];y=w*w+T*T>this.errorThresholdSquared_}if(y){if(Math.abs(t[0]-i[0])<=Math.abs(t[1]-i[1])){const b=[(e[0]+i[0])/2,(e[1]+i[1])/2],S=this.transformInv_(b),w=[(n[0]+t[0])/2,(n[1]+t[1])/2],T=this.transformInv_(w);this.addQuad_(t,e,b,w,o,a,S,T,d-1),this.addQuad_(w,b,i,n,T,S,h,c,d-1)}else{const b=[(t[0]+e[0])/2,(t[1]+e[1])/2],S=this.transformInv_(b),w=[(i[0]+n[0])/2,(i[1]+n[1])/2],T=this.transformInv_(w);this.addQuad_(t,b,w,n,o,S,T,c,d-1),this.addQuad_(b,e,i,w,S,a,h,T,d-1)}return}}if(v){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}E&11||this.addTriangle_(t,i,n,o,h,c),E&14||this.addTriangle_(t,i,e,o,h,a),E&&(E&13||this.addTriangle_(e,n,t,a,c,o),E&7||this.addTriangle_(e,n,i,a,c,h))}calculateSourceExtent(){const t=ge();return this.triangles_.forEach(function(e,i,n){const o=e.source;vr(t,o[0]),vr(t,o[1]),vr(t,o[2])}),t}getTriangles(){return this.triangles_}}const Ox=Dx;let Cl;const Bn=[];function md(r,t,e,i,n){r.beginPath(),r.moveTo(0,0),r.lineTo(t,e),r.lineTo(i,n),r.closePath(),r.save(),r.clip(),r.fillRect(0,0,Math.max(t,i)+1,Math.max(e,n)),r.restore()}function Sl(r,t){return Math.abs(r[t*4]-210)>2||Math.abs(r[t*4+3]-.75*255)>2}function Fx(){if(Cl===void 0){const r=$t(6,6,Bn);r.globalCompositeOperation="lighter",r.fillStyle="rgba(210, 0, 0, 0.75)",md(r,4,5,4,0),md(r,4,5,0,5);const t=r.getImageData(0,0,3,3).data;Cl=Sl(t,0)||Sl(t,4)||Sl(t,8),$s(r),Bn.push(r.canvas)}return Cl}function yd(r,t,e,i){const n=Gc(e,t,r);let o=zc(t,i,e);const a=t.getMetersPerUnit();a!==void 0&&(o*=a);const h=r.getMetersPerUnit();h!==void 0&&(o/=h);const c=r.getExtent();if(!c||ks(c,n)){const d=zc(r,o,n)/o;isFinite(d)&&d>0&&(o/=d)}return o}function zx(r,t,e,i){const n=Ki(e);let o=yd(r,t,n,i);return(!isFinite(o)||o<=0)&&kc(e,function(a){return o=yd(r,t,a,i),isFinite(o)&&o>0}),o}function Nx(r,t,e,i,n,o,a,h,c,d,f,_){const m=$t(Math.round(e*r),Math.round(e*t),Bn);if(_||(m.imageSmoothingEnabled=!1),c.length===0)return m.canvas;m.scale(e,e);function v(P){return Math.round(P*e)/e}m.globalCompositeOperation="lighter";const y=ge();c.forEach(function(P,M,I){Sc(y,P.extent)});const E=Tt(y),b=Fe(y),S=$t(Math.round(e*E/i),Math.round(e*b/i),Bn);_||(S.imageSmoothingEnabled=!1);const w=e/i;c.forEach(function(P,M,I){const D=P.extent[0]-y[0],z=-(P.extent[3]-y[3]),W=Tt(P.extent),K=Fe(P.extent);P.image.width>0&&P.image.height>0&&S.drawImage(P.image,d,d,P.image.width-2*d,P.image.height-2*d,D*w,z*w,W*w,K*w)});const T=qi(a);return h.getTriangles().forEach(function(P,M,I){const D=P.source,z=P.target;let W=D[0][0],K=D[0][1],Q=D[1][0],q=D[1][1],ct=D[2][0],Et=D[2][1];const V=v((z[0][0]-T[0])/o),H=v(-(z[0][1]-T[1])/o),Z=v((z[1][0]-T[0])/o),B=v(-(z[1][1]-T[1])/o),yt=v((z[2][0]-T[0])/o),U=v(-(z[2][1]-T[1])/o),st=W,F=K;W=0,K=0,Q-=st,q-=F,ct-=st,Et-=F;const Lt=[[Q,q,0,0,Z-V],[ct,Et,0,0,yt-V],[0,0,Q,q,B-H],[0,0,ct,Et,U-H]],J=tm(Lt);if(J){if(m.save(),m.beginPath(),Fx()||!_){m.moveTo(Z,B);const Y=4,nt=V-Z,Ft=H-B;for(let St=0;St<Y;St++)m.lineTo(Z+v((St+1)*nt/Y),B+v(St*Ft/(Y-1))),St!=Y-1&&m.lineTo(Z+v((St+1)*nt/Y),B+v((St+1)*Ft/(Y-1)));m.lineTo(yt,U)}else m.moveTo(Z,B),m.lineTo(V,H),m.lineTo(yt,U);m.clip(),m.transform(J[0],J[2],J[1],J[3],V,H),m.translate(y[0]-st,y[3]-F),m.scale(i/e,-i/e),m.drawImage(S.canvas,0,0),m.restore()}}),$s(S),Bn.push(S.canvas),f&&(m.save(),m.globalCompositeOperation="source-over",m.strokeStyle="black",m.lineWidth=1,h.getTriangles().forEach(function(P,M,I){const D=P.target,z=(D[0][0]-T[0])/o,W=-(D[0][1]-T[1])/o,K=(D[1][0]-T[0])/o,Q=-(D[1][1]-T[1])/o,q=(D[2][0]-T[0])/o,ct=-(D[2][1]-T[1])/o;m.beginPath(),m.moveTo(K,Q),m.lineTo(z,W),m.lineTo(q,ct),m.closePath(),m.stroke()}),m.restore()),m.canvas}class Bx extends _d{constructor(t,e,i,n,o,a,h,c,d,f,_,m){super(o,$.IDLE,{interpolate:!!m}),this.renderEdges_=_!==void 0?_:!1,this.pixelRatio_=h,this.gutter_=c,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=n,this.wrappedTileCoord_=a||o,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const v=n.getTileCoordExtent(this.wrappedTileCoord_),y=this.targetTileGrid_.getExtent();let E=this.sourceTileGrid_.getExtent();const b=y?xr(v,y):v;if(Ta(b)===0){this.state=$.EMPTY;return}const S=t.getExtent();S&&(E?E=xr(E,S):E=S);const w=n.getResolution(this.wrappedTileCoord_[0]),T=zx(t,i,b,w);if(!isFinite(T)||T<=0){this.state=$.EMPTY;return}const P=f!==void 0?f:Mx;if(this.triangulation_=new Ox(t,i,b,E,T*P,w),this.triangulation_.getTriangles().length===0){this.state=$.EMPTY;return}this.sourceZ_=e.getZForResolution(T);let M=this.triangulation_.calculateSourceExtent();if(E&&(t.canWrapX()?(M[1]=It(M[1],E[1],E[3]),M[3]=It(M[3],E[1],E[3])):M=xr(M,E)),!Ta(M))this.state=$.EMPTY;else{const I=e.getTileRangeForExtentAndZ(M,this.sourceZ_);for(let D=I.minX;D<=I.maxX;D++)for(let z=I.minY;z<=I.maxY;z++){const W=d(this.sourceZ_,D,z,h);W&&this.sourceTiles_.push(W)}this.sourceTiles_.length===0&&(this.state=$.EMPTY)}}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{e&&e.getState()==$.LOADED&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})}),this.sourceTiles_.length=0,t.length===0)this.state=$.ERROR;else{const e=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(e),n=typeof i=="number"?i:i[0],o=typeof i=="number"?i:i[1],a=this.targetTileGrid_.getResolution(e),h=this.sourceTileGrid_.getResolution(this.sourceZ_),c=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Nx(n,o,this.pixelRatio_,h,this.sourceTileGrid_.getExtent(),a,c,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=$.LOADED}this.changed()}load(){if(this.state==$.IDLE){this.state=$.LOADING,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(e=>{const i=e.getState();if(i==$.IDLE||i==$.LOADING){t++;const n=ht(e,rt.CHANGE,function(o){const a=e.getState();(a==$.LOADED||a==$.ERROR||a==$.EMPTY)&&(wt(n),t--,t===0&&(this.unlistenSources_(),this.reproject_()))},this);this.sourcesListenerKeys_.push(n)}}),t===0?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function(e,i,n){e.getState()==$.IDLE&&e.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wt),this.sourcesListenerKeys_=null}release(){this.canvas_&&($s(this.canvas_.getContext("2d")),Bn.push(this.canvas_),this.canvas_=null),super.release()}}const Pl=Bx;class Gx extends _d{constructor(t,e,i,n,o,a){super(t,e,a),this.crossOrigin_=n,this.src_=i,this.key=i,this.image_=new Image,n!==null&&(this.image_.crossOrigin=n),this.unlisten_=null,this.tileLoadFunction_=o}getImage(){return this.image_}setImage(t){this.image_=t,this.state=$.LOADED,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=$.ERROR,this.unlistenImage_(),this.image_=Ux(),this.changed()}handleImageLoad_(){const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=$.LOADED:this.state=$.EMPTY,this.unlistenImage_(),this.changed()}load(){this.state==$.ERROR&&(this.state=$.IDLE,this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==$.IDLE&&(this.state=$.LOADING,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=Lv(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}}function Ux(){const r=$t(1,1);return r.fillStyle="rgba(0,0,0,0)",r.fillRect(0,0,1,1),r.canvas}const vd=Gx;class Zx{constructor(t){this.highWaterMark=t!==void 0?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.pop()}clear(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const i=this.entries_[t];return ft(i!==void 0,"Tried to get a value for a key that does not exist in the cache"),i===this.newest_||(i===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(i.newer.older=i.older,i.older.newer=i.newer),i.newer=null,i.older=this.newest_,this.newest_.newer=i,this.newest_=i),i.value_}remove(t){const e=this.entries_[t];return ft(e!==void 0,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e=0,i;for(i=this.newest_;i;i=i.older)t[e++]=i.key_;return t}getValues(){const t=new Array(this.count_);let e=0,i;for(i=this.newest_;i;i=i.older)t[e++]=i.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){if(this.containsKey(t))return this.entries_[t].value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ft(!(t in this.entries_),"Tried to set a value for a key that is used already");const i={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=i:this.oldest_=i,this.newest_=i,this.entries_[t]=i,++this.count_}setSize(t){this.highWaterMark=t}}const jx=Zx;class xd{constructor(t,e,i,n){this.minX=t,this.maxX=e,this.minY=i,this.maxY=n}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minX<this.minX&&(this.minX=t.minX),t.maxX>this.maxX&&(this.maxX=t.maxX),t.minY<this.minY&&(this.minY=t.minY),t.maxY>this.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function Gn(r,t,e,i,n){return n!==void 0?(n.minX=r,n.maxX=t,n.minY=e,n.maxY=i,n):new xd(r,t,e,i)}const Ed=xd;function wd(r,t,e,i){return i!==void 0?(i[0]=r,i[1]=t,i[2]=e,i):[r,t,e]}function po(r,t,e){return r+"/"+t+"/"+e}function Ld(r){return po(r[0],r[1],r[2])}function Wx(r){return r.split("/").map(Number)}function Hx(r){return(r[1]<<r[0])+r[2]}function Vx(r,t){const e=r[0],i=r[1],n=r[2];if(t.getMinZoom()>e||e>t.getMaxZoom())return!1;const o=t.getFullTileRange(e);return o?o.containsXY(i,n):!0}function Nr(r){const t=r.toString();return t.includes(".")?t:t+".0"}function Xx(r){if(r.length<2||r.length>4)throw new Error("`formatArray` can only output `vec2`, `vec3` or `vec4` arrays.");return`vec${r.length}(${r.map(Nr).join(", ")})`}function kl(r){const t=Lr(r),e=t.length>3?t[3]:1;return Xx([t[0]/255*e,t[1]/255*e,t[2]/255*e,e])}const Rl={};let Yx=0;function Kx(r){return r in Rl||(Rl[r]=Yx++),Rl[r]}function Un(r){return Nr(Kx(r))}function qx(){return{"fill-color":"rgba(255,255,255,0.4)","stroke-color":"#3399CC","stroke-width":1.25,"circle-radius":5,"circle-fill-color":"rgba(255,255,255,0.4)","circle-stroke-width":1.25,"circle-stroke-color":"#3399CC"}}const Zn=`#ifdef GL_FRAGMENT_PRECISION_HIGH
48
+ precision highp float;
49
+ #else
50
+ precision mediump float;
51
+ #endif
52
+ uniform mat4 u_projectionMatrix;
53
+ uniform mat4 u_screenToWorldMatrix;
54
+ uniform vec2 u_viewportSizePx;
55
+ uniform float u_pixelRatio;
56
+ uniform float u_globalAlpha;
57
+ uniform float u_time;
58
+ uniform float u_zoom;
59
+ uniform float u_resolution;
60
+ uniform float u_rotation;
61
+ uniform vec4 u_renderExtent;
62
+ uniform mediump int u_hitDetection;
63
+
64
+ const float PI = 3.141592653589793238;
65
+ const float TWO_PI = 2.0 * PI;
66
+ `,jn=qx();class $x{constructor(){this.uniforms_=[],this.attributes_=[],this.varyings_=[],this.hasSymbol_=!1,this.symbolSizeExpression_=`vec2(${Nr(jn["circle-radius"])} + ${Nr(jn["circle-stroke-width"]*.5)})`,this.symbolRotationExpression_="0.0",this.symbolOffsetExpression_="vec2(0.0)",this.symbolColorExpression_=kl(jn["circle-fill-color"]),this.texCoordExpression_="vec4(0.0, 0.0, 1.0, 1.0)",this.discardExpression_="false",this.symbolRotateWithView_=!1,this.hasStroke_=!1,this.strokeWidthExpression_=Nr(jn["stroke-width"]),this.strokeColorExpression_=kl(jn["stroke-color"]),this.strokeOffsetExpression_="0.",this.strokeCapExpression_=Un("round"),this.strokeJoinExpression_=Un("round"),this.strokeMiterLimitExpression_="10.",this.strokeDistanceFieldExpression_="-1000.",this.hasFill_=!1,this.fillColorExpression_=kl(jn["fill-color"]),this.vertexShaderFunctions_=[],this.fragmentShaderFunctions_=[]}addUniform(t){return this.uniforms_.push(t),this}addAttribute(t){return this.attributes_.push(t),this}addVarying(t,e,i){return this.varyings_.push({name:t,type:e,expression:i}),this}setSymbolSizeExpression(t){return this.hasSymbol_=!0,this.symbolSizeExpression_=t,this}getSymbolSizeExpression(){return this.symbolSizeExpression_}setSymbolRotationExpression(t){return this.symbolRotationExpression_=t,this}setSymbolOffsetExpression(t){return this.symbolOffsetExpression_=t,this}getSymbolOffsetExpression(){return this.symbolOffsetExpression_}setSymbolColorExpression(t){return this.hasSymbol_=!0,this.symbolColorExpression_=t,this}getSymbolColorExpression(){return this.symbolColorExpression_}setTextureCoordinateExpression(t){return this.texCoordExpression_=t,this}setFragmentDiscardExpression(t){return this.discardExpression_=t,this}setSymbolRotateWithView(t){return this.symbolRotateWithView_=t,this}setStrokeWidthExpression(t){return this.hasStroke_=!0,this.strokeWidthExpression_=t,this}setStrokeColorExpression(t){return this.hasStroke_=!0,this.strokeColorExpression_=t,this}setStrokeOffsetExpression(t){return this.strokeOffsetExpression_=t,this}setStrokeCapExpression(t){return this.strokeCapExpression_=t,this}setStrokeJoinExpression(t){return this.strokeJoinExpression_=t,this}setStrokeMiterLimitExpression(t){return this.strokeMiterLimitExpression_=t,this}setStrokeDistanceFieldExpression(t){return this.strokeDistanceFieldExpression_=t,this}setFillColorExpression(t){return this.hasFill_=!0,this.fillColorExpression_=t,this}addVertexShaderFunction(t){this.vertexShaderFunctions_.includes(t)||this.vertexShaderFunctions_.push(t)}addFragmentShaderFunction(t){this.fragmentShaderFunctions_.includes(t)||this.fragmentShaderFunctions_.push(t)}getSymbolVertexShader(){return this.hasSymbol_?`${Zn}
67
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
68
+ `)}
69
+ attribute vec2 a_position;
70
+ attribute float a_index;
71
+ attribute vec4 a_hitColor;
72
+ ${this.attributes_.map(function(t){return"attribute "+t+";"}).join(`
73
+ `)}
74
+ varying vec2 v_texCoord;
75
+ varying vec2 v_quadCoord;
76
+ varying vec4 v_hitColor;
77
+ varying vec2 v_centerPx;
78
+ varying float v_angle;
79
+ varying vec2 v_quadSizePx;
80
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
81
+ `)}
82
+ ${this.vertexShaderFunctions_.join(`
83
+ `)}
84
+ vec2 pxToScreen(vec2 coordPx) {
85
+ vec2 scaled = coordPx / u_viewportSizePx / 0.5;
86
+ ${this.symbolRotateWithView_?"scaled = vec2(scaled.x * cos(-u_rotation) - scaled.y * sin(-u_rotation), scaled.x * sin(-u_rotation) + scaled.y * cos(-u_rotation));":""}
87
+ return scaled;
88
+ }
89
+
90
+ vec2 screenToPx(vec2 coordScreen) {
91
+ return (coordScreen * 0.5 + 0.5) * u_viewportSizePx;
92
+ }
93
+
94
+ void main(void) {
95
+ v_quadSizePx = ${this.symbolSizeExpression_};
96
+ vec2 halfSizePx = v_quadSizePx * 0.5;
97
+ vec2 centerOffsetPx = ${this.symbolOffsetExpression_};
98
+ vec2 offsetPx = centerOffsetPx;
99
+ if (a_index == 0.0) {
100
+ offsetPx -= halfSizePx;
101
+ } else if (a_index == 1.0) {
102
+ offsetPx += halfSizePx * vec2(1., -1.);
103
+ } else if (a_index == 2.0) {
104
+ offsetPx += halfSizePx;
105
+ } else {
106
+ offsetPx += halfSizePx * vec2(-1., 1.);
107
+ }
108
+ float angle = ${this.symbolRotationExpression_};
109
+ float c = cos(-angle);
110
+ float s = sin(-angle);
111
+ offsetPx = vec2(c * offsetPx.x - s * offsetPx.y, s * offsetPx.x + c * offsetPx.y);
112
+ vec4 center = u_projectionMatrix * vec4(a_position, 0.0, 1.0);
113
+ gl_Position = center + vec4(pxToScreen(offsetPx), 0., 0.);
114
+ vec4 texCoord = ${this.texCoordExpression_};
115
+ float u = a_index == 0.0 || a_index == 3.0 ? texCoord.s : texCoord.p;
116
+ float v = a_index == 2.0 || a_index == 3.0 ? texCoord.t : texCoord.q;
117
+ v_texCoord = vec2(u, v);
118
+ v_hitColor = a_hitColor;
119
+ v_angle = angle;
120
+ ${this.symbolRotateWithView_?"v_angle += u_rotation;":""}
121
+ c = cos(-v_angle);
122
+ s = sin(-v_angle);
123
+ centerOffsetPx = vec2(c * centerOffsetPx.x - s * centerOffsetPx.y, s * centerOffsetPx.x + c * centerOffsetPx.y);
124
+ v_centerPx = screenToPx(center.xy) + centerOffsetPx;
125
+ ${this.varyings_.map(function(t){return" "+t.name+" = "+t.expression+";"}).join(`
126
+ `)}
127
+ }`:null}getSymbolFragmentShader(){return this.hasSymbol_?`${Zn}
128
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
129
+ `)}
130
+ varying vec2 v_texCoord;
131
+ varying vec4 v_hitColor;
132
+ varying vec2 v_centerPx;
133
+ varying float v_angle;
134
+ varying vec2 v_quadSizePx;
135
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
136
+ `)}
137
+ ${this.fragmentShaderFunctions_.join(`
138
+ `)}
139
+
140
+ void main(void) {
141
+ if (${this.discardExpression_}) { discard; }
142
+ vec2 coordsPx = gl_FragCoord.xy / u_pixelRatio - v_centerPx; // relative to center
143
+ float c = cos(v_angle);
144
+ float s = sin(v_angle);
145
+ coordsPx = vec2(c * coordsPx.x - s * coordsPx.y, s * coordsPx.x + c * coordsPx.y);
146
+ gl_FragColor = ${this.symbolColorExpression_};
147
+ if (u_hitDetection > 0) {
148
+ if (gl_FragColor.a < 0.05) { discard; };
149
+ gl_FragColor = v_hitColor;
150
+ }
151
+ }`:null}getStrokeVertexShader(){return this.hasStroke_?`${Zn}
152
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
153
+ `)}
154
+ attribute vec2 a_position;
155
+ attribute float a_index;
156
+ attribute vec2 a_segmentStart;
157
+ attribute vec2 a_segmentEnd;
158
+ attribute float a_parameters;
159
+ attribute float a_distance;
160
+ attribute vec2 a_joinAngles;
161
+ attribute vec4 a_hitColor;
162
+ ${this.attributes_.map(function(t){return"attribute "+t+";"}).join(`
163
+ `)}
164
+ varying vec2 v_segmentStart;
165
+ varying vec2 v_segmentEnd;
166
+ varying float v_angleStart;
167
+ varying float v_angleEnd;
168
+ varying float v_width;
169
+ varying vec4 v_hitColor;
170
+ varying float v_distanceOffsetPx;
171
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
172
+ `)}
173
+ ${this.vertexShaderFunctions_.join(`
174
+ `)}
175
+ vec2 worldToPx(vec2 worldPos) {
176
+ vec4 screenPos = u_projectionMatrix * vec4(worldPos, 0.0, 1.0);
177
+ return (0.5 * screenPos.xy + 0.5) * u_viewportSizePx;
178
+ }
179
+
180
+ vec4 pxToScreen(vec2 pxPos) {
181
+ vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;
182
+ return vec4(screenPos, 0.0, 1.0);
183
+ }
184
+
185
+ bool isCap(float joinAngle) {
186
+ return joinAngle < -0.1;
187
+ }
188
+
189
+ vec2 getJoinOffsetDirection(vec2 normalPx, float joinAngle) {
190
+ float halfAngle = joinAngle / 2.0;
191
+ float c = cos(halfAngle);
192
+ float s = sin(halfAngle);
193
+ vec2 angleBisectorNormal = vec2(s * normalPx.x + c * normalPx.y, -c * normalPx.x + s * normalPx.y);
194
+ float length = 1.0 / s;
195
+ return angleBisectorNormal * length;
196
+ }
197
+
198
+ vec2 getOffsetPoint(vec2 point, vec2 normal, float joinAngle, float offsetPx) {
199
+ // if on a cap or the join angle is too high, offset the line along the segment normal
200
+ if (cos(joinAngle) > 0.998 || isCap(joinAngle)) {
201
+ return point - normal * offsetPx;
202
+ }
203
+ // offset is applied along the inverted normal (positive offset goes "right" relative to line direction)
204
+ return point - getJoinOffsetDirection(normal, joinAngle) * offsetPx;
205
+ }
206
+
207
+ void main(void) {
208
+ v_angleStart = a_joinAngles.x;
209
+ v_angleEnd = a_joinAngles.y;
210
+ float vertexNumber = a_parameters;
211
+
212
+ float lineWidth = ${this.strokeWidthExpression_};
213
+ float lineOffsetPx = ${this.strokeOffsetExpression_};
214
+
215
+ // compute segment start/end in px with offset
216
+ vec2 segmentStartPx = worldToPx(a_segmentStart);
217
+ vec2 segmentEndPx = worldToPx(a_segmentEnd);
218
+ vec2 tangentPx = normalize(segmentEndPx - segmentStartPx);
219
+ vec2 normalPx = vec2(-tangentPx.y, tangentPx.x);
220
+ segmentStartPx = getOffsetPoint(segmentStartPx, normalPx, v_angleStart, lineOffsetPx),
221
+ segmentEndPx = getOffsetPoint(segmentEndPx, normalPx, v_angleEnd, lineOffsetPx);
222
+
223
+ // compute current vertex position
224
+ float normalDir = vertexNumber < 0.5 || (vertexNumber > 1.5 && vertexNumber < 2.5) ? 1.0 : -1.0;
225
+ float tangentDir = vertexNumber < 1.5 ? 1.0 : -1.0;
226
+ float angle = vertexNumber < 1.5 ? v_angleStart : v_angleEnd;
227
+ vec2 joinDirection;
228
+ vec2 positionPx = vertexNumber < 1.5 ? segmentStartPx : segmentEndPx;
229
+ // if angle is too high, do not make a proper join
230
+ if (cos(angle) > 0.985 || isCap(angle)) {
231
+ joinDirection = normalPx * normalDir - tangentPx * tangentDir;
232
+ } else {
233
+ joinDirection = getJoinOffsetDirection(normalPx * normalDir, angle);
234
+ }
235
+ positionPx = positionPx + joinDirection * lineWidth * 0.5;
236
+ gl_Position = pxToScreen(positionPx);
237
+
238
+ v_segmentStart = segmentStartPx;
239
+ v_segmentEnd = segmentEndPx;
240
+ v_width = lineWidth;
241
+ v_hitColor = a_hitColor;
242
+ v_distanceOffsetPx = a_distance / u_resolution;
243
+ ${this.varyings_.map(function(t){return" "+t.name+" = "+t.expression+";"}).join(`
244
+ `)}
245
+ }`:null}getStrokeFragmentShader(){return this.hasStroke_?`${Zn}
246
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
247
+ `)}
248
+ varying vec2 v_segmentStart;
249
+ varying vec2 v_segmentEnd;
250
+ varying float v_angleStart;
251
+ varying float v_angleEnd;
252
+ varying float v_width;
253
+ varying vec4 v_hitColor;
254
+ varying float v_distanceOffsetPx;
255
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
256
+ `)}
257
+ ${this.fragmentShaderFunctions_.join(`
258
+ `)}
259
+
260
+ vec2 pxToWorld(vec2 pxPos) {
261
+ vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;
262
+ return (u_screenToWorldMatrix * vec4(screenPos, 0.0, 1.0)).xy;
263
+ }
264
+
265
+ bool isCap(float joinAngle) {
266
+ return joinAngle < -0.1;
267
+ }
268
+
269
+ float segmentDistanceField(vec2 point, vec2 start, vec2 end, float width) {
270
+ vec2 tangent = normalize(end - start);
271
+ vec2 normal = vec2(-tangent.y, tangent.x);
272
+ vec2 startToPoint = point - start;
273
+ return abs(dot(startToPoint, normal)) - width * 0.5;
274
+ }
275
+
276
+ float buttCapDistanceField(vec2 point, vec2 start, vec2 end) {
277
+ vec2 startToPoint = point - start;
278
+ vec2 tangent = normalize(end - start);
279
+ return dot(startToPoint, -tangent);
280
+ }
281
+
282
+ float squareCapDistanceField(vec2 point, vec2 start, vec2 end, float width) {
283
+ return buttCapDistanceField(point, start, end) - width * 0.5;
284
+ }
285
+
286
+ float roundCapDistanceField(vec2 point, vec2 start, vec2 end, float width) {
287
+ float onSegment = max(0., 1000. * dot(point - start, end - start)); // this is very high when inside the segment
288
+ return length(point - start) - width * 0.5 - onSegment;
289
+ }
290
+
291
+ float roundJoinDistanceField(vec2 point, vec2 start, vec2 end, float width) {
292
+ return roundCapDistanceField(point, start, end, width);
293
+ }
294
+
295
+ float bevelJoinField(vec2 point, vec2 start, vec2 end, float width, float joinAngle) {
296
+ vec2 startToPoint = point - start;
297
+ vec2 tangent = normalize(end - start);
298
+ float c = cos(joinAngle * 0.5);
299
+ float s = sin(joinAngle * 0.5);
300
+ float direction = -sign(sin(joinAngle));
301
+ vec2 bisector = vec2(c * tangent.x - s * tangent.y, s * tangent.x + c * tangent.y);
302
+ float radius = width * 0.5 * s;
303
+ return dot(startToPoint, bisector * direction) - radius;
304
+ }
305
+
306
+ float miterJoinDistanceField(vec2 point, vec2 start, vec2 end, float width, float joinAngle) {
307
+ if (cos(joinAngle) > 0.985) { // avoid risking a division by zero
308
+ return bevelJoinField(point, start, end, width, joinAngle);
309
+ }
310
+ float miterLength = 1. / sin(joinAngle * 0.5);
311
+ float miterLimit = ${this.strokeMiterLimitExpression_};
312
+ if (miterLength > miterLimit) {
313
+ return bevelJoinField(point, start, end, width, joinAngle);
314
+ }
315
+ return -1000.;
316
+ }
317
+
318
+ float capDistanceField(vec2 point, vec2 start, vec2 end, float width, float capType) {
319
+ if (capType == ${Un("butt")}) {
320
+ return buttCapDistanceField(point, start, end);
321
+ } else if (capType == ${Un("square")}) {
322
+ return squareCapDistanceField(point, start, end, width);
323
+ }
324
+ return roundCapDistanceField(point, start, end, width);
325
+ }
326
+
327
+ float joinDistanceField(vec2 point, vec2 start, vec2 end, float width, float joinAngle, float joinType) {
328
+ if (joinType == ${Un("bevel")}) {
329
+ return bevelJoinField(point, start, end, width, joinAngle);
330
+ } else if (joinType == ${Un("miter")}) {
331
+ return miterJoinDistanceField(point, start, end, width, joinAngle);
332
+ }
333
+ return roundJoinDistanceField(point, start, end, width);
334
+ }
335
+
336
+ float computeSegmentPointDistance(vec2 point, vec2 start, vec2 end, float width, float joinAngle, float capType, float joinType) {
337
+ if (isCap(joinAngle)) {
338
+ return capDistanceField(point, start, end, width, capType);
339
+ }
340
+ return joinDistanceField(point, start, end, width, joinAngle, joinType);
341
+ }
342
+
343
+ void main(void) {
344
+ vec2 currentPoint = gl_FragCoord.xy / u_pixelRatio;
345
+ #ifdef GL_FRAGMENT_PRECISION_HIGH
346
+ vec2 v_worldPos = pxToWorld(currentPoint);
347
+ if (
348
+ abs(u_renderExtent[0] - u_renderExtent[2]) > 0.0 && (
349
+ v_worldPos[0] < u_renderExtent[0] ||
350
+ v_worldPos[1] < u_renderExtent[1] ||
351
+ v_worldPos[0] > u_renderExtent[2] ||
352
+ v_worldPos[1] > u_renderExtent[3]
353
+ )
354
+ ) {
355
+ discard;
356
+ }
357
+ #endif
358
+ if (${this.discardExpression_}) { discard; }
359
+
360
+ float segmentLength = length(v_segmentEnd - v_segmentStart);
361
+ vec2 segmentTangent = (v_segmentEnd - v_segmentStart) / segmentLength;
362
+ vec2 segmentNormal = vec2(-segmentTangent.y, segmentTangent.x);
363
+ vec2 startToPoint = currentPoint - v_segmentStart;
364
+ float currentLengthPx = max(0., min(dot(segmentTangent, startToPoint), segmentLength)) + v_distanceOffsetPx;
365
+ float currentRadiusPx = abs(dot(segmentNormal, startToPoint));
366
+ vec4 color = ${this.strokeColorExpression_} * u_globalAlpha;
367
+ float capType = ${this.strokeCapExpression_};
368
+ float joinType = ${this.strokeJoinExpression_};
369
+ float segmentStartDistance = computeSegmentPointDistance(currentPoint, v_segmentStart, v_segmentEnd, v_width, v_angleStart, capType, joinType);
370
+ float segmentEndDistance = computeSegmentPointDistance(currentPoint, v_segmentEnd, v_segmentStart, v_width, v_angleEnd, capType, joinType);
371
+ float distance = max(
372
+ segmentDistanceField(currentPoint, v_segmentStart, v_segmentEnd, v_width),
373
+ max(segmentStartDistance, segmentEndDistance)
374
+ );
375
+ distance = max(distance, ${this.strokeDistanceFieldExpression_});
376
+ gl_FragColor = color * smoothstep(0., -1., distance);
377
+ if (u_hitDetection > 0) {
378
+ if (gl_FragColor.a < 0.1) { discard; };
379
+ gl_FragColor = v_hitColor;
380
+ }
381
+ }`:null}getFillVertexShader(){return this.hasFill_?`${Zn}
382
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
383
+ `)}
384
+ attribute vec2 a_position;
385
+ attribute vec4 a_hitColor;
386
+ ${this.attributes_.map(function(t){return"attribute "+t+";"}).join(`
387
+ `)}
388
+ varying vec4 v_hitColor;
389
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
390
+ `)}
391
+ ${this.vertexShaderFunctions_.join(`
392
+ `)}
393
+ void main(void) {
394
+ gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0);
395
+ ${this.varyings_.map(function(t){return" "+t.name+" = "+t.expression+";"}).join(`
396
+ `)}
397
+ }`:null}getFillFragmentShader(){return this.hasFill_?`${Zn}
398
+ ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
399
+ `)}
400
+ varying vec4 v_hitColor;
401
+ ${this.varyings_.map(function(t){return"varying "+t.type+" "+t.name+";"}).join(`
402
+ `)}
403
+ ${this.fragmentShaderFunctions_.join(`
404
+ `)}
405
+ vec2 pxToWorld(vec2 pxPos) {
406
+ vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;
407
+ return (u_screenToWorldMatrix * vec4(screenPos, 0.0, 1.0)).xy;
408
+ }
409
+
410
+ void main(void) {
411
+ #ifdef GL_FRAGMENT_PRECISION_HIGH
412
+ vec2 v_worldPos = pxToWorld(gl_FragCoord.xy / u_pixelRatio);
413
+ if (
414
+ abs(u_renderExtent[0] - u_renderExtent[2]) > 0.0 && (
415
+ v_worldPos[0] < u_renderExtent[0] ||
416
+ v_worldPos[1] < u_renderExtent[1] ||
417
+ v_worldPos[0] > u_renderExtent[2] ||
418
+ v_worldPos[1] > u_renderExtent[3]
419
+ )
420
+ ) {
421
+ discard;
422
+ }
423
+ #endif
424
+ if (${this.discardExpression_}) { discard; }
425
+ gl_FragColor = ${this.fillColorExpression_} * u_globalAlpha;
426
+ if (u_hitDetection > 0) {
427
+ if (gl_FragColor.a < 0.1) { discard; };
428
+ gl_FragColor = v_hitColor;
429
+ }
430
+ }`:null}}const Se={BLUR:"blur",GRADIENT:"gradient",RADIUS:"radius"},Jx=["#00f","#0ff","#0f0","#ff0","#f00"];class Qx extends xl{constructor(t){t=t||{};const e=Object.assign({},t);delete e.gradient,delete e.radius,delete e.blur,delete e.weight,super(e),this.gradient_=null,this.addChangeListener(Se.GRADIENT,this.handleGradientChanged_),this.setGradient(t.gradient?t.gradient:Jx),this.setBlur(t.blur!==void 0?t.blur:15),this.setRadius(t.radius!==void 0?t.radius:8);const i=t.weight?t.weight:"weight";typeof i=="string"?this.weightFunction_=function(n){return n.get(i)}:this.weightFunction_=i,this.setRenderOrder(null)}getBlur(){return this.get(Se.BLUR)}getGradient(){return this.get(Se.GRADIENT)}getRadius(){return this.get(Se.RADIUS)}handleGradientChanged_(){this.gradient_=t0(this.getGradient())}setBlur(t){this.set(Se.BLUR,t)}setGradient(t){this.set(Se.GRADIENT,t)}setRadius(t){this.set(Se.RADIUS,t)}createRenderer(){const t=new $x().addAttribute("float a_weight").addVarying("v_weight","float","a_weight").addUniform("float u_size").addUniform("float u_blurSlope").setSymbolSizeExpression("vec2(u_size)").setSymbolColorExpression("vec4(smoothstep(0., 1., (1. - length(coordsPx * 2. / v_quadSizePx)) * u_blurSlope) * v_weight)");return new Rx(this,{className:this.getClassName(),attributes:[{name:"weight",callback:e=>{const i=this.weightFunction_(e);return i!==void 0?It(i,0,1):1}}],uniforms:{u_size:()=>(this.get(Se.RADIUS)+this.get(Se.BLUR))*2,u_blurSlope:()=>this.get(Se.RADIUS)/Math.max(1,this.get(Se.BLUR))},hitDetectionEnabled:!0,vertexShader:t.getSymbolVertexShader(),fragmentShader:t.getSymbolFragmentShader(),postProcesses:[{fragmentShader:`
431
+ precision mediump float;
432
+
433
+ uniform sampler2D u_image;
434
+ uniform sampler2D u_gradientTexture;
435
+ uniform float u_opacity;
436
+
437
+ varying vec2 v_texCoord;
438
+
439
+ void main() {
440
+ vec4 color = texture2D(u_image, v_texCoord);
441
+ gl_FragColor.a = color.a * u_opacity;
442
+ gl_FragColor.rgb = texture2D(u_gradientTexture, vec2(0.5, color.a)).rgb;
443
+ gl_FragColor.rgb *= gl_FragColor.a;
444
+ }`,uniforms:{u_gradientTexture:()=>this.gradient_,u_opacity:()=>this.getOpacity()}}]})}renderDeclutter(){}}function t0(r){const i=$t(1,256),n=i.createLinearGradient(0,0,1,256),o=1/(r.length-1);for(let a=0,h=r.length;a<h;++a)n.addColorStop(a*o,r[a]);return i.fillStyle=n,i.fillRect(0,0,1,256),i.canvas}const e0=Qx;class i0 extends jx{clear(){for(;this.getCount()>0;)this.pop().release();super.clear()}expireCache(t){for(;this.canExpireCache()&&!(this.peekLast().getKey()in t);)this.pop().release()}pruneExceptNewestZ(){if(this.getCount()===0)return;const t=this.peekFirstKey(),i=Wx(t)[0];this.forEach(n=>{n.tileCoord[0]!==i&&(this.remove(Ld(n.tileCoord)),n.release())})}}const bd=i0,Ml={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};class n0 extends be{constructor(t){super(),this.projection=Gt(t.projection),this.attributions_=Td(t.attributions),this.attributionsCollapsible_=t.attributionsCollapsible!==void 0?t.attributionsCollapsible:!0,this.loading=!1,this.state_=t.state!==void 0?t.state:"ready",this.wrapX_=t.wrapX!==void 0?t.wrapX:!1,this.interpolate_=!!t.interpolate,this.viewResolver=null,this.viewRejector=null;const e=this;this.viewPromise_=new Promise(function(i,n){e.viewResolver=i,e.viewRejector=n})}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(t){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(t){this.attributions_=Td(t),this.changed()}setState(t){this.state_=t,this.changed()}}function Td(r){return r?Array.isArray(r)?function(t){return r}:typeof r=="function"?r:function(t){return[r]}:null}const Cd=n0,Wn=[0,0,0],ki=5;class r0{constructor(t){this.minZoom=t.minZoom!==void 0?t.minZoom:0,this.resolutions_=t.resolutions,ft(Rp(this.resolutions_,function(n,o){return o-n},!0),"`resolutions` must be sorted in descending order");let e;if(!t.origins){for(let n=0,o=this.resolutions_.length-1;n<o;++n)if(!e)e=this.resolutions_[n]/this.resolutions_[n+1];else if(this.resolutions_[n]/this.resolutions_[n+1]!==e){e=void 0;break}}this.zoomFactor_=e,this.maxZoom=this.resolutions_.length-1,this.origin_=t.origin!==void 0?t.origin:null,this.origins_=null,t.origins!==void 0&&(this.origins_=t.origins,ft(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const i=t.extent;i!==void 0&&!this.origin_&&!this.origins_&&(this.origin_=qi(i)),ft(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,t.tileSizes!==void 0&&(this.tileSizes_=t.tileSizes,ft(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=t.tileSize!==void 0?t.tileSize:this.tileSizes_?null:Ea,ft(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=i!==void 0?i:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],t.sizes!==void 0?this.fullTileRanges_=t.sizes.map(function(n,o){const a=new Ed(Math.min(0,n[0]),Math.max(n[0]-1,-1),Math.min(0,n[1]),Math.max(n[1]-1,-1));if(i){const h=this.getTileRangeForExtentAndZ(i,o);a.minX=Math.max(h.minX,a.minX),a.maxX=Math.min(h.maxX,a.maxX),a.minY=Math.max(h.minY,a.minY),a.maxY=Math.min(h.maxY,a.maxY)}return a},this):i&&this.calculateTileRanges_(i)}forEachTileCoord(t,e,i){const n=this.getTileRangeForExtentAndZ(t,e);for(let o=n.minX,a=n.maxX;o<=a;++o)for(let h=n.minY,c=n.maxY;h<=c;++h)i([e,o,h])}forEachTileCoordParentTileRange(t,e,i,n){let o,a,h,c=null,d=t[0]-1;for(this.zoomFactor_===2?(a=t[1],h=t[2]):c=this.getTileCoordExtent(t,n);d>=this.minZoom;){if(this.zoomFactor_===2?(a=Math.floor(a/2),h=Math.floor(h/2),o=Gn(a,a,h,h,i)):o=this.getTileRangeForExtentAndZ(c,d,i),e(d,o))return!0;--d}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,i){if(t[0]<this.maxZoom){if(this.zoomFactor_===2){const o=t[1]*2,a=t[2]*2;return Gn(o,o+1,a,a+1,e)}const n=this.getTileCoordExtent(t,i||this.tmpExtent_);return this.getTileRangeForExtentAndZ(n,t[0]+1,e)}return null}getTileRangeForTileCoordAndZ(t,e,i){if(e>this.maxZoom||e<this.minZoom)return null;const n=t[0],o=t[1],a=t[2];if(e===n)return Gn(o,a,o,a,i);if(this.zoomFactor_){const c=Math.pow(this.zoomFactor_,e-n),d=Math.floor(o*c),f=Math.floor(a*c);if(e<n)return Gn(d,d,f,f,i);const _=Math.floor(c*(o+1))-1,m=Math.floor(c*(a+1))-1;return Gn(d,_,f,m,i)}const h=this.getTileCoordExtent(t,this.tmpExtent_);return this.getTileRangeForExtentAndZ(h,e,i)}getTileRangeForExtentAndZ(t,e,i){this.getTileCoordForXYAndZ_(t[0],t[3],e,!1,Wn);const n=Wn[1],o=Wn[2];this.getTileCoordForXYAndZ_(t[2],t[1],e,!0,Wn);const a=Wn[1],h=Wn[2];return Gn(n,a,o,h,i)}getTileCoordCenter(t){const e=this.getOrigin(t[0]),i=this.getResolution(t[0]),n=pe(this.getTileSize(t[0]),this.tmpSize_);return[e[0]+(t[1]+.5)*n[0]*i,e[1]-(t[2]+.5)*n[1]*i]}getTileCoordExtent(t,e){const i=this.getOrigin(t[0]),n=this.getResolution(t[0]),o=pe(this.getTileSize(t[0]),this.tmpSize_),a=i[0]+t[1]*o[0]*n,h=i[1]-(t[2]+1)*o[1]*n,c=a+o[0]*n,d=h+o[1]*n;return Ei(a,h,c,d,e)}getTileCoordForCoordAndResolution(t,e,i){return this.getTileCoordForXYAndResolution_(t[0],t[1],e,!1,i)}getTileCoordForXYAndResolution_(t,e,i,n,o){const a=this.getZForResolution(i),h=i/this.getResolution(a),c=this.getOrigin(a),d=pe(this.getTileSize(a),this.tmpSize_);let f=h*(t-c[0])/i/d[0],_=h*(c[1]-e)/i/d[1];return n?(f=Fs(f,ki)-1,_=Fs(_,ki)-1):(f=Os(f,ki),_=Os(_,ki)),wd(a,f,_,o)}getTileCoordForXYAndZ_(t,e,i,n,o){const a=this.getOrigin(i),h=this.getResolution(i),c=pe(this.getTileSize(i),this.tmpSize_);let d=(t-a[0])/h/c[0],f=(a[1]-e)/h/c[1];return n?(d=Fs(d,ki)-1,f=Fs(f,ki)-1):(d=Os(d,ki),f=Os(f,ki)),wd(i,d,f,o)}getTileCoordForCoordAndZ(t,e,i){return this.getTileCoordForXYAndZ_(t[0],t[1],e,!1,i)}getTileCoordResolution(t){return this.resolutions_[t[0]]}getTileSize(t){return this.tileSize_?this.tileSize_:this.tileSizes_[t]}getFullTileRange(t){return this.fullTileRanges_?this.fullTileRanges_[t]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,t):null}getZForResolution(t,e){const i=xa(this.resolutions_,t,e||0);return It(i,this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(t,e){return uu(e,0,e.length,2,this.getTileCoordExtent(t))}calculateTileRanges_(t){const e=this.resolutions_.length,i=new Array(e);for(let n=this.minZoom;n<e;++n)i[n]=this.getTileRangeForExtentAndZ(t,n);this.fullTileRanges_=i}}const Sd=r0;function Pd(r){let t=r.getDefaultTileGrid();return t||(t=l0(r),r.setDefaultTileGrid(t)),t}function s0(r,t,e){const i=t[0],n=r.getTileCoordCenter(t),o=Il(e);if(!ks(o,n)){const a=Tt(o),h=Math.ceil((o[0]-n[0])/a);return n[0]+=a*h,r.getTileCoordForCoordAndZ(n,i)}return t}function o0(r,t,e,i){i=i!==void 0?i:"top-left";const n=kd(r,t,e);return new Sd({extent:r,origin:Kp(r,i),resolutions:n,tileSize:e})}function a0(r){const t=r||{},e=t.extent||Gt("EPSG:3857").getExtent(),i={extent:e,minZoom:t.minZoom,tileSize:t.tileSize,resolutions:kd(e,t.maxZoom,t.tileSize,t.maxResolution)};return new Sd(i)}function kd(r,t,e,i){t=t!==void 0?t:Fp,e=pe(e!==void 0?e:Ea);const n=Fe(r),o=Tt(r);i=i>0?i:Math.max(o/e[0],n/e[1]);const a=t+1,h=new Array(a);for(let c=0;c<a;++c)h[c]=i/Math.pow(2,c);return h}function l0(r,t,e,i){const n=Il(r);return o0(n,t,e,i)}function Il(r){r=Gt(r);let t=r.getExtent();if(!t){const e=180*pr.degrees/r.getMetersPerUnit();t=Ei(-e,-e,e,e)}return t}class h0 extends Cd{constructor(t){super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,projection:t.projection,state:t.state,wrapX:t.wrapX,interpolate:t.interpolate}),this.on,this.once,this.un,this.opaque_=t.opaque!==void 0?t.opaque:!1,this.tilePixelRatio_=t.tilePixelRatio!==void 0?t.tilePixelRatio:1,this.tileGrid=t.tileGrid!==void 0?t.tileGrid:null;const e=[256,256];this.tileGrid&&pe(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),e),this.tileCache=new bd(t.cacheSize||0),this.tmpSize=[0,0],this.key_=t.key||"",this.tileOptions={transition:t.transition,interpolate:t.interpolate},this.zDirection=t.zDirection?t.zDirection:0}canExpireCache(){return this.tileCache.canExpireCache()}expireCache(t,e){const i=this.getTileCacheForProjection(t);i&&i.expireCache(e)}forEachLoadedTile(t,e,i,n){const o=this.getTileCacheForProjection(t);if(!o)return!1;let a=!0,h,c,d;for(let f=i.minX;f<=i.maxX;++f)for(let _=i.minY;_<=i.maxY;++_)c=po(e,f,_),d=!1,o.containsKey(c)&&(h=o.get(c),d=h.getState()===$.LOADED,d&&(d=n(h)!==!1)),d||(a=!1);return a}getGutterForProjection(t){return 0}getKey(){return this.key_}setKey(t){this.key_!==t&&(this.key_=t,this.changed())}getOpaque(t){return this.opaque_}getResolutions(t){const e=t?this.getTileGridForProjection(t):this.tileGrid;return e?e.getResolutions():null}getTile(t,e,i,n,o){return it()}getTileGrid(){return this.tileGrid}getTileGridForProjection(t){return this.tileGrid?this.tileGrid:Pd(t)}getTileCacheForProjection(t){const e=this.getProjection();return ft(e===null||Ji(e,t),"A VectorTile source can only be rendered if it has a projection compatible with the view projection."),this.tileCache}getTilePixelRatio(t){return this.tilePixelRatio_}getTilePixelSize(t,e,i){const n=this.getTileGridForProjection(i),o=this.getTilePixelRatio(e),a=pe(n.getTileSize(t),this.tmpSize);return o==1?a:mv(a,o,this.tmpSize)}getTileCoordForTileUrlFunction(t,e){e=e!==void 0?e:this.getProjection();const i=this.getTileGridForProjection(e);return this.getWrapX()&&e.isGlobal()&&(t=s0(i,t,e)),Vx(t,i)?t:null}clear(){this.tileCache.clear()}refresh(){this.clear(),super.refresh()}updateCacheSize(t,e){const i=this.getTileCacheForProjection(e);t>i.highWaterMark&&(i.highWaterMark=t)}useTile(t,e,i,n){}}class c0 extends Qe{constructor(t,e){super(t),this.tile=e}}const u0=h0;function d0(r,t){const e=/\{z\}/g,i=/\{x\}/g,n=/\{y\}/g,o=/\{-y\}/g;return function(a,h,c){if(a)return r.replace(e,a[0].toString()).replace(i,a[1].toString()).replace(n,a[2].toString()).replace(o,function(){const d=a[0],f=t.getFullTileRange(d);return ft(f,"The {-y} placeholder requires a tile grid with extent"),(f.getHeight()-a[2]-1).toString()})}}function f0(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=d0(r[n],t);return g0(i)}function g0(r){return r.length===1?r[0]:function(t,e,i){if(!t)return;const n=Hx(t),o=kn(n,r.length);return r[o](t,e,i)}}function _0(r){const t=[];let e=/\{([a-z])-([a-z])\}/.exec(r);if(e){const i=e[1].charCodeAt(0),n=e[2].charCodeAt(0);let o;for(o=i;o<=n;++o)t.push(r.replace(e[0],String.fromCharCode(o)));return t}if(e=/\{(\d+)-(\d+)\}/.exec(r),e){const i=parseInt(e[2],10);for(let n=parseInt(e[1],10);n<=i;n++)t.push(r.replace(e[0],n.toString()));return t}return t.push(r),t}class Al extends u0{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,opaque:t.opaque,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tilePixelRatio:t.tilePixelRatio,wrapX:t.wrapX,transition:t.transition,interpolate:t.interpolate,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.generateTileUrlFunction_=this.tileUrlFunction===Al.prototype.tileUrlFunction,this.tileLoadFunction=t.tileLoadFunction,t.tileUrlFunction&&(this.tileUrlFunction=t.tileUrlFunction),this.urls=null,t.urls?this.setUrls(t.urls):t.url&&this.setUrl(t.url),this.tileLoadingKeys_={}}getTileLoadFunction(){return this.tileLoadFunction}getTileUrlFunction(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}getUrls(){return this.urls}handleTileChange(t){const e=t.target,i=at(e),n=e.getState();let o;n==$.LOADING?(this.tileLoadingKeys_[i]=!0,o=Ml.TILELOADSTART):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],o=n==$.ERROR?Ml.TILELOADERROR:n==$.LOADED?Ml.TILELOADEND:void 0),o!=null&&this.dispatchEvent(new c0(o,e))}setTileLoadFunction(t){this.tileCache.clear(),this.tileLoadFunction=t,this.changed()}setTileUrlFunction(t,e){this.tileUrlFunction=t,this.tileCache.pruneExceptNewestZ(),typeof e<"u"?this.setKey(e):this.changed()}setUrl(t){const e=_0(t);this.urls=e,this.setUrls(e)}setUrls(t){this.urls=t;const e=t.join(`
445
+ `);this.generateTileUrlFunction_?this.setTileUrlFunction(f0(t,this.tileGrid),e):this.setKey(e)}tileUrlFunction(t,e,i){}useTile(t,e,i){const n=po(t,e,i);this.tileCache.containsKey(n)&&this.tileCache.get(n)}}const p0=Al;class m0 extends p0{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,opaque:t.opaque,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:y0,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:t.wrapX,transition:t.transition,interpolate:t.interpolate!==void 0?t.interpolate:!0,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.crossOrigin=t.crossOrigin!==void 0?t.crossOrigin:null,this.tileClass=t.tileClass!==void 0?t.tileClass:vd,this.tileCacheForProjection={},this.tileGridForProjection={},this.reprojectionErrorThreshold_=t.reprojectionErrorThreshold,this.renderReprojectionEdges_=!1}canExpireCache(){if(this.tileCache.canExpireCache())return!0;for(const t in this.tileCacheForProjection)if(this.tileCacheForProjection[t].canExpireCache())return!0;return!1}expireCache(t,e){const i=this.getTileCacheForProjection(t);this.tileCache.expireCache(this.tileCache==i?e:{});for(const n in this.tileCacheForProjection){const o=this.tileCacheForProjection[n];o.expireCache(o==i?e:{})}}getGutterForProjection(t){return this.getProjection()&&t&&!Ji(this.getProjection(),t)?0:this.getGutter()}getGutter(){return 0}getKey(){let t=super.getKey();return this.getInterpolate()||(t+=":disable-interpolation"),t}getOpaque(t){return this.getProjection()&&t&&!Ji(this.getProjection(),t)?!1:super.getOpaque(t)}getTileGridForProjection(t){const e=this.getProjection();if(this.tileGrid&&(!e||Ji(e,t)))return this.tileGrid;const i=at(t);return i in this.tileGridForProjection||(this.tileGridForProjection[i]=Pd(t)),this.tileGridForProjection[i]}getTileCacheForProjection(t){const e=this.getProjection();if(!e||Ji(e,t))return this.tileCache;const i=at(t);return i in this.tileCacheForProjection||(this.tileCacheForProjection[i]=new bd(this.tileCache.highWaterMark)),this.tileCacheForProjection[i]}createTile_(t,e,i,n,o,a){const h=[t,e,i],c=this.getTileCoordForTileUrlFunction(h,o),d=c?this.tileUrlFunction(c,n,o):void 0,f=new this.tileClass(h,d!==void 0?$.IDLE:$.EMPTY,d!==void 0?d:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return f.key=a,f.addEventListener(rt.CHANGE,this.handleTileChange.bind(this)),f}getTile(t,e,i,n,o){const a=this.getProjection();if(!a||!o||Ji(a,o))return this.getTileInternal(t,e,i,n,a||o);const h=this.getTileCacheForProjection(o),c=[t,e,i];let d;const f=Ld(c);h.containsKey(f)&&(d=h.get(f));const _=this.getKey();if(d&&d.key==_)return d;const m=this.getTileGridForProjection(a),v=this.getTileGridForProjection(o),y=this.getTileCoordForTileUrlFunction(c,o),E=new Pl(a,m,o,v,c,y,this.getTilePixelRatio(n),this.getGutter(),(b,S,w,T)=>this.getTileInternal(b,S,w,T,a),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.getInterpolate());return E.key=_,d?(E.interimTile=d,E.refreshInterimChain(),h.replace(f,E)):h.set(f,E),E}getTileInternal(t,e,i,n,o){let a=null;const h=po(t,e,i),c=this.getKey();if(!this.tileCache.containsKey(h))a=this.createTile_(t,e,i,n,o,c),this.tileCache.set(h,a);else if(a=this.tileCache.get(h),a.key!=c){const d=a;a=this.createTile_(t,e,i,n,o,c),d.getState()==$.IDLE?a.interimTile=d.interimTile:a.interimTile=d,a.refreshInterimChain(),this.tileCache.replace(h,a)}return a}setRenderReprojectionEdges(t){if(this.renderReprojectionEdges_!=t){this.renderReprojectionEdges_=t;for(const e in this.tileCacheForProjection)this.tileCacheForProjection[e].clear();this.changed()}}setTileGridForProjection(t,e){const i=Gt(t);if(i){const n=at(i);n in this.tileGridForProjection||(this.tileGridForProjection[n]=e)}}clear(){super.clear();for(const t in this.tileCacheForProjection)this.tileCacheForProjection[t].clear()}}function y0(r,t){r.getImage().src=t}const v0=m0;class x0 extends v0{constructor(t){t=t||{};const e=t.projection!==void 0?t.projection:"EPSG:3857",i=t.tileGrid!==void 0?t.tileGrid:a0({extent:Il(e),maxResolution:t.maxResolution,maxZoom:t.maxZoom,minZoom:t.minZoom,tileSize:t.tileSize});super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,opaque:t.opaque,projection:e,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileGrid:i,tileLoadFunction:t.tileLoadFunction,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:t.wrapX!==void 0?t.wrapX:!0,transition:t.transition,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.gutter_=t.gutter!==void 0?t.gutter:0}getGutter(){return this.gutter_}}const E0=x0,w0='&#169; <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors.';class L0 extends E0{constructor(t){t=t||{};let e;t.attributions!==void 0?e=t.attributions:e=[w0];const i=t.crossOrigin!==void 0?t.crossOrigin:"anonymous",n=t.url!==void 0?t.url:"https://tile.openstreetmap.org/{z}/{x}/{y}.png";super({attributions:e,attributionsCollapsible:!1,cacheSize:t.cacheSize,crossOrigin:i,interpolate:t.interpolate,maxZoom:t.maxZoom!==void 0?t.maxZoom:19,opaque:t.opaque!==void 0?t.opaque:!0,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,transition:t.transition,url:n,wrapX:t.wrapX,zDirection:t.zDirection})}}const b0=L0,mo={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};class T0 extends Ys{constructor(t){t=t||{};const e=Object.assign({},t);delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.setPreload(t.preload!==void 0?t.preload:0),this.setUseInterimTilesOnError(t.useInterimTilesOnError!==void 0?t.useInterimTilesOnError:!0)}getPreload(){return this.get(mo.PRELOAD)}setPreload(t){this.set(mo.PRELOAD,t)}getUseInterimTilesOnError(){return this.get(mo.USE_INTERIM_TILES_ON_ERROR)}setUseInterimTilesOnError(t){this.set(mo.USE_INTERIM_TILES_ON_ERROR,t)}getData(t){return super.getData(t)}}const C0=T0,Rd=[];let Hn=null;function S0(){Hn=$t(1,1,void 0,{willReadFrequently:!0})}class P0 extends hd{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=Vt(),this.pixelTransform=Vt(),this.inversePixelTransform=Vt(),this.context=null,this.containerReused=!1,this.pixelContext_=null,this.frameState=null}getImageData(t,e,i){Hn||S0(),Hn.clearRect(0,0,1,1);let n;try{Hn.drawImage(t,e,i,1,1,0,0,1,1),n=Hn.getImageData(0,0,1,1).data}catch{return Hn=null,null}return n}getBackground(t){let i=this.getLayer().getBackground();return typeof i=="function"&&(i=i(t.viewState.resolution)),i||void 0}useContainer(t,e,i){const n=this.getLayer().getClassName();let o,a;if(t&&t.className===n&&(!i||t&&t.style.backgroundColor&&ei(Lr(t.style.backgroundColor),Lr(i)))){const h=t.firstElementChild;h instanceof HTMLCanvasElement&&(a=h.getContext("2d"))}if(a&&a.canvas.style.transform===e?(this.container=t,this.context=a,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){o=document.createElement("div"),o.className=n;let h=o.style;h.position="absolute",h.width="100%",h.height="100%",a=$t();const c=a.canvas;o.appendChild(c),h=c.style,h.position="absolute",h.left="0",h.transformOrigin="top left",this.container=o,this.context=a}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){const n=qi(i),o=Is(i),a=Ms(i),h=Rs(i);Ot(e.coordinateToPixelTransform,n),Ot(e.coordinateToPixelTransform,o),Ot(e.coordinateToPixelTransform,a),Ot(e.coordinateToPixelTransform,h);const c=this.inversePixelTransform;Ot(c,n),Ot(c,o),Ot(c,a),Ot(c,h),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.lineTo(Math.round(a[0]),Math.round(a[1])),t.lineTo(Math.round(h[0]),Math.round(h[1])),t.clip()}dispatchRenderEvent_(t,e,i){const n=this.getLayer();if(n.hasListener(t)){const o=new br(t,this.inversePixelTransform,i,e);n.dispatchEvent(o)}}preRender(t,e){this.frameState=e,this.dispatchRenderEvent_(qt.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(qt.POSTRENDER,t,e)}getRenderTransform(t,e,i,n,o,a,h){const c=o/2,d=a/2,f=n/e,_=-f,m=-t[0]+h,v=-t[1];return ze(this.tempTransform,c,d,f,_,-i,m,v)}disposeInternal(){delete this.frameState,super.disposeInternal()}}const Md=P0;class k0 extends Md{constructor(t){super(t),this.extentChanged=!0,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedRevision,this.renderedTiles=[],this.newTiles_=!1,this.tmpExtent=ge(),this.tmpTileRange_=new Ed(0,0,0,0)}isDrawableTile(t){const e=this.getLayer(),i=t.getState(),n=e.getUseInterimTilesOnError();return i==$.LOADED||i==$.EMPTY||i==$.ERROR&&!n}getTile(t,e,i,n){const o=n.pixelRatio,a=n.viewState.projection,h=this.getLayer();let d=h.getSource().getTile(t,e,i,o,a);return d.getState()==$.ERROR&&h.getUseInterimTilesOnError()&&h.getPreload()>0&&(this.newTiles_=!0),this.isDrawableTile(d)||(d=d.getInterimTile()),d}getData(t){const e=this.frameState;if(!e)return null;const i=this.getLayer(),n=Ot(e.pixelToCoordinateTransform,t.slice()),o=i.getExtent();if(o&&!ks(o,n))return null;const a=e.pixelRatio,h=e.viewState.projection,c=e.viewState,d=i.getRenderSource(),f=d.getTileGridForProjection(c.projection),_=d.getTilePixelRatio(e.pixelRatio);for(let m=f.getZForResolution(c.resolution);m>=f.getMinZoom();--m){const v=f.getTileCoordForCoordAndZ(n,m),y=d.getTile(m,v[1],v[2],a,h);if(!(y instanceof vd||y instanceof Pl)||y instanceof Pl&&y.getState()===$.EMPTY)return null;if(y.getState()!==$.LOADED)continue;const E=f.getOrigin(m),b=pe(f.getTileSize(m)),S=f.getResolution(m),w=Math.floor(_*((n[0]-E[0])/S-v[1]*b[0])),T=Math.floor(_*((E[1]-n[1])/S-v[2]*b[1])),P=Math.round(_*d.getGutterForProjection(c.projection));return this.getImageData(y.getImage(),w+P,T+P)}return null}loadedTileCallback(t,e,i){return this.isDrawableTile(i)?super.loadedTileCallback(t,e,i):!1}prepareFrame(t){return!!this.getLayer().getSource()}renderFrame(t,e){const i=t.layerStatesArray[t.layerIndex],n=t.viewState,o=n.projection,a=n.resolution,h=n.center,c=n.rotation,d=t.pixelRatio,f=this.getLayer(),_=f.getSource(),m=_.getRevision(),v=_.getTileGridForProjection(o),y=v.getZForResolution(a,_.zDirection),E=v.getResolution(y);let b=t.extent;const S=t.viewState.resolution,w=_.getTilePixelRatio(d),T=Math.round(Tt(b)/S*d),P=Math.round(Fe(b)/S*d),M=i.extent&&Qi(i.extent);M&&(b=xr(b,Qi(i.extent)));const I=E*T/2/w,D=E*P/2/w,z=[h[0]-I,h[1]-D,h[0]+I,h[1]+D],W=v.getTileRangeForExtentAndZ(b,y),K={};K[y]={};const Q=this.createLoadedTileFinder(_,o,K),q=this.tmpExtent,ct=this.tmpTileRange_;this.newTiles_=!1;const Et=c?Sa(n.center,S,c,t.size):void 0;for(let Lt=W.minX;Lt<=W.maxX;++Lt)for(let J=W.minY;J<=W.maxY;++J){if(c&&!v.tileCoordIntersectsViewport([y,Lt,J],Et))continue;const Y=this.getTile(y,Lt,J,t);if(this.isDrawableTile(Y)){const St=at(this);if(Y.getState()==$.LOADED){K[y][Y.tileCoord.toString()]=Y;let ve=Y.inTransition(St);ve&&i.opacity!==1&&(Y.endTransition(St),ve=!1),!this.newTiles_&&(ve||!this.renderedTiles.includes(Y))&&(this.newTiles_=!0)}if(Y.getAlpha(St,t.time)===1)continue}const nt=v.getTileCoordChildTileRange(Y.tileCoord,ct,q);let Ft=!1;nt&&(Ft=Q(y+1,nt)),Ft||v.forEachTileCoordParentTileRange(Y.tileCoord,Q,ct,q)}const V=E/a*d/w;ze(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/d,1/d,c,-T/2,-P/2);const H=Qc(this.pixelTransform);this.useContainer(e,H,this.getBackground(t));const Z=this.context,B=Z.canvas;Bs(this.inversePixelTransform,this.pixelTransform),ze(this.tempTransform,T/2,P/2,V,V,0,-T/2,-P/2),B.width!=T||B.height!=P?(B.width=T,B.height=P):this.containerReused||Z.clearRect(0,0,T,P),M&&this.clipUnrotated(Z,t,M),_.getInterpolate()||(Z.imageSmoothingEnabled=!1),this.preRender(Z,t),this.renderedTiles.length=0;let yt=Object.keys(K).map(Number);yt.sort(xi);let U,st,F;i.opacity===1&&(!this.containerReused||_.getOpaque(t.viewState.projection))?yt=yt.reverse():(U=[],st=[]);for(let Lt=yt.length-1;Lt>=0;--Lt){const J=yt[Lt],Y=_.getTilePixelSize(J,d,o),Ft=v.getResolution(J)/E,St=Y[0]*Ft*V,ve=Y[1]*Ft*V,je=v.getTileCoordForCoordAndZ(qi(z),J),Di=v.getTileCoordExtent(je),xe=Ot(this.tempTransform,[w*(Di[0]-z[0])/E,w*(z[3]-Di[3])/E]),Oi=w*_.getGutterForProjection(o),We=K[J];for(const Fi in We){const Pe=We[Fi],zi=Pe.tileCoord,di=je[1]-zi[1],Xn=Math.round(xe[0]-(di-1)*St),fi=je[2]-zi[2],hn=Math.round(xe[1]-(fi-1)*ve),Xt=Math.round(xe[0]-di*St),ie=Math.round(xe[1]-fi*ve),me=Xn-Xt,ke=hn-ie,He=y===J,Ve=He&&Pe.getAlpha(at(this),t.time)!==1;let Re=!1;if(!Ve)if(U){F=[Xt,ie,Xt+me,ie,Xt+me,ie+ke,Xt,ie+ke];for(let Ni=0,cn=U.length;Ni<cn;++Ni)if(y!==J&&J<st[Ni]){const Wt=U[Ni];se([Xt,ie,Xt+me,ie+ke],[Wt[0],Wt[3],Wt[4],Wt[7]])&&(Re||(Z.save(),Re=!0),Z.beginPath(),Z.moveTo(F[0],F[1]),Z.lineTo(F[2],F[3]),Z.lineTo(F[4],F[5]),Z.lineTo(F[6],F[7]),Z.moveTo(Wt[6],Wt[7]),Z.lineTo(Wt[4],Wt[5]),Z.lineTo(Wt[2],Wt[3]),Z.lineTo(Wt[0],Wt[1]),Z.clip())}U.push(F),st.push(J)}else Z.clearRect(Xt,ie,me,ke);this.drawTileImage(Pe,t,Xt,ie,me,ke,Oi,He),U&&!Ve?(Re&&Z.restore(),this.renderedTiles.unshift(Pe)):this.renderedTiles.push(Pe),this.updateUsedTiles(t.usedTiles,_,Pe)}}return this.renderedRevision=m,this.renderedResolution=E,this.extentChanged=!this.renderedExtent_||!Pn(this.renderedExtent_,z),this.renderedExtent_=z,this.renderedPixelRatio=d,this.renderedProjection=o,this.manageTilePyramid(t,_,v,d,o,b,y,f.getPreload()),this.scheduleExpireCache(t,_),this.postRender(Z,t),i.extent&&Z.restore(),Z.imageSmoothingEnabled=!0,H!==B.style.transform&&(B.style.transform=H),this.container}drawTileImage(t,e,i,n,o,a,h,c){const d=this.getTileImage(t);if(!d)return;const f=at(this),_=e.layerStatesArray[e.layerIndex],m=_.opacity*(c?t.getAlpha(f,e.time):1),v=m!==this.context.globalAlpha;v&&(this.context.save(),this.context.globalAlpha=m),this.context.drawImage(d,h,h,d.width-2*h,d.height-2*h,i,n,o,a),v&&this.context.restore(),m!==_.opacity?e.animate=!0:c&&t.endTransition(f)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}scheduleExpireCache(t,e){if(e.canExpireCache()){const i=(function(n,o,a){const h=at(n);h in a.usedTiles&&n.expireCache(a.viewState.projection,a.usedTiles[h])}).bind(null,e);t.postRenderFunctions.push(i)}}updateUsedTiles(t,e,i){const n=at(e);n in t||(t[n]={}),t[n][i.getKey()]=!0}manageTilePyramid(t,e,i,n,o,a,h,c,d){const f=at(e);f in t.wantedTiles||(t.wantedTiles[f]={});const _=t.wantedTiles[f],m=t.tileQueue,v=i.getMinZoom(),y=t.viewState.rotation,E=y?Sa(t.viewState.center,t.viewState.resolution,y,t.size):void 0;let b=0,S,w,T,P,M,I;for(I=v;I<=h;++I)for(w=i.getTileRangeForExtentAndZ(a,I,w),T=i.getResolution(I),P=w.minX;P<=w.maxX;++P)for(M=w.minY;M<=w.maxY;++M)y&&!i.tileCoordIntersectsViewport([I,P,M],E)||(h-I<=c?(++b,S=e.getTile(I,P,M,n,o),S.getState()==$.IDLE&&(_[S.getKey()]=!0,m.isKeyQueued(S.getKey())||m.enqueue([S,f,i.getTileCoordCenter(S.tileCoord),T])),d!==void 0&&d(S)):e.useTile(I,P,M,o));e.updateCacheSize(b,o)}}const R0=k0;class M0 extends C0{constructor(t){super(t)}createRenderer(){return new R0(this)}}const I0=M0;class A0{constructor(t){this.rbush_=new kh(t),this.items_={}}insert(t,e){const i={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(i),this.items_[at(e)]=i}load(t,e){const i=new Array(e.length);for(let n=0,o=e.length;n<o;n++){const a=t[n],h=e[n],c={minX:a[0],minY:a[1],maxX:a[2],maxY:a[3],value:h};i[n]=c,this.items_[at(h)]=c}this.rbush_.load(i)}remove(t){const e=at(t),i=this.items_[e];return delete this.items_[e],this.rbush_.remove(i)!==null}update(t,e){const i=this.items_[at(e)],n=[i.minX,i.minY,i.maxX,i.maxY];Pn(n,t)||(this.remove(e),this.insert(t,e))}getAll(){return this.rbush_.all().map(function(e){return e.value})}getInExtent(t){const e={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]};return this.rbush_.search(e).map(function(n){return n.value})}forEach(t){return this.forEach_(this.getAll(),t)}forEachInExtent(t,e){return this.forEach_(this.getInExtent(t),e)}forEach_(t,e){let i;for(let n=0,o=t.length;n<o;n++)if(i=e(t[n]),i)return i;return i}isEmpty(){return bn(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(t){const e=this.rbush_.toJSON();return Ei(e.minX,e.minY,e.maxX,e.maxY,t)}concat(t){this.rbush_.load(t.rbush_.all());for(const e in t.items_)this.items_[e]=t.items_[e]}}const Id=A0;function D0(r,t){return[[-1/0,-1/0,1/0,1/0]]}let O0=!1;function F0(r,t,e,i,n,o,a){const h=new XMLHttpRequest;h.open("GET",typeof r=="function"?r(e,i,n):r,!0),t.getType()=="arraybuffer"&&(h.responseType="arraybuffer"),h.withCredentials=O0,h.onload=function(c){if(!h.status||h.status>=200&&h.status<300){const d=t.getType();let f;d=="json"||d=="text"?f=h.responseText:d=="xml"?(f=h.responseXML,f||(f=new DOMParser().parseFromString(h.responseText,"application/xml"))):d=="arraybuffer"&&(f=h.response),f?o(t.readFeatures(f,{extent:e,featureProjection:n}),t.readProjection(f)):a()}else a()},h.onerror=a,h.send()}function Ad(r,t){return function(e,i,n,o,a){const h=this;F0(r,t,e,i,n,function(c,d){h.addFeatures(c),o!==void 0&&o(c)},a||wn)}}class Ri extends Qe{constructor(t,e,i){super(t),this.feature=e,this.features=i}}class z0 extends Cd{constructor(t){t=t||{},super({attributions:t.attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:t.wrapX!==void 0?t.wrapX:!0}),this.on,this.once,this.un,this.loader_=wn,this.format_=t.format,this.overlaps_=t.overlaps===void 0?!0:t.overlaps,this.url_=t.url,t.loader!==void 0?this.loader_=t.loader:this.url_!==void 0&&(ft(this.format_,"`format` must be set when `url` is set"),this.loader_=Ad(this.url_,this.format_)),this.strategy_=t.strategy!==void 0?t.strategy:D0;const e=t.useSpatialIndex!==void 0?t.useSpatialIndex:!0;this.featuresRtree_=e?new Id:null,this.loadedExtentsRtree_=new Id,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null;let i,n;Array.isArray(t.features)?n=t.features:t.features&&(i=t.features,n=i.getArray()),!e&&i===void 0&&(i=new Be(n)),n!==void 0&&this.addFeaturesInternal(n),i!==void 0&&this.bindFeaturesCollection_(i)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=at(t);if(!this.addToIndex_(e,t)){this.featuresCollection_&&this.featuresCollection_.remove(t);return}this.setupChangeEvents_(e,t);const i=t.getGeometry();if(i){const n=i.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(n,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new Ri(ee.ADDFEATURE,t))}setupChangeEvents_(t,e){this.featureChangeKeys_[t]=[ht(e,rt.CHANGE,this.handleFeatureChange_,this),ht(e,En.PROPERTYCHANGE,this.handleFeatureChange_,this)]}addToIndex_(t,e){let i=!0;const n=e.getId();return n!==void 0&&(n.toString()in this.idIndex_?i=!1:this.idIndex_[n.toString()]=e),i&&(ft(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),i}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],i=[],n=[];for(let o=0,a=t.length;o<a;o++){const h=t[o],c=at(h);this.addToIndex_(c,h)&&i.push(h)}for(let o=0,a=i.length;o<a;o++){const h=i[o],c=at(h);this.setupChangeEvents_(c,h);const d=h.getGeometry();if(d){const f=d.getExtent();e.push(f),n.push(h)}else this.nullGeometryFeatures_[c]=h}if(this.featuresRtree_&&this.featuresRtree_.load(e,n),this.hasListener(ee.ADDFEATURE))for(let o=0,a=i.length;o<a;o++)this.dispatchEvent(new Ri(ee.ADDFEATURE,i[o]))}bindFeaturesCollection_(t){let e=!1;this.addEventListener(ee.ADDFEATURE,function(i){e||(e=!0,t.push(i.feature),e=!1)}),this.addEventListener(ee.REMOVEFEATURE,function(i){e||(e=!0,t.remove(i.feature),e=!1)}),t.addEventListener(oe.ADD,i=>{e||(e=!0,this.addFeature(i.element),e=!1)}),t.addEventListener(oe.REMOVE,i=>{e||(e=!0,this.removeFeature(i.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const i in this.featureChangeKeys_)this.featureChangeKeys_[i].forEach(wt);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){const i=n=>{this.removeFeatureInternal(n)};this.featuresRtree_.forEach(i);for(const n in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[n])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new Ri(ee.CLEAR);this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const i=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(i,function(n){if(n.getGeometry().intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(i){if(i.getGeometry().intersectsExtent(t)){const o=e(i);if(o)return o}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),bn(this.nullGeometryFeatures_)||ti(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(i){e.push(i)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=Jp(t,e);return[].concat(...n.map(o=>this.featuresRtree_.getInExtent(o)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const i=t[0],n=t[1];let o=null;const a=[NaN,NaN];let h=1/0;const c=[-1/0,-1/0,1/0,1/0];return e=e||_r,this.featuresRtree_.forEachInExtent(c,function(d){if(e(d)){const f=d.getGeometry(),_=h;if(h=f.closestPointXY(i,n,a,h),h<_){o=d;const m=Math.sqrt(h);c[0]=i-m,c[1]=n-m,c[2]=i+m,c[3]=n+m}}}),o}getExtent(t){return this.featuresRtree_.getExtent(t)}getFeatureById(t){const e=this.idIndex_[t.toString()];return e!==void 0?e:null}getFeatureByUid(t){const e=this.uidIndex_[t];return e!==void 0?e:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(t){const e=t.target,i=at(e),n=e.getGeometry();if(!n)i in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(e),this.nullGeometryFeatures_[i]=e);else{const a=n.getExtent();i in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[i],this.featuresRtree_&&this.featuresRtree_.insert(a,e)):this.featuresRtree_&&this.featuresRtree_.update(a,e)}const o=e.getId();if(o!==void 0){const a=o.toString();this.idIndex_[a]!==e&&(this.removeFromIdIndex_(e),this.idIndex_[a]=e)}else this.removeFromIdIndex_(e),this.uidIndex_[i]=e;this.changed(),this.dispatchEvent(new Ri(ee.CHANGEFEATURE,e))}hasFeature(t){const e=t.getId();return e!==void 0?e in this.idIndex_:at(t)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&bn(this.nullGeometryFeatures_):this.featuresCollection_?this.featuresCollection_.getLength()===0:!0}loadFeatures(t,e,i){const n=this.loadedExtentsRtree_,o=this.strategy_(t,e,i);for(let a=0,h=o.length;a<h;++a){const c=o[a];n.forEachInExtent(c,function(f){return Yi(f.extent,c)})||(++this.loadingExtentsCount_,this.dispatchEvent(new Ri(ee.FEATURESLOADSTART)),this.loader_.call(this,c,e,i,f=>{--this.loadingExtentsCount_,this.dispatchEvent(new Ri(ee.FEATURESLOADEND,void 0,f))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Ri(ee.FEATURESLOADERROR))}),n.insert(c,{extent:c.slice()}))}this.loading=this.loader_.length<4?!1:this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_;let i;e.forEachInExtent(t,function(n){if(Pn(n.extent,t))return i=n,!0}),i&&e.remove(i)}removeFeature(t){if(!t)return;const e=at(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){const e=at(t),i=this.featureChangeKeys_[e];if(!i)return;i.forEach(wt),delete this.featureChangeKeys_[e];const n=t.getId();return n!==void 0&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Ri(ee.REMOVEFEATURE,t)),t}removeFromIdIndex_(t){let e=!1;for(const i in this.idIndex_)if(this.idIndex_[i]===t){delete this.idIndex_[i],e=!0;break}return e}setLoader(t){this.loader_=t}setUrl(t){ft(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(Ad(t,this.format_))}}const yo=z0;class Dl extends be{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if(typeof t.getSimplifiedGeometry=="function"){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new Dl(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const i=this.getStyle();return i&&t.setStyle(i),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wt(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=ht(t,rt.CHANGE,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?N0(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function N0(r){if(typeof r=="function")return r;let t;return Array.isArray(r)?t=r:(ft(typeof r.getZIndex=="function","Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),t=[r]),function(){return t}}const B0=Dl;class vo extends iu{constructor(t){super(),this.geometries_=t||null,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(wt),this.changeEventsKeys_.length=0}listenGeometriesChange_(){if(this.geometries_)for(let t=0,e=this.geometries_.length;t<e;++t)this.changeEventsKeys_.push(ht(this.geometries_[t],rt.CHANGE,this.changed,this))}clone(){const t=new vo(null);return t.setGeometries(this.geometries_),t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<Xi(this.getExtent(),t,e))return n;const o=this.geometries_;for(let a=0,h=o.length;a<h;++a)n=o[a].closestPointXY(t,e,i,n);return n}containsXY(t,e){const i=this.geometries_;for(let n=0,o=i.length;n<o;++n)if(i[n].containsXY(t,e))return!0;return!1}computeExtent(t){yr(t);const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)Sc(t,e[i].getExtent());return t}getGeometries(){return Dd(this.geometries_)}getGeometriesArray(){return this.geometries_}getGeometriesArrayRecursive(){let t=[];const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)e[i].getType()===this.getType()?t=t.concat(e[i].getGeometriesArrayRecursive()):t.push(e[i]);return t}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&t<this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=[],i=this.geometries_;let n=!1;for(let o=0,a=i.length;o<a;++o){const h=i[o],c=h.getSimplifiedGeometry(t);e.push(c),c!==h&&(n=!0)}if(n){const o=new vo(null);return o.setGeometriesArray(e),o}return this.simplifiedGeometryMaxMinSquaredTolerance=t,this}getType(){return"GeometryCollection"}intersectsExtent(t){const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)if(e[i].intersectsExtent(t))return!0;return!1}isEmpty(){return this.geometries_.length===0}rotate(t,e){const i=this.geometries_;for(let n=0,o=i.length;n<o;++n)i[n].rotate(t,e);this.changed()}scale(t,e,i){i||(i=Ki(this.getExtent()));const n=this.geometries_;for(let o=0,a=n.length;o<a;++o)n[o].scale(t,e,i);this.changed()}setGeometries(t){this.setGeometriesArray(Dd(t))}setGeometriesArray(t){this.unlistenGeometriesChange_(),this.geometries_=t,this.listenGeometriesChange_(),this.changed()}applyTransform(t){const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)e[i].applyTransform(t);this.changed()}translate(t,e){const i=this.geometries_;for(let n=0,o=i.length;n<o;++n)i[n].translate(t,e);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function Dd(r){const t=[];for(let e=0,i=r.length;e<i;++e)t.push(r[e].clone());return t}const G0=vo;class U0{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let i=e.dataProjection?Gt(e.dataProjection):this.readProjection(t);e.extent&&i&&i.getUnits()==="tile-pixels"&&(i=Gt(i),i.setWorldExtent(e.extent)),e={dataProjection:i,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection},t)}getType(){return it()}readFeature(t,e){return it()}readFeatures(t,e){return it()}readGeometry(t,e){return it()}readProjection(t){return it()}writeFeature(t,e){return it()}writeFeatures(t,e){return it()}writeGeometry(t,e){return it()}}function Od(r,t,e){const i=e?Gt(e.featureProjection):null,n=e?Gt(e.dataProjection):null;let o;if(i&&n&&!Ji(i,n)?o=(t?r.clone():r).transform(t?i:n,t?n:i):o=r,t&&e&&e.decimals!==void 0){const a=Math.pow(10,e.decimals),h=function(c){for(let d=0,f=c.length;d<f;++d)c[d]=Math.round(c[d]*a)/a;return c};o===r&&(o=r.clone()),o.applyTransform(h)}return o}class Z0 extends U0{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(xo(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(xo(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return it()}readFeaturesFromObject(t,e){return it()}readGeometry(t,e){return this.readGeometryFromObject(xo(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return it()}readProjection(t){return this.readProjectionFromObject(xo(t))}readProjectionFromObject(t){return it()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return it()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return it()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return it()}}function xo(r){if(typeof r=="string"){const t=JSON.parse(r);return t||null}return r!==null?r:null}const j0=Z0;function Fd(r,t,e,i,n,o,a){let h,c;const d=(e-t)/i;if(d===1)h=t;else if(d===2)h=t,c=n;else if(d!==0){let f=r[t],_=r[t+1],m=0;const v=[0];for(let b=t+i;b<e;b+=i){const S=r[b],w=r[b+1];m+=Math.sqrt((S-f)*(S-f)+(w-_)*(w-_)),v.push(m),f=S,_=w}const y=n*m,E=Pp(v,y);E<0?(c=(y-v[-E-2])/(v[-E-1]-v[-E-2]),h=t+(-E-2)*i):h=t+E*i}a=a>1?a:2,o=o||new Array(a);for(let f=0;f<a;++f)o[f]=h===void 0?NaN:c===void 0?r[h+f]:_e(r[h+f],r[h+i+f],c);return o}function Ol(r,t,e,i,n,o){if(e==t)return null;let a;if(n<r[t+i-1])return o?(a=r.slice(t,t+i),a[i-1]=n,a):null;if(r[e-1]<n)return o?(a=r.slice(e-i,e),a[i-1]=n,a):null;if(n==r[t+i-1])return r.slice(t,t+i);let h=t/i,c=e/i;for(;h<c;){const m=h+c>>1;n<r[(m+1)*i-1]?c=m:h=m+1}const d=r[h*i-1];if(n==d)return r.slice((h-1)*i,(h-1)*i+i);const f=r[(h+1)*i-1],_=(n-d)/(f-d);a=[];for(let m=0;m<i-1;++m)a.push(_e(r[(h-1)*i+m],r[h*i+m],_));return a.push(n),a}function W0(r,t,e,i,n,o,a){if(a)return Ol(r,t,e[e.length-1],i,n,o);let h;if(n<r[i-1])return o?(h=r.slice(0,i),h[i-1]=n,h):null;if(r[r.length-1]<n)return o?(h=r.slice(r.length-i),h[i-1]=n,h):null;for(let c=0,d=e.length;c<d;++c){const f=e[c];if(t!=f){if(n<r[t+i-1])return null;if(n<=r[f-1])return Ol(r,t,f,i,n,!1);t=f}}return null}function zd(r,t,e,i){let n=r[t],o=r[t+1],a=0;for(let h=t+i;h<e;h+=i){const c=r[h],d=r[h+1];a+=Math.sqrt((c-n)*(c-n)+(d-o)*(d-o)),n=c,o=d}return a}class Eo extends en{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){this.flatCoordinates?ti(this.flatCoordinates,t):this.flatCoordinates=t.slice(),this.changed()}clone(){const t=new Eo(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<Xi(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Ba(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Ua(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,i,n))}forEachSegment(t){return cu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return this.layout!="XYM"&&this.layout!="XYZM"?null:(e=e!==void 0?e:!1,Ol(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Li(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return Fd(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return zd(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Wa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new Eo(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return js(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Gs(this.flatCoordinates,0,t,this.stride),this.changed()}}const Fl=Eo;class wo extends en{constructor(t,e,i){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(e!==void 0&&i)this.setFlatCoordinates(e,t),this.ends_=i;else{let n=this.getLayout();const o=t,a=[],h=[];for(let c=0,d=o.length;c<d;++c){const f=o[c];c===0&&(n=f.getLayout()),ti(a,f.getFlatCoordinates()),h.push(a.length)}this.setFlatCoordinates(n,a),this.ends_=h}}appendLineString(t){this.flatCoordinates?ti(this.flatCoordinates,t.getFlatCoordinates().slice()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new wo(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<Xi(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Ga(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Za(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!1,t,e,i,n))}getCoordinateAtM(t,e,i){return this.layout!="XYM"&&this.layout!="XYZM"||this.flatCoordinates.length===0?null:(e=e!==void 0?e:!1,i=i!==void 0?i:!1,W0(this.flatCoordinates,0,this.ends_,this.stride,t,e,i))}getCoordinates(){return Er(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(t){return t<0||this.ends_.length<=t?null:new Fl(this.flatCoordinates.slice(t===0?0:this.ends_[t-1],this.ends_[t]),this.layout)}getLineStrings(){const t=this.flatCoordinates,e=this.ends_,i=this.layout,n=[];let o=0;for(let a=0,h=e.length;a<h;++a){const c=e[a],d=new Fl(t.slice(o,c),i);n.push(d),o=c}return n}getFlatMidpoints(){const t=[],e=this.flatCoordinates;let i=0;const n=this.ends_,o=this.stride;for(let a=0,h=n.length;a<h;++a){const c=n[a],d=Fd(e,i,c,o,.5);ti(t,d),i=c}return t}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=Om(this.flatCoordinates,0,this.ends_,this.stride,t,e,0,i),new wo(e,"XY",i)}getType(){return"MultiLineString"}intersectsExtent(t){return Zm(this.flatCoordinates,0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=ja(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}const H0=wo;class zl extends en{constructor(t,e){super(),e&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendPoint(t){this.flatCoordinates?ti(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.changed()}clone(){const t=new zl(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<Xi(this.getExtent(),t,e))return n;const o=this.flatCoordinates,a=this.stride;for(let h=0,c=o.length;h<c;h+=a){const d=$i(t,e,o[h],o[h+1]);if(d<n){n=d;for(let f=0;f<a;++f)i[f]=o[h+f];i.length=a}}return n}getCoordinates(){return Li(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(t){const e=this.flatCoordinates?this.flatCoordinates.length/this.stride:0;return t<0||e<=t?null:new Zs(this.flatCoordinates.slice(t*this.stride,(t+1)*this.stride),this.layout)}getPoints(){const t=this.flatCoordinates,e=this.layout,i=this.stride,n=[];for(let o=0,a=t.length;o<a;o+=i){const h=new Zs(t.slice(o,o+i),e);n.push(h)}return n}getType(){return"MultiPoint"}intersectsExtent(t){const e=this.flatCoordinates,i=this.stride;for(let n=0,o=e.length;n<o;n+=i){const a=e[n],h=e[n+1];if(La(t,a,h))return!0}return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Gs(this.flatCoordinates,0,t,this.stride),this.changed()}}const Nd=zl;function V0(r,t,e,i){const n=[];let o=ge();for(let a=0,h=e.length;a<h;++a){const c=e[a];o=Cc(r,t,c[0],i),n.push((o[0]+o[2])/2,(o[1]+o[3])/2),t=c[c.length-1]}return n}class Lo extends en{constructor(t,e,i){if(super(),this.endss_=[],this.flatInteriorPointsRevision_=-1,this.flatInteriorPoints_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,!i&&!Array.isArray(t[0])){let n=this.getLayout();const o=t,a=[],h=[];for(let c=0,d=o.length;c<d;++c){const f=o[c];c===0&&(n=f.getLayout());const _=a.length,m=f.getEnds();for(let v=0,y=m.length;v<y;++v)m[v]+=_;ti(a,f.getFlatCoordinates()),h.push(m)}e=n,t=a,i=h}e!==void 0&&i?(this.setFlatCoordinates(e,t),this.endss_=i):this.setCoordinates(t,e)}appendPolygon(t){let e;if(!this.flatCoordinates)this.flatCoordinates=t.getFlatCoordinates().slice(),e=t.getEnds().slice(),this.endss_.push();else{const i=this.flatCoordinates.length;ti(this.flatCoordinates,t.getFlatCoordinates()),e=t.getEnds().slice();for(let n=0,o=e.length;n<o;++n)e[n]+=i}this.endss_.push(e),this.changed()}clone(){const t=this.endss_.length,e=new Array(t);for(let n=0;n<t;++n)e[n]=this.endss_[n].slice();const i=new Lo(this.flatCoordinates.slice(),this.layout,e);return i.applyProperties(this),i}closestPointXY(t,e,i,n){return n<Xi(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Mm(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Im(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return Gm(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t,e)}getArea(){return Nm(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),_u(e,0,this.endss_,this.stride,t)):e=this.flatCoordinates,Ha(e,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const t=V0(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=Um(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new Nd(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;Hm(t,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=_u(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=zm(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(t),e,0,i),new Lo(e,"XY",i)}getPolygon(t){if(t<0||this.endss_.length<=t)return null;let e;if(t===0)e=0;else{const o=this.endss_[t-1];e=o[o.length-1]}const i=this.endss_[t].slice(),n=i[i.length-1];if(e!==0)for(let o=0,a=i.length;o<a;++o)i[o]-=e;return new Ws(this.flatCoordinates.slice(e,n),this.layout,i)}getPolygons(){const t=this.layout,e=this.flatCoordinates,i=this.endss_,n=[];let o=0;for(let a=0,h=i.length;a<h;++a){const c=i[a].slice(),d=c[c.length-1];if(o!==0)for(let _=0,m=c.length;_<m;++_)c[_]-=o;const f=new Ws(e.slice(o,d),t,c);n.push(f),o=d}return n}getType(){return"MultiPolygon"}intersectsExtent(t){return jm(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,3),this.flatCoordinates||(this.flatCoordinates=[]);const i=Dm(this.flatCoordinates,0,t,this.stride,this.endss_);if(i.length===0)this.flatCoordinates.length=0;else{const n=i[i.length-1];this.flatCoordinates.length=n.length===0?0:n[n.length-1]}this.changed()}}const X0=Lo;class Y0 extends j0{constructor(t){t=t||{},super(),this.dataProjection=Gt(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=Gt(t.featureProjection)),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let i=null;t.type==="Feature"?i=t:i={type:"Feature",geometry:t,properties:null};const n=Nl(i.geometry,e),o=new B0;return this.geometryName_?o.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in i!==void 0&&o.setGeometryName(i.geometry_name),o.setGeometry(n),"id"in i&&o.setId(i.id),i.properties&&o.setProperties(i.properties,!0),o}readFeaturesFromObject(t,e){const i=t;let n=null;if(i.type==="FeatureCollection"){const o=t;n=[];const a=o.features;for(let h=0,c=a.length;h<c;++h)n.push(this.readFeatureFromObject(a[h],e))}else n=[this.readFeatureFromObject(t,e)];return n}readGeometryFromObject(t,e){return Nl(t,e)}readProjectionFromObject(t){const e=t.crs;let i;if(e)if(e.type=="name")i=Gt(e.properties.name);else if(e.type==="EPSG")i=Gt("EPSG:"+e.properties.code);else throw new Error("Unknown SRS type");else i=this.dataProjection;return i}writeFeatureObject(t,e){e=this.adaptOptions(e);const i={type:"Feature",geometry:null,properties:null},n=t.getId();if(n!==void 0&&(i.id=n),!t.hasProperties())return i;const o=t.getProperties(),a=t.getGeometry();return a&&(i.geometry=Bl(a,e),delete o[t.getGeometryName()]),bn(o)||(i.properties=o),i}writeFeaturesObject(t,e){e=this.adaptOptions(e);const i=[];for(let n=0,o=t.length;n<o;++n)i.push(this.writeFeatureObject(t[n],e));return{type:"FeatureCollection",features:i}}writeGeometryObject(t,e){return Bl(t,this.adaptOptions(e))}}function Nl(r,t){if(!r)return null;let e;switch(r.type){case"Point":{e=q0(r);break}case"LineString":{e=$0(r);break}case"Polygon":{e=eE(r);break}case"MultiPoint":{e=Q0(r);break}case"MultiLineString":{e=J0(r);break}case"MultiPolygon":{e=tE(r);break}case"GeometryCollection":{e=K0(r);break}default:throw new Error("Unsupported GeoJSON type: "+r.type)}return Od(e,!1,t)}function K0(r,t){const e=r.geometries.map(function(i){return Nl(i,t)});return new G0(e)}function q0(r){return new Zs(r.coordinates)}function $0(r){return new Fl(r.coordinates)}function J0(r){return new H0(r.coordinates)}function Q0(r){return new Nd(r.coordinates)}function tE(r){return new X0(r.coordinates)}function eE(r){return new Ws(r.coordinates)}function Bl(r,t){r=Od(r,!0,t);const e=r.getType();let i;switch(e){case"Point":{i=aE(r);break}case"LineString":{i=nE(r);break}case"Polygon":{i=lE(r,t);break}case"MultiPoint":{i=sE(r);break}case"MultiLineString":{i=rE(r);break}case"MultiPolygon":{i=oE(r,t);break}case"GeometryCollection":{i=iE(r,t);break}case"Circle":{i={type:"GeometryCollection",geometries:[]};break}default:throw new Error("Unsupported geometry type: "+e)}return i}function iE(r,t){return t=Object.assign({},t),delete t.featureProjection,{type:"GeometryCollection",geometries:r.getGeometriesArray().map(function(i){return Bl(i,t)})}}function nE(r,t){return{type:"LineString",coordinates:r.getCoordinates()}}function rE(r,t){return{type:"MultiLineString",coordinates:r.getCoordinates()}}function sE(r,t){return{type:"MultiPoint",coordinates:r.getCoordinates()}}function oE(r,t){let e;return t&&(e=t.rightHanded),{type:"MultiPolygon",coordinates:r.getCoordinates(e)}}function aE(r,t){return{type:"Point",coordinates:r.getCoordinates()}}function lE(r,t){let e;return t&&(e=t.rightHanded),{type:"Polygon",coordinates:r.getCoordinates(e)}}const bo=Y0,Br={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},To=[Br.FILL],Mi=[Br.STROKE],ln=[Br.BEGIN_PATH],Bd=[Br.CLOSE_PATH],tt=Br;class hE{drawCustom(t,e,i,n){}drawGeometry(t){}setStyle(t){}drawCircle(t,e){}drawFeature(t,e){}drawGeometryCollection(t,e){}drawLineString(t,e){}drawMultiLineString(t,e){}drawMultiPoint(t,e){}drawMultiPolygon(t,e){}drawPoint(t,e){}drawPolygon(t,e){}drawText(t,e){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const Gd=hE;class cE extends Gd{constructor(t,e,i,n){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=n,this.maxLineWidth=0,this.resolution=i,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return e==1?t:t.map(function(i){return i*e})}appendFlatPointCoordinates(t,e){const i=this.getBufferedMaxExtent(),n=this.tmpCoordinate_,o=this.coordinates;let a=o.length;for(let h=0,c=t.length;h<c;h+=e)n[0]=t[h],n[1]=t[h+1],ks(i,n)&&(o[a++]=n[0],o[a++]=n[1]);return a}appendFlatLineCoordinates(t,e,i,n,o,a){const h=this.coordinates;let c=h.length;const d=this.getBufferedMaxExtent();a&&(e+=n);let f=t[e],_=t[e+1];const m=this.tmpCoordinate_;let v=!0,y,E,b;for(y=e+n;y<i;y+=n)m[0]=t[y],m[1]=t[y+1],b=ba(d,m),b!==E?(v&&(h[c++]=f,h[c++]=_,v=!1),h[c++]=m[0],h[c++]=m[1]):b===Zt.INTERSECTING?(h[c++]=m[0],h[c++]=m[1],v=!1):v=!0,f=m[0],_=m[1],E=b;return(o&&v||y===e+n)&&(h[c++]=f,h[c++]=_),c}drawCustomCoordinates_(t,e,i,n,o){for(let a=0,h=i.length;a<h;++a){const c=i[a],d=this.appendFlatLineCoordinates(t,e,c,n,!1,!1);o.push(d),e=c}return e}drawCustom(t,e,i,n){this.beginGeometry(t,e);const o=t.getType(),a=t.getStride(),h=this.coordinates.length;let c,d,f,_,m;switch(o){case"MultiPolygon":c=t.getOrientedFlatCoordinates(),_=[];const v=t.getEndss();m=0;for(let y=0,E=v.length;y<E;++y){const b=[];m=this.drawCustomCoordinates_(c,m,v[y],a,b),_.push(b)}this.instructions.push([tt.CUSTOM,h,_,t,i,Ha]),this.hitDetectionInstructions.push([tt.CUSTOM,h,_,t,n||i,Ha]);break;case"Polygon":case"MultiLineString":f=[],c=o=="Polygon"?t.getOrientedFlatCoordinates():t.getFlatCoordinates(),m=this.drawCustomCoordinates_(c,0,t.getEnds(),a,f),this.instructions.push([tt.CUSTOM,h,f,t,i,Er]),this.hitDetectionInstructions.push([tt.CUSTOM,h,f,t,n||i,Er]);break;case"LineString":case"Circle":c=t.getFlatCoordinates(),d=this.appendFlatLineCoordinates(c,0,c.length,a,!1,!1),this.instructions.push([tt.CUSTOM,h,d,t,i,Li]),this.hitDetectionInstructions.push([tt.CUSTOM,h,d,t,n||i,Li]);break;case"MultiPoint":c=t.getFlatCoordinates(),d=this.appendFlatPointCoordinates(c,a),d>h&&(this.instructions.push([tt.CUSTOM,h,d,t,i,Li]),this.hitDetectionInstructions.push([tt.CUSTOM,h,d,t,n||i,Li]));break;case"Point":c=t.getFlatCoordinates(),this.coordinates.push(c[0],c[1]),d=this.coordinates.length,this.instructions.push([tt.CUSTOM,h,d,t,i]),this.hitDetectionInstructions.push([tt.CUSTOM,h,d,t,n||i]);break}this.endGeometry(e)}beginGeometry(t,e){this.beginGeometryInstruction1_=[tt.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[tt.BEGIN_GEOMETRY,e,0,t],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;t.reverse();let e;const i=t.length;let n,o,a=-1;for(e=0;e<i;++e)n=t[e],o=n[0],o==tt.END_GEOMETRY?a=e:o==tt.BEGIN_GEOMETRY&&(n[2]=e,kp(this.hitDetectionInstructions,a,e),a=-1)}setFillStrokeStyle(t,e){const i=this.state;if(t){const n=t.getColor();i.fillStyle=Ge(n||ae)}else i.fillStyle=void 0;if(e){const n=e.getColor();i.strokeStyle=Ge(n||Sr);const o=e.getLineCap();i.lineCap=o!==void 0?o:Mn;const a=e.getLineDash();i.lineDash=a?a.slice():ni;const h=e.getLineDashOffset();i.lineDashOffset=h||ri;const c=e.getLineJoin();i.lineJoin=c!==void 0?c:In;const d=e.getWidth();i.lineWidth=d!==void 0?d:kr;const f=e.getMiterLimit();i.miterLimit=f!==void 0?f:Cr,i.lineWidth>this.maxLineWidth&&(this.maxLineWidth=i.lineWidth,this.bufferedMaxExtent_=null)}else i.strokeStyle=void 0,i.lineCap=void 0,i.lineDash=null,i.lineDashOffset=void 0,i.lineJoin=void 0,i.lineWidth=void 0,i.miterLimit=void 0}createFill(t){const e=t.fillStyle,i=[tt.SET_FILL_STYLE,e];return typeof e!="string"&&i.push(!0),i}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[tt.SET_STROKE_STYLE,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,this.applyPixelRatio(t.lineDash),t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const i=t.fillStyle;(typeof i!="string"||t.currentFillStyle!=i)&&(i!==void 0&&this.instructions.push(e.call(this,t)),t.currentFillStyle=i)}updateStrokeStyle(t,e){const i=t.strokeStyle,n=t.lineCap,o=t.lineDash,a=t.lineDashOffset,h=t.lineJoin,c=t.lineWidth,d=t.miterLimit;(t.currentStrokeStyle!=i||t.currentLineCap!=n||o!=t.currentLineDash&&!ei(t.currentLineDash,o)||t.currentLineDashOffset!=a||t.currentLineJoin!=h||t.currentLineWidth!=c||t.currentMiterLimit!=d)&&(i!==void 0&&e.call(this,t),t.currentStrokeStyle=i,t.currentLineCap=n,t.currentLineDash=o,t.currentLineDashOffset=a,t.currentLineJoin=h,t.currentLineWidth=c,t.currentMiterLimit=d)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[tt.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Tc(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;Ps(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}const Gr=cE;class uE extends Gr{constructor(t,e,i,n){super(t,e,i,n),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e){if(!this.image_)return;this.beginGeometry(t,e);const i=t.getFlatCoordinates(),n=t.getStride(),o=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([tt.DRAW_IMAGE,o,a,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([tt.DRAW_IMAGE,o,a,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e){if(!this.image_)return;this.beginGeometry(t,e);const i=t.getFlatCoordinates(),n=t.getStride(),o=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([tt.DRAW_IMAGE,o,a,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([tt.DRAW_IMAGE,o,a,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(t,e){const i=t.getAnchor(),n=t.getSize(),o=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=i[0],this.anchorY_=i[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=n[1],this.opacity_=t.getOpacity(),this.originX_=o[0],this.originY_=o[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=n[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}}const dE=uE;class fE extends Gr{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinates_(t,e,i,n){const o=this.coordinates.length,a=this.appendFlatLineCoordinates(t,e,i,n,!1,!1),h=[tt.MOVE_TO_LINE_TO,o,a];return this.instructions.push(h),this.hitDetectionInstructions.push(h),i}drawLineString(t,e){const i=this.state,n=i.strokeStyle,o=i.lineWidth;if(n===void 0||o===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([tt.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ni,ri],ln);const a=t.getFlatCoordinates(),h=t.getStride();this.drawFlatCoordinates_(a,0,a.length,h),this.hitDetectionInstructions.push(Mi),this.endGeometry(e)}drawMultiLineString(t,e){const i=this.state,n=i.strokeStyle,o=i.lineWidth;if(n===void 0||o===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([tt.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ni,ri],ln);const a=t.getEnds(),h=t.getFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,_=a.length;f<_;++f)d=this.drawFlatCoordinates_(h,d,a[f],c);this.hitDetectionInstructions.push(Mi),this.endGeometry(e)}finish(){const t=this.state;return t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&this.instructions.push(Mi),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(t){t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&(this.instructions.push(Mi),t.lastStroke=this.coordinates.length),t.lastStroke=0,super.applyStroke(t),this.instructions.push(ln)}}const gE=fE;class _E extends Gr{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinatess_(t,e,i,n){const o=this.state,a=o.fillStyle!==void 0,h=o.strokeStyle!==void 0,c=i.length;this.instructions.push(ln),this.hitDetectionInstructions.push(ln);for(let d=0;d<c;++d){const f=i[d],_=this.coordinates.length,m=this.appendFlatLineCoordinates(t,e,f,n,!0,!h),v=[tt.MOVE_TO_LINE_TO,_,m];this.instructions.push(v),this.hitDetectionInstructions.push(v),h&&(this.instructions.push(Bd),this.hitDetectionInstructions.push(Bd)),e=f}return a&&(this.instructions.push(To),this.hitDetectionInstructions.push(To)),h&&(this.instructions.push(Mi),this.hitDetectionInstructions.push(Mi)),e}drawCircle(t,e){const i=this.state,n=i.fillStyle,o=i.strokeStyle;if(n===void 0&&o===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_FILL_STYLE,ae]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ni,ri]);const a=t.getFlatCoordinates(),h=t.getStride(),c=this.coordinates.length;this.appendFlatLineCoordinates(a,0,a.length,h,!1,!1);const d=[tt.CIRCLE,c];this.instructions.push(ln,d),this.hitDetectionInstructions.push(ln,d),i.fillStyle!==void 0&&(this.instructions.push(To),this.hitDetectionInstructions.push(To)),i.strokeStyle!==void 0&&(this.instructions.push(Mi),this.hitDetectionInstructions.push(Mi)),this.endGeometry(e)}drawPolygon(t,e){const i=this.state,n=i.fillStyle,o=i.strokeStyle;if(n===void 0&&o===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_FILL_STYLE,ae]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ni,ri]);const a=t.getEnds(),h=t.getOrientedFlatCoordinates(),c=t.getStride();this.drawFlatCoordinatess_(h,0,a,c),this.endGeometry(e)}drawMultiPolygon(t,e){const i=this.state,n=i.fillStyle,o=i.strokeStyle;if(n===void 0&&o===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_FILL_STYLE,ae]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([tt.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ni,ri]);const a=t.getEndss(),h=t.getOrientedFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,_=a.length;f<_;++f)d=this.drawFlatCoordinatess_(h,d,a[f],c);this.endGeometry(e)}finish(){this.reverseHitDetectionInstructions(),this.state=null;const t=this.tolerance;if(t!==0){const e=this.coordinates;for(let i=0,n=e.length;i<n;++i)e[i]=nn(e[i],t)}return super.finish()}setFillStrokeStyles_(){const t=this.state;t.fillStyle!==void 0&&this.updateFillStyle(t,this.createFill),t.strokeStyle!==void 0&&this.updateStrokeStyle(t,this.applyStroke)}}const Ud=_E;function pE(r,t,e,i,n){const o=[];let a=e,h=0,c=t.slice(e,2);for(;h<r&&a+n<i;){const[d,f]=c.slice(-2),_=t[a+n],m=t[a+n+1],v=Math.sqrt((_-d)*(_-d)+(m-f)*(m-f));if(h+=v,h>=r){const y=(r-h+v)/v,E=_e(d,_,y),b=_e(f,m,y);c.push(E,b),o.push(c),c=[E,b],h==r&&(a+=n),h=0}else if(h<r)c.push(t[a+n],t[a+n+1]),a+=n;else{const y=v-h,E=_e(d,_,y/v),b=_e(f,m,y/v);c.push(E,b),o.push(c),c=[E,b],h=0,a+=n}}return h>0&&o.push(c),o}function mE(r,t,e,i,n){let o=e,a=e,h=0,c=0,d=e,f,_,m,v,y,E,b,S,w,T;for(_=e;_<i;_+=n){const P=t[_],M=t[_+1];y!==void 0&&(w=P-y,T=M-E,v=Math.sqrt(w*w+T*T),b!==void 0&&(c+=m,f=Math.acos((b*w+S*T)/(m*v)),f>r&&(c>h&&(h=c,o=d,a=_),c=0,d=_-n)),m=v,b=w,S=T),y=P,E=M}return c+=v,c>h?[d,_]:[o,a]}const Co={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1};class yE extends Gr{constructor(t,e,i,n){super(t,e,i,n),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[ae]={fillStyle:ae},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterImageWithText_=void 0}finish(){const t=super.finish();return t.textStates=this.textStates,t.fillStates=this.fillStates,t.strokeStates=this.strokeStates,t}drawText(t,e){const i=this.textFillState_,n=this.textStrokeState_,o=this.textState_;if(this.text_===""||!o||!i&&!n)return;const a=this.coordinates;let h=a.length;const c=t.getType();let d=null,f=t.getStride();if(o.placement==="line"&&(c=="LineString"||c=="MultiLineString"||c=="Polygon"||c=="MultiPolygon")){if(!se(this.getBufferedMaxExtent(),t.getExtent()))return;let _;if(d=t.getFlatCoordinates(),c=="LineString")_=[d.length];else if(c=="MultiLineString")_=t.getEnds();else if(c=="Polygon")_=t.getEnds().slice(0,1);else if(c=="MultiPolygon"){const E=t.getEndss();_=[];for(let b=0,S=E.length;b<S;++b)_.push(E[b][0])}this.beginGeometry(t,e);const m=o.repeat,v=m?void 0:o.textAlign;let y=0;for(let E=0,b=_.length;E<b;++E){let S;m?S=pE(m*this.resolution,d,y,_[E],f):S=[d.slice(y,_[E])];for(let w=0,T=S.length;w<T;++w){const P=S[w];let M=0,I=P.length;if(v==null){const z=mE(o.maxAngle,P,0,P.length,2);M=z[0],I=z[1]}for(let z=M;z<I;z+=f)a.push(P[z],P[z+1]);const D=a.length;y=_[E],this.drawChars_(h,D),h=D}}this.endGeometry(e)}else{let _=o.overflow?null:[];switch(c){case"Point":case"MultiPoint":d=t.getFlatCoordinates();break;case"LineString":d=t.getFlatMidpoint();break;case"Circle":d=t.getCenter();break;case"MultiLineString":d=t.getFlatMidpoints(),f=2;break;case"Polygon":d=t.getFlatInteriorPoint(),o.overflow||_.push(d[2]/this.resolution),f=3;break;case"MultiPolygon":const S=t.getFlatInteriorPoints();d=[];for(let w=0,T=S.length;w<T;w+=3)o.overflow||_.push(S[w+2]/this.resolution),d.push(S[w],S[w+1]);if(d.length===0)return;f=2;break}const m=this.appendFlatPointCoordinates(d,f);if(m===h)return;if(_&&(m-h)/2!==d.length/f){let S=h/2;_=_.filter((w,T)=>{const P=a[(S+T)*2]===d[T*f]&&a[(S+T)*2+1]===d[T*f+1];return P||--S,P})}this.saveTextStates_(),(o.backgroundFill||o.backgroundStroke)&&(this.setFillStrokeStyle(o.backgroundFill,o.backgroundStroke),o.backgroundFill&&this.updateFillStyle(this.state,this.createFill),o.backgroundStroke&&(this.updateStrokeStyle(this.state,this.applyStroke),this.hitDetectionInstructions.push(this.createStroke(this.state)))),this.beginGeometry(t,e);let v=o.padding;if(v!=sn&&(o.scale[0]<0||o.scale[1]<0)){let S=o.padding[0],w=o.padding[1],T=o.padding[2],P=o.padding[3];o.scale[0]<0&&(w=-w,P=-P),o.scale[1]<0&&(S=-S,T=-T),v=[S,w,T,P]}const y=this.pixelRatio;this.instructions.push([tt.DRAW_IMAGE,h,m,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,void 0,this.declutterImageWithText_,v==sn?sn:v.map(function(S){return S*y}),!!o.backgroundFill,!!o.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,_]);const E=1/y,b=this.state.fillStyle;o.backgroundFill&&(this.state.fillStyle=ae,this.hitDetectionInstructions.push(this.createFill(this.state))),this.hitDetectionInstructions.push([tt.DRAW_IMAGE,h,m,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[E,E],NaN,void 0,this.declutterImageWithText_,v,!!o.backgroundFill,!!o.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?ae:this.fillKey_,this.textOffsetX_,this.textOffsetY_,_]),o.backgroundFill&&(this.state.fillStyle=b,this.hitDetectionInstructions.push(this.createFill(this.state))),this.endGeometry(e)}}saveTextStates_(){const t=this.textStrokeState_,e=this.textState_,i=this.textFillState_,n=this.strokeKey_;t&&(n in this.strokeStates||(this.strokeStates[n]={strokeStyle:t.strokeStyle,lineCap:t.lineCap,lineDashOffset:t.lineDashOffset,lineWidth:t.lineWidth,lineJoin:t.lineJoin,miterLimit:t.miterLimit,lineDash:t.lineDash}));const o=this.textKey_;o in this.textStates||(this.textStates[o]={font:e.font,textAlign:e.textAlign||Pr,justify:e.justify,textBaseline:e.textBaseline||to,scale:e.scale});const a=this.fillKey_;i&&(a in this.fillStates||(this.fillStates[a]={fillStyle:i.fillStyle}))}drawChars_(t,e){const i=this.textStrokeState_,n=this.textState_,o=this.strokeKey_,a=this.textKey_,h=this.fillKey_;this.saveTextStates_();const c=this.pixelRatio,d=Co[n.textBaseline],f=this.textOffsetY_*c,_=this.text_,m=i?i.lineWidth*Math.abs(n.scale[0])/2:0;this.instructions.push([tt.DRAW_CHARS,t,e,d,n.overflow,h,n.maxAngle,c,f,o,m*c,_,a,1]),this.hitDetectionInstructions.push([tt.DRAW_CHARS,t,e,d,n.overflow,h&&ae,n.maxAngle,c,f,o,m*c,_,a,1/c])}setTextStyle(t,e){let i,n,o;if(!t)this.text_="";else{const a=t.getFill();a?(n=this.textFillState_,n||(n={},this.textFillState_=n),n.fillStyle=Ge(a.getColor()||ae)):(n=null,this.textFillState_=n);const h=t.getStroke();if(!h)o=null,this.textStrokeState_=o;else{o=this.textStrokeState_,o||(o={},this.textStrokeState_=o);const y=h.getLineDash(),E=h.getLineDashOffset(),b=h.getWidth(),S=h.getMiterLimit();o.lineCap=h.getLineCap()||Mn,o.lineDash=y?y.slice():ni,o.lineDashOffset=E===void 0?ri:E,o.lineJoin=h.getLineJoin()||In,o.lineWidth=b===void 0?kr:b,o.miterLimit=S===void 0?Cr:S,o.strokeStyle=Ge(h.getColor()||Sr)}i=this.textState_;const c=t.getFont()||Pu;_y(c);const d=t.getScaleArray();i.overflow=t.getOverflow(),i.font=c,i.maxAngle=t.getMaxAngle(),i.placement=t.getPlacement(),i.textAlign=t.getTextAlign(),i.repeat=t.getRepeat(),i.justify=t.getJustify(),i.textBaseline=t.getTextBaseline()||to,i.backgroundFill=t.getBackgroundFill(),i.backgroundStroke=t.getBackgroundStroke(),i.padding=t.getPadding()||sn,i.scale=d===void 0?[1,1]:d;const f=t.getOffsetX(),_=t.getOffsetY(),m=t.getRotateWithView(),v=t.getRotation();this.text_=t.getText()||"",this.textOffsetX_=f===void 0?0:f,this.textOffsetY_=_===void 0?0:_,this.textRotateWithView_=m===void 0?!1:m,this.textRotation_=v===void 0?0:v,this.strokeKey_=o?(typeof o.strokeStyle=="string"?o.strokeStyle:at(o.strokeStyle))+o.lineCap+o.lineDashOffset+"|"+o.lineWidth+o.lineJoin+o.miterLimit+"["+o.lineDash.join()+"]":"",this.textKey_=i.font+i.scale+(i.textAlign||"?")+(i.repeat||"?")+(i.justify||"?")+(i.textBaseline||"?"),this.fillKey_=n?typeof n.fillStyle=="string"?n.fillStyle:"|"+at(n.fillStyle):""}this.declutterImageWithText_=e}}const vE={Circle:Ud,Default:Gr,Image:dE,LineString:gE,Polygon:Ud,Text:yE};class xE{constructor(t,e,i,n){this.tolerance_=t,this.maxExtent_=e,this.pixelRatio_=n,this.resolution_=i,this.buildersByZIndex_={}}finish(){const t={};for(const e in this.buildersByZIndex_){t[e]=t[e]||{};const i=this.buildersByZIndex_[e];for(const n in i){const o=i[n].finish();t[e][n]=o}}return t}getBuilder(t,e){const i=t!==void 0?t.toString():"0";let n=this.buildersByZIndex_[i];n===void 0&&(n={},this.buildersByZIndex_[i]=n);let o=n[e];if(o===void 0){const a=vE[e];o=new a(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),n[e]=o}return o}}const Zd=xE;function EE(r,t,e,i,n,o,a,h,c,d,f,_){let m=r[t],v=r[t+1],y=0,E=0,b=0,S=0;function w(){y=m,E=v,t+=i,m=r[t],v=r[t+1],S+=b,b=Math.sqrt((m-y)*(m-y)+(v-E)*(v-E))}do w();while(t<e-i&&S+b<o);let T=b===0?0:(o-S)/b;const P=_e(y,m,T),M=_e(E,v,T),I=t-i,D=S,z=o+h*c(d,n,f);for(;t<e-i&&S+b<z;)w();T=b===0?0:(z-S)/b;const W=_e(y,m,T),K=_e(E,v,T);let Q;if(_){const H=[P,M,W,K];tu(H,0,4,2,_,H,H),Q=H[0]>H[2]}else Q=P>W;const q=Math.PI,ct=[],Et=I+i===t;t=I,b=0,S=D,m=r[t],v=r[t+1];let V;if(Et){w(),V=Math.atan2(v-E,m-y),Q&&(V+=V>0?-q:q);const H=(W+P)/2,Z=(K+M)/2;return ct[0]=[H,Z,(z-o)/2,V,n],ct}n=n.replace(/\n/g," ");for(let H=0,Z=n.length;H<Z;){w();let B=Math.atan2(v-E,m-y);if(Q&&(B+=B>0?-q:q),V!==void 0){let J=B-V;if(J+=J>q?-2*q:J<-q?2*q:0,Math.abs(J)>a)return null}V=B;const yt=H;let U=0;for(;H<Z;++H){const J=Q?Z-H-1:H,Y=h*c(d,n[J],f);if(t+i<e&&S+b<o+U+Y/2)break;U+=Y}if(H===yt)continue;const st=Q?n.substring(Z-yt,Z-H):n.substring(yt,H);T=b===0?0:(o+U/2-S)/b;const F=_e(y,m,T),Lt=_e(E,v,T);ct.push([F,Lt,U/2,B,st]),o+=U}return ct}const Vn=ge(),Ii=[],hi=[],ci=[],Ai=[];function jd(r){return r[3].declutterBox}const Wd=new RegExp("["+String.fromCharCode(1425)+"-"+String.fromCharCode(2303)+String.fromCharCode(64285)+"-"+String.fromCharCode(65023)+String.fromCharCode(65136)+"-"+String.fromCharCode(65276)+String.fromCharCode(67584)+"-"+String.fromCharCode(69631)+String.fromCharCode(124928)+"-"+String.fromCharCode(126975)+"]");function Gl(r,t){return t==="start"?t=Wd.test(r)?"right":"left":t==="end"&&(t=Wd.test(r)?"left":"right"),Co[t]}function wE(r,t,e){return e>0&&r.push(`
446
+ `,""),r.push(t,""),r}class LE{constructor(t,e,i,n){this.overlaps=i,this.pixelRatio=e,this.resolution=t,this.alignFill_,this.instructions=n.instructions,this.coordinates=n.coordinates,this.coordinateCache_={},this.renderedTransform_=Vt(),this.hitDetectionInstructions=n.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=n.fillStates||{},this.strokeStates=n.strokeStates||{},this.textStates=n.textStates||{},this.widths_={},this.labels_={}}createLabel(t,e,i,n){const o=t+e+i+n;if(this.labels_[o])return this.labels_[o];const a=n?this.strokeStates[n]:null,h=i?this.fillStates[i]:null,c=this.textStates[e],d=this.pixelRatio,f=[c.scale[0]*d,c.scale[1]*d],_=Array.isArray(t),m=c.justify?Co[c.justify]:Gl(Array.isArray(t)?t[0]:t,c.textAlign||Pr),v=n&&a.lineWidth?a.lineWidth:0,y=_?t:t.split(`
447
+ `).reduce(wE,[]),{width:E,height:b,widths:S,heights:w,lineWidths:T}=my(c,y),P=E+v,M=[],I=(P+2)*f[0],D=(b+v)*f[1],z={width:I<0?Math.floor(I):Math.ceil(I),height:D<0?Math.floor(D):Math.ceil(D),contextInstructions:M};(f[0]!=1||f[1]!=1)&&M.push("scale",f),n&&(M.push("strokeStyle",a.strokeStyle),M.push("lineWidth",v),M.push("lineCap",a.lineCap),M.push("lineJoin",a.lineJoin),M.push("miterLimit",a.miterLimit),M.push("setLineDash",[a.lineDash]),M.push("lineDashOffset",a.lineDashOffset)),i&&M.push("fillStyle",h.fillStyle),M.push("textBaseline","middle"),M.push("textAlign","center");const W=.5-m;let K=m*P+W*v;const Q=[],q=[];let ct=0,Et=0,V=0,H=0,Z;for(let B=0,yt=y.length;B<yt;B+=2){const U=y[B];if(U===`
448
+ `){Et+=ct,ct=0,K=m*P+W*v,++H;continue}const st=y[B+1]||c.font;st!==Z&&(n&&Q.push("font",st),i&&q.push("font",st),Z=st),ct=Math.max(ct,w[V]);const F=[U,K+W*S[V]+m*(S[V]-T[H]),.5*(v+ct)+Et];K+=S[V],n&&Q.push("strokeText",F),i&&q.push("fillText",F),++V}return Array.prototype.push.apply(M,Q),Array.prototype.push.apply(M,q),this.labels_[o]=z,z}replayTextBackground_(t,e,i,n,o,a,h){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,i),t.lineTo.apply(t,n),t.lineTo.apply(t,o),t.lineTo.apply(t,e),a&&(this.alignFill_=a[2],this.fill_(t)),h&&(this.setStrokeStyle_(t,h),t.stroke())}calculateImageOrLabelDimensions_(t,e,i,n,o,a,h,c,d,f,_,m,v,y,E,b){h*=m[0],c*=m[1];let S=i-h,w=n-c;const T=o+d>t?t-d:o,P=a+f>e?e-f:a,M=y[3]+T*m[0]+y[1],I=y[0]+P*m[1]+y[2],D=S-y[3],z=w-y[0];(E||_!==0)&&(Ii[0]=D,Ai[0]=D,Ii[1]=z,hi[1]=z,hi[0]=D+M,ci[0]=hi[0],ci[1]=z+I,Ai[1]=ci[1]);let W;return _!==0?(W=ze(Vt(),i,n,1,1,_,-i,-n),Ot(W,Ii),Ot(W,hi),Ot(W,ci),Ot(W,Ai),Ei(Math.min(Ii[0],hi[0],ci[0],Ai[0]),Math.min(Ii[1],hi[1],ci[1],Ai[1]),Math.max(Ii[0],hi[0],ci[0],Ai[0]),Math.max(Ii[1],hi[1],ci[1],Ai[1]),Vn)):Ei(Math.min(D,D+M),Math.min(z,z+I),Math.max(D,D+M),Math.max(z,z+I),Vn),v&&(S=Math.round(S),w=Math.round(w)),{drawImageX:S,drawImageY:w,drawImageW:T,drawImageH:P,originX:d,originY:f,declutterBox:{minX:Vn[0],minY:Vn[1],maxX:Vn[2],maxY:Vn[3],value:b},canvasTransform:W,scale:m}}replayImageOrLabel_(t,e,i,n,o,a,h){const c=!!(a||h),d=n.declutterBox,f=t.canvas,_=h?h[2]*n.scale[0]/2:0;return d.minX-_<=f.width/e&&d.maxX+_>=0&&d.minY-_<=f.height/e&&d.maxY+_>=0&&(c&&this.replayTextBackground_(t,Ii,hi,ci,Ai,a,h),yy(t,n.canvasTransform,o,i,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0}fill_(t){if(this.alignFill_){const e=Ot(this.renderedTransform_,[0,0]),i=512*this.pixelRatio;t.save(),t.translate(e[0]%i,e[1]%i),t.rotate(this.viewRotation_)}t.fill(),this.alignFill_&&t.restore()}setStrokeStyle_(t,e){t.strokeStyle=e[1],t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.lineDashOffset=e[7],t.setLineDash(e[6])}drawLabelWithPointPlacement_(t,e,i,n){const o=this.textStates[e],a=this.createLabel(t,e,n,i),h=this.strokeStates[i],c=this.pixelRatio,d=Gl(Array.isArray(t)?t[0]:t,o.textAlign||Pr),f=Co[o.textBaseline||to],_=h&&h.lineWidth?h.lineWidth:0,m=a.width/c-2*o.scale[0],v=d*m+2*(.5-d)*_,y=f*a.height/c+2*(.5-f)*_;return{label:a,anchorX:v,anchorY:y}}execute_(t,e,i,n,o,a,h,c){let d;this.pixelCoordinates_&&ei(i,this.renderedTransform_)?d=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),d=tn(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),Em(this.renderedTransform_,i));let f=0;const _=n.length;let m=0,v,y,E,b,S,w,T,P,M,I,D,z,W=0,K=0,Q=null,q=null;const ct=this.coordinateCache_,Et=this.viewRotation_,V=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,H={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:Et},Z=this.instructions!=n||this.overlaps?0:200;let B,yt,U,st;for(;f<_;){const F=n[f];switch(F[0]){case tt.BEGIN_GEOMETRY:B=F[1],st=F[3],B.getGeometry()?h!==void 0&&!se(h,st.getExtent())?f=F[2]+1:++f:f=F[2];break;case tt.BEGIN_PATH:W>Z&&(this.fill_(t),W=0),K>Z&&(t.stroke(),K=0),!W&&!K&&(t.beginPath(),b=NaN,S=NaN),++f;break;case tt.CIRCLE:m=F[1];const J=d[m],Y=d[m+1],nt=d[m+2],Ft=d[m+3],St=nt-J,ve=Ft-Y,je=Math.sqrt(St*St+ve*ve);t.moveTo(J+je,Y),t.arc(J,Y,je,0,2*Math.PI,!0),++f;break;case tt.CLOSE_PATH:t.closePath(),++f;break;case tt.CUSTOM:m=F[1],v=F[2];const Di=F[3],xe=F[4],Oi=F.length==6?F[5]:void 0;H.geometry=Di,H.feature=B,f in ct||(ct[f]=[]);const We=ct[f];Oi?Oi(d,m,v,2,We):(We[0]=d[m],We[1]=d[m+1],We.length=2),xe(We,H),++f;break;case tt.DRAW_IMAGE:m=F[1],v=F[2],P=F[3],y=F[4],E=F[5];let Fi=F[6];const Pe=F[7],zi=F[8],di=F[9],Xn=F[10];let fi=F[11];const hn=F[12];let Xt=F[13];const ie=F[14],me=F[15];if(!P&&F.length>=20){M=F[19],I=F[20],D=F[21],z=F[22];const ne=this.drawLabelWithPointPlacement_(M,I,D,z);P=ne.label,F[3]=P;const Zi=F[23];y=(ne.anchorX-Zi)*this.pixelRatio,F[4]=y;const he=F[24];E=(ne.anchorY-he)*this.pixelRatio,F[5]=E,Fi=P.height,F[6]=Fi,Xt=P.width,F[13]=Xt}let ke;F.length>25&&(ke=F[25]);let He,Ve,Re;F.length>17?(He=F[16],Ve=F[17],Re=F[18]):(He=sn,Ve=!1,Re=!1),Xn&&V?fi+=Et:!Xn&&!V&&(fi-=Et);let Ni=0;for(;m<v;m+=2){if(ke&&ke[Ni++]<Xt/this.pixelRatio)continue;const ne=this.calculateImageOrLabelDimensions_(P.width,P.height,d[m],d[m+1],Xt,Fi,y,E,zi,di,fi,hn,o,He,Ve||Re,B),Zi=[t,e,P,ne,Pe,Ve?Q:null,Re?q:null];if(c){if(ie==="none")continue;if(ie==="obstacle"){c.insert(ne.declutterBox);continue}else{let he,Me;if(me){const Yt=v-m;if(!me[Yt]){me[Yt]=Zi;continue}if(he=me[Yt],delete me[Yt],Me=jd(he),c.collides(Me))continue}if(c.collides(ne.declutterBox))continue;he&&(c.insert(Me),this.replayImageOrLabel_.apply(this,he)),c.insert(ne.declutterBox)}}this.replayImageOrLabel_.apply(this,Zi)}++f;break;case tt.DRAW_CHARS:const cn=F[1],Wt=F[2],Ur=F[3],So=F[4];z=F[5];const Zr=F[6],jr=F[7],Po=F[8];D=F[9];const gi=F[10];M=F[11],I=F[12];const ko=[F[13],F[13]],Wr=this.textStates[I],Bi=Wr.font,Gi=[Wr.scale[0]*jr,Wr.scale[1]*jr];let Ui;Bi in this.widths_?Ui=this.widths_[Bi]:(Ui={},this.widths_[Bi]=Ui);const Ro=zd(d,cn,Wt,2),Mo=Math.abs(Gi[0])*Ru(Bi,M,Ui);if(So||Mo<=Ro){const ne=this.textStates[I].textAlign,Zi=(Ro-Mo)*Gl(M,ne),he=EE(d,cn,Wt,2,M,Zi,Zr,Math.abs(Gi[0]),Ru,Bi,Ui,V?0:this.viewRotation_);t:if(he){const Me=[];let Yt,Yn,Kn,te,ce;if(D)for(Yt=0,Yn=he.length;Yt<Yn;++Yt){ce=he[Yt],Kn=ce[4],te=this.createLabel(Kn,I,"",D),y=ce[2]+(Gi[0]<0?-gi:gi),E=Ur*te.height+(.5-Ur)*2*gi*Gi[1]/Gi[0]-Po;const zt=this.calculateImageOrLabelDimensions_(te.width,te.height,ce[0],ce[1],te.width,te.height,y,E,0,0,ce[3],ko,!1,sn,!1,B);if(c&&c.collides(zt.declutterBox))break t;Me.push([t,e,te,zt,1,null,null])}if(z)for(Yt=0,Yn=he.length;Yt<Yn;++Yt){ce=he[Yt],Kn=ce[4],te=this.createLabel(Kn,I,z,""),y=ce[2],E=Ur*te.height-Po;const zt=this.calculateImageOrLabelDimensions_(te.width,te.height,ce[0],ce[1],te.width,te.height,y,E,0,0,ce[3],ko,!1,sn,!1,B);if(c&&c.collides(zt.declutterBox))break t;Me.push([t,e,te,zt,1,null,null])}c&&c.load(Me.map(jd));for(let zt=0,X=Me.length;zt<X;++zt)this.replayImageOrLabel_.apply(this,Me[zt])}}++f;break;case tt.END_GEOMETRY:if(a!==void 0){B=F[1];const ne=a(B,st);if(ne)return ne}++f;break;case tt.FILL:Z?W++:this.fill_(t),++f;break;case tt.MOVE_TO_LINE_TO:for(m=F[1],v=F[2],yt=d[m],U=d[m+1],w=yt+.5|0,T=U+.5|0,(w!==b||T!==S)&&(t.moveTo(yt,U),b=w,S=T),m+=2;m<v;m+=2)yt=d[m],U=d[m+1],w=yt+.5|0,T=U+.5|0,(m==v-2||w!==b||T!==S)&&(t.lineTo(yt,U),b=w,S=T);++f;break;case tt.SET_FILL_STYLE:Q=F,this.alignFill_=F[2],W&&(this.fill_(t),W=0,K&&(t.stroke(),K=0)),t.fillStyle=F[1],++f;break;case tt.SET_STROKE_STYLE:q=F,K&&(t.stroke(),K=0),this.setStrokeStyle_(t,F),++f;break;case tt.STROKE:Z?K++:t.stroke(),++f;break;default:++f;break}}W&&this.fill_(t),K&&t.stroke()}execute(t,e,i,n,o,a){this.viewRotation_=n,this.execute_(t,e,i,this.instructions,o,void 0,void 0,a)}executeHitDetection(t,e,i,n,o){return this.viewRotation_=i,this.execute_(t,1,e,this.hitDetectionInstructions,!0,n,o)}}const bE=LE,Ul=["Polygon","Circle","LineString","Image","Text","Default"];class TE{constructor(t,e,i,n,o,a){this.maxExtent_=t,this.overlaps_=n,this.pixelRatio_=i,this.resolution_=e,this.renderBuffer_=a,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=Vt(),this.createExecutors_(o)}clip(t,e){const i=this.getClipCoords(e);t.beginPath(),t.moveTo(i[0],i[1]),t.lineTo(i[2],i[3]),t.lineTo(i[4],i[5]),t.lineTo(i[6],i[7]),t.clip()}createExecutors_(t){for(const e in t){let i=this.executorsByZIndex_[e];i===void 0&&(i={},this.executorsByZIndex_[e]=i);const n=t[e];for(const o in n){const a=n[o];i[o]=new bE(this.resolution_,this.pixelRatio_,this.overlaps_,a)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const i=this.executorsByZIndex_[e];for(let n=0,o=t.length;n<o;++n)if(t[n]in i)return!0}return!1}forEachFeatureAtCoordinate(t,e,i,n,o,a){n=Math.round(n);const h=n*2+1,c=ze(this.hitDetectionTransform_,n+.5,n+.5,1/e,-1/e,-i,-t[0],-t[1]),d=!this.hitDetectionContext_;d&&(this.hitDetectionContext_=$t(h,h,void 0,{willReadFrequently:!0}));const f=this.hitDetectionContext_;f.canvas.width!==h||f.canvas.height!==h?(f.canvas.width=h,f.canvas.height=h):d||f.clearRect(0,0,h,h);let _;this.renderBuffer_!==void 0&&(_=ge(),vr(_,t),Ps(_,e*(this.renderBuffer_+n),_));const m=CE(n);let v;function y(M,I){const D=f.getImageData(0,0,h,h).data;for(let z=0,W=m.length;z<W;z++)if(D[m[z]]>0){if(!a||v!=="Image"&&v!=="Text"||a.includes(M)){const K=(m[z]-3)/4,Q=n-K%h,q=n-(K/h|0),ct=o(M,I,Q*Q+q*q);if(ct)return ct}f.clearRect(0,0,h,h);break}}const E=Object.keys(this.executorsByZIndex_).map(Number);E.sort(xi);let b,S,w,T,P;for(b=E.length-1;b>=0;--b){const M=E[b].toString();for(w=this.executorsByZIndex_[M],S=Ul.length-1;S>=0;--S)if(v=Ul[S],T=w[v],T!==void 0&&(P=T.executeHitDetection(f,c,i,y,_),P))return P}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const i=e[0],n=e[1],o=e[2],a=e[3],h=[i,n,i,a,o,a,o,n];return tn(h,0,8,2,t,h),h}isEmpty(){return bn(this.executorsByZIndex_)}execute(t,e,i,n,o,a,h){const c=Object.keys(this.executorsByZIndex_).map(Number);c.sort(xi),this.maxExtent_&&(t.save(),this.clip(t,i)),a=a||Ul;let d,f,_,m,v,y;for(h&&c.reverse(),d=0,f=c.length;d<f;++d){const E=c[d].toString();for(v=this.executorsByZIndex_[E],_=0,m=a.length;_<m;++_){const b=a[_];y=v[b],y!==void 0&&y.execute(t,e,i,n,o,h)}}this.maxExtent_&&t.restore()}}const Zl={};function CE(r){if(Zl[r]!==void 0)return Zl[r];const t=r*2+1,e=r*r,i=new Array(e+1);for(let o=0;o<=r;++o)for(let a=0;a<=r;++a){const h=o*o+a*a;if(h>e)break;let c=i[h];c||(c=[],i[h]=c),c.push(((r+o)*t+(r+a))*4+3),o>0&&c.push(((r-o)*t+(r+a))*4+3),a>0&&(c.push(((r+o)*t+(r-a))*4+3),o>0&&c.push(((r-o)*t+(r-a))*4+3))}const n=[];for(let o=0,a=i.length;o<a;++o)i[o]&&n.push(...i[o]);return Zl[r]=n,n}const Hd=TE;class SE extends Gd{constructor(t,e,i,n,o,a,h){super(),this.context_=t,this.pixelRatio_=e,this.extent_=i,this.transform_=n,this.transformRotation_=n?Pa(Math.atan2(n[1],n[0]),10):0,this.viewRotation_=o,this.squaredTolerance_=a,this.userTransform_=h,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=Vt()}drawImages_(t,e,i,n){if(!this.image_)return;const o=tn(t,e,i,n,this.transform_,this.pixelCoordinates_),a=this.context_,h=this.tmpLocalTransform_,c=a.globalAlpha;this.imageOpacity_!=1&&(a.globalAlpha=c*this.imageOpacity_);let d=this.imageRotation_;this.transformRotation_===0&&(d-=this.viewRotation_),this.imageRotateWithView_&&(d+=this.viewRotation_);for(let f=0,_=o.length;f<_;f+=2){const m=o[f]-this.imageAnchorX_,v=o[f+1]-this.imageAnchorY_;if(d!==0||this.imageScale_[0]!=1||this.imageScale_[1]!=1){const y=m+this.imageAnchorX_,E=v+this.imageAnchorY_;ze(h,y,E,1,1,d,-y,-E),a.save(),a.transform.apply(a,h),a.translate(y,E),a.scale(this.imageScale_[0],this.imageScale_[1]),a.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),a.restore()}else a.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,m,v,this.imageWidth_,this.imageHeight_)}this.imageOpacity_!=1&&(a.globalAlpha=c)}drawText_(t,e,i,n){if(!this.textState_||this.text_==="")return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);const o=tn(t,e,i,n,this.transform_,this.pixelCoordinates_),a=this.context_;let h=this.textRotation_;for(this.transformRotation_===0&&(h-=this.viewRotation_),this.textRotateWithView_&&(h+=this.viewRotation_);e<i;e+=n){const c=o[e]+this.textOffsetX_,d=o[e+1]+this.textOffsetY_;h!==0||this.textScale_[0]!=1||this.textScale_[1]!=1?(a.save(),a.translate(c-this.textOffsetX_,d-this.textOffsetY_),a.rotate(h),a.translate(this.textOffsetX_,this.textOffsetY_),a.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&a.strokeText(this.text_,0,0),this.textFillState_&&a.fillText(this.text_,0,0),a.restore()):(this.textStrokeState_&&a.strokeText(this.text_,c,d),this.textFillState_&&a.fillText(this.text_,c,d))}}moveToLineTo_(t,e,i,n,o){const a=this.context_,h=tn(t,e,i,n,this.transform_,this.pixelCoordinates_);a.moveTo(h[0],h[1]);let c=h.length;o&&(c-=2);for(let d=2;d<c;d+=2)a.lineTo(h[d],h[d+1]);return o&&a.closePath(),i}drawRings_(t,e,i,n){for(let o=0,a=i.length;o<a;++o)e=this.moveToLineTo_(t,e,i[o],n,!0);return e}drawCircle(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!se(this.extent_,t.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=Rm(t,this.transform_,this.pixelCoordinates_),i=e[2]-e[0],n=e[3]-e[1],o=Math.sqrt(i*i+n*n),a=this.context_;a.beginPath(),a.arc(e[0],e[1],o,0,2*Math.PI),this.fillState_&&a.fill(),this.strokeState_&&a.stroke()}this.text_!==""&&this.drawText_(t.getCenter(),0,2,2)}}setStyle(t){this.setFillStrokeStyle(t.getFill(),t.getStroke()),this.setImageStyle(t.getImage()),this.setTextStyle(t.getText())}setTransform(t){this.transform_=t}drawGeometry(t){switch(t.getType()){case"Point":this.drawPoint(t);break;case"LineString":this.drawLineString(t);break;case"Polygon":this.drawPolygon(t);break;case"MultiPoint":this.drawMultiPoint(t);break;case"MultiLineString":this.drawMultiLineString(t);break;case"MultiPolygon":this.drawMultiPolygon(t);break;case"GeometryCollection":this.drawGeometryCollection(t);break;case"Circle":this.drawCircle(t);break}}drawFeature(t,e){const i=e.getGeometryFunction()(t);i&&(this.setStyle(e),this.drawGeometry(i))}drawGeometryCollection(t){const e=t.getGeometriesArray();for(let i=0,n=e.length;i<n;++i)this.drawGeometry(e[i])}drawPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getFlatCoordinates(),i=t.getStride();this.image_&&this.drawImages_(e,0,e.length,i),this.text_!==""&&this.drawText_(e,0,e.length,i)}drawMultiPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getFlatCoordinates(),i=t.getStride();this.image_&&this.drawImages_(e,0,e.length,i),this.text_!==""&&this.drawText_(e,0,e.length,i)}drawLineString(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!se(this.extent_,t.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const e=this.context_,i=t.getFlatCoordinates();e.beginPath(),this.moveToLineTo_(i,0,i.length,t.getStride(),!1),e.stroke()}if(this.text_!==""){const e=t.getFlatMidpoint();this.drawText_(e,0,2,2)}}}drawMultiLineString(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getExtent();if(se(this.extent_,e)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const i=this.context_,n=t.getFlatCoordinates();let o=0;const a=t.getEnds(),h=t.getStride();i.beginPath();for(let c=0,d=a.length;c<d;++c)o=this.moveToLineTo_(n,o,a[c],h,!1);i.stroke()}if(this.text_!==""){const i=t.getFlatMidpoints();this.drawText_(i,0,i.length,2)}}}drawPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!se(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=this.context_;e.beginPath(),this.drawRings_(t.getOrientedFlatCoordinates(),0,t.getEnds(),t.getStride()),this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(this.text_!==""){const e=t.getFlatInteriorPoint();this.drawText_(e,0,2,2)}}}drawMultiPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!se(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=this.context_,i=t.getOrientedFlatCoordinates();let n=0;const o=t.getEndss(),a=t.getStride();e.beginPath();for(let h=0,c=o.length;h<c;++h){const d=o[h];n=this.drawRings_(i,n,d,a)}this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(this.text_!==""){const e=t.getFlatInteriorPoints();this.drawText_(e,0,e.length,2)}}}setContextFillState_(t){const e=this.context_,i=this.contextFillState_;i?i.fillStyle!=t.fillStyle&&(i.fillStyle=t.fillStyle,e.fillStyle=t.fillStyle):(e.fillStyle=t.fillStyle,this.contextFillState_={fillStyle:t.fillStyle})}setContextStrokeState_(t){const e=this.context_,i=this.contextStrokeState_;i?(i.lineCap!=t.lineCap&&(i.lineCap=t.lineCap,e.lineCap=t.lineCap),ei(i.lineDash,t.lineDash)||e.setLineDash(i.lineDash=t.lineDash),i.lineDashOffset!=t.lineDashOffset&&(i.lineDashOffset=t.lineDashOffset,e.lineDashOffset=t.lineDashOffset),i.lineJoin!=t.lineJoin&&(i.lineJoin=t.lineJoin,e.lineJoin=t.lineJoin),i.lineWidth!=t.lineWidth&&(i.lineWidth=t.lineWidth,e.lineWidth=t.lineWidth),i.miterLimit!=t.miterLimit&&(i.miterLimit=t.miterLimit,e.miterLimit=t.miterLimit),i.strokeStyle!=t.strokeStyle&&(i.strokeStyle=t.strokeStyle,e.strokeStyle=t.strokeStyle)):(e.lineCap=t.lineCap,e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset,e.lineJoin=t.lineJoin,e.lineWidth=t.lineWidth,e.miterLimit=t.miterLimit,e.strokeStyle=t.strokeStyle,this.contextStrokeState_={lineCap:t.lineCap,lineDash:t.lineDash,lineDashOffset:t.lineDashOffset,lineJoin:t.lineJoin,lineWidth:t.lineWidth,miterLimit:t.miterLimit,strokeStyle:t.strokeStyle})}setContextTextState_(t){const e=this.context_,i=this.contextTextState_,n=t.textAlign?t.textAlign:Pr;i?(i.font!=t.font&&(i.font=t.font,e.font=t.font),i.textAlign!=n&&(i.textAlign=n,e.textAlign=n),i.textBaseline!=t.textBaseline&&(i.textBaseline=t.textBaseline,e.textBaseline=t.textBaseline)):(e.font=t.font,e.textAlign=n,e.textBaseline=t.textBaseline,this.contextTextState_={font:t.font,textAlign:n,textBaseline:t.textBaseline})}setFillStrokeStyle(t,e){if(!t)this.fillState_=null;else{const i=t.getColor();this.fillState_={fillStyle:Ge(i||ae)}}if(!e)this.strokeState_=null;else{const i=e.getColor(),n=e.getLineCap(),o=e.getLineDash(),a=e.getLineDashOffset(),h=e.getLineJoin(),c=e.getWidth(),d=e.getMiterLimit(),f=o||ni;this.strokeState_={lineCap:n!==void 0?n:Mn,lineDash:this.pixelRatio_===1?f:f.map(_=>_*this.pixelRatio_),lineDashOffset:(a||ri)*this.pixelRatio_,lineJoin:h!==void 0?h:In,lineWidth:(c!==void 0?c:kr)*this.pixelRatio_,miterLimit:d!==void 0?d:Cr,strokeStyle:Ge(i||Sr)}}}setImageStyle(t){let e;if(!t||!(e=t.getSize())){this.image_=null;return}const i=t.getPixelRatio(this.pixelRatio_),n=t.getAnchor(),o=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=n[0]*i,this.imageAnchorY_=n[1]*i,this.imageHeight_=e[1]*i,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=o[0],this.imageOriginY_=o[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const a=t.getScaleArray();this.imageScale_=[a[0]*this.pixelRatio_/i,a[1]*this.pixelRatio_/i],this.imageWidth_=e[0]*i}setTextStyle(t){if(!t)this.text_="";else{const e=t.getFill();if(!e)this.textFillState_=null;else{const v=e.getColor();this.textFillState_={fillStyle:Ge(v||ae)}}const i=t.getStroke();if(!i)this.textStrokeState_=null;else{const v=i.getColor(),y=i.getLineCap(),E=i.getLineDash(),b=i.getLineDashOffset(),S=i.getLineJoin(),w=i.getWidth(),T=i.getMiterLimit();this.textStrokeState_={lineCap:y!==void 0?y:Mn,lineDash:E||ni,lineDashOffset:b||ri,lineJoin:S!==void 0?S:In,lineWidth:w!==void 0?w:kr,miterLimit:T!==void 0?T:Cr,strokeStyle:Ge(v||Sr)}}const n=t.getFont(),o=t.getOffsetX(),a=t.getOffsetY(),h=t.getRotateWithView(),c=t.getRotation(),d=t.getScaleArray(),f=t.getText(),_=t.getTextAlign(),m=t.getTextBaseline();this.textState_={font:n!==void 0?n:Pu,textAlign:_!==void 0?_:Pr,textBaseline:m!==void 0?m:to},this.text_=f!==void 0?Array.isArray(f)?f.reduce((v,y,E)=>v+=E%2?" ":y,""):f:"",this.textOffsetX_=o!==void 0?this.pixelRatio_*o:0,this.textOffsetY_=a!==void 0?this.pixelRatio_*a:0,this.textRotateWithView_=h!==void 0?h:!1,this.textRotation_=c!==void 0?c:0,this.textScale_=[this.pixelRatio_*d[0],this.pixelRatio_*d[1]]}}}const PE=SE,Ze=.5;function kE(r,t,e,i,n,o,a){const h=r[0]*Ze,c=r[1]*Ze,d=$t(h,c);d.imageSmoothingEnabled=!1;const f=d.canvas,_=new PE(d,Ze,n,null,a),m=e.length,v=Math.floor((256*256*256-1)/m),y={};for(let b=1;b<=m;++b){const S=e[b-1],w=S.getStyleFunction()||i;if(!w)continue;let T=w(S,o);if(!T)continue;Array.isArray(T)||(T=[T]);const M=(b*v).toString(16).padStart(7,"#00000");for(let I=0,D=T.length;I<D;++I){const z=T[I],W=z.getGeometryFunction()(S);if(!W||!se(n,W.getExtent()))continue;const K=z.clone(),Q=K.getFill();Q&&Q.setColor(M);const q=K.getStroke();q&&(q.setColor(M),q.setLineDash(null)),K.setText(void 0);const ct=z.getImage();if(ct){const Z=ct.getImageSize();if(!Z)continue;const B=$t(Z[0],Z[1],void 0,{alpha:!1}),yt=B.canvas;B.fillStyle=M,B.fillRect(0,0,yt.width,yt.height),K.setImage(new _l({img:yt,anchor:ct.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:ct.getOrigin(),opacity:1,size:ct.getSize(),scale:ct.getScale(),rotation:ct.getRotation(),rotateWithView:ct.getRotateWithView()}))}const Et=K.getZIndex()||0;let V=y[Et];V||(V={},y[Et]=V,V.Polygon=[],V.Circle=[],V.LineString=[],V.Point=[]);const H=W.getType();if(H==="GeometryCollection"){const Z=W.getGeometriesArrayRecursive();for(let B=0,yt=Z.length;B<yt;++B){const U=Z[B];V[U.getType().replace("Multi","")].push(U,K)}}else V[H.replace("Multi","")].push(W,K)}}const E=Object.keys(y).map(Number).sort(xi);for(let b=0,S=E.length;b<S;++b){const w=y[E[b]];for(const T in w){const P=w[T];for(let M=0,I=P.length;M<I;M+=2){_.setStyle(P[M+1]);for(let D=0,z=t.length;D<z;++D)_.setTransform(t[D]),_.drawGeometry(P[M])}}}return d.getImageData(0,0,f.width,f.height)}function RE(r,t,e){const i=[];if(e){const n=Math.floor(Math.round(r[0])*Ze),o=Math.floor(Math.round(r[1])*Ze),a=(It(n,0,e.width-1)+It(o,0,e.height-1)*e.width)*4,h=e.data[a],c=e.data[a+1],f=e.data[a+2]+256*(c+256*h),_=Math.floor((256*256*256-1)/t.length);f&&f%_===0&&i.push(t[f/_-1])}return i}const ME=.5,Vd={Point:GE,LineString:zE,Polygon:ZE,MultiPoint:UE,MultiLineString:NE,MultiPolygon:BE,GeometryCollection:FE,Circle:DE};function IE(r,t){return parseInt(at(r),10)-parseInt(at(t),10)}function AE(r,t){const e=jl(r,t);return e*e}function jl(r,t){return ME*r/t}function DE(r,t,e,i,n){const o=e.getFill(),a=e.getStroke();if(o||a){const c=r.getBuilder(e.getZIndex(),"Circle");c.setFillStrokeStyle(o,a),c.drawCircle(t,i)}const h=e.getText();if(h&&h.getText()){const c=(n||r).getBuilder(e.getZIndex(),"Text");c.setTextStyle(h),c.drawText(t,i)}}function Xd(r,t,e,i,n,o,a){let h=!1;const c=e.getImage();if(c){const d=c.getImageState();d==Ct.LOADED||d==Ct.ERROR?c.unlistenImageChange(n):(d==Ct.IDLE&&c.load(),c.listenImageChange(n),h=!0)}return OE(r,t,e,i,o,a),h}function OE(r,t,e,i,n,o){const a=e.getGeometryFunction()(t);if(!a)return;const h=a.simplifyTransformed(i,n);if(e.getRenderer())Yd(r,h,e,t);else{const d=Vd[h.getType()];d(r,h,e,t,o)}}function Yd(r,t,e,i){if(t.getType()=="GeometryCollection"){const o=t.getGeometries();for(let a=0,h=o.length;a<h;++a)Yd(r,o[a],e,i);return}r.getBuilder(e.getZIndex(),"Default").drawCustom(t,i,e.getRenderer(),e.getHitDetectionRenderer())}function FE(r,t,e,i,n){const o=t.getGeometriesArray();let a,h;for(a=0,h=o.length;a<h;++a){const c=Vd[o[a].getType()];c(r,o[a],e,i,n)}}function zE(r,t,e,i,n){const o=e.getStroke();if(o){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,o),h.drawLineString(t,i)}const a=e.getText();if(a&&a.getText()){const h=(n||r).getBuilder(e.getZIndex(),"Text");h.setTextStyle(a),h.drawText(t,i)}}function NE(r,t,e,i,n){const o=e.getStroke();if(o){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,o),h.drawMultiLineString(t,i)}const a=e.getText();if(a&&a.getText()){const h=(n||r).getBuilder(e.getZIndex(),"Text");h.setTextStyle(a),h.drawText(t,i)}}function BE(r,t,e,i,n){const o=e.getFill(),a=e.getStroke();if(a||o){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(o,a),c.drawMultiPolygon(t,i)}const h=e.getText();if(h&&h.getText()){const c=(n||r).getBuilder(e.getZIndex(),"Text");c.setTextStyle(h),c.drawText(t,i)}}function GE(r,t,e,i,n){const o=e.getImage(),a=e.getText();let h;if(o){if(o.getImageState()!=Ct.LOADED)return;let c=r;if(n){const f=o.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const _=r.getBuilder(e.getZIndex(),"Image");_.setImageStyle(o,h),_.drawPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(o,h),d.drawPoint(t,i)}if(a&&a.getText()){let c=r;n&&(c=n);const d=c.getBuilder(e.getZIndex(),"Text");d.setTextStyle(a,h),d.drawText(t,i)}}function UE(r,t,e,i,n){const o=e.getImage(),a=e.getText();let h;if(o){if(o.getImageState()!=Ct.LOADED)return;let c=r;if(n){const f=o.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const _=r.getBuilder(e.getZIndex(),"Image");_.setImageStyle(o,h),_.drawMultiPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(o,h),d.drawMultiPoint(t,i)}if(a&&a.getText()){let c=r;n&&(c=n);const d=c.getBuilder(e.getZIndex(),"Text");d.setTextStyle(a,h),d.drawText(t,i)}}function ZE(r,t,e,i,n){const o=e.getFill(),a=e.getStroke();if(o||a){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(o,a),c.drawPolygon(t,i)}const h=e.getText();if(h&&h.getText()){const c=(n||r).getBuilder(e.getZIndex(),"Text");c.setTextStyle(h),c.drawText(t,i)}}class jE extends Md{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=ge(),this.wrappedRenderedExtent_=ge(),this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedRenderOrder_=null,this.replayGroup_=null,this.replayGroupChanged=!0,this.declutterExecutorGroup=null,this.clipping=!0,this.compositionContext_=null,this.opacity_=1}renderWorlds(t,e,i){const n=e.extent,o=e.viewState,a=o.center,h=o.resolution,c=o.projection,d=o.rotation,f=c.getExtent(),_=this.getLayer().getSource(),m=e.pixelRatio,v=e.viewHints,y=!(v[Ut.ANIMATING]||v[Ut.INTERACTING]),E=this.compositionContext_,b=Math.round(e.size[0]*m),S=Math.round(e.size[1]*m),w=_.getWrapX()&&c.canWrapX(),T=w?Tt(f):null,P=w?Math.ceil((n[2]-f[2])/T)+1:1;let M=w?Math.floor((n[0]-f[0])/T):0;do{const I=this.getRenderTransform(a,h,d,m,b,S,M*T);t.execute(E,1,I,d,y,void 0,i)}while(++M<P)}setupCompositionContext_(){if(this.opacity_!==1){const t=$t(this.context.canvas.width,this.context.canvas.height,Rd);this.compositionContext_=t}else this.compositionContext_=this.context}releaseCompositionContext_(){if(this.opacity_!==1){const t=this.context.globalAlpha;this.context.globalAlpha=this.opacity_,this.context.drawImage(this.compositionContext_.canvas,0,0),this.context.globalAlpha=t,$s(this.compositionContext_),Rd.push(this.compositionContext_.canvas),this.compositionContext_=null}}renderDeclutter(t){this.declutterExecutorGroup&&(this.setupCompositionContext_(),this.renderWorlds(this.declutterExecutorGroup,t,t.declutterTree),this.releaseCompositionContext_())}renderFrame(t,e){const i=t.pixelRatio,n=t.layerStatesArray[t.layerIndex];wm(this.pixelTransform,1/i,1/i),Bs(this.inversePixelTransform,this.pixelTransform);const o=Qc(this.pixelTransform);this.useContainer(e,o,this.getBackground(t));const a=this.context,h=a.canvas,c=this.replayGroup_,d=this.declutterExecutorGroup;let f=c&&!c.isEmpty()||d&&!d.isEmpty();if(!f&&!(this.getLayer().hasListener(qt.PRERENDER)||this.getLayer().hasListener(qt.POSTRENDER)))return null;const _=Math.round(t.size[0]*i),m=Math.round(t.size[1]*i);h.width!=_||h.height!=m?(h.width=_,h.height=m,h.style.transform!==o&&(h.style.transform=o)):this.containerReused||a.clearRect(0,0,_,m),this.preRender(a,t);const v=t.viewState;v.projection,this.opacity_=n.opacity,this.setupCompositionContext_();let y=!1;if(f&&n.extent&&this.clipping){const E=Qi(n.extent);f=se(E,t.extent),y=f&&!Yi(E,t.extent),y&&this.clipUnrotated(this.compositionContext_,t,E)}return f&&this.renderWorlds(c,t),y&&this.compositionContext_.restore(),this.releaseCompositionContext_(),this.postRender(a,t),this.renderedRotation_!==v.rotation&&(this.renderedRotation_=v.rotation,this.hitDetectionImageData_=null),this.container}getFeatures(t){return new Promise(e=>{if(!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const i=[this.context.canvas.width,this.context.canvas.height];Ot(this.pixelTransform,i);const n=this.renderedCenter_,o=this.renderedResolution_,a=this.renderedRotation_,h=this.renderedProjection_,c=this.wrappedRenderedExtent_,d=this.getLayer(),f=[],_=i[0]*Ze,m=i[1]*Ze;f.push(this.getRenderTransform(n,o,a,Ze,_,m,0).slice());const v=d.getSource(),y=h.getExtent();if(v.getWrapX()&&h.canWrapX()&&!Yi(y,c)){let E=c[0];const b=Tt(y);let S=0,w;for(;E<y[0];)--S,w=b*S,f.push(this.getRenderTransform(n,o,a,Ze,_,m,w).slice()),E+=b;for(S=0,E=c[2];E>y[2];)++S,w=b*S,f.push(this.getRenderTransform(n,o,a,Ze,_,m,w).slice()),E-=b}this.hitDetectionImageData_=kE(i,f,this.renderedFeatures_,d.getStyleFunction(),c,o,a)}e(RE(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,i,n,o){if(!this.replayGroup_)return;const a=e.viewState.resolution,h=e.viewState.rotation,c=this.getLayer(),d={},f=function(v,y,E){const b=at(v),S=d[b];if(S){if(S!==!0&&E<S.distanceSq){if(E===0)return d[b]=!0,o.splice(o.lastIndexOf(S),1),n(v,c,y);S.geometry=y,S.distanceSq=E}}else{if(E===0)return d[b]=!0,n(v,c,y);o.push(d[b]={feature:v,layer:c,geometry:y,distanceSq:E,callback:n})}};let _;const m=[this.replayGroup_];return this.declutterExecutorGroup&&m.push(this.declutterExecutorGroup),m.some(v=>_=v.forEachFeatureAtCoordinate(t,a,h,i,f,v===this.declutterExecutorGroup&&e.declutterTree?e.declutterTree.all().map(y=>y.value):null)),_}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),i=e.getSource();if(!i)return!1;const n=t.viewHints[Ut.ANIMATING],o=t.viewHints[Ut.INTERACTING],a=e.getUpdateWhileAnimating(),h=e.getUpdateWhileInteracting();if(this.ready&&!a&&n||!h&&o)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const c=t.extent,d=t.viewState,f=d.projection,_=d.resolution,m=t.pixelRatio,v=e.getRevision(),y=e.getRenderBuffer();let E=e.getRenderOrder();E===void 0&&(E=IE);const b=d.center.slice(),S=Ps(c,y*_),w=S.slice(),T=[S.slice()],P=f.getExtent();if(i.getWrapX()&&f.canWrapX()&&!Yi(P,t.extent)){const V=Tt(P),H=Math.max(Tt(S)/2,V);S[0]=P[0]-H,S[2]=P[2]+H,Mc(b,f);const Z=Rc(T[0],f);Z[0]<P[0]&&Z[2]<P[2]?T.push([Z[0]+V,Z[1],Z[2]+V,Z[3]]):Z[0]>P[0]&&Z[2]>P[2]&&T.push([Z[0]-V,Z[1],Z[2]-V,Z[3]])}if(this.ready&&this.renderedResolution_==_&&this.renderedRevision_==v&&this.renderedRenderOrder_==E&&Yi(this.wrappedRenderedExtent_,S))return ei(this.renderedExtent_,w)||(this.hitDetectionImageData_=null,this.renderedExtent_=w),this.renderedCenter_=b,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const M=new Zd(jl(_,m),S,_,m);let I;this.getLayer().getDeclutter()&&(I=new Zd(jl(_,m),S,_,m));let D;for(let V=0,H=T.length;V<H;++V)i.loadFeatures(T[V],_,f);const z=AE(_,m);let W=!0;const K=V=>{let H;const Z=V.getStyleFunction()||e.getStyleFunction();if(Z&&(H=Z(V,_)),H){const B=this.renderFeature(V,z,H,M,D,I);W=W&&!B}},Q=Uc(S),q=i.getFeaturesInExtent(Q);E&&q.sort(E);for(let V=0,H=q.length;V<H;++V)K(q[V]);this.renderedFeatures_=q,this.ready=W;const ct=M.finish(),Et=new Hd(S,_,m,i.getOverlaps(),ct,e.getRenderBuffer());return I&&(this.declutterExecutorGroup=new Hd(S,_,m,i.getOverlaps(),I.finish(),e.getRenderBuffer())),this.renderedResolution_=_,this.renderedRevision_=v,this.renderedRenderOrder_=E,this.renderedExtent_=w,this.wrappedRenderedExtent_=S,this.renderedCenter_=b,this.renderedProjection_=f,this.replayGroup_=Et,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,i,n,o,a){if(!i)return!1;let h=!1;if(Array.isArray(i))for(let c=0,d=i.length;c<d;++c)h=Xd(n,t,i[c],e,this.boundHandleStyleImageChange_,o,a)||h;else h=Xd(n,t,i,e,this.boundHandleStyleImageChange_,o,a);return h}}const WE=jE;class HE extends xl{constructor(t){super(t)}createRenderer(){return new WE(this)}}const Kd=HE,Qt={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class VE extends be{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=t.insertFirst!==void 0?t.insertFirst:!0,this.stopEvent=t.stopEvent!==void 0?t.stopEvent:!0,this.element=document.createElement("div"),this.element.className=t.className!==void 0?t.className:"ol-overlay-container "+cy,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=t.autoPan===!0?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(Qt.ELEMENT,this.handleElementChanged),this.addChangeListener(Qt.MAP,this.handleMapChanged),this.addChangeListener(Qt.OFFSET,this.handleOffsetChanged),this.addChangeListener(Qt.POSITION,this.handlePositionChanged),this.addChangeListener(Qt.POSITIONING,this.handlePositioningChanged),t.element!==void 0&&this.setElement(t.element),this.setOffset(t.offset!==void 0?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),t.position!==void 0&&this.setPosition(t.position)}getElement(){return this.get(Qt.ELEMENT)}getId(){return this.id}getMap(){return this.get(Qt.MAP)||null}getOffset(){return this.get(Qt.OFFSET)}getPosition(){return this.get(Qt.POSITION)}getPositioning(){return this.get(Qt.POSITIONING)}handleElementChanged(){Su(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(Qs(this.element),wt(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=ht(t,oi.POSTRENDER,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(Qt.ELEMENT,t)}setMap(t){this.set(Qt.MAP,t)}setOffset(t){this.set(Qt.OFFSET,t)}setPosition(t){this.set(Qt.POSITION,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(Qt.POSITION))return;const i=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),o=this.getRect(n,[dy(n),fy(n)]);t=t||{};const a=t.margin===void 0?20:t.margin;if(!Yi(i,o)){const h=o[0]-i[0],c=i[2]-o[2],d=o[1]-i[1],f=i[3]-o[3],_=[0,0];if(h<0?_[0]=h-a:c<0&&(_[0]=Math.abs(c)+a),d<0?_[1]=d-a:f<0&&(_[1]=Math.abs(f)+a),_[0]!==0||_[1]!==0){const m=e.getView().getCenterInternal(),v=e.getPixelFromCoordinateInternal(m);if(!v)return;const y=[v[0]+_[0],v[1]+_[1]],E=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(y),duration:E.duration,easing:E.easing})}}}getRect(t,e){const i=t.getBoundingClientRect(),n=i.left+window.pageXOffset,o=i.top+window.pageYOffset;return[n,o,n+e[0],o+e[1]]}setPositioning(t){this.set(Qt.POSITIONING,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e){this.setVisible(!1);return}const i=t.getPixelFromCoordinate(e),n=t.getSize();this.updateRenderedPosition(i,n)}updateRenderedPosition(t,e){const i=this.element.style,n=this.getOffset(),o=this.getPositioning();this.setVisible(!0);const a=Math.round(t[0]+n[0])+"px",h=Math.round(t[1]+n[1])+"px";let c="0%",d="0%";o=="bottom-right"||o=="center-right"||o=="top-right"?c="-100%":(o=="bottom-center"||o=="center-center"||o=="top-center")&&(c="-50%"),o=="bottom-left"||o=="bottom-center"||o=="bottom-right"?d="-100%":(o=="center-left"||o=="center-center"||o=="center-right")&&(d="-50%");const f=`translate(${c}, ${d}) translate(${a}, ${h})`;this.rendered.transform_!=f&&(this.rendered.transform_=f,i.transform=f)}getOptions(){return this.options}}const XE=VE,qd=["fullscreenchange","webkitfullscreenchange","MSFullscreenChange"],$d={ENTERFULLSCREEN:"enterfullscreen",LEAVEFULLSCREEN:"leavefullscreen"};class YE extends ro{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target}),this.on,this.once,this.un,this.keys_=t.keys!==void 0?t.keys:!1,this.source_=t.source,this.isInFullscreen_=!1,this.boundHandleMapTargetChange_=this.handleMapTargetChange_.bind(this),this.cssClassName_=t.className!==void 0?t.className:"ol-full-screen",this.documentListeners_=[],this.activeClassName_=t.activeClassName!==void 0?t.activeClassName.split(" "):[this.cssClassName_+"-true"],this.inactiveClassName_=t.inactiveClassName!==void 0?t.inactiveClassName.split(" "):[this.cssClassName_+"-false"];const e=t.label!==void 0?t.label:"⤢";this.labelNode_=typeof e=="string"?document.createTextNode(e):e;const i=t.labelActive!==void 0?t.labelActive:"×";this.labelActiveNode_=typeof i=="string"?document.createTextNode(i):i;const n=t.tipLabel?t.tipLabel:"Toggle full-screen";this.button_=document.createElement("button"),this.button_.title=n,this.button_.setAttribute("type","button"),this.button_.appendChild(this.labelNode_),this.button_.addEventListener(rt.CLICK,this.handleClick_.bind(this),!1),this.setClassName_(this.button_,this.isInFullscreen_),this.element.className=`${this.cssClassName_} ${Tr} ${qs}`,this.element.appendChild(this.button_)}handleClick_(t){t.preventDefault(),this.handleFullScreen_()}handleFullScreen_(){const t=this.getMap();if(!t)return;const e=t.getOwnerDocument();if(Jd(e))if(Qd(e))qE(e);else{let i;this.source_?i=typeof this.source_=="string"?e.getElementById(this.source_):this.source_:i=t.getTargetElement(),this.keys_?KE(i):tf(i)}}handleFullScreenChange_(){const t=this.getMap();if(!t)return;const e=this.isInFullscreen_;this.isInFullscreen_=Qd(t.getOwnerDocument()),e!==this.isInFullscreen_&&(this.setClassName_(this.button_,this.isInFullscreen_),this.isInFullscreen_?(Js(this.labelActiveNode_,this.labelNode_),this.dispatchEvent($d.ENTERFULLSCREEN)):(Js(this.labelNode_,this.labelActiveNode_),this.dispatchEvent($d.LEAVEFULLSCREEN)),t.updateSize())}setClassName_(t,e){e?(t.classList.remove(...this.inactiveClassName_),t.classList.add(...this.activeClassName_)):(t.classList.remove(...this.activeClassName_),t.classList.add(...this.inactiveClassName_))}setMap(t){const e=this.getMap();e&&e.removeChangeListener(jt.TARGET,this.boundHandleMapTargetChange_),super.setMap(t),this.handleMapTargetChange_(),t&&t.addChangeListener(jt.TARGET,this.boundHandleMapTargetChange_)}handleMapTargetChange_(){const t=this.documentListeners_;for(let i=0,n=t.length;i<n;++i)wt(t[i]);t.length=0;const e=this.getMap();if(e){const i=e.getOwnerDocument();Jd(i)?this.element.classList.remove(Lu):this.element.classList.add(Lu);for(let n=0,o=qd.length;n<o;++n)t.push(ht(i,qd[n],this.handleFullScreenChange_,this));this.handleFullScreenChange_()}}}function Jd(r){const t=r.body;return!!(t.webkitRequestFullscreen||t.requestFullscreen&&r.fullscreenEnabled)}function Qd(r){return!!(r.webkitIsFullScreen||r.fullscreenElement)}function tf(r){r.requestFullscreen?r.requestFullscreen():r.webkitRequestFullscreen&&r.webkitRequestFullscreen()}function KE(r){r.webkitRequestFullscreen?r.webkitRequestFullscreen():tf(r)}function qE(r){r.exitFullscreen?r.exitFullscreen():r.webkitExitFullscreen&&r.webkitExitFullscreen()}const $E=YE,JE=G.defineComponent({name:"MapHeat",props:{coords:Object,loadMapa:Object,typeMap:String,abrirCerrarLoader:Function,onClickMarket:Function,configurationMap:{default:()=>({strokeColor:"#f47521",copyright:"&copy; 2021 Desarrollado por UTIC - Ministerio Público",height:"250px",maxZoom:20,iconMarker:{iconUrl:"/image/gmap01.png",iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})}},data:()=>({radius:10,blur:20,zoom:5,type:"0",olMap:null,heatLayer:null,pointLayer:null,countryLayer:null,overlay:null,showSetting:!1,cantidad:0}),watch:{radius(r){this.setRadius(r)},blur(r){this.setBlur(r)},coords(r){this.cantidad=r.features.length,this.updateSource(r),this.updatePointSource(r)},loadMapa(r){this.changeCountryLayer(r)},typeMap(r){this.changeTypeMap(r)},type(r){this.changeTypeMap(r)}},methods:{changeTypeMap(r){r==="0"?(this.heatLayer.setVisible(!0),this.pointLayer.setVisible(!1),this.olMap.removeEventListener("click",this.onClickListener)):(this.heatLayer.setVisible(!1),this.pointLayer.setVisible(!0),this.initClick())},initMap(){const r=`<span class='map-copyright-text' >${this.configurationMap.copyright}</span>`,t=new On({stroke:new ao({color:this.configurationMap.strokeColor,width:3}),text:new Vu({font:"12px Roboto",fill:new oo({color:"#000"}),stroke:new ao({color:"#fff",width:1})})});this.countryLayer=new Kd({source:new yo({url:`${this.loadMapa.data}`,format:new bo}),style:function(i){return t.getText().setText(i.get("name")),t}}),this.heatLayer=new e0({source:new yo({features:[]}),visible:!1,radius:10,blur:25});try{this.pointLayer=this.configurationMap?new Kd({source:new yo({features:[]}),visible:!1,style:i=>{var a,h;return new On({image:new _l({opacity:1,src:(h=(a=this.configurationMap)==null?void 0:a.iconMarker)==null?void 0:h.iconUrl,scale:.45}),zIndex:1})}}):void 0}catch(i){console.log(i)}this.olMap=new xv({controls:Iu({attribution:!1}).extend([new $E({tipLabel:"Pantalla completa"})]).extend([new Mu({collapsible:!1})]),layers:[new I0({source:new b0({attributions:r})}),this.countryLayer,this.heatLayer,this.pointLayer],target:this.$refs["map-root"],view:new Ne({center:[0,0],zoom:this.zoom})});const e=Bc([this.loadMapa.lng,this.loadMapa.lat]);this.olMap.getView().adjustCenter(e),this.fitMap()},initClick(){const r=document.getElementById("popup"),t=document.getElementById("popup-closer");this.overlay=new XE({element:r,autoPan:!0}),this.olMap.addOverlay(this.overlay),t.onclick=()=>this.closeOverlay(),this.olMap.addEventListener("click",this.onClickListener)},closeOverlay(){const r=document.getElementById("popup-closer");return this.overlay.setPosition(void 0),r.blur(),!1},async onClickListener(r){const t=document.getElementById("popup-content"),e=document.getElementById("popup-closer");if(this.olMap.hasFeatureAtPixel(r.pixel)===!0){const i=this.olMap.getFeaturesAtPixel(r.pixel)[0];if(i.getGeometry().getType()==="Point"){const o=this.olMap.getFeaturesAtPixel(r.pixel)[0].getProperties(),a=r.coordinate;this.abrirCerrarLoader&&this.abrirCerrarLoader(!0);try{this.abrirCerrarLoader&&this.abrirCerrarLoader(!1);let h="";this.onClickMarket&&(h=await this.onClickMarket(o)),t.innerHTML=h;const c=this.olMap.getView(),d=i.getGeometry().getExtent(),f=c.getCenter(),_=c.getZoom();c.fit(d,{padding:[325,75,0,75],maxZoom:_});const m=c.getCenter();c.setCenter(f),c.animate({center:m})}catch{this.abrirCerrarLoader&&this.abrirCerrarLoader(!1)}this.overlay.setPosition(a)}}else this.overlay.setPosition(void 0),e.blur()},updateSource(r){if(r&&r.features.length===0){this.heatLayer.getSource().clear();return}if(r){const t=this.heatLayer.getSource(),e=new bo({featureProjection:"EPSG:3857"}).readFeatures(r);t.clear(),t.addFeatures(e)}},updatePointSource(r){if(r&&r.features.length===0){this.pointLayer.getSource().clear();return}if(r){const t=this.pointLayer.getSource(),e=new bo({featureProjection:"EPSG:3857"}).readFeatures(r);t.clear(),t.addFeatures(e)}},async changeCountryLayer(r){if(this.countryLayer){const e=new yo({url:`${r.data}`,format:new bo});await this.countryLayer.setSource(e)}},fitMap(){this.countryLayer.addEventListener("change",this.countryFunction)},countryFunction(r){const t=this.olMap.getView();if(r.target.getSource().getFeatures()[0]){const i=r.target.getSource().getExtent(),n=t.getZoom(),o=t.getCenter();t.fit(i,{padding:[75,75,75,75],maxZoom:6});const a=t.getZoom(),h=t.getCenter();t.setCenter(o),t.setZoom(n),t.animate({center:h}),t.animate({zoom:a})}},setRadius(r){this.heatLayer.setRadius(parseInt(r,10))},setBlur(r){this.heatLayer.setBlur(parseInt(r,10))},irACiudad(){if(this.loadMapa&&this.loadMapa.country!=="Bolivia"){const r=this.olMap.getView(),t=r.getZoom(),e=r.getCenter();r.setCenter(Bc([this.loadMapa.lng,this.loadMapa.lat]));const i=13,n=r.getCenter();r.setCenter(e),r.setZoom(t),r.animate({center:n}),r.animate({zoom:i})}},toggleSettings(){this.showSetting=!this.showSetting}},mounted(){this.countryLayer=this.loadMapa,this.initMap()},beforeDestroy(){this.countryLayer.removeEventListener("change",this.countryFunction),this.olMap.removeEventListener("click",this.onClickListener)}}),zL="",NL="",ui=r=>(G.pushScopeId("data-v-82f96ae5"),r=r(),G.popScopeId(),r),QE={ref:"map-root",style:{width:"100%",height:"100%",position:"relative"}},tw={class:"btn-zoom-container ol-control"},ew=[ui(()=>G.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[G.createElementVNode("path",{d:"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224v114.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288h114.8l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"})],-1))],iw={class:"type-map-container ol-control"},nw=[ui(()=>G.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[G.createElementVNode("path",{d:"M215.7 499.2C267 435 384 279.4 384 192 384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2 12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"})],-1))],rw=[ui(()=>G.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[G.createElementVNode("path",{d:"m153.6 29.9 16-21.3c4-5.4 10.4-8.6 17.1-8.6C198.4 0 208 9.6 208 21.3v22.2c0 13.1 5.4 25.7 14.9 34.7l84.7 80.8c48.8 46.6 76.4 111.2 76.4 178.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6 12.5 0 22.6 10.1 22.6 22.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7 0-27.7 9-54.8 25.6-76.9z"})],-1))],sw={class:"btn-settings ol-control"},ow=[ui(()=>G.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[G.createElementVNode("path",{d:"M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6 4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2 5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8 8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"})],-1))],aw={class:"control-container"},lw={class:"map-flex"},hw=ui(()=>G.createElementVNode("label",null,"Tamaño del radio",-1)),cw={class:"map-flex"},uw=ui(()=>G.createElementVNode("label",null,"Difuminado",-1)),dw={class:"cant-casos ol-attribution ol-unselectable ol-control ol-uncollapsible"},fw={class:"text-cantidad"},gw=ui(()=>G.createElementVNode("span",{class:"ol-bold"},"Casos: ",-1)),_w={id:"popup",class:"ol-popup"},pw=[ui(()=>G.createElementVNode("a",{id:"popup-closer",class:"ol-popup-closer"},null,-1)),ui(()=>G.createElementVNode("div",{id:"popup-content"},null,-1))];function mw(r,t,e,i,n,o){var a;return G.openBlock(),G.createElementBlock("div",{class:"map-container",style:G.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[G.createElementVNode("div",QE,[G.withDirectives(G.createElementVNode("div",tw,[G.createElementVNode("button",{title:"Ir a la ciudad",class:"jl2-button-map",onClick:t[0]||(t[0]=(...h)=>r.irACiudad&&r.irACiudad(...h))},ew)],512),[[G.vShow,r.loadMapa.country!=="Bolivia"]]),G.createElementVNode("div",iw,[G.createElementVNode("button",{title:"Mapa con Marcador",class:G.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="1"}]),onClick:t[1]||(t[1]=()=>r.type="1")},nw,2),G.createElementVNode("button",{title:"Mapa de Calor",class:G.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="0"}]),onClick:t[2]||(t[2]=()=>r.type="0")},rw,2)]),G.withDirectives(G.createElementVNode("div",sw,[G.createElementVNode("button",{title:"Ver Opciones",class:"jl2-button-map",onClick:t[3]||(t[3]=(...h)=>r.toggleSettings&&r.toggleSettings(...h))},ow)],512),[[G.vShow,!r.showSetting&&r.type==="0"]]),G.withDirectives(G.createElementVNode("div",aw,[G.createElementVNode("a",{onClick:t[4]||(t[4]=(...h)=>r.toggleSettings&&r.toggleSettings(...h)),class:"ol-popup-closer"}),G.createElementVNode("div",lw,[hw,G.withDirectives(G.createElementVNode("input",{id:"radius",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[5]||(t[5]=h=>r.radius=h)},null,512),[[G.vModelText,r.radius]])]),G.createElementVNode("div",cw,[uw,G.withDirectives(G.createElementVNode("input",{id:"blur",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[6]||(t[6]=h=>r.blur=h)},null,512),[[G.vModelText,r.blur]])])],512),[[G.vShow,r.type==="0"&&r.showSetting]]),G.createElementVNode("div",dw,[G.createElementVNode("p",fw,[gw,G.createTextVNode(G.toDisplayString(r.cantidad),1)])])],512),G.withDirectives(G.createElementVNode("div",_w,pw,512),[[G.vShow,r.type==="1"]])],4)}const yw=ra(JE,[["render",mw],["__scopeId","data-v-82f96ae5"]]);de.CoordinatesVerifyPolygon=Gg,de.MapHeatComponent=yw,de.MapSearchAddress=Tp,de.MapView=Lp,de.listenServiceGoogleMaps=rg,de.searchAutomaticGoogleMaps=og,de.searchManualGoogleMaps=sg,Object.defineProperty(de,Symbol.toStringTag,{value:"Module"})});