vue-geojson-view-ts 1.3.18 → 1.3.20

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,7 +1,7 @@
1
- (function(ye,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],U):(ye=typeof globalThis<"u"?globalThis:ye||self,U(ye.vueGeojsonViewTs={},ye.Vue))})(this,function(ye,U){"use strict";var ri=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function Wh(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 Hh={exports:{}};function Pg(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 ya={exports:{}};const kg=Wh(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()})(ri,function(){var e=e||function(i,n){var s;if(typeof window<"u"&&window.crypto&&(s=window.crypto),typeof self<"u"&&self.crypto&&(s=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(s=globalThis.crypto),!s&&typeof window<"u"&&window.msCrypto&&(s=window.msCrypto),!s&&typeof ri<"u"&&ri.crypto&&(s=ri.crypto),!s&&typeof Pg=="function")try{s=kg}catch{}var a=function(){if(s){if(typeof s.getRandomValues=="function")try{return s.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof s.randomBytes=="function")try{return s.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(b){var C;return w.prototype=b,C=new w,w.prototype=null,C}}(),c={},d=c.lib={},f=d.Base=function(){return{extend:function(w){var b=h(this);return w&&b.mixIn(w),(!b.hasOwnProperty("init")||this.init===b.init)&&(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var w=this.extend();return w.init.apply(w,arguments),w},init:function(){},mixIn:function(w){for(var b in w)w.hasOwnProperty(b)&&(this[b]=w[b]);w.hasOwnProperty("toString")&&(this.toString=w.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),p=d.WordArray=f.extend({init:function(w,b){w=this.words=w||[],b!=n?this.sigBytes=b:this.sigBytes=w.length*4},toString:function(w){return(w||y).stringify(this)},concat:function(w){var b=this.words,C=w.words,P=this.sigBytes,R=w.sigBytes;if(this.clamp(),P%4)for(var D=0;D<R;D++){var O=C[D>>>2]>>>24-D%4*8&255;b[P+D>>>2]|=O<<24-(P+D)%4*8}else for(var G=0;G<R;G+=4)b[P+G>>>2]=C[G>>>2];return this.sigBytes+=R,this},clamp:function(){var w=this.words,b=this.sigBytes;w[b>>>2]&=4294967295<<32-b%4*8,w.length=i.ceil(b/4)},clone:function(){var w=f.clone.call(this);return w.words=this.words.slice(0),w},random:function(w){for(var b=[],C=0;C<w;C+=4)b.push(a());return new p.init(b,w)}}),_=c.enc={},y=_.Hex={stringify:function(w){for(var b=w.words,C=w.sigBytes,P=[],R=0;R<C;R++){var D=b[R>>>2]>>>24-R%4*8&255;P.push((D>>>4).toString(16)),P.push((D&15).toString(16))}return P.join("")},parse:function(w){for(var b=w.length,C=[],P=0;P<b;P+=2)C[P>>>3]|=parseInt(w.substr(P,2),16)<<24-P%8*4;return new p.init(C,b/2)}},v=_.Latin1={stringify:function(w){for(var b=w.words,C=w.sigBytes,P=[],R=0;R<C;R++){var D=b[R>>>2]>>>24-R%4*8&255;P.push(String.fromCharCode(D))}return P.join("")},parse:function(w){for(var b=w.length,C=[],P=0;P<b;P++)C[P>>>2]|=(w.charCodeAt(P)&255)<<24-P%4*8;return new p.init(C,b)}},E=_.Utf8={stringify:function(w){try{return decodeURIComponent(escape(v.stringify(w)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(w){return v.parse(unescape(encodeURIComponent(w)))}},T=d.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new p.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 b,C=this._data,P=C.words,R=C.sigBytes,D=this.blockSize,O=D*4,G=R/O;w?G=i.ceil(G):G=i.max((G|0)-this._minBufferSize,0);var X=G*D,Y=i.min(X*4,R);if(X){for(var q=0;q<X;q+=D)this._doProcessBlock(P,q);b=P.splice(0,X),C.sigBytes-=Y}return new p.init(b,Y)},clone:function(){var w=f.clone.call(this);return w._data=this._data.clone(),w},_minBufferSize:0});d.Hasher=T.extend({cfg:f.extend(),init:function(w){this.cfg=this.cfg.extend(w),this.reset()},reset:function(){T.reset.call(this),this._doReset()},update:function(w){return this._append(w),this._process(),this},finalize:function(w){w&&this._append(w);var b=this._doFinalize();return b},blockSize:16,_createHelper:function(w){return function(b,C){return new w.init(C).finalize(b)}},_createHmacHelper:function(w){return function(b,C){return new M.HMAC.init(w,C).finalize(b)}}});var M=c.algo={};return c}(Math);return e})}(ya)),ya.exports}(function(r,t){(function(e,i){r.exports=i(Xh())})(ri,function(e){return function(){var i=e,n=i.lib,s=n.WordArray,a=i.enc;a.Base64={stringify:function(c){var d=c.words,f=c.sigBytes,p=this._map;c.clamp();for(var _=[],y=0;y<f;y+=3)for(var v=d[y>>>2]>>>24-y%4*8&255,E=d[y+1>>>2]>>>24-(y+1)%4*8&255,T=d[y+2>>>2]>>>24-(y+2)%4*8&255,M=v<<16|E<<8|T,w=0;w<4&&y+w*.75<f;w++)_.push(p.charAt(M>>>6*(3-w)&63));var b=p.charAt(64);if(b)for(;_.length%4;)_.push(b);return _.join("")},parse:function(c){var d=c.length,f=this._map,p=this._reverseMap;if(!p){p=this._reverseMap=[];for(var _=0;_<f.length;_++)p[f.charCodeAt(_)]=_}var y=f.charAt(64);if(y){var v=c.indexOf(y);v!==-1&&(d=v)}return h(c,d,p)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function h(c,d,f){for(var p=[],_=0,y=0;y<d;y++)if(y%4){var v=f[c.charCodeAt(y-1)]<<y%4*2,E=f[c.charCodeAt(y)]>>>6-y%4*2,T=v|E;p[_>>>2]|=T<<24-_%4*8,_++}return s.create(p,_)}}(),e.enc.Base64})})(Hh);var Rg=Hh.exports;const va=Zh(Rg);var Yh={exports:{}};(function(r,t){(function(e,i){r.exports=i(Xh())})(ri,function(e){return e.enc.Utf8})})(Yh);var Ag=Yh.exports;const Kh=Zh(Ag),Ig=(r,t)=>{localStorage.setItem(r,va.stringify(Kh.parse(t)))},xs=r=>{const t=localStorage.getItem(r);return t?va.parse(t).toString(Kh):null},qh=r=>{const t=localStorage.getItem(r);return t?va.parse(t):null},ws=r=>{localStorage.removeItem(r)};function Dg(){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 Og(r){r&&r.remove()}const Fg=()=>{const t=window.location.href.split("?")[1],e=new URLSearchParams(t),i=Object.fromEntries(e.entries());if(i.coordinates){const n=Dg();setTimeout(function(){Ig("coordinates",i.coordinates.replace("#/",""))},4e3),setTimeout(function(){window.close(),Og(n)},5e3)}},zg=async()=>{window.open("https://www.google.com/maps/?hl=es","Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),ws("coordinates"),ws("closePopup");var r=!1;const t=setInterval(function(){let n=xs("coordinates"),s=qh("closePopup");(n||s)&&(clearInterval(t),r=!0)},1e3);await(async()=>{for(;!r;)await new Promise(n=>setTimeout(n,100));return!0})();let i=xs("coordinates");if(i){const n=JSON.parse(i);return[parseFloat(n.lat),parseFloat(n.long),parseFloat(n.z)]}},Ng=async r=>{window.open(`http://maps.google.com/?q=${r}`,"Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),ws("coordinates"),ws("closePopup");var t=!1;const e=setInterval(function(){let s=xs("coordinates"),a=qh("closePopup");(s||a)&&(clearInterval(e),t=!0)},1e3);await(async()=>{for(;!t;)await new Promise(s=>setTimeout(s,100));return!0})();let n=xs("coordinates");if(n){const s=JSON.parse(n);return[parseFloat(s.lat),parseFloat(s.long),parseFloat(s.z)]}},Es="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 Ls={exports:{}};/* @preserve
1
+ (function(ye,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],X):(ye=typeof globalThis<"u"?globalThis:ye||self,X(ye.vueGeojsonViewTs={},ye.Vue))})(this,function(ye,X){"use strict";var ri=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Hh(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function Yh(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 Wh={exports:{}};function Pg(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 _a={exports:{}};const Ig=Yh(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var Zh;function Xh(){return Zh||(Zh=1,function(r,t){(function(e,i){r.exports=i()})(ri,function(){var e=e||function(i,n){var s;if(typeof window<"u"&&window.crypto&&(s=window.crypto),typeof self<"u"&&self.crypto&&(s=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(s=globalThis.crypto),!s&&typeof window<"u"&&window.msCrypto&&(s=window.msCrypto),!s&&typeof ri<"u"&&ri.crypto&&(s=ri.crypto),!s&&typeof Pg=="function")try{s=Ig}catch{}var a=function(){if(s){if(typeof s.getRandomValues=="function")try{return s.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof s.randomBytes=="function")try{return s.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(E){var C;return w.prototype=E,C=new w,w.prototype=null,C}}(),c={},d=c.lib={},f=d.Base=function(){return{extend:function(w){var E=h(this);return w&&E.mixIn(w),(!E.hasOwnProperty("init")||this.init===E.init)&&(E.init=function(){E.$super.init.apply(this,arguments)}),E.init.prototype=E,E.$super=this,E},create:function(){var w=this.extend();return w.init.apply(w,arguments),w},init:function(){},mixIn:function(w){for(var E in w)w.hasOwnProperty(E)&&(this[E]=w[E]);w.hasOwnProperty("toString")&&(this.toString=w.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),p=d.WordArray=f.extend({init:function(w,E){w=this.words=w||[],E!=n?this.sigBytes=E:this.sigBytes=w.length*4},toString:function(w){return(w||y).stringify(this)},concat:function(w){var E=this.words,C=w.words,D=this.sigBytes,P=w.sigBytes;if(this.clamp(),D%4)for(var O=0;O<P;O++){var k=C[O>>>2]>>>24-O%4*8&255;E[D+O>>>2]|=k<<24-(D+O)%4*8}else for(var N=0;N<P;N+=4)E[D+N>>>2]=C[N>>>2];return this.sigBytes+=P,this},clamp:function(){var w=this.words,E=this.sigBytes;w[E>>>2]&=4294967295<<32-E%4*8,w.length=i.ceil(E/4)},clone:function(){var w=f.clone.call(this);return w.words=this.words.slice(0),w},random:function(w){for(var E=[],C=0;C<w;C+=4)E.push(a());return new p.init(E,w)}}),m=c.enc={},y=m.Hex={stringify:function(w){for(var E=w.words,C=w.sigBytes,D=[],P=0;P<C;P++){var O=E[P>>>2]>>>24-P%4*8&255;D.push((O>>>4).toString(16)),D.push((O&15).toString(16))}return D.join("")},parse:function(w){for(var E=w.length,C=[],D=0;D<E;D+=2)C[D>>>3]|=parseInt(w.substr(D,2),16)<<24-D%8*4;return new p.init(C,E/2)}},v=m.Latin1={stringify:function(w){for(var E=w.words,C=w.sigBytes,D=[],P=0;P<C;P++){var O=E[P>>>2]>>>24-P%4*8&255;D.push(String.fromCharCode(O))}return D.join("")},parse:function(w){for(var E=w.length,C=[],D=0;D<E;D++)C[D>>>2]|=(w.charCodeAt(D)&255)<<24-D%4*8;return new p.init(C,E)}},A=m.Utf8={stringify:function(w){try{return decodeURIComponent(escape(v.stringify(w)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(w){return v.parse(unescape(encodeURIComponent(w)))}},M=d.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new p.init,this._nDataBytes=0},_append:function(w){typeof w=="string"&&(w=A.parse(w)),this._data.concat(w),this._nDataBytes+=w.sigBytes},_process:function(w){var E,C=this._data,D=C.words,P=C.sigBytes,O=this.blockSize,k=O*4,N=P/k;w?N=i.ceil(N):N=i.max((N|0)-this._minBufferSize,0);var H=N*O,U=i.min(H*4,P);if(H){for(var Q=0;Q<H;Q+=O)this._doProcessBlock(D,Q);E=D.splice(0,H),C.sigBytes-=U}return new p.init(E,U)},clone:function(){var w=f.clone.call(this);return w._data=this._data.clone(),w},_minBufferSize:0});d.Hasher=M.extend({cfg:f.extend(),init:function(w){this.cfg=this.cfg.extend(w),this.reset()},reset:function(){M.reset.call(this),this._doReset()},update:function(w){return this._append(w),this._process(),this},finalize:function(w){w&&this._append(w);var E=this._doFinalize();return E},blockSize:16,_createHelper:function(w){return function(E,C){return new w.init(C).finalize(E)}},_createHmacHelper:function(w){return function(E,C){return new b.HMAC.init(w,C).finalize(E)}}});var b=c.algo={};return c}(Math);return e})}(_a)),_a.exports}(function(r,t){(function(e,i){r.exports=i(Xh())})(ri,function(e){return function(){var i=e,n=i.lib,s=n.WordArray,a=i.enc;a.Base64={stringify:function(c){var d=c.words,f=c.sigBytes,p=this._map;c.clamp();for(var m=[],y=0;y<f;y+=3)for(var v=d[y>>>2]>>>24-y%4*8&255,A=d[y+1>>>2]>>>24-(y+1)%4*8&255,M=d[y+2>>>2]>>>24-(y+2)%4*8&255,b=v<<16|A<<8|M,w=0;w<4&&y+w*.75<f;w++)m.push(p.charAt(b>>>6*(3-w)&63));var E=p.charAt(64);if(E)for(;m.length%4;)m.push(E);return m.join("")},parse:function(c){var d=c.length,f=this._map,p=this._reverseMap;if(!p){p=this._reverseMap=[];for(var m=0;m<f.length;m++)p[f.charCodeAt(m)]=m}var y=f.charAt(64);if(y){var v=c.indexOf(y);v!==-1&&(d=v)}return h(c,d,p)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function h(c,d,f){for(var p=[],m=0,y=0;y<d;y++)if(y%4){var v=f[c.charCodeAt(y-1)]<<y%4*2,A=f[c.charCodeAt(y)]>>>6-y%4*2,M=v|A;p[m>>>2]|=M<<24-m%4*8,m++}return s.create(p,m)}}(),e.enc.Base64})})(Wh);var Sg=Wh.exports;const ya=Hh(Sg);var Qh={exports:{}};(function(r,t){(function(e,i){r.exports=i(Xh())})(ri,function(e){return e.enc.Utf8})})(Qh);var kg=Qh.exports;const Vh=Hh(kg),Rg=(r,t)=>{localStorage.setItem(r,ya.stringify(Vh.parse(t)))},xs=r=>{const t=localStorage.getItem(r);return t?ya.parse(t).toString(Vh):null},Kh=r=>{const t=localStorage.getItem(r);return t?ya.parse(t):null},As=r=>{localStorage.removeItem(r)};function Og(){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 zg(r){r&&r.remove()}const Ng=()=>{const t=window.location.href.split("?")[1],e=new URLSearchParams(t),i=Object.fromEntries(e.entries());if(i.coordinates){const n=Og();setTimeout(function(){Rg("coordinates",i.coordinates.replace("#/",""))},4e3),setTimeout(function(){window.close(),zg(n)},5e3)}},Fg=async()=>{window.open("https://www.google.com/maps/?hl=es","Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),As("coordinates"),As("closePopup");var r=!1;const t=setInterval(function(){let n=xs("coordinates"),s=Kh("closePopup");(n||s)&&(clearInterval(t),r=!0)},1e3);await(async()=>{for(;!r;)await new Promise(n=>setTimeout(n,100));return!0})();let i=xs("coordinates");if(i){const n=JSON.parse(i);return[parseFloat(n.lat),parseFloat(n.long),parseFloat(n.z)]}},Bg=async r=>{window.open(`http://maps.google.com/?q=${r}`,"Iniciar Sesion Ciudadania Digital","width=700,height=700,resizable=no"),As("coordinates"),As("closePopup");var t=!1;const e=setInterval(function(){let s=xs("coordinates"),a=Kh("closePopup");(s||a)&&(clearInterval(e),t=!0)},1e3);await(async()=>{for(;!t;)await new Promise(s=>setTimeout(s,100));return!0})();let n=xs("coordinates");if(n){const s=JSON.parse(n);return[parseFloat(s.lat),parseFloat(s.long),parseFloat(s.z)]}},ws="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 va={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 Jh;function Qh(){return Jh||(Jh=1,function(r,t){(function(e,i){i(t)})(ri,function(e){var i="1.9.4";function n(o){var l,u,g,m;for(u=1,g=arguments.length;u<g;u++){m=arguments[u];for(l in m)o[l]=m[l]}return o}var s=Object.create||function(){function o(){}return function(l){return o.prototype=l,new o}}();function a(o,l){var u=Array.prototype.slice;if(o.bind)return o.bind.apply(o,u.call(arguments,1));var g=u.call(arguments,2);return function(){return o.apply(l,g.length?g.concat(u.call(arguments)):arguments)}}var h=0;function c(o){return"_leaflet_id"in o||(o._leaflet_id=++h),o._leaflet_id}function d(o,l,u){var g,m,x,S;return S=function(){g=!1,m&&(x.apply(u,m),m=!1)},x=function(){g?m=arguments:(o.apply(u,arguments),setTimeout(S,l),g=!0)},x}function f(o,l,u){var g=l[1],m=l[0],x=g-m;return o===g&&u?o:((o-m)%x+x)%x+m}function p(){return!1}function _(o,l){if(l===!1)return o;var u=Math.pow(10,l===void 0?6:l);return Math.round(o*u)/u}function y(o){return o.trim?o.trim():o.replace(/^\s+|\s+$/g,"")}function v(o){return y(o).split(/\s+/)}function E(o,l){Object.prototype.hasOwnProperty.call(o,"options")||(o.options=o.options?s(o.options):{});for(var u in l)o.options[u]=l[u];return o.options}function T(o,l,u){var g=[];for(var m in o)g.push(encodeURIComponent(u?m.toUpperCase():m)+"="+encodeURIComponent(o[m]));return(!l||l.indexOf("?")===-1?"?":"&")+g.join("&")}var M=/\{ *([\w_ -]+) *\}/g;function w(o,l){return o.replace(M,function(u,g){var m=l[g];if(m===void 0)throw new Error("No value provided for variable "+u);return typeof m=="function"&&(m=m(l)),m})}var b=Array.isArray||function(o){return Object.prototype.toString.call(o)==="[object Array]"};function C(o,l){for(var u=0;u<o.length;u++)if(o[u]===l)return u;return-1}var P="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function R(o){return window["webkit"+o]||window["moz"+o]||window["ms"+o]}var D=0;function O(o){var l=+new Date,u=Math.max(0,16-(l-D));return D=l+u,window.setTimeout(o,u)}var G=window.requestAnimationFrame||R("RequestAnimationFrame")||O,X=window.cancelAnimationFrame||R("CancelAnimationFrame")||R("CancelRequestAnimationFrame")||function(o){window.clearTimeout(o)};function Y(o,l,u){if(u&&G===O)o.call(l);else return G.call(window,a(o,l))}function q(o){o&&X.call(window,o)}var st={__proto__:null,extend:n,create:s,bind:a,get lastId(){return h},stamp:c,throttle:d,wrapNum:f,falseFn:p,formatNum:_,trim:y,splitWords:v,setOptions:E,getParamString:T,template:w,isArray:b,indexOf:C,emptyImageUrl:P,requestFn:G,cancelFn:X,requestAnimFrame:Y,cancelAnimFrame:q};function _t(){}_t.extend=function(o){var l=function(){E(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},u=l.__super__=this.prototype,g=s(u);g.constructor=l,l.prototype=g;for(var m in this)Object.prototype.hasOwnProperty.call(this,m)&&m!=="prototype"&&m!=="__super__"&&(l[m]=this[m]);return o.statics&&n(l,o.statics),o.includes&&(V(o.includes),n.apply(null,[g].concat(o.includes))),n(g,o),delete g.statics,delete g.includes,g.options&&(g.options=u.options?s(u.options):{},n(g.options,o.options)),g._initHooks=[],g.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this),this._initHooksCalled=!0;for(var x=0,S=g._initHooks.length;x<S;x++)g._initHooks[x].call(this)}},l},_t.include=function(o){var l=this.prototype.options;return n(this.prototype,o),o.options&&(this.prototype.options=l,this.mergeOptions(o.options)),this},_t.mergeOptions=function(o){return n(this.prototype.options,o),this},_t.addInitHook=function(o){var l=Array.prototype.slice.call(arguments,1),u=typeof o=="function"?o:function(){this[o].apply(this,l)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(u),this};function V(o){if(!(typeof L>"u"||!L||!L.Mixin)){o=b(o)?o:[o];for(var l=0;l<o.length;l++)o[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(o,l,u){if(typeof o=="object")for(var g in o)this._on(g,o[g],l);else{o=v(o);for(var m=0,x=o.length;m<x;m++)this._on(o[m],l,u)}return this},off:function(o,l,u){if(!arguments.length)delete this._events;else if(typeof o=="object")for(var g in o)this._off(g,o[g],l);else{o=v(o);for(var m=arguments.length===1,x=0,S=o.length;x<S;x++)m?this._off(o[x]):this._off(o[x],l,u)}return this},_on:function(o,l,u,g){if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}if(this._listens(o,l,u)===!1){u===this&&(u=void 0);var m={fn:l,ctx:u};g&&(m.once=!0),this._events=this._events||{},this._events[o]=this._events[o]||[],this._events[o].push(m)}},_off:function(o,l,u){var g,m,x;if(this._events&&(g=this._events[o],!!g)){if(arguments.length===1){if(this._firingCount)for(m=0,x=g.length;m<x;m++)g[m].fn=p;delete this._events[o];return}if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}var S=this._listens(o,l,u);if(S!==!1){var k=g[S];this._firingCount&&(k.fn=p,this._events[o]=g=g.slice()),g.splice(S,1)}}},fire:function(o,l,u){if(!this.listens(o,u))return this;var g=n({},l,{type:o,target:this,sourceTarget:l&&l.sourceTarget||this});if(this._events){var m=this._events[o];if(m){this._firingCount=this._firingCount+1||1;for(var x=0,S=m.length;x<S;x++){var k=m[x],A=k.fn;k.once&&this.off(o,A,k.ctx),A.call(k.ctx||this,g)}this._firingCount--}}return u&&this._propagateEvent(g),this},listens:function(o,l,u,g){typeof o!="string"&&console.warn('"string" type argument expected');var m=l;typeof l!="function"&&(g=!!l,m=void 0,u=void 0);var x=this._events&&this._events[o];if(x&&x.length&&this._listens(o,m,u)!==!1)return!0;if(g){for(var S in this._eventParents)if(this._eventParents[S].listens(o,l,u,g))return!0}return!1},_listens:function(o,l,u){if(!this._events)return!1;var g=this._events[o]||[];if(!l)return!!g.length;u===this&&(u=void 0);for(var m=0,x=g.length;m<x;m++)if(g[m].fn===l&&g[m].ctx===u)return m;return!1},once:function(o,l,u){if(typeof o=="object")for(var g in o)this._on(g,o[g],l,!0);else{o=v(o);for(var m=0,x=o.length;m<x;m++)this._on(o[m],l,u,!0)}return this},addEventParent:function(o){return this._eventParents=this._eventParents||{},this._eventParents[c(o)]=o,this},removeEventParent:function(o){return this._eventParents&&delete this._eventParents[c(o)],this},_propagateEvent:function(o){for(var l in this._eventParents)this._eventParents[l].fire(o.type,n({layer:o.target,propagatedFrom:o.target},o),!0)}};H.addEventListener=H.on,H.removeEventListener=H.clearAllEventListeners=H.off,H.addOneTimeEventListener=H.once,H.fireEvent=H.fire,H.hasEventListeners=H.listens;var j=_t.extend(H);function B(o,l,u){this.x=u?Math.round(o):o,this.y=u?Math.round(l):l}var Lt=Math.trunc||function(o){return o>0?Math.floor(o):Math.ceil(o)};B.prototype={clone:function(){return new B(this.x,this.y)},add:function(o){return this.clone()._add(Z(o))},_add:function(o){return this.x+=o.x,this.y+=o.y,this},subtract:function(o){return this.clone()._subtract(Z(o))},_subtract:function(o){return this.x-=o.x,this.y-=o.y,this},divideBy:function(o){return this.clone()._divideBy(o)},_divideBy:function(o){return this.x/=o,this.y/=o,this},multiplyBy:function(o){return this.clone()._multiplyBy(o)},_multiplyBy:function(o){return this.x*=o,this.y*=o,this},scaleBy:function(o){return new B(this.x*o.x,this.y*o.y)},unscaleBy:function(o){return new B(this.x/o.x,this.y/o.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=Lt(this.x),this.y=Lt(this.y),this},distanceTo:function(o){o=Z(o);var l=o.x-this.x,u=o.y-this.y;return Math.sqrt(l*l+u*u)},equals:function(o){return o=Z(o),o.x===this.x&&o.y===this.y},contains:function(o){return o=Z(o),Math.abs(o.x)<=Math.abs(this.x)&&Math.abs(o.y)<=Math.abs(this.y)},toString:function(){return"Point("+_(this.x)+", "+_(this.y)+")"}};function Z(o,l,u){return o instanceof B?o:b(o)?new B(o[0],o[1]):o==null?o:typeof o=="object"&&"x"in o&&"y"in o?new B(o.x,o.y):new B(o,l,u)}function ut(o,l){if(o)for(var u=l?[o,l]:o,g=0,m=u.length;g<m;g++)this.extend(u[g])}ut.prototype={extend:function(o){var l,u;if(!o)return this;if(o instanceof B||typeof o[0]=="number"||"x"in o)l=u=Z(o);else if(o=z(o),l=o.min,u=o.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(o){return Z((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,o)},getBottomLeft:function(){return Z(this.min.x,this.max.y)},getTopRight:function(){return Z(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(o){var l,u;return typeof o[0]=="number"||o instanceof B?o=Z(o):o=z(o),o instanceof ut?(l=o.min,u=o.max):l=u=o,l.x>=this.min.x&&u.x<=this.max.x&&l.y>=this.min.y&&u.y<=this.max.y},intersects:function(o){o=z(o);var l=this.min,u=this.max,g=o.min,m=o.max,x=m.x>=l.x&&g.x<=u.x,S=m.y>=l.y&&g.y<=u.y;return x&&S},overlaps:function(o){o=z(o);var l=this.min,u=this.max,g=o.min,m=o.max,x=m.x>l.x&&g.x<u.x,S=m.y>l.y&&g.y<u.y;return x&&S},isValid:function(){return!!(this.min&&this.max)},pad:function(o){var l=this.min,u=this.max,g=Math.abs(l.x-u.x)*o,m=Math.abs(l.y-u.y)*o;return z(Z(l.x-g,l.y-m),Z(u.x+g,u.y+m))},equals:function(o){return o?(o=z(o),this.min.equals(o.getTopLeft())&&this.max.equals(o.getBottomRight())):!1}};function z(o,l){return!o||o instanceof ut?o:new ut(o,l)}function xt(o,l){if(o)for(var u=l?[o,l]:o,g=0,m=u.length;g<m;g++)this.extend(u[g])}xt.prototype={extend:function(o){var l=this._southWest,u=this._northEast,g,m;if(o instanceof tt)g=o,m=o;else if(o instanceof xt){if(g=o._southWest,m=o._northEast,!g||!m)return this}else return o?this.extend(at(o)||$(o)):this;return!l&&!u?(this._southWest=new tt(g.lat,g.lng),this._northEast=new tt(m.lat,m.lng)):(l.lat=Math.min(g.lat,l.lat),l.lng=Math.min(g.lng,l.lng),u.lat=Math.max(m.lat,u.lat),u.lng=Math.max(m.lng,u.lng)),this},pad:function(o){var l=this._southWest,u=this._northEast,g=Math.abs(l.lat-u.lat)*o,m=Math.abs(l.lng-u.lng)*o;return new xt(new tt(l.lat-g,l.lng-m),new tt(u.lat+g,u.lng+m))},getCenter:function(){return new tt((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 tt(this.getNorth(),this.getWest())},getSouthEast:function(){return new tt(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(o){typeof o[0]=="number"||o instanceof tt||"lat"in o?o=at(o):o=$(o);var l=this._southWest,u=this._northEast,g,m;return o instanceof xt?(g=o.getSouthWest(),m=o.getNorthEast()):g=m=o,g.lat>=l.lat&&m.lat<=u.lat&&g.lng>=l.lng&&m.lng<=u.lng},intersects:function(o){o=$(o);var l=this._southWest,u=this._northEast,g=o.getSouthWest(),m=o.getNorthEast(),x=m.lat>=l.lat&&g.lat<=u.lat,S=m.lng>=l.lng&&g.lng<=u.lng;return x&&S},overlaps:function(o){o=$(o);var l=this._southWest,u=this._northEast,g=o.getSouthWest(),m=o.getNorthEast(),x=m.lat>l.lat&&g.lat<u.lat,S=m.lng>l.lng&&g.lng<u.lng;return x&&S},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(o,l){return o?(o=$(o),this._southWest.equals(o.getSouthWest(),l)&&this._northEast.equals(o.getNorthEast(),l)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function $(o,l){return o instanceof xt?o:new xt(o,l)}function tt(o,l,u){if(isNaN(o)||isNaN(l))throw new Error("Invalid LatLng object: ("+o+", "+l+")");this.lat=+o,this.lng=+l,u!==void 0&&(this.alt=+u)}tt.prototype={equals:function(o,l){if(!o)return!1;o=at(o);var u=Math.max(Math.abs(this.lat-o.lat),Math.abs(this.lng-o.lng));return u<=(l===void 0?1e-9:l)},toString:function(o){return"LatLng("+_(this.lat,o)+", "+_(this.lng,o)+")"},distanceTo:function(o){return Xt.distance(this,at(o))},wrap:function(){return Xt.wrapLatLng(this)},toBounds:function(o){var l=180*o/40075017,u=l/Math.cos(Math.PI/180*this.lat);return $([this.lat-l,this.lng-u],[this.lat+l,this.lng+u])},clone:function(){return new tt(this.lat,this.lng,this.alt)}};function at(o,l,u){return o instanceof tt?o:b(o)&&typeof o[0]!="object"?o.length===3?new tt(o[0],o[1],o[2]):o.length===2?new tt(o[0],o[1]):null:o==null?o:typeof o=="object"&&"lat"in o?new tt(o.lat,"lng"in o?o.lng:o.lon,o.alt):l===void 0?null:new tt(o,l,u)}var kt={latLngToPoint:function(o,l){var u=this.projection.project(o),g=this.scale(l);return this.transformation._transform(u,g)},pointToLatLng:function(o,l){var u=this.scale(l),g=this.transformation.untransform(o,u);return this.projection.unproject(g)},project:function(o){return this.projection.project(o)},unproject:function(o){return this.projection.unproject(o)},scale:function(o){return 256*Math.pow(2,o)},zoom:function(o){return Math.log(o/256)/Math.LN2},getProjectedBounds:function(o){if(this.infinite)return null;var l=this.projection.bounds,u=this.scale(o),g=this.transformation.transform(l.min,u),m=this.transformation.transform(l.max,u);return new ut(g,m)},infinite:!1,wrapLatLng:function(o){var l=this.wrapLng?f(o.lng,this.wrapLng,!0):o.lng,u=this.wrapLat?f(o.lat,this.wrapLat,!0):o.lat,g=o.alt;return new tt(u,l,g)},wrapLatLngBounds:function(o){var l=o.getCenter(),u=this.wrapLatLng(l),g=l.lat-u.lat,m=l.lng-u.lng;if(g===0&&m===0)return o;var x=o.getSouthWest(),S=o.getNorthEast(),k=new tt(x.lat-g,x.lng-m),A=new tt(S.lat-g,S.lng-m);return new xt(k,A)}},Xt=n({},kt,{wrapLng:[-180,180],R:6371e3,distance:function(o,l){var u=Math.PI/180,g=o.lat*u,m=l.lat*u,x=Math.sin((l.lat-o.lat)*u/2),S=Math.sin((l.lng-o.lng)*u/2),k=x*x+Math.cos(g)*Math.cos(m)*S*S,A=2*Math.atan2(Math.sqrt(k),Math.sqrt(1-k));return this.R*A}}),Ce=6378137,Je={R:Ce,MAX_LATITUDE:85.0511287798,project:function(o){var l=Math.PI/180,u=this.MAX_LATITUDE,g=Math.max(Math.min(u,o.lat),-u),m=Math.sin(g*l);return new B(this.R*o.lng*l,this.R*Math.log((1+m)/(1-m))/2)},unproject:function(o){var l=180/Math.PI;return new tt((2*Math.atan(Math.exp(o.y/this.R))-Math.PI/2)*l,o.x*l/this.R)},bounds:function(){var o=Ce*Math.PI;return new ut([-o,-o],[o,o])}()};function Xi(o,l,u,g){if(b(o)){this._a=o[0],this._b=o[1],this._c=o[2],this._d=o[3];return}this._a=o,this._b=l,this._c=u,this._d=g}Xi.prototype={transform:function(o,l){return this._transform(o.clone(),l)},_transform:function(o,l){return l=l||1,o.x=l*(this._a*o.x+this._b),o.y=l*(this._c*o.y+this._d),o},untransform:function(o,l){return l=l||1,new B((o.x/l-this._b)/this._a,(o.y/l-this._d)/this._c)}};function Me(o,l,u,g){return new Xi(o,l,u,g)}var Yi=n({},Xt,{code:"EPSG:3857",projection:Je,transformation:function(){var o=.5/(Math.PI*Je.R);return Me(o,.5,-o,.5)}()}),Qe=n({},Yi,{code:"EPSG:900913"});function Ki(o){return document.createElementNS("http://www.w3.org/2000/svg",o)}function Fe(o,l){var u="",g,m,x,S,k,A;for(g=0,x=o.length;g<x;g++){for(k=o[g],m=0,S=k.length;m<S;m++)A=k[m],u+=(m?"L":"M")+A.x+" "+A.y;u+=l?K.svg?"z":"x":""}return u||"M0 0"}var qi=document.documentElement.style,wi="ActiveXObject"in window,or=wi&&!document.addEventListener,Ei="msLaunchUri"in navigator&&!("documentMode"in document),En=Bt("webkit"),qt=Bt("android"),ae=Bt("android 2")||Bt("android 3"),be=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),ze=qt&&Bt("Google")&&be<537&&!("AudioNode"in window),$e=!!window.opera,ti=!Ei&&Bt("chrome"),Ne=Bt("gecko")&&!En&&!$e&&!wi,Ji=!ti&&Bt("safari"),Ln=Bt("phantom"),Yt="OTransition"in qi,rs=navigator.platform.indexOf("Win")===0,Ko=wi&&"transition"in qi,ss="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!ae,os="MozPerspective"in qi,qo=!window.L_DISABLE_3D&&(Ko||ss||os)&&!Yt&&!Ln,Li=typeof orientation<"u"||Bt("mobile"),Jo=Li&&En,as=Li&&ss,Qi=!window.PointerEvent&&window.MSPointerEvent,$i=!!(window.PointerEvent||Qi),tn="ontouchstart"in window||!!window.TouchEvent,Qo=!window.L_NO_TOUCH&&(tn||$i),$o=Li&&$e,le=Li&&Ne,en=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,pe=function(){var o=!1;try{var l=Object.defineProperty({},"passive",{get:function(){o=!0}});window.addEventListener("testPassiveEventSupport",p,l),window.removeEventListener("testPassiveEventSupport",p,l)}catch{}return o}(),Be=function(){return!!document.createElement("canvas").getContext}(),Jt=!!(document.createElementNS&&Ki("svg").createSVGRect),ar=!!Jt&&function(){var o=document.createElement("div");return o.innerHTML="<svg/>",(o.firstChild&&o.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),lr=!Jt&&function(){try{var o=document.createElement("div");o.innerHTML='<v:shape adj="1"/>';var l=o.firstChild;return l.style.behavior="url(#default#VML)",l&&typeof l.adj=="object"}catch{return!1}}(),se=navigator.platform.indexOf("Mac")===0,_e=navigator.platform.indexOf("Linux")===0;function Bt(o){return navigator.userAgent.toLowerCase().indexOf(o)>=0}var K={ie:wi,ielt9:or,edge:Ei,webkit:En,android:qt,android23:ae,androidStock:ze,opera:$e,chrome:ti,gecko:Ne,safari:Ji,phantom:Ln,opera12:Yt,win:rs,ie3d:Ko,webkit3d:ss,gecko3d:os,any3d:qo,mobile:Li,mobileWebkit:Jo,mobileWebkit3d:as,msPointer:Qi,pointer:$i,touch:Qo,touchNative:tn,mobileOpera:$o,mobileGecko:le,retina:en,passiveEvents:pe,canvas:Be,svg:Jt,vml:lr,inlineSvg:ar,mac:se,linux:_e},Df=K.msPointer?"MSPointerDown":"pointerdown",Of=K.msPointer?"MSPointerMove":"pointermove",Ff=K.msPointer?"MSPointerUp":"pointerup",zf=K.msPointer?"MSPointerCancel":"pointercancel",mh={touchstart:Df,touchmove:Of,touchend:Ff,touchcancel:zf},Nf={touchstart:uL,touchmove:ta,touchend:ta,touchcancel:ta},hr={},Bf=!1;function oL(o,l,u){return l==="touchstart"&&cL(),Nf[l]?(u=Nf[l].bind(this,u),o.addEventListener(mh[l],u,!1),u):(console.warn("wrong event specified:",l),p)}function aL(o,l,u){if(!mh[l]){console.warn("wrong event specified:",l);return}o.removeEventListener(mh[l],u,!1)}function lL(o){hr[o.pointerId]=o}function hL(o){hr[o.pointerId]&&(hr[o.pointerId]=o)}function Gf(o){delete hr[o.pointerId]}function cL(){Bf||(document.addEventListener(Df,lL,!0),document.addEventListener(Of,hL,!0),document.addEventListener(Ff,Gf,!0),document.addEventListener(zf,Gf,!0),Bf=!0)}function ta(o,l){if(l.pointerType!==(l.MSPOINTER_TYPE_MOUSE||"mouse")){l.touches=[];for(var u in hr)l.touches.push(hr[u]);l.changedTouches=[l],o(l)}}function uL(o,l){l.MSPOINTER_TYPE_TOUCH&&l.pointerType===l.MSPOINTER_TYPE_TOUCH&&Qt(l),ta(o,l)}function dL(o){var l={},u,g;for(g in o)u=o[g],l[g]=u&&u.bind?u.bind(o):u;return o=l,l.type="dblclick",l.detail=2,l.isTrusted=!1,l._simulated=!0,l}var fL=200;function gL(o,l){o.addEventListener("dblclick",l);var u=0,g;function m(x){if(x.detail!==1){g=x.detail;return}if(!(x.pointerType==="mouse"||x.sourceCapabilities&&!x.sourceCapabilities.firesTouchEvents)){var S=Hf(x);if(!(S.some(function(A){return A instanceof HTMLLabelElement&&A.attributes.for})&&!S.some(function(A){return A instanceof HTMLInputElement||A instanceof HTMLSelectElement}))){var k=Date.now();k-u<=fL?(g++,g===2&&l(dL(x))):g=1,u=k}}}return o.addEventListener("click",m),{dblclick:l,simDblclick:m}}function pL(o,l){o.removeEventListener("dblclick",l.dblclick),o.removeEventListener("click",l.simDblclick)}var yh=na(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ls=na(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Uf=ls==="webkitTransition"||ls==="OTransition"?ls+"End":"transitionend";function jf(o){return typeof o=="string"?document.getElementById(o):o}function hs(o,l){var u=o.style[l]||o.currentStyle&&o.currentStyle[l];if((!u||u==="auto")&&document.defaultView){var g=document.defaultView.getComputedStyle(o,null);u=g?g[l]:null}return u==="auto"?null:u}function wt(o,l,u){var g=document.createElement(o);return g.className=l||"",u&&u.appendChild(g),g}function At(o){var l=o.parentNode;l&&l.removeChild(o)}function ea(o){for(;o.firstChild;)o.removeChild(o.firstChild)}function cr(o){var l=o.parentNode;l&&l.lastChild!==o&&l.appendChild(o)}function ur(o){var l=o.parentNode;l&&l.firstChild!==o&&l.insertBefore(o,l.firstChild)}function vh(o,l){if(o.classList!==void 0)return o.classList.contains(l);var u=ia(o);return u.length>0&&new RegExp("(^|\\s)"+l+"(\\s|$)").test(u)}function dt(o,l){if(o.classList!==void 0)for(var u=v(l),g=0,m=u.length;g<m;g++)o.classList.add(u[g]);else if(!vh(o,l)){var x=ia(o);xh(o,(x?x+" ":"")+l)}}function Ft(o,l){o.classList!==void 0?o.classList.remove(l):xh(o,y((" "+ia(o)+" ").replace(" "+l+" "," ")))}function xh(o,l){o.className.baseVal===void 0?o.className=l:o.className.baseVal=l}function ia(o){return o.correspondingElement&&(o=o.correspondingElement),o.className.baseVal===void 0?o.className:o.className.baseVal}function Se(o,l){"opacity"in o.style?o.style.opacity=l:"filter"in o.style&&_L(o,l)}function _L(o,l){var u=!1,g="DXImageTransform.Microsoft.Alpha";try{u=o.filters.item(g)}catch{if(l===1)return}l=Math.round(l*100),u?(u.Enabled=l!==100,u.Opacity=l):o.style.filter+=" progid:"+g+"(opacity="+l+")"}function na(o){for(var l=document.documentElement.style,u=0;u<o.length;u++)if(o[u]in l)return o[u];return!1}function bn(o,l,u){var g=l||new B(0,0);o.style[yh]=(K.ie3d?"translate("+g.x+"px,"+g.y+"px)":"translate3d("+g.x+"px,"+g.y+"px,0)")+(u?" scale("+u+")":"")}function Gt(o,l){o._leaflet_pos=l,K.any3d?bn(o,l):(o.style.left=l.x+"px",o.style.top=l.y+"px")}function Tn(o){return o._leaflet_pos||new B(0,0)}var cs,us,wh;if("onselectstart"in document)cs=function(){ht(window,"selectstart",Qt)},us=function(){Pt(window,"selectstart",Qt)};else{var ds=na(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);cs=function(){if(ds){var o=document.documentElement.style;wh=o[ds],o[ds]="none"}},us=function(){ds&&(document.documentElement.style[ds]=wh,wh=void 0)}}function Eh(){ht(window,"dragstart",Qt)}function Lh(){Pt(window,"dragstart",Qt)}var ra,bh;function Th(o){for(;o.tabIndex===-1;)o=o.parentNode;o.style&&(sa(),ra=o,bh=o.style.outlineStyle,o.style.outlineStyle="none",ht(window,"keydown",sa))}function sa(){ra&&(ra.style.outlineStyle=bh,ra=void 0,bh=void 0,Pt(window,"keydown",sa))}function Zf(o){do o=o.parentNode;while((!o.offsetWidth||!o.offsetHeight)&&o!==document.body);return o}function Ch(o){var l=o.getBoundingClientRect();return{x:l.width/o.offsetWidth||1,y:l.height/o.offsetHeight||1,boundingClientRect:l}}var mL={__proto__:null,TRANSFORM:yh,TRANSITION:ls,TRANSITION_END:Uf,get:jf,getStyle:hs,create:wt,remove:At,empty:ea,toFront:cr,toBack:ur,hasClass:vh,addClass:dt,removeClass:Ft,setClass:xh,getClass:ia,setOpacity:Se,testProp:na,setTransform:bn,setPosition:Gt,getPosition:Tn,get disableTextSelection(){return cs},get enableTextSelection(){return us},disableImageDrag:Eh,enableImageDrag:Lh,preventOutline:Th,restoreOutline:sa,getSizedParentNode:Zf,getScale:Ch};function ht(o,l,u,g){if(l&&typeof l=="object")for(var m in l)Sh(o,m,l[m],u);else{l=v(l);for(var x=0,S=l.length;x<S;x++)Sh(o,l[x],u,g)}return this}var ei="_leaflet_events";function Pt(o,l,u,g){if(arguments.length===1)Wf(o),delete o[ei];else if(l&&typeof l=="object")for(var m in l)Ph(o,m,l[m],u);else if(l=v(l),arguments.length===2)Wf(o,function(k){return C(l,k)!==-1});else for(var x=0,S=l.length;x<S;x++)Ph(o,l[x],u,g);return this}function Wf(o,l){for(var u in o[ei]){var g=u.split(/\d/)[0];(!l||l(g))&&Ph(o,g,null,null,u)}}var Mh={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Sh(o,l,u,g){var m=l+c(u)+(g?"_"+c(g):"");if(o[ei]&&o[ei][m])return this;var x=function(k){return u.call(g||o,k||window.event)},S=x;!K.touchNative&&K.pointer&&l.indexOf("touch")===0?x=oL(o,l,x):K.touch&&l==="dblclick"?x=gL(o,x):"addEventListener"in o?l==="touchstart"||l==="touchmove"||l==="wheel"||l==="mousewheel"?o.addEventListener(Mh[l]||l,x,K.passiveEvents?{passive:!1}:!1):l==="mouseenter"||l==="mouseleave"?(x=function(k){k=k||window.event,Rh(o,k)&&S(k)},o.addEventListener(Mh[l],x,!1)):o.addEventListener(l,S,!1):o.attachEvent("on"+l,x),o[ei]=o[ei]||{},o[ei][m]=x}function Ph(o,l,u,g,m){m=m||l+c(u)+(g?"_"+c(g):"");var x=o[ei]&&o[ei][m];if(!x)return this;!K.touchNative&&K.pointer&&l.indexOf("touch")===0?aL(o,l,x):K.touch&&l==="dblclick"?pL(o,x):"removeEventListener"in o?o.removeEventListener(Mh[l]||l,x,!1):o.detachEvent("on"+l,x),o[ei][m]=null}function Cn(o){return o.stopPropagation?o.stopPropagation():o.originalEvent?o.originalEvent._stopped=!0:o.cancelBubble=!0,this}function kh(o){return Sh(o,"wheel",Cn),this}function fs(o){return ht(o,"mousedown touchstart dblclick contextmenu",Cn),o._leaflet_disable_click=!0,this}function Qt(o){return o.preventDefault?o.preventDefault():o.returnValue=!1,this}function Mn(o){return Qt(o),Cn(o),this}function Hf(o){if(o.composedPath)return o.composedPath();for(var l=[],u=o.target;u;)l.push(u),u=u.parentNode;return l}function Vf(o,l){if(!l)return new B(o.clientX,o.clientY);var u=Ch(l),g=u.boundingClientRect;return new B((o.clientX-g.left)/u.x-l.clientLeft,(o.clientY-g.top)/u.y-l.clientTop)}var yL=K.linux&&K.chrome?window.devicePixelRatio:K.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Xf(o){return K.edge?o.wheelDeltaY/2:o.deltaY&&o.deltaMode===0?-o.deltaY/yL:o.deltaY&&o.deltaMode===1?-o.deltaY*20:o.deltaY&&o.deltaMode===2?-o.deltaY*60:o.deltaX||o.deltaZ?0:o.wheelDelta?(o.wheelDeltaY||o.wheelDelta)/2:o.detail&&Math.abs(o.detail)<32765?-o.detail*20:o.detail?o.detail/-32765*60:0}function Rh(o,l){var u=l.relatedTarget;if(!u)return!0;try{for(;u&&u!==o;)u=u.parentNode}catch{return!1}return u!==o}var vL={__proto__:null,on:ht,off:Pt,stopPropagation:Cn,disableScrollPropagation:kh,disableClickPropagation:fs,preventDefault:Qt,stop:Mn,getPropagationPath:Hf,getMousePosition:Vf,getWheelDelta:Xf,isExternalTarget:Rh,addListener:ht,removeListener:Pt},Yf=j.extend({run:function(o,l,u,g){this.stop(),this._el=o,this._inProgress=!0,this._duration=u||.25,this._easeOutPower=1/Math.max(g||.5,.2),this._startPos=Tn(o),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=Y(this._animate,this),this._step()},_step:function(o){var l=+new Date-this._startTime,u=this._duration*1e3;l<u?this._runFrame(this._easeOut(l/u),o):(this._runFrame(1),this._complete())},_runFrame:function(o,l){var u=this._startPos.add(this._offset.multiplyBy(o));l&&u._round(),Gt(this._el,u),this.fire("step")},_complete:function(){q(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(o){return 1-Math.pow(1-o,this._easeOutPower)}}),yt=j.extend({options:{crs:Yi,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(o,l){l=E(this,l),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(o),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(at(l.center),l.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ls&&K.any3d&&!K.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ht(this._proxy,Uf,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(o,l,u){if(l=l===void 0?this._zoom:this._limitZoom(l),o=this._limitCenter(at(o),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(o,l,u.zoom):this._tryAnimatedPan(o,u.pan);if(g)return clearTimeout(this._sizeTimer),this}return this._resetView(o,l,u.pan&&u.pan.noMoveStart),this},setZoom:function(o,l){return this._loaded?this.setView(this.getCenter(),o,{zoom:l}):(this._zoom=o,this)},zoomIn:function(o,l){return o=o||(K.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+o,l)},zoomOut:function(o,l){return o=o||(K.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-o,l)},setZoomAround:function(o,l,u){var g=this.getZoomScale(l),m=this.getSize().divideBy(2),x=o instanceof B?o:this.latLngToContainerPoint(o),S=x.subtract(m).multiplyBy(1-1/g),k=this.containerPointToLatLng(m.add(S));return this.setView(k,l,{zoom:u})},_getBoundsCenterZoom:function(o,l){l=l||{},o=o.getBounds?o.getBounds():$(o);var u=Z(l.paddingTopLeft||l.padding||[0,0]),g=Z(l.paddingBottomRight||l.padding||[0,0]),m=this.getBoundsZoom(o,!1,u.add(g));if(m=typeof l.maxZoom=="number"?Math.min(l.maxZoom,m):m,m===1/0)return{center:o.getCenter(),zoom:m};var x=g.subtract(u).divideBy(2),S=this.project(o.getSouthWest(),m),k=this.project(o.getNorthEast(),m),A=this.unproject(S.add(k).divideBy(2).add(x),m);return{center:A,zoom:m}},fitBounds:function(o,l){if(o=$(o),!o.isValid())throw new Error("Bounds are not valid.");var u=this._getBoundsCenterZoom(o,l);return this.setView(u.center,u.zoom,l)},fitWorld:function(o){return this.fitBounds([[-90,-180],[90,180]],o)},panTo:function(o,l){return this.setView(o,this._zoom,{pan:l})},panBy:function(o,l){if(o=Z(o).round(),l=l||{},!o.x&&!o.y)return this.fire("moveend");if(l.animate!==!0&&!this.getSize().contains(o))return this._resetView(this.unproject(this.project(this.getCenter()).add(o)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Yf,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),l.noMoveStart||this.fire("movestart"),l.animate!==!1){dt(this._mapPane,"leaflet-pan-anim");var u=this._getMapPanePos().subtract(o).round();this._panAnim.run(this._mapPane,u,l.duration||.25,l.easeLinearity)}else this._rawPanBy(o),this.fire("move").fire("moveend");return this},flyTo:function(o,l,u){if(u=u||{},u.animate===!1||!K.any3d)return this.setView(o,l,u);this._stop();var g=this.project(this.getCenter()),m=this.project(o),x=this.getSize(),S=this._zoom;o=at(o),l=l===void 0?S:l;var k=Math.max(x.x,x.y),A=k*this.getZoomScale(S,l),N=m.distanceTo(g)||1,W=1.42,nt=W*W;function pt(Ut){var ma=Ut?-1:1,ab=Ut?A:k,lb=A*A-k*k+ma*nt*nt*N*N,hb=2*ab*nt*N,jh=lb/hb,Sg=Math.sqrt(jh*jh+1)-jh,cb=Sg<1e-9?-18:Math.log(Sg);return cb}function he(Ut){return(Math.exp(Ut)-Math.exp(-Ut))/2}function Kt(Ut){return(Math.exp(Ut)+Math.exp(-Ut))/2}function ke(Ut){return he(Ut)/Kt(Ut)}var me=pt(0);function mr(Ut){return k*(Kt(me)/Kt(me+W*Ut))}function nb(Ut){return k*(Kt(me)*ke(me+W*Ut)-he(me))/nt}function rb(Ut){return 1-Math.pow(1-Ut,1.5)}var sb=Date.now(),Cg=(pt(1)-me)/W,ob=u.duration?1e3*u.duration:1e3*Cg*.8;function Mg(){var Ut=(Date.now()-sb)/ob,ma=rb(Ut)*Cg;Ut<=1?(this._flyToFrame=Y(Mg,this),this._move(this.unproject(g.add(m.subtract(g).multiplyBy(nb(ma)/N)),S),this.getScaleZoom(k/mr(ma),S),{flyTo:!0})):this._move(o,l)._moveEnd(!0)}return this._moveStart(!0,u.noMoveStart),Mg.call(this),this},flyToBounds:function(o,l){var u=this._getBoundsCenterZoom(o,l);return this.flyTo(u.center,u.zoom,l)},setMaxBounds:function(o){return o=$(o),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),o.isValid()?(this.options.maxBounds=o,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(o){var l=this.options.minZoom;return this.options.minZoom=o,this._loaded&&l!==o&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(o):this},setMaxZoom:function(o){var l=this.options.maxZoom;return this.options.maxZoom=o,this._loaded&&l!==o&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(o):this},panInsideBounds:function(o,l){this._enforcingBounds=!0;var u=this.getCenter(),g=this._limitCenter(u,this._zoom,$(o));return u.equals(g)||this.panTo(g,l),this._enforcingBounds=!1,this},panInside:function(o,l){l=l||{};var u=Z(l.paddingTopLeft||l.padding||[0,0]),g=Z(l.paddingBottomRight||l.padding||[0,0]),m=this.project(this.getCenter()),x=this.project(o),S=this.getPixelBounds(),k=z([S.min.add(u),S.max.subtract(g)]),A=k.getSize();if(!k.contains(x)){this._enforcingBounds=!0;var N=x.subtract(k.getCenter()),W=k.extend(x).getSize().subtract(A);m.x+=N.x<0?-W.x:W.x,m.y+=N.y<0?-W.y:W.y,this.panTo(this.unproject(m),l),this._enforcingBounds=!1}return this},invalidateSize:function(o){if(!this._loaded)return this;o=n({animate:!1,pan:!0},o===!0?{animate:!0}:o);var l=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var u=this.getSize(),g=l.divideBy(2).round(),m=u.divideBy(2).round(),x=g.subtract(m);return!x.x&&!x.y?this:(o.animate&&o.pan?this.panBy(x):(o.pan&&this._rawPanBy(x),this.fire("move"),o.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(o){if(o=this._locateOptions=n({timeout:1e4,watch:!1},o),!("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 o.watch?this._locationWatchId=navigator.geolocation.watchPosition(l,u,o):navigator.geolocation.getCurrentPosition(l,u,o),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(o){if(this._container._leaflet_id){var l=o.code,u=o.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(o){if(this._container._leaflet_id){var l=o.coords.latitude,u=o.coords.longitude,g=new tt(l,u),m=g.toBounds(o.coords.accuracy*2),x=this._locateOptions;if(x.setView){var S=this.getBoundsZoom(m);this.setView(g,x.maxZoom?Math.min(S,x.maxZoom):S)}var k={latlng:g,bounds:m,timestamp:o.timestamp};for(var A in o.coords)typeof o.coords[A]=="number"&&(k[A]=o.coords[A]);this.fire("locationfound",k)}},addHandler:function(o,l){if(!l)return this;var u=this[o]=new l(this);return this._handlers.push(u),this.options[o]&&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(),At(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(q(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var o;for(o in this._layers)this._layers[o].remove();for(o in this._panes)At(this._panes[o]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(o,l){var u="leaflet-pane"+(o?" leaflet-"+o.replace("Pane","")+"-pane":""),g=wt("div",u,l||this._mapPane);return o&&(this._panes[o]=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 o=this.getPixelBounds(),l=this.unproject(o.getBottomLeft()),u=this.unproject(o.getTopRight());return new xt(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(o,l,u){o=$(o),u=Z(u||[0,0]);var g=this.getZoom()||0,m=this.getMinZoom(),x=this.getMaxZoom(),S=o.getNorthWest(),k=o.getSouthEast(),A=this.getSize().subtract(u),N=z(this.project(k,g),this.project(S,g)).getSize(),W=K.any3d?this.options.zoomSnap:1,nt=A.x/N.x,pt=A.y/N.y,he=l?Math.max(nt,pt):Math.min(nt,pt);return g=this.getScaleZoom(he,g),W&&(g=Math.round(g/(W/100))*(W/100),g=l?Math.ceil(g/W)*W:Math.floor(g/W)*W),Math.max(m,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(o,l){var u=this._getTopLeftPoint(o,l);return new ut(u,u.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(o){return this.options.crs.getProjectedBounds(o===void 0?this.getZoom():o)},getPane:function(o){return typeof o=="string"?this._panes[o]:o},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(o,l){var u=this.options.crs;return l=l===void 0?this._zoom:l,u.scale(o)/u.scale(l)},getScaleZoom:function(o,l){var u=this.options.crs;l=l===void 0?this._zoom:l;var g=u.zoom(o*u.scale(l));return isNaN(g)?1/0:g},project:function(o,l){return l=l===void 0?this._zoom:l,this.options.crs.latLngToPoint(at(o),l)},unproject:function(o,l){return l=l===void 0?this._zoom:l,this.options.crs.pointToLatLng(Z(o),l)},layerPointToLatLng:function(o){var l=Z(o).add(this.getPixelOrigin());return this.unproject(l)},latLngToLayerPoint:function(o){var l=this.project(at(o))._round();return l._subtract(this.getPixelOrigin())},wrapLatLng:function(o){return this.options.crs.wrapLatLng(at(o))},wrapLatLngBounds:function(o){return this.options.crs.wrapLatLngBounds($(o))},distance:function(o,l){return this.options.crs.distance(at(o),at(l))},containerPointToLayerPoint:function(o){return Z(o).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(o){return Z(o).add(this._getMapPanePos())},containerPointToLatLng:function(o){var l=this.containerPointToLayerPoint(Z(o));return this.layerPointToLatLng(l)},latLngToContainerPoint:function(o){return this.layerPointToContainerPoint(this.latLngToLayerPoint(at(o)))},mouseEventToContainerPoint:function(o){return Vf(o,this._container)},mouseEventToLayerPoint:function(o){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(o))},mouseEventToLatLng:function(o){return this.layerPointToLatLng(this.mouseEventToLayerPoint(o))},_initContainer:function(o){var l=this._container=jf(o);if(l){if(l._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");ht(l,"scroll",this._onScroll,this),this._containerId=c(l)},_initLayout:function(){var o=this._container;this._fadeAnimated=this.options.fadeAnimation&&K.any3d,dt(o,"leaflet-container"+(K.touch?" leaflet-touch":"")+(K.retina?" leaflet-retina":"")+(K.ielt9?" leaflet-oldie":"")+(K.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var l=hs(o,"position");l!=="absolute"&&l!=="relative"&&l!=="fixed"&&l!=="sticky"&&(o.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var o=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Gt(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||(dt(o.markerPane,"leaflet-zoom-hide"),dt(o.shadowPane,"leaflet-zoom-hide"))},_resetView:function(o,l,u){Gt(this._mapPane,new B(0,0));var g=!this._loaded;this._loaded=!0,l=this._limitZoom(l),this.fire("viewprereset");var m=this._zoom!==l;this._moveStart(m,u)._move(o,l)._moveEnd(m),this.fire("viewreset"),g&&this.fire("load")},_moveStart:function(o,l){return o&&this.fire("zoomstart"),l||this.fire("movestart"),this},_move:function(o,l,u,g){l===void 0&&(l=this._zoom);var m=this._zoom!==l;return this._zoom=l,this._lastCenter=o,this._pixelOrigin=this._getNewPixelOrigin(o),g?u&&u.pinch&&this.fire("zoom",u):((m||u&&u.pinch)&&this.fire("zoom",u),this.fire("move",u)),this},_moveEnd:function(o){return o&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return q(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(o){Gt(this._mapPane,this._getMapPanePos().subtract(o))},_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(o){this._targets={},this._targets[c(this._container)]=this;var l=o?Pt:ht;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),K.any3d&&this.options.transform3DLimit&&(o?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){q(this._resizeRequest),this._resizeRequest=Y(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var o=this._getMapPanePos();Math.max(Math.abs(o.x),Math.abs(o.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(o,l){for(var u=[],g,m=l==="mouseout"||l==="mouseover",x=o.target||o.srcElement,S=!1;x;){if(g=this._targets[c(x)],g&&(l==="click"||l==="preclick")&&this._draggableMoved(g)){S=!0;break}if(g&&g.listens(l,!0)&&(m&&!Rh(x,o)||(u.push(g),m))||x===this._container)break;x=x.parentNode}return!u.length&&!S&&!m&&this.listens(l,!0)&&(u=[this]),u},_isClickDisabled:function(o){for(;o&&o!==this._container;){if(o._leaflet_disable_click)return!0;o=o.parentNode}},_handleDOMEvent:function(o){var l=o.target||o.srcElement;if(!(!this._loaded||l._leaflet_disable_events||o.type==="click"&&this._isClickDisabled(l))){var u=o.type;u==="mousedown"&&Th(l),this._fireDOMEvent(o,u)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(o,l,u){if(o.type==="click"){var g=n({},o);g.type="preclick",this._fireDOMEvent(g,g.type,u)}var m=this._findEventTargets(o,l);if(u){for(var x=[],S=0;S<u.length;S++)u[S].listens(l,!0)&&x.push(u[S]);m=x.concat(m)}if(m.length){l==="contextmenu"&&Qt(o);var k=m[0],A={originalEvent:o};if(o.type!=="keypress"&&o.type!=="keydown"&&o.type!=="keyup"){var N=k.getLatLng&&(!k._radius||k._radius<=10);A.containerPoint=N?this.latLngToContainerPoint(k.getLatLng()):this.mouseEventToContainerPoint(o),A.layerPoint=this.containerPointToLayerPoint(A.containerPoint),A.latlng=N?k.getLatLng():this.layerPointToLatLng(A.layerPoint)}for(S=0;S<m.length;S++)if(m[S].fire(l,A,!0),A.originalEvent._stopped||m[S].options.bubblingMouseEvents===!1&&C(this._mouseEvents,l)!==-1)return}},_draggableMoved:function(o){return o=o.dragging&&o.dragging.enabled()?o:this,o.dragging&&o.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var o=0,l=this._handlers.length;o<l;o++)this._handlers[o].disable()},whenReady:function(o,l){return this._loaded?o.call(l||this,{target:this}):this.on("load",o,l),this},_getMapPanePos:function(){return Tn(this._mapPane)||new B(0,0)},_moved:function(){var o=this._getMapPanePos();return o&&!o.equals([0,0])},_getTopLeftPoint:function(o,l){var u=o&&l!==void 0?this._getNewPixelOrigin(o,l):this.getPixelOrigin();return u.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(o,l){var u=this.getSize()._divideBy(2);return this.project(o,l)._subtract(u)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(o,l,u){var g=this._getNewPixelOrigin(u,l);return this.project(o,l)._subtract(g)},_latLngBoundsToNewLayerBounds:function(o,l,u){var g=this._getNewPixelOrigin(u,l);return z([this.project(o.getSouthWest(),l)._subtract(g),this.project(o.getNorthWest(),l)._subtract(g),this.project(o.getSouthEast(),l)._subtract(g),this.project(o.getNorthEast(),l)._subtract(g)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(o){return this.latLngToLayerPoint(o).subtract(this._getCenterLayerPoint())},_limitCenter:function(o,l,u){if(!u)return o;var g=this.project(o,l),m=this.getSize().divideBy(2),x=new ut(g.subtract(m),g.add(m)),S=this._getBoundsOffset(x,u,l);return Math.abs(S.x)<=1&&Math.abs(S.y)<=1?o:this.unproject(g.add(S),l)},_limitOffset:function(o,l){if(!l)return o;var u=this.getPixelBounds(),g=new ut(u.min.add(o),u.max.add(o));return o.add(this._getBoundsOffset(g,l))},_getBoundsOffset:function(o,l,u){var g=z(this.project(l.getNorthEast(),u),this.project(l.getSouthWest(),u)),m=g.min.subtract(o.min),x=g.max.subtract(o.max),S=this._rebound(m.x,-x.x),k=this._rebound(m.y,-x.y);return new B(S,k)},_rebound:function(o,l){return o+l>0?Math.round(o-l)/2:Math.max(0,Math.ceil(o))-Math.max(0,Math.floor(l))},_limitZoom:function(o){var l=this.getMinZoom(),u=this.getMaxZoom(),g=K.any3d?this.options.zoomSnap:1;return g&&(o=Math.round(o/g)*g),Math.max(l,Math.min(u,o))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Ft(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(o,l){var u=this._getCenterOffset(o)._trunc();return(l&&l.animate)!==!0&&!this.getSize().contains(u)?!1:(this.panBy(u,l),!0)},_createAnimProxy:function(){var o=this._proxy=wt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(o),this.on("zoomanim",function(l){var u=yh,g=this._proxy.style[u];bn(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(){At(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var o=this.getCenter(),l=this.getZoom();bn(this._proxy,this.project(o,l),this.getZoomScale(l,1))},_catchTransitionEnd:function(o){this._animatingZoom&&o.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(o,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),m=this._getCenterOffset(o)._divideBy(1-1/g);return u.animate!==!0&&!this.getSize().contains(m)?!1:(Y(function(){this._moveStart(!0,u.noMoveStart||!1)._animateZoom(o,l,!0)},this),!0)},_animateZoom:function(o,l,u,g){this._mapPane&&(u&&(this._animatingZoom=!0,this._animateToCenter=o,this._animateToZoom=l,dt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:o,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&&Ft(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 xL(o,l){return new yt(o,l)}var Ge=_t.extend({options:{position:"topright"},initialize:function(o){E(this,o)},getPosition:function(){return this.options.position},setPosition:function(o){var l=this._map;return l&&l.removeControl(this),this.options.position=o,l&&l.addControl(this),this},getContainer:function(){return this._container},addTo:function(o){this.remove(),this._map=o;var l=this._container=this.onAdd(o),u=this.getPosition(),g=o._controlCorners[u];return dt(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?(At(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(o){this._map&&o&&o.screenX>0&&o.screenY>0&&this._map.getContainer().focus()}}),gs=function(o){return new Ge(o)};yt.include({addControl:function(o){return o.addTo(this),this},removeControl:function(o){return o.remove(),this},_initControlPos:function(){var o=this._controlCorners={},l="leaflet-",u=this._controlContainer=wt("div",l+"control-container",this._container);function g(m,x){var S=l+m+" "+l+x;o[m+x]=wt("div",S,u)}g("top","left"),g("top","right"),g("bottom","left"),g("bottom","right")},_clearControlPos:function(){for(var o in this._controlCorners)At(this._controlCorners[o]);At(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Kf=Ge.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(o,l,u,g){return u<g?-1:g<u?1:0}},initialize:function(o,l,u){E(this,u),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var g in o)this._addLayer(o[g],g);for(g in l)this._addLayer(l[g],g,!0)},onAdd:function(o){this._initLayout(),this._update(),this._map=o,o.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(o){return Ge.prototype.addTo.call(this,o),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var o=0;o<this._layers.length;o++)this._layers[o].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(o,l){return this._addLayer(o,l),this._map?this._update():this},addOverlay:function(o,l){return this._addLayer(o,l,!0),this._map?this._update():this},removeLayer:function(o){o.off("add remove",this._onLayerChange,this);var l=this._getLayer(c(o));return l&&this._layers.splice(this._layers.indexOf(l),1),this._map?this._update():this},expand:function(){dt(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var o=this._map.getSize().y-(this._container.offsetTop+50);return o<this._section.clientHeight?(dt(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=o+"px"):Ft(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return Ft(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var o="leaflet-control-layers",l=this._container=wt("div",o),u=this.options.collapsed;l.setAttribute("aria-haspopup",!0),fs(l),kh(l);var g=this._section=wt("section",o+"-list");u&&(this._map.on("click",this.collapse,this),ht(l,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var m=this._layersLink=wt("a",o+"-toggle",l);m.href="#",m.title="Layers",m.setAttribute("role","button"),ht(m,{keydown:function(x){x.keyCode===13&&this._expandSafely()},click:function(x){Qt(x),this._expandSafely()}},this),u||this.expand(),this._baseLayersList=wt("div",o+"-base",g),this._separator=wt("div",o+"-separator",g),this._overlaysList=wt("div",o+"-overlays",g),l.appendChild(g)},_getLayer:function(o){for(var l=0;l<this._layers.length;l++)if(this._layers[l]&&c(this._layers[l].layer)===o)return this._layers[l]},_addLayer:function(o,l,u){this._map&&o.on("add remove",this._onLayerChange,this),this._layers.push({layer:o,name:l,overlay:u}),this.options.sortLayers&&this._layers.sort(a(function(g,m){return this.options.sortFunction(g.layer,m.layer,g.name,m.name)},this)),this.options.autoZIndex&&o.setZIndex&&(this._lastZIndex++,o.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ea(this._baseLayersList),ea(this._overlaysList),this._layerControlInputs=[];var o,l,u,g,m=0;for(u=0;u<this._layers.length;u++)g=this._layers[u],this._addItem(g),l=l||g.overlay,o=o||!g.overlay,m+=g.overlay?0:1;return this.options.hideSingleBase&&(o=o&&m>1,this._baseLayersList.style.display=o?"":"none"),this._separator.style.display=l&&o?"":"none",this},_onLayerChange:function(o){this._handlingClick||this._update();var l=this._getLayer(c(o.target)),u=l.overlay?o.type==="add"?"overlayadd":"overlayremove":o.type==="add"?"baselayerchange":null;u&&this._map.fire(u,l)},_createRadioElement:function(o,l){var u='<input type="radio" class="leaflet-control-layers-selector" name="'+o+'"'+(l?' checked="checked"':"")+"/>",g=document.createElement("div");return g.innerHTML=u,g.firstChild},_addItem:function(o){var l=document.createElement("label"),u=this._map.hasLayer(o.layer),g;o.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(o.layer),ht(g,"click",this._onInputClick,this);var m=document.createElement("span");m.innerHTML=" "+o.name;var x=document.createElement("span");l.appendChild(x),x.appendChild(g),x.appendChild(m);var S=o.overlay?this._overlaysList:this._baseLayersList;return S.appendChild(l),this._checkDisabledLayers(),l},_onInputClick:function(){if(!this._preventClick){var o=this._layerControlInputs,l,u,g=[],m=[];this._handlingClick=!0;for(var x=o.length-1;x>=0;x--)l=o[x],u=this._getLayer(l.layerId).layer,l.checked?g.push(u):l.checked||m.push(u);for(x=0;x<m.length;x++)this._map.hasLayer(m[x])&&this._map.removeLayer(m[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 o=this._layerControlInputs,l,u,g=this._map.getZoom(),m=o.length-1;m>=0;m--)l=o[m],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 o=this._section;this._preventClick=!0,ht(o,"click",Qt),this.expand();var l=this;setTimeout(function(){Pt(o,"click",Qt),l._preventClick=!1})}}),wL=function(o,l,u){return new Kf(o,l,u)},Ah=Ge.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(o){var l="leaflet-control-zoom",u=wt("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(),o.on("zoomend zoomlevelschange",this._updateDisabled,this),u},onRemove:function(o){o.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(o){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(o.shiftKey?3:1))},_zoomOut:function(o){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(o.shiftKey?3:1))},_createButton:function(o,l,u,g,m){var x=wt("a",u,g);return x.innerHTML=o,x.href="#",x.title=l,x.setAttribute("role","button"),x.setAttribute("aria-label",l),fs(x),ht(x,"click",Mn),ht(x,"click",m,this),ht(x,"click",this._refocusOnMap,this),x},_updateDisabled:function(){var o=this._map,l="leaflet-disabled";Ft(this._zoomInButton,l),Ft(this._zoomOutButton,l),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||o._zoom===o.getMinZoom())&&(dt(this._zoomOutButton,l),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||o._zoom===o.getMaxZoom())&&(dt(this._zoomInButton,l),this._zoomInButton.setAttribute("aria-disabled","true"))}});yt.mergeOptions({zoomControl:!0}),yt.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ah,this.addControl(this.zoomControl))});var EL=function(o){return new Ah(o)},qf=Ge.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(o){var l="leaflet-control-scale",u=wt("div",l),g=this.options;return this._addScales(g,l+"-line",u),o.on(g.updateWhenIdle?"moveend":"move",this._update,this),o.whenReady(this._update,this),u},onRemove:function(o){o.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(o,l,u){o.metric&&(this._mScale=wt("div",l,u)),o.imperial&&(this._iScale=wt("div",l,u))},_update:function(){var o=this._map,l=o.getSize().y/2,u=o.distance(o.containerPointToLatLng([0,l]),o.containerPointToLatLng([this.options.maxWidth,l]));this._updateScales(u)},_updateScales:function(o){this.options.metric&&o&&this._updateMetric(o),this.options.imperial&&o&&this._updateImperial(o)},_updateMetric:function(o){var l=this._getRoundNum(o),u=l<1e3?l+" m":l/1e3+" km";this._updateScale(this._mScale,u,l/o)},_updateImperial:function(o){var l=o*3.2808399,u,g,m;l>5280?(u=l/5280,g=this._getRoundNum(u),this._updateScale(this._iScale,g+" mi",g/u)):(m=this._getRoundNum(l),this._updateScale(this._iScale,m+" ft",m/l))},_updateScale:function(o,l,u){o.style.width=Math.round(this.options.maxWidth*u)+"px",o.innerHTML=l},_getRoundNum:function(o){var l=Math.pow(10,(Math.floor(o)+"").length-1),u=o/l;return u=u>=10?10:u>=5?5:u>=3?3:u>=2?2:1,l*u}}),LL=function(o){return new qf(o)},bL='<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>',Ih=Ge.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(K.inlineSvg?bL+" ":"")+"Leaflet</a>"},initialize:function(o){E(this,o),this._attributions={}},onAdd:function(o){o.attributionControl=this,this._container=wt("div","leaflet-control-attribution"),fs(this._container);for(var l in o._layers)o._layers[l].getAttribution&&this.addAttribution(o._layers[l].getAttribution());return this._update(),o.on("layeradd",this._addAttribution,this),this._container},onRemove:function(o){o.off("layeradd",this._addAttribution,this)},_addAttribution:function(o){o.layer.getAttribution&&(this.addAttribution(o.layer.getAttribution()),o.layer.once("remove",function(){this.removeAttribution(o.layer.getAttribution())},this))},setPrefix:function(o){return this.options.prefix=o,this._update(),this},addAttribution:function(o){return o?(this._attributions[o]||(this._attributions[o]=0),this._attributions[o]++,this._update(),this):this},removeAttribution:function(o){return o?(this._attributions[o]&&(this._attributions[o]--,this._update()),this):this},_update:function(){if(this._map){var o=[];for(var l in this._attributions)this._attributions[l]&&o.push(l);var u=[];this.options.prefix&&u.push(this.options.prefix),o.length&&u.push(o.join(", ")),this._container.innerHTML=u.join(' <span aria-hidden="true">|</span> ')}}});yt.mergeOptions({attributionControl:!0}),yt.addInitHook(function(){this.options.attributionControl&&new Ih().addTo(this)});var TL=function(o){return new Ih(o)};Ge.Layers=Kf,Ge.Zoom=Ah,Ge.Scale=qf,Ge.Attribution=Ih,gs.layers=wL,gs.zoom=EL,gs.scale=LL,gs.attribution=TL;var ii=_t.extend({initialize:function(o){this._map=o},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}});ii.addTo=function(o,l){return o.addHandler(l,this),this};var CL={Events:H},Jf=K.touch?"touchstart mousedown":"mousedown",nn=j.extend({options:{clickTolerance:3},initialize:function(o,l,u,g){E(this,g),this._element=o,this._dragStartTarget=l||o,this._preventOutline=u},enable:function(){this._enabled||(ht(this._dragStartTarget,Jf,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(nn._dragging===this&&this.finishDrag(!0),Pt(this._dragStartTarget,Jf,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(o){if(this._enabled&&(this._moved=!1,!vh(this._element,"leaflet-zoom-anim"))){if(o.touches&&o.touches.length!==1){nn._dragging===this&&this.finishDrag();return}if(!(nn._dragging||o.shiftKey||o.which!==1&&o.button!==1&&!o.touches)&&(nn._dragging=this,this._preventOutline&&Th(this._element),Eh(),cs(),!this._moving)){this.fire("down");var l=o.touches?o.touches[0]:o,u=Zf(this._element);this._startPoint=new B(l.clientX,l.clientY),this._startPos=Tn(this._element),this._parentScale=Ch(u);var g=o.type==="mousedown";ht(document,g?"mousemove":"touchmove",this._onMove,this),ht(document,g?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(o){if(this._enabled){if(o.touches&&o.touches.length>1){this._moved=!0;return}var l=o.touches&&o.touches.length===1?o.touches[0]:o,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,Qt(o),this._moved||(this.fire("dragstart"),this._moved=!0,dt(document.body,"leaflet-dragging"),this._lastTarget=o.target||o.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),dt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(u),this._moving=!0,this._lastEvent=o,this._updatePosition())}},_updatePosition:function(){var o={originalEvent:this._lastEvent};this.fire("predrag",o),Gt(this._element,this._newPos),this.fire("drag",o)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(o){Ft(document.body,"leaflet-dragging"),this._lastTarget&&(Ft(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Pt(document,"mousemove touchmove",this._onMove,this),Pt(document,"mouseup touchend touchcancel",this._onUp,this),Lh(),us();var l=this._moved&&this._moving;this._moving=!1,nn._dragging=!1,l&&this.fire("dragend",{noInertia:o,distance:this._newPos.distanceTo(this._startPos)})}});function Qf(o,l,u){var g,m=[1,4,2,8],x,S,k,A,N,W,nt,pt;for(x=0,W=o.length;x<W;x++)o[x]._code=Sn(o[x],l);for(k=0;k<4;k++){for(nt=m[k],g=[],x=0,W=o.length,S=W-1;x<W;S=x++)A=o[x],N=o[S],A._code&nt?N._code&nt||(pt=oa(N,A,nt,l,u),pt._code=Sn(pt,l),g.push(pt)):(N._code&nt&&(pt=oa(N,A,nt,l,u),pt._code=Sn(pt,l),g.push(pt)),g.push(A));o=g}return o}function $f(o,l){var u,g,m,x,S,k,A,N,W;if(!o||o.length===0)throw new Error("latlngs not passed");Pe(o)||(console.warn("latlngs are not flat! Only the first ring will be used"),o=o[0]);var nt=at([0,0]),pt=$(o),he=pt.getNorthWest().distanceTo(pt.getSouthWest())*pt.getNorthEast().distanceTo(pt.getNorthWest());he<1700&&(nt=Dh(o));var Kt=o.length,ke=[];for(u=0;u<Kt;u++){var me=at(o[u]);ke.push(l.project(at([me.lat-nt.lat,me.lng-nt.lng])))}for(k=A=N=0,u=0,g=Kt-1;u<Kt;g=u++)m=ke[u],x=ke[g],S=m.y*x.x-x.y*m.x,A+=(m.x+x.x)*S,N+=(m.y+x.y)*S,k+=S*3;k===0?W=ke[0]:W=[A/k,N/k];var mr=l.unproject(Z(W));return at([mr.lat+nt.lat,mr.lng+nt.lng])}function Dh(o){for(var l=0,u=0,g=0,m=0;m<o.length;m++){var x=at(o[m]);l+=x.lat,u+=x.lng,g++}return at([l/g,u/g])}var ML={__proto__:null,clipPolygon:Qf,polygonCenter:$f,centroid:Dh};function tg(o,l){if(!l||!o.length)return o.slice();var u=l*l;return o=kL(o,u),o=PL(o,u),o}function eg(o,l,u){return Math.sqrt(ps(o,l,u,!0))}function SL(o,l,u){return ps(o,l,u)}function PL(o,l){var u=o.length,g=typeof Uint8Array!=void 0+""?Uint8Array:Array,m=new g(u);m[0]=m[u-1]=1,Oh(o,m,l,0,u-1);var x,S=[];for(x=0;x<u;x++)m[x]&&S.push(o[x]);return S}function Oh(o,l,u,g,m){var x=0,S,k,A;for(k=g+1;k<=m-1;k++)A=ps(o[k],o[g],o[m],!0),A>x&&(S=k,x=A);x>u&&(l[S]=1,Oh(o,l,u,g,S),Oh(o,l,u,S,m))}function kL(o,l){for(var u=[o[0]],g=1,m=0,x=o.length;g<x;g++)RL(o[g],o[m])>l&&(u.push(o[g]),m=g);return m<x-1&&u.push(o[x-1]),u}var ig;function ng(o,l,u,g,m){var x=g?ig:Sn(o,u),S=Sn(l,u),k,A,N;for(ig=S;;){if(!(x|S))return[o,l];if(x&S)return!1;k=x||S,A=oa(o,l,k,u,m),N=Sn(A,u),k===x?(o=A,x=N):(l=A,S=N)}}function oa(o,l,u,g,m){var x=l.x-o.x,S=l.y-o.y,k=g.min,A=g.max,N,W;return u&8?(N=o.x+x*(A.y-o.y)/S,W=A.y):u&4?(N=o.x+x*(k.y-o.y)/S,W=k.y):u&2?(N=A.x,W=o.y+S*(A.x-o.x)/x):u&1&&(N=k.x,W=o.y+S*(k.x-o.x)/x),new B(N,W,m)}function Sn(o,l){var u=0;return o.x<l.min.x?u|=1:o.x>l.max.x&&(u|=2),o.y<l.min.y?u|=4:o.y>l.max.y&&(u|=8),u}function RL(o,l){var u=l.x-o.x,g=l.y-o.y;return u*u+g*g}function ps(o,l,u,g){var m=l.x,x=l.y,S=u.x-m,k=u.y-x,A=S*S+k*k,N;return A>0&&(N=((o.x-m)*S+(o.y-x)*k)/A,N>1?(m=u.x,x=u.y):N>0&&(m+=S*N,x+=k*N)),S=o.x-m,k=o.y-x,g?S*S+k*k:new B(m,x)}function Pe(o){return!b(o[0])||typeof o[0][0]!="object"&&typeof o[0][0]<"u"}function rg(o){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Pe(o)}function sg(o,l){var u,g,m,x,S,k,A,N;if(!o||o.length===0)throw new Error("latlngs not passed");Pe(o)||(console.warn("latlngs are not flat! Only the first ring will be used"),o=o[0]);var W=at([0,0]),nt=$(o),pt=nt.getNorthWest().distanceTo(nt.getSouthWest())*nt.getNorthEast().distanceTo(nt.getNorthWest());pt<1700&&(W=Dh(o));var he=o.length,Kt=[];for(u=0;u<he;u++){var ke=at(o[u]);Kt.push(l.project(at([ke.lat-W.lat,ke.lng-W.lng])))}for(u=0,g=0;u<he-1;u++)g+=Kt[u].distanceTo(Kt[u+1])/2;if(g===0)N=Kt[0];else for(u=0,x=0;u<he-1;u++)if(S=Kt[u],k=Kt[u+1],m=S.distanceTo(k),x+=m,x>g){A=(x-g)/m,N=[k.x-A*(k.x-S.x),k.y-A*(k.y-S.y)];break}var me=l.unproject(Z(N));return at([me.lat+W.lat,me.lng+W.lng])}var AL={__proto__:null,simplify:tg,pointToSegmentDistance:eg,closestPointOnSegment:SL,clipSegment:ng,_getEdgeIntersection:oa,_getBitCode:Sn,_sqClosestPointOnSegment:ps,isFlat:Pe,_flat:rg,polylineCenter:sg},Fh={project:function(o){return new B(o.lng,o.lat)},unproject:function(o){return new tt(o.y,o.x)},bounds:new ut([-180,-90],[180,90])},zh={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ut([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(o){var l=Math.PI/180,u=this.R,g=o.lat*l,m=this.R_MINOR/u,x=Math.sqrt(1-m*m),S=x*Math.sin(g),k=Math.tan(Math.PI/4-g/2)/Math.pow((1-S)/(1+S),x/2);return g=-u*Math.log(Math.max(k,1e-10)),new B(o.lng*l*u,g)},unproject:function(o){for(var l=180/Math.PI,u=this.R,g=this.R_MINOR/u,m=Math.sqrt(1-g*g),x=Math.exp(-o.y/u),S=Math.PI/2-2*Math.atan(x),k=0,A=.1,N;k<15&&Math.abs(A)>1e-7;k++)N=m*Math.sin(S),N=Math.pow((1-N)/(1+N),m/2),A=Math.PI/2-2*Math.atan(x*N)-S,S+=A;return new tt(S*l,o.x*l/u)}},IL={__proto__:null,LonLat:Fh,Mercator:zh,SphericalMercator:Je},DL=n({},Xt,{code:"EPSG:3395",projection:zh,transformation:function(){var o=.5/(Math.PI*zh.R);return Me(o,.5,-o,.5)}()}),og=n({},Xt,{code:"EPSG:4326",projection:Fh,transformation:Me(1/180,1,-1/180,.5)}),OL=n({},kt,{projection:Fh,transformation:Me(1,0,-1,0),scale:function(o){return Math.pow(2,o)},zoom:function(o){return Math.log(o)/Math.LN2},distance:function(o,l){var u=l.lng-o.lng,g=l.lat-o.lat;return Math.sqrt(u*u+g*g)},infinite:!0});kt.Earth=Xt,kt.EPSG3395=DL,kt.EPSG3857=Yi,kt.EPSG900913=Qe,kt.EPSG4326=og,kt.Simple=OL;var Ue=j.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(o){return o.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(o){return o&&o.removeLayer(this),this},getPane:function(o){return this._map.getPane(o?this.options[o]||o:this.options.pane)},addInteractiveTarget:function(o){return this._map._targets[c(o)]=this,this},removeInteractiveTarget:function(o){return delete this._map._targets[c(o)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(o){var l=o.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})}}});yt.include({addLayer:function(o){if(!o._layerAdd)throw new Error("The provided object is not a Layer.");var l=c(o);return this._layers[l]?this:(this._layers[l]=o,o._mapToAdd=this,o.beforeAdd&&o.beforeAdd(this),this.whenReady(o._layerAdd,o),this)},removeLayer:function(o){var l=c(o);return this._layers[l]?(this._loaded&&o.onRemove(this),delete this._layers[l],this._loaded&&(this.fire("layerremove",{layer:o}),o.fire("remove")),o._map=o._mapToAdd=null,this):this},hasLayer:function(o){return c(o)in this._layers},eachLayer:function(o,l){for(var u in this._layers)o.call(l,this._layers[u]);return this},_addLayers:function(o){o=o?b(o)?o:[o]:[];for(var l=0,u=o.length;l<u;l++)this.addLayer(o[l])},_addZoomLimit:function(o){(!isNaN(o.options.maxZoom)||!isNaN(o.options.minZoom))&&(this._zoomBoundLayers[c(o)]=o,this._updateZoomLevels())},_removeZoomLimit:function(o){var l=c(o);this._zoomBoundLayers[l]&&(delete this._zoomBoundLayers[l],this._updateZoomLevels())},_updateZoomLevels:function(){var o=1/0,l=-1/0,u=this._getZoomSpan();for(var g in this._zoomBoundLayers){var m=this._zoomBoundLayers[g].options;o=m.minZoom===void 0?o:Math.min(o,m.minZoom),l=m.maxZoom===void 0?l:Math.max(l,m.maxZoom)}this._layersMaxZoom=l===-1/0?void 0:l,this._layersMinZoom=o===1/0?void 0:o,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 dr=Ue.extend({initialize:function(o,l){E(this,l),this._layers={};var u,g;if(o)for(u=0,g=o.length;u<g;u++)this.addLayer(o[u])},addLayer:function(o){var l=this.getLayerId(o);return this._layers[l]=o,this._map&&this._map.addLayer(o),this},removeLayer:function(o){var l=o in this._layers?o:this.getLayerId(o);return this._map&&this._layers[l]&&this._map.removeLayer(this._layers[l]),delete this._layers[l],this},hasLayer:function(o){var l=typeof o=="number"?o:this.getLayerId(o);return l in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(o){var l=Array.prototype.slice.call(arguments,1),u,g;for(u in this._layers)g=this._layers[u],g[o]&&g[o].apply(g,l);return this},onAdd:function(o){this.eachLayer(o.addLayer,o)},onRemove:function(o){this.eachLayer(o.removeLayer,o)},eachLayer:function(o,l){for(var u in this._layers)o.call(l,this._layers[u]);return this},getLayer:function(o){return this._layers[o]},getLayers:function(){var o=[];return this.eachLayer(o.push,o),o},setZIndex:function(o){return this.invoke("setZIndex",o)},getLayerId:function(o){return c(o)}}),FL=function(o,l){return new dr(o,l)},bi=dr.extend({addLayer:function(o){return this.hasLayer(o)?this:(o.addEventParent(this),dr.prototype.addLayer.call(this,o),this.fire("layeradd",{layer:o}))},removeLayer:function(o){return this.hasLayer(o)?(o in this._layers&&(o=this._layers[o]),o.removeEventParent(this),dr.prototype.removeLayer.call(this,o),this.fire("layerremove",{layer:o})):this},setStyle:function(o){return this.invoke("setStyle",o)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var o=new xt;for(var l in this._layers){var u=this._layers[l];o.extend(u.getBounds?u.getBounds():u.getLatLng())}return o}}),zL=function(o,l){return new bi(o,l)},fr=_t.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(o){E(this,o)},createIcon:function(o){return this._createIcon("icon",o)},createShadow:function(o){return this._createIcon("shadow",o)},_createIcon:function(o,l){var u=this._getIconUrl(o);if(!u){if(o==="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,o),(this.options.crossOrigin||this.options.crossOrigin==="")&&(g.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),g},_setIconStyles:function(o,l){var u=this.options,g=u[l+"Size"];typeof g=="number"&&(g=[g,g]);var m=Z(g),x=Z(l==="shadow"&&u.shadowAnchor||u.iconAnchor||m&&m.divideBy(2,!0));o.className="leaflet-marker-"+l+" "+(u.className||""),x&&(o.style.marginLeft=-x.x+"px",o.style.marginTop=-x.y+"px"),m&&(o.style.width=m.x+"px",o.style.height=m.y+"px")},_createImg:function(o,l){return l=l||document.createElement("img"),l.src=o,l},_getIconUrl:function(o){return K.retina&&this.options[o+"RetinaUrl"]||this.options[o+"Url"]}});function NL(o){return new fr(o)}var _s=fr.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(o){return typeof _s.imagePath!="string"&&(_s.imagePath=this._detectIconPath()),(this.options.imagePath||_s.imagePath)+fr.prototype._getIconUrl.call(this,o)},_stripUrl:function(o){var l=function(u,g,m){var x=g.exec(u);return x&&x[m]};return o=l(o,/^url\((['"])?(.+)\1\)$/,2),o&&l(o,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var o=wt("div","leaflet-default-icon-path",document.body),l=hs(o,"background-image")||hs(o,"backgroundImage");if(document.body.removeChild(o),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):""}}),ag=ii.extend({initialize:function(o){this._marker=o},addHooks:function(){var o=this._marker._icon;this._draggable||(this._draggable=new nn(o,o,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),dt(o,"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&&Ft(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(o){var l=this._marker,u=l._map,g=this._marker.options.autoPanSpeed,m=this._marker.options.autoPanPadding,x=Tn(l._icon),S=u.getPixelBounds(),k=u.getPixelOrigin(),A=z(S.min._subtract(k).add(m),S.max._subtract(k).subtract(m));if(!A.contains(x)){var N=Z((Math.max(A.max.x,x.x)-A.max.x)/(S.max.x-A.max.x)-(Math.min(A.min.x,x.x)-A.min.x)/(S.min.x-A.min.x),(Math.max(A.max.y,x.y)-A.max.y)/(S.max.y-A.max.y)-(Math.min(A.min.y,x.y)-A.min.y)/(S.min.y-A.min.y)).multiplyBy(g);u.panBy(N,{animate:!1}),this._draggable._newPos._add(N),this._draggable._startPos._add(N),Gt(l._icon,this._draggable._newPos),this._onDrag(o),this._panRequest=Y(this._adjustPan.bind(this,o))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(o){this._marker.options.autoPan&&(q(this._panRequest),this._panRequest=Y(this._adjustPan.bind(this,o)))},_onDrag:function(o){var l=this._marker,u=l._shadow,g=Tn(l._icon),m=l._map.layerPointToLatLng(g);u&&Gt(u,g),l._latlng=m,o.latlng=m,o.oldLatLng=this._oldLatLng,l.fire("move",o).fire("drag",o)},_onDragEnd:function(o){q(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",o)}}),aa=Ue.extend({options:{icon:new _s,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(o,l){E(this,l),this._latlng=at(o)},onAdd:function(o){this._zoomAnimated=this._zoomAnimated&&o.options.markerZoomAnimation,this._zoomAnimated&&o.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(o){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&o.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(o){var l=this._latlng;return this._latlng=at(o),this.update(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},setZIndexOffset:function(o){return this.options.zIndexOffset=o,this.update()},getIcon:function(){return this.options.icon},setIcon:function(o){return this.options.icon=o,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 o=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(o)}return this},_initIcon:function(){var o=this.options,l="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),u=o.icon.createIcon(this._icon),g=!1;u!==this._icon&&(this._icon&&this._removeIcon(),g=!0,o.title&&(u.title=o.title),u.tagName==="IMG"&&(u.alt=o.alt||"")),dt(u,l),o.keyboard&&(u.tabIndex="0",u.setAttribute("role","button")),this._icon=u,o.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ht(u,"focus",this._panOnFocus,this);var m=o.icon.createShadow(this._shadow),x=!1;m!==this._shadow&&(this._removeShadow(),x=!0),m&&(dt(m,l),m.alt=""),this._shadow=m,o.opacity<1&&this._updateOpacity(),g&&this.getPane().appendChild(this._icon),this._initInteraction(),m&&x&&this.getPane(o.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),At(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&At(this._shadow),this._shadow=null},_setPos:function(o){this._icon&&Gt(this._icon,o),this._shadow&&Gt(this._shadow,o),this._zIndex=o.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(o){this._icon&&(this._icon.style.zIndex=this._zIndex+o)},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center).round();this._setPos(l)},_initInteraction:function(){if(this.options.interactive&&(dt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),ag)){var o=this.options.draggable;this.dragging&&(o=this.dragging.enabled(),this.dragging.disable()),this.dragging=new ag(this),o&&this.dragging.enable()}},setOpacity:function(o){return this.options.opacity=o,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var o=this.options.opacity;this._icon&&Se(this._icon,o),this._shadow&&Se(this._shadow,o)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var o=this._map;if(o){var l=this.options.icon.options,u=l.iconSize?Z(l.iconSize):Z(0,0),g=l.iconAnchor?Z(l.iconAnchor):Z(0,0);o.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 BL(o,l){return new aa(o,l)}var rn=Ue.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(o){this._renderer=o.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(o){return E(this,o),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&o&&Object.prototype.hasOwnProperty.call(o,"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)}}),la=rn.extend({options:{fill:!0,radius:10},initialize:function(o,l){E(this,l),this._latlng=at(o),this._radius=this.options.radius},setLatLng:function(o){var l=this._latlng;return this._latlng=at(o),this.redraw(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(o){return this.options.radius=this._radius=o,this.redraw()},getRadius:function(){return this._radius},setStyle:function(o){var l=o&&o.radius||this._radius;return rn.prototype.setStyle.call(this,o),this.setRadius(l),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var o=this._radius,l=this._radiusY||o,u=this._clickTolerance(),g=[o+u,l+u];this._pxBounds=new ut(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(o){return o.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function GL(o,l){return new la(o,l)}var Nh=la.extend({initialize:function(o,l,u){if(typeof l=="number"&&(l=n({},u,{radius:l})),E(this,l),this._latlng=at(o),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(o){return this._mRadius=o,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var o=[this._radius,this._radiusY||this._radius];return new xt(this._map.layerPointToLatLng(this._point.subtract(o)),this._map.layerPointToLatLng(this._point.add(o)))},setStyle:rn.prototype.setStyle,_project:function(){var o=this._latlng.lng,l=this._latlng.lat,u=this._map,g=u.options.crs;if(g.distance===Xt.distance){var m=Math.PI/180,x=this._mRadius/Xt.R/m,S=u.project([l+x,o]),k=u.project([l-x,o]),A=S.add(k).divideBy(2),N=u.unproject(A).lat,W=Math.acos((Math.cos(x*m)-Math.sin(l*m)*Math.sin(N*m))/(Math.cos(l*m)*Math.cos(N*m)))/m;(isNaN(W)||W===0)&&(W=x/Math.cos(Math.PI/180*l)),this._point=A.subtract(u.getPixelOrigin()),this._radius=isNaN(W)?0:A.x-u.project([N,o-W]).x,this._radiusY=A.y-S.y}else{var nt=g.unproject(g.project(this._latlng).subtract([this._mRadius,0]));this._point=u.latLngToLayerPoint(this._latlng),this._radius=this._point.x-u.latLngToLayerPoint(nt).x}this._updateBounds()}});function UL(o,l,u){return new Nh(o,l,u)}var Ti=rn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(o,l){E(this,l),this._setLatLngs(o)},getLatLngs:function(){return this._latlngs},setLatLngs:function(o){return this._setLatLngs(o),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(o){for(var l=1/0,u=null,g=ps,m,x,S=0,k=this._parts.length;S<k;S++)for(var A=this._parts[S],N=1,W=A.length;N<W;N++){m=A[N-1],x=A[N];var nt=g(o,m,x,!0);nt<l&&(l=nt,u=g(o,m,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 sg(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(o,l){return l=l||this._defaultShape(),o=at(o),l.push(o),this._bounds.extend(o),this.redraw()},_setLatLngs:function(o){this._bounds=new xt,this._latlngs=this._convertLatLngs(o)},_defaultShape:function(){return Pe(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(o){for(var l=[],u=Pe(o),g=0,m=o.length;g<m;g++)u?(l[g]=at(o[g]),this._bounds.extend(l[g])):l[g]=this._convertLatLngs(o[g]);return l},_project:function(){var o=new ut;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,o),this._bounds.isValid()&&o.isValid()&&(this._rawPxBounds=o,this._updateBounds())},_updateBounds:function(){var o=this._clickTolerance(),l=new B(o,o);this._rawPxBounds&&(this._pxBounds=new ut([this._rawPxBounds.min.subtract(l),this._rawPxBounds.max.add(l)]))},_projectLatlngs:function(o,l,u){var g=o[0]instanceof tt,m=o.length,x,S;if(g){for(S=[],x=0;x<m;x++)S[x]=this._map.latLngToLayerPoint(o[x]),u.extend(S[x]);l.push(S)}else for(x=0;x<m;x++)this._projectLatlngs(o[x],l,u)},_clipPoints:function(){var o=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(o))){if(this.options.noClip){this._parts=this._rings;return}var l=this._parts,u,g,m,x,S,k,A;for(u=0,m=0,x=this._rings.length;u<x;u++)for(A=this._rings[u],g=0,S=A.length;g<S-1;g++)k=ng(A[g],A[g+1],o,g,!0),k&&(l[m]=l[m]||[],l[m].push(k[0]),(k[1]!==A[g+1]||g===S-2)&&(l[m].push(k[1]),m++))}},_simplifyPoints:function(){for(var o=this._parts,l=this.options.smoothFactor,u=0,g=o.length;u<g;u++)o[u]=tg(o[u],l)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(o,l){var u,g,m,x,S,k,A=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(o))return!1;for(u=0,x=this._parts.length;u<x;u++)for(k=this._parts[u],g=0,S=k.length,m=S-1;g<S;m=g++)if(!(!l&&g===0)&&eg(o,k[m],k[g])<=A)return!0;return!1}});function jL(o,l){return new Ti(o,l)}Ti._flat=rg;var gr=Ti.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 $f(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(o){var l=Ti.prototype._convertLatLngs.call(this,o),u=l.length;return u>=2&&l[0]instanceof tt&&l[0].equals(l[u-1])&&l.pop(),l},_setLatLngs:function(o){Ti.prototype._setLatLngs.call(this,o),Pe(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Pe(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var o=this._renderer._bounds,l=this.options.weight,u=new B(l,l);if(o=new ut(o.min.subtract(u),o.max.add(u)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(o))){if(this.options.noClip){this._parts=this._rings;return}for(var g=0,m=this._rings.length,x;g<m;g++)x=Qf(this._rings[g],o,!0),x.length&&this._parts.push(x)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(o){var l=!1,u,g,m,x,S,k,A,N;if(!this._pxBounds||!this._pxBounds.contains(o))return!1;for(x=0,A=this._parts.length;x<A;x++)for(u=this._parts[x],S=0,N=u.length,k=N-1;S<N;k=S++)g=u[S],m=u[k],g.y>o.y!=m.y>o.y&&o.x<(m.x-g.x)*(o.y-g.y)/(m.y-g.y)+g.x&&(l=!l);return l||Ti.prototype._containsPoint.call(this,o,!0)}});function ZL(o,l){return new gr(o,l)}var Ci=bi.extend({initialize:function(o,l){E(this,l),this._layers={},o&&this.addData(o)},addData:function(o){var l=b(o)?o:o.features,u,g,m;if(l){for(u=0,g=l.length;u<g;u++)m=l[u],(m.geometries||m.geometry||m.features||m.coordinates)&&this.addData(m);return this}var x=this.options;if(x.filter&&!x.filter(o))return this;var S=ha(o,x);return S?(S.feature=da(o),S.defaultOptions=S.options,this.resetStyle(S),x.onEachFeature&&x.onEachFeature(o,S),this.addLayer(S)):this},resetStyle:function(o){return o===void 0?this.eachLayer(this.resetStyle,this):(o.options=n({},o.defaultOptions),this._setLayerStyle(o,this.options.style),this)},setStyle:function(o){return this.eachLayer(function(l){this._setLayerStyle(l,o)},this)},_setLayerStyle:function(o,l){o.setStyle&&(typeof l=="function"&&(l=l(o.feature)),o.setStyle(l))}});function ha(o,l){var u=o.type==="Feature"?o.geometry:o,g=u?u.coordinates:null,m=[],x=l&&l.pointToLayer,S=l&&l.coordsToLatLng||Bh,k,A,N,W;if(!g&&!u)return null;switch(u.type){case"Point":return k=S(g),lg(x,o,k,l);case"MultiPoint":for(N=0,W=g.length;N<W;N++)k=S(g[N]),m.push(lg(x,o,k,l));return new bi(m);case"LineString":case"MultiLineString":return A=ca(g,u.type==="LineString"?0:1,S),new Ti(A,l);case"Polygon":case"MultiPolygon":return A=ca(g,u.type==="Polygon"?1:2,S),new gr(A,l);case"GeometryCollection":for(N=0,W=u.geometries.length;N<W;N++){var nt=ha({geometry:u.geometries[N],type:"Feature",properties:o.properties},l);nt&&m.push(nt)}return new bi(m);case"FeatureCollection":for(N=0,W=u.features.length;N<W;N++){var pt=ha(u.features[N],l);pt&&m.push(pt)}return new bi(m);default:throw new Error("Invalid GeoJSON object.")}}function lg(o,l,u,g){return o?o(l,u):new aa(u,g&&g.markersInheritOptions&&g)}function Bh(o){return new tt(o[1],o[0],o[2])}function ca(o,l,u){for(var g=[],m=0,x=o.length,S;m<x;m++)S=l?ca(o[m],l-1,u):(u||Bh)(o[m]),g.push(S);return g}function Gh(o,l){return o=at(o),o.alt!==void 0?[_(o.lng,l),_(o.lat,l),_(o.alt,l)]:[_(o.lng,l),_(o.lat,l)]}function ua(o,l,u,g){for(var m=[],x=0,S=o.length;x<S;x++)m.push(l?ua(o[x],Pe(o[x])?0:l-1,u,g):Gh(o[x],g));return!l&&u&&m.length>0&&m.push(m[0].slice()),m}function pr(o,l){return o.feature?n({},o.feature,{geometry:l}):da(l)}function da(o){return o.type==="Feature"||o.type==="FeatureCollection"?o:{type:"Feature",properties:{},geometry:o}}var Uh={toGeoJSON:function(o){return pr(this,{type:"Point",coordinates:Gh(this.getLatLng(),o)})}};aa.include(Uh),Nh.include(Uh),la.include(Uh),Ti.include({toGeoJSON:function(o){var l=!Pe(this._latlngs),u=ua(this._latlngs,l?1:0,!1,o);return pr(this,{type:(l?"Multi":"")+"LineString",coordinates:u})}}),gr.include({toGeoJSON:function(o){var l=!Pe(this._latlngs),u=l&&!Pe(this._latlngs[0]),g=ua(this._latlngs,u?2:l?1:0,!0,o);return l||(g=[g]),pr(this,{type:(u?"Multi":"")+"Polygon",coordinates:g})}}),dr.include({toMultiPoint:function(o){var l=[];return this.eachLayer(function(u){l.push(u.toGeoJSON(o).geometry.coordinates)}),pr(this,{type:"MultiPoint",coordinates:l})},toGeoJSON:function(o){var l=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(l==="MultiPoint")return this.toMultiPoint(o);var u=l==="GeometryCollection",g=[];return this.eachLayer(function(m){if(m.toGeoJSON){var x=m.toGeoJSON(o);if(u)g.push(x.geometry);else{var S=da(x);S.type==="FeatureCollection"?g.push.apply(g,S.features):g.push(S)}}}),u?pr(this,{geometries:g,type:"GeometryCollection"}):{type:"FeatureCollection",features:g}}});function hg(o,l){return new Ci(o,l)}var WL=hg,fa=Ue.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(o,l,u){this._url=o,this._bounds=$(l),E(this,u)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(dt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){At(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(o){return this.options.opacity=o,this._image&&this._updateOpacity(),this},setStyle:function(o){return o.opacity&&this.setOpacity(o.opacity),this},bringToFront:function(){return this._map&&cr(this._image),this},bringToBack:function(){return this._map&&ur(this._image),this},setUrl:function(o){return this._url=o,this._image&&(this._image.src=o),this},setBounds:function(o){return this._bounds=$(o),this._map&&this._reset(),this},getEvents:function(){var o={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},setZIndex:function(o){return this.options.zIndex=o,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var o=this._url.tagName==="IMG",l=this._image=o?this._url:wt("img");if(dt(l,"leaflet-image-layer"),this._zoomAnimated&&dt(l,"leaflet-zoom-animated"),this.options.className&&dt(l,this.options.className),l.onselectstart=p,l.onmousemove=p,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(),o){this._url=l.src;return}l.src=this._url,l.alt=this.options.alt},_animateZoom:function(o){var l=this._map.getZoomScale(o.zoom),u=this._map._latLngBoundsToNewLayerBounds(this._bounds,o.zoom,o.center).min;bn(this._image,u,l)},_reset:function(){var o=this._image,l=new ut(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),u=l.getSize();Gt(o,l.min),o.style.width=u.x+"px",o.style.height=u.y+"px"},_updateOpacity:function(){Se(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 o=this.options.errorOverlayUrl;o&&this._url!==o&&(this._url=o,this._image.src=o)},getCenter:function(){return this._bounds.getCenter()}}),HL=function(o,l,u){return new fa(o,l,u)},cg=fa.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var o=this._url.tagName==="VIDEO",l=this._image=o?this._url:wt("video");if(dt(l,"leaflet-image-layer"),this._zoomAnimated&&dt(l,"leaflet-zoom-animated"),this.options.className&&dt(l,this.options.className),l.onselectstart=p,l.onmousemove=p,l.onloadeddata=a(this.fire,this,"load"),o){for(var u=l.getElementsByTagName("source"),g=[],m=0;m<u.length;m++)g.push(u[m].src);this._url=u.length>0?g:[l.src];return}b(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 S=wt("source");S.src=this._url[x],l.appendChild(S)}}});function VL(o,l,u){return new cg(o,l,u)}var ug=fa.extend({_initImage:function(){var o=this._image=this._url;dt(o,"leaflet-image-layer"),this._zoomAnimated&&dt(o,"leaflet-zoom-animated"),this.options.className&&dt(o,this.options.className),o.onselectstart=p,o.onmousemove=p}});function XL(o,l,u){return new ug(o,l,u)}var ni=Ue.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(o,l){o&&(o instanceof tt||b(o))?(this._latlng=at(o),E(this,l)):(E(this,o),this._source=l),this.options.content&&(this._content=this.options.content)},openOn:function(o){return o=arguments.length?o:this._source._map,o.hasLayer(this)||o.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(o){return this._map?this.close():(arguments.length?this._source=o:o=this._source,this._prepareOpen(),this.openOn(o._map)),this},onAdd:function(o){this._zoomAnimated=o._zoomAnimated,this._container||this._initLayout(),o._fadeAnimated&&Se(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),o._fadeAnimated&&Se(this._container,1),this.bringToFront(),this.options.interactive&&(dt(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(o){o._fadeAnimated?(Se(this._container,0),this._removeTimeout=setTimeout(a(At,void 0,this._container),200)):At(this._container),this.options.interactive&&(Ft(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(o){return this._latlng=at(o),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(o){return this._content=o,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 o={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&cr(this._container),this},bringToBack:function(){return this._map&&ur(this._container),this},_prepareOpen:function(o){var l=this._source;if(!l._map)return!1;if(l instanceof bi){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(!o)if(l.getCenter)o=l.getCenter();else if(l.getLatLng)o=l.getLatLng();else if(l.getBounds)o=l.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(o),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var o=this._contentNode,l=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof l=="string")o.innerHTML=l;else{for(;o.hasChildNodes();)o.removeChild(o.firstChild);o.appendChild(l)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var o=this._map.latLngToLayerPoint(this._latlng),l=Z(this.options.offset),u=this._getAnchor();this._zoomAnimated?Gt(this._container,o.add(u)):l=l.add(o).add(u);var g=this._containerBottom=-l.y,m=this._containerLeft=-Math.round(this._containerWidth/2)+l.x;this._container.style.bottom=g+"px",this._container.style.left=m+"px"}},_getAnchor:function(){return[0,0]}});yt.include({_initOverlay:function(o,l,u,g){var m=l;return m instanceof o||(m=new o(g).setContent(l)),u&&m.setLatLng(u),m}}),Ue.include({_initOverlay:function(o,l,u,g){var m=u;return m instanceof o?(E(m,g),m._source=this):(m=l&&!g?l:new o(g,this),m.setContent(u)),m}});var ga=ni.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(o){return o=arguments.length?o:this._source._map,!o.hasLayer(this)&&o._popup&&o._popup.options.autoClose&&o.removeLayer(o._popup),o._popup=this,ni.prototype.openOn.call(this,o)},onAdd:function(o){ni.prototype.onAdd.call(this,o),o.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof rn||this._source.on("preclick",Cn))},onRemove:function(o){ni.prototype.onRemove.call(this,o),o.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof rn||this._source.off("preclick",Cn))},getEvents:function(){var o=ni.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(o.preclick=this.close),this.options.keepInView&&(o.moveend=this._adjustPan),o},_initLayout:function(){var o="leaflet-popup",l=this._container=wt("div",o+" "+(this.options.className||"")+" leaflet-zoom-animated"),u=this._wrapper=wt("div",o+"-content-wrapper",l);if(this._contentNode=wt("div",o+"-content",u),fs(l),kh(this._contentNode),ht(l,"contextmenu",Cn),this._tipContainer=wt("div",o+"-tip-container",l),this._tip=wt("div",o+"-tip",this._tipContainer),this.options.closeButton){var g=this._closeButton=wt("a",o+"-close-button",l);g.setAttribute("role","button"),g.setAttribute("aria-label","Close popup"),g.href="#close",g.innerHTML='<span aria-hidden="true">&#215;</span>',ht(g,"click",function(m){Qt(m),this.close()},this)}},_updateLayout:function(){var o=this._contentNode,l=o.style;l.width="",l.whiteSpace="nowrap";var u=o.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=o.offsetHeight,m=this.options.maxHeight,x="leaflet-popup-scrolled";m&&g>m?(l.height=m+"px",dt(o,x)):Ft(o,x),this._containerWidth=this._container.offsetWidth},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center),u=this._getAnchor();Gt(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 o=this._map,l=parseInt(hs(this._container,"marginBottom"),10)||0,u=this._container.offsetHeight+l,g=this._containerWidth,m=new B(this._containerLeft,-u-this._containerBottom);m._add(Tn(this._container));var x=o.layerPointToContainerPoint(m),S=Z(this.options.autoPanPadding),k=Z(this.options.autoPanPaddingTopLeft||S),A=Z(this.options.autoPanPaddingBottomRight||S),N=o.getSize(),W=0,nt=0;x.x+g+A.x>N.x&&(W=x.x+g-N.x+A.x),x.x-W-k.x<0&&(W=x.x-k.x),x.y+u+A.y>N.y&&(nt=x.y+u-N.y+A.y),x.y-nt-k.y<0&&(nt=x.y-k.y),(W||nt)&&(this.options.keepInView&&(this._autopanning=!0),o.fire("autopanstart").panBy([W,nt]))}},_getAnchor:function(){return Z(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),YL=function(o,l){return new ga(o,l)};yt.mergeOptions({closePopupOnClick:!0}),yt.include({openPopup:function(o,l,u){return this._initOverlay(ga,o,l,u).openOn(this),this},closePopup:function(o){return o=arguments.length?o:this._popup,o&&o.close(),this}}),Ue.include({bindPopup:function(o,l){return this._popup=this._initOverlay(ga,this._popup,o,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(o){return this._popup&&(this instanceof bi||(this._popup._source=this),this._popup._prepareOpen(o||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(o){return this._popup&&this._popup.setContent(o),this},getPopup:function(){return this._popup},_openPopup:function(o){if(!(!this._popup||!this._map)){Mn(o);var l=o.layer||o.target;if(this._popup._source===l&&!(l instanceof rn)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(o.latlng);return}this._popup._source=l,this.openPopup(o.latlng)}},_movePopup:function(o){this._popup.setLatLng(o.latlng)},_onKeyPress:function(o){o.originalEvent.keyCode===13&&this._openPopup(o)}});var pa=ni.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(o){ni.prototype.onAdd.call(this,o),this.setOpacity(this.options.opacity),o.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(o){ni.prototype.onRemove.call(this,o),o.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var o=ni.prototype.getEvents.call(this);return this.options.permanent||(o.preclick=this.close),o},_initLayout:function(){var o="leaflet-tooltip",l=o+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=wt("div",l),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(o){var l,u,g=this._map,m=this._container,x=g.latLngToContainerPoint(g.getCenter()),S=g.layerPointToContainerPoint(o),k=this.options.direction,A=m.offsetWidth,N=m.offsetHeight,W=Z(this.options.offset),nt=this._getAnchor();k==="top"?(l=A/2,u=N):k==="bottom"?(l=A/2,u=0):k==="center"?(l=A/2,u=N/2):k==="right"?(l=0,u=N/2):k==="left"?(l=A,u=N/2):S.x<x.x?(k="right",l=0,u=N/2):(k="left",l=A+(W.x+nt.x)*2,u=N/2),o=o.subtract(Z(l,u,!0)).add(W).add(nt),Ft(m,"leaflet-tooltip-right"),Ft(m,"leaflet-tooltip-left"),Ft(m,"leaflet-tooltip-top"),Ft(m,"leaflet-tooltip-bottom"),dt(m,"leaflet-tooltip-"+k),Gt(m,o)},_updatePosition:function(){var o=this._map.latLngToLayerPoint(this._latlng);this._setPosition(o)},setOpacity:function(o){this.options.opacity=o,this._container&&Se(this._container,o)},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center);this._setPosition(l)},_getAnchor:function(){return Z(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),KL=function(o,l){return new pa(o,l)};yt.include({openTooltip:function(o,l,u){return this._initOverlay(pa,o,l,u).openOn(this),this},closeTooltip:function(o){return o.close(),this}}),Ue.include({bindTooltip:function(o,l){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(pa,this._tooltip,o,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(o){if(!(!o&&this._tooltipHandlersAdded)){var l=o?"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=!o}},openTooltip:function(o){return this._tooltip&&(this instanceof bi||(this._tooltip._source=this),this._tooltip._prepareOpen(o)&&(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(o){return this._tooltip&&this._tooltip.setContent(o),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(o){var l=typeof o.getElement=="function"&&o.getElement();l&&(ht(l,"focus",function(){this._tooltip._source=o,this.openTooltip()},this),ht(l,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(o){var l=typeof o.getElement=="function"&&o.getElement();l&&l.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(o){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(o)});return}this._tooltip._source=o.layer||o.target,this.openTooltip(this._tooltip.options.sticky?o.latlng:void 0)}},_moveTooltip:function(o){var l=o.latlng,u,g;this._tooltip.options.sticky&&o.originalEvent&&(u=this._map.mouseEventToContainerPoint(o.originalEvent),g=this._map.containerPointToLayerPoint(u),l=this._map.layerPointToLatLng(g)),this._tooltip.setLatLng(l)}});var dg=fr.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(o){var l=o&&o.tagName==="DIV"?o:document.createElement("div"),u=this.options;if(u.html instanceof Element?(ea(l),l.appendChild(u.html)):l.innerHTML=u.html!==!1?u.html:"",u.bgPos){var g=Z(u.bgPos);l.style.backgroundPosition=-g.x+"px "+-g.y+"px"}return this._setIconStyles(l,"icon"),l},createShadow:function(){return null}});function qL(o){return new dg(o)}fr.Default=_s;var ms=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:K.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(o){E(this,o)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(o){o._addZoomLimit(this)},onRemove:function(o){this._removeAllTiles(),At(this._container),o._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(cr(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ur(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(o){return this.options.opacity=o,this._updateOpacity(),this},setZIndex:function(o){return this.options.zIndex=o,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var o=this._clampZoom(this._map.getZoom());o!==this._tileZoom&&(this._tileZoom=o,this._updateLevels()),this._update()}return this},getEvents:function(){var o={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)),o.move=this._onMove),this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},createTile:function(){return document.createElement("div")},getTileSize:function(){var o=this.options.tileSize;return o instanceof B?o:new B(o,o)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(o){for(var l=this.getPane().children,u=-o(-1/0,1/0),g=0,m=l.length,x;g<m;g++)x=l[g].style.zIndex,l[g]!==this._container&&x&&(u=o(u,+x));isFinite(u)&&(this.options.zIndex=u+o(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!K.ielt9){Se(this._container,this.options.opacity);var o=+new Date,l=!1,u=!1;for(var g in this._tiles){var m=this._tiles[g];if(!(!m.current||!m.loaded)){var x=Math.min(1,(o-m.loaded)/200);Se(m.el,x),x<1?l=!0:(m.active?u=!0:this._onOpaqueTile(m),m.active=!0)}}u&&!this._noPrune&&this._pruneTiles(),l&&(q(this._fadeFrame),this._fadeFrame=Y(this._updateOpacity,this))}},_onOpaqueTile:p,_initContainer:function(){this._container||(this._container=wt("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var o=this._tileZoom,l=this.options.maxZoom;if(o!==void 0){for(var u in this._levels)u=Number(u),this._levels[u].el.children.length||u===o?(this._levels[u].el.style.zIndex=l-Math.abs(o-u),this._onUpdateLevel(u)):(At(this._levels[u].el),this._removeTilesAtZoom(u),this._onRemoveLevel(u),delete this._levels[u]);var g=this._levels[o],m=this._map;return g||(g=this._levels[o]={},g.el=wt("div","leaflet-tile-container leaflet-zoom-animated",this._container),g.el.style.zIndex=l,g.origin=m.project(m.unproject(m.getPixelOrigin()),o).round(),g.zoom=o,this._setZoomTransform(g,m.getCenter(),m.getZoom()),p(g.el.offsetWidth),this._onCreateLevel(g)),this._level=g,g}},_onUpdateLevel:p,_onRemoveLevel:p,_onCreateLevel:p,_pruneTiles:function(){if(this._map){var o,l,u=this._map.getZoom();if(u>this.options.maxZoom||u<this.options.minZoom){this._removeAllTiles();return}for(o in this._tiles)l=this._tiles[o],l.retain=l.current;for(o in this._tiles)if(l=this._tiles[o],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(o in this._tiles)this._tiles[o].retain||this._removeTile(o)}},_removeTilesAtZoom:function(o){for(var l in this._tiles)this._tiles[l].coords.z===o&&this._removeTile(l)},_removeAllTiles:function(){for(var o in this._tiles)this._removeTile(o)},_invalidateAll:function(){for(var o in this._levels)At(this._levels[o].el),this._onRemoveLevel(Number(o)),delete this._levels[o];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(o,l,u,g){var m=Math.floor(o/2),x=Math.floor(l/2),S=u-1,k=new B(+m,+x);k.z=+S;var A=this._tileCoordsToKey(k),N=this._tiles[A];return N&&N.active?(N.retain=!0,!0):(N&&N.loaded&&(N.retain=!0),S>g?this._retainParent(m,x,S,g):!1)},_retainChildren:function(o,l,u,g){for(var m=2*o;m<2*o+2;m++)for(var x=2*l;x<2*l+2;x++){var S=new B(m,x);S.z=u+1;var k=this._tileCoordsToKey(S),A=this._tiles[k];if(A&&A.active){A.retain=!0;continue}else A&&A.loaded&&(A.retain=!0);u+1<g&&this._retainChildren(m,x,u+1,g)}},_resetView:function(o){var l=o&&(o.pinch||o.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),l,l)},_animateZoom:function(o){this._setView(o.center,o.zoom,!0,o.noUpdate)},_clampZoom:function(o){var l=this.options;return l.minNativeZoom!==void 0&&o<l.minNativeZoom?l.minNativeZoom:l.maxNativeZoom!==void 0&&l.maxNativeZoom<o?l.maxNativeZoom:o},_setView:function(o,l,u,g){var m=Math.round(l);this.options.maxZoom!==void 0&&m>this.options.maxZoom||this.options.minZoom!==void 0&&m<this.options.minZoom?m=void 0:m=this._clampZoom(m);var x=this.options.updateWhenZooming&&m!==this._tileZoom;(!g||x)&&(this._tileZoom=m,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),m!==void 0&&this._update(o),u||this._pruneTiles(),this._noPrune=!!u),this._setZoomTransforms(o,l)},_setZoomTransforms:function(o,l){for(var u in this._levels)this._setZoomTransform(this._levels[u],o,l)},_setZoomTransform:function(o,l,u){var g=this._map.getZoomScale(u,o.zoom),m=o.origin.multiplyBy(g).subtract(this._map._getNewPixelOrigin(l,u)).round();K.any3d?bn(o.el,m,g):Gt(o.el,m)},_resetGrid:function(){var o=this._map,l=o.options.crs,u=this._tileSize=this.getTileSize(),g=this._tileZoom,m=this._map.getPixelWorldBounds(this._tileZoom);m&&(this._globalTileRange=this._pxBoundsToTileRange(m)),this._wrapX=l.wrapLng&&!this.options.noWrap&&[Math.floor(o.project([0,l.wrapLng[0]],g).x/u.x),Math.ceil(o.project([0,l.wrapLng[1]],g).x/u.y)],this._wrapY=l.wrapLat&&!this.options.noWrap&&[Math.floor(o.project([l.wrapLat[0],0],g).y/u.x),Math.ceil(o.project([l.wrapLat[1],0],g).y/u.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(o){var l=this._map,u=l._animatingZoom?Math.max(l._animateToZoom,l.getZoom()):l.getZoom(),g=l.getZoomScale(u,this._tileZoom),m=l.project(o,this._tileZoom).floor(),x=l.getSize().divideBy(g*2);return new ut(m.subtract(x),m.add(x))},_update:function(o){var l=this._map;if(l){var u=this._clampZoom(l.getZoom());if(o===void 0&&(o=l.getCenter()),this._tileZoom!==void 0){var g=this._getTiledPixelBounds(o),m=this._pxBoundsToTileRange(g),x=m.getCenter(),S=[],k=this.options.keepBuffer,A=new ut(m.getBottomLeft().subtract([k,-k]),m.getTopRight().add([k,-k]));if(!(isFinite(m.min.x)&&isFinite(m.min.y)&&isFinite(m.max.x)&&isFinite(m.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var N in this._tiles){var W=this._tiles[N].coords;(W.z!==this._tileZoom||!A.contains(new B(W.x,W.y)))&&(this._tiles[N].current=!1)}if(Math.abs(u-this._tileZoom)>1){this._setView(o,u);return}for(var nt=m.min.y;nt<=m.max.y;nt++)for(var pt=m.min.x;pt<=m.max.x;pt++){var he=new B(pt,nt);if(he.z=this._tileZoom,!!this._isValidTile(he)){var Kt=this._tiles[this._tileCoordsToKey(he)];Kt?Kt.current=!0:S.push(he)}}if(S.sort(function(me,mr){return me.distanceTo(x)-mr.distanceTo(x)}),S.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ke=document.createDocumentFragment();for(pt=0;pt<S.length;pt++)this._addTile(S[pt],ke);this._level.el.appendChild(ke)}}}},_isValidTile:function(o){var l=this._map.options.crs;if(!l.infinite){var u=this._globalTileRange;if(!l.wrapLng&&(o.x<u.min.x||o.x>u.max.x)||!l.wrapLat&&(o.y<u.min.y||o.y>u.max.y))return!1}if(!this.options.bounds)return!0;var g=this._tileCoordsToBounds(o);return $(this.options.bounds).overlaps(g)},_keyToBounds:function(o){return this._tileCoordsToBounds(this._keyToTileCoords(o))},_tileCoordsToNwSe:function(o){var l=this._map,u=this.getTileSize(),g=o.scaleBy(u),m=g.add(u),x=l.unproject(g,o.z),S=l.unproject(m,o.z);return[x,S]},_tileCoordsToBounds:function(o){var l=this._tileCoordsToNwSe(o),u=new xt(l[0],l[1]);return this.options.noWrap||(u=this._map.wrapLatLngBounds(u)),u},_tileCoordsToKey:function(o){return o.x+":"+o.y+":"+o.z},_keyToTileCoords:function(o){var l=o.split(":"),u=new B(+l[0],+l[1]);return u.z=+l[2],u},_removeTile:function(o){var l=this._tiles[o];l&&(At(l.el),delete this._tiles[o],this.fire("tileunload",{tile:l.el,coords:this._keyToTileCoords(o)}))},_initTile:function(o){dt(o,"leaflet-tile");var l=this.getTileSize();o.style.width=l.x+"px",o.style.height=l.y+"px",o.onselectstart=p,o.onmousemove=p,K.ielt9&&this.options.opacity<1&&Se(o,this.options.opacity)},_addTile:function(o,l){var u=this._getTilePos(o),g=this._tileCoordsToKey(o),m=this.createTile(this._wrapCoords(o),a(this._tileReady,this,o));this._initTile(m),this.createTile.length<2&&Y(a(this._tileReady,this,o,null,m)),Gt(m,u),this._tiles[g]={el:m,coords:o,current:!0},l.appendChild(m),this.fire("tileloadstart",{tile:m,coords:o})},_tileReady:function(o,l,u){l&&this.fire("tileerror",{error:l,tile:u,coords:o});var g=this._tileCoordsToKey(o);u=this._tiles[g],u&&(u.loaded=+new Date,this._map._fadeAnimated?(Se(u.el,0),q(this._fadeFrame),this._fadeFrame=Y(this._updateOpacity,this)):(u.active=!0,this._pruneTiles()),l||(dt(u.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:u.el,coords:o})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),K.ielt9||!this._map._fadeAnimated?Y(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(o){return o.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(o){var l=new B(this._wrapX?f(o.x,this._wrapX):o.x,this._wrapY?f(o.y,this._wrapY):o.y);return l.z=o.z,l},_pxBoundsToTileRange:function(o){var l=this.getTileSize();return new ut(o.min.unscaleBy(l).floor(),o.max.unscaleBy(l).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var o in this._tiles)if(!this._tiles[o].loaded)return!1;return!0}});function JL(o){return new ms(o)}var _r=ms.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(o,l){this._url=o,l=E(this,l),l.detectRetina&&K.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(o,l){return this._url===o&&l===void 0&&(l=!0),this._url=o,l||this.redraw(),this},createTile:function(o,l){var u=document.createElement("img");return ht(u,"load",a(this._tileOnLoad,this,l,u)),ht(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(o),u},getTileUrl:function(o){var l={r:K.retina?"@2x":"",s:this._getSubdomain(o),x:o.x,y:o.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var u=this._globalTileRange.max.y-o.y;this.options.tms&&(l.y=u),l["-y"]=u}return w(this._url,n(l,this.options))},_tileOnLoad:function(o,l){K.ielt9?setTimeout(a(o,this,null,l),0):o(null,l)},_tileOnError:function(o,l,u){var g=this.options.errorTileUrl;g&&l.getAttribute("src")!==g&&(l.src=g),o(u,l)},_onTileRemove:function(o){o.tile.onload=null},_getZoomForUrl:function(){var o=this._tileZoom,l=this.options.maxZoom,u=this.options.zoomReverse,g=this.options.zoomOffset;return u&&(o=l-o),o+g},_getSubdomain:function(o){var l=Math.abs(o.x+o.y)%this.options.subdomains.length;return this.options.subdomains[l]},_abortLoading:function(){var o,l;for(o in this._tiles)if(this._tiles[o].coords.z!==this._tileZoom&&(l=this._tiles[o].el,l.onload=p,l.onerror=p,!l.complete)){l.src=P;var u=this._tiles[o].coords;At(l),delete this._tiles[o],this.fire("tileabort",{tile:l,coords:u})}},_removeTile:function(o){var l=this._tiles[o];if(l)return l.el.setAttribute("src",P),ms.prototype._removeTile.call(this,o)},_tileReady:function(o,l,u){if(!(!this._map||u&&u.getAttribute("src")===P))return ms.prototype._tileReady.call(this,o,l,u)}});function fg(o,l){return new _r(o,l)}var gg=_r.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(o,l){this._url=o;var u=n({},this.defaultWmsParams);for(var g in l)g in this.options||(u[g]=l[g]);l=E(this,l);var m=l.detectRetina&&K.retina?2:1,x=this.getTileSize();u.width=x.x*m,u.height=x.y*m,this.wmsParams=u},onAdd:function(o){this._crs=this.options.crs||o.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var l=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[l]=this._crs.code,_r.prototype.onAdd.call(this,o)},getTileUrl:function(o){var l=this._tileCoordsToNwSe(o),u=this._crs,g=z(u.project(l[0]),u.project(l[1])),m=g.min,x=g.max,S=(this._wmsVersion>=1.3&&this._crs===og?[m.y,m.x,x.y,x.x]:[m.x,m.y,x.x,x.y]).join(","),k=_r.prototype.getTileUrl.call(this,o);return k+T(this.wmsParams,k,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+S},setParams:function(o,l){return n(this.wmsParams,o),l||this.redraw(),this}});function QL(o,l){return new gg(o,l)}_r.WMS=gg,fg.wms=QL;var Mi=Ue.extend({options:{padding:.1},initialize:function(o){E(this,o),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),dt(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 o={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(o.zoomanim=this._onAnimZoom),o},_onAnimZoom:function(o){this._updateTransform(o.center,o.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(o,l){var u=this._map.getZoomScale(l,this._zoom),g=this._map.getSize().multiplyBy(.5+this.options.padding),m=this._map.project(this._center,l),x=g.multiplyBy(-u).add(m).subtract(this._map._getNewPixelOrigin(o,l));K.any3d?bn(this._container,x,u):Gt(this._container,x)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var o in this._layers)this._layers[o]._reset()},_onZoomEnd:function(){for(var o in this._layers)this._layers[o]._project()},_updatePaths:function(){for(var o in this._layers)this._layers[o]._update()},_update:function(){var o=this.options.padding,l=this._map.getSize(),u=this._map.containerPointToLayerPoint(l.multiplyBy(-o)).round();this._bounds=new ut(u,u.add(l.multiplyBy(1+o*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),pg=Mi.extend({options:{tolerance:0},getEvents:function(){var o=Mi.prototype.getEvents.call(this);return o.viewprereset=this._onViewPreReset,o},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Mi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var o=this._container=document.createElement("canvas");ht(o,"mousemove",this._onMouseMove,this),ht(o,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ht(o,"mouseout",this._handleMouseOut,this),o._leaflet_disable_events=!0,this._ctx=o.getContext("2d")},_destroyContainer:function(){q(this._redrawRequest),delete this._ctx,At(this._container),Pt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var o;this._redrawBounds=null;for(var l in this._layers)o=this._layers[l],o._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mi.prototype._update.call(this);var o=this._bounds,l=this._container,u=o.getSize(),g=K.retina?2:1;Gt(l,o.min),l.width=g*u.x,l.height=g*u.y,l.style.width=u.x+"px",l.style.height=u.y+"px",K.retina&&this._ctx.scale(2,2),this._ctx.translate(-o.min.x,-o.min.y),this.fire("update")}},_reset:function(){Mi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(o){this._updateDashArray(o),this._layers[c(o)]=o;var l=o._order={layer:o,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=l),this._drawLast=l,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(o){this._requestRedraw(o)},_removePath:function(o){var l=o._order,u=l.next,g=l.prev;u?u.prev=g:this._drawLast=g,g?g.next=u:this._drawFirst=u,delete o._order,delete this._layers[c(o)],this._requestRedraw(o)},_updatePath:function(o){this._extendRedrawBounds(o),o._project(),o._update(),this._requestRedraw(o)},_updateStyle:function(o){this._updateDashArray(o),this._requestRedraw(o)},_updateDashArray:function(o){if(typeof o.options.dashArray=="string"){var l=o.options.dashArray.split(/[, ]+/),u=[],g,m;for(m=0;m<l.length;m++){if(g=Number(l[m]),isNaN(g))return;u.push(g)}o.options._dashArray=u}else o.options._dashArray=o.options.dashArray},_requestRedraw:function(o){this._map&&(this._extendRedrawBounds(o),this._redrawRequest=this._redrawRequest||Y(this._redraw,this))},_extendRedrawBounds:function(o){if(o._pxBounds){var l=(o.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new ut,this._redrawBounds.extend(o._pxBounds.min.subtract([l,l])),this._redrawBounds.extend(o._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 o=this._redrawBounds;if(o){var l=o.getSize();this._ctx.clearRect(o.min.x,o.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 o,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)o=g.layer,(!l||o._pxBounds&&o._pxBounds.intersects(l))&&o._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(o,l){if(this._drawing){var u,g,m,x,S=o._parts,k=S.length,A=this._ctx;if(k){for(A.beginPath(),u=0;u<k;u++){for(g=0,m=S[u].length;g<m;g++)x=S[u][g],A[g?"lineTo":"moveTo"](x.x,x.y);l&&A.closePath()}this._fillStroke(A,o)}}},_updateCircle:function(o){if(!(!this._drawing||o._empty())){var l=o._point,u=this._ctx,g=Math.max(Math.round(o._radius),1),m=(Math.max(Math.round(o._radiusY),1)||g)/g;m!==1&&(u.save(),u.scale(1,m)),u.beginPath(),u.arc(l.x,l.y/m,g,0,Math.PI*2,!1),m!==1&&u.restore(),this._fillStroke(u,o)}},_fillStroke:function(o,l){var u=l.options;u.fill&&(o.globalAlpha=u.fillOpacity,o.fillStyle=u.fillColor||u.color,o.fill(u.fillRule||"evenodd")),u.stroke&&u.weight!==0&&(o.setLineDash&&o.setLineDash(l.options&&l.options._dashArray||[]),o.globalAlpha=u.opacity,o.lineWidth=u.weight,o.strokeStyle=u.color,o.lineCap=u.lineCap,o.lineJoin=u.lineJoin,o.stroke())},_onClick:function(o){for(var l=this._map.mouseEventToLayerPoint(o),u,g,m=this._drawFirst;m;m=m.next)u=m.layer,u.options.interactive&&u._containsPoint(l)&&(!(o.type==="click"||o.type==="preclick")||!this._map._draggableMoved(u))&&(g=u);this._fireEvent(g?[g]:!1,o)},_onMouseMove:function(o){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var l=this._map.mouseEventToLayerPoint(o);this._handleMouseHover(o,l)}},_handleMouseOut:function(o){var l=this._hoveredLayer;l&&(Ft(this._container,"leaflet-interactive"),this._fireEvent([l],o,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(o,l){if(!this._mouseHoverThrottled){for(var u,g,m=this._drawFirst;m;m=m.next)u=m.layer,u.options.interactive&&u._containsPoint(l)&&(g=u);g!==this._hoveredLayer&&(this._handleMouseOut(o),g&&(dt(this._container,"leaflet-interactive"),this._fireEvent([g],o,"mouseover"),this._hoveredLayer=g)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,o),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(o,l,u){this._map._fireDOMEvent(l,u||l.type,o)},_bringToFront:function(o){var l=o._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(o)}},_bringToBack:function(o){var l=o._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(o)}}});function _g(o){return K.canvas?new pg(o):null}var ys=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(o){return document.createElement("<lvml:"+o+' class="lvml">')}}catch{}return function(o){return document.createElement("<"+o+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),$L={_initContainer:function(){this._container=wt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Mi.prototype._update.call(this),this.fire("update"))},_initPath:function(o){var l=o._container=ys("shape");dt(l,"leaflet-vml-shape "+(this.options.className||"")),l.coordsize="1 1",o._path=ys("path"),l.appendChild(o._path),this._updateStyle(o),this._layers[c(o)]=o},_addPath:function(o){var l=o._container;this._container.appendChild(l),o.options.interactive&&o.addInteractiveTarget(l)},_removePath:function(o){var l=o._container;At(l),o.removeInteractiveTarget(l),delete this._layers[c(o)]},_updateStyle:function(o){var l=o._stroke,u=o._fill,g=o.options,m=o._container;m.stroked=!!g.stroke,m.filled=!!g.fill,g.stroke?(l||(l=o._stroke=ys("stroke")),m.appendChild(l),l.weight=g.weight+"px",l.color=g.color,l.opacity=g.opacity,g.dashArray?l.dashStyle=b(g.dashArray)?g.dashArray.join(" "):g.dashArray.replace(/( *, *)/g," "):l.dashStyle="",l.endcap=g.lineCap.replace("butt","flat"),l.joinstyle=g.lineJoin):l&&(m.removeChild(l),o._stroke=null),g.fill?(u||(u=o._fill=ys("fill")),m.appendChild(u),u.color=g.fillColor||g.color,u.opacity=g.fillOpacity):u&&(m.removeChild(u),o._fill=null)},_updateCircle:function(o){var l=o._point.round(),u=Math.round(o._radius),g=Math.round(o._radiusY||u);this._setPath(o,o._empty()?"M0 0":"AL "+l.x+","+l.y+" "+u+","+g+" 0,"+65535*360)},_setPath:function(o,l){o._path.v=l},_bringToFront:function(o){cr(o._container)},_bringToBack:function(o){ur(o._container)}},_a=K.vml?ys:Ki,vs=Mi.extend({_initContainer:function(){this._container=_a("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=_a("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){At(this._container),Pt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mi.prototype._update.call(this);var o=this._bounds,l=o.getSize(),u=this._container;(!this._svgSize||!this._svgSize.equals(l))&&(this._svgSize=l,u.setAttribute("width",l.x),u.setAttribute("height",l.y)),Gt(u,o.min),u.setAttribute("viewBox",[o.min.x,o.min.y,l.x,l.y].join(" ")),this.fire("update")}},_initPath:function(o){var l=o._path=_a("path");o.options.className&&dt(l,o.options.className),o.options.interactive&&dt(l,"leaflet-interactive"),this._updateStyle(o),this._layers[c(o)]=o},_addPath:function(o){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(o._path),o.addInteractiveTarget(o._path)},_removePath:function(o){At(o._path),o.removeInteractiveTarget(o._path),delete this._layers[c(o)]},_updatePath:function(o){o._project(),o._update()},_updateStyle:function(o){var l=o._path,u=o.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(o,l){this._setPath(o,Fe(o._parts,l))},_updateCircle:function(o){var l=o._point,u=Math.max(Math.round(o._radius),1),g=Math.max(Math.round(o._radiusY),1)||u,m="a"+u+","+g+" 0 1,0 ",x=o._empty()?"M0 0":"M"+(l.x-u)+","+l.y+m+u*2+",0 "+m+-u*2+",0 ";this._setPath(o,x)},_setPath:function(o,l){o._path.setAttribute("d",l)},_bringToFront:function(o){cr(o._path)},_bringToBack:function(o){ur(o._path)}});K.vml&&vs.include($L);function mg(o){return K.svg||K.vml?new vs(o):null}yt.include({getRenderer:function(o){var l=o.options.renderer||this._getPaneRenderer(o.options.pane)||this.options.renderer||this._renderer;return l||(l=this._renderer=this._createRenderer()),this.hasLayer(l)||this.addLayer(l),l},_getPaneRenderer:function(o){if(o==="overlayPane"||o===void 0)return!1;var l=this._paneRenderers[o];return l===void 0&&(l=this._createRenderer({pane:o}),this._paneRenderers[o]=l),l},_createRenderer:function(o){return this.options.preferCanvas&&_g(o)||mg(o)}});var yg=gr.extend({initialize:function(o,l){gr.prototype.initialize.call(this,this._boundsToLatLngs(o),l)},setBounds:function(o){return this.setLatLngs(this._boundsToLatLngs(o))},_boundsToLatLngs:function(o){return o=$(o),[o.getSouthWest(),o.getNorthWest(),o.getNorthEast(),o.getSouthEast()]}});function tb(o,l){return new yg(o,l)}vs.create=_a,vs.pointsToPath=Fe,Ci.geometryToLayer=ha,Ci.coordsToLatLng=Bh,Ci.coordsToLatLngs=ca,Ci.latLngToCoords=Gh,Ci.latLngsToCoords=ua,Ci.getFeature=pr,Ci.asFeature=da,yt.mergeOptions({boxZoom:!0});var vg=ii.extend({initialize:function(o){this._map=o,this._container=o._container,this._pane=o._panes.overlayPane,this._resetStateTimeout=0,o.on("unload",this._destroy,this)},addHooks:function(){ht(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Pt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){At(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(o){if(!o.shiftKey||o.which!==1&&o.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),cs(),Eh(),this._startPoint=this._map.mouseEventToContainerPoint(o),ht(document,{contextmenu:Mn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(o){this._moved||(this._moved=!0,this._box=wt("div","leaflet-zoom-box",this._container),dt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(o);var l=new ut(this._point,this._startPoint),u=l.getSize();Gt(this._box,l.min),this._box.style.width=u.x+"px",this._box.style.height=u.y+"px"},_finish:function(){this._moved&&(At(this._box),Ft(this._container,"leaflet-crosshair")),us(),Lh(),Pt(document,{contextmenu:Mn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(o){if(!(o.which!==1&&o.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var l=new xt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(l).fire("boxzoomend",{boxZoomBounds:l})}},_onKeyDown:function(o){o.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});yt.addInitHook("addHandler","boxZoom",vg),yt.mergeOptions({doubleClickZoom:!0});var xg=ii.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(o){var l=this._map,u=l.getZoom(),g=l.options.zoomDelta,m=o.originalEvent.shiftKey?u-g:u+g;l.options.doubleClickZoom==="center"?l.setZoom(m):l.setZoomAround(o.containerPoint,m)}});yt.addInitHook("addHandler","doubleClickZoom",xg),yt.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wg=ii.extend({addHooks:function(){if(!this._draggable){var o=this._map;this._draggable=new nn(o._mapPane,o._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),o.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),o.on("zoomend",this._onZoomEnd,this),o.whenReady(this._onZoomEnd,this))}dt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Ft(this._map._container,"leaflet-grab"),Ft(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 o=this._map;if(o._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var l=$(this._map.options.maxBounds);this._offsetLimit=z(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;o.fire("movestart").fire("dragstart"),o.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(o){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",o).fire("drag",o)},_prunePositions:function(o){for(;this._positions.length>1&&o-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var o=this._map.getSize().divideBy(2),l=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=l.subtract(o).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(o,l){return o-(o-l)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var o=this._draggable._newPos.subtract(this._draggable._startPos),l=this._offsetLimit;o.x<l.min.x&&(o.x=this._viscousLimit(o.x,l.min.x)),o.y<l.min.y&&(o.y=this._viscousLimit(o.y,l.min.y)),o.x>l.max.x&&(o.x=this._viscousLimit(o.x,l.max.x)),o.y>l.max.y&&(o.y=this._viscousLimit(o.y,l.max.y)),this._draggable._newPos=this._draggable._startPos.add(o)}},_onPreDragWrap:function(){var o=this._worldWidth,l=Math.round(o/2),u=this._initialWorldOffset,g=this._draggable._newPos.x,m=(g-l+u)%o+l-u,x=(g+l+u)%o-l-u,S=Math.abs(m+u)<Math.abs(x+u)?m:x;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=S},_onDragEnd:function(o){var l=this._map,u=l.options,g=!u.inertia||o.noInertia||this._times.length<2;if(l.fire("dragend",o),g)l.fire("moveend");else{this._prunePositions(+new Date);var m=this._lastPos.subtract(this._positions[0]),x=(this._lastTime-this._times[0])/1e3,S=u.easeLinearity,k=m.multiplyBy(S/x),A=k.distanceTo([0,0]),N=Math.min(u.inertiaMaxSpeed,A),W=k.multiplyBy(N/A),nt=N/(u.inertiaDeceleration*S),pt=W.multiplyBy(-nt/2).round();!pt.x&&!pt.y?l.fire("moveend"):(pt=l._limitOffset(pt,l.options.maxBounds),Y(function(){l.panBy(pt,{duration:nt,easeLinearity:S,noMoveStart:!0,animate:!0})}))}}});yt.addInitHook("addHandler","dragging",wg),yt.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Eg=ii.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(o){this._map=o,this._setPanDelta(o.options.keyboardPanDelta),this._setZoomDelta(o.options.zoomDelta)},addHooks:function(){var o=this._map._container;o.tabIndex<=0&&(o.tabIndex="0"),ht(o,{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 o=document.body,l=document.documentElement,u=o.scrollTop||l.scrollTop,g=o.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(o){var l=this._panKeys={},u=this.keyCodes,g,m;for(g=0,m=u.left.length;g<m;g++)l[u.left[g]]=[-1*o,0];for(g=0,m=u.right.length;g<m;g++)l[u.right[g]]=[o,0];for(g=0,m=u.down.length;g<m;g++)l[u.down[g]]=[0,o];for(g=0,m=u.up.length;g<m;g++)l[u.up[g]]=[0,-1*o]},_setZoomDelta:function(o){var l=this._zoomKeys={},u=this.keyCodes,g,m;for(g=0,m=u.zoomIn.length;g<m;g++)l[u.zoomIn[g]]=o;for(g=0,m=u.zoomOut.length;g<m;g++)l[u.zoomOut[g]]=-o},_addHooks:function(){ht(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Pt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(o){if(!(o.altKey||o.ctrlKey||o.metaKey)){var l=o.keyCode,u=this._map,g;if(l in this._panKeys){if(!u._panAnim||!u._panAnim._inProgress)if(g=this._panKeys[l],o.shiftKey&&(g=Z(g).multiplyBy(3)),u.options.maxBounds&&(g=u._limitOffset(Z(g),u.options.maxBounds)),u.options.worldCopyJump){var m=u.wrapLatLng(u.unproject(u.project(u.getCenter()).add(g)));u.panTo(m)}else u.panBy(g)}else if(l in this._zoomKeys)u.setZoom(u.getZoom()+(o.shiftKey?3:1)*this._zoomKeys[l]);else if(l===27&&u._popup&&u._popup.options.closeOnEscapeKey)u.closePopup();else return;Mn(o)}}});yt.addInitHook("addHandler","keyboard",Eg),yt.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Lg=ii.extend({addHooks:function(){ht(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Pt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(o){var l=Xf(o),u=this._map.options.wheelDebounceTime;this._delta+=l,this._lastMousePos=this._map.mouseEventToContainerPoint(o),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),Mn(o)},_performZoom:function(){var o=this._map,l=o.getZoom(),u=this._map.options.zoomSnap||0;o._stop();var g=this._delta/(this._map.options.wheelPxPerZoomLevel*4),m=4*Math.log(2/(1+Math.exp(-Math.abs(g))))/Math.LN2,x=u?Math.ceil(m/u)*u:m,S=o._limitZoom(l+(this._delta>0?x:-x))-l;this._delta=0,this._startTime=null,S&&(o.options.scrollWheelZoom==="center"?o.setZoom(l+S):o.setZoomAround(this._lastMousePos,l+S))}});yt.addInitHook("addHandler","scrollWheelZoom",Lg);var eb=600;yt.mergeOptions({tapHold:K.touchNative&&K.safari&&K.mobile,tapTolerance:15});var bg=ii.extend({addHooks:function(){ht(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Pt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(o){if(clearTimeout(this._holdTimeout),o.touches.length===1){var l=o.touches[0];this._startPos=this._newPos=new B(l.clientX,l.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(ht(document,"touchend",Qt),ht(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",l))},this),eb),ht(document,"touchend touchcancel contextmenu",this._cancel,this),ht(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function o(){Pt(document,"touchend",Qt),Pt(document,"touchend touchcancel",o)},_cancel:function(){clearTimeout(this._holdTimeout),Pt(document,"touchend touchcancel contextmenu",this._cancel,this),Pt(document,"touchmove",this._onMove,this)},_onMove:function(o){var l=o.touches[0];this._newPos=new B(l.clientX,l.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(o,l){var u=new MouseEvent(o,{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)}});yt.addInitHook("addHandler","tapHold",bg),yt.mergeOptions({touchZoom:K.touch,bounceAtZoomLimits:!0});var Tg=ii.extend({addHooks:function(){dt(this._map._container,"leaflet-touch-zoom"),ht(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Ft(this._map._container,"leaflet-touch-zoom"),Pt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(o){var l=this._map;if(!(!o.touches||o.touches.length!==2||l._animatingZoom||this._zooming)){var u=l.mouseEventToContainerPoint(o.touches[0]),g=l.mouseEventToContainerPoint(o.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(),ht(document,"touchmove",this._onTouchMove,this),ht(document,"touchend touchcancel",this._onTouchEnd,this),Qt(o)}},_onTouchMove:function(o){if(!(!o.touches||o.touches.length!==2||!this._zooming)){var l=this._map,u=l.mouseEventToContainerPoint(o.touches[0]),g=l.mouseEventToContainerPoint(o.touches[1]),m=u.distanceTo(g)/this._startDist;if(this._zoom=l.getScaleZoom(m,this._startZoom),!l.options.bounceAtZoomLimits&&(this._zoom<l.getMinZoom()&&m<1||this._zoom>l.getMaxZoom()&&m>1)&&(this._zoom=l._limitZoom(this._zoom)),l.options.touchZoom==="center"){if(this._center=this._startLatLng,m===1)return}else{var x=u._add(g)._divideBy(2)._subtract(this._centerPoint);if(m===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 S=a(l._move,l,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Y(S,this,!0),Qt(o)}},_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))}});yt.addInitHook("addHandler","touchZoom",Tg),yt.BoxZoom=vg,yt.DoubleClickZoom=xg,yt.Drag=wg,yt.Keyboard=Eg,yt.ScrollWheelZoom=Lg,yt.TapHold=bg,yt.TouchZoom=Tg,e.Bounds=ut,e.Browser=K,e.CRS=kt,e.Canvas=pg,e.Circle=Nh,e.CircleMarker=la,e.Class=_t,e.Control=Ge,e.DivIcon=dg,e.DivOverlay=ni,e.DomEvent=vL,e.DomUtil=mL,e.Draggable=nn,e.Evented=j,e.FeatureGroup=bi,e.GeoJSON=Ci,e.GridLayer=ms,e.Handler=ii,e.Icon=fr,e.ImageOverlay=fa,e.LatLng=tt,e.LatLngBounds=xt,e.Layer=Ue,e.LayerGroup=dr,e.LineUtil=AL,e.Map=yt,e.Marker=aa,e.Mixin=CL,e.Path=rn,e.Point=B,e.PolyUtil=ML,e.Polygon=gr,e.Polyline=Ti,e.Popup=ga,e.PosAnimation=Yf,e.Projection=IL,e.Rectangle=yg,e.Renderer=Mi,e.SVG=vs,e.SVGOverlay=ug,e.TileLayer=_r,e.Tooltip=pa,e.Transformation=Xi,e.Util=st,e.VideoOverlay=cg,e.bind=a,e.bounds=z,e.canvas=_g,e.circle=UL,e.circleMarker=GL,e.control=gs,e.divIcon=qL,e.extend=n,e.featureGroup=zL,e.geoJSON=hg,e.geoJson=WL,e.gridLayer=JL,e.icon=NL,e.imageOverlay=HL,e.latLng=at,e.latLngBounds=$,e.layerGroup=FL,e.map=xL,e.marker=BL,e.point=Z,e.polygon=ZL,e.polyline=jL,e.popup=YL,e.rectangle=tb,e.setOptions=E,e.stamp=c,e.svg=mg,e.svgOverlay=XL,e.tileLayer=fg,e.tooltip=KL,e.transformation=Me,e.version=i,e.videoOverlay=VL;var ib=window.L;e.noConflict=function(){return window.L=ib,this},window.L=e})}(Ls,Ls.exports)),Ls.exports}var Q=Qh();const fb="";function $h(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 Bg(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(!tc(r[0])||!tc(r[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:r};return $h(i,t,e)}function Gg(r,t,e){e===void 0&&(e={});for(var i=0,n=r;i<n.length;i++){var s=n[i];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error("First and last Position are not equivalent.")}var h={type:"Polygon",coordinates:r};return $h(h,t,e)}function tc(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function Ug(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 jg(r){return r.type==="Feature"?r.geometry:r}function Zg(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=Ug(r),n=jg(t),s=n.type,a=t.bbox,h=n.coordinates;if(a&&Wg(i,a)===!1)return!1;s==="Polygon"&&(h=[h]);for(var c=!1,d=0;d<h.length&&!c;d++)if(ec(i,h[d][0],e.ignoreBoundary)){for(var f=!1,p=1;p<h[d].length&&!f;)ec(i,h[d][p],!e.ignoreBoundary)&&(f=!0),p++;f||(c=!0)}return c}function ec(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,s=t.length-1;n<t.length;s=n++){var a=t[n][0],h=t[n][1],c=t[s][0],d=t[s][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 p=h>r[1]!=d>r[1]&&r[0]<(c-a)*(r[1]-h)/(d-h)+a;p&&(i=!i)}return i}function Wg(r,t){return t[0]<=r[0]&&t[1]<=r[1]&&t[2]>=r[0]&&t[3]>=r[1]}var ic={exports:{}};ic.exports=bs,ic.exports.default=bs;function bs(r,t,e){e=e||2;var i=t&&t.length,n=i?t[0]*e:r.length,s=nc(r,0,n,e,!0),a=[];if(!s||s.next===s.prev)return a;var h,c,d,f,p,_,y;if(i&&(s=Kg(r,t,s,e)),r.length>80*e){h=d=r[0],c=f=r[1];for(var v=e;v<n;v+=e)p=r[v],_=r[v+1],p<h&&(h=p),_<c&&(c=_),p>d&&(d=p),_>f&&(f=_);y=Math.max(d-h,f-c),y=y!==0?32767/y:0}return yr(s,a,e,h,c,y,0),a}function nc(r,t,e,i,n){var s,a;if(n===Ea(r,t,e,i)>0)for(s=t;s<e;s+=i)a=oc(s,r[s],r[s+1],a);else for(s=e-i;s>=t;s-=i)a=oc(s,r[s],r[s+1],a);return a&&Ts(a,a.next)&&(xr(a),a=a.next),a}function sn(r,t){if(!r)return r;t||(t=r);var e=r,i;do if(i=!1,!e.steiner&&(Ts(e,e.next)||Rt(e.prev,e,e.next)===0)){if(xr(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function yr(r,t,e,i,n,s,a){if(r){!a&&s&&tp(r,i,n,s);for(var h=r,c,d;r.prev!==r.next;){if(c=r.prev,d=r.next,s?Vg(r,i,n,s):Hg(r)){t.push(c.i/e|0),t.push(r.i/e|0),t.push(d.i/e|0),xr(r),r=d.next,h=d.next;continue}if(r=d,r===h){a?a===1?(r=Xg(sn(r),t,e),yr(r,t,e,i,n,s,2)):a===2&&Yg(r,t,e,i,n,s):yr(sn(r),t,e,i,n,s,1);break}}}}function Hg(r){var t=r.prev,e=r,i=r.next;if(Rt(t,e,i)>=0)return!1;for(var n=t.x,s=e.x,a=i.x,h=t.y,c=e.y,d=i.y,f=n<s?n<a?n:a:s<a?s:a,p=h<c?h<d?h:d:c<d?c:d,_=n>s?n>a?n:a:s>a?s:a,y=h>c?h>d?h:d:c>d?c:d,v=i.next;v!==t;){if(v.x>=f&&v.x<=_&&v.y>=p&&v.y<=y&&Pn(n,h,s,c,a,d,v.x,v.y)&&Rt(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function Vg(r,t,e,i){var n=r.prev,s=r,a=r.next;if(Rt(n,s,a)>=0)return!1;for(var h=n.x,c=s.x,d=a.x,f=n.y,p=s.y,_=a.y,y=h<c?h<d?h:d:c<d?c:d,v=f<p?f<_?f:_:p<_?p:_,E=h>c?h>d?h:d:c>d?c:d,T=f>p?f>_?f:_:p>_?p:_,M=xa(y,v,t,e,i),w=xa(E,T,t,e,i),b=r.prevZ,C=r.nextZ;b&&b.z>=M&&C&&C.z<=w;){if(b.x>=y&&b.x<=E&&b.y>=v&&b.y<=T&&b!==n&&b!==a&&Pn(h,f,c,p,d,_,b.x,b.y)&&Rt(b.prev,b,b.next)>=0||(b=b.prevZ,C.x>=y&&C.x<=E&&C.y>=v&&C.y<=T&&C!==n&&C!==a&&Pn(h,f,c,p,d,_,C.x,C.y)&&Rt(C.prev,C,C.next)>=0))return!1;C=C.nextZ}for(;b&&b.z>=M;){if(b.x>=y&&b.x<=E&&b.y>=v&&b.y<=T&&b!==n&&b!==a&&Pn(h,f,c,p,d,_,b.x,b.y)&&Rt(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;C&&C.z<=w;){if(C.x>=y&&C.x<=E&&C.y>=v&&C.y<=T&&C!==n&&C!==a&&Pn(h,f,c,p,d,_,C.x,C.y)&&Rt(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function Xg(r,t,e){var i=r;do{var n=i.prev,s=i.next.next;!Ts(n,s)&&rc(n,i,i.next,s)&&vr(n,s)&&vr(s,n)&&(t.push(n.i/e|0),t.push(i.i/e|0),t.push(s.i/e|0),xr(i),xr(i.next),i=r=s),i=i.next}while(i!==r);return sn(i)}function Yg(r,t,e,i,n,s){var a=r;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&np(a,h)){var c=sc(a,h);a=sn(a,a.next),c=sn(c,c.next),yr(a,t,e,i,n,s,0),yr(c,t,e,i,n,s,0);return}h=h.next}a=a.next}while(a!==r)}function Kg(r,t,e,i){var n=[],s,a,h,c,d;for(s=0,a=t.length;s<a;s++)h=t[s]*i,c=s<a-1?t[s+1]*i:r.length,d=nc(r,h,c,i,!1),d===d.next&&(d.steiner=!0),n.push(ip(d));for(n.sort(qg),s=0;s<n.length;s++)e=Jg(n[s],e);return e}function qg(r,t){return r.x-t.x}function Jg(r,t){var e=Qg(r,t);if(!e)return t;var i=sc(e,r);return sn(i,i.next),sn(e,e.next)}function Qg(r,t){var e=t,i=r.x,n=r.y,s=-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>s&&(s=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,p=1/0,_;e=a;do i>=e.x&&e.x>=d&&i!==e.x&&Pn(n<f?i:s,n,d,f,n<f?s:i,n,e.x,e.y)&&(_=Math.abs(n-e.y)/(i-e.x),vr(e,r)&&(_<p||_===p&&(e.x>a.x||e.x===a.x&&$g(a,e)))&&(a=e,p=_)),e=e.next;while(e!==c);return a}function $g(r,t){return Rt(r.prev,r,t.prev)<0&&Rt(t.next,r,r.next)<0}function tp(r,t,e,i){var n=r;do n.z===0&&(n.z=xa(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,ep(n)}function ep(r){var t,e,i,n,s,a,h,c,d=1;do{for(e=r,r=null,s=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--),s?s.nextZ=n:r=n,n.prevZ=s,s=n;e=i}s.nextZ=null,d*=2}while(a>1);return r}function xa(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 ip(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 Pn(r,t,e,i,n,s,a,h){return(n-a)*(t-h)>=(r-a)*(s-h)&&(r-a)*(i-h)>=(e-a)*(t-h)&&(e-a)*(s-h)>=(n-a)*(i-h)}function np(r,t){return r.next.i!==t.i&&r.prev.i!==t.i&&!rp(r,t)&&(vr(r,t)&&vr(t,r)&&sp(r,t)&&(Rt(r.prev,r,t.prev)||Rt(r,t.prev,t))||Ts(r,t)&&Rt(r.prev,r,r.next)>0&&Rt(t.prev,t,t.next)>0)}function Rt(r,t,e){return(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y)}function Ts(r,t){return r.x===t.x&&r.y===t.y}function rc(r,t,e,i){var n=Ms(Rt(r,t,e)),s=Ms(Rt(r,t,i)),a=Ms(Rt(e,i,r)),h=Ms(Rt(e,i,t));return!!(n!==s&&a!==h||n===0&&Cs(r,e,t)||s===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 Ms(r){return r>0?1:r<0?-1:0}function rp(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&&rc(e,e.next,r,t))return!0;e=e.next}while(e!==r);return!1}function vr(r,t){return Rt(r.prev,r,r.next)<0?Rt(r,t,r.next)>=0&&Rt(r,r.prev,t)>=0:Rt(r,t,r.prev)<0||Rt(r,r.next,t)<0}function sp(r,t){var e=r,i=!1,n=(r.x+t.x)/2,s=(r.y+t.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&n<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==r);return i}function sc(r,t){var e=new wa(r.i,r.x,r.y),i=new wa(t.i,t.x,t.y),n=r.next,s=t.prev;return r.next=t,t.prev=r,e.next=n,n.prev=e,i.next=e,e.prev=i,s.next=i,i.prev=s,i}function oc(r,t,e,i){var n=new wa(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 xr(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 wa(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}bs.deviation=function(r,t,e,i){var n=t&&t.length,s=n?t[0]*e:r.length,a=Math.abs(Ea(r,0,s,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(Ea(r,d,f,e))}var p=0;for(h=0;h<i.length;h+=3){var _=i[h]*e,y=i[h+1]*e,v=i[h+2]*e;p+=Math.abs((r[_]-r[v])*(r[y+1]-r[_+1])-(r[_]-r[y])*(r[v+1]-r[_+1]))}return a===0&&p===0?0:Math.abs((p-a)/a)};function Ea(r,t,e,i){for(var n=0,s=t,a=e-i;s<e;s+=i)n+=(r[a]-r[s])*(r[s+1]+r[a+1]),a=s;return n}bs.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 s=0;s<r[n].length;s++)for(var a=0;a<t;a++)e.vertices.push(r[n][s][a]);n>0&&(i+=r[n-1].length,e.holes.push(i))}return e};const gb="";var op={exports:{}};const ac=[["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"]],si=(()=>{if(typeof document>"u")return!1;const r=ac[0],t={};for(const e of ac)if((e==null?void 0:e[1])in document){for(const[n,s]of e.entries())t[r[n]]=s;return t}return!1})(),lc={change:si.fullscreenchange,error:si.fullscreenerror};let ve={request(r=document.documentElement,t){return new Promise((e,i)=>{const n=()=>{ve.off("change",n),e()};ve.on("change",n);const s=r[si.requestFullscreen](t);s instanceof Promise&&s.then(n).catch(i)})},exit(){return new Promise((r,t)=>{if(!ve.isFullscreen){r();return}const e=()=>{ve.off("change",e),r()};ve.on("change",e);const i=document[si.exitFullscreen]();i instanceof Promise&&i.then(e).catch(t)})},toggle(r,t){return ve.isFullscreen?ve.exit():ve.request(r,t)},onchange(r){ve.on("change",r)},onerror(r){ve.on("error",r)},on(r,t){const e=lc[r];e&&document.addEventListener(e,t,!1)},off(r,t){const e=lc[r];e&&document.removeEventListener(e,t,!1)},raw:si};Object.defineProperties(ve,{isFullscreen:{get:()=>!!document[si.fullscreenElement]},element:{enumerable:!0,get:()=>document[si.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>!!document[si.fullscreenEnabled]}}),si||(ve={isEnabled:!1});const ap=Wh(Object.freeze(Object.defineProperty({__proto__:null,default:ve},Symbol.toStringTag,{value:"Module"})));/*!
4
+ */(function(r,t){(function(e,i){i(t)})(ri,function(e){var i="1.9.4";function n(o){var l,u,g,_;for(u=1,g=arguments.length;u<g;u++){_=arguments[u];for(l in _)o[l]=_[l]}return o}var s=Object.create||function(){function o(){}return function(l){return o.prototype=l,new o}}();function a(o,l){var u=Array.prototype.slice;if(o.bind)return o.bind.apply(o,u.call(arguments,1));var g=u.call(arguments,2);return function(){return o.apply(l,g.length?g.concat(u.call(arguments)):arguments)}}var h=0;function c(o){return"_leaflet_id"in o||(o._leaflet_id=++h),o._leaflet_id}function d(o,l,u){var g,_,x,T;return T=function(){g=!1,_&&(x.apply(u,_),_=!1)},x=function(){g?_=arguments:(o.apply(u,arguments),setTimeout(T,l),g=!0)},x}function f(o,l,u){var g=l[1],_=l[0],x=g-_;return o===g&&u?o:((o-_)%x+x)%x+_}function p(){return!1}function m(o,l){if(l===!1)return o;var u=Math.pow(10,l===void 0?6:l);return Math.round(o*u)/u}function y(o){return o.trim?o.trim():o.replace(/^\s+|\s+$/g,"")}function v(o){return y(o).split(/\s+/)}function A(o,l){Object.prototype.hasOwnProperty.call(o,"options")||(o.options=o.options?s(o.options):{});for(var u in l)o.options[u]=l[u];return o.options}function M(o,l,u){var g=[];for(var _ in o)g.push(encodeURIComponent(u?_.toUpperCase():_)+"="+encodeURIComponent(o[_]));return(!l||l.indexOf("?")===-1?"?":"&")+g.join("&")}var b=/\{ *([\w_ -]+) *\}/g;function w(o,l){return o.replace(b,function(u,g){var _=l[g];if(_===void 0)throw new Error("No value provided for variable "+u);return typeof _=="function"&&(_=_(l)),_})}var E=Array.isArray||function(o){return Object.prototype.toString.call(o)==="[object Array]"};function C(o,l){for(var u=0;u<o.length;u++)if(o[u]===l)return u;return-1}var D="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function P(o){return window["webkit"+o]||window["moz"+o]||window["ms"+o]}var O=0;function k(o){var l=+new Date,u=Math.max(0,16-(l-O));return O=l+u,window.setTimeout(o,u)}var N=window.requestAnimationFrame||P("RequestAnimationFrame")||k,H=window.cancelAnimationFrame||P("CancelAnimationFrame")||P("CancelRequestAnimationFrame")||function(o){window.clearTimeout(o)};function U(o,l,u){if(u&&N===k)o.call(l);else return N.call(window,a(o,l))}function Q(o){o&&H.call(window,o)}var tt={__proto__:null,extend:n,create:s,bind:a,get lastId(){return h},stamp:c,throttle:d,wrapNum:f,falseFn:p,formatNum:m,trim:y,splitWords:v,setOptions:A,getParamString:M,template:w,isArray:E,indexOf:C,emptyImageUrl:D,requestFn:N,cancelFn:H,requestAnimFrame:U,cancelAnimFrame:Q};function at(){}at.extend=function(o){var l=function(){A(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},u=l.__super__=this.prototype,g=s(u);g.constructor=l,l.prototype=g;for(var _ in this)Object.prototype.hasOwnProperty.call(this,_)&&_!=="prototype"&&_!=="__super__"&&(l[_]=this[_]);return o.statics&&n(l,o.statics),o.includes&&(Y(o.includes),n.apply(null,[g].concat(o.includes))),n(g,o),delete g.statics,delete g.includes,g.options&&(g.options=u.options?s(u.options):{},n(g.options,o.options)),g._initHooks=[],g.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this),this._initHooksCalled=!0;for(var x=0,T=g._initHooks.length;x<T;x++)g._initHooks[x].call(this)}},l},at.include=function(o){var l=this.prototype.options;return n(this.prototype,o),o.options&&(this.prototype.options=l,this.mergeOptions(o.options)),this},at.mergeOptions=function(o){return n(this.prototype.options,o),this},at.addInitHook=function(o){var l=Array.prototype.slice.call(arguments,1),u=typeof o=="function"?o:function(){this[o].apply(this,l)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(u),this};function Y(o){if(!(typeof L>"u"||!L||!L.Mixin)){o=E(o)?o:[o];for(var l=0;l<o.length;l++)o[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 W={on:function(o,l,u){if(typeof o=="object")for(var g in o)this._on(g,o[g],l);else{o=v(o);for(var _=0,x=o.length;_<x;_++)this._on(o[_],l,u)}return this},off:function(o,l,u){if(!arguments.length)delete this._events;else if(typeof o=="object")for(var g in o)this._off(g,o[g],l);else{o=v(o);for(var _=arguments.length===1,x=0,T=o.length;x<T;x++)_?this._off(o[x]):this._off(o[x],l,u)}return this},_on:function(o,l,u,g){if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}if(this._listens(o,l,u)===!1){u===this&&(u=void 0);var _={fn:l,ctx:u};g&&(_.once=!0),this._events=this._events||{},this._events[o]=this._events[o]||[],this._events[o].push(_)}},_off:function(o,l,u){var g,_,x;if(this._events&&(g=this._events[o],!!g)){if(arguments.length===1){if(this._firingCount)for(_=0,x=g.length;_<x;_++)g[_].fn=p;delete this._events[o];return}if(typeof l!="function"){console.warn("wrong listener type: "+typeof l);return}var T=this._listens(o,l,u);if(T!==!1){var I=g[T];this._firingCount&&(I.fn=p,this._events[o]=g=g.slice()),g.splice(T,1)}}},fire:function(o,l,u){if(!this.listens(o,u))return this;var g=n({},l,{type:o,target:this,sourceTarget:l&&l.sourceTarget||this});if(this._events){var _=this._events[o];if(_){this._firingCount=this._firingCount+1||1;for(var x=0,T=_.length;x<T;x++){var I=_[x],S=I.fn;I.once&&this.off(o,S,I.ctx),S.call(I.ctx||this,g)}this._firingCount--}}return u&&this._propagateEvent(g),this},listens:function(o,l,u,g){typeof o!="string"&&console.warn('"string" type argument expected');var _=l;typeof l!="function"&&(g=!!l,_=void 0,u=void 0);var x=this._events&&this._events[o];if(x&&x.length&&this._listens(o,_,u)!==!1)return!0;if(g){for(var T in this._eventParents)if(this._eventParents[T].listens(o,l,u,g))return!0}return!1},_listens:function(o,l,u){if(!this._events)return!1;var g=this._events[o]||[];if(!l)return!!g.length;u===this&&(u=void 0);for(var _=0,x=g.length;_<x;_++)if(g[_].fn===l&&g[_].ctx===u)return _;return!1},once:function(o,l,u){if(typeof o=="object")for(var g in o)this._on(g,o[g],l,!0);else{o=v(o);for(var _=0,x=o.length;_<x;_++)this._on(o[_],l,u,!0)}return this},addEventParent:function(o){return this._eventParents=this._eventParents||{},this._eventParents[c(o)]=o,this},removeEventParent:function(o){return this._eventParents&&delete this._eventParents[c(o)],this},_propagateEvent:function(o){for(var l in this._eventParents)this._eventParents[l].fire(o.type,n({layer:o.target,propagatedFrom:o.target},o),!0)}};W.addEventListener=W.on,W.removeEventListener=W.clearAllEventListeners=W.off,W.addOneTimeEventListener=W.once,W.fireEvent=W.fire,W.hasEventListeners=W.listens;var G=at.extend(W);function F(o,l,u){this.x=u?Math.round(o):o,this.y=u?Math.round(l):l}var nt=Math.trunc||function(o){return o>0?Math.floor(o):Math.ceil(o)};F.prototype={clone:function(){return new F(this.x,this.y)},add:function(o){return this.clone()._add(Z(o))},_add:function(o){return this.x+=o.x,this.y+=o.y,this},subtract:function(o){return this.clone()._subtract(Z(o))},_subtract:function(o){return this.x-=o.x,this.y-=o.y,this},divideBy:function(o){return this.clone()._divideBy(o)},_divideBy:function(o){return this.x/=o,this.y/=o,this},multiplyBy:function(o){return this.clone()._multiplyBy(o)},_multiplyBy:function(o){return this.x*=o,this.y*=o,this},scaleBy:function(o){return new F(this.x*o.x,this.y*o.y)},unscaleBy:function(o){return new F(this.x/o.x,this.y/o.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=nt(this.x),this.y=nt(this.y),this},distanceTo:function(o){o=Z(o);var l=o.x-this.x,u=o.y-this.y;return Math.sqrt(l*l+u*u)},equals:function(o){return o=Z(o),o.x===this.x&&o.y===this.y},contains:function(o){return o=Z(o),Math.abs(o.x)<=Math.abs(this.x)&&Math.abs(o.y)<=Math.abs(this.y)},toString:function(){return"Point("+m(this.x)+", "+m(this.y)+")"}};function Z(o,l,u){return o instanceof F?o:E(o)?new F(o[0],o[1]):o==null?o:typeof o=="object"&&"x"in o&&"y"in o?new F(o.x,o.y):new F(o,l,u)}function rt(o,l){if(o)for(var u=l?[o,l]:o,g=0,_=u.length;g<_;g++)this.extend(u[g])}rt.prototype={extend:function(o){var l,u;if(!o)return this;if(o instanceof F||typeof o[0]=="number"||"x"in o)l=u=Z(o);else if(o=z(o),l=o.min,u=o.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(o){return Z((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,o)},getBottomLeft:function(){return Z(this.min.x,this.max.y)},getTopRight:function(){return Z(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(o){var l,u;return typeof o[0]=="number"||o instanceof F?o=Z(o):o=z(o),o instanceof rt?(l=o.min,u=o.max):l=u=o,l.x>=this.min.x&&u.x<=this.max.x&&l.y>=this.min.y&&u.y<=this.max.y},intersects:function(o){o=z(o);var l=this.min,u=this.max,g=o.min,_=o.max,x=_.x>=l.x&&g.x<=u.x,T=_.y>=l.y&&g.y<=u.y;return x&&T},overlaps:function(o){o=z(o);var l=this.min,u=this.max,g=o.min,_=o.max,x=_.x>l.x&&g.x<u.x,T=_.y>l.y&&g.y<u.y;return x&&T},isValid:function(){return!!(this.min&&this.max)},pad:function(o){var l=this.min,u=this.max,g=Math.abs(l.x-u.x)*o,_=Math.abs(l.y-u.y)*o;return z(Z(l.x-g,l.y-_),Z(u.x+g,u.y+_))},equals:function(o){return o?(o=z(o),this.min.equals(o.getTopLeft())&&this.max.equals(o.getBottomRight())):!1}};function z(o,l){return!o||o instanceof rt?o:new rt(o,l)}function ft(o,l){if(o)for(var u=l?[o,l]:o,g=0,_=u.length;g<_;g++)this.extend(u[g])}ft.prototype={extend:function(o){var l=this._southWest,u=this._northEast,g,_;if(o instanceof et)g=o,_=o;else if(o instanceof ft){if(g=o._southWest,_=o._northEast,!g||!_)return this}else return o?this.extend(ct(o)||q(o)):this;return!l&&!u?(this._southWest=new et(g.lat,g.lng),this._northEast=new et(_.lat,_.lng)):(l.lat=Math.min(g.lat,l.lat),l.lng=Math.min(g.lng,l.lng),u.lat=Math.max(_.lat,u.lat),u.lng=Math.max(_.lng,u.lng)),this},pad:function(o){var l=this._southWest,u=this._northEast,g=Math.abs(l.lat-u.lat)*o,_=Math.abs(l.lng-u.lng)*o;return new ft(new et(l.lat-g,l.lng-_),new et(u.lat+g,u.lng+_))},getCenter:function(){return new et((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 et(this.getNorth(),this.getWest())},getSouthEast:function(){return new et(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(o){typeof o[0]=="number"||o instanceof et||"lat"in o?o=ct(o):o=q(o);var l=this._southWest,u=this._northEast,g,_;return o instanceof ft?(g=o.getSouthWest(),_=o.getNorthEast()):g=_=o,g.lat>=l.lat&&_.lat<=u.lat&&g.lng>=l.lng&&_.lng<=u.lng},intersects:function(o){o=q(o);var l=this._southWest,u=this._northEast,g=o.getSouthWest(),_=o.getNorthEast(),x=_.lat>=l.lat&&g.lat<=u.lat,T=_.lng>=l.lng&&g.lng<=u.lng;return x&&T},overlaps:function(o){o=q(o);var l=this._southWest,u=this._northEast,g=o.getSouthWest(),_=o.getNorthEast(),x=_.lat>l.lat&&g.lat<u.lat,T=_.lng>l.lng&&g.lng<u.lng;return x&&T},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(o,l){return o?(o=q(o),this._southWest.equals(o.getSouthWest(),l)&&this._northEast.equals(o.getNorthEast(),l)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function q(o,l){return o instanceof ft?o:new ft(o,l)}function et(o,l,u){if(isNaN(o)||isNaN(l))throw new Error("Invalid LatLng object: ("+o+", "+l+")");this.lat=+o,this.lng=+l,u!==void 0&&(this.alt=+u)}et.prototype={equals:function(o,l){if(!o)return!1;o=ct(o);var u=Math.max(Math.abs(this.lat-o.lat),Math.abs(this.lng-o.lng));return u<=(l===void 0?1e-9:l)},toString:function(o){return"LatLng("+m(this.lat,o)+", "+m(this.lng,o)+")"},distanceTo:function(o){return Xt.distance(this,ct(o))},wrap:function(){return Xt.wrapLatLng(this)},toBounds:function(o){var l=180*o/40075017,u=l/Math.cos(Math.PI/180*this.lat);return q([this.lat-l,this.lng-u],[this.lat+l,this.lng+u])},clone:function(){return new et(this.lat,this.lng,this.alt)}};function ct(o,l,u){return o instanceof et?o:E(o)&&typeof o[0]!="object"?o.length===3?new et(o[0],o[1],o[2]):o.length===2?new et(o[0],o[1]):null:o==null?o:typeof o=="object"&&"lat"in o?new et(o.lat,"lng"in o?o.lng:o.lon,o.alt):l===void 0?null:new et(o,l,u)}var Pt={latLngToPoint:function(o,l){var u=this.projection.project(o),g=this.scale(l);return this.transformation._transform(u,g)},pointToLatLng:function(o,l){var u=this.scale(l),g=this.transformation.untransform(o,u);return this.projection.unproject(g)},project:function(o){return this.projection.project(o)},unproject:function(o){return this.projection.unproject(o)},scale:function(o){return 256*Math.pow(2,o)},zoom:function(o){return Math.log(o/256)/Math.LN2},getProjectedBounds:function(o){if(this.infinite)return null;var l=this.projection.bounds,u=this.scale(o),g=this.transformation.transform(l.min,u),_=this.transformation.transform(l.max,u);return new rt(g,_)},infinite:!1,wrapLatLng:function(o){var l=this.wrapLng?f(o.lng,this.wrapLng,!0):o.lng,u=this.wrapLat?f(o.lat,this.wrapLat,!0):o.lat,g=o.alt;return new et(u,l,g)},wrapLatLngBounds:function(o){var l=o.getCenter(),u=this.wrapLatLng(l),g=l.lat-u.lat,_=l.lng-u.lng;if(g===0&&_===0)return o;var x=o.getSouthWest(),T=o.getNorthEast(),I=new et(x.lat-g,x.lng-_),S=new et(T.lat-g,T.lng-_);return new ft(I,S)}},Xt=n({},Pt,{wrapLng:[-180,180],R:6371e3,distance:function(o,l){var u=Math.PI/180,g=o.lat*u,_=l.lat*u,x=Math.sin((l.lat-o.lat)*u/2),T=Math.sin((l.lng-o.lng)*u/2),I=x*x+Math.cos(g)*Math.cos(_)*T*T,S=2*Math.atan2(Math.sqrt(I),Math.sqrt(1-I));return this.R*S}}),Me=6378137,qe={R:Me,MAX_LATITUDE:85.0511287798,project:function(o){var l=Math.PI/180,u=this.MAX_LATITUDE,g=Math.max(Math.min(u,o.lat),-u),_=Math.sin(g*l);return new F(this.R*o.lng*l,this.R*Math.log((1+_)/(1-_))/2)},unproject:function(o){var l=180/Math.PI;return new et((2*Math.atan(Math.exp(o.y/this.R))-Math.PI/2)*l,o.x*l/this.R)},bounds:function(){var o=Me*Math.PI;return new rt([-o,-o],[o,o])}()};function Xi(o,l,u,g){if(E(o)){this._a=o[0],this._b=o[1],this._c=o[2],this._d=o[3];return}this._a=o,this._b=l,this._c=u,this._d=g}Xi.prototype={transform:function(o,l){return this._transform(o.clone(),l)},_transform:function(o,l){return l=l||1,o.x=l*(this._a*o.x+this._b),o.y=l*(this._c*o.y+this._d),o},untransform:function(o,l){return l=l||1,new F((o.x/l-this._b)/this._a,(o.y/l-this._d)/this._c)}};function Te(o,l,u,g){return new Xi(o,l,u,g)}var Qi=n({},Xt,{code:"EPSG:3857",projection:qe,transformation:function(){var o=.5/(Math.PI*qe.R);return Te(o,.5,-o,.5)}()}),Je=n({},Qi,{code:"EPSG:900913"});function Vi(o){return document.createElementNS("http://www.w3.org/2000/svg",o)}function ze(o,l){var u="",g,_,x,T,I,S;for(g=0,x=o.length;g<x;g++){for(I=o[g],_=0,T=I.length;_<T;_++)S=I[_],u+=(_?"L":"M")+S.x+" "+S.y;u+=l?J.svg?"z":"x":""}return u||"M0 0"}var Ki=document.documentElement.style,Ai="ActiveXObject"in window,or=Ai&&!document.addEventListener,wi="msLaunchUri"in navigator&&!("documentMode"in document),wn=Bt("webkit"),Kt=Bt("android"),ae=Bt("android 2")||Bt("android 3"),Le=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ne=Kt&&Bt("Google")&&Le<537&&!("AudioNode"in window),$e=!!window.opera,ti=!wi&&Bt("chrome"),Fe=Bt("gecko")&&!wn&&!$e&&!Ai,qi=!ti&&Bt("safari"),En=Bt("phantom"),Qt="OTransition"in Ki,rs=navigator.platform.indexOf("Win")===0,Qo=Ai&&"transition"in Ki,ss="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!ae,os="MozPerspective"in Ki,Vo=!window.L_DISABLE_3D&&(Qo||ss||os)&&!Qt&&!En,Ei=typeof orientation<"u"||Bt("mobile"),Ko=Ei&&wn,as=Ei&&ss,Ji=!window.PointerEvent&&window.MSPointerEvent,$i=!!(window.PointerEvent||Ji),tn="ontouchstart"in window||!!window.TouchEvent,qo=!window.L_NO_TOUCH&&(tn||$i),Jo=Ei&&$e,le=Ei&&Fe,en=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,pe=function(){var o=!1;try{var l=Object.defineProperty({},"passive",{get:function(){o=!0}});window.addEventListener("testPassiveEventSupport",p,l),window.removeEventListener("testPassiveEventSupport",p,l)}catch{}return o}(),Be=function(){return!!document.createElement("canvas").getContext}(),qt=!!(document.createElementNS&&Vi("svg").createSVGRect),ar=!!qt&&function(){var o=document.createElement("div");return o.innerHTML="<svg/>",(o.firstChild&&o.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),lr=!qt&&function(){try{var o=document.createElement("div");o.innerHTML='<v:shape adj="1"/>';var l=o.firstChild;return l.style.behavior="url(#default#VML)",l&&typeof l.adj=="object"}catch{return!1}}(),se=navigator.platform.indexOf("Mac")===0,me=navigator.platform.indexOf("Linux")===0;function Bt(o){return navigator.userAgent.toLowerCase().indexOf(o)>=0}var J={ie:Ai,ielt9:or,edge:wi,webkit:wn,android:Kt,android23:ae,androidStock:Ne,opera:$e,chrome:ti,gecko:Fe,safari:qi,phantom:En,opera12:Qt,win:rs,ie3d:Qo,webkit3d:ss,gecko3d:os,any3d:Vo,mobile:Ei,mobileWebkit:Ko,mobileWebkit3d:as,msPointer:Ji,pointer:$i,touch:qo,touchNative:tn,mobileOpera:Jo,mobileGecko:le,retina:en,passiveEvents:pe,canvas:Be,svg:qt,vml:lr,inlineSvg:ar,mac:se,linux:me},Of=J.msPointer?"MSPointerDown":"pointerdown",zf=J.msPointer?"MSPointerMove":"pointermove",Nf=J.msPointer?"MSPointerUp":"pointerup",Ff=J.msPointer?"MSPointerCancel":"pointercancel",_h={touchstart:Of,touchmove:zf,touchend:Nf,touchcancel:Ff},Bf={touchstart:uE,touchmove:$o,touchend:$o,touchcancel:$o},hr={},jf=!1;function oE(o,l,u){return l==="touchstart"&&cE(),Bf[l]?(u=Bf[l].bind(this,u),o.addEventListener(_h[l],u,!1),u):(console.warn("wrong event specified:",l),p)}function aE(o,l,u){if(!_h[l]){console.warn("wrong event specified:",l);return}o.removeEventListener(_h[l],u,!1)}function lE(o){hr[o.pointerId]=o}function hE(o){hr[o.pointerId]&&(hr[o.pointerId]=o)}function Uf(o){delete hr[o.pointerId]}function cE(){jf||(document.addEventListener(Of,lE,!0),document.addEventListener(zf,hE,!0),document.addEventListener(Nf,Uf,!0),document.addEventListener(Ff,Uf,!0),jf=!0)}function $o(o,l){if(l.pointerType!==(l.MSPOINTER_TYPE_MOUSE||"mouse")){l.touches=[];for(var u in hr)l.touches.push(hr[u]);l.changedTouches=[l],o(l)}}function uE(o,l){l.MSPOINTER_TYPE_TOUCH&&l.pointerType===l.MSPOINTER_TYPE_TOUCH&&Jt(l),$o(o,l)}function dE(o){var l={},u,g;for(g in o)u=o[g],l[g]=u&&u.bind?u.bind(o):u;return o=l,l.type="dblclick",l.detail=2,l.isTrusted=!1,l._simulated=!0,l}var fE=200;function gE(o,l){o.addEventListener("dblclick",l);var u=0,g;function _(x){if(x.detail!==1){g=x.detail;return}if(!(x.pointerType==="mouse"||x.sourceCapabilities&&!x.sourceCapabilities.firesTouchEvents)){var T=Zf(x);if(!(T.some(function(S){return S instanceof HTMLLabelElement&&S.attributes.for})&&!T.some(function(S){return S instanceof HTMLInputElement||S instanceof HTMLSelectElement}))){var I=Date.now();I-u<=fE?(g++,g===2&&l(dE(x))):g=1,u=I}}}return o.addEventListener("click",_),{dblclick:l,simDblclick:_}}function pE(o,l){o.removeEventListener("dblclick",l.dblclick),o.removeEventListener("click",l.simDblclick)}var yh=ia(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ls=ia(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Gf=ls==="webkitTransition"||ls==="OTransition"?ls+"End":"transitionend";function Hf(o){return typeof o=="string"?document.getElementById(o):o}function hs(o,l){var u=o.style[l]||o.currentStyle&&o.currentStyle[l];if((!u||u==="auto")&&document.defaultView){var g=document.defaultView.getComputedStyle(o,null);u=g?g[l]:null}return u==="auto"?null:u}function wt(o,l,u){var g=document.createElement(o);return g.className=l||"",u&&u.appendChild(g),g}function St(o){var l=o.parentNode;l&&l.removeChild(o)}function ta(o){for(;o.firstChild;)o.removeChild(o.firstChild)}function cr(o){var l=o.parentNode;l&&l.lastChild!==o&&l.appendChild(o)}function ur(o){var l=o.parentNode;l&&l.firstChild!==o&&l.insertBefore(o,l.firstChild)}function vh(o,l){if(o.classList!==void 0)return o.classList.contains(l);var u=ea(o);return u.length>0&&new RegExp("(^|\\s)"+l+"(\\s|$)").test(u)}function pt(o,l){if(o.classList!==void 0)for(var u=v(l),g=0,_=u.length;g<_;g++)o.classList.add(u[g]);else if(!vh(o,l)){var x=ea(o);xh(o,(x?x+" ":"")+l)}}function zt(o,l){o.classList!==void 0?o.classList.remove(l):xh(o,y((" "+ea(o)+" ").replace(" "+l+" "," ")))}function xh(o,l){o.className.baseVal===void 0?o.className=l:o.className.baseVal=l}function ea(o){return o.correspondingElement&&(o=o.correspondingElement),o.className.baseVal===void 0?o.className:o.className.baseVal}function be(o,l){"opacity"in o.style?o.style.opacity=l:"filter"in o.style&&mE(o,l)}function mE(o,l){var u=!1,g="DXImageTransform.Microsoft.Alpha";try{u=o.filters.item(g)}catch{if(l===1)return}l=Math.round(l*100),u?(u.Enabled=l!==100,u.Opacity=l):o.style.filter+=" progid:"+g+"(opacity="+l+")"}function ia(o){for(var l=document.documentElement.style,u=0;u<o.length;u++)if(o[u]in l)return o[u];return!1}function Ln(o,l,u){var g=l||new F(0,0);o.style[yh]=(J.ie3d?"translate("+g.x+"px,"+g.y+"px)":"translate3d("+g.x+"px,"+g.y+"px,0)")+(u?" scale("+u+")":"")}function jt(o,l){o._leaflet_pos=l,J.any3d?Ln(o,l):(o.style.left=l.x+"px",o.style.top=l.y+"px")}function Cn(o){return o._leaflet_pos||new F(0,0)}var cs,us,Ah;if("onselectstart"in document)cs=function(){dt(window,"selectstart",Jt)},us=function(){Dt(window,"selectstart",Jt)};else{var ds=ia(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);cs=function(){if(ds){var o=document.documentElement.style;Ah=o[ds],o[ds]="none"}},us=function(){ds&&(document.documentElement.style[ds]=Ah,Ah=void 0)}}function wh(){dt(window,"dragstart",Jt)}function Eh(){Dt(window,"dragstart",Jt)}var na,Lh;function Ch(o){for(;o.tabIndex===-1;)o=o.parentNode;o.style&&(ra(),na=o,Lh=o.style.outlineStyle,o.style.outlineStyle="none",dt(window,"keydown",ra))}function ra(){na&&(na.style.outlineStyle=Lh,na=void 0,Lh=void 0,Dt(window,"keydown",ra))}function Yf(o){do o=o.parentNode;while((!o.offsetWidth||!o.offsetHeight)&&o!==document.body);return o}function Mh(o){var l=o.getBoundingClientRect();return{x:l.width/o.offsetWidth||1,y:l.height/o.offsetHeight||1,boundingClientRect:l}}var _E={__proto__:null,TRANSFORM:yh,TRANSITION:ls,TRANSITION_END:Gf,get:Hf,getStyle:hs,create:wt,remove:St,empty:ta,toFront:cr,toBack:ur,hasClass:vh,addClass:pt,removeClass:zt,setClass:xh,getClass:ea,setOpacity:be,testProp:ia,setTransform:Ln,setPosition:jt,getPosition:Cn,get disableTextSelection(){return cs},get enableTextSelection(){return us},disableImageDrag:wh,enableImageDrag:Eh,preventOutline:Ch,restoreOutline:ra,getSizedParentNode:Yf,getScale:Mh};function dt(o,l,u,g){if(l&&typeof l=="object")for(var _ in l)bh(o,_,l[_],u);else{l=v(l);for(var x=0,T=l.length;x<T;x++)bh(o,l[x],u,g)}return this}var ei="_leaflet_events";function Dt(o,l,u,g){if(arguments.length===1)Wf(o),delete o[ei];else if(l&&typeof l=="object")for(var _ in l)Dh(o,_,l[_],u);else if(l=v(l),arguments.length===2)Wf(o,function(I){return C(l,I)!==-1});else for(var x=0,T=l.length;x<T;x++)Dh(o,l[x],u,g);return this}function Wf(o,l){for(var u in o[ei]){var g=u.split(/\d/)[0];(!l||l(g))&&Dh(o,g,null,null,u)}}var Th={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function bh(o,l,u,g){var _=l+c(u)+(g?"_"+c(g):"");if(o[ei]&&o[ei][_])return this;var x=function(I){return u.call(g||o,I||window.event)},T=x;!J.touchNative&&J.pointer&&l.indexOf("touch")===0?x=oE(o,l,x):J.touch&&l==="dblclick"?x=gE(o,x):"addEventListener"in o?l==="touchstart"||l==="touchmove"||l==="wheel"||l==="mousewheel"?o.addEventListener(Th[l]||l,x,J.passiveEvents?{passive:!1}:!1):l==="mouseenter"||l==="mouseleave"?(x=function(I){I=I||window.event,Ih(o,I)&&T(I)},o.addEventListener(Th[l],x,!1)):o.addEventListener(l,T,!1):o.attachEvent("on"+l,x),o[ei]=o[ei]||{},o[ei][_]=x}function Dh(o,l,u,g,_){_=_||l+c(u)+(g?"_"+c(g):"");var x=o[ei]&&o[ei][_];if(!x)return this;!J.touchNative&&J.pointer&&l.indexOf("touch")===0?aE(o,l,x):J.touch&&l==="dblclick"?pE(o,x):"removeEventListener"in o?o.removeEventListener(Th[l]||l,x,!1):o.detachEvent("on"+l,x),o[ei][_]=null}function Mn(o){return o.stopPropagation?o.stopPropagation():o.originalEvent?o.originalEvent._stopped=!0:o.cancelBubble=!0,this}function Ph(o){return bh(o,"wheel",Mn),this}function fs(o){return dt(o,"mousedown touchstart dblclick contextmenu",Mn),o._leaflet_disable_click=!0,this}function Jt(o){return o.preventDefault?o.preventDefault():o.returnValue=!1,this}function Tn(o){return Jt(o),Mn(o),this}function Zf(o){if(o.composedPath)return o.composedPath();for(var l=[],u=o.target;u;)l.push(u),u=u.parentNode;return l}function Xf(o,l){if(!l)return new F(o.clientX,o.clientY);var u=Mh(l),g=u.boundingClientRect;return new F((o.clientX-g.left)/u.x-l.clientLeft,(o.clientY-g.top)/u.y-l.clientTop)}var yE=J.linux&&J.chrome?window.devicePixelRatio:J.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Qf(o){return J.edge?o.wheelDeltaY/2:o.deltaY&&o.deltaMode===0?-o.deltaY/yE:o.deltaY&&o.deltaMode===1?-o.deltaY*20:o.deltaY&&o.deltaMode===2?-o.deltaY*60:o.deltaX||o.deltaZ?0:o.wheelDelta?(o.wheelDeltaY||o.wheelDelta)/2:o.detail&&Math.abs(o.detail)<32765?-o.detail*20:o.detail?o.detail/-32765*60:0}function Ih(o,l){var u=l.relatedTarget;if(!u)return!0;try{for(;u&&u!==o;)u=u.parentNode}catch{return!1}return u!==o}var vE={__proto__:null,on:dt,off:Dt,stopPropagation:Mn,disableScrollPropagation:Ph,disableClickPropagation:fs,preventDefault:Jt,stop:Tn,getPropagationPath:Zf,getMousePosition:Xf,getWheelDelta:Qf,isExternalTarget:Ih,addListener:dt,removeListener:Dt},Vf=G.extend({run:function(o,l,u,g){this.stop(),this._el=o,this._inProgress=!0,this._duration=u||.25,this._easeOutPower=1/Math.max(g||.5,.2),this._startPos=Cn(o),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=U(this._animate,this),this._step()},_step:function(o){var l=+new Date-this._startTime,u=this._duration*1e3;l<u?this._runFrame(this._easeOut(l/u),o):(this._runFrame(1),this._complete())},_runFrame:function(o,l){var u=this._startPos.add(this._offset.multiplyBy(o));l&&u._round(),jt(this._el,u),this.fire("step")},_complete:function(){Q(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(o){return 1-Math.pow(1-o,this._easeOutPower)}}),xt=G.extend({options:{crs:Qi,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(o,l){l=A(this,l),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(o),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(ct(l.center),l.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ls&&J.any3d&&!J.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),dt(this._proxy,Gf,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(o,l,u){if(l=l===void 0?this._zoom:this._limitZoom(l),o=this._limitCenter(ct(o),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(o,l,u.zoom):this._tryAnimatedPan(o,u.pan);if(g)return clearTimeout(this._sizeTimer),this}return this._resetView(o,l,u.pan&&u.pan.noMoveStart),this},setZoom:function(o,l){return this._loaded?this.setView(this.getCenter(),o,{zoom:l}):(this._zoom=o,this)},zoomIn:function(o,l){return o=o||(J.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+o,l)},zoomOut:function(o,l){return o=o||(J.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-o,l)},setZoomAround:function(o,l,u){var g=this.getZoomScale(l),_=this.getSize().divideBy(2),x=o instanceof F?o:this.latLngToContainerPoint(o),T=x.subtract(_).multiplyBy(1-1/g),I=this.containerPointToLatLng(_.add(T));return this.setView(I,l,{zoom:u})},_getBoundsCenterZoom:function(o,l){l=l||{},o=o.getBounds?o.getBounds():q(o);var u=Z(l.paddingTopLeft||l.padding||[0,0]),g=Z(l.paddingBottomRight||l.padding||[0,0]),_=this.getBoundsZoom(o,!1,u.add(g));if(_=typeof l.maxZoom=="number"?Math.min(l.maxZoom,_):_,_===1/0)return{center:o.getCenter(),zoom:_};var x=g.subtract(u).divideBy(2),T=this.project(o.getSouthWest(),_),I=this.project(o.getNorthEast(),_),S=this.unproject(T.add(I).divideBy(2).add(x),_);return{center:S,zoom:_}},fitBounds:function(o,l){if(o=q(o),!o.isValid())throw new Error("Bounds are not valid.");var u=this._getBoundsCenterZoom(o,l);return this.setView(u.center,u.zoom,l)},fitWorld:function(o){return this.fitBounds([[-90,-180],[90,180]],o)},panTo:function(o,l){return this.setView(o,this._zoom,{pan:l})},panBy:function(o,l){if(o=Z(o).round(),l=l||{},!o.x&&!o.y)return this.fire("moveend");if(l.animate!==!0&&!this.getSize().contains(o))return this._resetView(this.unproject(this.project(this.getCenter()).add(o)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Vf,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),l.noMoveStart||this.fire("movestart"),l.animate!==!1){pt(this._mapPane,"leaflet-pan-anim");var u=this._getMapPanePos().subtract(o).round();this._panAnim.run(this._mapPane,u,l.duration||.25,l.easeLinearity)}else this._rawPanBy(o),this.fire("move").fire("moveend");return this},flyTo:function(o,l,u){if(u=u||{},u.animate===!1||!J.any3d)return this.setView(o,l,u);this._stop();var g=this.project(this.getCenter()),_=this.project(o),x=this.getSize(),T=this._zoom;o=ct(o),l=l===void 0?T:l;var I=Math.max(x.x,x.y),S=I*this.getZoomScale(T,l),j=_.distanceTo(g)||1,V=1.42,ot=V*V;function yt(Ut){var ma=Ut?-1:1,aL=Ut?S:I,lL=S*S-I*I+ma*ot*ot*j*j,hL=2*aL*ot*j,Gh=lL/hL,Dg=Math.sqrt(Gh*Gh+1)-Gh,cL=Dg<1e-9?-18:Math.log(Dg);return cL}function he(Ut){return(Math.exp(Ut)-Math.exp(-Ut))/2}function Vt(Ut){return(Math.exp(Ut)+Math.exp(-Ut))/2}function Pe(Ut){return he(Ut)/Vt(Ut)}var _e=yt(0);function _r(Ut){return I*(Vt(_e)/Vt(_e+V*Ut))}function nL(Ut){return I*(Vt(_e)*Pe(_e+V*Ut)-he(_e))/ot}function rL(Ut){return 1-Math.pow(1-Ut,1.5)}var sL=Date.now(),Tg=(yt(1)-_e)/V,oL=u.duration?1e3*u.duration:1e3*Tg*.8;function bg(){var Ut=(Date.now()-sL)/oL,ma=rL(Ut)*Tg;Ut<=1?(this._flyToFrame=U(bg,this),this._move(this.unproject(g.add(_.subtract(g).multiplyBy(nL(ma)/j)),T),this.getScaleZoom(I/_r(ma),T),{flyTo:!0})):this._move(o,l)._moveEnd(!0)}return this._moveStart(!0,u.noMoveStart),bg.call(this),this},flyToBounds:function(o,l){var u=this._getBoundsCenterZoom(o,l);return this.flyTo(u.center,u.zoom,l)},setMaxBounds:function(o){return o=q(o),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),o.isValid()?(this.options.maxBounds=o,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(o){var l=this.options.minZoom;return this.options.minZoom=o,this._loaded&&l!==o&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(o):this},setMaxZoom:function(o){var l=this.options.maxZoom;return this.options.maxZoom=o,this._loaded&&l!==o&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(o):this},panInsideBounds:function(o,l){this._enforcingBounds=!0;var u=this.getCenter(),g=this._limitCenter(u,this._zoom,q(o));return u.equals(g)||this.panTo(g,l),this._enforcingBounds=!1,this},panInside:function(o,l){l=l||{};var u=Z(l.paddingTopLeft||l.padding||[0,0]),g=Z(l.paddingBottomRight||l.padding||[0,0]),_=this.project(this.getCenter()),x=this.project(o),T=this.getPixelBounds(),I=z([T.min.add(u),T.max.subtract(g)]),S=I.getSize();if(!I.contains(x)){this._enforcingBounds=!0;var j=x.subtract(I.getCenter()),V=I.extend(x).getSize().subtract(S);_.x+=j.x<0?-V.x:V.x,_.y+=j.y<0?-V.y:V.y,this.panTo(this.unproject(_),l),this._enforcingBounds=!1}return this},invalidateSize:function(o){if(!this._loaded)return this;o=n({animate:!1,pan:!0},o===!0?{animate:!0}:o);var l=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var u=this.getSize(),g=l.divideBy(2).round(),_=u.divideBy(2).round(),x=g.subtract(_);return!x.x&&!x.y?this:(o.animate&&o.pan?this.panBy(x):(o.pan&&this._rawPanBy(x),this.fire("move"),o.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(o){if(o=this._locateOptions=n({timeout:1e4,watch:!1},o),!("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 o.watch?this._locationWatchId=navigator.geolocation.watchPosition(l,u,o):navigator.geolocation.getCurrentPosition(l,u,o),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(o){if(this._container._leaflet_id){var l=o.code,u=o.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(o){if(this._container._leaflet_id){var l=o.coords.latitude,u=o.coords.longitude,g=new et(l,u),_=g.toBounds(o.coords.accuracy*2),x=this._locateOptions;if(x.setView){var T=this.getBoundsZoom(_);this.setView(g,x.maxZoom?Math.min(T,x.maxZoom):T)}var I={latlng:g,bounds:_,timestamp:o.timestamp};for(var S in o.coords)typeof o.coords[S]=="number"&&(I[S]=o.coords[S]);this.fire("locationfound",I)}},addHandler:function(o,l){if(!l)return this;var u=this[o]=new l(this);return this._handlers.push(u),this.options[o]&&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(),St(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(Q(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var o;for(o in this._layers)this._layers[o].remove();for(o in this._panes)St(this._panes[o]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(o,l){var u="leaflet-pane"+(o?" leaflet-"+o.replace("Pane","")+"-pane":""),g=wt("div",u,l||this._mapPane);return o&&(this._panes[o]=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 o=this.getPixelBounds(),l=this.unproject(o.getBottomLeft()),u=this.unproject(o.getTopRight());return new ft(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(o,l,u){o=q(o),u=Z(u||[0,0]);var g=this.getZoom()||0,_=this.getMinZoom(),x=this.getMaxZoom(),T=o.getNorthWest(),I=o.getSouthEast(),S=this.getSize().subtract(u),j=z(this.project(I,g),this.project(T,g)).getSize(),V=J.any3d?this.options.zoomSnap:1,ot=S.x/j.x,yt=S.y/j.y,he=l?Math.max(ot,yt):Math.min(ot,yt);return g=this.getScaleZoom(he,g),V&&(g=Math.round(g/(V/100))*(V/100),g=l?Math.ceil(g/V)*V:Math.floor(g/V)*V),Math.max(_,Math.min(x,g))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new F(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(o,l){var u=this._getTopLeftPoint(o,l);return new rt(u,u.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(o){return this.options.crs.getProjectedBounds(o===void 0?this.getZoom():o)},getPane:function(o){return typeof o=="string"?this._panes[o]:o},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(o,l){var u=this.options.crs;return l=l===void 0?this._zoom:l,u.scale(o)/u.scale(l)},getScaleZoom:function(o,l){var u=this.options.crs;l=l===void 0?this._zoom:l;var g=u.zoom(o*u.scale(l));return isNaN(g)?1/0:g},project:function(o,l){return l=l===void 0?this._zoom:l,this.options.crs.latLngToPoint(ct(o),l)},unproject:function(o,l){return l=l===void 0?this._zoom:l,this.options.crs.pointToLatLng(Z(o),l)},layerPointToLatLng:function(o){var l=Z(o).add(this.getPixelOrigin());return this.unproject(l)},latLngToLayerPoint:function(o){var l=this.project(ct(o))._round();return l._subtract(this.getPixelOrigin())},wrapLatLng:function(o){return this.options.crs.wrapLatLng(ct(o))},wrapLatLngBounds:function(o){return this.options.crs.wrapLatLngBounds(q(o))},distance:function(o,l){return this.options.crs.distance(ct(o),ct(l))},containerPointToLayerPoint:function(o){return Z(o).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(o){return Z(o).add(this._getMapPanePos())},containerPointToLatLng:function(o){var l=this.containerPointToLayerPoint(Z(o));return this.layerPointToLatLng(l)},latLngToContainerPoint:function(o){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ct(o)))},mouseEventToContainerPoint:function(o){return Xf(o,this._container)},mouseEventToLayerPoint:function(o){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(o))},mouseEventToLatLng:function(o){return this.layerPointToLatLng(this.mouseEventToLayerPoint(o))},_initContainer:function(o){var l=this._container=Hf(o);if(l){if(l._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");dt(l,"scroll",this._onScroll,this),this._containerId=c(l)},_initLayout:function(){var o=this._container;this._fadeAnimated=this.options.fadeAnimation&&J.any3d,pt(o,"leaflet-container"+(J.touch?" leaflet-touch":"")+(J.retina?" leaflet-retina":"")+(J.ielt9?" leaflet-oldie":"")+(J.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var l=hs(o,"position");l!=="absolute"&&l!=="relative"&&l!=="fixed"&&l!=="sticky"&&(o.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var o=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),jt(this._mapPane,new F(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pt(o.markerPane,"leaflet-zoom-hide"),pt(o.shadowPane,"leaflet-zoom-hide"))},_resetView:function(o,l,u){jt(this._mapPane,new F(0,0));var g=!this._loaded;this._loaded=!0,l=this._limitZoom(l),this.fire("viewprereset");var _=this._zoom!==l;this._moveStart(_,u)._move(o,l)._moveEnd(_),this.fire("viewreset"),g&&this.fire("load")},_moveStart:function(o,l){return o&&this.fire("zoomstart"),l||this.fire("movestart"),this},_move:function(o,l,u,g){l===void 0&&(l=this._zoom);var _=this._zoom!==l;return this._zoom=l,this._lastCenter=o,this._pixelOrigin=this._getNewPixelOrigin(o),g?u&&u.pinch&&this.fire("zoom",u):((_||u&&u.pinch)&&this.fire("zoom",u),this.fire("move",u)),this},_moveEnd:function(o){return o&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return Q(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(o){jt(this._mapPane,this._getMapPanePos().subtract(o))},_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(o){this._targets={},this._targets[c(this._container)]=this;var l=o?Dt:dt;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),J.any3d&&this.options.transform3DLimit&&(o?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){Q(this._resizeRequest),this._resizeRequest=U(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var o=this._getMapPanePos();Math.max(Math.abs(o.x),Math.abs(o.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(o,l){for(var u=[],g,_=l==="mouseout"||l==="mouseover",x=o.target||o.srcElement,T=!1;x;){if(g=this._targets[c(x)],g&&(l==="click"||l==="preclick")&&this._draggableMoved(g)){T=!0;break}if(g&&g.listens(l,!0)&&(_&&!Ih(x,o)||(u.push(g),_))||x===this._container)break;x=x.parentNode}return!u.length&&!T&&!_&&this.listens(l,!0)&&(u=[this]),u},_isClickDisabled:function(o){for(;o&&o!==this._container;){if(o._leaflet_disable_click)return!0;o=o.parentNode}},_handleDOMEvent:function(o){var l=o.target||o.srcElement;if(!(!this._loaded||l._leaflet_disable_events||o.type==="click"&&this._isClickDisabled(l))){var u=o.type;u==="mousedown"&&Ch(l),this._fireDOMEvent(o,u)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(o,l,u){if(o.type==="click"){var g=n({},o);g.type="preclick",this._fireDOMEvent(g,g.type,u)}var _=this._findEventTargets(o,l);if(u){for(var x=[],T=0;T<u.length;T++)u[T].listens(l,!0)&&x.push(u[T]);_=x.concat(_)}if(_.length){l==="contextmenu"&&Jt(o);var I=_[0],S={originalEvent:o};if(o.type!=="keypress"&&o.type!=="keydown"&&o.type!=="keyup"){var j=I.getLatLng&&(!I._radius||I._radius<=10);S.containerPoint=j?this.latLngToContainerPoint(I.getLatLng()):this.mouseEventToContainerPoint(o),S.layerPoint=this.containerPointToLayerPoint(S.containerPoint),S.latlng=j?I.getLatLng():this.layerPointToLatLng(S.layerPoint)}for(T=0;T<_.length;T++)if(_[T].fire(l,S,!0),S.originalEvent._stopped||_[T].options.bubblingMouseEvents===!1&&C(this._mouseEvents,l)!==-1)return}},_draggableMoved:function(o){return o=o.dragging&&o.dragging.enabled()?o:this,o.dragging&&o.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var o=0,l=this._handlers.length;o<l;o++)this._handlers[o].disable()},whenReady:function(o,l){return this._loaded?o.call(l||this,{target:this}):this.on("load",o,l),this},_getMapPanePos:function(){return Cn(this._mapPane)||new F(0,0)},_moved:function(){var o=this._getMapPanePos();return o&&!o.equals([0,0])},_getTopLeftPoint:function(o,l){var u=o&&l!==void 0?this._getNewPixelOrigin(o,l):this.getPixelOrigin();return u.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(o,l){var u=this.getSize()._divideBy(2);return this.project(o,l)._subtract(u)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(o,l,u){var g=this._getNewPixelOrigin(u,l);return this.project(o,l)._subtract(g)},_latLngBoundsToNewLayerBounds:function(o,l,u){var g=this._getNewPixelOrigin(u,l);return z([this.project(o.getSouthWest(),l)._subtract(g),this.project(o.getNorthWest(),l)._subtract(g),this.project(o.getSouthEast(),l)._subtract(g),this.project(o.getNorthEast(),l)._subtract(g)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(o){return this.latLngToLayerPoint(o).subtract(this._getCenterLayerPoint())},_limitCenter:function(o,l,u){if(!u)return o;var g=this.project(o,l),_=this.getSize().divideBy(2),x=new rt(g.subtract(_),g.add(_)),T=this._getBoundsOffset(x,u,l);return Math.abs(T.x)<=1&&Math.abs(T.y)<=1?o:this.unproject(g.add(T),l)},_limitOffset:function(o,l){if(!l)return o;var u=this.getPixelBounds(),g=new rt(u.min.add(o),u.max.add(o));return o.add(this._getBoundsOffset(g,l))},_getBoundsOffset:function(o,l,u){var g=z(this.project(l.getNorthEast(),u),this.project(l.getSouthWest(),u)),_=g.min.subtract(o.min),x=g.max.subtract(o.max),T=this._rebound(_.x,-x.x),I=this._rebound(_.y,-x.y);return new F(T,I)},_rebound:function(o,l){return o+l>0?Math.round(o-l)/2:Math.max(0,Math.ceil(o))-Math.max(0,Math.floor(l))},_limitZoom:function(o){var l=this.getMinZoom(),u=this.getMaxZoom(),g=J.any3d?this.options.zoomSnap:1;return g&&(o=Math.round(o/g)*g),Math.max(l,Math.min(u,o))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){zt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(o,l){var u=this._getCenterOffset(o)._trunc();return(l&&l.animate)!==!0&&!this.getSize().contains(u)?!1:(this.panBy(u,l),!0)},_createAnimProxy:function(){var o=this._proxy=wt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(o),this.on("zoomanim",function(l){var u=yh,g=this._proxy.style[u];Ln(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(){St(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var o=this.getCenter(),l=this.getZoom();Ln(this._proxy,this.project(o,l),this.getZoomScale(l,1))},_catchTransitionEnd:function(o){this._animatingZoom&&o.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(o,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),_=this._getCenterOffset(o)._divideBy(1-1/g);return u.animate!==!0&&!this.getSize().contains(_)?!1:(U(function(){this._moveStart(!0,u.noMoveStart||!1)._animateZoom(o,l,!0)},this),!0)},_animateZoom:function(o,l,u,g){this._mapPane&&(u&&(this._animatingZoom=!0,this._animateToCenter=o,this._animateToZoom=l,pt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:o,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&&zt(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 xE(o,l){return new xt(o,l)}var je=at.extend({options:{position:"topright"},initialize:function(o){A(this,o)},getPosition:function(){return this.options.position},setPosition:function(o){var l=this._map;return l&&l.removeControl(this),this.options.position=o,l&&l.addControl(this),this},getContainer:function(){return this._container},addTo:function(o){this.remove(),this._map=o;var l=this._container=this.onAdd(o),u=this.getPosition(),g=o._controlCorners[u];return pt(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?(St(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(o){this._map&&o&&o.screenX>0&&o.screenY>0&&this._map.getContainer().focus()}}),gs=function(o){return new je(o)};xt.include({addControl:function(o){return o.addTo(this),this},removeControl:function(o){return o.remove(),this},_initControlPos:function(){var o=this._controlCorners={},l="leaflet-",u=this._controlContainer=wt("div",l+"control-container",this._container);function g(_,x){var T=l+_+" "+l+x;o[_+x]=wt("div",T,u)}g("top","left"),g("top","right"),g("bottom","left"),g("bottom","right")},_clearControlPos:function(){for(var o in this._controlCorners)St(this._controlCorners[o]);St(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Kf=je.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(o,l,u,g){return u<g?-1:g<u?1:0}},initialize:function(o,l,u){A(this,u),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var g in o)this._addLayer(o[g],g);for(g in l)this._addLayer(l[g],g,!0)},onAdd:function(o){this._initLayout(),this._update(),this._map=o,o.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(o){return je.prototype.addTo.call(this,o),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var o=0;o<this._layers.length;o++)this._layers[o].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(o,l){return this._addLayer(o,l),this._map?this._update():this},addOverlay:function(o,l){return this._addLayer(o,l,!0),this._map?this._update():this},removeLayer:function(o){o.off("add remove",this._onLayerChange,this);var l=this._getLayer(c(o));return l&&this._layers.splice(this._layers.indexOf(l),1),this._map?this._update():this},expand:function(){pt(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var o=this._map.getSize().y-(this._container.offsetTop+50);return o<this._section.clientHeight?(pt(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=o+"px"):zt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return zt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var o="leaflet-control-layers",l=this._container=wt("div",o),u=this.options.collapsed;l.setAttribute("aria-haspopup",!0),fs(l),Ph(l);var g=this._section=wt("section",o+"-list");u&&(this._map.on("click",this.collapse,this),dt(l,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var _=this._layersLink=wt("a",o+"-toggle",l);_.href="#",_.title="Layers",_.setAttribute("role","button"),dt(_,{keydown:function(x){x.keyCode===13&&this._expandSafely()},click:function(x){Jt(x),this._expandSafely()}},this),u||this.expand(),this._baseLayersList=wt("div",o+"-base",g),this._separator=wt("div",o+"-separator",g),this._overlaysList=wt("div",o+"-overlays",g),l.appendChild(g)},_getLayer:function(o){for(var l=0;l<this._layers.length;l++)if(this._layers[l]&&c(this._layers[l].layer)===o)return this._layers[l]},_addLayer:function(o,l,u){this._map&&o.on("add remove",this._onLayerChange,this),this._layers.push({layer:o,name:l,overlay:u}),this.options.sortLayers&&this._layers.sort(a(function(g,_){return this.options.sortFunction(g.layer,_.layer,g.name,_.name)},this)),this.options.autoZIndex&&o.setZIndex&&(this._lastZIndex++,o.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ta(this._baseLayersList),ta(this._overlaysList),this._layerControlInputs=[];var o,l,u,g,_=0;for(u=0;u<this._layers.length;u++)g=this._layers[u],this._addItem(g),l=l||g.overlay,o=o||!g.overlay,_+=g.overlay?0:1;return this.options.hideSingleBase&&(o=o&&_>1,this._baseLayersList.style.display=o?"":"none"),this._separator.style.display=l&&o?"":"none",this},_onLayerChange:function(o){this._handlingClick||this._update();var l=this._getLayer(c(o.target)),u=l.overlay?o.type==="add"?"overlayadd":"overlayremove":o.type==="add"?"baselayerchange":null;u&&this._map.fire(u,l)},_createRadioElement:function(o,l){var u='<input type="radio" class="leaflet-control-layers-selector" name="'+o+'"'+(l?' checked="checked"':"")+"/>",g=document.createElement("div");return g.innerHTML=u,g.firstChild},_addItem:function(o){var l=document.createElement("label"),u=this._map.hasLayer(o.layer),g;o.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(o.layer),dt(g,"click",this._onInputClick,this);var _=document.createElement("span");_.innerHTML=" "+o.name;var x=document.createElement("span");l.appendChild(x),x.appendChild(g),x.appendChild(_);var T=o.overlay?this._overlaysList:this._baseLayersList;return T.appendChild(l),this._checkDisabledLayers(),l},_onInputClick:function(){if(!this._preventClick){var o=this._layerControlInputs,l,u,g=[],_=[];this._handlingClick=!0;for(var x=o.length-1;x>=0;x--)l=o[x],u=this._getLayer(l.layerId).layer,l.checked?g.push(u):l.checked||_.push(u);for(x=0;x<_.length;x++)this._map.hasLayer(_[x])&&this._map.removeLayer(_[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 o=this._layerControlInputs,l,u,g=this._map.getZoom(),_=o.length-1;_>=0;_--)l=o[_],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 o=this._section;this._preventClick=!0,dt(o,"click",Jt),this.expand();var l=this;setTimeout(function(){Dt(o,"click",Jt),l._preventClick=!1})}}),AE=function(o,l,u){return new Kf(o,l,u)},Sh=je.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(o){var l="leaflet-control-zoom",u=wt("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(),o.on("zoomend zoomlevelschange",this._updateDisabled,this),u},onRemove:function(o){o.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(o){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(o.shiftKey?3:1))},_zoomOut:function(o){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(o.shiftKey?3:1))},_createButton:function(o,l,u,g,_){var x=wt("a",u,g);return x.innerHTML=o,x.href="#",x.title=l,x.setAttribute("role","button"),x.setAttribute("aria-label",l),fs(x),dt(x,"click",Tn),dt(x,"click",_,this),dt(x,"click",this._refocusOnMap,this),x},_updateDisabled:function(){var o=this._map,l="leaflet-disabled";zt(this._zoomInButton,l),zt(this._zoomOutButton,l),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||o._zoom===o.getMinZoom())&&(pt(this._zoomOutButton,l),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||o._zoom===o.getMaxZoom())&&(pt(this._zoomInButton,l),this._zoomInButton.setAttribute("aria-disabled","true"))}});xt.mergeOptions({zoomControl:!0}),xt.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Sh,this.addControl(this.zoomControl))});var wE=function(o){return new Sh(o)},qf=je.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(o){var l="leaflet-control-scale",u=wt("div",l),g=this.options;return this._addScales(g,l+"-line",u),o.on(g.updateWhenIdle?"moveend":"move",this._update,this),o.whenReady(this._update,this),u},onRemove:function(o){o.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(o,l,u){o.metric&&(this._mScale=wt("div",l,u)),o.imperial&&(this._iScale=wt("div",l,u))},_update:function(){var o=this._map,l=o.getSize().y/2,u=o.distance(o.containerPointToLatLng([0,l]),o.containerPointToLatLng([this.options.maxWidth,l]));this._updateScales(u)},_updateScales:function(o){this.options.metric&&o&&this._updateMetric(o),this.options.imperial&&o&&this._updateImperial(o)},_updateMetric:function(o){var l=this._getRoundNum(o),u=l<1e3?l+" m":l/1e3+" km";this._updateScale(this._mScale,u,l/o)},_updateImperial:function(o){var l=o*3.2808399,u,g,_;l>5280?(u=l/5280,g=this._getRoundNum(u),this._updateScale(this._iScale,g+" mi",g/u)):(_=this._getRoundNum(l),this._updateScale(this._iScale,_+" ft",_/l))},_updateScale:function(o,l,u){o.style.width=Math.round(this.options.maxWidth*u)+"px",o.innerHTML=l},_getRoundNum:function(o){var l=Math.pow(10,(Math.floor(o)+"").length-1),u=o/l;return u=u>=10?10:u>=5?5:u>=3?3:u>=2?2:1,l*u}}),EE=function(o){return new qf(o)},LE='<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>',kh=je.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(J.inlineSvg?LE+" ":"")+"Leaflet</a>"},initialize:function(o){A(this,o),this._attributions={}},onAdd:function(o){o.attributionControl=this,this._container=wt("div","leaflet-control-attribution"),fs(this._container);for(var l in o._layers)o._layers[l].getAttribution&&this.addAttribution(o._layers[l].getAttribution());return this._update(),o.on("layeradd",this._addAttribution,this),this._container},onRemove:function(o){o.off("layeradd",this._addAttribution,this)},_addAttribution:function(o){o.layer.getAttribution&&(this.addAttribution(o.layer.getAttribution()),o.layer.once("remove",function(){this.removeAttribution(o.layer.getAttribution())},this))},setPrefix:function(o){return this.options.prefix=o,this._update(),this},addAttribution:function(o){return o?(this._attributions[o]||(this._attributions[o]=0),this._attributions[o]++,this._update(),this):this},removeAttribution:function(o){return o?(this._attributions[o]&&(this._attributions[o]--,this._update()),this):this},_update:function(){if(this._map){var o=[];for(var l in this._attributions)this._attributions[l]&&o.push(l);var u=[];this.options.prefix&&u.push(this.options.prefix),o.length&&u.push(o.join(", ")),this._container.innerHTML=u.join(' <span aria-hidden="true">|</span> ')}}});xt.mergeOptions({attributionControl:!0}),xt.addInitHook(function(){this.options.attributionControl&&new kh().addTo(this)});var CE=function(o){return new kh(o)};je.Layers=Kf,je.Zoom=Sh,je.Scale=qf,je.Attribution=kh,gs.layers=AE,gs.zoom=wE,gs.scale=EE,gs.attribution=CE;var ii=at.extend({initialize:function(o){this._map=o},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}});ii.addTo=function(o,l){return o.addHandler(l,this),this};var ME={Events:W},Jf=J.touch?"touchstart mousedown":"mousedown",nn=G.extend({options:{clickTolerance:3},initialize:function(o,l,u,g){A(this,g),this._element=o,this._dragStartTarget=l||o,this._preventOutline=u},enable:function(){this._enabled||(dt(this._dragStartTarget,Jf,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(nn._dragging===this&&this.finishDrag(!0),Dt(this._dragStartTarget,Jf,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(o){if(this._enabled&&(this._moved=!1,!vh(this._element,"leaflet-zoom-anim"))){if(o.touches&&o.touches.length!==1){nn._dragging===this&&this.finishDrag();return}if(!(nn._dragging||o.shiftKey||o.which!==1&&o.button!==1&&!o.touches)&&(nn._dragging=this,this._preventOutline&&Ch(this._element),wh(),cs(),!this._moving)){this.fire("down");var l=o.touches?o.touches[0]:o,u=Yf(this._element);this._startPoint=new F(l.clientX,l.clientY),this._startPos=Cn(this._element),this._parentScale=Mh(u);var g=o.type==="mousedown";dt(document,g?"mousemove":"touchmove",this._onMove,this),dt(document,g?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(o){if(this._enabled){if(o.touches&&o.touches.length>1){this._moved=!0;return}var l=o.touches&&o.touches.length===1?o.touches[0]:o,u=new F(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,Jt(o),this._moved||(this.fire("dragstart"),this._moved=!0,pt(document.body,"leaflet-dragging"),this._lastTarget=o.target||o.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(u),this._moving=!0,this._lastEvent=o,this._updatePosition())}},_updatePosition:function(){var o={originalEvent:this._lastEvent};this.fire("predrag",o),jt(this._element,this._newPos),this.fire("drag",o)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(o){zt(document.body,"leaflet-dragging"),this._lastTarget&&(zt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Dt(document,"mousemove touchmove",this._onMove,this),Dt(document,"mouseup touchend touchcancel",this._onUp,this),Eh(),us();var l=this._moved&&this._moving;this._moving=!1,nn._dragging=!1,l&&this.fire("dragend",{noInertia:o,distance:this._newPos.distanceTo(this._startPos)})}});function $f(o,l,u){var g,_=[1,4,2,8],x,T,I,S,j,V,ot,yt;for(x=0,V=o.length;x<V;x++)o[x]._code=bn(o[x],l);for(I=0;I<4;I++){for(ot=_[I],g=[],x=0,V=o.length,T=V-1;x<V;T=x++)S=o[x],j=o[T],S._code&ot?j._code&ot||(yt=sa(j,S,ot,l,u),yt._code=bn(yt,l),g.push(yt)):(j._code&ot&&(yt=sa(j,S,ot,l,u),yt._code=bn(yt,l),g.push(yt)),g.push(S));o=g}return o}function tg(o,l){var u,g,_,x,T,I,S,j,V;if(!o||o.length===0)throw new Error("latlngs not passed");De(o)||(console.warn("latlngs are not flat! Only the first ring will be used"),o=o[0]);var ot=ct([0,0]),yt=q(o),he=yt.getNorthWest().distanceTo(yt.getSouthWest())*yt.getNorthEast().distanceTo(yt.getNorthWest());he<1700&&(ot=Rh(o));var Vt=o.length,Pe=[];for(u=0;u<Vt;u++){var _e=ct(o[u]);Pe.push(l.project(ct([_e.lat-ot.lat,_e.lng-ot.lng])))}for(I=S=j=0,u=0,g=Vt-1;u<Vt;g=u++)_=Pe[u],x=Pe[g],T=_.y*x.x-x.y*_.x,S+=(_.x+x.x)*T,j+=(_.y+x.y)*T,I+=T*3;I===0?V=Pe[0]:V=[S/I,j/I];var _r=l.unproject(Z(V));return ct([_r.lat+ot.lat,_r.lng+ot.lng])}function Rh(o){for(var l=0,u=0,g=0,_=0;_<o.length;_++){var x=ct(o[_]);l+=x.lat,u+=x.lng,g++}return ct([l/g,u/g])}var TE={__proto__:null,clipPolygon:$f,polygonCenter:tg,centroid:Rh};function eg(o,l){if(!l||!o.length)return o.slice();var u=l*l;return o=PE(o,u),o=DE(o,u),o}function ig(o,l,u){return Math.sqrt(ps(o,l,u,!0))}function bE(o,l,u){return ps(o,l,u)}function DE(o,l){var u=o.length,g=typeof Uint8Array!=void 0+""?Uint8Array:Array,_=new g(u);_[0]=_[u-1]=1,Oh(o,_,l,0,u-1);var x,T=[];for(x=0;x<u;x++)_[x]&&T.push(o[x]);return T}function Oh(o,l,u,g,_){var x=0,T,I,S;for(I=g+1;I<=_-1;I++)S=ps(o[I],o[g],o[_],!0),S>x&&(T=I,x=S);x>u&&(l[T]=1,Oh(o,l,u,g,T),Oh(o,l,u,T,_))}function PE(o,l){for(var u=[o[0]],g=1,_=0,x=o.length;g<x;g++)IE(o[g],o[_])>l&&(u.push(o[g]),_=g);return _<x-1&&u.push(o[x-1]),u}var ng;function rg(o,l,u,g,_){var x=g?ng:bn(o,u),T=bn(l,u),I,S,j;for(ng=T;;){if(!(x|T))return[o,l];if(x&T)return!1;I=x||T,S=sa(o,l,I,u,_),j=bn(S,u),I===x?(o=S,x=j):(l=S,T=j)}}function sa(o,l,u,g,_){var x=l.x-o.x,T=l.y-o.y,I=g.min,S=g.max,j,V;return u&8?(j=o.x+x*(S.y-o.y)/T,V=S.y):u&4?(j=o.x+x*(I.y-o.y)/T,V=I.y):u&2?(j=S.x,V=o.y+T*(S.x-o.x)/x):u&1&&(j=I.x,V=o.y+T*(I.x-o.x)/x),new F(j,V,_)}function bn(o,l){var u=0;return o.x<l.min.x?u|=1:o.x>l.max.x&&(u|=2),o.y<l.min.y?u|=4:o.y>l.max.y&&(u|=8),u}function IE(o,l){var u=l.x-o.x,g=l.y-o.y;return u*u+g*g}function ps(o,l,u,g){var _=l.x,x=l.y,T=u.x-_,I=u.y-x,S=T*T+I*I,j;return S>0&&(j=((o.x-_)*T+(o.y-x)*I)/S,j>1?(_=u.x,x=u.y):j>0&&(_+=T*j,x+=I*j)),T=o.x-_,I=o.y-x,g?T*T+I*I:new F(_,x)}function De(o){return!E(o[0])||typeof o[0][0]!="object"&&typeof o[0][0]<"u"}function sg(o){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),De(o)}function og(o,l){var u,g,_,x,T,I,S,j;if(!o||o.length===0)throw new Error("latlngs not passed");De(o)||(console.warn("latlngs are not flat! Only the first ring will be used"),o=o[0]);var V=ct([0,0]),ot=q(o),yt=ot.getNorthWest().distanceTo(ot.getSouthWest())*ot.getNorthEast().distanceTo(ot.getNorthWest());yt<1700&&(V=Rh(o));var he=o.length,Vt=[];for(u=0;u<he;u++){var Pe=ct(o[u]);Vt.push(l.project(ct([Pe.lat-V.lat,Pe.lng-V.lng])))}for(u=0,g=0;u<he-1;u++)g+=Vt[u].distanceTo(Vt[u+1])/2;if(g===0)j=Vt[0];else for(u=0,x=0;u<he-1;u++)if(T=Vt[u],I=Vt[u+1],_=T.distanceTo(I),x+=_,x>g){S=(x-g)/_,j=[I.x-S*(I.x-T.x),I.y-S*(I.y-T.y)];break}var _e=l.unproject(Z(j));return ct([_e.lat+V.lat,_e.lng+V.lng])}var SE={__proto__:null,simplify:eg,pointToSegmentDistance:ig,closestPointOnSegment:bE,clipSegment:rg,_getEdgeIntersection:sa,_getBitCode:bn,_sqClosestPointOnSegment:ps,isFlat:De,_flat:sg,polylineCenter:og},zh={project:function(o){return new F(o.lng,o.lat)},unproject:function(o){return new et(o.y,o.x)},bounds:new rt([-180,-90],[180,90])},Nh={R:6378137,R_MINOR:6356752314245179e-9,bounds:new rt([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(o){var l=Math.PI/180,u=this.R,g=o.lat*l,_=this.R_MINOR/u,x=Math.sqrt(1-_*_),T=x*Math.sin(g),I=Math.tan(Math.PI/4-g/2)/Math.pow((1-T)/(1+T),x/2);return g=-u*Math.log(Math.max(I,1e-10)),new F(o.lng*l*u,g)},unproject:function(o){for(var l=180/Math.PI,u=this.R,g=this.R_MINOR/u,_=Math.sqrt(1-g*g),x=Math.exp(-o.y/u),T=Math.PI/2-2*Math.atan(x),I=0,S=.1,j;I<15&&Math.abs(S)>1e-7;I++)j=_*Math.sin(T),j=Math.pow((1-j)/(1+j),_/2),S=Math.PI/2-2*Math.atan(x*j)-T,T+=S;return new et(T*l,o.x*l/u)}},kE={__proto__:null,LonLat:zh,Mercator:Nh,SphericalMercator:qe},RE=n({},Xt,{code:"EPSG:3395",projection:Nh,transformation:function(){var o=.5/(Math.PI*Nh.R);return Te(o,.5,-o,.5)}()}),ag=n({},Xt,{code:"EPSG:4326",projection:zh,transformation:Te(1/180,1,-1/180,.5)}),OE=n({},Pt,{projection:zh,transformation:Te(1,0,-1,0),scale:function(o){return Math.pow(2,o)},zoom:function(o){return Math.log(o)/Math.LN2},distance:function(o,l){var u=l.lng-o.lng,g=l.lat-o.lat;return Math.sqrt(u*u+g*g)},infinite:!0});Pt.Earth=Xt,Pt.EPSG3395=RE,Pt.EPSG3857=Qi,Pt.EPSG900913=Je,Pt.EPSG4326=ag,Pt.Simple=OE;var Ue=G.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(o){return o.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(o){return o&&o.removeLayer(this),this},getPane:function(o){return this._map.getPane(o?this.options[o]||o:this.options.pane)},addInteractiveTarget:function(o){return this._map._targets[c(o)]=this,this},removeInteractiveTarget:function(o){return delete this._map._targets[c(o)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(o){var l=o.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})}}});xt.include({addLayer:function(o){if(!o._layerAdd)throw new Error("The provided object is not a Layer.");var l=c(o);return this._layers[l]?this:(this._layers[l]=o,o._mapToAdd=this,o.beforeAdd&&o.beforeAdd(this),this.whenReady(o._layerAdd,o),this)},removeLayer:function(o){var l=c(o);return this._layers[l]?(this._loaded&&o.onRemove(this),delete this._layers[l],this._loaded&&(this.fire("layerremove",{layer:o}),o.fire("remove")),o._map=o._mapToAdd=null,this):this},hasLayer:function(o){return c(o)in this._layers},eachLayer:function(o,l){for(var u in this._layers)o.call(l,this._layers[u]);return this},_addLayers:function(o){o=o?E(o)?o:[o]:[];for(var l=0,u=o.length;l<u;l++)this.addLayer(o[l])},_addZoomLimit:function(o){(!isNaN(o.options.maxZoom)||!isNaN(o.options.minZoom))&&(this._zoomBoundLayers[c(o)]=o,this._updateZoomLevels())},_removeZoomLimit:function(o){var l=c(o);this._zoomBoundLayers[l]&&(delete this._zoomBoundLayers[l],this._updateZoomLevels())},_updateZoomLevels:function(){var o=1/0,l=-1/0,u=this._getZoomSpan();for(var g in this._zoomBoundLayers){var _=this._zoomBoundLayers[g].options;o=_.minZoom===void 0?o:Math.min(o,_.minZoom),l=_.maxZoom===void 0?l:Math.max(l,_.maxZoom)}this._layersMaxZoom=l===-1/0?void 0:l,this._layersMinZoom=o===1/0?void 0:o,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 dr=Ue.extend({initialize:function(o,l){A(this,l),this._layers={};var u,g;if(o)for(u=0,g=o.length;u<g;u++)this.addLayer(o[u])},addLayer:function(o){var l=this.getLayerId(o);return this._layers[l]=o,this._map&&this._map.addLayer(o),this},removeLayer:function(o){var l=o in this._layers?o:this.getLayerId(o);return this._map&&this._layers[l]&&this._map.removeLayer(this._layers[l]),delete this._layers[l],this},hasLayer:function(o){var l=typeof o=="number"?o:this.getLayerId(o);return l in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(o){var l=Array.prototype.slice.call(arguments,1),u,g;for(u in this._layers)g=this._layers[u],g[o]&&g[o].apply(g,l);return this},onAdd:function(o){this.eachLayer(o.addLayer,o)},onRemove:function(o){this.eachLayer(o.removeLayer,o)},eachLayer:function(o,l){for(var u in this._layers)o.call(l,this._layers[u]);return this},getLayer:function(o){return this._layers[o]},getLayers:function(){var o=[];return this.eachLayer(o.push,o),o},setZIndex:function(o){return this.invoke("setZIndex",o)},getLayerId:function(o){return c(o)}}),zE=function(o,l){return new dr(o,l)},Li=dr.extend({addLayer:function(o){return this.hasLayer(o)?this:(o.addEventParent(this),dr.prototype.addLayer.call(this,o),this.fire("layeradd",{layer:o}))},removeLayer:function(o){return this.hasLayer(o)?(o in this._layers&&(o=this._layers[o]),o.removeEventParent(this),dr.prototype.removeLayer.call(this,o),this.fire("layerremove",{layer:o})):this},setStyle:function(o){return this.invoke("setStyle",o)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var o=new ft;for(var l in this._layers){var u=this._layers[l];o.extend(u.getBounds?u.getBounds():u.getLatLng())}return o}}),NE=function(o,l){return new Li(o,l)},fr=at.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(o){A(this,o)},createIcon:function(o){return this._createIcon("icon",o)},createShadow:function(o){return this._createIcon("shadow",o)},_createIcon:function(o,l){var u=this._getIconUrl(o);if(!u){if(o==="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,o),(this.options.crossOrigin||this.options.crossOrigin==="")&&(g.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),g},_setIconStyles:function(o,l){var u=this.options,g=u[l+"Size"];typeof g=="number"&&(g=[g,g]);var _=Z(g),x=Z(l==="shadow"&&u.shadowAnchor||u.iconAnchor||_&&_.divideBy(2,!0));o.className="leaflet-marker-"+l+" "+(u.className||""),x&&(o.style.marginLeft=-x.x+"px",o.style.marginTop=-x.y+"px"),_&&(o.style.width=_.x+"px",o.style.height=_.y+"px")},_createImg:function(o,l){return l=l||document.createElement("img"),l.src=o,l},_getIconUrl:function(o){return J.retina&&this.options[o+"RetinaUrl"]||this.options[o+"Url"]}});function FE(o){return new fr(o)}var ms=fr.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(o){return typeof ms.imagePath!="string"&&(ms.imagePath=this._detectIconPath()),(this.options.imagePath||ms.imagePath)+fr.prototype._getIconUrl.call(this,o)},_stripUrl:function(o){var l=function(u,g,_){var x=g.exec(u);return x&&x[_]};return o=l(o,/^url\((['"])?(.+)\1\)$/,2),o&&l(o,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var o=wt("div","leaflet-default-icon-path",document.body),l=hs(o,"background-image")||hs(o,"backgroundImage");if(document.body.removeChild(o),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):""}}),lg=ii.extend({initialize:function(o){this._marker=o},addHooks:function(){var o=this._marker._icon;this._draggable||(this._draggable=new nn(o,o,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pt(o,"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&&zt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(o){var l=this._marker,u=l._map,g=this._marker.options.autoPanSpeed,_=this._marker.options.autoPanPadding,x=Cn(l._icon),T=u.getPixelBounds(),I=u.getPixelOrigin(),S=z(T.min._subtract(I).add(_),T.max._subtract(I).subtract(_));if(!S.contains(x)){var j=Z((Math.max(S.max.x,x.x)-S.max.x)/(T.max.x-S.max.x)-(Math.min(S.min.x,x.x)-S.min.x)/(T.min.x-S.min.x),(Math.max(S.max.y,x.y)-S.max.y)/(T.max.y-S.max.y)-(Math.min(S.min.y,x.y)-S.min.y)/(T.min.y-S.min.y)).multiplyBy(g);u.panBy(j,{animate:!1}),this._draggable._newPos._add(j),this._draggable._startPos._add(j),jt(l._icon,this._draggable._newPos),this._onDrag(o),this._panRequest=U(this._adjustPan.bind(this,o))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(o){this._marker.options.autoPan&&(Q(this._panRequest),this._panRequest=U(this._adjustPan.bind(this,o)))},_onDrag:function(o){var l=this._marker,u=l._shadow,g=Cn(l._icon),_=l._map.layerPointToLatLng(g);u&&jt(u,g),l._latlng=_,o.latlng=_,o.oldLatLng=this._oldLatLng,l.fire("move",o).fire("drag",o)},_onDragEnd:function(o){Q(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",o)}}),oa=Ue.extend({options:{icon:new ms,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(o,l){A(this,l),this._latlng=ct(o)},onAdd:function(o){this._zoomAnimated=this._zoomAnimated&&o.options.markerZoomAnimation,this._zoomAnimated&&o.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(o){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&o.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(o){var l=this._latlng;return this._latlng=ct(o),this.update(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},setZIndexOffset:function(o){return this.options.zIndexOffset=o,this.update()},getIcon:function(){return this.options.icon},setIcon:function(o){return this.options.icon=o,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 o=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(o)}return this},_initIcon:function(){var o=this.options,l="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),u=o.icon.createIcon(this._icon),g=!1;u!==this._icon&&(this._icon&&this._removeIcon(),g=!0,o.title&&(u.title=o.title),u.tagName==="IMG"&&(u.alt=o.alt||"")),pt(u,l),o.keyboard&&(u.tabIndex="0",u.setAttribute("role","button")),this._icon=u,o.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&dt(u,"focus",this._panOnFocus,this);var _=o.icon.createShadow(this._shadow),x=!1;_!==this._shadow&&(this._removeShadow(),x=!0),_&&(pt(_,l),_.alt=""),this._shadow=_,o.opacity<1&&this._updateOpacity(),g&&this.getPane().appendChild(this._icon),this._initInteraction(),_&&x&&this.getPane(o.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Dt(this._icon,"focus",this._panOnFocus,this),St(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&St(this._shadow),this._shadow=null},_setPos:function(o){this._icon&&jt(this._icon,o),this._shadow&&jt(this._shadow,o),this._zIndex=o.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(o){this._icon&&(this._icon.style.zIndex=this._zIndex+o)},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center).round();this._setPos(l)},_initInteraction:function(){if(this.options.interactive&&(pt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),lg)){var o=this.options.draggable;this.dragging&&(o=this.dragging.enabled(),this.dragging.disable()),this.dragging=new lg(this),o&&this.dragging.enable()}},setOpacity:function(o){return this.options.opacity=o,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var o=this.options.opacity;this._icon&&be(this._icon,o),this._shadow&&be(this._shadow,o)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var o=this._map;if(o){var l=this.options.icon.options,u=l.iconSize?Z(l.iconSize):Z(0,0),g=l.iconAnchor?Z(l.iconAnchor):Z(0,0);o.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 BE(o,l){return new oa(o,l)}var rn=Ue.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(o){this._renderer=o.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(o){return A(this,o),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&o&&Object.prototype.hasOwnProperty.call(o,"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)}}),aa=rn.extend({options:{fill:!0,radius:10},initialize:function(o,l){A(this,l),this._latlng=ct(o),this._radius=this.options.radius},setLatLng:function(o){var l=this._latlng;return this._latlng=ct(o),this.redraw(),this.fire("move",{oldLatLng:l,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(o){return this.options.radius=this._radius=o,this.redraw()},getRadius:function(){return this._radius},setStyle:function(o){var l=o&&o.radius||this._radius;return rn.prototype.setStyle.call(this,o),this.setRadius(l),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var o=this._radius,l=this._radiusY||o,u=this._clickTolerance(),g=[o+u,l+u];this._pxBounds=new rt(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(o){return o.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function jE(o,l){return new aa(o,l)}var Fh=aa.extend({initialize:function(o,l,u){if(typeof l=="number"&&(l=n({},u,{radius:l})),A(this,l),this._latlng=ct(o),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(o){return this._mRadius=o,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var o=[this._radius,this._radiusY||this._radius];return new ft(this._map.layerPointToLatLng(this._point.subtract(o)),this._map.layerPointToLatLng(this._point.add(o)))},setStyle:rn.prototype.setStyle,_project:function(){var o=this._latlng.lng,l=this._latlng.lat,u=this._map,g=u.options.crs;if(g.distance===Xt.distance){var _=Math.PI/180,x=this._mRadius/Xt.R/_,T=u.project([l+x,o]),I=u.project([l-x,o]),S=T.add(I).divideBy(2),j=u.unproject(S).lat,V=Math.acos((Math.cos(x*_)-Math.sin(l*_)*Math.sin(j*_))/(Math.cos(l*_)*Math.cos(j*_)))/_;(isNaN(V)||V===0)&&(V=x/Math.cos(Math.PI/180*l)),this._point=S.subtract(u.getPixelOrigin()),this._radius=isNaN(V)?0:S.x-u.project([j,o-V]).x,this._radiusY=S.y-T.y}else{var ot=g.unproject(g.project(this._latlng).subtract([this._mRadius,0]));this._point=u.latLngToLayerPoint(this._latlng),this._radius=this._point.x-u.latLngToLayerPoint(ot).x}this._updateBounds()}});function UE(o,l,u){return new Fh(o,l,u)}var Ci=rn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(o,l){A(this,l),this._setLatLngs(o)},getLatLngs:function(){return this._latlngs},setLatLngs:function(o){return this._setLatLngs(o),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(o){for(var l=1/0,u=null,g=ps,_,x,T=0,I=this._parts.length;T<I;T++)for(var S=this._parts[T],j=1,V=S.length;j<V;j++){_=S[j-1],x=S[j];var ot=g(o,_,x,!0);ot<l&&(l=ot,u=g(o,_,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 og(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(o,l){return l=l||this._defaultShape(),o=ct(o),l.push(o),this._bounds.extend(o),this.redraw()},_setLatLngs:function(o){this._bounds=new ft,this._latlngs=this._convertLatLngs(o)},_defaultShape:function(){return De(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(o){for(var l=[],u=De(o),g=0,_=o.length;g<_;g++)u?(l[g]=ct(o[g]),this._bounds.extend(l[g])):l[g]=this._convertLatLngs(o[g]);return l},_project:function(){var o=new rt;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,o),this._bounds.isValid()&&o.isValid()&&(this._rawPxBounds=o,this._updateBounds())},_updateBounds:function(){var o=this._clickTolerance(),l=new F(o,o);this._rawPxBounds&&(this._pxBounds=new rt([this._rawPxBounds.min.subtract(l),this._rawPxBounds.max.add(l)]))},_projectLatlngs:function(o,l,u){var g=o[0]instanceof et,_=o.length,x,T;if(g){for(T=[],x=0;x<_;x++)T[x]=this._map.latLngToLayerPoint(o[x]),u.extend(T[x]);l.push(T)}else for(x=0;x<_;x++)this._projectLatlngs(o[x],l,u)},_clipPoints:function(){var o=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(o))){if(this.options.noClip){this._parts=this._rings;return}var l=this._parts,u,g,_,x,T,I,S;for(u=0,_=0,x=this._rings.length;u<x;u++)for(S=this._rings[u],g=0,T=S.length;g<T-1;g++)I=rg(S[g],S[g+1],o,g,!0),I&&(l[_]=l[_]||[],l[_].push(I[0]),(I[1]!==S[g+1]||g===T-2)&&(l[_].push(I[1]),_++))}},_simplifyPoints:function(){for(var o=this._parts,l=this.options.smoothFactor,u=0,g=o.length;u<g;u++)o[u]=eg(o[u],l)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(o,l){var u,g,_,x,T,I,S=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(o))return!1;for(u=0,x=this._parts.length;u<x;u++)for(I=this._parts[u],g=0,T=I.length,_=T-1;g<T;_=g++)if(!(!l&&g===0)&&ig(o,I[_],I[g])<=S)return!0;return!1}});function GE(o,l){return new Ci(o,l)}Ci._flat=sg;var gr=Ci.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 tg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(o){var l=Ci.prototype._convertLatLngs.call(this,o),u=l.length;return u>=2&&l[0]instanceof et&&l[0].equals(l[u-1])&&l.pop(),l},_setLatLngs:function(o){Ci.prototype._setLatLngs.call(this,o),De(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return De(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var o=this._renderer._bounds,l=this.options.weight,u=new F(l,l);if(o=new rt(o.min.subtract(u),o.max.add(u)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(o))){if(this.options.noClip){this._parts=this._rings;return}for(var g=0,_=this._rings.length,x;g<_;g++)x=$f(this._rings[g],o,!0),x.length&&this._parts.push(x)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(o){var l=!1,u,g,_,x,T,I,S,j;if(!this._pxBounds||!this._pxBounds.contains(o))return!1;for(x=0,S=this._parts.length;x<S;x++)for(u=this._parts[x],T=0,j=u.length,I=j-1;T<j;I=T++)g=u[T],_=u[I],g.y>o.y!=_.y>o.y&&o.x<(_.x-g.x)*(o.y-g.y)/(_.y-g.y)+g.x&&(l=!l);return l||Ci.prototype._containsPoint.call(this,o,!0)}});function HE(o,l){return new gr(o,l)}var Mi=Li.extend({initialize:function(o,l){A(this,l),this._layers={},o&&this.addData(o)},addData:function(o){var l=E(o)?o:o.features,u,g,_;if(l){for(u=0,g=l.length;u<g;u++)_=l[u],(_.geometries||_.geometry||_.features||_.coordinates)&&this.addData(_);return this}var x=this.options;if(x.filter&&!x.filter(o))return this;var T=la(o,x);return T?(T.feature=ua(o),T.defaultOptions=T.options,this.resetStyle(T),x.onEachFeature&&x.onEachFeature(o,T),this.addLayer(T)):this},resetStyle:function(o){return o===void 0?this.eachLayer(this.resetStyle,this):(o.options=n({},o.defaultOptions),this._setLayerStyle(o,this.options.style),this)},setStyle:function(o){return this.eachLayer(function(l){this._setLayerStyle(l,o)},this)},_setLayerStyle:function(o,l){o.setStyle&&(typeof l=="function"&&(l=l(o.feature)),o.setStyle(l))}});function la(o,l){var u=o.type==="Feature"?o.geometry:o,g=u?u.coordinates:null,_=[],x=l&&l.pointToLayer,T=l&&l.coordsToLatLng||Bh,I,S,j,V;if(!g&&!u)return null;switch(u.type){case"Point":return I=T(g),hg(x,o,I,l);case"MultiPoint":for(j=0,V=g.length;j<V;j++)I=T(g[j]),_.push(hg(x,o,I,l));return new Li(_);case"LineString":case"MultiLineString":return S=ha(g,u.type==="LineString"?0:1,T),new Ci(S,l);case"Polygon":case"MultiPolygon":return S=ha(g,u.type==="Polygon"?1:2,T),new gr(S,l);case"GeometryCollection":for(j=0,V=u.geometries.length;j<V;j++){var ot=la({geometry:u.geometries[j],type:"Feature",properties:o.properties},l);ot&&_.push(ot)}return new Li(_);case"FeatureCollection":for(j=0,V=u.features.length;j<V;j++){var yt=la(u.features[j],l);yt&&_.push(yt)}return new Li(_);default:throw new Error("Invalid GeoJSON object.")}}function hg(o,l,u,g){return o?o(l,u):new oa(u,g&&g.markersInheritOptions&&g)}function Bh(o){return new et(o[1],o[0],o[2])}function ha(o,l,u){for(var g=[],_=0,x=o.length,T;_<x;_++)T=l?ha(o[_],l-1,u):(u||Bh)(o[_]),g.push(T);return g}function jh(o,l){return o=ct(o),o.alt!==void 0?[m(o.lng,l),m(o.lat,l),m(o.alt,l)]:[m(o.lng,l),m(o.lat,l)]}function ca(o,l,u,g){for(var _=[],x=0,T=o.length;x<T;x++)_.push(l?ca(o[x],De(o[x])?0:l-1,u,g):jh(o[x],g));return!l&&u&&_.length>0&&_.push(_[0].slice()),_}function pr(o,l){return o.feature?n({},o.feature,{geometry:l}):ua(l)}function ua(o){return o.type==="Feature"||o.type==="FeatureCollection"?o:{type:"Feature",properties:{},geometry:o}}var Uh={toGeoJSON:function(o){return pr(this,{type:"Point",coordinates:jh(this.getLatLng(),o)})}};oa.include(Uh),Fh.include(Uh),aa.include(Uh),Ci.include({toGeoJSON:function(o){var l=!De(this._latlngs),u=ca(this._latlngs,l?1:0,!1,o);return pr(this,{type:(l?"Multi":"")+"LineString",coordinates:u})}}),gr.include({toGeoJSON:function(o){var l=!De(this._latlngs),u=l&&!De(this._latlngs[0]),g=ca(this._latlngs,u?2:l?1:0,!0,o);return l||(g=[g]),pr(this,{type:(u?"Multi":"")+"Polygon",coordinates:g})}}),dr.include({toMultiPoint:function(o){var l=[];return this.eachLayer(function(u){l.push(u.toGeoJSON(o).geometry.coordinates)}),pr(this,{type:"MultiPoint",coordinates:l})},toGeoJSON:function(o){var l=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(l==="MultiPoint")return this.toMultiPoint(o);var u=l==="GeometryCollection",g=[];return this.eachLayer(function(_){if(_.toGeoJSON){var x=_.toGeoJSON(o);if(u)g.push(x.geometry);else{var T=ua(x);T.type==="FeatureCollection"?g.push.apply(g,T.features):g.push(T)}}}),u?pr(this,{geometries:g,type:"GeometryCollection"}):{type:"FeatureCollection",features:g}}});function cg(o,l){return new Mi(o,l)}var YE=cg,da=Ue.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(o,l,u){this._url=o,this._bounds=q(l),A(this,u)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(pt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){St(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(o){return this.options.opacity=o,this._image&&this._updateOpacity(),this},setStyle:function(o){return o.opacity&&this.setOpacity(o.opacity),this},bringToFront:function(){return this._map&&cr(this._image),this},bringToBack:function(){return this._map&&ur(this._image),this},setUrl:function(o){return this._url=o,this._image&&(this._image.src=o),this},setBounds:function(o){return this._bounds=q(o),this._map&&this._reset(),this},getEvents:function(){var o={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},setZIndex:function(o){return this.options.zIndex=o,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var o=this._url.tagName==="IMG",l=this._image=o?this._url:wt("img");if(pt(l,"leaflet-image-layer"),this._zoomAnimated&&pt(l,"leaflet-zoom-animated"),this.options.className&&pt(l,this.options.className),l.onselectstart=p,l.onmousemove=p,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(),o){this._url=l.src;return}l.src=this._url,l.alt=this.options.alt},_animateZoom:function(o){var l=this._map.getZoomScale(o.zoom),u=this._map._latLngBoundsToNewLayerBounds(this._bounds,o.zoom,o.center).min;Ln(this._image,u,l)},_reset:function(){var o=this._image,l=new rt(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),u=l.getSize();jt(o,l.min),o.style.width=u.x+"px",o.style.height=u.y+"px"},_updateOpacity:function(){be(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 o=this.options.errorOverlayUrl;o&&this._url!==o&&(this._url=o,this._image.src=o)},getCenter:function(){return this._bounds.getCenter()}}),WE=function(o,l,u){return new da(o,l,u)},ug=da.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var o=this._url.tagName==="VIDEO",l=this._image=o?this._url:wt("video");if(pt(l,"leaflet-image-layer"),this._zoomAnimated&&pt(l,"leaflet-zoom-animated"),this.options.className&&pt(l,this.options.className),l.onselectstart=p,l.onmousemove=p,l.onloadeddata=a(this.fire,this,"load"),o){for(var u=l.getElementsByTagName("source"),g=[],_=0;_<u.length;_++)g.push(u[_].src);this._url=u.length>0?g:[l.src];return}E(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 T=wt("source");T.src=this._url[x],l.appendChild(T)}}});function ZE(o,l,u){return new ug(o,l,u)}var dg=da.extend({_initImage:function(){var o=this._image=this._url;pt(o,"leaflet-image-layer"),this._zoomAnimated&&pt(o,"leaflet-zoom-animated"),this.options.className&&pt(o,this.options.className),o.onselectstart=p,o.onmousemove=p}});function XE(o,l,u){return new dg(o,l,u)}var ni=Ue.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(o,l){o&&(o instanceof et||E(o))?(this._latlng=ct(o),A(this,l)):(A(this,o),this._source=l),this.options.content&&(this._content=this.options.content)},openOn:function(o){return o=arguments.length?o:this._source._map,o.hasLayer(this)||o.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(o){return this._map?this.close():(arguments.length?this._source=o:o=this._source,this._prepareOpen(),this.openOn(o._map)),this},onAdd:function(o){this._zoomAnimated=o._zoomAnimated,this._container||this._initLayout(),o._fadeAnimated&&be(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),o._fadeAnimated&&be(this._container,1),this.bringToFront(),this.options.interactive&&(pt(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(o){o._fadeAnimated?(be(this._container,0),this._removeTimeout=setTimeout(a(St,void 0,this._container),200)):St(this._container),this.options.interactive&&(zt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(o){return this._latlng=ct(o),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(o){return this._content=o,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 o={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&cr(this._container),this},bringToBack:function(){return this._map&&ur(this._container),this},_prepareOpen:function(o){var l=this._source;if(!l._map)return!1;if(l instanceof Li){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(!o)if(l.getCenter)o=l.getCenter();else if(l.getLatLng)o=l.getLatLng();else if(l.getBounds)o=l.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(o),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var o=this._contentNode,l=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof l=="string")o.innerHTML=l;else{for(;o.hasChildNodes();)o.removeChild(o.firstChild);o.appendChild(l)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var o=this._map.latLngToLayerPoint(this._latlng),l=Z(this.options.offset),u=this._getAnchor();this._zoomAnimated?jt(this._container,o.add(u)):l=l.add(o).add(u);var g=this._containerBottom=-l.y,_=this._containerLeft=-Math.round(this._containerWidth/2)+l.x;this._container.style.bottom=g+"px",this._container.style.left=_+"px"}},_getAnchor:function(){return[0,0]}});xt.include({_initOverlay:function(o,l,u,g){var _=l;return _ instanceof o||(_=new o(g).setContent(l)),u&&_.setLatLng(u),_}}),Ue.include({_initOverlay:function(o,l,u,g){var _=u;return _ instanceof o?(A(_,g),_._source=this):(_=l&&!g?l:new o(g,this),_.setContent(u)),_}});var fa=ni.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(o){return o=arguments.length?o:this._source._map,!o.hasLayer(this)&&o._popup&&o._popup.options.autoClose&&o.removeLayer(o._popup),o._popup=this,ni.prototype.openOn.call(this,o)},onAdd:function(o){ni.prototype.onAdd.call(this,o),o.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof rn||this._source.on("preclick",Mn))},onRemove:function(o){ni.prototype.onRemove.call(this,o),o.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof rn||this._source.off("preclick",Mn))},getEvents:function(){var o=ni.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(o.preclick=this.close),this.options.keepInView&&(o.moveend=this._adjustPan),o},_initLayout:function(){var o="leaflet-popup",l=this._container=wt("div",o+" "+(this.options.className||"")+" leaflet-zoom-animated"),u=this._wrapper=wt("div",o+"-content-wrapper",l);if(this._contentNode=wt("div",o+"-content",u),fs(l),Ph(this._contentNode),dt(l,"contextmenu",Mn),this._tipContainer=wt("div",o+"-tip-container",l),this._tip=wt("div",o+"-tip",this._tipContainer),this.options.closeButton){var g=this._closeButton=wt("a",o+"-close-button",l);g.setAttribute("role","button"),g.setAttribute("aria-label","Close popup"),g.href="#close",g.innerHTML='<span aria-hidden="true">&#215;</span>',dt(g,"click",function(_){Jt(_),this.close()},this)}},_updateLayout:function(){var o=this._contentNode,l=o.style;l.width="",l.whiteSpace="nowrap";var u=o.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=o.offsetHeight,_=this.options.maxHeight,x="leaflet-popup-scrolled";_&&g>_?(l.height=_+"px",pt(o,x)):zt(o,x),this._containerWidth=this._container.offsetWidth},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center),u=this._getAnchor();jt(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 o=this._map,l=parseInt(hs(this._container,"marginBottom"),10)||0,u=this._container.offsetHeight+l,g=this._containerWidth,_=new F(this._containerLeft,-u-this._containerBottom);_._add(Cn(this._container));var x=o.layerPointToContainerPoint(_),T=Z(this.options.autoPanPadding),I=Z(this.options.autoPanPaddingTopLeft||T),S=Z(this.options.autoPanPaddingBottomRight||T),j=o.getSize(),V=0,ot=0;x.x+g+S.x>j.x&&(V=x.x+g-j.x+S.x),x.x-V-I.x<0&&(V=x.x-I.x),x.y+u+S.y>j.y&&(ot=x.y+u-j.y+S.y),x.y-ot-I.y<0&&(ot=x.y-I.y),(V||ot)&&(this.options.keepInView&&(this._autopanning=!0),o.fire("autopanstart").panBy([V,ot]))}},_getAnchor:function(){return Z(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),QE=function(o,l){return new fa(o,l)};xt.mergeOptions({closePopupOnClick:!0}),xt.include({openPopup:function(o,l,u){return this._initOverlay(fa,o,l,u).openOn(this),this},closePopup:function(o){return o=arguments.length?o:this._popup,o&&o.close(),this}}),Ue.include({bindPopup:function(o,l){return this._popup=this._initOverlay(fa,this._popup,o,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(o){return this._popup&&(this instanceof Li||(this._popup._source=this),this._popup._prepareOpen(o||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(o){return this._popup&&this._popup.setContent(o),this},getPopup:function(){return this._popup},_openPopup:function(o){if(!(!this._popup||!this._map)){Tn(o);var l=o.layer||o.target;if(this._popup._source===l&&!(l instanceof rn)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(o.latlng);return}this._popup._source=l,this.openPopup(o.latlng)}},_movePopup:function(o){this._popup.setLatLng(o.latlng)},_onKeyPress:function(o){o.originalEvent.keyCode===13&&this._openPopup(o)}});var ga=ni.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(o){ni.prototype.onAdd.call(this,o),this.setOpacity(this.options.opacity),o.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(o){ni.prototype.onRemove.call(this,o),o.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var o=ni.prototype.getEvents.call(this);return this.options.permanent||(o.preclick=this.close),o},_initLayout:function(){var o="leaflet-tooltip",l=o+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=wt("div",l),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(o){var l,u,g=this._map,_=this._container,x=g.latLngToContainerPoint(g.getCenter()),T=g.layerPointToContainerPoint(o),I=this.options.direction,S=_.offsetWidth,j=_.offsetHeight,V=Z(this.options.offset),ot=this._getAnchor();I==="top"?(l=S/2,u=j):I==="bottom"?(l=S/2,u=0):I==="center"?(l=S/2,u=j/2):I==="right"?(l=0,u=j/2):I==="left"?(l=S,u=j/2):T.x<x.x?(I="right",l=0,u=j/2):(I="left",l=S+(V.x+ot.x)*2,u=j/2),o=o.subtract(Z(l,u,!0)).add(V).add(ot),zt(_,"leaflet-tooltip-right"),zt(_,"leaflet-tooltip-left"),zt(_,"leaflet-tooltip-top"),zt(_,"leaflet-tooltip-bottom"),pt(_,"leaflet-tooltip-"+I),jt(_,o)},_updatePosition:function(){var o=this._map.latLngToLayerPoint(this._latlng);this._setPosition(o)},setOpacity:function(o){this.options.opacity=o,this._container&&be(this._container,o)},_animateZoom:function(o){var l=this._map._latLngToNewLayerPoint(this._latlng,o.zoom,o.center);this._setPosition(l)},_getAnchor:function(){return Z(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),VE=function(o,l){return new ga(o,l)};xt.include({openTooltip:function(o,l,u){return this._initOverlay(ga,o,l,u).openOn(this),this},closeTooltip:function(o){return o.close(),this}}),Ue.include({bindTooltip:function(o,l){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(ga,this._tooltip,o,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(o){if(!(!o&&this._tooltipHandlersAdded)){var l=o?"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=!o}},openTooltip:function(o){return this._tooltip&&(this instanceof Li||(this._tooltip._source=this),this._tooltip._prepareOpen(o)&&(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(o){return this._tooltip&&this._tooltip.setContent(o),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(o){var l=typeof o.getElement=="function"&&o.getElement();l&&(dt(l,"focus",function(){this._tooltip._source=o,this.openTooltip()},this),dt(l,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(o){var l=typeof o.getElement=="function"&&o.getElement();l&&l.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(o){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(o)});return}this._tooltip._source=o.layer||o.target,this.openTooltip(this._tooltip.options.sticky?o.latlng:void 0)}},_moveTooltip:function(o){var l=o.latlng,u,g;this._tooltip.options.sticky&&o.originalEvent&&(u=this._map.mouseEventToContainerPoint(o.originalEvent),g=this._map.containerPointToLayerPoint(u),l=this._map.layerPointToLatLng(g)),this._tooltip.setLatLng(l)}});var fg=fr.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(o){var l=o&&o.tagName==="DIV"?o:document.createElement("div"),u=this.options;if(u.html instanceof Element?(ta(l),l.appendChild(u.html)):l.innerHTML=u.html!==!1?u.html:"",u.bgPos){var g=Z(u.bgPos);l.style.backgroundPosition=-g.x+"px "+-g.y+"px"}return this._setIconStyles(l,"icon"),l},createShadow:function(){return null}});function KE(o){return new fg(o)}fr.Default=ms;var _s=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:J.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(o){A(this,o)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(o){o._addZoomLimit(this)},onRemove:function(o){this._removeAllTiles(),St(this._container),o._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(cr(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ur(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(o){return this.options.opacity=o,this._updateOpacity(),this},setZIndex:function(o){return this.options.zIndex=o,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var o=this._clampZoom(this._map.getZoom());o!==this._tileZoom&&(this._tileZoom=o,this._updateLevels()),this._update()}return this},getEvents:function(){var o={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)),o.move=this._onMove),this._zoomAnimated&&(o.zoomanim=this._animateZoom),o},createTile:function(){return document.createElement("div")},getTileSize:function(){var o=this.options.tileSize;return o instanceof F?o:new F(o,o)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(o){for(var l=this.getPane().children,u=-o(-1/0,1/0),g=0,_=l.length,x;g<_;g++)x=l[g].style.zIndex,l[g]!==this._container&&x&&(u=o(u,+x));isFinite(u)&&(this.options.zIndex=u+o(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!J.ielt9){be(this._container,this.options.opacity);var o=+new Date,l=!1,u=!1;for(var g in this._tiles){var _=this._tiles[g];if(!(!_.current||!_.loaded)){var x=Math.min(1,(o-_.loaded)/200);be(_.el,x),x<1?l=!0:(_.active?u=!0:this._onOpaqueTile(_),_.active=!0)}}u&&!this._noPrune&&this._pruneTiles(),l&&(Q(this._fadeFrame),this._fadeFrame=U(this._updateOpacity,this))}},_onOpaqueTile:p,_initContainer:function(){this._container||(this._container=wt("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var o=this._tileZoom,l=this.options.maxZoom;if(o!==void 0){for(var u in this._levels)u=Number(u),this._levels[u].el.children.length||u===o?(this._levels[u].el.style.zIndex=l-Math.abs(o-u),this._onUpdateLevel(u)):(St(this._levels[u].el),this._removeTilesAtZoom(u),this._onRemoveLevel(u),delete this._levels[u]);var g=this._levels[o],_=this._map;return g||(g=this._levels[o]={},g.el=wt("div","leaflet-tile-container leaflet-zoom-animated",this._container),g.el.style.zIndex=l,g.origin=_.project(_.unproject(_.getPixelOrigin()),o).round(),g.zoom=o,this._setZoomTransform(g,_.getCenter(),_.getZoom()),p(g.el.offsetWidth),this._onCreateLevel(g)),this._level=g,g}},_onUpdateLevel:p,_onRemoveLevel:p,_onCreateLevel:p,_pruneTiles:function(){if(this._map){var o,l,u=this._map.getZoom();if(u>this.options.maxZoom||u<this.options.minZoom){this._removeAllTiles();return}for(o in this._tiles)l=this._tiles[o],l.retain=l.current;for(o in this._tiles)if(l=this._tiles[o],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(o in this._tiles)this._tiles[o].retain||this._removeTile(o)}},_removeTilesAtZoom:function(o){for(var l in this._tiles)this._tiles[l].coords.z===o&&this._removeTile(l)},_removeAllTiles:function(){for(var o in this._tiles)this._removeTile(o)},_invalidateAll:function(){for(var o in this._levels)St(this._levels[o].el),this._onRemoveLevel(Number(o)),delete this._levels[o];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(o,l,u,g){var _=Math.floor(o/2),x=Math.floor(l/2),T=u-1,I=new F(+_,+x);I.z=+T;var S=this._tileCoordsToKey(I),j=this._tiles[S];return j&&j.active?(j.retain=!0,!0):(j&&j.loaded&&(j.retain=!0),T>g?this._retainParent(_,x,T,g):!1)},_retainChildren:function(o,l,u,g){for(var _=2*o;_<2*o+2;_++)for(var x=2*l;x<2*l+2;x++){var T=new F(_,x);T.z=u+1;var I=this._tileCoordsToKey(T),S=this._tiles[I];if(S&&S.active){S.retain=!0;continue}else S&&S.loaded&&(S.retain=!0);u+1<g&&this._retainChildren(_,x,u+1,g)}},_resetView:function(o){var l=o&&(o.pinch||o.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),l,l)},_animateZoom:function(o){this._setView(o.center,o.zoom,!0,o.noUpdate)},_clampZoom:function(o){var l=this.options;return l.minNativeZoom!==void 0&&o<l.minNativeZoom?l.minNativeZoom:l.maxNativeZoom!==void 0&&l.maxNativeZoom<o?l.maxNativeZoom:o},_setView:function(o,l,u,g){var _=Math.round(l);this.options.maxZoom!==void 0&&_>this.options.maxZoom||this.options.minZoom!==void 0&&_<this.options.minZoom?_=void 0:_=this._clampZoom(_);var x=this.options.updateWhenZooming&&_!==this._tileZoom;(!g||x)&&(this._tileZoom=_,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),_!==void 0&&this._update(o),u||this._pruneTiles(),this._noPrune=!!u),this._setZoomTransforms(o,l)},_setZoomTransforms:function(o,l){for(var u in this._levels)this._setZoomTransform(this._levels[u],o,l)},_setZoomTransform:function(o,l,u){var g=this._map.getZoomScale(u,o.zoom),_=o.origin.multiplyBy(g).subtract(this._map._getNewPixelOrigin(l,u)).round();J.any3d?Ln(o.el,_,g):jt(o.el,_)},_resetGrid:function(){var o=this._map,l=o.options.crs,u=this._tileSize=this.getTileSize(),g=this._tileZoom,_=this._map.getPixelWorldBounds(this._tileZoom);_&&(this._globalTileRange=this._pxBoundsToTileRange(_)),this._wrapX=l.wrapLng&&!this.options.noWrap&&[Math.floor(o.project([0,l.wrapLng[0]],g).x/u.x),Math.ceil(o.project([0,l.wrapLng[1]],g).x/u.y)],this._wrapY=l.wrapLat&&!this.options.noWrap&&[Math.floor(o.project([l.wrapLat[0],0],g).y/u.x),Math.ceil(o.project([l.wrapLat[1],0],g).y/u.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(o){var l=this._map,u=l._animatingZoom?Math.max(l._animateToZoom,l.getZoom()):l.getZoom(),g=l.getZoomScale(u,this._tileZoom),_=l.project(o,this._tileZoom).floor(),x=l.getSize().divideBy(g*2);return new rt(_.subtract(x),_.add(x))},_update:function(o){var l=this._map;if(l){var u=this._clampZoom(l.getZoom());if(o===void 0&&(o=l.getCenter()),this._tileZoom!==void 0){var g=this._getTiledPixelBounds(o),_=this._pxBoundsToTileRange(g),x=_.getCenter(),T=[],I=this.options.keepBuffer,S=new rt(_.getBottomLeft().subtract([I,-I]),_.getTopRight().add([I,-I]));if(!(isFinite(_.min.x)&&isFinite(_.min.y)&&isFinite(_.max.x)&&isFinite(_.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var j in this._tiles){var V=this._tiles[j].coords;(V.z!==this._tileZoom||!S.contains(new F(V.x,V.y)))&&(this._tiles[j].current=!1)}if(Math.abs(u-this._tileZoom)>1){this._setView(o,u);return}for(var ot=_.min.y;ot<=_.max.y;ot++)for(var yt=_.min.x;yt<=_.max.x;yt++){var he=new F(yt,ot);if(he.z=this._tileZoom,!!this._isValidTile(he)){var Vt=this._tiles[this._tileCoordsToKey(he)];Vt?Vt.current=!0:T.push(he)}}if(T.sort(function(_e,_r){return _e.distanceTo(x)-_r.distanceTo(x)}),T.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Pe=document.createDocumentFragment();for(yt=0;yt<T.length;yt++)this._addTile(T[yt],Pe);this._level.el.appendChild(Pe)}}}},_isValidTile:function(o){var l=this._map.options.crs;if(!l.infinite){var u=this._globalTileRange;if(!l.wrapLng&&(o.x<u.min.x||o.x>u.max.x)||!l.wrapLat&&(o.y<u.min.y||o.y>u.max.y))return!1}if(!this.options.bounds)return!0;var g=this._tileCoordsToBounds(o);return q(this.options.bounds).overlaps(g)},_keyToBounds:function(o){return this._tileCoordsToBounds(this._keyToTileCoords(o))},_tileCoordsToNwSe:function(o){var l=this._map,u=this.getTileSize(),g=o.scaleBy(u),_=g.add(u),x=l.unproject(g,o.z),T=l.unproject(_,o.z);return[x,T]},_tileCoordsToBounds:function(o){var l=this._tileCoordsToNwSe(o),u=new ft(l[0],l[1]);return this.options.noWrap||(u=this._map.wrapLatLngBounds(u)),u},_tileCoordsToKey:function(o){return o.x+":"+o.y+":"+o.z},_keyToTileCoords:function(o){var l=o.split(":"),u=new F(+l[0],+l[1]);return u.z=+l[2],u},_removeTile:function(o){var l=this._tiles[o];l&&(St(l.el),delete this._tiles[o],this.fire("tileunload",{tile:l.el,coords:this._keyToTileCoords(o)}))},_initTile:function(o){pt(o,"leaflet-tile");var l=this.getTileSize();o.style.width=l.x+"px",o.style.height=l.y+"px",o.onselectstart=p,o.onmousemove=p,J.ielt9&&this.options.opacity<1&&be(o,this.options.opacity)},_addTile:function(o,l){var u=this._getTilePos(o),g=this._tileCoordsToKey(o),_=this.createTile(this._wrapCoords(o),a(this._tileReady,this,o));this._initTile(_),this.createTile.length<2&&U(a(this._tileReady,this,o,null,_)),jt(_,u),this._tiles[g]={el:_,coords:o,current:!0},l.appendChild(_),this.fire("tileloadstart",{tile:_,coords:o})},_tileReady:function(o,l,u){l&&this.fire("tileerror",{error:l,tile:u,coords:o});var g=this._tileCoordsToKey(o);u=this._tiles[g],u&&(u.loaded=+new Date,this._map._fadeAnimated?(be(u.el,0),Q(this._fadeFrame),this._fadeFrame=U(this._updateOpacity,this)):(u.active=!0,this._pruneTiles()),l||(pt(u.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:u.el,coords:o})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),J.ielt9||!this._map._fadeAnimated?U(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(o){return o.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(o){var l=new F(this._wrapX?f(o.x,this._wrapX):o.x,this._wrapY?f(o.y,this._wrapY):o.y);return l.z=o.z,l},_pxBoundsToTileRange:function(o){var l=this.getTileSize();return new rt(o.min.unscaleBy(l).floor(),o.max.unscaleBy(l).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var o in this._tiles)if(!this._tiles[o].loaded)return!1;return!0}});function qE(o){return new _s(o)}var mr=_s.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(o,l){this._url=o,l=A(this,l),l.detectRetina&&J.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(o,l){return this._url===o&&l===void 0&&(l=!0),this._url=o,l||this.redraw(),this},createTile:function(o,l){var u=document.createElement("img");return dt(u,"load",a(this._tileOnLoad,this,l,u)),dt(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(o),u},getTileUrl:function(o){var l={r:J.retina?"@2x":"",s:this._getSubdomain(o),x:o.x,y:o.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var u=this._globalTileRange.max.y-o.y;this.options.tms&&(l.y=u),l["-y"]=u}return w(this._url,n(l,this.options))},_tileOnLoad:function(o,l){J.ielt9?setTimeout(a(o,this,null,l),0):o(null,l)},_tileOnError:function(o,l,u){var g=this.options.errorTileUrl;g&&l.getAttribute("src")!==g&&(l.src=g),o(u,l)},_onTileRemove:function(o){o.tile.onload=null},_getZoomForUrl:function(){var o=this._tileZoom,l=this.options.maxZoom,u=this.options.zoomReverse,g=this.options.zoomOffset;return u&&(o=l-o),o+g},_getSubdomain:function(o){var l=Math.abs(o.x+o.y)%this.options.subdomains.length;return this.options.subdomains[l]},_abortLoading:function(){var o,l;for(o in this._tiles)if(this._tiles[o].coords.z!==this._tileZoom&&(l=this._tiles[o].el,l.onload=p,l.onerror=p,!l.complete)){l.src=D;var u=this._tiles[o].coords;St(l),delete this._tiles[o],this.fire("tileabort",{tile:l,coords:u})}},_removeTile:function(o){var l=this._tiles[o];if(l)return l.el.setAttribute("src",D),_s.prototype._removeTile.call(this,o)},_tileReady:function(o,l,u){if(!(!this._map||u&&u.getAttribute("src")===D))return _s.prototype._tileReady.call(this,o,l,u)}});function gg(o,l){return new mr(o,l)}var pg=mr.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(o,l){this._url=o;var u=n({},this.defaultWmsParams);for(var g in l)g in this.options||(u[g]=l[g]);l=A(this,l);var _=l.detectRetina&&J.retina?2:1,x=this.getTileSize();u.width=x.x*_,u.height=x.y*_,this.wmsParams=u},onAdd:function(o){this._crs=this.options.crs||o.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var l=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[l]=this._crs.code,mr.prototype.onAdd.call(this,o)},getTileUrl:function(o){var l=this._tileCoordsToNwSe(o),u=this._crs,g=z(u.project(l[0]),u.project(l[1])),_=g.min,x=g.max,T=(this._wmsVersion>=1.3&&this._crs===ag?[_.y,_.x,x.y,x.x]:[_.x,_.y,x.x,x.y]).join(","),I=mr.prototype.getTileUrl.call(this,o);return I+M(this.wmsParams,I,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+T},setParams:function(o,l){return n(this.wmsParams,o),l||this.redraw(),this}});function JE(o,l){return new pg(o,l)}mr.WMS=pg,gg.wms=JE;var Ti=Ue.extend({options:{padding:.1},initialize:function(o){A(this,o),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),pt(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 o={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(o.zoomanim=this._onAnimZoom),o},_onAnimZoom:function(o){this._updateTransform(o.center,o.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(o,l){var u=this._map.getZoomScale(l,this._zoom),g=this._map.getSize().multiplyBy(.5+this.options.padding),_=this._map.project(this._center,l),x=g.multiplyBy(-u).add(_).subtract(this._map._getNewPixelOrigin(o,l));J.any3d?Ln(this._container,x,u):jt(this._container,x)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var o in this._layers)this._layers[o]._reset()},_onZoomEnd:function(){for(var o in this._layers)this._layers[o]._project()},_updatePaths:function(){for(var o in this._layers)this._layers[o]._update()},_update:function(){var o=this.options.padding,l=this._map.getSize(),u=this._map.containerPointToLayerPoint(l.multiplyBy(-o)).round();this._bounds=new rt(u,u.add(l.multiplyBy(1+o*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),mg=Ti.extend({options:{tolerance:0},getEvents:function(){var o=Ti.prototype.getEvents.call(this);return o.viewprereset=this._onViewPreReset,o},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ti.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var o=this._container=document.createElement("canvas");dt(o,"mousemove",this._onMouseMove,this),dt(o,"click dblclick mousedown mouseup contextmenu",this._onClick,this),dt(o,"mouseout",this._handleMouseOut,this),o._leaflet_disable_events=!0,this._ctx=o.getContext("2d")},_destroyContainer:function(){Q(this._redrawRequest),delete this._ctx,St(this._container),Dt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var o;this._redrawBounds=null;for(var l in this._layers)o=this._layers[l],o._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ti.prototype._update.call(this);var o=this._bounds,l=this._container,u=o.getSize(),g=J.retina?2:1;jt(l,o.min),l.width=g*u.x,l.height=g*u.y,l.style.width=u.x+"px",l.style.height=u.y+"px",J.retina&&this._ctx.scale(2,2),this._ctx.translate(-o.min.x,-o.min.y),this.fire("update")}},_reset:function(){Ti.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(o){this._updateDashArray(o),this._layers[c(o)]=o;var l=o._order={layer:o,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=l),this._drawLast=l,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(o){this._requestRedraw(o)},_removePath:function(o){var l=o._order,u=l.next,g=l.prev;u?u.prev=g:this._drawLast=g,g?g.next=u:this._drawFirst=u,delete o._order,delete this._layers[c(o)],this._requestRedraw(o)},_updatePath:function(o){this._extendRedrawBounds(o),o._project(),o._update(),this._requestRedraw(o)},_updateStyle:function(o){this._updateDashArray(o),this._requestRedraw(o)},_updateDashArray:function(o){if(typeof o.options.dashArray=="string"){var l=o.options.dashArray.split(/[, ]+/),u=[],g,_;for(_=0;_<l.length;_++){if(g=Number(l[_]),isNaN(g))return;u.push(g)}o.options._dashArray=u}else o.options._dashArray=o.options.dashArray},_requestRedraw:function(o){this._map&&(this._extendRedrawBounds(o),this._redrawRequest=this._redrawRequest||U(this._redraw,this))},_extendRedrawBounds:function(o){if(o._pxBounds){var l=(o.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new rt,this._redrawBounds.extend(o._pxBounds.min.subtract([l,l])),this._redrawBounds.extend(o._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 o=this._redrawBounds;if(o){var l=o.getSize();this._ctx.clearRect(o.min.x,o.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 o,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)o=g.layer,(!l||o._pxBounds&&o._pxBounds.intersects(l))&&o._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(o,l){if(this._drawing){var u,g,_,x,T=o._parts,I=T.length,S=this._ctx;if(I){for(S.beginPath(),u=0;u<I;u++){for(g=0,_=T[u].length;g<_;g++)x=T[u][g],S[g?"lineTo":"moveTo"](x.x,x.y);l&&S.closePath()}this._fillStroke(S,o)}}},_updateCircle:function(o){if(!(!this._drawing||o._empty())){var l=o._point,u=this._ctx,g=Math.max(Math.round(o._radius),1),_=(Math.max(Math.round(o._radiusY),1)||g)/g;_!==1&&(u.save(),u.scale(1,_)),u.beginPath(),u.arc(l.x,l.y/_,g,0,Math.PI*2,!1),_!==1&&u.restore(),this._fillStroke(u,o)}},_fillStroke:function(o,l){var u=l.options;u.fill&&(o.globalAlpha=u.fillOpacity,o.fillStyle=u.fillColor||u.color,o.fill(u.fillRule||"evenodd")),u.stroke&&u.weight!==0&&(o.setLineDash&&o.setLineDash(l.options&&l.options._dashArray||[]),o.globalAlpha=u.opacity,o.lineWidth=u.weight,o.strokeStyle=u.color,o.lineCap=u.lineCap,o.lineJoin=u.lineJoin,o.stroke())},_onClick:function(o){for(var l=this._map.mouseEventToLayerPoint(o),u,g,_=this._drawFirst;_;_=_.next)u=_.layer,u.options.interactive&&u._containsPoint(l)&&(!(o.type==="click"||o.type==="preclick")||!this._map._draggableMoved(u))&&(g=u);this._fireEvent(g?[g]:!1,o)},_onMouseMove:function(o){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var l=this._map.mouseEventToLayerPoint(o);this._handleMouseHover(o,l)}},_handleMouseOut:function(o){var l=this._hoveredLayer;l&&(zt(this._container,"leaflet-interactive"),this._fireEvent([l],o,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(o,l){if(!this._mouseHoverThrottled){for(var u,g,_=this._drawFirst;_;_=_.next)u=_.layer,u.options.interactive&&u._containsPoint(l)&&(g=u);g!==this._hoveredLayer&&(this._handleMouseOut(o),g&&(pt(this._container,"leaflet-interactive"),this._fireEvent([g],o,"mouseover"),this._hoveredLayer=g)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,o),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(o,l,u){this._map._fireDOMEvent(l,u||l.type,o)},_bringToFront:function(o){var l=o._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(o)}},_bringToBack:function(o){var l=o._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(o)}}});function _g(o){return J.canvas?new mg(o):null}var ys=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(o){return document.createElement("<lvml:"+o+' class="lvml">')}}catch{}return function(o){return document.createElement("<"+o+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),$E={_initContainer:function(){this._container=wt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ti.prototype._update.call(this),this.fire("update"))},_initPath:function(o){var l=o._container=ys("shape");pt(l,"leaflet-vml-shape "+(this.options.className||"")),l.coordsize="1 1",o._path=ys("path"),l.appendChild(o._path),this._updateStyle(o),this._layers[c(o)]=o},_addPath:function(o){var l=o._container;this._container.appendChild(l),o.options.interactive&&o.addInteractiveTarget(l)},_removePath:function(o){var l=o._container;St(l),o.removeInteractiveTarget(l),delete this._layers[c(o)]},_updateStyle:function(o){var l=o._stroke,u=o._fill,g=o.options,_=o._container;_.stroked=!!g.stroke,_.filled=!!g.fill,g.stroke?(l||(l=o._stroke=ys("stroke")),_.appendChild(l),l.weight=g.weight+"px",l.color=g.color,l.opacity=g.opacity,g.dashArray?l.dashStyle=E(g.dashArray)?g.dashArray.join(" "):g.dashArray.replace(/( *, *)/g," "):l.dashStyle="",l.endcap=g.lineCap.replace("butt","flat"),l.joinstyle=g.lineJoin):l&&(_.removeChild(l),o._stroke=null),g.fill?(u||(u=o._fill=ys("fill")),_.appendChild(u),u.color=g.fillColor||g.color,u.opacity=g.fillOpacity):u&&(_.removeChild(u),o._fill=null)},_updateCircle:function(o){var l=o._point.round(),u=Math.round(o._radius),g=Math.round(o._radiusY||u);this._setPath(o,o._empty()?"M0 0":"AL "+l.x+","+l.y+" "+u+","+g+" 0,"+65535*360)},_setPath:function(o,l){o._path.v=l},_bringToFront:function(o){cr(o._container)},_bringToBack:function(o){ur(o._container)}},pa=J.vml?ys:Vi,vs=Ti.extend({_initContainer:function(){this._container=pa("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=pa("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){St(this._container),Dt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ti.prototype._update.call(this);var o=this._bounds,l=o.getSize(),u=this._container;(!this._svgSize||!this._svgSize.equals(l))&&(this._svgSize=l,u.setAttribute("width",l.x),u.setAttribute("height",l.y)),jt(u,o.min),u.setAttribute("viewBox",[o.min.x,o.min.y,l.x,l.y].join(" ")),this.fire("update")}},_initPath:function(o){var l=o._path=pa("path");o.options.className&&pt(l,o.options.className),o.options.interactive&&pt(l,"leaflet-interactive"),this._updateStyle(o),this._layers[c(o)]=o},_addPath:function(o){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(o._path),o.addInteractiveTarget(o._path)},_removePath:function(o){St(o._path),o.removeInteractiveTarget(o._path),delete this._layers[c(o)]},_updatePath:function(o){o._project(),o._update()},_updateStyle:function(o){var l=o._path,u=o.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(o,l){this._setPath(o,ze(o._parts,l))},_updateCircle:function(o){var l=o._point,u=Math.max(Math.round(o._radius),1),g=Math.max(Math.round(o._radiusY),1)||u,_="a"+u+","+g+" 0 1,0 ",x=o._empty()?"M0 0":"M"+(l.x-u)+","+l.y+_+u*2+",0 "+_+-u*2+",0 ";this._setPath(o,x)},_setPath:function(o,l){o._path.setAttribute("d",l)},_bringToFront:function(o){cr(o._path)},_bringToBack:function(o){ur(o._path)}});J.vml&&vs.include($E);function yg(o){return J.svg||J.vml?new vs(o):null}xt.include({getRenderer:function(o){var l=o.options.renderer||this._getPaneRenderer(o.options.pane)||this.options.renderer||this._renderer;return l||(l=this._renderer=this._createRenderer()),this.hasLayer(l)||this.addLayer(l),l},_getPaneRenderer:function(o){if(o==="overlayPane"||o===void 0)return!1;var l=this._paneRenderers[o];return l===void 0&&(l=this._createRenderer({pane:o}),this._paneRenderers[o]=l),l},_createRenderer:function(o){return this.options.preferCanvas&&_g(o)||yg(o)}});var vg=gr.extend({initialize:function(o,l){gr.prototype.initialize.call(this,this._boundsToLatLngs(o),l)},setBounds:function(o){return this.setLatLngs(this._boundsToLatLngs(o))},_boundsToLatLngs:function(o){return o=q(o),[o.getSouthWest(),o.getNorthWest(),o.getNorthEast(),o.getSouthEast()]}});function tL(o,l){return new vg(o,l)}vs.create=pa,vs.pointsToPath=ze,Mi.geometryToLayer=la,Mi.coordsToLatLng=Bh,Mi.coordsToLatLngs=ha,Mi.latLngToCoords=jh,Mi.latLngsToCoords=ca,Mi.getFeature=pr,Mi.asFeature=ua,xt.mergeOptions({boxZoom:!0});var xg=ii.extend({initialize:function(o){this._map=o,this._container=o._container,this._pane=o._panes.overlayPane,this._resetStateTimeout=0,o.on("unload",this._destroy,this)},addHooks:function(){dt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Dt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){St(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(o){if(!o.shiftKey||o.which!==1&&o.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),cs(),wh(),this._startPoint=this._map.mouseEventToContainerPoint(o),dt(document,{contextmenu:Tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(o){this._moved||(this._moved=!0,this._box=wt("div","leaflet-zoom-box",this._container),pt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(o);var l=new rt(this._point,this._startPoint),u=l.getSize();jt(this._box,l.min),this._box.style.width=u.x+"px",this._box.style.height=u.y+"px"},_finish:function(){this._moved&&(St(this._box),zt(this._container,"leaflet-crosshair")),us(),Eh(),Dt(document,{contextmenu:Tn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(o){if(!(o.which!==1&&o.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var l=new ft(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(l).fire("boxzoomend",{boxZoomBounds:l})}},_onKeyDown:function(o){o.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});xt.addInitHook("addHandler","boxZoom",xg),xt.mergeOptions({doubleClickZoom:!0});var Ag=ii.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(o){var l=this._map,u=l.getZoom(),g=l.options.zoomDelta,_=o.originalEvent.shiftKey?u-g:u+g;l.options.doubleClickZoom==="center"?l.setZoom(_):l.setZoomAround(o.containerPoint,_)}});xt.addInitHook("addHandler","doubleClickZoom",Ag),xt.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wg=ii.extend({addHooks:function(){if(!this._draggable){var o=this._map;this._draggable=new nn(o._mapPane,o._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),o.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),o.on("zoomend",this._onZoomEnd,this),o.whenReady(this._onZoomEnd,this))}pt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){zt(this._map._container,"leaflet-grab"),zt(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 o=this._map;if(o._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var l=q(this._map.options.maxBounds);this._offsetLimit=z(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;o.fire("movestart").fire("dragstart"),o.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(o){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",o).fire("drag",o)},_prunePositions:function(o){for(;this._positions.length>1&&o-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var o=this._map.getSize().divideBy(2),l=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=l.subtract(o).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(o,l){return o-(o-l)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var o=this._draggable._newPos.subtract(this._draggable._startPos),l=this._offsetLimit;o.x<l.min.x&&(o.x=this._viscousLimit(o.x,l.min.x)),o.y<l.min.y&&(o.y=this._viscousLimit(o.y,l.min.y)),o.x>l.max.x&&(o.x=this._viscousLimit(o.x,l.max.x)),o.y>l.max.y&&(o.y=this._viscousLimit(o.y,l.max.y)),this._draggable._newPos=this._draggable._startPos.add(o)}},_onPreDragWrap:function(){var o=this._worldWidth,l=Math.round(o/2),u=this._initialWorldOffset,g=this._draggable._newPos.x,_=(g-l+u)%o+l-u,x=(g+l+u)%o-l-u,T=Math.abs(_+u)<Math.abs(x+u)?_:x;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=T},_onDragEnd:function(o){var l=this._map,u=l.options,g=!u.inertia||o.noInertia||this._times.length<2;if(l.fire("dragend",o),g)l.fire("moveend");else{this._prunePositions(+new Date);var _=this._lastPos.subtract(this._positions[0]),x=(this._lastTime-this._times[0])/1e3,T=u.easeLinearity,I=_.multiplyBy(T/x),S=I.distanceTo([0,0]),j=Math.min(u.inertiaMaxSpeed,S),V=I.multiplyBy(j/S),ot=j/(u.inertiaDeceleration*T),yt=V.multiplyBy(-ot/2).round();!yt.x&&!yt.y?l.fire("moveend"):(yt=l._limitOffset(yt,l.options.maxBounds),U(function(){l.panBy(yt,{duration:ot,easeLinearity:T,noMoveStart:!0,animate:!0})}))}}});xt.addInitHook("addHandler","dragging",wg),xt.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Eg=ii.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(o){this._map=o,this._setPanDelta(o.options.keyboardPanDelta),this._setZoomDelta(o.options.zoomDelta)},addHooks:function(){var o=this._map._container;o.tabIndex<=0&&(o.tabIndex="0"),dt(o,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Dt(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 o=document.body,l=document.documentElement,u=o.scrollTop||l.scrollTop,g=o.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(o){var l=this._panKeys={},u=this.keyCodes,g,_;for(g=0,_=u.left.length;g<_;g++)l[u.left[g]]=[-1*o,0];for(g=0,_=u.right.length;g<_;g++)l[u.right[g]]=[o,0];for(g=0,_=u.down.length;g<_;g++)l[u.down[g]]=[0,o];for(g=0,_=u.up.length;g<_;g++)l[u.up[g]]=[0,-1*o]},_setZoomDelta:function(o){var l=this._zoomKeys={},u=this.keyCodes,g,_;for(g=0,_=u.zoomIn.length;g<_;g++)l[u.zoomIn[g]]=o;for(g=0,_=u.zoomOut.length;g<_;g++)l[u.zoomOut[g]]=-o},_addHooks:function(){dt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Dt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(o){if(!(o.altKey||o.ctrlKey||o.metaKey)){var l=o.keyCode,u=this._map,g;if(l in this._panKeys){if(!u._panAnim||!u._panAnim._inProgress)if(g=this._panKeys[l],o.shiftKey&&(g=Z(g).multiplyBy(3)),u.options.maxBounds&&(g=u._limitOffset(Z(g),u.options.maxBounds)),u.options.worldCopyJump){var _=u.wrapLatLng(u.unproject(u.project(u.getCenter()).add(g)));u.panTo(_)}else u.panBy(g)}else if(l in this._zoomKeys)u.setZoom(u.getZoom()+(o.shiftKey?3:1)*this._zoomKeys[l]);else if(l===27&&u._popup&&u._popup.options.closeOnEscapeKey)u.closePopup();else return;Tn(o)}}});xt.addInitHook("addHandler","keyboard",Eg),xt.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Lg=ii.extend({addHooks:function(){dt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Dt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(o){var l=Qf(o),u=this._map.options.wheelDebounceTime;this._delta+=l,this._lastMousePos=this._map.mouseEventToContainerPoint(o),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),Tn(o)},_performZoom:function(){var o=this._map,l=o.getZoom(),u=this._map.options.zoomSnap||0;o._stop();var g=this._delta/(this._map.options.wheelPxPerZoomLevel*4),_=4*Math.log(2/(1+Math.exp(-Math.abs(g))))/Math.LN2,x=u?Math.ceil(_/u)*u:_,T=o._limitZoom(l+(this._delta>0?x:-x))-l;this._delta=0,this._startTime=null,T&&(o.options.scrollWheelZoom==="center"?o.setZoom(l+T):o.setZoomAround(this._lastMousePos,l+T))}});xt.addInitHook("addHandler","scrollWheelZoom",Lg);var eL=600;xt.mergeOptions({tapHold:J.touchNative&&J.safari&&J.mobile,tapTolerance:15});var Cg=ii.extend({addHooks:function(){dt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Dt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(o){if(clearTimeout(this._holdTimeout),o.touches.length===1){var l=o.touches[0];this._startPos=this._newPos=new F(l.clientX,l.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(dt(document,"touchend",Jt),dt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",l))},this),eL),dt(document,"touchend touchcancel contextmenu",this._cancel,this),dt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function o(){Dt(document,"touchend",Jt),Dt(document,"touchend touchcancel",o)},_cancel:function(){clearTimeout(this._holdTimeout),Dt(document,"touchend touchcancel contextmenu",this._cancel,this),Dt(document,"touchmove",this._onMove,this)},_onMove:function(o){var l=o.touches[0];this._newPos=new F(l.clientX,l.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(o,l){var u=new MouseEvent(o,{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)}});xt.addInitHook("addHandler","tapHold",Cg),xt.mergeOptions({touchZoom:J.touch,bounceAtZoomLimits:!0});var Mg=ii.extend({addHooks:function(){pt(this._map._container,"leaflet-touch-zoom"),dt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){zt(this._map._container,"leaflet-touch-zoom"),Dt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(o){var l=this._map;if(!(!o.touches||o.touches.length!==2||l._animatingZoom||this._zooming)){var u=l.mouseEventToContainerPoint(o.touches[0]),g=l.mouseEventToContainerPoint(o.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(),dt(document,"touchmove",this._onTouchMove,this),dt(document,"touchend touchcancel",this._onTouchEnd,this),Jt(o)}},_onTouchMove:function(o){if(!(!o.touches||o.touches.length!==2||!this._zooming)){var l=this._map,u=l.mouseEventToContainerPoint(o.touches[0]),g=l.mouseEventToContainerPoint(o.touches[1]),_=u.distanceTo(g)/this._startDist;if(this._zoom=l.getScaleZoom(_,this._startZoom),!l.options.bounceAtZoomLimits&&(this._zoom<l.getMinZoom()&&_<1||this._zoom>l.getMaxZoom()&&_>1)&&(this._zoom=l._limitZoom(this._zoom)),l.options.touchZoom==="center"){if(this._center=this._startLatLng,_===1)return}else{var x=u._add(g)._divideBy(2)._subtract(this._centerPoint);if(_===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 T=a(l._move,l,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=U(T,this,!0),Jt(o)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,Q(this._animRequest),Dt(document,"touchmove",this._onTouchMove,this),Dt(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))}});xt.addInitHook("addHandler","touchZoom",Mg),xt.BoxZoom=xg,xt.DoubleClickZoom=Ag,xt.Drag=wg,xt.Keyboard=Eg,xt.ScrollWheelZoom=Lg,xt.TapHold=Cg,xt.TouchZoom=Mg,e.Bounds=rt,e.Browser=J,e.CRS=Pt,e.Canvas=mg,e.Circle=Fh,e.CircleMarker=aa,e.Class=at,e.Control=je,e.DivIcon=fg,e.DivOverlay=ni,e.DomEvent=vE,e.DomUtil=_E,e.Draggable=nn,e.Evented=G,e.FeatureGroup=Li,e.GeoJSON=Mi,e.GridLayer=_s,e.Handler=ii,e.Icon=fr,e.ImageOverlay=da,e.LatLng=et,e.LatLngBounds=ft,e.Layer=Ue,e.LayerGroup=dr,e.LineUtil=SE,e.Map=xt,e.Marker=oa,e.Mixin=ME,e.Path=rn,e.Point=F,e.PolyUtil=TE,e.Polygon=gr,e.Polyline=Ci,e.Popup=fa,e.PosAnimation=Vf,e.Projection=kE,e.Rectangle=vg,e.Renderer=Ti,e.SVG=vs,e.SVGOverlay=dg,e.TileLayer=mr,e.Tooltip=ga,e.Transformation=Xi,e.Util=tt,e.VideoOverlay=ug,e.bind=a,e.bounds=z,e.canvas=_g,e.circle=UE,e.circleMarker=jE,e.control=gs,e.divIcon=KE,e.extend=n,e.featureGroup=NE,e.geoJSON=cg,e.geoJson=YE,e.gridLayer=qE,e.icon=FE,e.imageOverlay=WE,e.latLng=ct,e.latLngBounds=q,e.layerGroup=zE,e.map=xE,e.marker=BE,e.point=Z,e.polygon=HE,e.polyline=GE,e.popup=QE,e.rectangle=tL,e.setOptions=A,e.stamp=c,e.svg=yg,e.svgOverlay=XE,e.tileLayer=gg,e.tooltip=VE,e.transformation=Te,e.version=i,e.videoOverlay=ZE;var iL=window.L;e.noConflict=function(){return window.L=iL,this},window.L=e})})(va,va.exports);var K=va.exports;const fL="";function qh(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 jg(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(!Jh(r[0])||!Jh(r[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:r};return qh(i,t,e)}function Ug(r,t,e){e===void 0&&(e={});for(var i=0,n=r;i<n.length;i++){var s=n[i];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error("First and last Position are not equivalent.")}var h={type:"Polygon",coordinates:r};return qh(h,t,e)}function Jh(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function Gg(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 Hg(r){return r.type==="Feature"?r.geometry:r}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=Gg(r),n=Hg(t),s=n.type,a=t.bbox,h=n.coordinates;if(a&&Wg(i,a)===!1)return!1;s==="Polygon"&&(h=[h]);for(var c=!1,d=0;d<h.length&&!c;d++)if($h(i,h[d][0],e.ignoreBoundary)){for(var f=!1,p=1;p<h[d].length&&!f;)$h(i,h[d][p],!e.ignoreBoundary)&&(f=!0),p++;f||(c=!0)}return c}function $h(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,s=t.length-1;n<t.length;s=n++){var a=t[n][0],h=t[n][1],c=t[s][0],d=t[s][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 p=h>r[1]!=d>r[1]&&r[0]<(c-a)*(r[1]-h)/(d-h)+a;p&&(i=!i)}return i}function Wg(r,t){return t[0]<=r[0]&&t[1]<=r[1]&&t[2]>=r[0]&&t[3]>=r[1]}var tc={exports:{}};tc.exports=Es,tc.exports.default=Es;function Es(r,t,e){e=e||2;var i=t&&t.length,n=i?t[0]*e:r.length,s=ec(r,0,n,e,!0),a=[];if(!s||s.next===s.prev)return a;var h,c,d,f,p,m,y;if(i&&(s=Kg(r,t,s,e)),r.length>80*e){h=d=r[0],c=f=r[1];for(var v=e;v<n;v+=e)p=r[v],m=r[v+1],p<h&&(h=p),m<c&&(c=m),p>d&&(d=p),m>f&&(f=m);y=Math.max(d-h,f-c),y=y!==0?32767/y:0}return yr(s,a,e,h,c,y,0),a}function ec(r,t,e,i,n){var s,a;if(n===wa(r,t,e,i)>0)for(s=t;s<e;s+=i)a=rc(s,r[s],r[s+1],a);else for(s=e-i;s>=t;s-=i)a=rc(s,r[s],r[s+1],a);return a&&Ls(a,a.next)&&(xr(a),a=a.next),a}function sn(r,t){if(!r)return r;t||(t=r);var e=r,i;do if(i=!1,!e.steiner&&(Ls(e,e.next)||It(e.prev,e,e.next)===0)){if(xr(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function yr(r,t,e,i,n,s,a){if(r){!a&&s&&ep(r,i,n,s);for(var h=r,c,d;r.prev!==r.next;){if(c=r.prev,d=r.next,s?Xg(r,i,n,s):Zg(r)){t.push(c.i/e|0),t.push(r.i/e|0),t.push(d.i/e|0),xr(r),r=d.next,h=d.next;continue}if(r=d,r===h){a?a===1?(r=Qg(sn(r),t,e),yr(r,t,e,i,n,s,2)):a===2&&Vg(r,t,e,i,n,s):yr(sn(r),t,e,i,n,s,1);break}}}}function Zg(r){var t=r.prev,e=r,i=r.next;if(It(t,e,i)>=0)return!1;for(var n=t.x,s=e.x,a=i.x,h=t.y,c=e.y,d=i.y,f=n<s?n<a?n:a:s<a?s:a,p=h<c?h<d?h:d:c<d?c:d,m=n>s?n>a?n:a:s>a?s:a,y=h>c?h>d?h:d:c>d?c:d,v=i.next;v!==t;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=y&&Dn(n,h,s,c,a,d,v.x,v.y)&&It(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function Xg(r,t,e,i){var n=r.prev,s=r,a=r.next;if(It(n,s,a)>=0)return!1;for(var h=n.x,c=s.x,d=a.x,f=n.y,p=s.y,m=a.y,y=h<c?h<d?h:d:c<d?c:d,v=f<p?f<m?f:m:p<m?p:m,A=h>c?h>d?h:d:c>d?c:d,M=f>p?f>m?f:m:p>m?p:m,b=xa(y,v,t,e,i),w=xa(A,M,t,e,i),E=r.prevZ,C=r.nextZ;E&&E.z>=b&&C&&C.z<=w;){if(E.x>=y&&E.x<=A&&E.y>=v&&E.y<=M&&E!==n&&E!==a&&Dn(h,f,c,p,d,m,E.x,E.y)&&It(E.prev,E,E.next)>=0||(E=E.prevZ,C.x>=y&&C.x<=A&&C.y>=v&&C.y<=M&&C!==n&&C!==a&&Dn(h,f,c,p,d,m,C.x,C.y)&&It(C.prev,C,C.next)>=0))return!1;C=C.nextZ}for(;E&&E.z>=b;){if(E.x>=y&&E.x<=A&&E.y>=v&&E.y<=M&&E!==n&&E!==a&&Dn(h,f,c,p,d,m,E.x,E.y)&&It(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;C&&C.z<=w;){if(C.x>=y&&C.x<=A&&C.y>=v&&C.y<=M&&C!==n&&C!==a&&Dn(h,f,c,p,d,m,C.x,C.y)&&It(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function Qg(r,t,e){var i=r;do{var n=i.prev,s=i.next.next;!Ls(n,s)&&ic(n,i,i.next,s)&&vr(n,s)&&vr(s,n)&&(t.push(n.i/e|0),t.push(i.i/e|0),t.push(s.i/e|0),xr(i),xr(i.next),i=r=s),i=i.next}while(i!==r);return sn(i)}function Vg(r,t,e,i,n,s){var a=r;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&rp(a,h)){var c=nc(a,h);a=sn(a,a.next),c=sn(c,c.next),yr(a,t,e,i,n,s,0),yr(c,t,e,i,n,s,0);return}h=h.next}a=a.next}while(a!==r)}function Kg(r,t,e,i){var n=[],s,a,h,c,d;for(s=0,a=t.length;s<a;s++)h=t[s]*i,c=s<a-1?t[s+1]*i:r.length,d=ec(r,h,c,i,!1),d===d.next&&(d.steiner=!0),n.push(np(d));for(n.sort(qg),s=0;s<n.length;s++)e=Jg(n[s],e);return e}function qg(r,t){return r.x-t.x}function Jg(r,t){var e=$g(r,t);if(!e)return t;var i=nc(e,r);return sn(i,i.next),sn(e,e.next)}function $g(r,t){var e=t,i=r.x,n=r.y,s=-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>s&&(s=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,p=1/0,m;e=a;do i>=e.x&&e.x>=d&&i!==e.x&&Dn(n<f?i:s,n,d,f,n<f?s:i,n,e.x,e.y)&&(m=Math.abs(n-e.y)/(i-e.x),vr(e,r)&&(m<p||m===p&&(e.x>a.x||e.x===a.x&&tp(a,e)))&&(a=e,p=m)),e=e.next;while(e!==c);return a}function tp(r,t){return It(r.prev,r,t.prev)<0&&It(t.next,r,r.next)<0}function ep(r,t,e,i){var n=r;do n.z===0&&(n.z=xa(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,ip(n)}function ip(r){var t,e,i,n,s,a,h,c,d=1;do{for(e=r,r=null,s=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--),s?s.nextZ=n:r=n,n.prevZ=s,s=n;e=i}s.nextZ=null,d*=2}while(a>1);return r}function xa(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 np(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 Dn(r,t,e,i,n,s,a,h){return(n-a)*(t-h)>=(r-a)*(s-h)&&(r-a)*(i-h)>=(e-a)*(t-h)&&(e-a)*(s-h)>=(n-a)*(i-h)}function rp(r,t){return r.next.i!==t.i&&r.prev.i!==t.i&&!sp(r,t)&&(vr(r,t)&&vr(t,r)&&op(r,t)&&(It(r.prev,r,t.prev)||It(r,t.prev,t))||Ls(r,t)&&It(r.prev,r,r.next)>0&&It(t.prev,t,t.next)>0)}function It(r,t,e){return(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y)}function Ls(r,t){return r.x===t.x&&r.y===t.y}function ic(r,t,e,i){var n=Ms(It(r,t,e)),s=Ms(It(r,t,i)),a=Ms(It(e,i,r)),h=Ms(It(e,i,t));return!!(n!==s&&a!==h||n===0&&Cs(r,e,t)||s===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 Ms(r){return r>0?1:r<0?-1:0}function sp(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&&ic(e,e.next,r,t))return!0;e=e.next}while(e!==r);return!1}function vr(r,t){return It(r.prev,r,r.next)<0?It(r,t,r.next)>=0&&It(r,r.prev,t)>=0:It(r,t,r.prev)<0||It(r,r.next,t)<0}function op(r,t){var e=r,i=!1,n=(r.x+t.x)/2,s=(r.y+t.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&n<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==r);return i}function nc(r,t){var e=new Aa(r.i,r.x,r.y),i=new Aa(t.i,t.x,t.y),n=r.next,s=t.prev;return r.next=t,t.prev=r,e.next=n,n.prev=e,i.next=e,e.prev=i,s.next=i,i.prev=s,i}function rc(r,t,e,i){var n=new Aa(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 xr(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 Aa(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}Es.deviation=function(r,t,e,i){var n=t&&t.length,s=n?t[0]*e:r.length,a=Math.abs(wa(r,0,s,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(wa(r,d,f,e))}var p=0;for(h=0;h<i.length;h+=3){var m=i[h]*e,y=i[h+1]*e,v=i[h+2]*e;p+=Math.abs((r[m]-r[v])*(r[y+1]-r[m+1])-(r[m]-r[y])*(r[v+1]-r[m+1]))}return a===0&&p===0?0:Math.abs((p-a)/a)};function wa(r,t,e,i){for(var n=0,s=t,a=e-i;s<e;s+=i)n+=(r[a]-r[s])*(r[s+1]+r[a+1]),a=s;return n}Es.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 s=0;s<r[n].length;s++)for(var a=0;a<t;a++)e.vertices.push(r[n][s][a]);n>0&&(i+=r[n-1].length,e.holes.push(i))}return e};const gL="";var ap={exports:{}};const sc=[["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"]],si=(()=>{if(typeof document>"u")return!1;const r=sc[0],t={};for(const e of sc)if((e==null?void 0:e[1])in document){for(const[n,s]of e.entries())t[r[n]]=s;return t}return!1})(),oc={change:si.fullscreenchange,error:si.fullscreenerror};let ve={request(r=document.documentElement,t){return new Promise((e,i)=>{const n=()=>{ve.off("change",n),e()};ve.on("change",n);const s=r[si.requestFullscreen](t);s instanceof Promise&&s.then(n).catch(i)})},exit(){return new Promise((r,t)=>{if(!ve.isFullscreen){r();return}const e=()=>{ve.off("change",e),r()};ve.on("change",e);const i=document[si.exitFullscreen]();i instanceof Promise&&i.then(e).catch(t)})},toggle(r,t){return ve.isFullscreen?ve.exit():ve.request(r,t)},onchange(r){ve.on("change",r)},onerror(r){ve.on("error",r)},on(r,t){const e=oc[r];e&&document.addEventListener(e,t,!1)},off(r,t){const e=oc[r];e&&document.removeEventListener(e,t,!1)},raw:si};Object.defineProperties(ve,{isFullscreen:{get:()=>!!document[si.fullscreenElement]},element:{enumerable:!0,get:()=>document[si.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>!!document[si.fullscreenEnabled]}}),si||(ve={isEnabled:!1});const lp=Yh(Object.freeze(Object.defineProperty({__proto__:null,default:ve},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
@@ -10,14 +10,17 @@
10
10
  * as it is required by that
11
11
  */(function(r){(function(t,e){r.exports?r.exports.screenfull=e():t.screenfull=e()})(typeof self<"u"?self:ri,function(){var t=typeof window<"u"&&typeof window.document<"u"?window.document:{},e=function(){for(var s,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(s=a[h],s&&s[1]in t){for(h=0;h<s.length;h++)d[a[0][h]]=s[h];return d}return!1}(),i={change:e.fullscreenchange,error:e.fullscreenerror},n={request:function(s,a){return new Promise((function(h,c){var d=(function(){this.off("change",d),h()}).bind(this);this.on("change",d),s=s||t.documentElement;var f=s[e.requestFullscreen](a);f instanceof Promise&&f.then(d).catch(c)}).bind(this))},exit:function(){return new Promise((function(s,a){if(!this.isFullscreen){s();return}var h=(function(){this.off("change",h),s()}).bind(this);this.on("change",h);var c=t[e.exitFullscreen]();c instanceof Promise&&c.then(h).catch(a)}).bind(this))},toggle:function(s,a){return this.isFullscreen?this.exit():this.request(s,a)},onchange:function(s){this.on("change",s)},onerror:function(s){this.on("error",s)},on:function(s,a){var h=i[s];h&&t.addEventListener(h,a,!1)},off:function(s,a){var h=i[s];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(t,e){r.exports?r.exports=e(Qh(),ap):e(t.L,t.screenfull)})(typeof self<"u"?self:ri,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",s,a="";return i.zoomControl&&!this.options.forceSeparateButton?s=i.zoomControl._container:s=t.DomUtil.create("div","leaflet-bar"),this.options.content?a=this.options.content:n+=" fullscreen-icon",this._createButton(this.options.title,n,a,s,this.toggleFullScreen,this),this._map.fullscreenControl=this,this._map.on("enterFullscreen exitFullscreen",this._toggleState,this),s},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,s,a,h,c){return this.link=t.DomUtil.create("a",n,a),this.link.href="#",this.link.title=i,this.link.innerHTML=s,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}})})(op);const lp=U.defineComponent({name:"CoordinatesVerifyPolygon",props:{dataPolygon:Object,iconMarker:Object,coordinatesMap:Array,checkPointInPolygon:Function},data(){return{markerIconDefault:{iconUrl:Es,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(p=>[p[1],p[0]]),e=JSON.parse(JSON.stringify(t)),i=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],n=Q.map("maps",{fullscreenControl:!0}).setView([this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],this.coordinatesMap?this.coordinatesMap[2]:0);Q.tileLayer("https://tile.openstreetmaps.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(n),Q.polygon(e).addTo(n);const s=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],a=Q.icon(r);Q.marker(s,{icon:a}).addTo(n);const h=Bg(i),c=Gg([t]),d=Zg(h,c);this.checkPointInPolygon&&this.checkPointInPolygon(d)}}}),mb="",La=(r,t)=>{const e=r.__vccOpts||r;for(const[i,n]of t)e[i]=n;return e},hp={ref:"maps",id:"maps"};function cp(r,t,e,i,n,s){return U.openBlock(),U.createElementBlock("div",hp,null,512)}const up=La(lp,[["render",cp]]),dp="data:image/png;base64,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",fp="data:image/png;base64,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",gp="data:image/png;base64,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";(function(r,t,e){function i(n,s){for(;(n=n.parentElement)&&!n.classList.contains(s););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,s){this._map=n,this._container=n._container,this._overlayPane=n._panes.overlayPane,this._popupPane=n._panes.popupPane,s&&s.shapeOptions&&(s.shapeOptions=L.Util.extend({},this.options.shapeOptions,s.shapeOptions)),L.setOptions(this,s);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,s){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,s&&s.drawError&&(s.drawError=L.Util.extend({},this.options.drawError,s.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,n,s)},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(),s=this._poly,a=s.getLatLngs(),h=a.splice(-1,1)[0];this._poly.setLatLngs(a),this._markerGroup.removeLayer(n),s.getLatLngs().length<2&&this._map.removeLayer(s),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(),s=this._poly.newLatLngIntersects(n[n.length-1]);if(!this.options.allowIntersection&&s||!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 s=this._map.mouseEventToLayerPoint(n.originalEvent),a=this._map.layerPointToLatLng(s);this._currentLatLng=a,this._updateTooltip(a),this._updateGuide(s),this._mouseMarker.setLatLng(a),L.DomEvent.preventDefault(n.originalEvent)},_vertexChanged:function(n,s){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(n,s),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(n){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(n),this._clickHandled=!0,this._disableNewMarkers();var s=n.originalEvent,a=s.clientX,h=s.clientY;this._startPoint.call(this,a,h)}},_startPoint:function(n,s){this._mouseDownOrigin=L.point(n,s)},_onMouseUp:function(n){var s=n.originalEvent,a=s.clientX,h=s.clientY;this._endPoint.call(this,a,h,n),this._clickHandled=null},_endPoint:function(n,s,a){if(this._mouseDownOrigin){var h=L.point(n,s).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 s,a,h=n.originalEvent;!h.touches||!h.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(s=h.touches[0].clientX,a=h.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,s,a),this._endPoint.call(this,s,a,n),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(n){var s;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());s=h.distanceTo(d)}else s=1/0;return s},_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 s=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(s),s},_updateGuide:function(n){var s=this._markers?this._markers.length:0;s>0&&(n=n||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[s-1].getLatLng()),n))},_updateTooltip:function(n){var s=this._getTooltipText();n&&this._tooltip.updatePosition(n),this._errorShown||this._tooltip.updateContent(s)},_drawGuide:function(n,s){var a,h,c,d=Math.floor(Math.sqrt(Math.pow(s.x-n.x,2)+Math.pow(s.y-n.y,2))),f=this.options.guidelineDistance,p=this.options.maxGuideLineLength,_=d>p?d-p:f;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));_<d;_+=this.options.guidelineDistance)a=_/d,h={x:Math.floor(n.x*(1-a)+a*s.x),y:Math.floor(n.y*(1-a)+a*s.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 s=0,a=this._guidesContainer.childNodes.length;s<a;s++)this._guidesContainer.childNodes[s].style.backgroundColor=n},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var n,s,a=this.options.showLength;return this._markers.length===0?n={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(s=a?this._getMeasurementString():"",n=this._markers.length===1?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:s}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:s}),n},_updateRunningMeasure:function(n,s){var a,h,c=this._markers.length;this._markers.length===1?this._measurementRunningTotal=0:(a=c-(s?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*(s?1:-1))},_getMeasurementString:function(){var n,s=this._currentLatLng,a=this._markers[this._markers.length-1].getLatLng();return n=L.GeometryUtil.isVersion07x()?a&&s&&s.distanceTo?this._measurementRunningTotal+s.distanceTo(a)*(this.options.factor||1):this._measurementRunningTotal||0:a&&s?this._measurementRunningTotal+this._map.distance(s,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,s){L.Draw.Polyline.prototype.initialize.call(this,n,s),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,s;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,s=this._getMeasurementString()):(n=L.drawLocal.draw.handlers.polygon.tooltip.end,s=this._getMeasurementString()),{text:n,subtext:s}},_getMeasurementString:function(){var n=this._area,s="";return n||this.options.showLength?(this.options.showLength&&(s=L.Draw.Polyline.prototype._getMeasurementString.call(this)),n&&(s+="<br>"+L.GeometryUtil.readableArea(n,this.options.metric,this.options.precision)),s):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(n,s){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,s)},_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,s){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,n,s)},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 s=n.latlng;this._tooltip.updatePosition(s),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(s))},_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,s){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,s)},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,s,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(),s=L.GeometryUtil.geodesicArea(n),a=d?L.GeometryUtil.readableArea(s,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,s){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,s)},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 s=n.latlng;this._tooltip.updatePosition(s),this._mouseMarker.setLatLng(s),this._marker?(s=this._mouseMarker.getLatLng(),this._marker.setLatLng(s)):(this._marker=this._createMarker(s),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,s){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,s)},_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,s){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,s)},_drawShape:function(n){if(L.GeometryUtil.isVersion07x())var s=this._startLatLng.distanceTo(n);else var s=this._map.distance(this._startLatLng,n);this._shape?this._shape.setRadius(s):(this._shape=new L.Circle(this._startLatLng,s,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 s,a=n.latlng,h=this.options.showRadius,c=this.options.metric;if(this._tooltip.updatePosition(a),this._isDrawing){this._drawShape(a),s=this._shape.getRadius().toFixed(1);var d="";h&&(d=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(s,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,s){this._marker=n,L.setOptions(this,s)},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 s=n.target;s.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:s})},_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,s){var a=parseInt(n.style.marginTop,10)-s,h=parseInt(n.style.marginLeft,10)-s;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 s=0;s<this._verticesHandlers.length;s++)n(this._verticesHandlers[s])},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,s,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=s,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,s=n._path;n instanceof L.Polygon||(n.options.fill=!1,n.options.editing&&(n.options.editing.fill=!1)),s&&n.options.editing&&n.options.editing.className&&(n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.removeClass(s,a)}),n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.addClass(s,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,s=n._path;s&&n.options.editing&&n.options.editing.className&&(n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.removeClass(s,a)}),n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.addClass(s,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,s,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,s=a-1;n<a;s=n++)(n!==0||L.Polygon&&this._poly instanceof L.Polygon)&&(d=this._markers[s],f=this._markers[n],this._createMiddleMarker(d,f),this._updatePrevNext(d,f))},_createMarker:function(n,s){var a=new L.Marker.Touch(n,{draggable:!0,icon:this.options.icon});return a._origLatLng=n,a._index=s,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(),s=[].splice.apply(n,arguments);return this._poly._convertLatLngs(n,!0),this._poly.redraw(),s},_removeMarker:function(n){var s=n._index;this._markerGroup.removeLayer(n),this._markers.splice(s,1),this._spliceLatLngs(s,1),this._updateIndexes(s,-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 s=n.target,a=this._poly,h=L.LatLngUtil.cloneLatLng(s._origLatLng);if(L.extend(s._origLatLng,s._latlng),a.options.poly){var c=a._map._editTooltip;if(!a.options.poly.allowIntersection&&a.intersects()){L.extend(s._origLatLng,h),s.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)}}s._middleLeft&&s._middleLeft.setLatLng(this._getMiddleLatLng(s._prev,s)),s._middleRight&&s._middleRight.setLatLng(this._getMiddleLatLng(s,s._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 s=L.Polygon&&this._poly instanceof L.Polygon?4:3,a=n.target;this._defaultShape().length<s||(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 s=n.target;this._poly,this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:s,layers:this._markerGroup,poly:this._poly}),L.DomEvent.stopPropagation},_onTouchMove:function(n){var s=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(s),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,s){this._markerGroup.eachLayer(function(a){a._index>n&&(a._index+=s)})},_createMiddleMarker:function(n,s){var a,h,c,d=this._getMiddleLatLng(n,s),f=this._createMarker(d);f.setOpacity(.6),n._middleRight=s._middleLeft=f,h=function(){f.off("touchmove",h,this);var p=s._index;f._index=p,f.off("click",a,this).on("click",this._onMarkerClick,this),d.lat=f.getLatLng().lat,d.lng=f.getLatLng().lng,this._spliceLatLngs(p,0,d),this._markers.splice(p,0,f),f.setOpacity(1),this._updateIndexes(p,1),s._index++,this._updatePrevNext(n,f),this._updatePrevNext(f,s),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,s)},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,s){n&&(n._next=s),s&&(s._prev=n)},_getMiddleLatLng:function(n,s){var a=this._poly._map,h=a.project(n.getLatLng()),c=a.project(s.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,s){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=n,L.Util.setOptions(this,s)},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 s=0,a=this._resizeMarkers.length;s<a;s++)this._unbindMarker(this._resizeMarkers[s]);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,s){var a=new L.Marker.Touch(n,{draggable:!0,icon:s,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 s=n.target,a=s.getLatLng();s===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 s=this._getCorners(),a=n.target,h=a._cornerIndex;a.setOpacity(0),this._oppositeCorner=s[(h+2)%4],this._toggleCornerMarkers(0,h)}this._shape.fire("editstart")},_onTouchMove:function(n){var s=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(s);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(),s=n.getCenter();this._moveMarker=this._createMarker(s,this.options.moveIcon)},_createResizeMarker:function(){var n=this._getCorners();this._resizeMarkers=[];for(var s=0,a=n.length;s<a;s++)this._resizeMarkers.push(this._createMarker(n[s],this.options.resizeIcon)),this._resizeMarkers[s]._cornerIndex=s},_onMarkerDragStart:function(n){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n);var s=this._getCorners(),a=n.target,h=a._cornerIndex;this._oppositeCorner=s[(h+2)%4],this._toggleCornerMarkers(0,h)},_onMarkerDragEnd:function(n){var s,a,h=n.target;h===this._moveMarker&&(s=this._shape.getBounds(),a=s.getCenter(),h.setLatLng(a)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,n)},_move:function(n){for(var s,a=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),h=this._shape.getBounds(),c=h.getCenter(),d=[],f=0,p=a.length;f<p;f++)s=[a[f].lat-c.lat,a[f].lng-c.lng],d.push([n.lat+s[0],n.lng+s[1]]);this._shape.setLatLngs(d),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(n){var s;this._shape.setBounds(L.latLngBounds(n,this._oppositeCorner)),s=this._shape.getBounds(),this._moveMarker.setLatLng(s.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 s=0,a=this._resizeMarkers.length;s<a;s++)this._resizeMarkers[s].setOpacity(n)},_repositionCornerMarkers:function(){for(var n=this._getCorners(),s=0,a=this._resizeMarkers.length;s<a;s++)this._resizeMarkers[s].setLatLng(n[s])}}),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 s=this._getResizeMarkerPoint(n);this._resizeMarkers[0].setLatLng(s)}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(),s=this._getResizeMarkerPoint(n);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(s,this.options.resizeIcon))},_getResizeMarkerPoint:function(n){var s=this._shape._radius*Math.cos(Math.PI/4),a=this._map.project(n);return this._map.unproject([a.x+s,a.y-s])},_resize:function(n){var s=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=s.distanceTo(n):radius=this._map.distance(s,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,s){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(s,{latlng:d,layerPoint:c,containerPoint:h,pageX:a.pageX,pageY:a.pageY,originalEvent:n})},_filterClick:function(n){var s=n.timeStamp||n.originalEvent.timeStamp,a=L.DomEvent._lastClick&&s-L.DomEvent._lastClick;return a&&a>100&&a<500||n.target._simulatedClick&&!n._simulated?(L.DomEvent.stop(n),!1):(L.DomEvent._lastClick=s,!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 s="touchcancel";this._detectIE()&&(s="pointercancel"),this._touchEvent(n,s)}},_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,s=n.indexOf("MSIE ");if(s>0)return parseInt(n.substring(s+5,n.indexOf(".",s)),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,s=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];this._detectIE?s.concat(["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]):s.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<s.length;a++)L.DomEvent.on(n,s[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,s=n.indexOf("MSIE ");if(s>0)return parseInt(n.substring(s+5,n.indexOf(".",s)),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 s=[],a=0,h=n.length;a<h;a++)Array.isArray(n[a])?s.push(L.LatLngUtil.cloneLatLngs(n[a])):s.push(this.cloneLatLng(n[a]));return s},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(s){var a,h,c=s.length,d=0,f=Math.PI/180;if(c>2){for(var p=0;p<c;p++)a=s[p],h=s[(p+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(s,a){var h=parseFloat(s).toFixed(a),c=L.drawLocal.format&&L.drawLocal.format.numeric,d=c&&c.delimiters,f=d&&d.thousands,p=d&&d.decimal;if(f||p){var _=h.split(".");h=f?_[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f):_[0],p=p||".",_.length>1&&(h=h+p+_[1])}return h},readableArea:function(s,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=s>=1e6&&d.indexOf("km")!==-1?L.GeometryUtil.formattedNumber(1e-6*s,f.km)+" km²":s>=1e4&&d.indexOf("ha")!==-1?L.GeometryUtil.formattedNumber(1e-4*s,f.ha)+" ha":L.GeometryUtil.formattedNumber(s,f.m)+" m²"):(s/=.836127,c=s>=3097600?L.GeometryUtil.formattedNumber(s/3097600,f.mi)+" mi²":s>=4840?L.GeometryUtil.formattedNumber(s/4840,f.ac)+" acres":L.GeometryUtil.formattedNumber(s,f.yd)+" yd²"),c},readableDistance:function(s,a,h,c,p){var f,p=L.Util.extend({},n,p);switch(a?typeof a=="string"?a:"metric":h?"feet":c?"nauticalMile":"yards"){case"metric":f=s>1e3?L.GeometryUtil.formattedNumber(s/1e3,p.km)+" km":L.GeometryUtil.formattedNumber(s,p.m)+" m";break;case"feet":s*=3.28083,f=L.GeometryUtil.formattedNumber(s,p.ft)+" ft";break;case"nauticalMile":s*=.53996,f=L.GeometryUtil.formattedNumber(s/1e3,p.nm)+" nm";break;case"yards":default:s*=1.09361,f=s>1760?L.GeometryUtil.formattedNumber(s/1760,p.mi)+" miles":L.GeometryUtil.formattedNumber(s,p.yd)+" yd"}return f},isVersion07x:function(){var s=L.version.split(".");return parseInt(s[0],10)===0&&parseInt(s[1],10)===7}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(n,s,a,h){return this._checkCounterclockwise(n,a,h)!==this._checkCounterclockwise(s,a,h)&&this._checkCounterclockwise(n,s,a)!==this._checkCounterclockwise(n,s,h)},_checkCounterclockwise:function(n,s,a){return(a.y-n.y)*(s.x-n.x)>(s.y-n.y)*(a.x-n.x)}}),L.Polyline.include({intersects:function(){var n,s,a,h=this._getProjectedPoints(),c=h?h.length:0;if(this._tooFewPointsForIntersection())return!1;for(n=c-1;n>=3;n--)if(s=h[n-1],a=h[n],this._lineSegmentsIntersectsRange(s,a,n-2))return!0;return!1},newLatLngIntersects:function(n,s){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(n),s)},newPointIntersects:function(n,s){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,s?1:0)},_tooFewPointsForIntersection:function(n){var s=this._getProjectedPoints(),a=s?s.length:0;return a+=n||0,!s||a<=3},_lineSegmentsIntersectsRange:function(n,s,a,h){var c,d,f=this._getProjectedPoints();h=h||0;for(var p=a;p>h;p--)if(c=f[p-1],d=f[p],L.LineUtil.segmentsIntersect(n,s,c,d))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var n=[],s=this._defaultShape(),a=0;a<s.length;a++)n.push(this._map.latLngToLayerPoint(s[a]));return n}}),L.Polygon.include({intersects:function(){var n,s,a,h,c=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||(n=c.length,s=c[0],a=c[n-1],h=n-2,this._lineSegmentsIntersectsRange(a,s,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 s;this._toolbars={},L.DrawToolbar&&this.options.draw&&(s=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=s,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(s=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=s,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(n){var s,a=L.DomUtil.create("div","leaflet-draw"),h=!1;for(var c in this._toolbars)this._toolbars.hasOwnProperty(c)&&(s=this._toolbars[c].addToolbar(n))&&(h||(L.DomUtil.hasClass(s,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(s.childNodes[0],"leaflet-draw-toolbar-top"),h=!0),a.appendChild(s));return a},onRemove:function(){for(var n in this._toolbars)this._toolbars.hasOwnProperty(n)&&this._toolbars[n].removeToolbar()},setDrawingOptions:function(n){for(var s in this._toolbars)this._toolbars[s]instanceof L.DrawToolbar&&this._toolbars[s].setOptions(n)},_toolbarEnabled:function(n){var s=n.target;for(var a in this._toolbars)this._toolbars[a]!==s&&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 s=L.version.split(".");parseInt(s[0],10)===1&&parseInt(s[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 s,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,s=0;s<d.length;s++)d[s].enabled&&this._initModeHandler(d[s].handler,this._toolbarContainer,h++,c,d[s].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 s=0,a=this._actionButtons.length;s<a;s++)this._disposeButton(this._actionButtons[s].button,this._actionButtons[s].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(n,s,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:s,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 s=L.DomUtil.create("a",n.className||"",n.container),a=L.DomUtil.create("span","sr-only",n.container);s.href="#",s.appendChild(a),n.title&&(s.title=n.title,a.innerHTML=n.title),n.text&&(s.innerHTML=n.text,a.innerHTML=n.text);var h=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(s,"click",L.DomEvent.stopPropagation).on(s,"mousedown",L.DomEvent.stopPropagation).on(s,"dblclick",L.DomEvent.stopPropagation).on(s,"touchstart",L.DomEvent.stopPropagation).on(s,"click",L.DomEvent.preventDefault).on(s,h,n.callback,n.context),s},_disposeButton:function(n,s){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,s)},_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 s,a,h,c,d=this._actionsContainer,f=this.getActions(n),p=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 _=0;_<p;_++)"enabled"in f[_]&&!f[_].enabled||(s=L.DomUtil.create("li","",d),c=this._createButton({title:f[_].title,text:f[_].text,container:s,callback:f[_].callback,context:f[_].context}),this._actionButtons.push({button:c,callback:f[_].callback}))},_showActionsToolbar:function(){var n=this._activeMode.buttonIndex,s=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===s&&(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 s=this._map.latLngToLayerPoint(n),a=this._container;return this._container&&(this._visible&&(a.style.visibility="inherit"),L.DomUtil.setPosition(a,s)),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 s in this.options)this.options.hasOwnProperty(s)&&n[s]&&(n[s]=L.extend({},this.options[s],n[s]));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 s in this._modes)this._modes.hasOwnProperty(s)&&n.hasOwnProperty(s)&&this._modes[s].handler.setOptions(n[s])}}),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 s=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(n,{featureGroup:s,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:s}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(n){var s=[{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&&s.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),s},addToolbar:function(n){var s=L.Toolbar.prototype.addToolbar.call(this,n);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),s},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,s=this.options.featureGroup,a=s.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,s){if(L.Handler.prototype.initialize.call(this,n),L.setOptions(this,s),this._featureGroup=s.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(s){s.edited&&(n.addLayer(s),s.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:n})},_backupLayer:function(n){var s=L.Util.stamp(n);this._uneditedLayerProps[s]||(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?this._uneditedLayerProps[s]={latlngs:L.LatLngUtil.cloneLatLngs(n.getLatLngs())}:n instanceof L.Circle?this._uneditedLayerProps[s]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng()),radius:n.getRadius()}:(n instanceof L.Marker||n instanceof L.CircleMarker)&&(this._uneditedLayerProps[s]={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 s=L.Util.stamp(n);n.edited=!1,this._uneditedLayerProps.hasOwnProperty(s)&&(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?n.setLatLngs(this._uneditedLayerProps[s].latlngs):n instanceof L.Circle?(n.setLatLng(this._uneditedLayerProps[s].latlng),n.setRadius(this._uneditedLayerProps[s].radius)):(n instanceof L.Marker||n instanceof L.CircleMarker)&&n.setLatLng(this._uneditedLayerProps[s].latlng),n.fire("revert-edited",{layer:n}))},_enableLayerEdit:function(n){var s,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&&(s=L.Util.extend({},this.options.selectedPathOptions),s.maintainColor&&(s.color=h.options.color,s.fillColor=h.options.fillColor),h.options.original=L.extend({},h.options),h.options.editing=s),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 s=n.layer||n.target||n;s.edited=!1,s.editing&&s.editing.disable(),delete s.options.editing,delete s.options.original,this._selectedPathOptions&&(s instanceof L.Marker?this._toggleMarkerHighlight(s):(s.setStyle(s.options.previousOptions),delete s.options.previousOptions)),s instanceof L.Marker?(s.dragging.disable(),s.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)):s.editing.disable()},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_onMarkerDragEnd:function(n){var s=n.target;s.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:s})},_onTouchMove:function(n){var s=n.originalEvent.changedTouches[0],a=this._map.mouseEventToLayerPoint(s),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,s){if(L.Handler.prototype.initialize.call(this,n),L.Util.setOptions(this,s),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 s=n.layer||n.target||n;s.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(s)},_removeLayer:function(n){var s=n.layer||n.target||n;this._deletableLayers.removeLayer(s),this._deletedLayers.addLayer(s),s.fire("deleted")},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_hasAvailableLayers:function(){return this._deletableLayers.getLayers().length!==0}})})(window,document);const yb="";var pp={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:"ማጥፋት የፈለጉትን ይጫኑ"}}}}},_p={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í"}}}}},mp={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."}}}}},hc={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"}}}}},yp={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"}}}}},vp={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"}}}}},xp={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"}}}}},wp={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."}}}}},Ep={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"}}}}},Lp={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:"დააწკაპუნეთ ობიექტზე წაშლისთვის"}}}}},bp={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"}}}}},Tp={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"}}}}},Cp={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ąć."}}}}},Mp={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"}}}}},Sp={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:"Кликните на фигуру для удаления"}}}}},Pp={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."}}}}},kp={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:"Натисніть на фігуру для видалення"}}}}},Rp={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:"اضغط على رسمة للمسح"}}}}},Ap={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:"单击图形以移除"}}}}},Ip={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"}}}}},Dp={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"}}}}},Op=function(r){var t=hc;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=mp;break;case"en":case"en-us":case"en-ca":case"en-gb":case"en-us.utf-8":case"english":t=hc;break;case"ar":case"ar-ae":case"ar-eg":case"arabic":t=Rp;break;case"fi":case"fi-fi":case"fi-fi.utf-8":case"finnish":t=vp;break;case"fr":case"fr-us":case"fr-ca":case"fr-us.utf-8":case"french":t=xp;break;case"es":case"es-us":case"es-ca":case"es-us.utf-8":case"spanish":t=yp;break;case"sk":case"sk-sk":case"sk-sk.utf-8":case"slovak":t=Pp;break;case"pl":case"pl-pl":case"pl-pl.utf-8":case"polish":t=Cp;break;case"pt":case"pt-pt":case"pt-pt.utf-8":case"portuguese":t=Mp;break;case"uk":case"uk-ua":case"uk-ua.utf-8":case"ukrainian":t=kp;break;case"cs":case"cs-cz":case"cs-cz.utf-8":case"czech":t=_p;break;case"ru":case"ru-ru":case"ru-ru.utf-8":case"russian":t=Sp;break;case"ka":case"ka-ka":case"ka-ka.utf-8":case"georgian":t=Lp;break;case"no":case"no-no":case"no-no.utf-8":case"norwegian":t=Tp;break;case"am":case"am-et":case"am-et.utf-8":case"amharic":t=pp;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=bp;break;case"it":case"it-it":case"it-ch":case"it-it.utf-8":case"it-ch.utf-8":case"italiano":case"italian":t=Ep;break;case"hu":case"hu-HU":case"hu-hu":case"hu-HU.utf-8":case"hu-hu.utf-8":case"magyar":case"hungarian":t=wp;break;case"zh":case"zh-cn":case"zh-cn.utf-8":case"chinese":t=Ap;break;case"tr":case"tr-tr":case"tr-tr.utf-8":case"turkish":t=Ip;break;case"ro":case"ro-ro":case"ro-RO":case"ro-ro.utf-8":case"romanian":t=Dp;break;default:throw new Error("[language] not found")}try{L&&L.drawLocal&&(L.drawLocal=t)}catch{}return t};function cc(r,t){return function(){return r.apply(t,arguments)}}const{toString:Fp}=Object.prototype,{getPrototypeOf:ba}=Object,Ss=(r=>t=>{const e=Fp.call(t);return r[e]||(r[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),je=r=>(r=r.toLowerCase(),t=>Ss(t)===r),Ps=r=>t=>typeof t===r,{isArray:kn}=Array,wr=Ps("undefined");function zp(r){return r!==null&&!wr(r)&&r.constructor!==null&&!wr(r.constructor)&&Te(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const uc=je("ArrayBuffer");function Np(r){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(r):t=r&&r.buffer&&uc(r.buffer),t}const Bp=Ps("string"),Te=Ps("function"),dc=Ps("number"),ks=r=>r!==null&&typeof r=="object",Gp=r=>r===!0||r===!1,Rs=r=>{if(Ss(r)!=="object")return!1;const t=ba(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Up=je("Date"),jp=je("File"),Zp=je("Blob"),Wp=je("FileList"),Hp=r=>ks(r)&&Te(r.pipe),Vp=r=>{let t;return r&&(typeof FormData=="function"&&r instanceof FormData||Te(r.append)&&((t=Ss(r))==="formdata"||t==="object"&&Te(r.toString)&&r.toString()==="[object FormData]"))},Xp=je("URLSearchParams"),Yp=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Er(r,t,{allOwnKeys:e=!1}={}){if(r===null||typeof r>"u")return;let i,n;if(typeof r!="object"&&(r=[r]),kn(r))for(i=0,n=r.length;i<n;i++)t.call(null,r[i],i,r);else{const s=e?Object.getOwnPropertyNames(r):Object.keys(r),a=s.length;let h;for(i=0;i<a;i++)h=s[i],t.call(null,r[h],h,r)}}function fc(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 gc=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),pc=r=>!wr(r)&&r!==gc;function Ta(){const{caseless:r}=pc(this)&&this||{},t={},e=(i,n)=>{const s=r&&fc(t,n)||n;Rs(t[s])&&Rs(i)?t[s]=Ta(t[s],i):Rs(i)?t[s]=Ta({},i):kn(i)?t[s]=i.slice():t[s]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&Er(arguments[i],e);return t}const Kp=(r,t,e,{allOwnKeys:i}={})=>(Er(t,(n,s)=>{e&&Te(n)?r[s]=cc(n,e):r[s]=n},{allOwnKeys:i}),r),qp=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),Jp=(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)},Qp=(r,t,e,i)=>{let n,s,a;const h={};if(t=t||{},r==null)return t;do{for(n=Object.getOwnPropertyNames(r),s=n.length;s-- >0;)a=n[s],(!i||i(a,r,t))&&!h[a]&&(t[a]=r[a],h[a]=!0);r=e!==!1&&ba(r)}while(r&&(!e||e(r,t))&&r!==Object.prototype);return t},$p=(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},t_=r=>{if(!r)return null;if(kn(r))return r;let t=r.length;if(!dc(t))return null;const e=new Array(t);for(;t-- >0;)e[t]=r[t];return e},e_=(r=>t=>r&&t instanceof r)(typeof Uint8Array<"u"&&ba(Uint8Array)),i_=(r,t)=>{const i=(r&&r[Symbol.iterator]).call(r);let n;for(;(n=i.next())&&!n.done;){const s=n.value;t.call(r,s[0],s[1])}},n_=(r,t)=>{let e;const i=[];for(;(e=r.exec(t))!==null;)i.push(e);return i},r_=je("HTMLFormElement"),s_=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,i,n){return i.toUpperCase()+n}),_c=(({hasOwnProperty:r})=>(t,e)=>r.call(t,e))(Object.prototype),o_=je("RegExp"),mc=(r,t)=>{const e=Object.getOwnPropertyDescriptors(r),i={};Er(e,(n,s)=>{t(n,s,r)!==!1&&(i[s]=n)}),Object.defineProperties(r,i)},a_=r=>{mc(r,(t,e)=>{if(Te(r)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const i=r[e];if(Te(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+"'")})}})},l_=(r,t)=>{const e={},i=n=>{n.forEach(s=>{e[s]=!0})};return kn(r)?i(r):i(String(r).split(t)),e},h_=()=>{},c_=(r,t)=>(r=+r,Number.isFinite(r)?r:t),Ca="abcdefghijklmnopqrstuvwxyz",yc="0123456789",vc={DIGIT:yc,ALPHA:Ca,ALPHA_DIGIT:Ca+Ca.toUpperCase()+yc},u_=(r=16,t=vc.ALPHA_DIGIT)=>{let e="";const{length:i}=t;for(;r--;)e+=t[Math.random()*i|0];return e};function d_(r){return!!(r&&Te(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const f_=r=>{const t=new Array(10),e=(i,n)=>{if(ks(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;const s=kn(i)?[]:{};return Er(i,(a,h)=>{const c=e(a,n+1);!wr(c)&&(s[h]=c)}),t[n]=void 0,s}}return i};return e(r,0)},g_=je("AsyncFunction"),I={isArray:kn,isArrayBuffer:uc,isBuffer:zp,isFormData:Vp,isArrayBufferView:Np,isString:Bp,isNumber:dc,isBoolean:Gp,isObject:ks,isPlainObject:Rs,isUndefined:wr,isDate:Up,isFile:jp,isBlob:Zp,isRegExp:o_,isFunction:Te,isStream:Hp,isURLSearchParams:Xp,isTypedArray:e_,isFileList:Wp,forEach:Er,merge:Ta,extend:Kp,trim:Yp,stripBOM:qp,inherits:Jp,toFlatObject:Qp,kindOf:Ss,kindOfTest:je,endsWith:$p,toArray:t_,forEachEntry:i_,matchAll:n_,isHTMLForm:r_,hasOwnProperty:_c,hasOwnProp:_c,reduceDescriptors:mc,freezeMethods:a_,toObjectSet:l_,toCamelCase:s_,noop:h_,toFiniteNumber:c_,findKey:fc,global:gc,isContextDefined:pc,ALPHABET:vc,generateString:u_,isSpecCompliantForm:d_,toJSONObject:f_,isAsyncFn:g_,isThenable:r=>r&&(ks(r)||Te(r))&&Te(r.then)&&Te(r.catch)};function vt(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)}I.inherits(vt,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:I.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const xc=vt.prototype,wc={};["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=>{wc[r]={value:r}}),Object.defineProperties(vt,wc),Object.defineProperty(xc,"isAxiosError",{value:!0}),vt.from=(r,t,e,i,n,s)=>{const a=Object.create(xc);return I.toFlatObject(r,a,function(c){return c!==Error.prototype},h=>h!=="isAxiosError"),vt.call(a,r.message,t,e,i,n),a.cause=r,a.name=r.name,s&&Object.assign(a,s),a};const p_=null;function Ma(r){return I.isPlainObject(r)||I.isArray(r)}function Ec(r){return I.endsWith(r,"[]")?r.slice(0,-2):r}function Lc(r,t,e){return r?r.concat(t).map(function(n,s){return n=Ec(n),!e&&s?"["+n+"]":n}).join(e?".":""):t}function __(r){return I.isArray(r)&&!r.some(Ma)}const m_=I.toFlatObject(I,{},null,function(t){return/^is[A-Z]/.test(t)});function As(r,t,e){if(!I.isObject(r))throw new TypeError("target must be an object");t=t||new FormData,e=I.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,T){return!I.isUndefined(T[E])});const i=e.metaTokens,n=e.visitor||f,s=e.dots,a=e.indexes,c=(e.Blob||typeof Blob<"u"&&Blob)&&I.isSpecCompliantForm(t);if(!I.isFunction(n))throw new TypeError("visitor must be a function");function d(v){if(v===null)return"";if(I.isDate(v))return v.toISOString();if(!c&&I.isBlob(v))throw new vt("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(v)||I.isTypedArray(v)?c&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function f(v,E,T){let M=v;if(v&&!T&&typeof v=="object"){if(I.endsWith(E,"{}"))E=i?E:E.slice(0,-2),v=JSON.stringify(v);else if(I.isArray(v)&&__(v)||(I.isFileList(v)||I.endsWith(E,"[]"))&&(M=I.toArray(v)))return E=Ec(E),M.forEach(function(b,C){!(I.isUndefined(b)||b===null)&&t.append(a===!0?Lc([E],C,s):a===null?E:E+"[]",d(b))}),!1}return Ma(v)?!0:(t.append(Lc(T,E,s),d(v)),!1)}const p=[],_=Object.assign(m_,{defaultVisitor:f,convertValue:d,isVisitable:Ma});function y(v,E){if(!I.isUndefined(v)){if(p.indexOf(v)!==-1)throw Error("Circular reference detected in "+E.join("."));p.push(v),I.forEach(v,function(M,w){(!(I.isUndefined(M)||M===null)&&n.call(t,M,I.isString(w)?w.trim():w,E,_))===!0&&y(M,E?E.concat(w):[w])}),p.pop()}}if(!I.isObject(r))throw new TypeError("data must be an object");return y(r),t}function bc(r){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Sa(r,t){this._pairs=[],r&&As(r,this,t)}const Tc=Sa.prototype;Tc.append=function(t,e){this._pairs.push([t,e])},Tc.toString=function(t){const e=t?function(i){return t.call(this,i,bc)}:bc;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function y_(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Cc(r,t,e){if(!t)return r;const i=e&&e.encode||y_,n=e&&e.serialize;let s;if(n?s=n(t,e):s=I.isURLSearchParams(t)?t.toString():new Sa(t,e).toString(i),s){const a=r.indexOf("#");a!==-1&&(r=r.slice(0,a)),r+=(r.indexOf("?")===-1?"?":"&")+s}return r}class v_{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){I.forEach(this.handlers,function(i){i!==null&&t(i)})}}const Mc=v_,Sc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},x_=typeof URLSearchParams<"u"?URLSearchParams:Sa,w_=typeof FormData<"u"?FormData:null,E_=typeof Blob<"u"?Blob:null,L_=(()=>{let r;return typeof navigator<"u"&&((r=navigator.product)==="ReactNative"||r==="NativeScript"||r==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),b_=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Ze={isBrowser:!0,classes:{URLSearchParams:x_,FormData:w_,Blob:E_},isStandardBrowserEnv:L_,isStandardBrowserWebWorkerEnv:b_,protocols:["http","https","file","blob","url","data"]};function T_(r,t){return As(r,new Ze.classes.URLSearchParams,Object.assign({visitor:function(e,i,n,s){return Ze.isNode&&I.isBuffer(e)?(this.append(i,e.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function C_(r){return I.matchAll(/\w+|\[(\w*)]/g,r).map(t=>t[0]==="[]"?"":t[1]||t[0])}function M_(r){const t={},e=Object.keys(r);let i;const n=e.length;let s;for(i=0;i<n;i++)s=e[i],t[s]=r[s];return t}function Pc(r){function t(e,i,n,s){let a=e[s++];const h=Number.isFinite(+a),c=s>=e.length;return a=!a&&I.isArray(n)?n.length:a,c?(I.hasOwnProp(n,a)?n[a]=[n[a],i]:n[a]=i,!h):((!n[a]||!I.isObject(n[a]))&&(n[a]=[]),t(e,i,n[a],s)&&I.isArray(n[a])&&(n[a]=M_(n[a])),!h)}if(I.isFormData(r)&&I.isFunction(r.entries)){const e={};return I.forEachEntry(r,(i,n)=>{t(C_(i),n,e,0)}),e}return null}const S_={"Content-Type":void 0};function P_(r,t,e){if(I.isString(r))try{return(t||JSON.parse)(r),I.trim(r)}catch(i){if(i.name!=="SyntaxError")throw i}return(e||JSON.stringify)(r)}const Is={transitional:Sc,adapter:["xhr","http"],transformRequest:[function(t,e){const i=e.getContentType()||"",n=i.indexOf("application/json")>-1,s=I.isObject(t);if(s&&I.isHTMLForm(t)&&(t=new FormData(t)),I.isFormData(t))return n&&n?JSON.stringify(Pc(t)):t;if(I.isArrayBuffer(t)||I.isBuffer(t)||I.isStream(t)||I.isFile(t)||I.isBlob(t))return t;if(I.isArrayBufferView(t))return t.buffer;if(I.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let h;if(s){if(i.indexOf("application/x-www-form-urlencoded")>-1)return T_(t,this.formSerializer).toString();if((h=I.isFileList(t))||i.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return As(h?{"files[]":t}:t,c&&new c,this.formSerializer)}}return s||n?(e.setContentType("application/json",!1),P_(t)):t}],transformResponse:[function(t){const e=this.transitional||Is.transitional,i=e&&e.forcedJSONParsing,n=this.responseType==="json";if(t&&I.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"?vt.from(h,vt.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:Ze.classes.FormData,Blob:Ze.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};I.forEach(["delete","get","head"],function(t){Is.headers[t]={}}),I.forEach(["post","put","patch"],function(t){Is.headers[t]=I.merge(S_)});const Pa=Is,k_=I.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"]),R_=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]&&k_[e])&&(e==="set-cookie"?t[e]?t[e].push(i):t[e]=[i]:t[e]=t[e]?t[e]+", "+i:i)}),t},kc=Symbol("internals");function Lr(r){return r&&String(r).trim().toLowerCase()}function Ds(r){return r===!1||r==null?r:I.isArray(r)?r.map(Ds):String(r)}function A_(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 I_=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function ka(r,t,e,i,n){if(I.isFunction(i))return i.call(this,t,e);if(n&&(t=e),!!I.isString(t)){if(I.isString(i))return t.indexOf(i)!==-1;if(I.isRegExp(i))return i.test(t)}}function D_(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,i)=>e.toUpperCase()+i)}function O_(r,t){const e=I.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(r,i+e,{value:function(n,s,a){return this[i].call(this,t,n,s,a)},configurable:!0})})}class Os{constructor(t){t&&this.set(t)}set(t,e,i){const n=this;function s(h,c,d){const f=Lr(c);if(!f)throw new Error("header name must be a non-empty string");const p=I.findKey(n,f);(!p||n[p]===void 0||d===!0||d===void 0&&n[p]!==!1)&&(n[p||c]=Ds(h))}const a=(h,c)=>I.forEach(h,(d,f)=>s(d,f,c));return I.isPlainObject(t)||t instanceof this.constructor?a(t,e):I.isString(t)&&(t=t.trim())&&!I_(t)?a(R_(t),e):t!=null&&s(e,t,i),this}get(t,e){if(t=Lr(t),t){const i=I.findKey(this,t);if(i){const n=this[i];if(!e)return n;if(e===!0)return A_(n);if(I.isFunction(e))return e.call(this,n,i);if(I.isRegExp(e))return e.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Lr(t),t){const i=I.findKey(this,t);return!!(i&&this[i]!==void 0&&(!e||ka(this,this[i],i,e)))}return!1}delete(t,e){const i=this;let n=!1;function s(a){if(a=Lr(a),a){const h=I.findKey(i,a);h&&(!e||ka(i,i[h],h,e))&&(delete i[h],n=!0)}}return I.isArray(t)?t.forEach(s):s(t),n}clear(t){const e=Object.keys(this);let i=e.length,n=!1;for(;i--;){const s=e[i];(!t||ka(this,this[s],s,t,!0))&&(delete this[s],n=!0)}return n}normalize(t){const e=this,i={};return I.forEach(this,(n,s)=>{const a=I.findKey(i,s);if(a){e[a]=Ds(n),delete e[s];return}const h=t?D_(s):String(s).trim();h!==s&&delete e[s],e[h]=Ds(n),i[h]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return I.forEach(this,(i,n)=>{i!=null&&i!==!1&&(e[n]=t&&I.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[kc]=this[kc]={accessors:{}}).accessors,n=this.prototype;function s(a){const h=Lr(a);i[h]||(O_(n,a),i[h]=!0)}return I.isArray(t)?t.forEach(s):s(t),this}}Os.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),I.freezeMethods(Os.prototype),I.freezeMethods(Os);const oi=Os;function Ra(r,t){const e=this||Pa,i=t||e,n=oi.from(i.headers);let s=i.data;return I.forEach(r,function(h){s=h.call(e,s,n.normalize(),t?t.status:void 0)}),n.normalize(),s}function Rc(r){return!!(r&&r.__CANCEL__)}function br(r,t,e){vt.call(this,r??"canceled",vt.ERR_CANCELED,t,e),this.name="CanceledError"}I.inherits(br,vt,{__CANCEL__:!0});function F_(r,t,e){const i=e.config.validateStatus;!e.status||!i||i(e.status)?r(e):t(new vt("Request failed with status code "+e.status,[vt.ERR_BAD_REQUEST,vt.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}const z_=Ze.isStandardBrowserEnv?function(){return{write:function(e,i,n,s,a,h){const c=[];c.push(e+"="+encodeURIComponent(i)),I.isNumber(n)&&c.push("expires="+new Date(n).toGMTString()),I.isString(s)&&c.push("path="+s),I.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 N_(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function B_(r,t){return t?r.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):r}function Ac(r,t){return r&&!N_(t)?B_(r,t):t}const G_=Ze.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let i;function n(s){let a=s;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=I.isString(a)?n(a):a;return h.protocol===i.protocol&&h.host===i.host}}():function(){return function(){return!0}}();function U_(r){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return t&&t[1]||""}function j_(r,t){r=r||10;const e=new Array(r),i=new Array(r);let n=0,s=0,a;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=i[s];a||(a=d),e[n]=c,i[n]=d;let p=s,_=0;for(;p!==n;)_+=e[p++],p=p%r;if(n=(n+1)%r,n===s&&(s=(s+1)%r),d-a<t)return;const y=f&&d-f;return y?Math.round(_*1e3/y):void 0}}function Ic(r,t){let e=0;const i=j_(50,250);return n=>{const s=n.loaded,a=n.lengthComputable?n.total:void 0,h=s-e,c=i(h),d=s<=a;e=s;const f={loaded:s,total:a,progress:a?s/a:void 0,bytes:h,rate:c||void 0,estimated:c&&a&&d?(a-s)/c:void 0,event:n};f[t?"download":"upload"]=!0,r(f)}}const Fs={http:p_,xhr:typeof XMLHttpRequest<"u"&&function(r){return new Promise(function(e,i){let n=r.data;const s=oi.from(r.headers).normalize(),a=r.responseType;let h;function c(){r.cancelToken&&r.cancelToken.unsubscribe(h),r.signal&&r.signal.removeEventListener("abort",h)}I.isFormData(n)&&(Ze.isStandardBrowserEnv||Ze.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let d=new XMLHttpRequest;if(r.auth){const y=r.auth.username||"",v=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";s.set("Authorization","Basic "+btoa(y+":"+v))}const f=Ac(r.baseURL,r.url);d.open(r.method.toUpperCase(),Cc(f,r.params,r.paramsSerializer),!0),d.timeout=r.timeout;function p(){if(!d)return;const y=oi.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),E={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:y,config:r,request:d};F_(function(M){e(M),c()},function(M){i(M),c()},E),d=null}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){d&&(i(new vt("Request aborted",vt.ECONNABORTED,r,d)),d=null)},d.onerror=function(){i(new vt("Network Error",vt.ERR_NETWORK,r,d)),d=null},d.ontimeout=function(){let v=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const E=r.transitional||Sc;r.timeoutErrorMessage&&(v=r.timeoutErrorMessage),i(new vt(v,E.clarifyTimeoutError?vt.ETIMEDOUT:vt.ECONNABORTED,r,d)),d=null},Ze.isStandardBrowserEnv){const y=(r.withCredentials||G_(f))&&r.xsrfCookieName&&z_.read(r.xsrfCookieName);y&&s.set(r.xsrfHeaderName,y)}n===void 0&&s.setContentType(null),"setRequestHeader"in d&&I.forEach(s.toJSON(),function(v,E){d.setRequestHeader(E,v)}),I.isUndefined(r.withCredentials)||(d.withCredentials=!!r.withCredentials),a&&a!=="json"&&(d.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&d.addEventListener("progress",Ic(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",Ic(r.onUploadProgress)),(r.cancelToken||r.signal)&&(h=y=>{d&&(i(!y||y.type?new br(null,r,d):y),d.abort(),d=null)},r.cancelToken&&r.cancelToken.subscribe(h),r.signal&&(r.signal.aborted?h():r.signal.addEventListener("abort",h)));const _=U_(f);if(_&&Ze.protocols.indexOf(_)===-1){i(new vt("Unsupported protocol "+_+":",vt.ERR_BAD_REQUEST,r));return}d.send(n||null)})}};I.forEach(Fs,(r,t)=>{if(r){try{Object.defineProperty(r,"name",{value:t})}catch{}Object.defineProperty(r,"adapterName",{value:t})}});const Z_={getAdapter:r=>{r=I.isArray(r)?r:[r];const{length:t}=r;let e,i;for(let n=0;n<t&&(e=r[n],!(i=I.isString(e)?Fs[e.toLowerCase()]:e));n++);if(!i)throw i===!1?new vt(`Adapter ${e} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(I.hasOwnProp(Fs,e)?`Adapter '${e}' is not available in the build`:`Unknown adapter '${e}'`);if(!I.isFunction(i))throw new TypeError("adapter is not a function");return i},adapters:Fs};function Aa(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new br(null,r)}function Dc(r){return Aa(r),r.headers=oi.from(r.headers),r.data=Ra.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),Z_.getAdapter(r.adapter||Pa.adapter)(r).then(function(i){return Aa(r),i.data=Ra.call(r,r.transformResponse,i),i.headers=oi.from(i.headers),i},function(i){return Rc(i)||(Aa(r),i&&i.response&&(i.response.data=Ra.call(r,r.transformResponse,i.response),i.response.headers=oi.from(i.response.headers))),Promise.reject(i)})}const Oc=r=>r instanceof oi?r.toJSON():r;function Rn(r,t){t=t||{};const e={};function i(d,f,p){return I.isPlainObject(d)&&I.isPlainObject(f)?I.merge.call({caseless:p},d,f):I.isPlainObject(f)?I.merge({},f):I.isArray(f)?f.slice():f}function n(d,f,p){if(I.isUndefined(f)){if(!I.isUndefined(d))return i(void 0,d,p)}else return i(d,f,p)}function s(d,f){if(!I.isUndefined(f))return i(void 0,f)}function a(d,f){if(I.isUndefined(f)){if(!I.isUndefined(d))return i(void 0,d)}else return i(void 0,f)}function h(d,f,p){if(p in t)return i(d,f);if(p in r)return i(void 0,d)}const c={url:s,method:s,data:s,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(Oc(d),Oc(f),!0)};return I.forEach(Object.keys(Object.assign({},r,t)),function(f){const p=c[f]||n,_=p(r[f],t[f],f);I.isUndefined(_)&&p!==h||(e[f]=_)}),e}const Fc="1.4.0",Ia={};["object","boolean","number","function","string","symbol"].forEach((r,t)=>{Ia[r]=function(i){return typeof i===r||"a"+(t<1?"n ":" ")+r}});const zc={};Ia.transitional=function(t,e,i){function n(s,a){return"[Axios v"+Fc+"] Transitional option '"+s+"'"+a+(i?". "+i:"")}return(s,a,h)=>{if(t===!1)throw new vt(n(a," has been removed"+(e?" in "+e:"")),vt.ERR_DEPRECATED);return e&&!zc[a]&&(zc[a]=!0,console.warn(n(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(s,a,h):!0}};function W_(r,t,e){if(typeof r!="object")throw new vt("options must be an object",vt.ERR_BAD_OPTION_VALUE);const i=Object.keys(r);let n=i.length;for(;n-- >0;){const s=i[n],a=t[s];if(a){const h=r[s],c=h===void 0||a(h,s,r);if(c!==!0)throw new vt("option "+s+" must be "+c,vt.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new vt("Unknown option "+s,vt.ERR_BAD_OPTION)}}const Da={assertOptions:W_,validators:Ia},Si=Da.validators;class zs{constructor(t){this.defaults=t,this.interceptors={request:new Mc,response:new Mc}}request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=Rn(this.defaults,e);const{transitional:i,paramsSerializer:n,headers:s}=e;i!==void 0&&Da.assertOptions(i,{silentJSONParsing:Si.transitional(Si.boolean),forcedJSONParsing:Si.transitional(Si.boolean),clarifyTimeoutError:Si.transitional(Si.boolean)},!1),n!=null&&(I.isFunction(n)?e.paramsSerializer={serialize:n}:Da.assertOptions(n,{encode:Si.function,serialize:Si.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a;a=s&&I.merge(s.common,s[e.method]),a&&I.forEach(["delete","get","head","post","put","patch","common"],v=>{delete s[v]}),e.headers=oi.concat(a,s);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,p=0,_;if(!c){const v=[Dc.bind(this),void 0];for(v.unshift.apply(v,h),v.push.apply(v,d),_=v.length,f=Promise.resolve(e);p<_;)f=f.then(v[p++],v[p++]);return f}_=h.length;let y=e;for(p=0;p<_;){const v=h[p++],E=h[p++];try{y=v(y)}catch(T){E.call(this,T);break}}try{f=Dc.call(this,y)}catch(v){return Promise.reject(v)}for(p=0,_=d.length;p<_;)f=f.then(d[p++],d[p++]);return f}getUri(t){t=Rn(this.defaults,t);const e=Ac(t.baseURL,t.url);return Cc(e,t.params,t.paramsSerializer)}}I.forEach(["delete","get","head","options"],function(t){zs.prototype[t]=function(e,i){return this.request(Rn(i||{},{method:t,url:e,data:(i||{}).data}))}}),I.forEach(["post","put","patch"],function(t){function e(i){return function(s,a,h){return this.request(Rn(h||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}zs.prototype[t]=e(),zs.prototype[t+"Form"]=e(!0)});const Ns=zs;class Oa{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(s){e=s});const i=this;this.promise.then(n=>{if(!i._listeners)return;let s=i._listeners.length;for(;s-- >0;)i._listeners[s](n);i._listeners=null}),this.promise.then=n=>{let s;const a=new Promise(h=>{i.subscribe(h),s=h}).then(n);return a.cancel=function(){i.unsubscribe(s)},a},t(function(s,a,h){i.reason||(i.reason=new br(s,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 Oa(function(n){t=n}),cancel:t}}}const H_=Oa;function V_(r){return function(e){return r.apply(null,e)}}function X_(r){return I.isObject(r)&&r.isAxiosError===!0}const Fa={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(Fa).forEach(([r,t])=>{Fa[t]=r});const Y_=Fa;function Nc(r){const t=new Ns(r),e=cc(Ns.prototype.request,t);return I.extend(e,Ns.prototype,t,{allOwnKeys:!0}),I.extend(e,t,null,{allOwnKeys:!0}),e.create=function(n){return Nc(Rn(r,n))},e}const jt=Nc(Pa);jt.Axios=Ns,jt.CanceledError=br,jt.CancelToken=H_,jt.isCancel=Rc,jt.VERSION=Fc,jt.toFormData=As,jt.AxiosError=vt,jt.Cancel=jt.CanceledError,jt.all=function(t){return Promise.all(t)},jt.spread=V_,jt.isAxiosError=X_,jt.mergeConfig=Rn,jt.AxiosHeaders=oi,jt.formToJSON=r=>Pc(I.isHTMLForm(r)?new FormData(r):r),jt.HttpStatusCode=Y_,jt.default=jt;const Bc=jt,Bs="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUwMS4zMzcgNTAxLjMzNyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8Zz4NCgkJPHBhdGggZD0iTTQ5Ni45NjIsMi4wMzFjLTIuNzczLTIuMDI3LTYuNC0yLjU2LTkuNi0xLjQ5M0wzMzAuNjY5LDUyLjgwNEwxNzMuOTc1LDAuNTM3Yy0xLjA2Ny0wLjMyLTIuMTMzLTAuNTMzLTMuMi0wLjUzM2gtMC4xMDcNCgkJCWgtMC4xMDdjLTEuMDY3LDAtMi4xMzMsMC4yMTMtMy4yLDAuNTMzbC0xNjAsNTMuMzMzYy00LjM3MywxLjM4Ny03LjM2LDUuNTQ3LTcuMzYsMTAuMTMzdjQyNi4yNGMwLDMuMzA3LDEuMzg3LDYuNjEzLDMuOTQ3LDguNjQNCgkJCWMyLjk4NywyLjQ1Myw2LjgyNywyLjk4NywxMC4xMzMsMS45MmwxNTYuNjkzLTUyLjI2N2wxNTYuNjkzLDUyLjI2N2MxLjA2NywwLjMyLDIuMTMzLDAuNTMzLDMuMiwwLjUzM2gwLjEwN2gwLjEwNw0KCQkJYzEuMDY3LDAsMi4xMzMtMC4yMTMsMy4yLTAuNTMzbDE2MC01My4zMzNjNC4zNzMtMS40OTMsNy4yNTMtNS41NDcsNy4yNTMtMTAuMTMzVjEwLjY3MQ0KCQkJQzUwMS4zMzUsNy4yNTcsNDk5LjczNSw0LjA1Nyw0OTYuOTYyLDIuMDMxeiBNNzQuNjY5LDQ1OC4xMzdsLTUzLjMzMywxNy44MTNWMjg1LjAxN2w1My4zMzMtMTcuODEzVjQ1OC4xMzd6IE0xNjAuMDAyLDQyOS42NTcNCgkJCWwtNjQsMjEuMzMzVjI2MC4xNjRsNjQtMjEuMzMzVjQyOS42NTd6IE0xNjAuMDAyLDIxNi4zMjRsLTY0LDIxLjMzM3YtODUuMjI3bDY0LTE4LjQ1M1YyMTYuMzI0eiBNMTYwLjAwMiwxMTEuODk3bC03Ny42NTMsMjIuNA0KCQkJYy00LjU4NywxLjI4LTcuNjgsNS41NDctNy42OCwxMC4yNHYxMDAuMjY3bC01My4zMzMsMTcuODEzVjcxLjY4NGwxMzguNjY3LTQ2LjE4N1YxMTEuODk3eiBNMzIwLjAwMiw0NzUuOTUxbC01My4zMzMtMTcuNzA3DQoJCQlWMzQxLjAxN2w1My4zMzMsMjEuNzZWNDc1Ljk1MXogTTMyMC4wMDIsMzM5LjczN2wtNTkuOTQ3LTI0LjQyN2MtNS40NC0yLjI0LTExLjczMywwLjQyNy0xMy44NjcsNS44NjcNCgkJCWMtMC41MzMsMS4yOC0wLjc0NywyLjY2Ny0wLjc0Nyw0LjA1M3YxMjUuODY3bC02NC0yMS4zMzNWMjM4Ljg2NmwxMzguNTYsNDYuMTUxVjMzOS43Mzd6IE0zMjAuMDAyLDI2Mi41MTFsLTEzOC42NjctNDYuMTg3DQoJCQlWMjUuNDk3bDEzOC42NjcsNDYuMTg3VjI2Mi41MTF6IE0zNDEuMzM1LDE3OS4wOTdsNjQtMjEuNjUzdjgzLjczM2wtNjQsMjEuMzMzVjE3OS4wOTd6IE00ODAuMDAyLDQyOS42NTdsLTEzOC42NjcsNDYuMTg3DQoJCQlWMjg1LjAxN2wxMzguNjY3LTQ2LjE4N1Y0MjkuNjU3eiBNNDgwLjAwMiwyMTYuMzI0bC01My4zMzMsMTcuODEzdi04My44NGw1My4zMzMtMTguMDI3VjIxNi4zMjR6IE00ODAuMDAyLDEwOS43NjQNCgkJCWwtMTM4LjY2Nyw0Ni44MjdWNzEuNjg0bDEzOC42NjctNDYuMTg3VjEwOS43NjR6Ii8+DQoJPC9nPg0KPC9nPg0KPC9zdmc+",Gs="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIA0KCSB2aWV3Qm94PSIwIDAgNTMgNTMiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzQzQjA1QzsiIHBvaW50cz0iMTgsMjMuMjQzIDIuMjU2LDcuNDk5IDAsOCAwLDUxIDIuMDk5LDUwLjUzNCAxOCwzNC42MzIgIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojNDhBMERDOyIgcG9pbnRzPSI5LjM3Miw0OC45MTcgMTgsNDcgMTgsNDAuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzQzQjA1QzsiIHBvaW50cz0iMTgsNCA2Ljg4NCw2LjQ3IDE4LDE3LjU4NiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM0M0IwNUM7IiBwb2ludHM9IjQ5LjQ0OSwzLjE4NCAzNSw4IDM1LDE3LjYzMiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM0OEEwREM7IiBwb2ludHM9IjM1LDIzLjI4OSAzNSw1MCA1Myw0MyA1Myw1LjI4OSAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiMzRDk5NEY7IiBwb2ludHM9IjI2LjUyMywyNi4xMDkgMzUsMTcuNjMyIDM1LDggMTgsNCAxOCwxNy41ODYgIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojM0Q5OTRGOyIgcG9pbnRzPSIxOCwyMy4yNDMgMTgsMzQuNjMyIDIzLjY5NSwyOC45MzggIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojNDM5M0JGOyIgcG9pbnRzPSIxOCw0MC4yODkgMTgsNDcgMzUsNTAgMzUsMjMuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMTgsMTcuNTg2IDYuODg0LDYuNDcgMi4yNTYsNy40OTkgMTgsMjMuMjQzICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMTgsMzQuNjMyIDIuMDk5LDUwLjUzNCA5LjM3Miw0OC45MTcgMTgsNDAuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMzUsMjMuMjg5IDUzLDUuMjg5IDUzLDIgNDkuNDQ5LDMuMTg0IDM1LDE3LjYzMiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNENkI0NDU7IiBwb2ludHM9IjI2LjUyMywyNi4xMDkgMTgsMTcuNTg2IDE4LDIzLjI0MyAyMy42OTUsMjguOTM4IDE4LDM0LjYzMiAxOCw0MC4yODkgMzUsMjMuMjg5IDM1LDE3LjYzMiANCgkiLz4NCjwvc3ZnPg==";Q.Edit.Circle=Q.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;Q.GeometryUtil.isVersion07x()?e=t.distanceTo(r):e=this._map.distance(t,r),this._shape.setRadius(e),this._map.fire(Q.Draw.Event.EDITRESIZE,{layer:this._shape})}});const K_=U.defineComponent({name:"MapView",props:{loadPolygon:Boolean,reverseCoordinatesPolygon:Boolean,dataPolygon:Object,configurationMap:Object,coordinatesMap:Array,getGeoJSON:Function,getCoodMarker:Function,isSatelite:Boolean},data(){return{idMap:"",mapRender:null,markerRender:null,renderCoordinates:this.coordinatesMap,renderGeojson:this.dataPolygon,markerIcon:{iconUrl:Es,iconSize:[25,41],iconAnchor:[12,41]},layersFeatureGroup:null,featuresData:null,currentTileLayer:null,isSatelliteView:!1}},mounted(){this.makeid(10),this.renderMap()},methods:{createSatelliteControl(){const r=Q.Control.extend({onAdd:t=>{const e=Q.DomUtil.create("div","leaflet-control-draw leaflet-bar leaflet-control"),i=Q.DomUtil.create("a","leaflet-draw-draw-satellite",e);return i.href="#",i.title=this.isSatelliteView?"Vista Normal":"Vista Satélite",i.style.backgroundImage=this.isSatelliteView?`url(${Bs})`:`url(${Gs})`,i.style.backgroundPosition="center",i.style.backgroundRepeat="no-repeat",i.style.backgroundSize="20px 20px",Q.DomEvent.disableClickPropagation(i),Q.DomEvent.on(i,"click",this.toggleSatelliteView,this),e}});return new r({position:"topleft"})},toggleSatelliteView(){if(!this.mapRender||!this.currentTileLayer)return;this.isSatelliteView=!this.isSatelliteView,this.mapRender.removeLayer(this.currentTileLayer),this.isSatelliteView?this.currentTileLayer=Q.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(this.mapRender),document.querySelectorAll(".leaflet-draw-draw-satellite").forEach(t=>{const e=t;e.style.backgroundImage=this.isSatelliteView?`url(${Bs})`:`url(${Gs})`,e.title=this.isSatelliteView?"Vista Normal":"Vista Satélite"})},getLayersFeaturesInGeoJson(){const r=Q.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(){Op("es"),setTimeout(()=>{this.loadPolygon?this.viewMap():this.createMap()},500)},createMap(){var a,h,c,d,f,p,_,y,v,E;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=Q.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,this.isSatelliteView=this.isSatelite||!1,this.isSatelliteView?this.currentTileLayer=Q.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(t),this.isSatelite!==void 0){const T=this.createSatelliteControl();t.addControl(T)}if(t.setZoom((a=this.configurationMap)==null?void 0:a.maxZoom),this.configurationMap.renderMarker){const T=Q.marker([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],{icon:Q.icon(r),draggable:this.configurationMap.dragMarker}).addTo(t);this.markerRender=T,this.getCoodMarker&&T.on("dragend",M=>{const w=M.target.getLatLng(),b=w.lat,C=w.lng;this.getCoodMarker&&this.getCoodMarker(b,C)})}const e=Q.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 s=new Q.Control.Draw({position:"topleft",draw:{polygon:(p=this.configurationMap)==null?void 0:p.createFigures.polygon,circle:!1,rectangle:(_=this.configurationMap)!=null&&_.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(y=this.configurationMap)!=null&&y.createFigures.marker?{icon:Q.icon(r)}:!1,polyline:(v=this.configurationMap)!=null&&v.createFigures.polyline?{shapeOptions:{color:"blue"}}:!1,circlemarker:(E=this.configurationMap)==null?void 0:E.createFigures.multipoint},edit:n});t.addControl(s),t.on("draw:created",T=>{var b,C,P,R,D,O,G,X,Y,q,st,_t,V,H,j;const M=T.layer;i.addLayer(M);let w=M.toGeoJSON();T.layerType==="circlemarker"&&(w={type:"Feature",geometry:{type:"MultiPoint",coordinates:[w.geometry.coordinates]},properties:{...w.properties,pointType:"multipoint",style:{color:((P=(C=(b=this.configurationMap)==null?void 0:b.createFigures)==null?void 0:C.multipoint)==null?void 0:P.color)||"green",fillColor:((O=(D=(R=this.configurationMap)==null?void 0:R.createFigures)==null?void 0:D.multipoint)==null?void 0:O.fillColor)||"green",fillOpacity:((Y=(X=(G=this.configurationMap)==null?void 0:G.createFigures)==null?void 0:X.multipoint)==null?void 0:Y.fillOpacity)||.8,radius:((_t=(st=(q=this.configurationMap)==null?void 0:q.createFigures)==null?void 0:st.multipoint)==null?void 0:_t.radius)||6,weight:((j=(H=(V=this.configurationMap)==null?void 0:V.createFigures)==null?void 0:H.multipoint)==null?void 0:j.weight)||2}}}),this.getGeoJSON&&this.getGeoJSON([w])}),t.on("draw:edited",T=>{T.layers.eachLayer(w=>{const b=w.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([b])})})},viewMap(){var h,c,d,f,p,_,y,v,E,T;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=Q.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,this.isSatelliteView=this.isSatelite||!1,this.isSatelliteView?this.currentTileLayer=Q.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(t),this.isSatelite!==void 0){const M=this.createSatelliteControl();t.addControl(M)}t.setZoom((h=this.configurationMap)==null?void 0:h.maxZoom);const e=Q.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:(p=this.configurationMap)==null?void 0:p.editFigures.remove});const s=this.renderGeojson;if(s&&s.length){s.forEach(w=>{if(w.type==="FeatureCollection")w.features.forEach(b=>{if(b.geometry.type==="Polygon"||b.geometry.type==="MultiPolygon"||b.geometry.type==="LineString"||b.geometry.type==="MultiLineString"||b.geometry.type==="Point"||b.geometry.type==="MultiPoint"){const C=this;Q.geoJson(b,{pointToLayer:this.getPointToLayer.bind(this),onEachFeature:function(P,R){if(i.addLayer(R),P.geometry.type==="Point"){var D=C.getPopupContent(P);R.bindPopup(D)}else if(P.geometry.type==="Polygon"||P.geometry.type==="MultiPolygon"){var O=C.getPolygonTooltipContent(P);R.bindPopup(O)}}})}});else if(w.type==="Feature"&&(w.geometry.type==="Polygon"||w.geometry.type==="MultiPolygon"||w.geometry.type==="LineString"||w.geometry.type==="MultiLineString"||w.geometry.type==="Point"||w.geometry.type==="MultiPoint")){const b=this;Q.geoJson(w,{pointToLayer:this.getPointToLayer.bind(this),onEachFeature:function(C,P){if(i.addLayer(P),C.geometry.type==="Point"){var R=b.getPopupContent(C);P.bindPopup(R)}else if(C.geometry.type==="Polygon"||C.geometry.type==="MultiPolygon"){var D=b.getPolygonTooltipContent(C);P.bindPopup(D)}}})}});const M=i.getBounds();t.fitBounds(M)}const a=new Q.Control.Draw({position:"topleft",draw:{polygon:(_=this.configurationMap)==null?void 0:_.createFigures.polygon,circle:!1,rectangle:(y=this.configurationMap)!=null&&y.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(v=this.configurationMap)!=null&&v.createFigures.marker?{icon:Q.icon(r)}:!1,polyline:(E=this.configurationMap)!=null&&E.createFigures.polyline?{shapeOptions:{color:"blue"}}:!1,circlemarker:(T=this.configurationMap)==null?void 0:T.createFigures.multipoint},edit:n});t.addControl(a),t.on("draw:created",M=>{var C,P,R,D,O,G,X,Y,q,st,_t,V,H,j,B;const w=M.layer;i.addLayer(w);let b=w.toGeoJSON();M.layerType==="circlemarker"&&(b={type:"Feature",geometry:{type:"MultiPoint",coordinates:[b.geometry.coordinates]},properties:{...b.properties,pointType:"multipoint",style:{color:((R=(P=(C=this.configurationMap)==null?void 0:C.createFigures)==null?void 0:P.multipoint)==null?void 0:R.color)||"green",fillColor:((G=(O=(D=this.configurationMap)==null?void 0:D.createFigures)==null?void 0:O.multipoint)==null?void 0:G.fillColor)||"green",fillOpacity:((q=(Y=(X=this.configurationMap)==null?void 0:X.createFigures)==null?void 0:Y.multipoint)==null?void 0:q.fillOpacity)||.8,radius:((V=(_t=(st=this.configurationMap)==null?void 0:st.createFigures)==null?void 0:_t.multipoint)==null?void 0:V.radius)||6,weight:((B=(j=(H=this.configurationMap)==null?void 0:H.createFigures)==null?void 0:j.multipoint)==null?void 0:B.weight)||2}}}),this.getGeoJSON&&this.getGeoJSON(b)}),t.on("draw:edited",M=>{M.layers.eachLayer(b=>{const C=b.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(C)})})},getPointToLayer(r,t){var i,n;if(((i=r.geometry)==null?void 0:i.type)==="Point"){const s=(n=r.properties)==null?void 0:n.tipo,a=Q.icon({iconUrl:dp,iconSize:[38,38],iconAnchor:[16,41]}),h=Q.icon({iconUrl:fp,iconSize:[38,38],iconAnchor:[16,41]});let d=Q.icon({iconUrl:gp,iconSize:[38,38],iconAnchor:[16,41]});return s===0?d=a:s===1&&(d=h),Q.marker(t,{icon:d})}return Q.marker(t)},async searchAddress(r){const t=await Bc.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=Q.latLng(r,t);this.mapRender.panTo(e,{animate:!0,duration:.5})}},getPopupContent(r){const t=r.properties||{},e=t.descripcion||"",i=t.fechaHoraLlegada||"",n=t.fotoId||"",s=c=>{const d=new Date(c);if(isNaN(d.getTime()))return c;const f=M=>M.toString().padStart(2,"0"),p=f(d.getUTCDate()),_=f(d.getUTCMonth()+1),y=d.getUTCFullYear(),v=f(d.getUTCHours()),E=f(d.getUTCMinutes()),T=f(d.getUTCSeconds());return`${p}-${_}-${y} ${v}:${E}:${T}`};let a="";i&&(a=s(i));let h="<div>";return n&&(h+=`<img src="${n}" style="width: 200px; height: auto; margin-bottom: 5px;"><br>`),h+=`<b>Descripción:</b> ${e}<br>`,a&&(h+=`<b>Fecha Hora Llegada:</b> ${a}<br>`),h+="</div>",h},getPolygonTooltipContent(r){const t=r.properties||{};return`<div style="font-weight: bold; padding: 5px;">${t.descripcion||t.name||"Sin descripción"}</div>`}},watch:{coordinatesMap(r){if(this.renderCoordinates=r,this.mapRender&&this.markerRender){const t=Q.latLng([r[0],r[1]]);this.mapRender.setView([r[0],r[1]],r[2]),this.markerRender.setLatLng(t)}},dataPolygon(r){this.renderGeojson=r}}}),q_=["id"];function J_(r,t,e,i,n,s){var a;return U.openBlock(),U.createElementBlock("div",{class:"map-container",style:U.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[U.createElementVNode("div",{id:r.idMap,style:{height:"100%"}},null,8,q_)],4)}const Q_=La(K_,[["render",J_]]),$_=["id"],tm=U.defineComponent({__name:"MapSearchAddress",props:{configurationMap:{default:()=>({height:"250px",maxZoom:20,iconMarker:{iconUrl:Es,iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})},coordinatesMap:{default:()=>({lat:-19.0429,lng:-65.2554,zoom:12})},isSatelite:{type:Boolean}},emits:["updated:coordsMarker"],setup(r,{expose:t,emit:e}){const i=r,n=U.ref(),s=U.ref(i.coordinatesMap),a=U.ref(),h=U.ref(),c=U.ref(null),d=U.ref(!1);U.onMounted(async()=>{await f(10),await p()});const f=async w=>{let b="";const C="abcdefghijklmnopqrstuvwxyz",P=C.length;let R=0;for(;R<w;)b+=C.charAt(Math.floor(Math.random()*P)),R+=1;n.value=b},p=async()=>{await _()},_=async()=>{var C,P;const w=(C=i.configurationMap)==null?void 0:C.iconMarker,b=Q.map(n.value,{fullscreenControl:!0}).setView([s.value.lat,s.value.lng],s.value.zoom);if(b.invalidateSize(),a.value=b,d.value=i.isSatelite||!1,d.value?c.value=Q.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):c.value=Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:(P=i.configurationMap)==null?void 0:P.maxZoom,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),c.value.addTo(b),i.isSatelite!==void 0){const R=y();b.addControl(R)}if(w.type==="image"){const R=Q.marker([s.value.lat,s.value.lng],{icon:Q.icon({iconUrl:w.iconUrl,iconAnchor:w.iconAnchor,iconSize:w.iconSize,className:w.class}),draggable:i.configurationMap.dragMarker}).addTo(b);h.value=R,R.on("dragend",D=>{const O=D.target.getLatLng(),G=O.lat,X=O.lng;T({lat:G,lng:X})})}else if(w.type==="svg"){const R=Q.marker([s.value.lat,s.value.lng],{icon:Q.divIcon({html:w.iconUrl,iconAnchor:w.iconAnchor,iconSize:w.iconSize,className:w.class}),draggable:i.configurationMap.dragMarker}).addTo(b);h.value=R,R.on("dragend",D=>{const O=D.target.getLatLng(),G=O.lat,X=O.lng;T({lat:G,lng:X})})}},y=()=>{const w=Q.Control.extend({onAdd:b=>{const C=Q.DomUtil.create("div","leaflet-control-draw leaflet-bar leaflet-control"),P=Q.DomUtil.create("a","leaflet-draw-draw-satellite",C);return P.href="#",P.title=d.value?"Vista Normal":"Vista Satélite",P.style.backgroundImage=d.value?`url(${Bs})`:`url(${Gs})`,P.style.backgroundPosition="center",P.style.backgroundRepeat="no-repeat",P.style.backgroundSize="20px 20px",Q.DomEvent.disableClickPropagation(P),Q.DomEvent.on(P,"click",v),C}});return new w({position:"topleft"})},v=()=>{if(!a.value||!c.value)return;d.value=!d.value,a.value.removeLayer(c.value),d.value?c.value=Q.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):c.value=Q.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),c.value.addTo(a.value),document.querySelectorAll(".leaflet-draw-draw-satellite").forEach(b=>{const C=b;C.style.backgroundImage=d.value?`url(${Bs})`:`url(${Gs})`,C.title=d.value?"Vista Normal":"Vista Satélite"})},E=async w=>{const b=await Bc.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:w,limit:1,format:"json"}});if(b.data.length===1){const C=parseFloat(b.data[0].lat),R={lng:parseFloat(b.data[0].lon),lat:C};return T({...R,moveMarker:!0}),b.data[0]}return b.data},T=({lat:w,lng:b,moveMarker:C=!1})=>{var P;e("updated:coordsMarker",{lat:w,lng:b}),C&&((P=h.value)==null||P.setLatLng({lat:w,lng:b})),M({lat:w,lng:b})},M=({lat:w,lng:b})=>{const C=Q.latLng(w,b);a.value.panTo(C,{animate:!0,duration:.5})};return t({searchAddress:E}),(w,b)=>{var C;return U.openBlock(),U.createElementBlock("div",{class:"map-container",style:U.normalizeStyle(`height:${(C=w.configurationMap)==null?void 0:C.height}`)},[U.createElementVNode("div",{id:n.value,style:{height:"100%"}},null,8,$_)],4)}}}),Eb="";class em{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}const ai=em,An={PROPERTYCHANGE:"propertychange"};class im{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}const Us=im;function nm(r,t,e){let i,n;e=e||Pi;let s=0,a=r.length,h=!1;for(;s<a;)i=s+(a-s>>1),n=+e(r[i],t),n<0?s=i+1:(a=i,h=!n);return h?s:~s}function Pi(r,t){return r>t?1:r<t?-1:0}function za(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 s=r[n];if(s===t)return n;if(s<t)return e(t,r[n-1],s)>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 rm(r,t,e){for(;t<e;){const i=r[t];r[t]=r[e],r[e]=i,++t,--e}}function We(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 li(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 sm(r,t,e){const i=t||Pi;return r.every(function(n,s){if(s===0)return!0;const a=i(r[s-1],n);return!(a>0||e&&a===0)})}function Tr(){return!0}function js(){return!1}function In(){}function Gc(r){let t=!1,e,i,n;return function(){const s=Array.prototype.slice.call(arguments);return(!t||this!==n||!li(s,i))&&(t=!0,n=this,i=s,e=r.apply(this,arguments)),e}}function Dn(r){for(const t in r)delete r[t]}function on(r){let t;for(t in r)return!1;return!t}class om extends Us{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 s=e?new ai(t):t;s.target||(s.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(s):c=n[d].call(this,s),c===!1||s.propagationStopped){c=!1;break}if(--a[i]===0){let d=h[i];for(delete h[i];d--;)this.removeEventListener(i,In);delete a[i]}return c}disposeInternal(){this.listeners_&&Dn(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){if(!this.listeners_)return;const i=this.listeners_[t];if(!i)return;const n=i.indexOf(e);n!==-1&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[n]=In,++this.pendingRemovals_[t]):(i.splice(n,1),i.length===0&&delete this.listeners_[t]))}}const Zs=om,lt={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 ft(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 s={target:r,type:t,listener:e};return r.addEventListener(t,e),s}function Ws(r,t,e,i){return ft(r,t,e,i,!0)}function Ct(r){r&&r.target&&(r.target.removeEventListener(r.type,r.listener),Dn(r))}class Hs extends Zs{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(lt.CHANGE)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=ft(this,t[s],e);return n}return ft(this,t,e)}onceInternal(t,e){let i;if(Array.isArray(t)){const n=t.length;i=new Array(n);for(let s=0;s<n;++s)i[s]=Ws(this,t[s],e)}else i=Ws(this,t,e);return e.ol_key=i,i}unInternal(t,e){const i=e.ol_key;if(i)am(i);else if(Array.isArray(t))for(let n=0,s=t.length;n<s;++n)this.removeEventListener(t[n],e);else this.removeEventListener(t,e)}}Hs.prototype.on,Hs.prototype.once,Hs.prototype.un;function am(r){if(Array.isArray(r))for(let t=0,e=r.length;t<e;++t)Ct(r[t]);else Ct(r)}const Uc=Hs;function rt(){throw new Error("Unimplemented abstract method.")}let lm=0;function ct(r){return r.ol_uid||(r.ol_uid=String(++lm))}class jc extends ai{constructor(t,e,i){super(t),this.key=e,this.oldValue=i}}class hm extends Uc{constructor(t){super(),this.on,this.once,this.un,ct(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 jc(i,t,e)),i=An.PROPERTYCHANGE,this.hasListener(i)&&this.dispatchEvent(new jc(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 s=n[t];n[t]=e,s!==e&&this.notify(t,s)}}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],on(this.values_)&&(this.values_=null),e||this.notify(t,i)}}}const Re=hm,Zt={ANIMATING:0,INTERACTING:1},Ae={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},cm=42,Na=256,Cr={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class um{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_||Cr[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 Zc=um,Mr=6378137,On=Math.PI*Mr,dm=[-On,-On,On,On],fm=[-180,-85,180,85],Vs=Mr*Math.log(Math.tan(Math.PI/2));class Fn extends Zc{constructor(t){super({code:t,units:"m",extent:dm,global:!0,worldExtent:fm,getPointResolution:function(e,i){return e/Math.cosh(i[1]/Mr)}})}}const Wc=[new Fn("EPSG:3857"),new Fn("EPSG:102100"),new Fn("EPSG:102113"),new Fn("EPSG:900913"),new Fn("http://www.opengis.net/def/crs/EPSG/0/3857"),new Fn("http://www.opengis.net/gml/srs/epsg.xml#3857")];function gm(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]=On*r[n]/180;let s=Mr*Math.log(Math.tan(Math.PI*(+r[n+1]+90)/360));s>Vs?s=Vs:s<-Vs&&(s=-Vs),t[n+1]=s}return t}function pm(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]/On,t[n+1]=360*Math.atan(Math.exp(r[n+1]/Mr))/Math.PI-90;return t}const _m=6378137,Hc=[-180,-90,180,90],mm=Math.PI*_m/180;class an extends Zc{constructor(t,e){super({code:t,units:"degrees",extent:Hc,axisOrientation:e,global:!0,metersPerUnit:mm,worldExtent:Hc})}}const Vc=[new an("CRS:84"),new an("EPSG:4326","neu"),new an("urn:ogc:def:crs:OGC:1.3:CRS84"),new an("urn:ogc:def:crs:OGC:2:84"),new an("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new an("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new an("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let Ba={};function ym(r){return Ba[r]||Ba[r.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null}function vm(r,t){Ba[r]=t}let zn={};function Xs(r,t,e){const i=r.getCode(),n=t.getCode();i in zn||(zn[i]={}),zn[i][n]=e}function xm(r,t){let e;return r in zn&&t in zn[r]&&(e=zn[r][t]),e}const Wt={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};function Xc(r){const t=xe();for(let e=0,i=r.length;e<i;++e)Pr(t,r[e]);return t}function Ys(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 Yc(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r.slice()}function ln(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 Ga(r,t[0],t[1])}function hn(r,t){return r[0]<=t[0]&&t[2]<=r[2]&&r[1]<=t[1]&&t[3]<=r[3]}function Ga(r,t,e){return r[0]<=t&&t<=r[2]&&r[1]<=e&&e<=r[3]}function Ua(r,t){const e=r[0],i=r[1],n=r[2],s=r[3],a=t[0],h=t[1];let c=Wt.UNKNOWN;return a<e?c=c|Wt.LEFT:a>n&&(c=c|Wt.RIGHT),h<i?c=c|Wt.BELOW:h>s&&(c=c|Wt.ABOVE),c===Wt.UNKNOWN&&(c=Wt.INTERSECTING),c}function xe(){return[1/0,1/0,-1/0,-1/0]}function ki(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 Sr(r){return ki(1/0,1/0,-1/0,-1/0,r)}function Kc(r,t){const e=r[0],i=r[1];return ki(e,i,e,i,t)}function ja(r,t,e,i,n){const s=Sr(n);return Jc(s,r,t,e,i)}function Nn(r,t){return r[0]==t[0]&&r[2]==t[2]&&r[1]==t[1]&&r[3]==t[3]}function qc(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 Pr(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 Jc(r,t,e,i,n){for(;e<i;e+=n)wm(r,t[e],t[e+1]);return r}function wm(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 Qc(r,t){let e;return e=t(qs(r)),e||(e=t(Js(r)),e)||(e=t(Qs(r)),e)||(e=t(cn(r)),e)?e:!1}function Za(r){let t=0;return $s(r)||(t=Mt(r)*we(r)),t}function qs(r){return[r[0],r[1]]}function Js(r){return[r[2],r[1]]}function Ri(r){return[(r[0]+r[2])/2,(r[1]+r[3])/2]}function Em(r,t){let e;if(t==="bottom-left")e=qs(r);else if(t==="bottom-right")e=Js(r);else if(t==="top-left")e=cn(r);else if(t==="top-right")e=Qs(r);else throw new Error("Invalid corner");return e}function Wa(r,t,e,i,n){const[s,a,h,c,d,f,p,_]=Ha(r,t,e,i);return ki(Math.min(s,h,d,p),Math.min(a,c,f,_),Math.max(s,h,d,p),Math.max(a,c,f,_),n)}function Ha(r,t,e,i){const n=t*i[0]/2,s=t*i[1]/2,a=Math.cos(e),h=Math.sin(e),c=n*a,d=n*h,f=s*a,p=s*h,_=r[0],y=r[1];return[_-c+p,y-d-f,_-c-p,y-d+f,_+c-p,y+d+f,_+c+p,y+d-f,_-c+p,y-d-f]}function we(r){return r[3]-r[1]}function kr(r,t,e){const i=e||xe();return ce(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]):Sr(i),i}function cn(r){return[r[0],r[3]]}function Qs(r){return[r[2],r[3]]}function Mt(r){return r[2]-r[0]}function ce(r,t){return r[0]<=t[2]&&r[2]>=t[0]&&r[1]<=t[3]&&r[3]>=t[1]}function $s(r){return r[2]<r[0]||r[3]<r[1]}function Lm(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r}function bm(r,t,e){let i=!1;const n=Ua(r,t),s=Ua(r,e);if(n===Wt.INTERSECTING||s===Wt.INTERSECTING)i=!0;else{const a=r[0],h=r[1],c=r[2],d=r[3],f=t[0],p=t[1],_=e[0],y=e[1],v=(y-p)/(_-f);let E,T;s&Wt.ABOVE&&!(n&Wt.ABOVE)&&(E=_-(y-d)/v,i=E>=a&&E<=c),!i&&s&Wt.RIGHT&&!(n&Wt.RIGHT)&&(T=y-(_-c)*v,i=T>=h&&T<=d),!i&&s&Wt.BELOW&&!(n&Wt.BELOW)&&(E=_-(y-h)/v,i=E>=a&&E<=c),!i&&s&Wt.LEFT&&!(n&Wt.LEFT)&&(T=y-(_-a)*v,i=T>=h&&T<=d)}return i}function $c(r,t){const e=t.getExtent(),i=Ri(r);if(t.canWrapX()&&(i[0]<e[0]||i[0]>=e[2])){const n=Mt(e),a=Math.floor((i[0]-e[0])/n)*n;r[0]-=a,r[2]-=a}return r}function Tm(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]]];$c(r,t);const i=Mt(e);if(Mt(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 Dt(r,t,e){return Math.min(Math.max(r,t),e)}function Cm(r,t,e,i,n,s){const a=n-e,h=s-i;if(a!==0||h!==0){const c=((r-e)*a+(t-i)*h)/(a*a+h*h);c>1?(e=n,i=s):c>0&&(e+=a*c,i+=h*c)}return un(r,t,e,i)}function un(r,t,e,i){const n=e-r,s=i-t;return n*n+s*s}function Mm(r){const t=r.length;for(let i=0;i<t;i++){let n=i,s=Math.abs(r[i][i]);for(let h=i+1;h<t;h++){const c=Math.abs(r[h][i]);c>s&&(s=c,n=h)}if(s===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 to(r){return r*Math.PI/180}function Bn(r,t){const e=r%t;return e*t<0?e+t:e}function Ee(r,t,e){return r+e*(t-r)}function Va(r,t){const e=Math.pow(10,t);return Math.round(r*e)/e}function eo(r,t){return Math.floor(Va(r,t))}function io(r,t){return Math.ceil(Va(r,t))}function Sm(r,t){return r[0]+=+t[0],r[1]+=+t[1],r}function no(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 Xa(r,t){const e=Math.cos(t),i=Math.sin(t),n=r[0]*e-r[1]*i,s=r[1]*e+r[0]*i;return r[0]=n,r[1]=s,r}function Pm(r,t){return r[0]*=t,r[1]*=t,r}function tu(r,t){if(t.canWrapX()){const e=Mt(t.getExtent()),i=km(r,t,e);i&&(r[0]-=i*e)}return r}function km(r,t,e){const i=t.getExtent();let n=0;return t.canWrapX()&&(r[0]<i[0]||r[0]>i[2])&&(e=e||Mt(i),n=Math.floor((r[0]-i[0])/e)),n}const Rm=63710088e-1;function eu(r,t,e){e=e||Rm;const i=to(r[1]),n=to(t[1]),s=(n-i)/2,a=to(t[0]-r[0])/2,h=Math.sin(s)*Math.sin(s)+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 iu={info:1,warn:2,error:3,none:4};let Am=iu.info;function nu(...r){Am>iu.warn||console.warn(...r)}let Ya=!0;function ru(r){Ya=!(r===void 0?!0:r)}function Ka(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 su(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 Im(r){vm(r.getCode(),r),Xs(r,r,Ka)}function Dm(r){r.forEach(Im)}function zt(r){return typeof r=="string"?ym(r):r||null}function ou(r,t,e,i){r=zt(r);let n;const s=r.getPointResolutionFunc();if(s){if(n=s(t,e),i&&i!==r.getUnits()){const a=r.getMetersPerUnit();a&&(n=n*a/Cr[i])}}else{const a=r.getUnits();if(a=="degrees"&&!i||i=="degrees")n=t;else{const h=Ja(r,zt("EPSG:4326"));if(h===su&&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=eu(d.slice(0,2),d.slice(2,4)),p=eu(d.slice(4,6),d.slice(6,8));n=(f+p)/2}const c=i?Cr[i]:r.getMetersPerUnit();c!==void 0&&(n/=c)}}return n}function au(r){Dm(r),r.forEach(function(t){r.forEach(function(e){t!==e&&Xs(t,e,Ka)})})}function Om(r,t,e,i){r.forEach(function(n){t.forEach(function(s){Xs(n,s,e),Xs(s,n,i)})})}function qa(r,t){return r?typeof r=="string"?zt(r):r:zt(t)}function lu(r,t){return ru(),hu(r,"EPSG:4326",t!==void 0?t:"EPSG:3857")}function dn(r,t){if(r===t)return!0;const e=r.getUnits()===t.getUnits();return(r.getCode()===t.getCode()||Ja(r,t)===Ka)&&e}function Ja(r,t){const e=r.getCode(),i=t.getCode();let n=xm(e,i);return n||(n=su),n}function Rr(r,t){const e=zt(r),i=zt(t);return Ja(e,i)}function hu(r,t,e){return Rr(t,e)(r,void 0,r.length)}function Qa(r,t){return r}function hi(r,t){return Ya&&!no(r,[0,0])&&r[0]>=-180&&r[0]<=180&&r[1]>=-90&&r[1]<=90&&(Ya=!1,nu("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),r}function cu(r,t){return r}function fn(r,t){return r}function Fm(){au(Wc),au(Vc),Om(Vc,Wc,gm,pm)}Fm();function mt(r,t){if(!r)throw new Error(t)}function uu(r,t,e){return function(i,n,s,a,h){if(!i)return;if(!n&&!t)return i;const c=t?0:s[0]*n,d=t?0:s[1]*n,f=h?h[0]:0,p=h?h[1]:0;let _=r[0]+c/2+f,y=r[2]-c/2+f,v=r[1]+d/2+p,E=r[3]-d/2+p;_>y&&(_=(y+_)/2,y=_),v>E&&(v=(E+v)/2,E=v);let T=Dt(i[0],_,y),M=Dt(i[1],v,E);if(a&&e&&n){const w=30*n;T+=-w*Math.log(1+Math.max(0,_-i[0])/w)+w*Math.log(1+Math.max(0,i[0]-y)/w),M+=-w*Math.log(1+Math.max(0,v-i[1])/w)+w*Math.log(1+Math.max(0,i[1]-E)/w)}return[T,M]}}function zm(r){return r}function $a(r,t,e,i){const n=Mt(t)/e[0],s=we(t)/e[1];return i?Math.min(r,Math.max(n,s)):Math.min(r,Math.min(n,s))}function tl(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),Dt(i,e/2,t*2)}function Nm(r,t,e,i){return t=t!==void 0?t:!0,function(n,s,a,h){if(n!==void 0){const c=r[0],d=r[r.length-1],f=e?$a(c,e,a,i):c;if(h)return t?tl(n,f,d):Dt(n,d,f);const p=Math.min(f,n),_=Math.floor(za(r,p,s));return r[_]>f&&_<r.length-1?r[_+1]:r[_]}}}function Bm(r,t,e,i,n,s){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?$a(t,n,c,s):t;if(d)return i?tl(a,f,e):Dt(a,e,f);const p=1e-9,_=Math.ceil(Math.log(t/f)/Math.log(r)-p),y=-h*(.5-p)+.5,v=Math.min(f,a),E=Math.floor(Math.log(t/v)/Math.log(r)+y),T=Math.max(_,E),M=t/Math.pow(r,T);return Dt(M,e,f)}}}function du(r,t,e,i,n){return e=e!==void 0?e:!0,function(s,a,h,c){if(s!==void 0){const d=i?$a(r,i,h,n):r;return!e||!c?Dt(s,t,d):tl(s,d,t)}}}function el(r){if(r!==void 0)return 0}function fu(r){if(r!==void 0)return r}function Gm(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 Um(r){const t=r===void 0?to(5):r;return function(e,i){return i||e===void 0?e:Math.abs(e)<=t?0:e}}function gu(r){return Math.pow(r,3)}function Gn(r){return 1-gu(1-r)}function jm(r){return 3*r*r-2*r*r*r}function Zm(r){return r}const Ai=typeof navigator<"u"&&typeof navigator.userAgent<"u"?navigator.userAgent.toLowerCase():"",Wm=Ai.includes("firefox"),Hm=Ai.includes("safari")&&!Ai.includes("chrom")&&(Ai.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(Ai)),Vm=Ai.includes("webkit")&&!Ai.includes("edge"),pu=Ai.includes("macintosh"),_u=typeof devicePixelRatio<"u"?devicePixelRatio:1,il=typeof WorkerGlobalScope<"u"&&typeof OffscreenCanvas<"u"&&self instanceof WorkerGlobalScope,mu=typeof Image<"u"&&Image.prototype.decode,yu=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 Ht(){return[1,0,0,1,0,0]}function vu(r,t){const e=r[0],i=r[1],n=r[2],s=r[3],a=r[4],h=r[5],c=t[0],d=t[1],f=t[2],p=t[3],_=t[4],y=t[5];return r[0]=e*c+n*d,r[1]=i*c+s*d,r[2]=e*f+n*p,r[3]=i*f+s*p,r[4]=e*_+n*y+a,r[5]=i*_+s*y+h,r}function xu(r,t,e,i,n,s,a){return r[0]=t,r[1]=e,r[2]=i,r[3]=n,r[4]=s,r[5]=a,r}function Ym(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 Nt(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 Km(r,t,e){return xu(r,t,0,0,e,0,0)}function qm(r,t,e){return vu(r,xu(Xm,1,0,0,1,t,e))}function Ie(r,t,e,i,n,s,a,h){const c=Math.sin(s),d=Math.cos(s);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 ro(r,t){const e=Jm(t);mt(e!==0,"Transformation matrix cannot be inverted");const i=t[0],n=t[1],s=t[2],a=t[3],h=t[4],c=t[5];return r[0]=a/e,r[1]=-n/e,r[2]=-s/e,r[3]=i/e,r[4]=(s*c-a*h)/e,r[5]=-(i*c-n*h)/e,r}function Jm(r){return r[0]*r[3]-r[1]*r[2]}let wu;function Eu(r){const t="matrix("+r.join(", ")+")";if(il)return t;const e=wu||(wu=document.createElement("div"));return e.style.transform=t,e.style.transform}function Ii(r,t,e,i,n,s){s=s||[];let a=0;for(let h=t;h<e;h+=i){const c=r[h],d=r[h+1];s[a++]=n[0]*c+n[2]*d+n[4],s[a++]=n[1]*c+n[3]*d+n[5]}return s&&s.length!=a&&(s.length=a),s}function Lu(r,t,e,i,n,s,a){a=a||[];const h=Math.cos(n),c=Math.sin(n),d=s[0],f=s[1];let p=0;for(let _=t;_<e;_+=i){const y=r[_]-d,v=r[_+1]-f;a[p++]=d+y*h-v*c,a[p++]=f+y*c+v*h;for(let E=_+2;E<_+i;++E)a[p++]=r[E]}return a&&a.length!=p&&(a.length=p),a}function Qm(r,t,e,i,n,s,a,h){h=h||[];const c=a[0],d=a[1];let f=0;for(let p=t;p<e;p+=i){const _=r[p]-c,y=r[p+1]-d;h[f++]=c+n*_,h[f++]=d+s*y;for(let v=p+2;v<p+i;++v)h[f++]=r[v]}return h&&h.length!=f&&(h.length=f),h}function $m(r,t,e,i,n,s,a){a=a||[];let h=0;for(let c=t;c<e;c+=i){a[h++]=r[c]+n,a[h++]=r[c+1]+s;for(let d=c+2;d<c+i;++d)a[h++]=r[d]}return a&&a.length!=h&&(a.length=h),a}const bu=Ht();class ty extends Re{constructor(){super(),this.extent_=xe(),this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=Gc((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 rt()}closestPointXY(t,e,i,n){return rt()}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 rt()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&Sr(e),this.extentRevision_=this.getRevision()}return Lm(this.extent_,t)}rotate(t,e){rt()}scale(t,e,i){rt()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return rt()}getType(){return rt()}applyTransform(t){rt()}intersectsExtent(t){return rt()}translate(t,e){rt()}transform(t,e){const i=zt(t),n=i.getUnits()=="tile-pixels"?function(s,a,h){const c=i.getExtent(),d=i.getWorldExtent(),f=we(d)/we(c);return Ie(bu,d[0],d[3],f,-f,0,0,0),Ii(s,0,s.length,h,bu,a),Rr(i,e)(s,a,h)}:Rr(i,e);return this.applyTransform(n),this}}const Tu=ty;class gn extends Tu{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return ja(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return rt()}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=Cu(t),this.layout=t,this.flatCoordinates=e}setCoordinates(t,e){rt()}setLayout(t,e,i){let n;if(t)n=Cu(t);else{for(let s=0;s<i;++s){if(e.length===0){this.layout="XY",this.stride=2;return}e=e[0]}n=e.length,t=pn(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();Lu(i,0,i.length,n,t,e,i),this.changed()}}scale(t,e,i){e===void 0&&(e=t),i||(i=Ri(this.getExtent()));const n=this.getFlatCoordinates();if(n){const s=this.getStride();Qm(n,0,n.length,s,t,e,i,n),this.changed()}}translate(t,e){const i=this.getFlatCoordinates();if(i){const n=this.getStride();$m(i,0,i.length,n,t,e,i),this.changed()}}}function pn(r){let t;return r==2?t="XY":r==3?t="XYZ":r==4&&(t="XYZM"),t}function Cu(r){let t;return r=="XY"?t=2:r=="XYZ"||r=="XYM"?t=3:r=="XYZM"&&(t=4),t}function ey(r,t,e){const i=r.getFlatCoordinates();if(!i)return null;const n=r.getStride();return Ii(i,0,i.length,n,t,e)}function Mu(r,t,e,i,n,s,a){const h=r[t],c=r[t+1],d=r[e]-h,f=r[e+1]-c;let p;if(d===0&&f===0)p=t;else{const _=((n-h)*d+(s-c)*f)/(d*d+f*f);if(_>1)p=e;else if(_>0){for(let y=0;y<i;++y)a[y]=Ee(r[t+y],r[e+y],_);a.length=i;return}else p=t}for(let _=0;_<i;++_)a[_]=r[p+_];a.length=i}function nl(r,t,e,i,n){let s=r[t],a=r[t+1];for(t+=i;t<e;t+=i){const h=r[t],c=r[t+1],d=un(s,a,h,c);d>n&&(n=d),s=h,a=c}return n}function rl(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];n=nl(r,t,h,i,n),t=h}return n}function iy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];n=rl(r,t,h,i,n),t=h[h.length-1]}return n}function sl(r,t,e,i,n,s,a,h,c,d,f){if(t==e)return d;let p,_;if(n===0){if(_=un(a,h,r[t],r[t+1]),_<d){for(p=0;p<i;++p)c[p]=r[t+p];return c.length=i,_}return d}f=f||[NaN,NaN];let y=t+i;for(;y<e;)if(Mu(r,y-i,y,i,a,h,f),_=un(a,h,f[0],f[1]),_<d){for(d=_,p=0;p<i;++p)c[p]=f[p];c.length=i,y+=i}else y+=i*Math.max((Math.sqrt(_)-Math.sqrt(d))/n|0,1);if(s&&(Mu(r,e-i,t,i,a,h,f),_=un(a,h,f[0],f[1]),_<d)){for(d=_,p=0;p<i;++p)c[p]=f[p];c.length=i}return d}function ol(r,t,e,i,n,s,a,h,c,d,f){f=f||[NaN,NaN];for(let p=0,_=e.length;p<_;++p){const y=e[p];d=sl(r,t,y,i,n,s,a,h,c,d,f),t=y}return d}function ny(r,t,e,i,n,s,a,h,c,d,f){f=f||[NaN,NaN];for(let p=0,_=e.length;p<_;++p){const y=e[p];d=ol(r,t,y,i,n,s,a,h,c,d,f),t=y[y.length-1]}return d}function ry(r,t,e,i){for(let n=0,s=e.length;n<s;++n)r[t++]=e[n];return t}function so(r,t,e,i){for(let n=0,s=e.length;n<s;++n){const a=e[n];for(let h=0;h<i;++h)r[t++]=a[h]}return t}function Ar(r,t,e,i,n){n=n||[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=so(r,t,e[a],i);n[s++]=c,t=c}return n.length=s,n}function Su(r,t,e,i,n){n=n||[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=Ar(r,t,e[a],i,n[s]);c.length===0&&(c[0]=t),n[s++]=c,t=c[c.length-1]}return n.length=s,n}function oo(r,t,e,i,n,s,a){const h=(e-t)/i;if(h<3){for(;t<e;t+=i)s[a++]=r[t],s[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 p=d.pop(),_=d.pop();let y=0;const v=r[_],E=r[_+1],T=r[p],M=r[p+1];for(let w=_+i;w<p;w+=i){const b=r[w],C=r[w+1],P=Cm(b,C,v,E,T,M);P>y&&(f=w,y=P)}y>n&&(c[(f-t)/i]=1,_+i<f&&d.push(_,f),f+i<p&&d.push(f,p))}for(let p=0;p<h;++p)c[p]&&(s[a++]=r[t+p*i],s[a++]=r[t+p*i+1]);return a}function Pu(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=oo(r,t,f,i,n,s,a),h.push(a),t=f}return a}function _n(r,t){return t*Math.round(r/t)}function sy(r,t,e,i,n,s,a){if(t==e)return a;let h=_n(r[t],n),c=_n(r[t+1],n);t+=i,s[a++]=h,s[a++]=c;let d,f;do if(d=_n(r[t],n),f=_n(r[t+1],n),t+=i,t==e)return s[a++]=d,s[a++]=f,a;while(d==h&&f==c);for(;t<e;){const p=_n(r[t],n),_=_n(r[t+1],n);if(t+=i,p==d&&_==f)continue;const y=d-h,v=f-c,E=p-h,T=_-c;if(y*T==v*E&&(y<0&&E<y||y==E||y>0&&E>y)&&(v<0&&T<v||v==T||v>0&&T>v)){d=p,f=_;continue}s[a++]=d,s[a++]=f,h=d,c=f,d=p,f=_}return s[a++]=d,s[a++]=f,a}function al(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=sy(r,t,f,i,n,s,a),h.push(a),t=f}return a}function oy(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c],p=[];a=al(r,t,f,i,n,s,a,p),h.push(p),t=f[f.length-1]}return a}function Di(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=t;a<e;a+=i)n[s++]=r.slice(a,a+i);return n.length=s,n}function Ir(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[s++]=Di(r,t,c,i,n[s]),t=c}return n.length=s,n}function ll(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[s++]=c.length===1&&c[0]===t?[]:Ir(r,t,c,i,n[s]),t=c[c.length-1]}return n.length=s,n}function ku(r,t,e,i){let n=0,s=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=a*h-s*c,s=h,a=c}return n/2}function Ru(r,t,e,i){let n=0;for(let s=0,a=e.length;s<a;++s){const h=e[s];n+=ku(r,t,h,i),t=h}return n}function ay(r,t,e,i){let n=0;for(let s=0,a=e.length;s<a;++s){const h=e[s];n+=Ru(r,t,h,i),t=h[h.length-1]}return n}class ao extends gn{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 ao(this.flatCoordinates.slice(),this.layout)}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(nl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),sl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,t,e,i,n))}getArea(){return ku(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return Di(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(t){const e=[];return e.length=oo(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new ao(e,"XY")}getType(){return"LinearRing"}intersectsExtent(t){return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=so(this.flatCoordinates,0,t,this.stride),this.changed()}}const Au=ao;class hl extends gn{constructor(t,e){super(),this.setCoordinates(t,e)}clone(){const t=new hl(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){const s=this.flatCoordinates,a=un(t,e,s[0],s[1]);if(a<n){const h=this.stride;for(let c=0;c<h;++c)i[c]=s[c];return i.length=h,a}return n}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(t){return Kc(this.flatCoordinates,t)}getType(){return"Point"}intersectsExtent(t){return Ga(t,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(t,e){this.setLayout(e,t,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ry(this.flatCoordinates,0,t,this.stride),this.changed()}}const lo=hl;function ly(r,t,e,i,n){return!Qc(n,function(a){return!mn(r,t,e,i,a[0],a[1])})}function mn(r,t,e,i,n,s){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<=s?f>s&&(d-h)*(s-c)-(n-h)*(f-c)>0&&a++:f<=s&&(d-h)*(s-c)-(n-h)*(f-c)<0&&a--,h=d,c=f}return a!==0}function cl(r,t,e,i,n,s){if(e.length===0||!mn(r,t,e[0],i,n,s))return!1;for(let a=1,h=e.length;a<h;++a)if(mn(r,e[a-1],e[a],i,n,s))return!1;return!0}function hy(r,t,e,i,n,s){if(e.length===0)return!1;for(let a=0,h=e.length;a<h;++a){const c=e[a];if(cl(r,t,c,i,n,s))return!0;t=c[c.length-1]}return!1}function ul(r,t,e,i,n,s,a){let h,c,d,f,p,_,y;const v=n[s+1],E=[];for(let w=0,b=e.length;w<b;++w){const C=e[w];for(f=r[C-i],_=r[C-i+1],h=t;h<C;h+=i)p=r[h],y=r[h+1],(v<=_&&y<=v||_<=v&&v<=y)&&(d=(v-_)/(y-_)*(p-f)+f,E.push(d)),f=p,_=y}let T=NaN,M=-1/0;for(E.sort(Pi),f=E[0],h=1,c=E.length;h<c;++h){p=E[h];const w=Math.abs(p-f);w>M&&(d=(f+p)/2,cl(r,t,e,i,d,v)&&(T=d,M=w)),f=p}return isNaN(T)&&(T=n[s]),a?(a.push(T,v,M),a):[T,v,M]}function Iu(r,t,e,i,n){let s=[];for(let a=0,h=e.length;a<h;++a){const c=e[a];s=ul(r,t,c,i,n,2*a,s),t=c[c.length-1]}return s}function Du(r,t,e,i,n){let s;for(t+=i;t<e;t+=i)if(s=n(r.slice(t-i,t),r.slice(t,t+i)),s)return s;return!1}function ho(r,t,e,i,n){const s=Jc(xe(),r,t,e,i);return ce(n,s)?hn(n,s)||s[0]>=n[0]&&s[2]<=n[2]||s[1]>=n[1]&&s[3]<=n[3]?!0:Du(r,t,e,i,function(a,h){return bm(n,a,h)}):!1}function cy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){if(ho(r,t,e[s],i,n))return!0;t=e[s]}return!1}function Ou(r,t,e,i,n){return!!(ho(r,t,e,i,n)||mn(r,t,e,i,n[0],n[1])||mn(r,t,e,i,n[0],n[3])||mn(r,t,e,i,n[2],n[1])||mn(r,t,e,i,n[2],n[3]))}function Fu(r,t,e,i,n){if(!Ou(r,t,e[0],i,n))return!1;if(e.length===1)return!0;for(let s=1,a=e.length;s<a;++s)if(ly(r,e[s-1],e[s],i,n)&&!ho(r,e[s-1],e[s],i,n))return!1;return!0}function uy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];if(Fu(r,t,h,i,n))return!0;t=h[h.length-1]}return!1}function dy(r,t,e,i){for(;t<e-i;){for(let n=0;n<i;++n){const s=r[t+n];r[t+n]=r[e-i+n],r[e-i+n]=s}t+=i,e-=i}}function dl(r,t,e,i){let n=0,s=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=(h-s)*(c+a),s=h,a=c}return n===0?void 0:n>0}function fl(r,t,e,i,n){n=n!==void 0?n:!1;for(let s=0,a=e.length;s<a;++s){const h=e[s],c=dl(r,t,h,i);if(s===0){if(n&&c||!n&&!c)return!1}else if(n&&!c||!n&&c)return!1;t=h}return!0}function zu(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];if(!fl(r,t,h,i,n))return!1;h.length&&(t=h[h.length-1])}return!0}function co(r,t,e,i,n){n=n!==void 0?n:!1;for(let s=0,a=e.length;s<a;++s){const h=e[s],c=dl(r,t,h,i);(s===0?n&&c||!n&&!c:n&&!c||!n&&c)&&dy(r,t,h,i),t=h}return t}function gl(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s)t=co(r,t,e[s],i,n);return t}function fy(r,t){const e=[];let i=0,n=0,s;for(let a=0,h=t.length;a<h;++a){const c=t[a],d=dl(r,i,c,2);if(s===void 0&&(s=d),d===s)e.push(t.slice(n,a+1));else{if(e.length===0)continue;e[e.length-1].push(t[n])}n=a+1,i=c}return e}class Oi extends gn{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?We(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new Oi(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(rl(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ol(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return cl(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,e)}getArea(){return Ru(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),co(e,0,this.ends_,this.stride,t)):e=this.flatCoordinates,Ir(e,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const t=Ri(this.getExtent());this.flatInteriorPoint_=ul(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new lo(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(t){return t<0||this.ends_.length<=t?null:new Au(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 s=0;for(let a=0,h=i.length;a<h;++a){const c=i[a],d=new Au(e.slice(s,c),t);n.push(d),s=c}return n}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;fl(t,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=co(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=al(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(t),e,0,i),new Oi(e,"XY",i)}getType(){return"Polygon"}intersectsExtent(t){return Fu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Ar(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}function Nu(r){if($s(r))throw new Error("Cannot create polygon from empty extent");const t=r[0],e=r[1],i=r[2],n=r[3],s=[t,e,t,n,i,n,i,e,t,e];return new Oi(s,"XY",[s.length])}const pl=0;class gy extends Re{constructor(t){super(),this.on,this.once,this.un,t=Object.assign({},t),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=qa(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&&ru(),t.center&&(t.center=hi(t.center,this.projection_)),t.extent&&(t.extent=fn(t.extent,this.projection_)),this.applyOptions_(t)}applyOptions_(t){const e=Object.assign({},t);for(const h in Ae)delete e[h];this.setProperties(e,!0);const i=_y(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=py(t),s=i.constraint,a=my(t);this.constraints_={center:n,resolution:s,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 s=this.getResolution(),a=s/2*(n[3]-e[3]+e[1]-n[1]),h=s/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=hi(n.center,this.getProjection())),n.anchor&&(n=Object.assign({},n),n.anchor=hi(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&&uo(i,!0);return}let s=Date.now(),a=this.targetCenter_.slice(),h=this.targetResolution_,c=this.targetRotation_;const d=[];for(;n<e;++n){const f=arguments[n],p={start:s,complete:!1,anchor:f.anchor,duration:f.duration!==void 0?f.duration:1e3,easing:f.easing||jm,callback:i};if(f.center&&(p.sourceCenter=a,p.targetCenter=f.center.slice(),a=p.targetCenter),f.zoom!==void 0?(p.sourceResolution=h,p.targetResolution=this.getResolutionForZoom(f.zoom),h=p.targetResolution):f.resolution&&(p.sourceResolution=h,p.targetResolution=f.resolution,h=p.targetResolution),f.rotation!==void 0){p.sourceRotation=c;const _=Bn(f.rotation-c+Math.PI,2*Math.PI)-Math.PI;p.targetRotation=c+_,c=p.targetRotation}yy(p)?p.complete=!0:s+=p.duration,d.push(p)}this.animations_.push(d),this.setHint(Zt.ANIMATING,1),this.updateAnimations_()}getAnimating(){return this.hints_[Zt.ANIMATING]>0}getInteracting(){return this.hints_[Zt.INTERACTING]>0}cancelAnimations(){this.setHint(Zt.ANIMATING,-this.hints_[Zt.ANIMATING]);let t;for(let e=0,i=this.animations_.length;e<i;++e){const n=this.animations_[e];if(n[0].callback&&uo(n[0].callback,!1),!t)for(let s=0,a=n.length;s<a;++s){const h=n[s];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 s=!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):s=!1;const p=c.easing(f);if(c.sourceCenter){const _=c.sourceCenter[0],y=c.sourceCenter[1],v=c.targetCenter[0],E=c.targetCenter[1];this.nextCenter_=c.targetCenter;const T=_+p*(v-_),M=y+p*(E-y);this.targetCenter_=[T,M]}if(c.sourceResolution&&c.targetResolution){const _=p===1?c.targetResolution:c.sourceResolution+p*(c.targetResolution-c.sourceResolution);if(c.anchor){const y=this.getViewportSize_(this.getRotation()),v=this.constraints_.resolution(_,0,y,!0);this.targetCenter_=this.calculateCenterZoom(v,c.anchor)}this.nextResolution_=c.targetResolution,this.targetResolution_=_,this.applyTargetState_(!0)}if(c.sourceRotation!==void 0&&c.targetRotation!==void 0){const _=p===1?Bn(c.targetRotation+Math.PI,2*Math.PI)-Math.PI:c.sourceRotation+p*(c.targetRotation-c.sourceRotation);if(c.anchor){const y=this.constraints_.rotation(_,!0);this.targetCenter_=this.calculateCenterRotate(y,c.anchor)}this.nextRotation_=c.targetRotation,this.targetRotation_=_}if(this.applyTargetState_(!0),e=!0,!c.complete)break}if(s){this.animations_[i]=null,this.setHint(Zt.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const a=n[0].callback;a&&uo(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]],Xa(i,t-this.getRotation()),Sm(i,e)),i}calculateCenterZoom(t,e){let i;const n=this.getCenterInternal(),s=this.getResolution();if(n!==void 0&&s!==void 0){const a=e[0]-t*(e[0]-n[0])/s,h=e[1]-t*(e[1]-n[1])/s;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&&Qa(t,this.getProjection())}getCenterInternal(){return this.get(Ae.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 cu(e,this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();mt(e,"The view center is not defined");const i=this.getResolution();mt(i!==void 0,"The view resolution is not defined");const n=this.getRotation();return mt(n!==void 0,"The view rotation is not defined"),Wa(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(Ae.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(fn(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=Mt(t)/e[0],n=we(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(s){return e/Math.pow(t,s*n)}}getRotation(){return this.get(Ae.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,s=Math.log(i/n)/e;return function(a){return Math.log(i/a)/e/s}}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 s=this.padding_;if(s){const a=this.getViewportSizeMinusPadding_();n=_l(n,this.getViewportSize_(),[a[0]/2+s[3],a[1]/2+s[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 s=za(this.resolutions_,t,1);e=s,i=this.resolutions_[s],s==this.resolutions_.length-1?n=2:n=i/this.resolutions_[s+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=Dt(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,Dt(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(mt(Array.isArray(t)||typeof t.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){mt(!$s(t),"Cannot fit empty extent provided as `geometry`");const n=fn(t,this.getProjection());i=Nu(n)}else if(t.getType()==="Circle"){const n=fn(t.getExtent(),this.getProjection());i=Nu(n),i.rotate(this.getRotation(),Ri(n))}else i=t;this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),n=Math.sin(-e),s=t.getFlatCoordinates(),a=t.getStride();let h=1/0,c=1/0,d=-1/0,f=-1/0;for(let p=0,_=s.length;p<_;p+=a){const y=s[p]*i-s[p+1]*n,v=s[p]*n+s[p+1]*i;h=Math.min(h,y),c=Math.min(c,v),d=Math.max(d,y),f=Math.max(f,v)}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],s=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,s?0:1);const d=this.getRotation(),f=Math.sin(d),p=Math.cos(d),_=Ri(h);_[0]+=(n[1]-n[3])/2*c,_[1]+=(n[0]-n[2])/2*c;const y=_[0]*p-_[1]*f,v=_[1]*p+_[0]*f,E=this.getConstrainedCenter([y,v],c),T=e.callback?e.callback:In;e.duration!==void 0?this.animateInternal({resolution:c,center:E,duration:e.duration,easing:e.easing},T):(this.targetResolution_=c,this.targetCenter_=E,this.applyTargetState_(!1,!0),uo(T,!0))}centerOn(t,e,i){this.centerOnInternal(hi(t,this.getProjection()),e,i)}centerOnInternal(t,e,i){this.setCenterInternal(_l(t,e,i,this.getResolution(),this.getRotation()))}calculateCenterShift(t,e,i,n){let s;const a=this.padding_;if(a&&t){const h=this.getViewportSizeMinusPadding_(-i),c=_l(t,n,[h[0]/2+a[3],h[1]/2+a[0]],e,i);s=[t[0]-c[0],t[1]-c[1]]}return s}isDef(){return!!this.getCenterInternal()&&this.getResolution()!==void 0}adjustCenter(t){const e=Qa(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&&hi(e,this.getProjection()),this.adjustResolutionInternal(t,e)}adjustResolutionInternal(t,e){const i=this.getAnimating()||this.getInteracting(),n=this.getViewportSize_(this.getRotation()),s=this.constraints_.resolution(this.targetResolution_*t,0,n,i);e&&(this.targetCenter_=this.calculateCenterZoom(s,e)),this.targetResolution_*=t,this.applyTargetState_()}adjustZoom(t,e){this.adjustResolution(Math.pow(this.zoomFactor_,-t),e)}adjustRotation(t,e){e&&(e=hi(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&&hi(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),s=this.getViewportSize_(n),a=this.constraints_.resolution(this.targetResolution_,0,s,i),h=this.constraints_.center(this.targetCenter_,a,s,i,this.calculateCenterShift(this.targetCenter_,a,n,s));this.get(Ae.ROTATION)!==n&&this.set(Ae.ROTATION,n),this.get(Ae.RESOLUTION)!==a&&(this.set(Ae.RESOLUTION,a),this.set("zoom",this.getZoom(),!0)),(!h||!this.get(Ae.CENTER)||!no(this.get(Ae.CENTER),h))&&this.set(Ae.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,s=this.constraints_.rotation(this.targetRotation_),a=this.getViewportSize_(s),h=this.constraints_.resolution(this.targetResolution_,n,a),c=this.constraints_.center(this.targetCenter_,h,a,!1,this.calculateCenterShift(this.targetCenter_,h,s,a));if(t===0&&!this.cancelAnchor_){this.targetResolution_=h,this.targetRotation_=s,this.targetCenter_=c,this.applyTargetState_();return}i=i||(t===0?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,(this.getResolution()!==h||this.getRotation()!==s||!this.getCenterInternal()||!no(this.getCenterInternal(),c))&&(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:s,center:c,resolution:h,duration:t,easing:Gn,anchor:i}))}beginInteraction(){this.resolveConstraints(0),this.setHint(Zt.INTERACTING,1)}endInteraction(t,e,i){i=i&&hi(i,this.getProjection()),this.endInteractionInternal(t,e,i)}endInteractionInternal(t,e,i){this.getInteracting()&&(this.setHint(Zt.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 uo(r,t){setTimeout(function(){r(t)},0)}function py(r){if(r.extent!==void 0){const e=r.smoothExtentConstraint!==void 0?r.smoothExtentConstraint:!0;return uu(r.extent,r.constrainOnlyCenter,e)}const t=qa(r.projection,"EPSG:3857");if(r.multiWorld!==!0&&t.isGlobal()){const e=t.getExtent().slice();return e[0]=-1/0,e[2]=1/0,uu(e,!1,!1)}return zm}function _y(r){let t,e,i,a=r.minZoom!==void 0?r.minZoom:pl,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,p=r.showFullExtent!==void 0?r.showFullExtent:!1,_=qa(r.projection,"EPSG:3857"),y=_.getExtent();let v=r.constrainOnlyCenter,E=r.extent;if(!d&&!E&&_.isGlobal()&&(v=!1,E=y),r.resolutions!==void 0){const T=r.resolutions;e=T[a],i=T[h]!==void 0?T[h]:T[T.length-1],r.constrainResolution?t=Nm(T,f,!v&&E,p):t=du(e,i,f,!v&&E,p)}else{const M=(y?Math.max(Mt(y),we(y)):360*Cr.degrees/_.getMetersPerUnit())/Na/Math.pow(2,pl),w=M/Math.pow(2,28-pl);e=r.maxResolution,e!==void 0?a=0:e=M/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=M/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=Bm(c,e,i,f,!v&&E,p):t=du(e,i,f,!v&&E,p)}return{constraint:t,maxResolution:e,minResolution:i,minZoom:a,zoomFactor:c}}function my(r){if(r.enableRotation!==void 0?r.enableRotation:!0){const e=r.constrainRotation;return e===void 0||e===!0?Um():e===!1?fu:typeof e=="number"?Gm(e):fu}return el}function yy(r){return!(r.sourceCenter&&r.targetCenter&&!no(r.sourceCenter,r.targetCenter)||r.sourceResolution!==r.targetResolution||r.sourceRotation!==r.targetRotation)}function _l(r,t,e,i,n){const s=Math.cos(-n);let a=Math.sin(-n),h=r[0]*s-r[1]*a,c=r[1]*s+r[0]*a;h+=(t[0]/2-e[0])*i,c+=(e[1]-t[1]/2)*i,a=-a;const d=h*s-c*a,f=c*s+h*a;return[d,f]}const He=gy,ue={ADD:"add",REMOVE:"remove"},Bu={LENGTH:"length"};class fo extends ai{constructor(t,e,i){super(t),this.element=e,this.index=i}}class vy extends Re{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(Bu.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 fo(ue.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 fo(ue.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 fo(ue.REMOVE,n,t)),this.dispatchEvent(new fo(ue.ADD,e,t))}updateLength_(){this.set(Bu.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 Ve=vy,Dr={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},$t={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};$t.max=$t.whitepoint[2].D65,$t.rgb=function(r,t){t=t||$t.whitepoint[2].E;var e=r[0]/t[0],i=r[1]/t[1],n=r[2]/t[2],s,a,h;return s=e*3.240969941904521+i*-1.537383177570093+n*-.498610760293,a=e*-.96924363628087+i*1.87596750150772+n*.041555057407175,h=e*.055630079696993+i*-.20397695888897+n*1.056971514242878,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s=s*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a=a*12.92,h=h>.0031308?1.055*Math.pow(h,1/2.4)-.055:h=h*12.92,s=Math.min(Math.max(0,s),1),a=Math.min(Math.max(0,a),1),h=Math.min(Math.max(0,h),1),[s*255,a*255,h*255]},Dr.xyz=function(r,t){var e=r[0]/255,i=r[1]/255,n=r[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var s=e*.41239079926595+i*.35758433938387+n*.18048078840183,a=e*.21263900587151+i*.71516867876775+n*.072192315360733,h=e*.019330818715591+i*.11919477979462+n*.95053215224966;return t=t||$t.whitepoint[2].E,[s*t[0],a*t[1],h*t[2]]};var ml={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(r,t,e){var i,n,s,a,h,c,d,f,p,_,y,v,E;if(s=r[0],a=r[1],h=r[2],s===0)return[0,0,0];var T=.0011070564598794539;return t=t||"D65",e=e||2,p=$t.whitepoint[e][t][0],_=$t.whitepoint[e][t][1],y=$t.whitepoint[e][t][2],v=4*p/(p+15*_+3*y),E=9*_/(p+15*_+3*y),i=a/(13*s)+v||0,n=h/(13*s)+E||0,d=s>8?_*Math.pow((s+16)/116,3):_*s*T,c=d*9*i/(4*n)||0,f=d*(12-3*i-20*n)/(4*n)||0,[c,d,f]}};$t.luv=function(r,t,e){var i,n,s,a,h,c,d,f,p,_,y,v,E,T=.008856451679035631,M=903.2962962962961;t=t||"D65",e=e||2,p=$t.whitepoint[e][t][0],_=$t.whitepoint[e][t][1],y=$t.whitepoint[e][t][2],v=4*p/(p+15*_+3*y),E=9*_/(p+15*_+3*y),c=r[0],d=r[1],f=r[2],i=4*c/(c+15*d+3*f)||0,n=9*d/(c+15*d+3*f)||0;var w=d/_;return s=w<=T?M*w:116*Math.pow(w,1/3)-16,a=13*s*(i-v),h=13*s*(n-E),[s,a,h]};var Gu={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(r){var t=r[0],e=r[1],i=r[2],n,s,a;return a=i/360*2*Math.PI,n=e*Math.cos(a),s=e*Math.sin(a),[t,n,s]},xyz:function(r){return ml.xyz(Gu.luv(r))}};ml.lchuv=function(r){var t=r[0],e=r[1],i=r[2],n=Math.sqrt(e*e+i*i),s=Math.atan2(i,e),a=s*360/2/Math.PI;return a<0&&(a+=360),[t,n,a]},$t.lchuv=function(r){return ml.lchuv($t.luv(r))};const Uu={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var ju={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function xy(r){var f,p;var t,e=[],i=1,n;if(typeof r=="number")return{space:"rgb",values:[r>>>16,(r&65280)>>>8,r&255],alpha:1};if(typeof r=="number")return{space:"rgb",values:[r>>>16,(r&65280)>>>8,r&255],alpha:1};if(r=String(r).toLowerCase(),Uu[r])e=Uu[r].slice(),n="rgb";else if(r==="transparent")i=0,n="rgb",e=[0,0,0];else if(r[0]==="#"){var s=r.slice(1),a=s.length,h=a<=4;i=1,h?(e=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],a===4&&(i=parseInt(s[3]+s[3],16)/255)):(e=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],a===8&&(i=parseInt(s[6]+s[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),n="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(r)){var c=t[1];n=c.replace(/a$/,"");var d=n==="cmyk"?4:n==="gray"?1:3;e=t[2].trim().split(/\s*[,\/]\s*|\s+/),n==="color"&&(n=e.shift()),e=e.map(function(_,y){if(_[_.length-1]==="%")return _=parseFloat(_)/100,y===3?_:n==="rgb"?_*255:n[0]==="h"||n[0]==="l"&&!y?_*100:n==="lab"?_*125:n==="lch"?y<2?_*150:_*360:n[0]==="o"&&!y?_:n==="oklab"?_*.4:n==="oklch"?y<2?_*.4:_*360:_;if(n[y]==="h"||y===2&&n[n.length-1]==="h"){if(ju[_]!==void 0)return ju[_];if(_.endsWith("deg"))return parseFloat(_);if(_.endsWith("turn"))return parseFloat(_)*360;if(_.endsWith("grad"))return parseFloat(_)*360/400;if(_.endsWith("rad"))return parseFloat(_)*180/Math.PI}return _==="none"?0:parseFloat(_)}),i=e.length>d?e.pop():1}else/[0-9](?:\s|\/|,)/.test(r)&&(e=r.match(/([0-9]+)/g).map(function(_){return parseFloat(_)}),n=((p=(f=r.match(/([a-z])/ig))==null?void 0:f.join(""))==null?void 0:p.toLowerCase())||"rgb");return{space:n,values:e,alpha:i}}var yl={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(r){var t=r[0]/360,e=r[1]/100,i=r[2]/100,n,s,a,h,c,d=0;if(e===0)return c=i*255,[c,c,c];for(s=i<.5?i*(1+e):i+e-i*e,n=2*i-s,h=[0,0,0];d<3;)a=t+1/3*-(d-1),a<0?a++:a>1&&a--,c=6*a<1?n+(s-n)*6*a:2*a<1?s:3*a<2?n+(s-n)*(2/3-a)*6:n,h[d++]=c*255;return h}};Dr.hsl=function(r){var t=r[0]/255,e=r[1]/255,i=r[2]/255,n=Math.min(t,e,i),s=Math.max(t,e,i),a=s-n,h,c,d;return s===n?h=0:t===s?h=(e-i)/a:e===s?h=2+(i-t)/a:i===s&&(h=4+(t-e)/a),h=Math.min(h*60,360),h<0&&(h+=360),d=(n+s)/2,s===n?c=0:d<=.5?c=a/(s+n):c=a/(2-s-n),[h,c*100,d*100]};function wy(r){Array.isArray(r)&&r.raw&&(r=String.raw(...arguments)),r instanceof Number&&(r=+r);var t,e=xy(r);if(!e.space)return[];const i=e.space[0]==="h"?yl.min:Dr.min,n=e.space[0]==="h"?yl.max:Dr.max;return t=Array(3),t[0]=Math.min(Math.max(e.values[0],i[0]),n[0]),t[1]=Math.min(Math.max(e.values[1],i[1]),n[1]),t[2]=Math.min(Math.max(e.values[2],i[2]),n[2]),e.space[0]==="h"&&(t=yl.rgb(t)),t.push(Math.min(Math.max(e.alpha,0),1)),t}function Zu(r){return typeof r=="string"?r:Vu(r)}const Ey=1024,Or={};let vl=0;function Ly(r){if(r.length===4)return r;const t=r.slice();return t[3]=1,t}function Wu(r){const t=$t.lchuv(Dr.xyz(r));return t[3]=r[3],t}function by(r){const t=$t.rgb(Gu.xyz(r));return t[3]=r[3],t}function xl(r){if(Or.hasOwnProperty(r))return Or[r];if(vl>=Ey){let e=0;for(const i in Or)e++&3||(delete Or[i],--vl)}const t=wy(r);if(t.length!==4)throw new Error('Failed to parse "'+r+'" as color');for(const e of t)if(isNaN(e))throw new Error('Failed to parse "'+r+'" as color');return Hu(t),Or[r]=t,++vl,t}function Fr(r){return Array.isArray(r)?r:xl(r)}function Hu(r){return r[0]=Dt(r[0]+.5|0,0,255),r[1]=Dt(r[1]+.5|0,0,255),r[2]=Dt(r[2]+.5|0,0,255),r[3]=Dt(r[3],0,1),r}function Vu(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+")"}function Ty(r){try{return xl(r),!0}catch{return!1}}class Cy{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=Xu(t,e,i);return n in this.cache_?this.cache_[n]:null}set(t,e,i,n){const s=Xu(t,e,i);this.cache_[s]=n,++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function Xu(r,t,e){const i=e?Zu(e):"null";return t+":"+r+":"+i}const go=new Cy,bt={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 My extends Re{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[bt.OPACITY]=t.opacity!==void 0?t.opacity:1,mt(typeof e[bt.OPACITY]=="number","Layer opacity must be a number"),e[bt.VISIBLE]=t.visible!==void 0?t.visible:!0,e[bt.Z_INDEX]=t.zIndex,e[bt.MAX_RESOLUTION]=t.maxResolution!==void 0?t.maxResolution:1/0,e[bt.MIN_RESOLUTION]=t.minResolution!==void 0?t.minResolution:0,e[bt.MIN_ZOOM]=t.minZoom!==void 0?t.minZoom:-1/0,e[bt.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=Dt(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 rt()}getLayerStatesArray(t){return rt()}getExtent(){return this.get(bt.EXTENT)}getMaxResolution(){return this.get(bt.MAX_RESOLUTION)}getMinResolution(){return this.get(bt.MIN_RESOLUTION)}getMinZoom(){return this.get(bt.MIN_ZOOM)}getMaxZoom(){return this.get(bt.MAX_ZOOM)}getOpacity(){return this.get(bt.OPACITY)}getSourceState(){return rt()}getVisible(){return this.get(bt.VISIBLE)}getZIndex(){return this.get(bt.Z_INDEX)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(bt.EXTENT,t)}setMaxResolution(t){this.set(bt.MAX_RESOLUTION,t)}setMinResolution(t){this.set(bt.MIN_RESOLUTION,t)}setMaxZoom(t){this.set(bt.MAX_ZOOM,t)}setMinZoom(t){this.set(bt.MIN_ZOOM,t)}setOpacity(t){mt(typeof t=="number","Layer opacity must be a number"),this.set(bt.OPACITY,t)}setVisible(t){this.set(bt.VISIBLE,t)}setZIndex(t){this.set(bt.Z_INDEX,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const Yu=My,te={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"};class Sy extends Yu{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(bt.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(bt.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_&&(Ct(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const t=this.getSource();t&&(this.sourceChangeKey_=ft(t,lt.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 He?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 s=this.getExtent();return wl(n,e.viewState)&&(!s||ce(s,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 He?t.getViewStateAndExtent():t;let s=e(n);return Array.isArray(s)||(s=[s]),s}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(bt.MAP,t)}getMapInternal(){return this.get(bt.MAP)}setMap(t){this.mapPrecomposeKey_&&(Ct(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(Ct(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=ft(t,te.PRECOMPOSE,function(e){const n=e.frameState.layerStatesArray,s=this.getLayerState(!1);mt(!n.some(function(a){return a.layer===s.layer}),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),n.push(s)},this),this.mapRenderKey_=ft(this,lt.CHANGE,t.render,t),this.changed())}setSource(t){this.set(bt.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 wl(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 po=Sy;class Py extends Us{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){rt()}calculateMatrices2D(t){const e=t.viewState,i=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;Ie(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),ro(n,i)}forEachFeatureAtCoordinate(t,e,i,n,s,a,h,c){let d;const f=e.viewState;function p(C,P,R,D){return s.call(a,P,C?R:null,D)}const _=f.projection,y=tu(t.slice(),_),v=[[0,0]];if(_.canWrapX()&&n){const C=_.getExtent(),P=Mt(C);v.push([-P,0],[P,0])}const E=e.layerStatesArray,T=E.length,M=[],w=[];for(let C=0;C<v.length;C++)for(let P=T-1;P>=0;--P){const R=E[P],D=R.layer;if(D.hasRenderer()&&wl(R,f)&&h.call(c,D)){const O=D.getRenderer(),G=D.getSource();if(O&&G){const X=G.getWrapX()?y:t,Y=p.bind(null,R.managed);w[0]=X[0]+v[C][0],w[1]=X[1]+v[C][1],d=O.forEachFeatureAtCoordinate(w,e,i,Y,M)}if(d)return d}}if(M.length===0)return;const b=1/M.length;return M.forEach((C,P)=>C.distanceSq+=P*b),M.sort((C,P)=>C.distanceSq-P.distanceSq),M.some(C=>d=C.callback(C.feature,C.layer,C.geometry)),d}hasFeatureAtCoordinate(t,e,i,n,s,a){return this.forEachFeatureAtCoordinate(t,e,i,n,Tr,this,s,a)!==void 0}getMap(){return this.map_}renderFrame(t){rt()}flushDeclutterItems(t){}scheduleExpireIconCache(t){go.canExpireCache()&&t.postRenderFunctions.push(ky)}}function ky(r,t){go.expire()}const Ry=Py;class Ay extends ai{constructor(t,e,i,n){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=n}}const zr=Ay,_o="ol-hidden",Iy="ol-selectable",Nr="ol-unselectable",Ku="ol-unsupported",mo="ol-control",qu="ol-collapsed",Dy=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"),Ju=["style","variant","weight","size","lineHeight","family"],Qu=function(r){const t=r.match(Dy);if(!t)return null;const e={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let i=0,n=Ju.length;i<n;++i){const s=t[i+1];s!==void 0&&(e[Ju[i]]=s)}return e.families=e.family.split(/,\s?/),e};function ee(r,t,e,i){let n;return e&&e.length?n=e.shift():il?n=new OffscreenCanvas(r||300,t||300):n=document.createElement("canvas"),r&&(n.width=r),t&&(n.height=t),n.getContext("2d",i)}function yo(r){const t=r.canvas;t.width=1,t.height=1,r.clearRect(0,0,1,1)}function Oy(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 vo(r,t){const e=t.parentNode;e&&e.replaceChild(r,t)}function xo(r){return r&&r.parentNode?r.parentNode.removeChild(r):null}function $u(r){for(;r.lastChild;)r.removeChild(r.lastChild)}function zy(r,t){const e=r.childNodes;for(let i=0;;++i){const n=e[i],s=t[i];if(!n&&!s)break;if(n!==s){if(!n){r.appendChild(s);continue}if(!s){r.removeChild(n),--i;continue}r.insertBefore(s,n)}}}const td="10px sans-serif",de="#000",Un="round",ci=[],ui=0,jn="round",Br=10,Gr="#000",Ur="center",wo="middle",yn=[0,0,0,0],jr=1,di=new Re;let Zn=null,El;const Ll={},Ny=function(){const t="32px ",e=["monospace","serif"],i=e.length,n="wmytzilWMYTZIL@#/&?$%10";let s,a;function h(d,f,p){let _=!0;for(let y=0;y<i;++y){const v=e[y];if(a=Eo(d+" "+f+" "+t+v,n),p!=v){const E=Eo(d+" "+f+" "+t+p+","+v,n);_=_&&E!=a}}return!!_}function c(){let d=!0;const f=di.getKeys();for(let p=0,_=f.length;p<_;++p){const y=f[p];di.get(y)<100&&(h.apply(this,y.split(`
16
- `))?(Dn(Ll),Zn=null,El=void 0,di.set(y,100)):(di.set(y,di.get(y)+1,!0),d=!1))}d&&(clearInterval(s),s=void 0)}return function(d){const f=Qu(d);if(!f)return;const p=f.families;for(let _=0,y=p.length;_<y;++_){const v=p[_],E=f.style+`
13
+ */(function(t,e){r.exports?r.exports=e(K,lp):e(t.L,t.screenfull)})(typeof self<"u"?self:ri,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",s,a="";return i.zoomControl&&!this.options.forceSeparateButton?s=i.zoomControl._container:s=t.DomUtil.create("div","leaflet-bar"),this.options.content?a=this.options.content:n+=" fullscreen-icon",this._createButton(this.options.title,n,a,s,this.toggleFullScreen,this),this._map.fullscreenControl=this,this._map.on("enterFullscreen exitFullscreen",this._toggleState,this),s},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,s,a,h,c){return this.link=t.DomUtil.create("a",n,a),this.link.href="#",this.link.title=i,this.link.innerHTML=s,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}})})(ap);const hp=X.defineComponent({name:"CoordinatesVerifyPolygon",props:{dataPolygon:Object,iconMarker:Object,coordinatesMap:Array,checkPointInPolygon:Function},data(){return{markerIconDefault:{iconUrl:ws,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(p=>[p[1],p[0]]),e=JSON.parse(JSON.stringify(t)),i=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],n=K.map("maps",{fullscreenControl:!0}).setView([this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],this.coordinatesMap?this.coordinatesMap[2]:0);K.tileLayer("https://tile.openstreetmaps.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(n),K.polygon(e).addTo(n);const s=[this.coordinatesMap?this.coordinatesMap[0]:0,this.coordinatesMap?this.coordinatesMap[1]:0],a=K.icon(r);K.marker(s,{icon:a}).addTo(n);const h=jg(i),c=Ug([t]),d=Yg(h,c);this.checkPointInPolygon&&this.checkPointInPolygon(d)}}}),_L="",Ea=(r,t)=>{const e=r.__vccOpts||r;for(const[i,n]of t)e[i]=n;return e},cp={ref:"maps",id:"maps"};function up(r,t,e,i,n,s){return X.openBlock(),X.createElementBlock("div",cp,null,512)}const dp=Ea(hp,[["render",up]]),ac="data:image/png;base64,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",lc="data:image/png;base64,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",hc="data:image/png;base64,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",fp="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNS4yNSA3LjcwMDMxQzUuMjUgNC4xMDIxNSA4LjMwODc2IDEuMjUgMTIgMS4yNUMxNS42MDggMS4yNSAxOC42MTE2IDMuOTc0ODggMTguNzQ1NCA3LjQ1Nzg4TDE5LjIyMzEgNy42MTcxNEMxOS42ODYzIDcuNzcxNDggMjAuMDkyMiA3LjkwNjc2IDIwLjQxNDIgOC4wNTY1N0MyMC43NjIzIDguMjE4NTMgMjEuMDgxNCA4LjQyNzE0IDIxLjMyNTMgOC43NjU1NEMyMS41NjkyIDkuMTAzOTQgMjEuNjY2MiA5LjQ3MjU5IDIxLjcwOTggOS44NTQwN0MyMS43NTAxIDEwLjIwNyAyMS43NSAxMC42MzQ4IDIxLjc1IDExLjEyM1YxNi44NzEyQzIxLjc1IDE3LjQ4MDYgMjEuNzUwMSAxOC4wMDA1IDIxLjcwMjggMTguNDE3NkMyMS42NTMgMTguODU2MyAyMS41NDE4IDE5LjI4NzUgMjEuMjQwNCAxOS42NTUzQzIxLjA2NzQgMTkuODY2NSAyMC44NTczIDIwLjA0NDUgMjAuNjIwNSAyMC4xODA1QzIwLjIwODEgMjAuNDE3MyAxOS43NjQ1IDIwLjQ1NjEgMTkuMzIzNiAyMC40MzNDMTguOTA0NCAyMC40MTExIDE4LjM5MTUgMjAuMzI1NiAxNy43OTA0IDIwLjIyNTRMMTcuNzQ4OCAyMC4yMTg1QzE2LjQ1NiAyMC4wMDMgMTUuOTM1MSAxOS45MjE2IDE1LjQyNzQgMTkuOTY0MUMxNS4yNDE3IDE5Ljk3OTYgMTUuMDU3MSAyMC4wMDc0IDE0Ljg3NSAyMC4wNDcxQzE0LjM3NzQgMjAuMTU1OCAxMy44OTg4IDIwLjM4OTEgMTIuNzE2IDIwLjk4MDVDMTIuNjc0OSAyMS4wMDExIDEyLjYzNDIgMjEuMDIxNCAxMi41OTQgMjEuMDQxNUMxMS4yMTE0IDIxLjczMzEgMTAuMzU5NSAyMi4xNTkyIDkuNDQwMzEgMjIuMjkyM0M5LjE2Mzg0IDIyLjMzMjMgOC44ODQ4MiAyMi4zNTIyIDguNjA1NDYgMjIuMzUxNkM3LjY3NjY4IDIyLjM0OTkgNi43Nzk5NSAyMi4wNTA4IDUuMzI1MzYgMjEuNTY1N0M1LjI4MzI4IDIxLjU1MTcgNS4yNDA3NCAyMS41Mzc1IDUuMTk3NzIgMjEuNTIzMUw0LjgxNDE1IDIxLjM5NTNMNC43NzY4NCAyMS4zODI4QzQuMzEzNzMgMjEuMjI4NSAzLjkwNzgzIDIxLjA5MzIgMy41ODU4IDIwLjk0MzRDMy4yMzc2NiAyMC43ODE1IDIuOTE4NjEgMjAuNTcyOSAyLjY3NDcxIDIwLjIzNDVDMi40MzA4IDE5Ljg5NjEgMi4zMzM3OSAxOS41Mjc0IDIuMjkwMjQgMTkuMTQ1OUMyLjI0OTk1IDE4Ljc5MyAyLjI0OTk3IDE4LjM2NTIgMi4yNSAxNy44NzdMMi4yNSAxMi44NTcyQzIuMjQ5OTcgMTIuMDcxMSAyLjI0OTk0IDExLjQwODUgMi4zMTcyOSAxMC44ODk1QzIuMzg3NTkgMTAuMzQ3OCAyLjU0NjUyIDkuODE4MTEgMi45ODI2MiA5LjQxOThDMy4xMTA4MiA5LjMwMjcxIDMuMjUyMTMgOS4yMDA4NSAzLjQwMzc1IDkuMTE2MjZDMy45MTk1MyA4LjgyODUgNC40NzIyNiA4Ljg0NTIxIDUuMDA4NDEgOC45NDk4M0M1LjExNzE3IDguOTcxMDUgNS4yMzEwOSA4Ljk5NzE4IDUuMzUwMTkgOS4wMjc1NEM1LjI4NDExIDguNTgxNyA1LjI1IDguMTM3MjMgNS4yNSA3LjcwMDMxWk01Ljc0ODY5IDEwLjcwOTNDNS4zMjA3MiAxMC41NzEzIDQuOTkyMjQgMTAuNDc1IDQuNzIxMTMgMTAuNDIyMUM0LjMyNTk5IDEwLjM0NSA0LjE5NjQ2IDEwLjM5MTcgNC4xMzQ1OSAxMC40MjYyQzQuMDg0MDUgMTAuNDU0NCA0LjAzNjk0IDEwLjQ4ODMgMy45OTQyMSAxMC41Mjc0QzMuOTQxOSAxMC41NzUxIDMuODU2NjMgMTAuNjgzMyAzLjgwNDgyIDExLjA4MjVDMy43NTE1MSAxMS40OTMzIDMuNzUgMTIuMDU3NSAzLjc1IDEyLjkwOFYxNy44Mzc3QzMuNzUgMTguMzc2OCAzLjc1MTE0IDE4LjcxODEgMy43ODA1NSAxOC45NzU4QzMuODA3NzkgMTkuMjE0MyAzLjg1MjM0IDE5LjMwMyAzLjg5MTU3IDE5LjM1NzRDMy45MzA4IDE5LjQxMTggNC4wMDA4MyAxOS40ODIxIDQuMjE4NDkgMTkuNTgzNEM0LjQ1MzY0IDE5LjY5MjggNC43NzcwOSAxOS44MDE4IDUuMjg4NDkgMTkuOTcyM0w1LjY3MjA1IDIwLjEwMDFDNy4yOTU2MyAyMC42NDEzIDcuOTUwODkgMjAuODUwNCA4LjYwODMgMjAuODUxNkM4LjgxNDc4IDIwLjg1MiA5LjAyMTAxIDIwLjgzNzQgOS4yMjUzNyAyMC44MDc4QzkuODc1ODIgMjAuNzEzNiAxMC41MDA5IDIwLjQxMSAxMi4wNDUyIDE5LjYzODlDMTIuMDc2NSAxOS42MjMyIDEyLjEwNzQgMTkuNjA3OCAxMi4xMzggMTkuNTkyNUMxMy4xOTg3IDE5LjA2MiAxMy44NTIgMTguNzM1MiAxNC41NTUgMTguNTgxN0MxNC44MDE0IDE4LjUyNzkgMTUuMDUxIDE4LjQ5MDMgMTUuMzAyMyAxOC40NjkzQzE2LjAxOTMgMTguNDA5MyAxNi43MzQ0IDE4LjUyODYgMTcuODk0NSAxOC43MjIxQzE3LjkyNzggMTguNzI3NiAxNy45NjE0IDE4LjczMzIgMTcuOTk1NCAxOC43Mzg5QzE4LjY0OTcgMTguODQ3OSAxOS4wNzc5IDE4LjkxODEgMTkuNDAxOSAxOC45MzUxQzE5LjcxMzggMTguOTUxNCAxOS44MjEgMTguOTA5OCAxOS44NzM1IDE4Ljg3OTdDMTkuOTUyNCAxOC44MzQ0IDIwLjAyMjUgMTguNzc1IDIwLjA4MDEgMTguNzA0NkMyMC4xMTg1IDE4LjY1NzggMjAuMTc3MSAxOC41NTg5IDIwLjIxMjMgMTguMjQ4NkMyMC4yNDg5IDE3LjkyNjIgMjAuMjUgMTcuNDkyMyAyMC4yNSAxNi44MjlWMTEuMTYyM0MyMC4yNSAxMC42MjMyIDIwLjI0ODkgMTAuMjgxOSAyMC4yMTk1IDEwLjAyNDJDMjAuMTkyMiA5Ljc4NTcgMjAuMTQ3NyA5LjY5NzA0IDIwLjEwODQgOS42NDI2MUMyMC4wNjkyIDkuNTg4MTggMTkuOTk5MiA5LjUxNzg3IDE5Ljc4MTUgOS40MTY2MUMxOS41NDY0IDkuMzA3MjIgMTkuMjIyOSA5LjE5ODIxIDE4LjcxMTUgOS4wMjc3NEwxOC42NTI3IDkuMDA4MTNDMTguNDYyNSAxMC4zMDk1IDE3Ljk5OTYgMTEuNjIzMyAxNy4zMTczIDEyLjc5NTlDMTYuNDA0OCAxNC4zNjQgMTUuMDY5NyAxNS43Mjk5IDEzLjM5NzEgMTYuNDU5NUMxMi41MDk0IDE2Ljg0NjggMTEuNDkwNiAxNi44NDY4IDEwLjYwMjkgMTYuNDU5NUM4LjkzMDI3IDE1LjcyOTkgNy41OTUxOSAxNC4zNjQgNi42ODI3MyAxMi43OTU5QzYuMjk4NzEgMTIuMTM2IDUuOTg0MiAxMS40MzEzIDUuNzQ4NjkgMTAuNzA5M1pNMTIgMi43NUM5LjA2MzgzIDIuNzUgNi43NSA1LjAwMjA4IDYuNzUgNy43MDAzMUM2Ljc1IDkuMTE3NzUgNy4xODc0NCAxMC42ODA4IDcuOTc5MjIgMTIuMDQxNUM4Ljc3MTIxIDEzLjQwMjYgOS44ODc1MyAxNC41MTA5IDExLjIwMjcgMTUuMDg0N0MxMS43MDggMTUuMzA1MSAxMi4yOTIgMTUuMzA1MSAxMi43OTczIDE1LjA4NDdDMTQuMTEyNSAxNC41MTA5IDE1LjIyODggMTMuNDAyNiAxNi4wMjA4IDEyLjA0MTVDMTYuODEyNiAxMC42ODA4IDE3LjI1IDkuMTE3NzUgMTcuMjUgNy43MDAzMUMxNy4yNSA1LjAwMjA4IDE0LjkzNjIgMi43NSAxMiAyLjc1Wk0xMiA2Ljc1QzExLjMwOTYgNi43NSAxMC43NSA3LjMwOTY0IDEwLjc1IDhDMTAuNzUgOC42OTAzNiAxMS4zMDk2IDkuMjUgMTIgOS4yNUMxMi42OTA0IDkuMjUgMTMuMjUgOC42OTAzNiAxMy4yNSA4QzEzLjI1IDcuMzA5NjQgMTIuNjkwNCA2Ljc1IDEyIDYuNzVaTTkuMjUgOEM5LjI1IDYuNDgxMjIgMTAuNDgxMiA1LjI1IDEyIDUuMjVDMTMuNTE4OCA1LjI1IDE0Ljc1IDYuNDgxMjIgMTQuNzUgOEMxNC43NSA5LjUxODc4IDEzLjUxODggMTAuNzUgMTIgMTAuNzVDMTAuNDgxMiAxMC43NSA5LjI1IDkuNTE4NzggOS4yNSA4WiIgZmlsbD0iIzFDMjc0QyIvPg0KPC9zdmc+",gp="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0yMiAyMkwyIDIyIiBzdHJva2U9IiMxQzI3NEMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xNyAyMlY2QzE3IDQuMTE0MzggMTcgMy4xNzE1NyAxNi40MTQyIDIuNTg1NzlDMTUuODI4NCAyIDE0Ljg4NTYgMiAxMyAySDExQzkuMTE0MzggMiA4LjE3MTU3IDIgNy41ODU3OSAyLjU4NTc5QzcgMy4xNzE1NyA3IDQuMTE0MzggNyA2VjIyIiBzdHJva2U9IiMxQzI3NEMiIHN0cm9rZS13aWR0aD0iMS41Ii8+DQo8cGF0aCBkPSJNMjEgMjJWMTEuNUMyMSAxMC4wOTU1IDIxIDkuMzkzMzEgMjAuNjYyOSA4Ljg4ODg2QzIwLjUxNyA4LjY3MDQ4IDIwLjMyOTUgOC40ODI5OCAyMC4xMTExIDguMzM3MDZDMTkuNjA2NyA4IDE4LjkwNDUgOCAxNy41IDgiIHN0cm9rZT0iIzFDMjc0QyIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4NCjxwYXRoIGQ9Ik0zIDIyVjExLjVDMyAxMC4wOTU1IDMgOS4zOTMzMSAzLjMzNzA2IDguODg4ODZDMy40ODI5OCA4LjY3MDQ4IDMuNjcwNDggOC40ODI5OCAzLjg4ODg2IDguMzM3MDZDNC4zOTMzMSA4IDUuMDk1NTQgOCA2LjUgOCIgc3Ryb2tlPSIjMUMyNzRDIiBzdHJva2Utd2lkdGg9IjEuNSIvPg0KPHBhdGggZD0iTTEyIDIyVjE5IiBzdHJva2U9IiMxQzI3NEMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xMCA1SDE0IiBzdHJva2U9IiMxQzI3NEMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xMCA4SDE0IiBzdHJva2U9IiMxQzI3NEMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xMCAxMUgxNCIgc3Ryb2tlPSIjMUMyNzRDIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+DQo8cGF0aCBkPSJNMTAgMTRIMTQiIHN0cm9rZT0iIzFDMjc0QyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPg0KPC9zdmc+";(function(r,t,e){function i(n,s){for(;(n=n.parentElement)&&!n.classList.contains(s););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,s){this._map=n,this._container=n._container,this._overlayPane=n._panes.overlayPane,this._popupPane=n._panes.popupPane,s&&s.shapeOptions&&(s.shapeOptions=L.Util.extend({},this.options.shapeOptions,s.shapeOptions)),L.setOptions(this,s);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,s){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,s&&s.drawError&&(s.drawError=L.Util.extend({},this.options.drawError,s.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,n,s)},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(),s=this._poly,a=s.getLatLngs(),h=a.splice(-1,1)[0];this._poly.setLatLngs(a),this._markerGroup.removeLayer(n),s.getLatLngs().length<2&&this._map.removeLayer(s),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(),s=this._poly.newLatLngIntersects(n[n.length-1]);if(!this.options.allowIntersection&&s||!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 s=this._map.mouseEventToLayerPoint(n.originalEvent),a=this._map.layerPointToLatLng(s);this._currentLatLng=a,this._updateTooltip(a),this._updateGuide(s),this._mouseMarker.setLatLng(a),L.DomEvent.preventDefault(n.originalEvent)},_vertexChanged:function(n,s){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(n,s),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(n){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(n),this._clickHandled=!0,this._disableNewMarkers();var s=n.originalEvent,a=s.clientX,h=s.clientY;this._startPoint.call(this,a,h)}},_startPoint:function(n,s){this._mouseDownOrigin=L.point(n,s)},_onMouseUp:function(n){var s=n.originalEvent,a=s.clientX,h=s.clientY;this._endPoint.call(this,a,h,n),this._clickHandled=null},_endPoint:function(n,s,a){if(this._mouseDownOrigin){var h=L.point(n,s).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 s,a,h=n.originalEvent;!h.touches||!h.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(s=h.touches[0].clientX,a=h.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,s,a),this._endPoint.call(this,s,a,n),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(n){var s;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());s=h.distanceTo(d)}else s=1/0;return s},_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 s=new L.Marker(n,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(s),s},_updateGuide:function(n){var s=this._markers?this._markers.length:0;s>0&&(n=n||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[s-1].getLatLng()),n))},_updateTooltip:function(n){var s=this._getTooltipText();n&&this._tooltip.updatePosition(n),this._errorShown||this._tooltip.updateContent(s)},_drawGuide:function(n,s){var a,h,c,d=Math.floor(Math.sqrt(Math.pow(s.x-n.x,2)+Math.pow(s.y-n.y,2))),f=this.options.guidelineDistance,p=this.options.maxGuideLineLength,m=d>p?d-p: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*s.x),y:Math.floor(n.y*(1-a)+a*s.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 s=0,a=this._guidesContainer.childNodes.length;s<a;s++)this._guidesContainer.childNodes[s].style.backgroundColor=n},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var n,s,a=this.options.showLength;return this._markers.length===0?n={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(s=a?this._getMeasurementString():"",n=this._markers.length===1?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:s}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:s}),n},_updateRunningMeasure:function(n,s){var a,h,c=this._markers.length;this._markers.length===1?this._measurementRunningTotal=0:(a=c-(s?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*(s?1:-1))},_getMeasurementString:function(){var n,s=this._currentLatLng,a=this._markers[this._markers.length-1].getLatLng();return n=L.GeometryUtil.isVersion07x()?a&&s&&s.distanceTo?this._measurementRunningTotal+s.distanceTo(a)*(this.options.factor||1):this._measurementRunningTotal||0:a&&s?this._measurementRunningTotal+this._map.distance(s,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,s){L.Draw.Polyline.prototype.initialize.call(this,n,s),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,s;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,s=this._getMeasurementString()):(n=L.drawLocal.draw.handlers.polygon.tooltip.end,s=this._getMeasurementString()),{text:n,subtext:s}},_getMeasurementString:function(){var n=this._area,s="";return n||this.options.showLength?(this.options.showLength&&(s=L.Draw.Polyline.prototype._getMeasurementString.call(this)),n&&(s+="<br>"+L.GeometryUtil.readableArea(n,this.options.metric,this.options.precision)),s):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(n,s){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,s)},_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,s){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,n,s)},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 s=n.latlng;this._tooltip.updatePosition(s),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(s))},_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,s){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,s)},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,s,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(),s=L.GeometryUtil.geodesicArea(n),a=d?L.GeometryUtil.readableArea(s,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,s){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,s)},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 s=n.latlng;this._tooltip.updatePosition(s),this._mouseMarker.setLatLng(s),this._marker?(s=this._mouseMarker.getLatLng(),this._marker.setLatLng(s)):(this._marker=this._createMarker(s),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,s){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,n,s)},_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,s){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,n,s)},_drawShape:function(n){if(L.GeometryUtil.isVersion07x())var s=this._startLatLng.distanceTo(n);else var s=this._map.distance(this._startLatLng,n);this._shape?this._shape.setRadius(s):(this._shape=new L.Circle(this._startLatLng,s,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 s,a=n.latlng,h=this.options.showRadius,c=this.options.metric;if(this._tooltip.updatePosition(a),this._isDrawing){this._drawShape(a),s=this._shape.getRadius().toFixed(1);var d="";h&&(d=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(s,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,s){this._marker=n,L.setOptions(this,s)},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 s=n.target;s.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:s})},_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,s){var a=parseInt(n.style.marginTop,10)-s,h=parseInt(n.style.marginLeft,10)-s;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 s=0;s<this._verticesHandlers.length;s++)n(this._verticesHandlers[s])},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,s,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=s,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,s=n._path;n instanceof L.Polygon||(n.options.fill=!1,n.options.editing&&(n.options.editing.fill=!1)),s&&n.options.editing&&n.options.editing.className&&(n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.removeClass(s,a)}),n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.addClass(s,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,s=n._path;s&&n.options.editing&&n.options.editing.className&&(n.options.editing.className.split(" ").forEach(function(a){L.DomUtil.removeClass(s,a)}),n.options.original.className&&n.options.original.className.split(" ").forEach(function(a){L.DomUtil.addClass(s,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,s,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,s=a-1;n<a;s=n++)(n!==0||L.Polygon&&this._poly instanceof L.Polygon)&&(d=this._markers[s],f=this._markers[n],this._createMiddleMarker(d,f),this._updatePrevNext(d,f))},_createMarker:function(n,s){var a=new L.Marker.Touch(n,{draggable:!0,icon:this.options.icon});return a._origLatLng=n,a._index=s,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(),s=[].splice.apply(n,arguments);return this._poly._convertLatLngs(n,!0),this._poly.redraw(),s},_removeMarker:function(n){var s=n._index;this._markerGroup.removeLayer(n),this._markers.splice(s,1),this._spliceLatLngs(s,1),this._updateIndexes(s,-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 s=n.target,a=this._poly,h=L.LatLngUtil.cloneLatLng(s._origLatLng);if(L.extend(s._origLatLng,s._latlng),a.options.poly){var c=a._map._editTooltip;if(!a.options.poly.allowIntersection&&a.intersects()){L.extend(s._origLatLng,h),s.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)}}s._middleLeft&&s._middleLeft.setLatLng(this._getMiddleLatLng(s._prev,s)),s._middleRight&&s._middleRight.setLatLng(this._getMiddleLatLng(s,s._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 s=L.Polygon&&this._poly instanceof L.Polygon?4:3,a=n.target;this._defaultShape().length<s||(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 s=n.target;this._poly,this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:s,layers:this._markerGroup,poly:this._poly}),L.DomEvent.stopPropagation},_onTouchMove:function(n){var s=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(s),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,s){this._markerGroup.eachLayer(function(a){a._index>n&&(a._index+=s)})},_createMiddleMarker:function(n,s){var a,h,c,d=this._getMiddleLatLng(n,s),f=this._createMarker(d);f.setOpacity(.6),n._middleRight=s._middleLeft=f,h=function(){f.off("touchmove",h,this);var p=s._index;f._index=p,f.off("click",a,this).on("click",this._onMarkerClick,this),d.lat=f.getLatLng().lat,d.lng=f.getLatLng().lng,this._spliceLatLngs(p,0,d),this._markers.splice(p,0,f),f.setOpacity(1),this._updateIndexes(p,1),s._index++,this._updatePrevNext(n,f),this._updatePrevNext(f,s),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,s)},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,s){n&&(n._next=s),s&&(s._prev=n)},_getMiddleLatLng:function(n,s){var a=this._poly._map,h=a.project(n.getLatLng()),c=a.project(s.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,s){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=n,L.Util.setOptions(this,s)},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 s=0,a=this._resizeMarkers.length;s<a;s++)this._unbindMarker(this._resizeMarkers[s]);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,s){var a=new L.Marker.Touch(n,{draggable:!0,icon:s,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 s=n.target,a=s.getLatLng();s===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 s=this._getCorners(),a=n.target,h=a._cornerIndex;a.setOpacity(0),this._oppositeCorner=s[(h+2)%4],this._toggleCornerMarkers(0,h)}this._shape.fire("editstart")},_onTouchMove:function(n){var s=this._map.mouseEventToLayerPoint(n.originalEvent.touches[0]),a=this._map.layerPointToLatLng(s);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(),s=n.getCenter();this._moveMarker=this._createMarker(s,this.options.moveIcon)},_createResizeMarker:function(){var n=this._getCorners();this._resizeMarkers=[];for(var s=0,a=n.length;s<a;s++)this._resizeMarkers.push(this._createMarker(n[s],this.options.resizeIcon)),this._resizeMarkers[s]._cornerIndex=s},_onMarkerDragStart:function(n){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,n);var s=this._getCorners(),a=n.target,h=a._cornerIndex;this._oppositeCorner=s[(h+2)%4],this._toggleCornerMarkers(0,h)},_onMarkerDragEnd:function(n){var s,a,h=n.target;h===this._moveMarker&&(s=this._shape.getBounds(),a=s.getCenter(),h.setLatLng(a)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,n)},_move:function(n){for(var s,a=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),h=this._shape.getBounds(),c=h.getCenter(),d=[],f=0,p=a.length;f<p;f++)s=[a[f].lat-c.lat,a[f].lng-c.lng],d.push([n.lat+s[0],n.lng+s[1]]);this._shape.setLatLngs(d),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(n){var s;this._shape.setBounds(L.latLngBounds(n,this._oppositeCorner)),s=this._shape.getBounds(),this._moveMarker.setLatLng(s.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 s=0,a=this._resizeMarkers.length;s<a;s++)this._resizeMarkers[s].setOpacity(n)},_repositionCornerMarkers:function(){for(var n=this._getCorners(),s=0,a=this._resizeMarkers.length;s<a;s++)this._resizeMarkers[s].setLatLng(n[s])}}),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 s=this._getResizeMarkerPoint(n);this._resizeMarkers[0].setLatLng(s)}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(),s=this._getResizeMarkerPoint(n);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(s,this.options.resizeIcon))},_getResizeMarkerPoint:function(n){var s=this._shape._radius*Math.cos(Math.PI/4),a=this._map.project(n);return this._map.unproject([a.x+s,a.y-s])},_resize:function(n){var s=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=s.distanceTo(n):radius=this._map.distance(s,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,s){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(s,{latlng:d,layerPoint:c,containerPoint:h,pageX:a.pageX,pageY:a.pageY,originalEvent:n})},_filterClick:function(n){var s=n.timeStamp||n.originalEvent.timeStamp,a=L.DomEvent._lastClick&&s-L.DomEvent._lastClick;return a&&a>100&&a<500||n.target._simulatedClick&&!n._simulated?(L.DomEvent.stop(n),!1):(L.DomEvent._lastClick=s,!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 s="touchcancel";this._detectIE()&&(s="pointercancel"),this._touchEvent(n,s)}},_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,s=n.indexOf("MSIE ");if(s>0)return parseInt(n.substring(s+5,n.indexOf(".",s)),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,s=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];this._detectIE?s.concat(["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]):s.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<s.length;a++)L.DomEvent.on(n,s[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,s=n.indexOf("MSIE ");if(s>0)return parseInt(n.substring(s+5,n.indexOf(".",s)),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 s=[],a=0,h=n.length;a<h;a++)Array.isArray(n[a])?s.push(L.LatLngUtil.cloneLatLngs(n[a])):s.push(this.cloneLatLng(n[a]));return s},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(s){var a,h,c=s.length,d=0,f=Math.PI/180;if(c>2){for(var p=0;p<c;p++)a=s[p],h=s[(p+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(s,a){var h=parseFloat(s).toFixed(a),c=L.drawLocal.format&&L.drawLocal.format.numeric,d=c&&c.delimiters,f=d&&d.thousands,p=d&&d.decimal;if(f||p){var m=h.split(".");h=f?m[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f):m[0],p=p||".",m.length>1&&(h=h+p+m[1])}return h},readableArea:function(s,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=s>=1e6&&d.indexOf("km")!==-1?L.GeometryUtil.formattedNumber(1e-6*s,f.km)+" km²":s>=1e4&&d.indexOf("ha")!==-1?L.GeometryUtil.formattedNumber(1e-4*s,f.ha)+" ha":L.GeometryUtil.formattedNumber(s,f.m)+" m²"):(s/=.836127,c=s>=3097600?L.GeometryUtil.formattedNumber(s/3097600,f.mi)+" mi²":s>=4840?L.GeometryUtil.formattedNumber(s/4840,f.ac)+" acres":L.GeometryUtil.formattedNumber(s,f.yd)+" yd²"),c},readableDistance:function(s,a,h,c,p){var f,p=L.Util.extend({},n,p);switch(a?typeof a=="string"?a:"metric":h?"feet":c?"nauticalMile":"yards"){case"metric":f=s>1e3?L.GeometryUtil.formattedNumber(s/1e3,p.km)+" km":L.GeometryUtil.formattedNumber(s,p.m)+" m";break;case"feet":s*=3.28083,f=L.GeometryUtil.formattedNumber(s,p.ft)+" ft";break;case"nauticalMile":s*=.53996,f=L.GeometryUtil.formattedNumber(s/1e3,p.nm)+" nm";break;case"yards":default:s*=1.09361,f=s>1760?L.GeometryUtil.formattedNumber(s/1760,p.mi)+" miles":L.GeometryUtil.formattedNumber(s,p.yd)+" yd"}return f},isVersion07x:function(){var s=L.version.split(".");return parseInt(s[0],10)===0&&parseInt(s[1],10)===7}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(n,s,a,h){return this._checkCounterclockwise(n,a,h)!==this._checkCounterclockwise(s,a,h)&&this._checkCounterclockwise(n,s,a)!==this._checkCounterclockwise(n,s,h)},_checkCounterclockwise:function(n,s,a){return(a.y-n.y)*(s.x-n.x)>(s.y-n.y)*(a.x-n.x)}}),L.Polyline.include({intersects:function(){var n,s,a,h=this._getProjectedPoints(),c=h?h.length:0;if(this._tooFewPointsForIntersection())return!1;for(n=c-1;n>=3;n--)if(s=h[n-1],a=h[n],this._lineSegmentsIntersectsRange(s,a,n-2))return!0;return!1},newLatLngIntersects:function(n,s){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(n),s)},newPointIntersects:function(n,s){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,s?1:0)},_tooFewPointsForIntersection:function(n){var s=this._getProjectedPoints(),a=s?s.length:0;return a+=n||0,!s||a<=3},_lineSegmentsIntersectsRange:function(n,s,a,h){var c,d,f=this._getProjectedPoints();h=h||0;for(var p=a;p>h;p--)if(c=f[p-1],d=f[p],L.LineUtil.segmentsIntersect(n,s,c,d))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var n=[],s=this._defaultShape(),a=0;a<s.length;a++)n.push(this._map.latLngToLayerPoint(s[a]));return n}}),L.Polygon.include({intersects:function(){var n,s,a,h,c=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||(n=c.length,s=c[0],a=c[n-1],h=n-2,this._lineSegmentsIntersectsRange(a,s,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 s;this._toolbars={},L.DrawToolbar&&this.options.draw&&(s=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=s,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(s=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=s,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(n){var s,a=L.DomUtil.create("div","leaflet-draw"),h=!1;for(var c in this._toolbars)this._toolbars.hasOwnProperty(c)&&(s=this._toolbars[c].addToolbar(n))&&(h||(L.DomUtil.hasClass(s,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(s.childNodes[0],"leaflet-draw-toolbar-top"),h=!0),a.appendChild(s));return a},onRemove:function(){for(var n in this._toolbars)this._toolbars.hasOwnProperty(n)&&this._toolbars[n].removeToolbar()},setDrawingOptions:function(n){for(var s in this._toolbars)this._toolbars[s]instanceof L.DrawToolbar&&this._toolbars[s].setOptions(n)},_toolbarEnabled:function(n){var s=n.target;for(var a in this._toolbars)this._toolbars[a]!==s&&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 s=L.version.split(".");parseInt(s[0],10)===1&&parseInt(s[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 s,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,s=0;s<d.length;s++)d[s].enabled&&this._initModeHandler(d[s].handler,this._toolbarContainer,h++,c,d[s].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 s=0,a=this._actionButtons.length;s<a;s++)this._disposeButton(this._actionButtons[s].button,this._actionButtons[s].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(n,s,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:s,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 s=L.DomUtil.create("a",n.className||"",n.container),a=L.DomUtil.create("span","sr-only",n.container);s.href="#",s.appendChild(a),n.title&&(s.title=n.title,a.innerHTML=n.title),n.text&&(s.innerHTML=n.text,a.innerHTML=n.text);var h=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(s,"click",L.DomEvent.stopPropagation).on(s,"mousedown",L.DomEvent.stopPropagation).on(s,"dblclick",L.DomEvent.stopPropagation).on(s,"touchstart",L.DomEvent.stopPropagation).on(s,"click",L.DomEvent.preventDefault).on(s,h,n.callback,n.context),s},_disposeButton:function(n,s){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,s)},_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 s,a,h,c,d=this._actionsContainer,f=this.getActions(n),p=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<p;m++)"enabled"in f[m]&&!f[m].enabled||(s=L.DomUtil.create("li","",d),c=this._createButton({title:f[m].title,text:f[m].text,container:s,callback:f[m].callback,context:f[m].context}),this._actionButtons.push({button:c,callback:f[m].callback}))},_showActionsToolbar:function(){var n=this._activeMode.buttonIndex,s=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===s&&(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 s=this._map.latLngToLayerPoint(n),a=this._container;return this._container&&(this._visible&&(a.style.visibility="inherit"),L.DomUtil.setPosition(a,s)),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 s in this.options)this.options.hasOwnProperty(s)&&n[s]&&(n[s]=L.extend({},this.options[s],n[s]));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 s in this._modes)this._modes.hasOwnProperty(s)&&n.hasOwnProperty(s)&&this._modes[s].handler.setOptions(n[s])}}),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 s=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(n,{featureGroup:s,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:s}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(n){var s=[{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&&s.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),s},addToolbar:function(n){var s=L.Toolbar.prototype.addToolbar.call(this,n);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),s},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,s=this.options.featureGroup,a=s.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,s){if(L.Handler.prototype.initialize.call(this,n),L.setOptions(this,s),this._featureGroup=s.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(s){s.edited&&(n.addLayer(s),s.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:n})},_backupLayer:function(n){var s=L.Util.stamp(n);this._uneditedLayerProps[s]||(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?this._uneditedLayerProps[s]={latlngs:L.LatLngUtil.cloneLatLngs(n.getLatLngs())}:n instanceof L.Circle?this._uneditedLayerProps[s]={latlng:L.LatLngUtil.cloneLatLng(n.getLatLng()),radius:n.getRadius()}:(n instanceof L.Marker||n instanceof L.CircleMarker)&&(this._uneditedLayerProps[s]={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 s=L.Util.stamp(n);n.edited=!1,this._uneditedLayerProps.hasOwnProperty(s)&&(n instanceof L.Polyline||n instanceof L.Polygon||n instanceof L.Rectangle?n.setLatLngs(this._uneditedLayerProps[s].latlngs):n instanceof L.Circle?(n.setLatLng(this._uneditedLayerProps[s].latlng),n.setRadius(this._uneditedLayerProps[s].radius)):(n instanceof L.Marker||n instanceof L.CircleMarker)&&n.setLatLng(this._uneditedLayerProps[s].latlng),n.fire("revert-edited",{layer:n}))},_enableLayerEdit:function(n){var s,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&&(s=L.Util.extend({},this.options.selectedPathOptions),s.maintainColor&&(s.color=h.options.color,s.fillColor=h.options.fillColor),h.options.original=L.extend({},h.options),h.options.editing=s),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 s=n.layer||n.target||n;s.edited=!1,s.editing&&s.editing.disable(),delete s.options.editing,delete s.options.original,this._selectedPathOptions&&(s instanceof L.Marker?this._toggleMarkerHighlight(s):(s.setStyle(s.options.previousOptions),delete s.options.previousOptions)),s instanceof L.Marker?(s.dragging.disable(),s.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)):s.editing.disable()},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_onMarkerDragEnd:function(n){var s=n.target;s.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:s})},_onTouchMove:function(n){var s=n.originalEvent.changedTouches[0],a=this._map.mouseEventToLayerPoint(s),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,s){if(L.Handler.prototype.initialize.call(this,n),L.Util.setOptions(this,s),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 s=n.layer||n.target||n;s.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(s)},_removeLayer:function(n){var s=n.layer||n.target||n;this._deletableLayers.removeLayer(s),this._deletedLayers.addLayer(s),s.fire("deleted")},_onMouseMove:function(n){this._tooltip.updatePosition(n.latlng)},_hasAvailableLayers:function(){return this._deletableLayers.getLayers().length!==0}})})(window,document);const yL="";var pp={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:"ማጥፋት የፈለጉትን ይጫኑ"}}}}},mp={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í"}}}}},_p={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."}}}}},cc={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"}}}}},yp={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"}}}}},vp={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"}}}}},xp={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"}}}}},Ap={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."}}}}},wp={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"}}}}},Ep={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:"დააწკაპუნეთ ობიექტზე წაშლისთვის"}}}}},Lp={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"}}}}},Cp={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"}}}}},Mp={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ąć."}}}}},Tp={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"}}}}},bp={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:"Кликните на фигуру для удаления"}}}}},Dp={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."}}}}},Pp={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:"Натисніть на фігуру для видалення"}}}}},Ip={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:"اضغط على رسمة للمسح"}}}}},Sp={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:"单击图形以移除"}}}}},kp={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"}}}}},Rp={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"}}}}},Op=function(r){var t=cc;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=_p;break;case"en":case"en-us":case"en-ca":case"en-gb":case"en-us.utf-8":case"english":t=cc;break;case"ar":case"ar-ae":case"ar-eg":case"arabic":t=Ip;break;case"fi":case"fi-fi":case"fi-fi.utf-8":case"finnish":t=vp;break;case"fr":case"fr-us":case"fr-ca":case"fr-us.utf-8":case"french":t=xp;break;case"es":case"es-us":case"es-ca":case"es-us.utf-8":case"spanish":t=yp;break;case"sk":case"sk-sk":case"sk-sk.utf-8":case"slovak":t=Dp;break;case"pl":case"pl-pl":case"pl-pl.utf-8":case"polish":t=Mp;break;case"pt":case"pt-pt":case"pt-pt.utf-8":case"portuguese":t=Tp;break;case"uk":case"uk-ua":case"uk-ua.utf-8":case"ukrainian":t=Pp;break;case"cs":case"cs-cz":case"cs-cz.utf-8":case"czech":t=mp;break;case"ru":case"ru-ru":case"ru-ru.utf-8":case"russian":t=bp;break;case"ka":case"ka-ka":case"ka-ka.utf-8":case"georgian":t=Ep;break;case"no":case"no-no":case"no-no.utf-8":case"norwegian":t=Cp;break;case"am":case"am-et":case"am-et.utf-8":case"amharic":t=pp;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=Lp;break;case"it":case"it-it":case"it-ch":case"it-it.utf-8":case"it-ch.utf-8":case"italiano":case"italian":t=wp;break;case"hu":case"hu-HU":case"hu-hu":case"hu-HU.utf-8":case"hu-hu.utf-8":case"magyar":case"hungarian":t=Ap;break;case"zh":case"zh-cn":case"zh-cn.utf-8":case"chinese":t=Sp;break;case"tr":case"tr-tr":case"tr-tr.utf-8":case"turkish":t=kp;break;case"ro":case"ro-ro":case"ro-RO":case"ro-ro.utf-8":case"romanian":t=Rp;break;default:throw new Error("[language] not found")}try{L&&L.drawLocal&&(L.drawLocal=t)}catch{}return t};function uc(r,t){return function(){return r.apply(t,arguments)}}const{toString:zp}=Object.prototype,{getPrototypeOf:La}=Object,Ts=(r=>t=>{const e=zp.call(t);return r[e]||(r[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),Ge=r=>(r=r.toLowerCase(),t=>Ts(t)===r),bs=r=>t=>typeof t===r,{isArray:Pn}=Array,Ar=bs("undefined");function Np(r){return r!==null&&!Ar(r)&&r.constructor!==null&&!Ar(r.constructor)&&Ce(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const dc=Ge("ArrayBuffer");function Fp(r){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(r):t=r&&r.buffer&&dc(r.buffer),t}const Bp=bs("string"),Ce=bs("function"),fc=bs("number"),Ds=r=>r!==null&&typeof r=="object",jp=r=>r===!0||r===!1,Ps=r=>{if(Ts(r)!=="object")return!1;const t=La(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Up=Ge("Date"),Gp=Ge("File"),Hp=Ge("Blob"),Yp=Ge("FileList"),Wp=r=>Ds(r)&&Ce(r.pipe),Zp=r=>{let t;return r&&(typeof FormData=="function"&&r instanceof FormData||Ce(r.append)&&((t=Ts(r))==="formdata"||t==="object"&&Ce(r.toString)&&r.toString()==="[object FormData]"))},Xp=Ge("URLSearchParams"),Qp=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function wr(r,t,{allOwnKeys:e=!1}={}){if(r===null||typeof r>"u")return;let i,n;if(typeof r!="object"&&(r=[r]),Pn(r))for(i=0,n=r.length;i<n;i++)t.call(null,r[i],i,r);else{const s=e?Object.getOwnPropertyNames(r):Object.keys(r),a=s.length;let h;for(i=0;i<a;i++)h=s[i],t.call(null,r[h],h,r)}}function gc(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 pc=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),mc=r=>!Ar(r)&&r!==pc;function Ca(){const{caseless:r}=mc(this)&&this||{},t={},e=(i,n)=>{const s=r&&gc(t,n)||n;Ps(t[s])&&Ps(i)?t[s]=Ca(t[s],i):Ps(i)?t[s]=Ca({},i):Pn(i)?t[s]=i.slice():t[s]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&wr(arguments[i],e);return t}const Vp=(r,t,e,{allOwnKeys:i}={})=>(wr(t,(n,s)=>{e&&Ce(n)?r[s]=uc(n,e):r[s]=n},{allOwnKeys:i}),r),Kp=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),qp=(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)},Jp=(r,t,e,i)=>{let n,s,a;const h={};if(t=t||{},r==null)return t;do{for(n=Object.getOwnPropertyNames(r),s=n.length;s-- >0;)a=n[s],(!i||i(a,r,t))&&!h[a]&&(t[a]=r[a],h[a]=!0);r=e!==!1&&La(r)}while(r&&(!e||e(r,t))&&r!==Object.prototype);return t},$p=(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},tm=r=>{if(!r)return null;if(Pn(r))return r;let t=r.length;if(!fc(t))return null;const e=new Array(t);for(;t-- >0;)e[t]=r[t];return e},em=(r=>t=>r&&t instanceof r)(typeof Uint8Array<"u"&&La(Uint8Array)),im=(r,t)=>{const i=(r&&r[Symbol.iterator]).call(r);let n;for(;(n=i.next())&&!n.done;){const s=n.value;t.call(r,s[0],s[1])}},nm=(r,t)=>{let e;const i=[];for(;(e=r.exec(t))!==null;)i.push(e);return i},rm=Ge("HTMLFormElement"),sm=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,i,n){return i.toUpperCase()+n}),_c=(({hasOwnProperty:r})=>(t,e)=>r.call(t,e))(Object.prototype),om=Ge("RegExp"),yc=(r,t)=>{const e=Object.getOwnPropertyDescriptors(r),i={};wr(e,(n,s)=>{t(n,s,r)!==!1&&(i[s]=n)}),Object.defineProperties(r,i)},am=r=>{yc(r,(t,e)=>{if(Ce(r)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const i=r[e];if(Ce(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+"'")})}})},lm=(r,t)=>{const e={},i=n=>{n.forEach(s=>{e[s]=!0})};return Pn(r)?i(r):i(String(r).split(t)),e},hm=()=>{},cm=(r,t)=>(r=+r,Number.isFinite(r)?r:t),Ma="abcdefghijklmnopqrstuvwxyz",vc="0123456789",xc={DIGIT:vc,ALPHA:Ma,ALPHA_DIGIT:Ma+Ma.toUpperCase()+vc},um=(r=16,t=xc.ALPHA_DIGIT)=>{let e="";const{length:i}=t;for(;r--;)e+=t[Math.random()*i|0];return e};function dm(r){return!!(r&&Ce(r.append)&&r[Symbol.toStringTag]==="FormData"&&r[Symbol.iterator])}const fm=r=>{const t=new Array(10),e=(i,n)=>{if(Ds(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;const s=Pn(i)?[]:{};return wr(i,(a,h)=>{const c=e(a,n+1);!Ar(c)&&(s[h]=c)}),t[n]=void 0,s}}return i};return e(r,0)},gm=Ge("AsyncFunction"),R={isArray:Pn,isArrayBuffer:dc,isBuffer:Np,isFormData:Zp,isArrayBufferView:Fp,isString:Bp,isNumber:fc,isBoolean:jp,isObject:Ds,isPlainObject:Ps,isUndefined:Ar,isDate:Up,isFile:Gp,isBlob:Hp,isRegExp:om,isFunction:Ce,isStream:Wp,isURLSearchParams:Xp,isTypedArray:em,isFileList:Yp,forEach:wr,merge:Ca,extend:Vp,trim:Qp,stripBOM:Kp,inherits:qp,toFlatObject:Jp,kindOf:Ts,kindOfTest:Ge,endsWith:$p,toArray:tm,forEachEntry:im,matchAll:nm,isHTMLForm:rm,hasOwnProperty:_c,hasOwnProp:_c,reduceDescriptors:yc,freezeMethods:am,toObjectSet:lm,toCamelCase:sm,noop:hm,toFiniteNumber:cm,findKey:gc,global:pc,isContextDefined:mc,ALPHABET:xc,generateString:um,isSpecCompliantForm:dm,toJSONObject:fm,isAsyncFn:gm,isThenable:r=>r&&(Ds(r)||Ce(r))&&Ce(r.then)&&Ce(r.catch)};function At(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)}R.inherits(At,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:R.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Ac=At.prototype,wc={};["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=>{wc[r]={value:r}}),Object.defineProperties(At,wc),Object.defineProperty(Ac,"isAxiosError",{value:!0}),At.from=(r,t,e,i,n,s)=>{const a=Object.create(Ac);return R.toFlatObject(r,a,function(c){return c!==Error.prototype},h=>h!=="isAxiosError"),At.call(a,r.message,t,e,i,n),a.cause=r,a.name=r.name,s&&Object.assign(a,s),a};const pm=null;function Ta(r){return R.isPlainObject(r)||R.isArray(r)}function Ec(r){return R.endsWith(r,"[]")?r.slice(0,-2):r}function Lc(r,t,e){return r?r.concat(t).map(function(n,s){return n=Ec(n),!e&&s?"["+n+"]":n}).join(e?".":""):t}function mm(r){return R.isArray(r)&&!r.some(Ta)}const _m=R.toFlatObject(R,{},null,function(t){return/^is[A-Z]/.test(t)});function Is(r,t,e){if(!R.isObject(r))throw new TypeError("target must be an object");t=t||new FormData,e=R.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(A,M){return!R.isUndefined(M[A])});const i=e.metaTokens,n=e.visitor||f,s=e.dots,a=e.indexes,c=(e.Blob||typeof Blob<"u"&&Blob)&&R.isSpecCompliantForm(t);if(!R.isFunction(n))throw new TypeError("visitor must be a function");function d(v){if(v===null)return"";if(R.isDate(v))return v.toISOString();if(!c&&R.isBlob(v))throw new At("Blob is not supported. Use a Buffer instead.");return R.isArrayBuffer(v)||R.isTypedArray(v)?c&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function f(v,A,M){let b=v;if(v&&!M&&typeof v=="object"){if(R.endsWith(A,"{}"))A=i?A:A.slice(0,-2),v=JSON.stringify(v);else if(R.isArray(v)&&mm(v)||(R.isFileList(v)||R.endsWith(A,"[]"))&&(b=R.toArray(v)))return A=Ec(A),b.forEach(function(E,C){!(R.isUndefined(E)||E===null)&&t.append(a===!0?Lc([A],C,s):a===null?A:A+"[]",d(E))}),!1}return Ta(v)?!0:(t.append(Lc(M,A,s),d(v)),!1)}const p=[],m=Object.assign(_m,{defaultVisitor:f,convertValue:d,isVisitable:Ta});function y(v,A){if(!R.isUndefined(v)){if(p.indexOf(v)!==-1)throw Error("Circular reference detected in "+A.join("."));p.push(v),R.forEach(v,function(b,w){(!(R.isUndefined(b)||b===null)&&n.call(t,b,R.isString(w)?w.trim():w,A,m))===!0&&y(b,A?A.concat(w):[w])}),p.pop()}}if(!R.isObject(r))throw new TypeError("data must be an object");return y(r),t}function Cc(r){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function ba(r,t){this._pairs=[],r&&Is(r,this,t)}const Mc=ba.prototype;Mc.append=function(t,e){this._pairs.push([t,e])},Mc.toString=function(t){const e=t?function(i){return t.call(this,i,Cc)}:Cc;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function ym(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Tc(r,t,e){if(!t)return r;const i=e&&e.encode||ym,n=e&&e.serialize;let s;if(n?s=n(t,e):s=R.isURLSearchParams(t)?t.toString():new ba(t,e).toString(i),s){const a=r.indexOf("#");a!==-1&&(r=r.slice(0,a)),r+=(r.indexOf("?")===-1?"?":"&")+s}return r}class vm{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){R.forEach(this.handlers,function(i){i!==null&&t(i)})}}const bc=vm,Dc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xm=typeof URLSearchParams<"u"?URLSearchParams:ba,Am=typeof FormData<"u"?FormData:null,wm=typeof Blob<"u"?Blob:null,Em=(()=>{let r;return typeof navigator<"u"&&((r=navigator.product)==="ReactNative"||r==="NativeScript"||r==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Lm=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),He={isBrowser:!0,classes:{URLSearchParams:xm,FormData:Am,Blob:wm},isStandardBrowserEnv:Em,isStandardBrowserWebWorkerEnv:Lm,protocols:["http","https","file","blob","url","data"]};function Cm(r,t){return Is(r,new He.classes.URLSearchParams,Object.assign({visitor:function(e,i,n,s){return He.isNode&&R.isBuffer(e)?(this.append(i,e.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function Mm(r){return R.matchAll(/\w+|\[(\w*)]/g,r).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Tm(r){const t={},e=Object.keys(r);let i;const n=e.length;let s;for(i=0;i<n;i++)s=e[i],t[s]=r[s];return t}function Pc(r){function t(e,i,n,s){let a=e[s++];const h=Number.isFinite(+a),c=s>=e.length;return a=!a&&R.isArray(n)?n.length:a,c?(R.hasOwnProp(n,a)?n[a]=[n[a],i]:n[a]=i,!h):((!n[a]||!R.isObject(n[a]))&&(n[a]=[]),t(e,i,n[a],s)&&R.isArray(n[a])&&(n[a]=Tm(n[a])),!h)}if(R.isFormData(r)&&R.isFunction(r.entries)){const e={};return R.forEachEntry(r,(i,n)=>{t(Mm(i),n,e,0)}),e}return null}const bm={"Content-Type":void 0};function Dm(r,t,e){if(R.isString(r))try{return(t||JSON.parse)(r),R.trim(r)}catch(i){if(i.name!=="SyntaxError")throw i}return(e||JSON.stringify)(r)}const Ss={transitional:Dc,adapter:["xhr","http"],transformRequest:[function(t,e){const i=e.getContentType()||"",n=i.indexOf("application/json")>-1,s=R.isObject(t);if(s&&R.isHTMLForm(t)&&(t=new FormData(t)),R.isFormData(t))return n&&n?JSON.stringify(Pc(t)):t;if(R.isArrayBuffer(t)||R.isBuffer(t)||R.isStream(t)||R.isFile(t)||R.isBlob(t))return t;if(R.isArrayBufferView(t))return t.buffer;if(R.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let h;if(s){if(i.indexOf("application/x-www-form-urlencoded")>-1)return Cm(t,this.formSerializer).toString();if((h=R.isFileList(t))||i.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Is(h?{"files[]":t}:t,c&&new c,this.formSerializer)}}return s||n?(e.setContentType("application/json",!1),Dm(t)):t}],transformResponse:[function(t){const e=this.transitional||Ss.transitional,i=e&&e.forcedJSONParsing,n=this.responseType==="json";if(t&&R.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"?At.from(h,At.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:He.classes.FormData,Blob:He.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};R.forEach(["delete","get","head"],function(t){Ss.headers[t]={}}),R.forEach(["post","put","patch"],function(t){Ss.headers[t]=R.merge(bm)});const Da=Ss,Pm=R.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"]),Im=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]&&Pm[e])&&(e==="set-cookie"?t[e]?t[e].push(i):t[e]=[i]:t[e]=t[e]?t[e]+", "+i:i)}),t},Ic=Symbol("internals");function Er(r){return r&&String(r).trim().toLowerCase()}function ks(r){return r===!1||r==null?r:R.isArray(r)?r.map(ks):String(r)}function Sm(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 km=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function Pa(r,t,e,i,n){if(R.isFunction(i))return i.call(this,t,e);if(n&&(t=e),!!R.isString(t)){if(R.isString(i))return t.indexOf(i)!==-1;if(R.isRegExp(i))return i.test(t)}}function Rm(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,i)=>e.toUpperCase()+i)}function Om(r,t){const e=R.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(r,i+e,{value:function(n,s,a){return this[i].call(this,t,n,s,a)},configurable:!0})})}class Rs{constructor(t){t&&this.set(t)}set(t,e,i){const n=this;function s(h,c,d){const f=Er(c);if(!f)throw new Error("header name must be a non-empty string");const p=R.findKey(n,f);(!p||n[p]===void 0||d===!0||d===void 0&&n[p]!==!1)&&(n[p||c]=ks(h))}const a=(h,c)=>R.forEach(h,(d,f)=>s(d,f,c));return R.isPlainObject(t)||t instanceof this.constructor?a(t,e):R.isString(t)&&(t=t.trim())&&!km(t)?a(Im(t),e):t!=null&&s(e,t,i),this}get(t,e){if(t=Er(t),t){const i=R.findKey(this,t);if(i){const n=this[i];if(!e)return n;if(e===!0)return Sm(n);if(R.isFunction(e))return e.call(this,n,i);if(R.isRegExp(e))return e.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Er(t),t){const i=R.findKey(this,t);return!!(i&&this[i]!==void 0&&(!e||Pa(this,this[i],i,e)))}return!1}delete(t,e){const i=this;let n=!1;function s(a){if(a=Er(a),a){const h=R.findKey(i,a);h&&(!e||Pa(i,i[h],h,e))&&(delete i[h],n=!0)}}return R.isArray(t)?t.forEach(s):s(t),n}clear(t){const e=Object.keys(this);let i=e.length,n=!1;for(;i--;){const s=e[i];(!t||Pa(this,this[s],s,t,!0))&&(delete this[s],n=!0)}return n}normalize(t){const e=this,i={};return R.forEach(this,(n,s)=>{const a=R.findKey(i,s);if(a){e[a]=ks(n),delete e[s];return}const h=t?Rm(s):String(s).trim();h!==s&&delete e[s],e[h]=ks(n),i[h]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return R.forEach(this,(i,n)=>{i!=null&&i!==!1&&(e[n]=t&&R.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[Ic]=this[Ic]={accessors:{}}).accessors,n=this.prototype;function s(a){const h=Er(a);i[h]||(Om(n,a),i[h]=!0)}return R.isArray(t)?t.forEach(s):s(t),this}}Rs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),R.freezeMethods(Rs.prototype),R.freezeMethods(Rs);const oi=Rs;function Ia(r,t){const e=this||Da,i=t||e,n=oi.from(i.headers);let s=i.data;return R.forEach(r,function(h){s=h.call(e,s,n.normalize(),t?t.status:void 0)}),n.normalize(),s}function Sc(r){return!!(r&&r.__CANCEL__)}function Lr(r,t,e){At.call(this,r??"canceled",At.ERR_CANCELED,t,e),this.name="CanceledError"}R.inherits(Lr,At,{__CANCEL__:!0});function zm(r,t,e){const i=e.config.validateStatus;!e.status||!i||i(e.status)?r(e):t(new At("Request failed with status code "+e.status,[At.ERR_BAD_REQUEST,At.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}const Nm=He.isStandardBrowserEnv?function(){return{write:function(e,i,n,s,a,h){const c=[];c.push(e+"="+encodeURIComponent(i)),R.isNumber(n)&&c.push("expires="+new Date(n).toGMTString()),R.isString(s)&&c.push("path="+s),R.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 Fm(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function Bm(r,t){return t?r.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):r}function kc(r,t){return r&&!Fm(t)?Bm(r,t):t}const jm=He.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let i;function n(s){let a=s;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=R.isString(a)?n(a):a;return h.protocol===i.protocol&&h.host===i.host}}():function(){return function(){return!0}}();function Um(r){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return t&&t[1]||""}function Gm(r,t){r=r||10;const e=new Array(r),i=new Array(r);let n=0,s=0,a;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=i[s];a||(a=d),e[n]=c,i[n]=d;let p=s,m=0;for(;p!==n;)m+=e[p++],p=p%r;if(n=(n+1)%r,n===s&&(s=(s+1)%r),d-a<t)return;const y=f&&d-f;return y?Math.round(m*1e3/y):void 0}}function Rc(r,t){let e=0;const i=Gm(50,250);return n=>{const s=n.loaded,a=n.lengthComputable?n.total:void 0,h=s-e,c=i(h),d=s<=a;e=s;const f={loaded:s,total:a,progress:a?s/a:void 0,bytes:h,rate:c||void 0,estimated:c&&a&&d?(a-s)/c:void 0,event:n};f[t?"download":"upload"]=!0,r(f)}}const Os={http:pm,xhr:typeof XMLHttpRequest<"u"&&function(r){return new Promise(function(e,i){let n=r.data;const s=oi.from(r.headers).normalize(),a=r.responseType;let h;function c(){r.cancelToken&&r.cancelToken.unsubscribe(h),r.signal&&r.signal.removeEventListener("abort",h)}R.isFormData(n)&&(He.isStandardBrowserEnv||He.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let d=new XMLHttpRequest;if(r.auth){const y=r.auth.username||"",v=r.auth.password?unescape(encodeURIComponent(r.auth.password)):"";s.set("Authorization","Basic "+btoa(y+":"+v))}const f=kc(r.baseURL,r.url);d.open(r.method.toUpperCase(),Tc(f,r.params,r.paramsSerializer),!0),d.timeout=r.timeout;function p(){if(!d)return;const y=oi.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),A={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:y,config:r,request:d};zm(function(b){e(b),c()},function(b){i(b),c()},A),d=null}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){d&&(i(new At("Request aborted",At.ECONNABORTED,r,d)),d=null)},d.onerror=function(){i(new At("Network Error",At.ERR_NETWORK,r,d)),d=null},d.ontimeout=function(){let v=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const A=r.transitional||Dc;r.timeoutErrorMessage&&(v=r.timeoutErrorMessage),i(new At(v,A.clarifyTimeoutError?At.ETIMEDOUT:At.ECONNABORTED,r,d)),d=null},He.isStandardBrowserEnv){const y=(r.withCredentials||jm(f))&&r.xsrfCookieName&&Nm.read(r.xsrfCookieName);y&&s.set(r.xsrfHeaderName,y)}n===void 0&&s.setContentType(null),"setRequestHeader"in d&&R.forEach(s.toJSON(),function(v,A){d.setRequestHeader(A,v)}),R.isUndefined(r.withCredentials)||(d.withCredentials=!!r.withCredentials),a&&a!=="json"&&(d.responseType=r.responseType),typeof r.onDownloadProgress=="function"&&d.addEventListener("progress",Rc(r.onDownloadProgress,!0)),typeof r.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",Rc(r.onUploadProgress)),(r.cancelToken||r.signal)&&(h=y=>{d&&(i(!y||y.type?new Lr(null,r,d):y),d.abort(),d=null)},r.cancelToken&&r.cancelToken.subscribe(h),r.signal&&(r.signal.aborted?h():r.signal.addEventListener("abort",h)));const m=Um(f);if(m&&He.protocols.indexOf(m)===-1){i(new At("Unsupported protocol "+m+":",At.ERR_BAD_REQUEST,r));return}d.send(n||null)})}};R.forEach(Os,(r,t)=>{if(r){try{Object.defineProperty(r,"name",{value:t})}catch{}Object.defineProperty(r,"adapterName",{value:t})}});const Hm={getAdapter:r=>{r=R.isArray(r)?r:[r];const{length:t}=r;let e,i;for(let n=0;n<t&&(e=r[n],!(i=R.isString(e)?Os[e.toLowerCase()]:e));n++);if(!i)throw i===!1?new At(`Adapter ${e} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(R.hasOwnProp(Os,e)?`Adapter '${e}' is not available in the build`:`Unknown adapter '${e}'`);if(!R.isFunction(i))throw new TypeError("adapter is not a function");return i},adapters:Os};function Sa(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new Lr(null,r)}function Oc(r){return Sa(r),r.headers=oi.from(r.headers),r.data=Ia.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),Hm.getAdapter(r.adapter||Da.adapter)(r).then(function(i){return Sa(r),i.data=Ia.call(r,r.transformResponse,i),i.headers=oi.from(i.headers),i},function(i){return Sc(i)||(Sa(r),i&&i.response&&(i.response.data=Ia.call(r,r.transformResponse,i.response),i.response.headers=oi.from(i.response.headers))),Promise.reject(i)})}const zc=r=>r instanceof oi?r.toJSON():r;function In(r,t){t=t||{};const e={};function i(d,f,p){return R.isPlainObject(d)&&R.isPlainObject(f)?R.merge.call({caseless:p},d,f):R.isPlainObject(f)?R.merge({},f):R.isArray(f)?f.slice():f}function n(d,f,p){if(R.isUndefined(f)){if(!R.isUndefined(d))return i(void 0,d,p)}else return i(d,f,p)}function s(d,f){if(!R.isUndefined(f))return i(void 0,f)}function a(d,f){if(R.isUndefined(f)){if(!R.isUndefined(d))return i(void 0,d)}else return i(void 0,f)}function h(d,f,p){if(p in t)return i(d,f);if(p in r)return i(void 0,d)}const c={url:s,method:s,data:s,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(zc(d),zc(f),!0)};return R.forEach(Object.keys(Object.assign({},r,t)),function(f){const p=c[f]||n,m=p(r[f],t[f],f);R.isUndefined(m)&&p!==h||(e[f]=m)}),e}const Nc="1.4.0",ka={};["object","boolean","number","function","string","symbol"].forEach((r,t)=>{ka[r]=function(i){return typeof i===r||"a"+(t<1?"n ":" ")+r}});const Fc={};ka.transitional=function(t,e,i){function n(s,a){return"[Axios v"+Nc+"] Transitional option '"+s+"'"+a+(i?". "+i:"")}return(s,a,h)=>{if(t===!1)throw new At(n(a," has been removed"+(e?" in "+e:"")),At.ERR_DEPRECATED);return e&&!Fc[a]&&(Fc[a]=!0,console.warn(n(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(s,a,h):!0}};function Ym(r,t,e){if(typeof r!="object")throw new At("options must be an object",At.ERR_BAD_OPTION_VALUE);const i=Object.keys(r);let n=i.length;for(;n-- >0;){const s=i[n],a=t[s];if(a){const h=r[s],c=h===void 0||a(h,s,r);if(c!==!0)throw new At("option "+s+" must be "+c,At.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new At("Unknown option "+s,At.ERR_BAD_OPTION)}}const Ra={assertOptions:Ym,validators:ka},bi=Ra.validators;class zs{constructor(t){this.defaults=t,this.interceptors={request:new bc,response:new bc}}request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=In(this.defaults,e);const{transitional:i,paramsSerializer:n,headers:s}=e;i!==void 0&&Ra.assertOptions(i,{silentJSONParsing:bi.transitional(bi.boolean),forcedJSONParsing:bi.transitional(bi.boolean),clarifyTimeoutError:bi.transitional(bi.boolean)},!1),n!=null&&(R.isFunction(n)?e.paramsSerializer={serialize:n}:Ra.assertOptions(n,{encode:bi.function,serialize:bi.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a;a=s&&R.merge(s.common,s[e.method]),a&&R.forEach(["delete","get","head","post","put","patch","common"],v=>{delete s[v]}),e.headers=oi.concat(a,s);const h=[];let c=!0;this.interceptors.request.forEach(function(A){typeof A.runWhen=="function"&&A.runWhen(e)===!1||(c=c&&A.synchronous,h.unshift(A.fulfilled,A.rejected))});const d=[];this.interceptors.response.forEach(function(A){d.push(A.fulfilled,A.rejected)});let f,p=0,m;if(!c){const v=[Oc.bind(this),void 0];for(v.unshift.apply(v,h),v.push.apply(v,d),m=v.length,f=Promise.resolve(e);p<m;)f=f.then(v[p++],v[p++]);return f}m=h.length;let y=e;for(p=0;p<m;){const v=h[p++],A=h[p++];try{y=v(y)}catch(M){A.call(this,M);break}}try{f=Oc.call(this,y)}catch(v){return Promise.reject(v)}for(p=0,m=d.length;p<m;)f=f.then(d[p++],d[p++]);return f}getUri(t){t=In(this.defaults,t);const e=kc(t.baseURL,t.url);return Tc(e,t.params,t.paramsSerializer)}}R.forEach(["delete","get","head","options"],function(t){zs.prototype[t]=function(e,i){return this.request(In(i||{},{method:t,url:e,data:(i||{}).data}))}}),R.forEach(["post","put","patch"],function(t){function e(i){return function(s,a,h){return this.request(In(h||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}zs.prototype[t]=e(),zs.prototype[t+"Form"]=e(!0)});const Ns=zs;class Oa{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(s){e=s});const i=this;this.promise.then(n=>{if(!i._listeners)return;let s=i._listeners.length;for(;s-- >0;)i._listeners[s](n);i._listeners=null}),this.promise.then=n=>{let s;const a=new Promise(h=>{i.subscribe(h),s=h}).then(n);return a.cancel=function(){i.unsubscribe(s)},a},t(function(s,a,h){i.reason||(i.reason=new Lr(s,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 Oa(function(n){t=n}),cancel:t}}}const Wm=Oa;function Zm(r){return function(e){return r.apply(null,e)}}function Xm(r){return R.isObject(r)&&r.isAxiosError===!0}const za={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(za).forEach(([r,t])=>{za[t]=r});const Qm=za;function Bc(r){const t=new Ns(r),e=uc(Ns.prototype.request,t);return R.extend(e,Ns.prototype,t,{allOwnKeys:!0}),R.extend(e,t,null,{allOwnKeys:!0}),e.create=function(n){return Bc(In(r,n))},e}const Gt=Bc(Da);Gt.Axios=Ns,Gt.CanceledError=Lr,Gt.CancelToken=Wm,Gt.isCancel=Sc,Gt.VERSION=Nc,Gt.toFormData=Is,Gt.AxiosError=At,Gt.Cancel=Gt.CanceledError,Gt.all=function(t){return Promise.all(t)},Gt.spread=Zm,Gt.isAxiosError=Xm,Gt.mergeConfig=In,Gt.AxiosHeaders=oi,Gt.formToJSON=r=>Pc(R.isHTMLForm(r)?new FormData(r):r),Gt.HttpStatusCode=Qm,Gt.default=Gt;const jc=Gt,Fs="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUwMS4zMzcgNTAxLjMzNyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8Zz4NCgkJPHBhdGggZD0iTTQ5Ni45NjIsMi4wMzFjLTIuNzczLTIuMDI3LTYuNC0yLjU2LTkuNi0xLjQ5M0wzMzAuNjY5LDUyLjgwNEwxNzMuOTc1LDAuNTM3Yy0xLjA2Ny0wLjMyLTIuMTMzLTAuNTMzLTMuMi0wLjUzM2gtMC4xMDcNCgkJCWgtMC4xMDdjLTEuMDY3LDAtMi4xMzMsMC4yMTMtMy4yLDAuNTMzbC0xNjAsNTMuMzMzYy00LjM3MywxLjM4Ny03LjM2LDUuNTQ3LTcuMzYsMTAuMTMzdjQyNi4yNGMwLDMuMzA3LDEuMzg3LDYuNjEzLDMuOTQ3LDguNjQNCgkJCWMyLjk4NywyLjQ1Myw2LjgyNywyLjk4NywxMC4xMzMsMS45MmwxNTYuNjkzLTUyLjI2N2wxNTYuNjkzLDUyLjI2N2MxLjA2NywwLjMyLDIuMTMzLDAuNTMzLDMuMiwwLjUzM2gwLjEwN2gwLjEwNw0KCQkJYzEuMDY3LDAsMi4xMzMtMC4yMTMsMy4yLTAuNTMzbDE2MC01My4zMzNjNC4zNzMtMS40OTMsNy4yNTMtNS41NDcsNy4yNTMtMTAuMTMzVjEwLjY3MQ0KCQkJQzUwMS4zMzUsNy4yNTcsNDk5LjczNSw0LjA1Nyw0OTYuOTYyLDIuMDMxeiBNNzQuNjY5LDQ1OC4xMzdsLTUzLjMzMywxNy44MTNWMjg1LjAxN2w1My4zMzMtMTcuODEzVjQ1OC4xMzd6IE0xNjAuMDAyLDQyOS42NTcNCgkJCWwtNjQsMjEuMzMzVjI2MC4xNjRsNjQtMjEuMzMzVjQyOS42NTd6IE0xNjAuMDAyLDIxNi4zMjRsLTY0LDIxLjMzM3YtODUuMjI3bDY0LTE4LjQ1M1YyMTYuMzI0eiBNMTYwLjAwMiwxMTEuODk3bC03Ny42NTMsMjIuNA0KCQkJYy00LjU4NywxLjI4LTcuNjgsNS41NDctNy42OCwxMC4yNHYxMDAuMjY3bC01My4zMzMsMTcuODEzVjcxLjY4NGwxMzguNjY3LTQ2LjE4N1YxMTEuODk3eiBNMzIwLjAwMiw0NzUuOTUxbC01My4zMzMtMTcuNzA3DQoJCQlWMzQxLjAxN2w1My4zMzMsMjEuNzZWNDc1Ljk1MXogTTMyMC4wMDIsMzM5LjczN2wtNTkuOTQ3LTI0LjQyN2MtNS40NC0yLjI0LTExLjczMywwLjQyNy0xMy44NjcsNS44NjcNCgkJCWMtMC41MzMsMS4yOC0wLjc0NywyLjY2Ny0wLjc0Nyw0LjA1M3YxMjUuODY3bC02NC0yMS4zMzNWMjM4Ljg2NmwxMzguNTYsNDYuMTUxVjMzOS43Mzd6IE0zMjAuMDAyLDI2Mi41MTFsLTEzOC42NjctNDYuMTg3DQoJCQlWMjUuNDk3bDEzOC42NjcsNDYuMTg3VjI2Mi41MTF6IE0zNDEuMzM1LDE3OS4wOTdsNjQtMjEuNjUzdjgzLjczM2wtNjQsMjEuMzMzVjE3OS4wOTd6IE00ODAuMDAyLDQyOS42NTdsLTEzOC42NjcsNDYuMTg3DQoJCQlWMjg1LjAxN2wxMzguNjY3LTQ2LjE4N1Y0MjkuNjU3eiBNNDgwLjAwMiwyMTYuMzI0bC01My4zMzMsMTcuODEzdi04My44NGw1My4zMzMtMTguMDI3VjIxNi4zMjR6IE00ODAuMDAyLDEwOS43NjQNCgkJCWwtMTM4LjY2Nyw0Ni44MjdWNzEuNjg0bDEzOC42NjctNDYuMTg3VjEwOS43NjR6Ii8+DQoJPC9nPg0KPC9nPg0KPC9zdmc+",Bs="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIA0KCSB2aWV3Qm94PSIwIDAgNTMgNTMiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzQzQjA1QzsiIHBvaW50cz0iMTgsMjMuMjQzIDIuMjU2LDcuNDk5IDAsOCAwLDUxIDIuMDk5LDUwLjUzNCAxOCwzNC42MzIgIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojNDhBMERDOyIgcG9pbnRzPSI5LjM3Miw0OC45MTcgMTgsNDcgMTgsNDAuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzQzQjA1QzsiIHBvaW50cz0iMTgsNCA2Ljg4NCw2LjQ3IDE4LDE3LjU4NiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM0M0IwNUM7IiBwb2ludHM9IjQ5LjQ0OSwzLjE4NCAzNSw4IDM1LDE3LjYzMiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM0OEEwREM7IiBwb2ludHM9IjM1LDIzLjI4OSAzNSw1MCA1Myw0MyA1Myw1LjI4OSAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiMzRDk5NEY7IiBwb2ludHM9IjI2LjUyMywyNi4xMDkgMzUsMTcuNjMyIDM1LDggMTgsNCAxOCwxNy41ODYgIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojM0Q5OTRGOyIgcG9pbnRzPSIxOCwyMy4yNDMgMTgsMzQuNjMyIDIzLjY5NSwyOC45MzggIi8+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojNDM5M0JGOyIgcG9pbnRzPSIxOCw0MC4yODkgMTgsNDcgMzUsNTAgMzUsMjMuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMTgsMTcuNTg2IDYuODg0LDYuNDcgMi4yNTYsNy40OTkgMTgsMjMuMjQzICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMTgsMzQuNjMyIDIuMDk5LDUwLjUzNCA5LjM3Miw0OC45MTcgMTgsNDAuMjg5ICIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0VGQ0U0QTsiIHBvaW50cz0iMzUsMjMuMjg5IDUzLDUuMjg5IDUzLDIgNDkuNDQ5LDMuMTg0IDM1LDE3LjYzMiAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNENkI0NDU7IiBwb2ludHM9IjI2LjUyMywyNi4xMDkgMTgsMTcuNTg2IDE4LDIzLjI0MyAyMy42OTUsMjguOTM4IDE4LDM0LjYzMiAxOCw0MC4yODkgMzUsMjMuMjg5IDM1LDE3LjYzMiANCgkiLz4NCjwvc3ZnPg==";K.Edit.Circle=K.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;K.GeometryUtil.isVersion07x(),e=t.distanceTo(r),this._shape.setRadius(e)}});const Vm=X.defineComponent({props:{configurationMap:{type:Object,required:!1},coordinatesMap:{type:[Array,Function],required:!1},dataPolygon:{type:[Array,Object],required:!1},isSatelite:{type:Boolean,required:!1},getCoodMarker:{type:Function,required:!1},getGeoJSON:{type:Function,required:!1},loadPolygon:{type:Boolean,required:!1}},data(){return{idMap:"",mapRender:null,markerRender:null,renderCoordinates:Array.isArray(this.coordinatesMap)?this.coordinatesMap:[],renderGeojson:this.dataPolygon,markerIcon:{iconUrl:ws,iconSize:[25,41],iconAnchor:[12,41]},layersFeatureGroup:null,featuresData:null,currentTileLayer:null,isSatelliteView:!1}},mounted(){this.makeid(10),this.renderMap()},methods:{createSatelliteControl(){const r=K.Control.extend({onAdd:t=>{const e=K.DomUtil.create("div","leaflet-control-draw leaflet-bar leaflet-control"),i=K.DomUtil.create("a","leaflet-draw-draw-satellite",e);return i.href="#",i.title=this.isSatelliteView?"Vista Normal":"Vista Satélite",i.style.backgroundImage=this.isSatelliteView?`url(${Fs})`:`url(${Bs})`,i.style.backgroundPosition="center",i.style.backgroundRepeat="no-repeat",i.style.backgroundSize="20px 20px",K.DomEvent.disableClickPropagation(i),K.DomEvent.on(i,"click",this.toggleSatelliteView,this),e}});return new r({position:"topleft"})},toggleSatelliteView(){if(!this.mapRender||!this.currentTileLayer)return;this.isSatelliteView=!this.isSatelliteView,this.mapRender.removeLayer(this.currentTileLayer),this.isSatelliteView?this.currentTileLayer=K.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=K.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(this.mapRender),document.querySelectorAll(".leaflet-draw-draw-satellite").forEach(t=>{const e=t;e.style.backgroundImage=this.isSatelliteView?`url(${Fs})`:`url(${Bs})`,e.title=this.isSatelliteView?"Vista Normal":"Vista Satélite"})},getLayersFeaturesInGeoJson(){const r=K.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(){Op("es"),setTimeout(()=>{this.loadPolygon?this.viewMap():this.createMap()},500)},createMap(){var a,h,c,d,f,p,m,y,v,A,M,b;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=K.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,this.isSatelliteView=this.isSatelite||!1,this.isSatelliteView?this.currentTileLayer=K.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=K.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(t),this.isSatelite!==void 0){const w=this.createSatelliteControl();t.addControl(w)}if(t.setZoom((a=this.configurationMap)==null?void 0:a.maxZoom),(h=this.configurationMap)!=null&&h.renderMarker){const w=K.marker([this.renderCoordinates?this.renderCoordinates[0]:0,this.renderCoordinates?this.renderCoordinates[1]:0],{icon:K.icon(r),draggable:(c=this.configurationMap)==null?void 0:c.dragMarker}).addTo(t);this.markerRender=w,this.getCoodMarker&&w.on("dragend",E=>{const C=E.target.getLatLng(),D=C.lat,P=C.lng;this.getCoodMarker&&this.getCoodMarker(D,P)})}const e=K.featureGroup();this.featuresData=e;const i=e.addTo(t);let n={featureGroup:i,edit:!1,remove:(d=this.configurationMap)==null?void 0:d.editFigures.remove};(f=this.configurationMap)!=null&&f.editFigures.edit&&(n={featureGroup:i,...(p=this.configurationMap)==null?void 0:p.editFigures.edit,remove:(m=this.configurationMap)==null?void 0:m.editFigures.remove});const s=new K.Control.Draw({position:"topleft",draw:{polygon:(y=this.configurationMap)==null?void 0:y.createFigures.polygon,circle:!1,rectangle:(v=this.configurationMap)!=null&&v.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(A=this.configurationMap)!=null&&A.createFigures.marker?{icon:K.icon(r)}:!1,polyline:(M=this.configurationMap)!=null&&M.createFigures.polyline?{shapeOptions:{color:"blue"}}:!1,circlemarker:(b=this.configurationMap)==null?void 0:b.createFigures.multipoint},edit:n});t.addControl(s),t.on("draw:created",w=>{var D,P,O,k,N,H,U,Q,tt,at,Y,W,G,F,nt;const E=w.layer;i.addLayer(E);let C=E.toGeoJSON();w.layerType==="circlemarker"&&(C={type:"Feature",geometry:{type:"MultiPoint",coordinates:[C.geometry.coordinates]},properties:{...C.properties,pointType:"multipoint",style:{color:((O=(P=(D=this.configurationMap)==null?void 0:D.createFigures)==null?void 0:P.multipoint)==null?void 0:O.color)||"green",fillColor:((H=(N=(k=this.configurationMap)==null?void 0:k.createFigures)==null?void 0:N.multipoint)==null?void 0:H.fillColor)||"green",fillOpacity:((tt=(Q=(U=this.configurationMap)==null?void 0:U.createFigures)==null?void 0:Q.multipoint)==null?void 0:tt.fillOpacity)||.8,radius:((W=(Y=(at=this.configurationMap)==null?void 0:at.createFigures)==null?void 0:Y.multipoint)==null?void 0:W.radius)||6,weight:((nt=(F=(G=this.configurationMap)==null?void 0:G.createFigures)==null?void 0:F.multipoint)==null?void 0:nt.weight)||2}}}),this.getGeoJSON&&this.getGeoJSON([C])}),t.on("draw:edited",w=>{w.layers.eachLayer(C=>{const D=C.toGeoJSON();this.getGeoJSON&&this.getGeoJSON([D])})})},viewMap(){var c,d,f,p,m,y,v,A,M,b;const r=this.configurationMap?this.configurationMap.iconMarker?this.configurationMap.iconMarker:this.markerIcon:this.markerIcon;window.type=!0;const t=K.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,this.isSatelliteView=this.isSatelite||!1,this.isSatelliteView?this.currentTileLayer=K.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):this.currentTileLayer=K.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),this.currentTileLayer.addTo(t),this.isSatelite!==void 0){const w=this.createSatelliteControl();t.addControl(w)}t.setZoom((c=this.configurationMap)==null?void 0:c.maxZoom);const e=K.featureGroup();this.featuresData=e;const i=e.addTo(t);let n={featureGroup:i,edit:!1,remove:(d=this.configurationMap)==null?void 0:d.editFigures.remove};(f=this.configurationMap)!=null&&f.editFigures.edit&&(n={featureGroup:i,...(p=this.configurationMap)==null?void 0:p.editFigures.edit,remove:(m=this.configurationMap)==null?void 0:m.editFigures.remove});const s=this,a=this.renderGeojson;if(a&&a.length){const w=[],E=K.layerGroup().addTo(t);a.forEach(P=>{const O=this;if(P.type==="FeatureCollection")P.features.forEach(k=>{if(k.geometry.type==="Polygon"||k.geometry.type==="MultiPolygon"||k.geometry.type==="LineString"||k.geometry.type==="MultiLineString"||k.geometry.type==="Point"){if(k.geometry.type==="Point"){const N=k.geometry.coordinates;w.push({lat:N[1],lng:N[0],properties:k.properties||{},feature:k})}else K.geoJson(k,{pointToLayer:this.getPointToLayer.bind(this),onEachFeature:function(N,H){if(i.addLayer(H),N.geometry.type==="Polygon"||N.geometry.type==="MultiPolygon"){var U=O.getPolygonTooltipContent(N);H.bindPopup(U,{maxHeight:360,maxWidth:320,className:"limit-popup"})}}});if(k.geometry.type==="LineString"&&Array.isArray(k.geometry.coordinates)){const N=k.geometry.coordinates,H=k.properties&&Array.isArray(k.properties.coordProperties)?k.properties.coordProperties:[];for(let U=0;U<N.length;U++){let Q='<div style="display:flex;align-items:center;justify-content:center;width:14px;height:14px;">',tt="";if(U<N.length-1&&H[U]&&H[U+1]&&H[U].fecha&&H[U+1].fecha&&new Date(H[U+1].fecha)>new Date(H[U].fecha)){const Y=q=>q*Math.PI/180,W=q=>q*180/Math.PI,G=Y(N[U][1]),F=Y(N[U+1][1]),nt=Y(N[U+1][0]-N[U][0]),Z=Math.sin(nt)*Math.cos(F),rt=Math.cos(G)*Math.sin(F)-Math.sin(G)*Math.cos(F)*Math.cos(nt);let z=Math.atan2(Z,rt);z=W(z),tt=`<svg width="10" height="10" viewBox="0 0 22 22" style="display:block;transform:rotate(${(z+360)%360}deg);"><polygon points="11,3 15,17 11,14 7,17" fill="#fff" stroke="#fff" stroke-width="1.5"/></svg>`}Q+=`<div style="background:#2196F3;border-radius:50%;border:1px solid #fff;box-shadow:0 0 2px #000;padding:1px;width:8px;height:8px;display:flex;align-items:center;justify-content:center;">${tt}</div>`,Q+="</div>",K.marker([N[U][1],N[U][0]],{icon:K.divIcon({className:"",html:Q,iconSize:[14,14],iconAnchor:[7,7]}),zIndexOffset:-100}).addTo(i)}}}});else if(P.type==="Feature"&&(P.geometry.type==="Polygon"||P.geometry.type==="MultiPolygon"||P.geometry.type==="LineString"||P.geometry.type==="MultiLineString"||P.geometry.type==="Point")){if(P.geometry.type==="Point"){const k=P.geometry.coordinates;w.push({lat:k[1],lng:k[0],properties:P.properties||{},feature:P})}else K.geoJson(P,{pointToLayer:this.getPointToLayer.bind(this),onEachFeature:function(k,N){if(i.addLayer(N),k.geometry.type==="Polygon"||k.geometry.type==="MultiPolygon"){var H=O.getPolygonTooltipContent(k);N.bindPopup(H,{maxHeight:360,maxWidth:320,className:"limit-popup"})}}});if(P.geometry.type==="LineString"&&Array.isArray(P.geometry.coordinates)){const k=P.geometry.coordinates,N=P.properties&&Array.isArray(P.properties.coordProperties)?P.properties.coordProperties:[];for(let H=0;H<k.length;H++){let U='<div style="display:flex;align-items:center;justify-content:center;width:14px;height:14px;">',Q="";if(H<k.length-1&&N[H]&&N[H+1]&&N[H].fecha&&N[H+1].fecha&&new Date(N[H+1].fecha)>new Date(N[H].fecha)){const at=ft=>ft*Math.PI/180,Y=ft=>ft*180/Math.PI,W=at(k[H][1]),G=at(k[H+1][1]),F=at(k[H+1][0]-k[H][0]),nt=Math.sin(F)*Math.cos(G),Z=Math.cos(W)*Math.sin(G)-Math.sin(W)*Math.cos(G)*Math.cos(F);let rt=Math.atan2(nt,Z);rt=Y(rt),Q=`<svg width="10" height="10" viewBox="0 0 22 22" style="display:block;transform:rotate(${(rt+360)%360}deg);"><polygon points="11,3 15,17 11,14 7,17" fill="#fff" stroke="#fff" stroke-width="1.5"/></svg>`}U+=`<div style="background:#2196F3;border-radius:50%;border:1px solid #fff;box-shadow:0 0 2px #000;padding:1.5px;width:8px;height:8px;display:flex;align-items:center;justify-content:center;">${Q}</div>`,U+="</div>",K.marker([k[H][1],k[H][0]],{icon:K.divIcon({className:"",html:U,iconSize:[14,14],iconAnchor:[7,7]})}).addTo(i)}}}});const C=()=>{if(E.clearLayers(),!w.length)return;const P=(U,Q)=>t.project([U,Q],t.getZoom()),O=Math.max(30,80-t.getZoom()*2),k=w.slice(),N=new Array(k.length).fill(!1),H=[];for(let U=0;U<k.length;U++){if(N[U])continue;const Q=k[U],tt=P(Q.lat,Q.lng),at=[Q];N[U]=!0;for(let Y=U+1;Y<k.length;Y++){if(N[Y])continue;const W=k[Y],G=P(W.lat,W.lng);Math.sqrt(Math.pow(tt.x-G.x,2)+Math.pow(tt.y-G.y,2))<O&&(at.push(W),N[Y]=!0)}H.push(at)}H.forEach(U=>{const Q=U.reduce((Y,W)=>Y+W.lat,0)/U.length,tt=U.reduce((Y,W)=>Y+W.lng,0)/U.length,at=Y=>{const W=Y==null?void 0:Y.tipo,G=50,F=50,nt=16,Z=41,rt=[Math.round(G/2-nt),Math.round(F/2-Z)],z=K.icon({iconUrl:ac,iconSize:[G,F],iconAnchor:[nt,Z],popupAnchor:rt}),ft=K.icon({iconUrl:lc,iconSize:[G,F],iconAnchor:[nt,Z],popupAnchor:rt}),q=K.icon({iconUrl:hc,iconSize:[G,F],iconAnchor:[nt,Z],popupAnchor:rt});return W===0?z:W===1?ft:q};if(U.length===1){const Y=U[0],W=at(Y.properties||{}),G=K.marker([Q,tt],{icon:W,zIndexOffset:1e3}),F=Y.feature||{},nt=s.getPopupContent(F);G.bindPopup(nt,{maxHeight:360,maxWidth:320,className:"limit-popup"}),E.addLayer(G)}else{const Y=U[0],G=`<div style="position:relative;display:inline-block;"><img src="${at(Y.properties||{}).options.iconUrl}" style="width:50px;height:50px;object-fit:cover;"/><div style="position:absolute;right:-2px;top:-2px;background:#2196F3;color:#fff;font-size:11px;font-weight:bold;border-radius:50%;padding:0;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;z-index:3;border:1.5px solid #fff;">${U.length}</div></div>`,F=K.marker([Q,tt],{icon:K.divIcon({className:"",html:G,iconSize:[50,50],iconAnchor:[25,25],popupAnchor:[0,0]}),zIndexOffset:1e3}),nt=[];U.forEach(rt=>{const z=rt.feature||{},ft=s.getPopupContent(z)||"";nt.push(`<div style="padding:6px 0;">${ft}</div>`)});const Z=nt.join('<hr style="border:none;border-top:1px solid #ddd;margin:6px 0;"/>');F.bindPopup(`<div style="max-width:320px;">${Z}</div>`,{maxHeight:360,maxWidth:320,className:"limit-popup"}),E.addLayer(F)}})};C(),t.on("zoomend",()=>{C()});const D=i.getBounds();t.fitBounds(D)}const h=new K.Control.Draw({position:"topleft",draw:{polygon:(y=this.configurationMap)==null?void 0:y.createFigures.polygon,circle:!1,rectangle:(v=this.configurationMap)!=null&&v.createFigures.rectangle?{shapeOptions:{color:"blue"}}:!1,marker:(A=this.configurationMap)!=null&&A.createFigures.marker?{icon:K.icon(r)}:!1,polyline:(M=this.configurationMap)!=null&&M.createFigures.polyline?{shapeOptions:{color:"blue"}}:!1,circlemarker:(b=this.configurationMap)==null?void 0:b.createFigures.multipoint},edit:n});t.addControl(h),t.on("draw:created",w=>{var D,P,O,k,N,H,U,Q,tt,at,Y,W,G,F,nt;const E=w.layer;i.addLayer(E);let C=E.toGeoJSON();w.layerType==="circlemarker"&&(C={type:"Feature",geometry:{type:"MultiPoint",coordinates:[C.geometry.coordinates]},properties:{...C.properties,pointType:"multipoint",style:{color:((O=(P=(D=this.configurationMap)==null?void 0:D.createFigures)==null?void 0:P.multipoint)==null?void 0:O.color)||"green",fillColor:((H=(N=(k=this.configurationMap)==null?void 0:k.createFigures)==null?void 0:N.multipoint)==null?void 0:H.fillColor)||"green",fillOpacity:((tt=(Q=(U=this.configurationMap)==null?void 0:U.createFigures)==null?void 0:Q.multipoint)==null?void 0:tt.fillOpacity)||.8,radius:((W=(Y=(at=this.configurationMap)==null?void 0:at.createFigures)==null?void 0:Y.multipoint)==null?void 0:W.radius)||6,weight:((nt=(F=(G=this.configurationMap)==null?void 0:G.createFigures)==null?void 0:F.multipoint)==null?void 0:nt.weight)||2}}}),this.getGeoJSON&&this.getGeoJSON(C)}),t.on("draw:edited",w=>{w.layers.eachLayer(C=>{const D=C.toGeoJSON();this.getGeoJSON&&this.getGeoJSON(D)})})},getPointToLayer(r,t){var i,n;if(((i=r.geometry)==null?void 0:i.type)==="Point"){const s=(n=r.properties)==null?void 0:n.tipo,a=K.icon({iconUrl:ac,iconSize:[50,50],iconAnchor:[16,41]}),h=K.icon({iconUrl:lc,iconSize:[50,50],iconAnchor:[16,41]});let d=K.icon({iconUrl:hc,iconSize:[50,50],iconAnchor:[16,41]});return s===0?d=a:s===1&&(d=h),K.marker(t,{icon:d})}return K.marker(t)},async searchAddress(r){const t=await jc.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=K.latLng(r,t);this.mapRender.panTo(e,{animate:!0,duration:.5})}},getPopupContent(r){const t=r.properties||{},e=t.descripcion||"",i=t.fechaHoraLlegada||"",n=t.fotoId||"",s=f=>{const p=new Date(f);if(isNaN(p.getTime()))return f;const m=E=>E.toString().padStart(2,"0"),y=m(p.getUTCDate()),v=m(p.getUTCMonth()+1),A=p.getUTCFullYear(),M=m(p.getUTCHours()),b=m(p.getUTCMinutes()),w=m(p.getUTCSeconds());return`${y}/${v}/${A} ${M}:${b}:${w}`};let a="";i&&(a=s(i));const c=t.tipo===1?fp:gp;let d='<div style="max-width:320px;">';return n&&(d+=`
16
+ <div style="display:flex;justify-content:center;margin-bottom:8px;">
17
+ <img src="${n}" style="height:200px;width:200px;max-width:320px;object-fit:cover;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,0.12);"/>
18
+ </div>`),d+='<div style="display:flex;align-items:center;gap:8px;padding-top:6px;">',c&&(d+=`<img src="${c}" style="width:20px;height:20px;flex:0 0 20px;"/>`),a?d+=`<div style="font-size:14px;"><b>${e}:</b> ${a}</div>`:d+=`<div style="font-size:14px;">${e}</div>`,d+="</div>",d+="</div>",d},getPolygonTooltipContent(r){const t=r.properties||{};return`<div style="font-weight: bold; padding: 5px;">${t.descripcion||t.name||"Sin descripción"}</div>`}},watch:{coordinatesMap(r){if(this.renderCoordinates=Array.isArray(r)?r:[],this.mapRender&&this.markerRender&&this.renderCoordinates.length>=2){const t=this.renderCoordinates,e=K.latLng([t[0],t[1]]);this.mapRender.setView([t[0],t[1]],t[2]),this.markerRender.setLatLng(e)}},dataPolygon(r){this.renderGeojson=r}}}),wL="",Km=["id"];function qm(r,t,e,i,n,s){var a;return X.openBlock(),X.createElementBlock("div",{class:"map-container",style:X.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[X.createElementVNode("div",{id:r.idMap,style:{height:"100%"}},null,8,Km)],4)}const Jm=Ea(Vm,[["render",qm]]),$m=["id"],t_=X.defineComponent({__name:"MapSearchAddress",props:{configurationMap:{default:()=>({height:"250px",maxZoom:20,iconMarker:{iconUrl:ws,iconSize:[25,41],iconAnchor:[12,41],class:"",type:"image"},dragMarker:!0})},coordinatesMap:{default:()=>({lat:-19.0429,lng:-65.2554,zoom:12})},isSatelite:{type:Boolean}},emits:["updated:coordsMarker"],setup(r,{expose:t,emit:e}){const i=r,n=X.ref(),s=X.ref(i.coordinatesMap),a=X.ref(),h=X.ref(),c=X.ref(null),d=X.ref(!1);X.onMounted(async()=>{await f(10),await p()});const f=async w=>{let E="";const C="abcdefghijklmnopqrstuvwxyz",D=C.length;let P=0;for(;P<w;)E+=C.charAt(Math.floor(Math.random()*D)),P+=1;n.value=E},p=async()=>{await m()},m=async()=>{var C,D;const w=(C=i.configurationMap)==null?void 0:C.iconMarker,E=K.map(n.value,{fullscreenControl:!0}).setView([s.value.lat,s.value.lng],s.value.zoom);if(E.invalidateSize(),a.value=E,d.value=i.isSatelite||!1,d.value?c.value=K.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):c.value=K.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:(D=i.configurationMap)==null?void 0:D.maxZoom,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),c.value.addTo(E),i.isSatelite!==void 0){const P=y();E.addControl(P)}if(w.type==="image"){const P=K.marker([s.value.lat,s.value.lng],{icon:K.icon({iconUrl:w.iconUrl,iconAnchor:w.iconAnchor,iconSize:w.iconSize,className:w.class}),draggable:i.configurationMap.dragMarker}).addTo(E);h.value=P,P.on("dragend",O=>{const k=O.target.getLatLng(),N=k.lat,H=k.lng;M({lat:N,lng:H})})}else if(w.type==="svg"){const P=K.marker([s.value.lat,s.value.lng],{icon:K.divIcon({html:w.iconUrl,iconAnchor:w.iconAnchor,iconSize:w.iconSize,className:w.class}),draggable:i.configurationMap.dragMarker}).addTo(E);h.value=P,P.on("dragend",O=>{const k=O.target.getLatLng(),N=k.lat,H=k.lng;M({lat:N,lng:H})})}},y=()=>{const w=K.Control.extend({onAdd:E=>{const C=K.DomUtil.create("div","leaflet-control-draw leaflet-bar leaflet-control"),D=K.DomUtil.create("a","leaflet-draw-draw-satellite",C);return D.href="#",D.title=d.value?"Vista Normal":"Vista Satélite",D.style.backgroundImage=d.value?`url(${Fs})`:`url(${Bs})`,D.style.backgroundPosition="center",D.style.backgroundRepeat="no-repeat",D.style.backgroundSize="20px 20px",K.DomEvent.disableClickPropagation(D),K.DomEvent.on(D,"click",v),C}});return new w({position:"topleft"})},v=()=>{if(!a.value||!c.value)return;d.value=!d.value,a.value.removeLayer(c.value),d.value?c.value=K.tileLayer("https://api.maptiler.com/maps/satellite/{z}/{x}/{y}.jpg?key=t8mWT2ozs1JWBqMZOnZr",{attribution:'&copy; <a href="https://www.maptiler.com/">MapTiler</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}):c.value=K.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}),c.value.addTo(a.value),document.querySelectorAll(".leaflet-draw-draw-satellite").forEach(E=>{const C=E;C.style.backgroundImage=d.value?`url(${Fs})`:`url(${Bs})`,C.title=d.value?"Vista Normal":"Vista Satélite"})},A=async w=>{const E=await jc.get(location.protocol+"//nominatim.openstreetmap.org/search?",{params:{q:w,limit:1,format:"json"}});if(E.data.length===1){const C=parseFloat(E.data[0].lat),P={lng:parseFloat(E.data[0].lon),lat:C};return M({...P,moveMarker:!0}),E.data[0]}return E.data},M=({lat:w,lng:E,moveMarker:C=!1})=>{var D;e("updated:coordsMarker",{lat:w,lng:E}),C&&((D=h.value)==null||D.setLatLng({lat:w,lng:E})),b({lat:w,lng:E})},b=({lat:w,lng:E})=>{const C=K.latLng(w,E);a.value.panTo(C,{animate:!0,duration:.5})};return t({searchAddress:A}),(w,E)=>{var C;return X.openBlock(),X.createElementBlock("div",{class:"map-container",style:X.normalizeStyle(`height:${(C=w.configurationMap)==null?void 0:C.height}`)},[X.createElementVNode("div",{id:n.value,style:{height:"100%"}},null,8,$m)],4)}}}),EL="";class e_{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}const ai=e_,Sn={PROPERTYCHANGE:"propertychange"};class i_{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}const js=i_;function n_(r,t,e){let i,n;e=e||Di;let s=0,a=r.length,h=!1;for(;s<a;)i=s+(a-s>>1),n=+e(r[i],t),n<0?s=i+1:(a=i,h=!n);return h?s:~s}function Di(r,t){return r>t?1:r<t?-1:0}function Na(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 s=r[n];if(s===t)return n;if(s<t)return e(t,r[n-1],s)>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 r_(r,t,e){for(;t<e;){const i=r[t];r[t]=r[e],r[e]=i,++t,--e}}function Ye(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 li(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 s_(r,t,e){const i=t||Di;return r.every(function(n,s){if(s===0)return!0;const a=i(r[s-1],n);return!(a>0||e&&a===0)})}function Cr(){return!0}function Us(){return!1}function kn(){}function Uc(r){let t=!1,e,i,n;return function(){const s=Array.prototype.slice.call(arguments);return(!t||this!==n||!li(s,i))&&(t=!0,n=this,i=s,e=r.apply(this,arguments)),e}}function Rn(r){for(const t in r)delete r[t]}function on(r){let t;for(t in r)return!1;return!t}class o_ extends js{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 s=e?new ai(t):t;s.target||(s.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(s):c=n[d].call(this,s),c===!1||s.propagationStopped){c=!1;break}if(--a[i]===0){let d=h[i];for(delete h[i];d--;)this.removeEventListener(i,kn);delete a[i]}return c}disposeInternal(){this.listeners_&&Rn(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){if(!this.listeners_)return;const i=this.listeners_[t];if(!i)return;const n=i.indexOf(e);n!==-1&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[n]=kn,++this.pendingRemovals_[t]):(i.splice(n,1),i.length===0&&delete this.listeners_[t]))}}const Gs=o_,ut={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 mt(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 s={target:r,type:t,listener:e};return r.addEventListener(t,e),s}function Hs(r,t,e,i){return mt(r,t,e,i,!0)}function Mt(r){r&&r.target&&(r.target.removeEventListener(r.type,r.listener),Rn(r))}class Ys extends Gs{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(ut.CHANGE)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=mt(this,t[s],e);return n}return mt(this,t,e)}onceInternal(t,e){let i;if(Array.isArray(t)){const n=t.length;i=new Array(n);for(let s=0;s<n;++s)i[s]=Hs(this,t[s],e)}else i=Hs(this,t,e);return e.ol_key=i,i}unInternal(t,e){const i=e.ol_key;if(i)a_(i);else if(Array.isArray(t))for(let n=0,s=t.length;n<s;++n)this.removeEventListener(t[n],e);else this.removeEventListener(t,e)}}Ys.prototype.on,Ys.prototype.once,Ys.prototype.un;function a_(r){if(Array.isArray(r))for(let t=0,e=r.length;t<e;++t)Mt(r[t]);else Mt(r)}const Gc=Ys;function lt(){throw new Error("Unimplemented abstract method.")}let l_=0;function gt(r){return r.ol_uid||(r.ol_uid=String(++l_))}class Hc extends ai{constructor(t,e,i){super(t),this.key=e,this.oldValue=i}}class h_ extends Gc{constructor(t){super(),this.on,this.once,this.un,gt(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 Hc(i,t,e)),i=Sn.PROPERTYCHANGE,this.hasListener(i)&&this.dispatchEvent(new Hc(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 s=n[t];n[t]=e,s!==e&&this.notify(t,s)}}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],on(this.values_)&&(this.values_=null),e||this.notify(t,i)}}}const Ie=h_,Ht={ANIMATING:0,INTERACTING:1},Se={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},c_=42,Fa=256,Mr={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class u_{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_||Mr[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 Yc=u_,Tr=6378137,On=Math.PI*Tr,d_=[-On,-On,On,On],f_=[-180,-85,180,85],Ws=Tr*Math.log(Math.tan(Math.PI/2));class zn extends Yc{constructor(t){super({code:t,units:"m",extent:d_,global:!0,worldExtent:f_,getPointResolution:function(e,i){return e/Math.cosh(i[1]/Tr)}})}}const Wc=[new zn("EPSG:3857"),new zn("EPSG:102100"),new zn("EPSG:102113"),new zn("EPSG:900913"),new zn("http://www.opengis.net/def/crs/EPSG/0/3857"),new zn("http://www.opengis.net/gml/srs/epsg.xml#3857")];function g_(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]=On*r[n]/180;let s=Tr*Math.log(Math.tan(Math.PI*(+r[n+1]+90)/360));s>Ws?s=Ws:s<-Ws&&(s=-Ws),t[n+1]=s}return t}function p_(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]/On,t[n+1]=360*Math.atan(Math.exp(r[n+1]/Tr))/Math.PI-90;return t}const m_=6378137,Zc=[-180,-90,180,90],__=Math.PI*m_/180;class an extends Yc{constructor(t,e){super({code:t,units:"degrees",extent:Zc,axisOrientation:e,global:!0,metersPerUnit:__,worldExtent:Zc})}}const Xc=[new an("CRS:84"),new an("EPSG:4326","neu"),new an("urn:ogc:def:crs:OGC:1.3:CRS84"),new an("urn:ogc:def:crs:OGC:2:84"),new an("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new an("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new an("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let Ba={};function y_(r){return Ba[r]||Ba[r.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null}function v_(r,t){Ba[r]=t}let Nn={};function Zs(r,t,e){const i=r.getCode(),n=t.getCode();i in Nn||(Nn[i]={}),Nn[i][n]=e}function x_(r,t){let e;return r in Nn&&t in Nn[r]&&(e=Nn[r][t]),e}const Yt={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};function Qc(r){const t=xe();for(let e=0,i=r.length;e<i;++e)Dr(t,r[e]);return t}function Xs(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 Vc(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r.slice()}function ln(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 Qs(r,t){return ja(r,t[0],t[1])}function hn(r,t){return r[0]<=t[0]&&t[2]<=r[2]&&r[1]<=t[1]&&t[3]<=r[3]}function ja(r,t,e){return r[0]<=t&&t<=r[2]&&r[1]<=e&&e<=r[3]}function Ua(r,t){const e=r[0],i=r[1],n=r[2],s=r[3],a=t[0],h=t[1];let c=Yt.UNKNOWN;return a<e?c=c|Yt.LEFT:a>n&&(c=c|Yt.RIGHT),h<i?c=c|Yt.BELOW:h>s&&(c=c|Yt.ABOVE),c===Yt.UNKNOWN&&(c=Yt.INTERSECTING),c}function xe(){return[1/0,1/0,-1/0,-1/0]}function Pi(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 br(r){return Pi(1/0,1/0,-1/0,-1/0,r)}function Kc(r,t){const e=r[0],i=r[1];return Pi(e,i,e,i,t)}function Ga(r,t,e,i,n){const s=br(n);return Jc(s,r,t,e,i)}function Fn(r,t){return r[0]==t[0]&&r[2]==t[2]&&r[1]==t[1]&&r[3]==t[3]}function qc(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 Dr(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 Jc(r,t,e,i,n){for(;e<i;e+=n)A_(r,t[e],t[e+1]);return r}function A_(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 $c(r,t){let e;return e=t(Vs(r)),e||(e=t(Ks(r)),e)||(e=t(qs(r)),e)||(e=t(cn(r)),e)?e:!1}function Ha(r){let t=0;return Js(r)||(t=Tt(r)*Ae(r)),t}function Vs(r){return[r[0],r[1]]}function Ks(r){return[r[2],r[1]]}function Ii(r){return[(r[0]+r[2])/2,(r[1]+r[3])/2]}function w_(r,t){let e;if(t==="bottom-left")e=Vs(r);else if(t==="bottom-right")e=Ks(r);else if(t==="top-left")e=cn(r);else if(t==="top-right")e=qs(r);else throw new Error("Invalid corner");return e}function Ya(r,t,e,i,n){const[s,a,h,c,d,f,p,m]=Wa(r,t,e,i);return Pi(Math.min(s,h,d,p),Math.min(a,c,f,m),Math.max(s,h,d,p),Math.max(a,c,f,m),n)}function Wa(r,t,e,i){const n=t*i[0]/2,s=t*i[1]/2,a=Math.cos(e),h=Math.sin(e),c=n*a,d=n*h,f=s*a,p=s*h,m=r[0],y=r[1];return[m-c+p,y-d-f,m-c-p,y-d+f,m+c-p,y+d+f,m+c+p,y+d-f,m-c+p,y-d-f]}function Ae(r){return r[3]-r[1]}function Pr(r,t,e){const i=e||xe();return ce(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]):br(i),i}function cn(r){return[r[0],r[3]]}function qs(r){return[r[2],r[3]]}function Tt(r){return r[2]-r[0]}function ce(r,t){return r[0]<=t[2]&&r[2]>=t[0]&&r[1]<=t[3]&&r[3]>=t[1]}function Js(r){return r[2]<r[0]||r[3]<r[1]}function E_(r,t){return t?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t):r}function L_(r,t,e){let i=!1;const n=Ua(r,t),s=Ua(r,e);if(n===Yt.INTERSECTING||s===Yt.INTERSECTING)i=!0;else{const a=r[0],h=r[1],c=r[2],d=r[3],f=t[0],p=t[1],m=e[0],y=e[1],v=(y-p)/(m-f);let A,M;s&Yt.ABOVE&&!(n&Yt.ABOVE)&&(A=m-(y-d)/v,i=A>=a&&A<=c),!i&&s&Yt.RIGHT&&!(n&Yt.RIGHT)&&(M=y-(m-c)*v,i=M>=h&&M<=d),!i&&s&Yt.BELOW&&!(n&Yt.BELOW)&&(A=m-(y-h)/v,i=A>=a&&A<=c),!i&&s&Yt.LEFT&&!(n&Yt.LEFT)&&(M=y-(m-a)*v,i=M>=h&&M<=d)}return i}function tu(r,t){const e=t.getExtent(),i=Ii(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 C_(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]]];tu(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 Rt(r,t,e){return Math.min(Math.max(r,t),e)}function M_(r,t,e,i,n,s){const a=n-e,h=s-i;if(a!==0||h!==0){const c=((r-e)*a+(t-i)*h)/(a*a+h*h);c>1?(e=n,i=s):c>0&&(e+=a*c,i+=h*c)}return un(r,t,e,i)}function un(r,t,e,i){const n=e-r,s=i-t;return n*n+s*s}function T_(r){const t=r.length;for(let i=0;i<t;i++){let n=i,s=Math.abs(r[i][i]);for(let h=i+1;h<t;h++){const c=Math.abs(r[h][i]);c>s&&(s=c,n=h)}if(s===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 $s(r){return r*Math.PI/180}function Bn(r,t){const e=r%t;return e*t<0?e+t:e}function we(r,t,e){return r+e*(t-r)}function Za(r,t){const e=Math.pow(10,t);return Math.round(r*e)/e}function to(r,t){return Math.floor(Za(r,t))}function eo(r,t){return Math.ceil(Za(r,t))}function b_(r,t){return r[0]+=+t[0],r[1]+=+t[1],r}function io(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 Xa(r,t){const e=Math.cos(t),i=Math.sin(t),n=r[0]*e-r[1]*i,s=r[1]*e+r[0]*i;return r[0]=n,r[1]=s,r}function D_(r,t){return r[0]*=t,r[1]*=t,r}function eu(r,t){if(t.canWrapX()){const e=Tt(t.getExtent()),i=P_(r,t,e);i&&(r[0]-=i*e)}return r}function P_(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 I_=63710088e-1;function iu(r,t,e){e=e||I_;const i=$s(r[1]),n=$s(t[1]),s=(n-i)/2,a=$s(t[0]-r[0])/2,h=Math.sin(s)*Math.sin(s)+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 nu={info:1,warn:2,error:3,none:4};let S_=nu.info;function ru(...r){S_>nu.warn||console.warn(...r)}let Qa=!0;function su(r){Qa=!(r===void 0?!0:r)}function Va(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 ou(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 k_(r){v_(r.getCode(),r),Zs(r,r,Va)}function R_(r){r.forEach(k_)}function Nt(r){return typeof r=="string"?y_(r):r||null}function au(r,t,e,i){r=Nt(r);let n;const s=r.getPointResolutionFunc();if(s){if(n=s(t,e),i&&i!==r.getUnits()){const a=r.getMetersPerUnit();a&&(n=n*a/Mr[i])}}else{const a=r.getUnits();if(a=="degrees"&&!i||i=="degrees")n=t;else{const h=qa(r,Nt("EPSG:4326"));if(h===ou&&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=iu(d.slice(0,2),d.slice(2,4)),p=iu(d.slice(4,6),d.slice(6,8));n=(f+p)/2}const c=i?Mr[i]:r.getMetersPerUnit();c!==void 0&&(n/=c)}}return n}function lu(r){R_(r),r.forEach(function(t){r.forEach(function(e){t!==e&&Zs(t,e,Va)})})}function O_(r,t,e,i){r.forEach(function(n){t.forEach(function(s){Zs(n,s,e),Zs(s,n,i)})})}function Ka(r,t){return r?typeof r=="string"?Nt(r):r:Nt(t)}function hu(r,t){return su(),cu(r,"EPSG:4326",t!==void 0?t:"EPSG:3857")}function dn(r,t){if(r===t)return!0;const e=r.getUnits()===t.getUnits();return(r.getCode()===t.getCode()||qa(r,t)===Va)&&e}function qa(r,t){const e=r.getCode(),i=t.getCode();let n=x_(e,i);return n||(n=ou),n}function Ir(r,t){const e=Nt(r),i=Nt(t);return qa(e,i)}function cu(r,t,e){return Ir(t,e)(r,void 0,r.length)}function Ja(r,t){return r}function hi(r,t){return Qa&&!io(r,[0,0])&&r[0]>=-180&&r[0]<=180&&r[1]>=-90&&r[1]<=90&&(Qa=!1,ru("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),r}function uu(r,t){return r}function fn(r,t){return r}function z_(){lu(Wc),lu(Xc),O_(Xc,Wc,g_,p_)}z_();function vt(r,t){if(!r)throw new Error(t)}function du(r,t,e){return function(i,n,s,a,h){if(!i)return;if(!n&&!t)return i;const c=t?0:s[0]*n,d=t?0:s[1]*n,f=h?h[0]:0,p=h?h[1]:0;let m=r[0]+c/2+f,y=r[2]-c/2+f,v=r[1]+d/2+p,A=r[3]-d/2+p;m>y&&(m=(y+m)/2,y=m),v>A&&(v=(A+v)/2,A=v);let M=Rt(i[0],m,y),b=Rt(i[1],v,A);if(a&&e&&n){const w=30*n;M+=-w*Math.log(1+Math.max(0,m-i[0])/w)+w*Math.log(1+Math.max(0,i[0]-y)/w),b+=-w*Math.log(1+Math.max(0,v-i[1])/w)+w*Math.log(1+Math.max(0,i[1]-A)/w)}return[M,b]}}function N_(r){return r}function $a(r,t,e,i){const n=Tt(t)/e[0],s=Ae(t)/e[1];return i?Math.min(r,Math.max(n,s)):Math.min(r,Math.min(n,s))}function tl(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),Rt(i,e/2,t*2)}function F_(r,t,e,i){return t=t!==void 0?t:!0,function(n,s,a,h){if(n!==void 0){const c=r[0],d=r[r.length-1],f=e?$a(c,e,a,i):c;if(h)return t?tl(n,f,d):Rt(n,d,f);const p=Math.min(f,n),m=Math.floor(Na(r,p,s));return r[m]>f&&m<r.length-1?r[m+1]:r[m]}}}function B_(r,t,e,i,n,s){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?$a(t,n,c,s):t;if(d)return i?tl(a,f,e):Rt(a,e,f);const p=1e-9,m=Math.ceil(Math.log(t/f)/Math.log(r)-p),y=-h*(.5-p)+.5,v=Math.min(f,a),A=Math.floor(Math.log(t/v)/Math.log(r)+y),M=Math.max(m,A),b=t/Math.pow(r,M);return Rt(b,e,f)}}}function fu(r,t,e,i,n){return e=e!==void 0?e:!0,function(s,a,h,c){if(s!==void 0){const d=i?$a(r,i,h,n):r;return!e||!c?Rt(s,t,d):tl(s,d,t)}}}function el(r){if(r!==void 0)return 0}function gu(r){if(r!==void 0)return r}function j_(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 U_(r){const t=r===void 0?$s(5):r;return function(e,i){return i||e===void 0?e:Math.abs(e)<=t?0:e}}function pu(r){return Math.pow(r,3)}function jn(r){return 1-pu(1-r)}function G_(r){return 3*r*r-2*r*r*r}function H_(r){return r}const Si=typeof navigator<"u"&&typeof navigator.userAgent<"u"?navigator.userAgent.toLowerCase():"",Y_=Si.includes("firefox"),W_=Si.includes("safari")&&!Si.includes("chrom")&&(Si.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(Si)),Z_=Si.includes("webkit")&&!Si.includes("edge"),mu=Si.includes("macintosh"),_u=typeof devicePixelRatio<"u"?devicePixelRatio:1,il=typeof WorkerGlobalScope<"u"&&typeof OffscreenCanvas<"u"&&self instanceof WorkerGlobalScope,yu=typeof Image<"u"&&Image.prototype.decode,vu=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}(),X_=new Array(6);function Wt(){return[1,0,0,1,0,0]}function xu(r,t){const e=r[0],i=r[1],n=r[2],s=r[3],a=r[4],h=r[5],c=t[0],d=t[1],f=t[2],p=t[3],m=t[4],y=t[5];return r[0]=e*c+n*d,r[1]=i*c+s*d,r[2]=e*f+n*p,r[3]=i*f+s*p,r[4]=e*m+n*y+a,r[5]=i*m+s*y+h,r}function Au(r,t,e,i,n,s,a){return r[0]=t,r[1]=e,r[2]=i,r[3]=n,r[4]=s,r[5]=a,r}function Q_(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 Ft(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 V_(r,t,e){return Au(r,t,0,0,e,0,0)}function K_(r,t,e){return xu(r,Au(X_,1,0,0,1,t,e))}function ke(r,t,e,i,n,s,a,h){const c=Math.sin(s),d=Math.cos(s);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 no(r,t){const e=q_(t);vt(e!==0,"Transformation matrix cannot be inverted");const i=t[0],n=t[1],s=t[2],a=t[3],h=t[4],c=t[5];return r[0]=a/e,r[1]=-n/e,r[2]=-s/e,r[3]=i/e,r[4]=(s*c-a*h)/e,r[5]=-(i*c-n*h)/e,r}function q_(r){return r[0]*r[3]-r[1]*r[2]}let wu;function Eu(r){const t="matrix("+r.join(", ")+")";if(il)return t;const e=wu||(wu=document.createElement("div"));return e.style.transform=t,e.style.transform}function ki(r,t,e,i,n,s){s=s||[];let a=0;for(let h=t;h<e;h+=i){const c=r[h],d=r[h+1];s[a++]=n[0]*c+n[2]*d+n[4],s[a++]=n[1]*c+n[3]*d+n[5]}return s&&s.length!=a&&(s.length=a),s}function Lu(r,t,e,i,n,s,a){a=a||[];const h=Math.cos(n),c=Math.sin(n),d=s[0],f=s[1];let p=0;for(let m=t;m<e;m+=i){const y=r[m]-d,v=r[m+1]-f;a[p++]=d+y*h-v*c,a[p++]=f+y*c+v*h;for(let A=m+2;A<m+i;++A)a[p++]=r[A]}return a&&a.length!=p&&(a.length=p),a}function J_(r,t,e,i,n,s,a,h){h=h||[];const c=a[0],d=a[1];let f=0;for(let p=t;p<e;p+=i){const m=r[p]-c,y=r[p+1]-d;h[f++]=c+n*m,h[f++]=d+s*y;for(let v=p+2;v<p+i;++v)h[f++]=r[v]}return h&&h.length!=f&&(h.length=f),h}function $_(r,t,e,i,n,s,a){a=a||[];let h=0;for(let c=t;c<e;c+=i){a[h++]=r[c]+n,a[h++]=r[c+1]+s;for(let d=c+2;d<c+i;++d)a[h++]=r[d]}return a&&a.length!=h&&(a.length=h),a}const Cu=Wt();class ty extends Ie{constructor(){super(),this.extent_=xe(),this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=Uc((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 lt()}closestPointXY(t,e,i,n){return lt()}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 lt()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&br(e),this.extentRevision_=this.getRevision()}return E_(this.extent_,t)}rotate(t,e){lt()}scale(t,e,i){lt()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return lt()}getType(){return lt()}applyTransform(t){lt()}intersectsExtent(t){return lt()}translate(t,e){lt()}transform(t,e){const i=Nt(t),n=i.getUnits()=="tile-pixels"?function(s,a,h){const c=i.getExtent(),d=i.getWorldExtent(),f=Ae(d)/Ae(c);return ke(Cu,d[0],d[3],f,-f,0,0,0),ki(s,0,s.length,h,Cu,a),Ir(i,e)(s,a,h)}:Ir(i,e);return this.applyTransform(n),this}}const Mu=ty;class gn extends Mu{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return Ga(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return lt()}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=Tu(t),this.layout=t,this.flatCoordinates=e}setCoordinates(t,e){lt()}setLayout(t,e,i){let n;if(t)n=Tu(t);else{for(let s=0;s<i;++s){if(e.length===0){this.layout="XY",this.stride=2;return}e=e[0]}n=e.length,t=pn(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();Lu(i,0,i.length,n,t,e,i),this.changed()}}scale(t,e,i){e===void 0&&(e=t),i||(i=Ii(this.getExtent()));const n=this.getFlatCoordinates();if(n){const s=this.getStride();J_(n,0,n.length,s,t,e,i,n),this.changed()}}translate(t,e){const i=this.getFlatCoordinates();if(i){const n=this.getStride();$_(i,0,i.length,n,t,e,i),this.changed()}}}function pn(r){let t;return r==2?t="XY":r==3?t="XYZ":r==4&&(t="XYZM"),t}function Tu(r){let t;return r=="XY"?t=2:r=="XYZ"||r=="XYM"?t=3:r=="XYZM"&&(t=4),t}function ey(r,t,e){const i=r.getFlatCoordinates();if(!i)return null;const n=r.getStride();return ki(i,0,i.length,n,t,e)}function bu(r,t,e,i,n,s,a){const h=r[t],c=r[t+1],d=r[e]-h,f=r[e+1]-c;let p;if(d===0&&f===0)p=t;else{const m=((n-h)*d+(s-c)*f)/(d*d+f*f);if(m>1)p=e;else if(m>0){for(let y=0;y<i;++y)a[y]=we(r[t+y],r[e+y],m);a.length=i;return}else p=t}for(let m=0;m<i;++m)a[m]=r[p+m];a.length=i}function nl(r,t,e,i,n){let s=r[t],a=r[t+1];for(t+=i;t<e;t+=i){const h=r[t],c=r[t+1],d=un(s,a,h,c);d>n&&(n=d),s=h,a=c}return n}function rl(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];n=nl(r,t,h,i,n),t=h}return n}function iy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];n=rl(r,t,h,i,n),t=h[h.length-1]}return n}function sl(r,t,e,i,n,s,a,h,c,d,f){if(t==e)return d;let p,m;if(n===0){if(m=un(a,h,r[t],r[t+1]),m<d){for(p=0;p<i;++p)c[p]=r[t+p];return c.length=i,m}return d}f=f||[NaN,NaN];let y=t+i;for(;y<e;)if(bu(r,y-i,y,i,a,h,f),m=un(a,h,f[0],f[1]),m<d){for(d=m,p=0;p<i;++p)c[p]=f[p];c.length=i,y+=i}else y+=i*Math.max((Math.sqrt(m)-Math.sqrt(d))/n|0,1);if(s&&(bu(r,e-i,t,i,a,h,f),m=un(a,h,f[0],f[1]),m<d)){for(d=m,p=0;p<i;++p)c[p]=f[p];c.length=i}return d}function ol(r,t,e,i,n,s,a,h,c,d,f){f=f||[NaN,NaN];for(let p=0,m=e.length;p<m;++p){const y=e[p];d=sl(r,t,y,i,n,s,a,h,c,d,f),t=y}return d}function ny(r,t,e,i,n,s,a,h,c,d,f){f=f||[NaN,NaN];for(let p=0,m=e.length;p<m;++p){const y=e[p];d=ol(r,t,y,i,n,s,a,h,c,d,f),t=y[y.length-1]}return d}function ry(r,t,e,i){for(let n=0,s=e.length;n<s;++n)r[t++]=e[n];return t}function ro(r,t,e,i){for(let n=0,s=e.length;n<s;++n){const a=e[n];for(let h=0;h<i;++h)r[t++]=a[h]}return t}function Sr(r,t,e,i,n){n=n||[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=ro(r,t,e[a],i);n[s++]=c,t=c}return n.length=s,n}function Du(r,t,e,i,n){n=n||[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=Sr(r,t,e[a],i,n[s]);c.length===0&&(c[0]=t),n[s++]=c,t=c[c.length-1]}return n.length=s,n}function so(r,t,e,i,n,s,a){const h=(e-t)/i;if(h<3){for(;t<e;t+=i)s[a++]=r[t],s[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 p=d.pop(),m=d.pop();let y=0;const v=r[m],A=r[m+1],M=r[p],b=r[p+1];for(let w=m+i;w<p;w+=i){const E=r[w],C=r[w+1],D=M_(E,C,v,A,M,b);D>y&&(f=w,y=D)}y>n&&(c[(f-t)/i]=1,m+i<f&&d.push(m,f),f+i<p&&d.push(f,p))}for(let p=0;p<h;++p)c[p]&&(s[a++]=r[t+p*i],s[a++]=r[t+p*i+1]);return a}function Pu(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=so(r,t,f,i,n,s,a),h.push(a),t=f}return a}function mn(r,t){return t*Math.round(r/t)}function sy(r,t,e,i,n,s,a){if(t==e)return a;let h=mn(r[t],n),c=mn(r[t+1],n);t+=i,s[a++]=h,s[a++]=c;let d,f;do if(d=mn(r[t],n),f=mn(r[t+1],n),t+=i,t==e)return s[a++]=d,s[a++]=f,a;while(d==h&&f==c);for(;t<e;){const p=mn(r[t],n),m=mn(r[t+1],n);if(t+=i,p==d&&m==f)continue;const y=d-h,v=f-c,A=p-h,M=m-c;if(y*M==v*A&&(y<0&&A<y||y==A||y>0&&A>y)&&(v<0&&M<v||v==M||v>0&&M>v)){d=p,f=m;continue}s[a++]=d,s[a++]=f,h=d,c=f,d=p,f=m}return s[a++]=d,s[a++]=f,a}function al(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c];a=sy(r,t,f,i,n,s,a),h.push(a),t=f}return a}function oy(r,t,e,i,n,s,a,h){for(let c=0,d=e.length;c<d;++c){const f=e[c],p=[];a=al(r,t,f,i,n,s,a,p),h.push(p),t=f[f.length-1]}return a}function Ri(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=t;a<e;a+=i)n[s++]=r.slice(a,a+i);return n.length=s,n}function kr(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[s++]=Ri(r,t,c,i,n[s]),t=c}return n.length=s,n}function ll(r,t,e,i,n){n=n!==void 0?n:[];let s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a];n[s++]=c.length===1&&c[0]===t?[]:kr(r,t,c,i,n[s]),t=c[c.length-1]}return n.length=s,n}function Iu(r,t,e,i){let n=0,s=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=a*h-s*c,s=h,a=c}return n/2}function Su(r,t,e,i){let n=0;for(let s=0,a=e.length;s<a;++s){const h=e[s];n+=Iu(r,t,h,i),t=h}return n}function ay(r,t,e,i){let n=0;for(let s=0,a=e.length;s<a;++s){const h=e[s];n+=Su(r,t,h,i),t=h[h.length-1]}return n}class oo extends gn{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 oo(this.flatCoordinates.slice(),this.layout)}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(nl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),sl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,t,e,i,n))}getArea(){return Iu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return Ri(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(t){const e=[];return e.length=so(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new oo(e,"XY")}getType(){return"LinearRing"}intersectsExtent(t){return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ro(this.flatCoordinates,0,t,this.stride),this.changed()}}const ku=oo;class hl extends gn{constructor(t,e){super(),this.setCoordinates(t,e)}clone(){const t=new hl(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){const s=this.flatCoordinates,a=un(t,e,s[0],s[1]);if(a<n){const h=this.stride;for(let c=0;c<h;++c)i[c]=s[c];return i.length=h,a}return n}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(t){return Kc(this.flatCoordinates,t)}getType(){return"Point"}intersectsExtent(t){return ja(t,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(t,e){this.setLayout(e,t,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ry(this.flatCoordinates,0,t,this.stride),this.changed()}}const ao=hl;function ly(r,t,e,i,n){return!$c(n,function(a){return!_n(r,t,e,i,a[0],a[1])})}function _n(r,t,e,i,n,s){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<=s?f>s&&(d-h)*(s-c)-(n-h)*(f-c)>0&&a++:f<=s&&(d-h)*(s-c)-(n-h)*(f-c)<0&&a--,h=d,c=f}return a!==0}function cl(r,t,e,i,n,s){if(e.length===0||!_n(r,t,e[0],i,n,s))return!1;for(let a=1,h=e.length;a<h;++a)if(_n(r,e[a-1],e[a],i,n,s))return!1;return!0}function hy(r,t,e,i,n,s){if(e.length===0)return!1;for(let a=0,h=e.length;a<h;++a){const c=e[a];if(cl(r,t,c,i,n,s))return!0;t=c[c.length-1]}return!1}function ul(r,t,e,i,n,s,a){let h,c,d,f,p,m,y;const v=n[s+1],A=[];for(let w=0,E=e.length;w<E;++w){const C=e[w];for(f=r[C-i],m=r[C-i+1],h=t;h<C;h+=i)p=r[h],y=r[h+1],(v<=m&&y<=v||m<=v&&v<=y)&&(d=(v-m)/(y-m)*(p-f)+f,A.push(d)),f=p,m=y}let M=NaN,b=-1/0;for(A.sort(Di),f=A[0],h=1,c=A.length;h<c;++h){p=A[h];const w=Math.abs(p-f);w>b&&(d=(f+p)/2,cl(r,t,e,i,d,v)&&(M=d,b=w)),f=p}return isNaN(M)&&(M=n[s]),a?(a.push(M,v,b),a):[M,v,b]}function Ru(r,t,e,i,n){let s=[];for(let a=0,h=e.length;a<h;++a){const c=e[a];s=ul(r,t,c,i,n,2*a,s),t=c[c.length-1]}return s}function Ou(r,t,e,i,n){let s;for(t+=i;t<e;t+=i)if(s=n(r.slice(t-i,t),r.slice(t,t+i)),s)return s;return!1}function lo(r,t,e,i,n){const s=Jc(xe(),r,t,e,i);return ce(n,s)?hn(n,s)||s[0]>=n[0]&&s[2]<=n[2]||s[1]>=n[1]&&s[3]<=n[3]?!0:Ou(r,t,e,i,function(a,h){return L_(n,a,h)}):!1}function cy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){if(lo(r,t,e[s],i,n))return!0;t=e[s]}return!1}function zu(r,t,e,i,n){return!!(lo(r,t,e,i,n)||_n(r,t,e,i,n[0],n[1])||_n(r,t,e,i,n[0],n[3])||_n(r,t,e,i,n[2],n[1])||_n(r,t,e,i,n[2],n[3]))}function Nu(r,t,e,i,n){if(!zu(r,t,e[0],i,n))return!1;if(e.length===1)return!0;for(let s=1,a=e.length;s<a;++s)if(ly(r,e[s-1],e[s],i,n)&&!lo(r,e[s-1],e[s],i,n))return!1;return!0}function uy(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];if(Nu(r,t,h,i,n))return!0;t=h[h.length-1]}return!1}function dy(r,t,e,i){for(;t<e-i;){for(let n=0;n<i;++n){const s=r[t+n];r[t+n]=r[e-i+n],r[e-i+n]=s}t+=i,e-=i}}function dl(r,t,e,i){let n=0,s=r[e-i],a=r[e-i+1];for(;t<e;t+=i){const h=r[t],c=r[t+1];n+=(h-s)*(c+a),s=h,a=c}return n===0?void 0:n>0}function fl(r,t,e,i,n){n=n!==void 0?n:!1;for(let s=0,a=e.length;s<a;++s){const h=e[s],c=dl(r,t,h,i);if(s===0){if(n&&c||!n&&!c)return!1}else if(n&&!c||!n&&c)return!1;t=h}return!0}function Fu(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s){const h=e[s];if(!fl(r,t,h,i,n))return!1;h.length&&(t=h[h.length-1])}return!0}function ho(r,t,e,i,n){n=n!==void 0?n:!1;for(let s=0,a=e.length;s<a;++s){const h=e[s],c=dl(r,t,h,i);(s===0?n&&c||!n&&!c:n&&!c||!n&&c)&&dy(r,t,h,i),t=h}return t}function gl(r,t,e,i,n){for(let s=0,a=e.length;s<a;++s)t=ho(r,t,e[s],i,n);return t}function fy(r,t){const e=[];let i=0,n=0,s;for(let a=0,h=t.length;a<h;++a){const c=t[a],d=dl(r,i,c,2);if(s===void 0&&(s=d),d===s)e.push(t.slice(n,a+1));else{if(e.length===0)continue;e[e.length-1].push(t[n])}n=a+1,i=c}return e}class Oi extends gn{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?Ye(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new Oi(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(rl(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ol(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return cl(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,e)}getArea(){return Su(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),ho(e,0,this.ends_,this.stride,t)):e=this.flatCoordinates,kr(e,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const t=Ii(this.getExtent());this.flatInteriorPoint_=ul(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new ao(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(t){return t<0||this.ends_.length<=t?null:new ku(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 s=0;for(let a=0,h=i.length;a<h;++a){const c=i[a],d=new ku(e.slice(s,c),t);n.push(d),s=c}return n}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;fl(t,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=ho(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=al(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(t),e,0,i),new Oi(e,"XY",i)}getType(){return"Polygon"}intersectsExtent(t){return Nu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Sr(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}function Bu(r){if(Js(r))throw new Error("Cannot create polygon from empty extent");const t=r[0],e=r[1],i=r[2],n=r[3],s=[t,e,t,n,i,n,i,e,t,e];return new Oi(s,"XY",[s.length])}const pl=0;class gy extends Ie{constructor(t){super(),this.on,this.once,this.un,t=Object.assign({},t),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=Ka(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&&su(),t.center&&(t.center=hi(t.center,this.projection_)),t.extent&&(t.extent=fn(t.extent,this.projection_)),this.applyOptions_(t)}applyOptions_(t){const e=Object.assign({},t);for(const h in Se)delete e[h];this.setProperties(e,!0);const i=my(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=py(t),s=i.constraint,a=_y(t);this.constraints_={center:n,resolution:s,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 s=this.getResolution(),a=s/2*(n[3]-e[3]+e[1]-n[1]),h=s/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=hi(n.center,this.getProjection())),n.anchor&&(n=Object.assign({},n),n.anchor=hi(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&&co(i,!0);return}let s=Date.now(),a=this.targetCenter_.slice(),h=this.targetResolution_,c=this.targetRotation_;const d=[];for(;n<e;++n){const f=arguments[n],p={start:s,complete:!1,anchor:f.anchor,duration:f.duration!==void 0?f.duration:1e3,easing:f.easing||G_,callback:i};if(f.center&&(p.sourceCenter=a,p.targetCenter=f.center.slice(),a=p.targetCenter),f.zoom!==void 0?(p.sourceResolution=h,p.targetResolution=this.getResolutionForZoom(f.zoom),h=p.targetResolution):f.resolution&&(p.sourceResolution=h,p.targetResolution=f.resolution,h=p.targetResolution),f.rotation!==void 0){p.sourceRotation=c;const m=Bn(f.rotation-c+Math.PI,2*Math.PI)-Math.PI;p.targetRotation=c+m,c=p.targetRotation}yy(p)?p.complete=!0:s+=p.duration,d.push(p)}this.animations_.push(d),this.setHint(Ht.ANIMATING,1),this.updateAnimations_()}getAnimating(){return this.hints_[Ht.ANIMATING]>0}getInteracting(){return this.hints_[Ht.INTERACTING]>0}cancelAnimations(){this.setHint(Ht.ANIMATING,-this.hints_[Ht.ANIMATING]);let t;for(let e=0,i=this.animations_.length;e<i;++e){const n=this.animations_[e];if(n[0].callback&&co(n[0].callback,!1),!t)for(let s=0,a=n.length;s<a;++s){const h=n[s];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 s=!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):s=!1;const p=c.easing(f);if(c.sourceCenter){const m=c.sourceCenter[0],y=c.sourceCenter[1],v=c.targetCenter[0],A=c.targetCenter[1];this.nextCenter_=c.targetCenter;const M=m+p*(v-m),b=y+p*(A-y);this.targetCenter_=[M,b]}if(c.sourceResolution&&c.targetResolution){const m=p===1?c.targetResolution:c.sourceResolution+p*(c.targetResolution-c.sourceResolution);if(c.anchor){const y=this.getViewportSize_(this.getRotation()),v=this.constraints_.resolution(m,0,y,!0);this.targetCenter_=this.calculateCenterZoom(v,c.anchor)}this.nextResolution_=c.targetResolution,this.targetResolution_=m,this.applyTargetState_(!0)}if(c.sourceRotation!==void 0&&c.targetRotation!==void 0){const m=p===1?Bn(c.targetRotation+Math.PI,2*Math.PI)-Math.PI:c.sourceRotation+p*(c.targetRotation-c.sourceRotation);if(c.anchor){const y=this.constraints_.rotation(m,!0);this.targetCenter_=this.calculateCenterRotate(y,c.anchor)}this.nextRotation_=c.targetRotation,this.targetRotation_=m}if(this.applyTargetState_(!0),e=!0,!c.complete)break}if(s){this.animations_[i]=null,this.setHint(Ht.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const a=n[0].callback;a&&co(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]],Xa(i,t-this.getRotation()),b_(i,e)),i}calculateCenterZoom(t,e){let i;const n=this.getCenterInternal(),s=this.getResolution();if(n!==void 0&&s!==void 0){const a=e[0]-t*(e[0]-n[0])/s,h=e[1]-t*(e[1]-n[1])/s;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&&Ja(t,this.getProjection())}getCenterInternal(){return this.get(Se.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 uu(e,this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();vt(e,"The view center is not defined");const i=this.getResolution();vt(i!==void 0,"The view resolution is not defined");const n=this.getRotation();return vt(n!==void 0,"The view rotation is not defined"),Ya(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(Se.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(fn(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=Tt(t)/e[0],n=Ae(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(s){return e/Math.pow(t,s*n)}}getRotation(){return this.get(Se.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,s=Math.log(i/n)/e;return function(a){return Math.log(i/a)/e/s}}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 s=this.padding_;if(s){const a=this.getViewportSizeMinusPadding_();n=ml(n,this.getViewportSize_(),[a[0]/2+s[3],a[1]/2+s[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 s=Na(this.resolutions_,t,1);e=s,i=this.resolutions_[s],s==this.resolutions_.length-1?n=2:n=i/this.resolutions_[s+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=Rt(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,Rt(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(vt(Array.isArray(t)||typeof t.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){vt(!Js(t),"Cannot fit empty extent provided as `geometry`");const n=fn(t,this.getProjection());i=Bu(n)}else if(t.getType()==="Circle"){const n=fn(t.getExtent(),this.getProjection());i=Bu(n),i.rotate(this.getRotation(),Ii(n))}else i=t;this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),n=Math.sin(-e),s=t.getFlatCoordinates(),a=t.getStride();let h=1/0,c=1/0,d=-1/0,f=-1/0;for(let p=0,m=s.length;p<m;p+=a){const y=s[p]*i-s[p+1]*n,v=s[p]*n+s[p+1]*i;h=Math.min(h,y),c=Math.min(c,v),d=Math.max(d,y),f=Math.max(f,v)}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],s=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,s?0:1);const d=this.getRotation(),f=Math.sin(d),p=Math.cos(d),m=Ii(h);m[0]+=(n[1]-n[3])/2*c,m[1]+=(n[0]-n[2])/2*c;const y=m[0]*p-m[1]*f,v=m[1]*p+m[0]*f,A=this.getConstrainedCenter([y,v],c),M=e.callback?e.callback:kn;e.duration!==void 0?this.animateInternal({resolution:c,center:A,duration:e.duration,easing:e.easing},M):(this.targetResolution_=c,this.targetCenter_=A,this.applyTargetState_(!1,!0),co(M,!0))}centerOn(t,e,i){this.centerOnInternal(hi(t,this.getProjection()),e,i)}centerOnInternal(t,e,i){this.setCenterInternal(ml(t,e,i,this.getResolution(),this.getRotation()))}calculateCenterShift(t,e,i,n){let s;const a=this.padding_;if(a&&t){const h=this.getViewportSizeMinusPadding_(-i),c=ml(t,n,[h[0]/2+a[3],h[1]/2+a[0]],e,i);s=[t[0]-c[0],t[1]-c[1]]}return s}isDef(){return!!this.getCenterInternal()&&this.getResolution()!==void 0}adjustCenter(t){const e=Ja(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&&hi(e,this.getProjection()),this.adjustResolutionInternal(t,e)}adjustResolutionInternal(t,e){const i=this.getAnimating()||this.getInteracting(),n=this.getViewportSize_(this.getRotation()),s=this.constraints_.resolution(this.targetResolution_*t,0,n,i);e&&(this.targetCenter_=this.calculateCenterZoom(s,e)),this.targetResolution_*=t,this.applyTargetState_()}adjustZoom(t,e){this.adjustResolution(Math.pow(this.zoomFactor_,-t),e)}adjustRotation(t,e){e&&(e=hi(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&&hi(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),s=this.getViewportSize_(n),a=this.constraints_.resolution(this.targetResolution_,0,s,i),h=this.constraints_.center(this.targetCenter_,a,s,i,this.calculateCenterShift(this.targetCenter_,a,n,s));this.get(Se.ROTATION)!==n&&this.set(Se.ROTATION,n),this.get(Se.RESOLUTION)!==a&&(this.set(Se.RESOLUTION,a),this.set("zoom",this.getZoom(),!0)),(!h||!this.get(Se.CENTER)||!io(this.get(Se.CENTER),h))&&this.set(Se.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,s=this.constraints_.rotation(this.targetRotation_),a=this.getViewportSize_(s),h=this.constraints_.resolution(this.targetResolution_,n,a),c=this.constraints_.center(this.targetCenter_,h,a,!1,this.calculateCenterShift(this.targetCenter_,h,s,a));if(t===0&&!this.cancelAnchor_){this.targetResolution_=h,this.targetRotation_=s,this.targetCenter_=c,this.applyTargetState_();return}i=i||(t===0?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,(this.getResolution()!==h||this.getRotation()!==s||!this.getCenterInternal()||!io(this.getCenterInternal(),c))&&(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:s,center:c,resolution:h,duration:t,easing:jn,anchor:i}))}beginInteraction(){this.resolveConstraints(0),this.setHint(Ht.INTERACTING,1)}endInteraction(t,e,i){i=i&&hi(i,this.getProjection()),this.endInteractionInternal(t,e,i)}endInteractionInternal(t,e,i){this.getInteracting()&&(this.setHint(Ht.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 co(r,t){setTimeout(function(){r(t)},0)}function py(r){if(r.extent!==void 0){const e=r.smoothExtentConstraint!==void 0?r.smoothExtentConstraint:!0;return du(r.extent,r.constrainOnlyCenter,e)}const t=Ka(r.projection,"EPSG:3857");if(r.multiWorld!==!0&&t.isGlobal()){const e=t.getExtent().slice();return e[0]=-1/0,e[2]=1/0,du(e,!1,!1)}return N_}function my(r){let t,e,i,a=r.minZoom!==void 0?r.minZoom:pl,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,p=r.showFullExtent!==void 0?r.showFullExtent:!1,m=Ka(r.projection,"EPSG:3857"),y=m.getExtent();let v=r.constrainOnlyCenter,A=r.extent;if(!d&&!A&&m.isGlobal()&&(v=!1,A=y),r.resolutions!==void 0){const M=r.resolutions;e=M[a],i=M[h]!==void 0?M[h]:M[M.length-1],r.constrainResolution?t=F_(M,f,!v&&A,p):t=fu(e,i,f,!v&&A,p)}else{const b=(y?Math.max(Tt(y),Ae(y)):360*Mr.degrees/m.getMetersPerUnit())/Fa/Math.pow(2,pl),w=b/Math.pow(2,28-pl);e=r.maxResolution,e!==void 0?a=0:e=b/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=b/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=B_(c,e,i,f,!v&&A,p):t=fu(e,i,f,!v&&A,p)}return{constraint:t,maxResolution:e,minResolution:i,minZoom:a,zoomFactor:c}}function _y(r){if(r.enableRotation!==void 0?r.enableRotation:!0){const e=r.constrainRotation;return e===void 0||e===!0?U_():e===!1?gu:typeof e=="number"?j_(e):gu}return el}function yy(r){return!(r.sourceCenter&&r.targetCenter&&!io(r.sourceCenter,r.targetCenter)||r.sourceResolution!==r.targetResolution||r.sourceRotation!==r.targetRotation)}function ml(r,t,e,i,n){const s=Math.cos(-n);let a=Math.sin(-n),h=r[0]*s-r[1]*a,c=r[1]*s+r[0]*a;h+=(t[0]/2-e[0])*i,c+=(e[1]-t[1]/2)*i,a=-a;const d=h*s-c*a,f=c*s+h*a;return[d,f]}const We=gy,ue={ADD:"add",REMOVE:"remove"},ju={LENGTH:"length"};class uo extends ai{constructor(t,e,i){super(t),this.element=e,this.index=i}}class vy extends Ie{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(ju.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 uo(ue.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 uo(ue.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 uo(ue.REMOVE,n,t)),this.dispatchEvent(new uo(ue.ADD,e,t))}updateLength_(){this.set(ju.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 Ze=vy,Rr={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},$t={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};$t.max=$t.whitepoint[2].D65,$t.rgb=function(r,t){t=t||$t.whitepoint[2].E;var e=r[0]/t[0],i=r[1]/t[1],n=r[2]/t[2],s,a,h;return s=e*3.240969941904521+i*-1.537383177570093+n*-.498610760293,a=e*-.96924363628087+i*1.87596750150772+n*.041555057407175,h=e*.055630079696993+i*-.20397695888897+n*1.056971514242878,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s=s*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a=a*12.92,h=h>.0031308?1.055*Math.pow(h,1/2.4)-.055:h=h*12.92,s=Math.min(Math.max(0,s),1),a=Math.min(Math.max(0,a),1),h=Math.min(Math.max(0,h),1),[s*255,a*255,h*255]},Rr.xyz=function(r,t){var e=r[0]/255,i=r[1]/255,n=r[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var s=e*.41239079926595+i*.35758433938387+n*.18048078840183,a=e*.21263900587151+i*.71516867876775+n*.072192315360733,h=e*.019330818715591+i*.11919477979462+n*.95053215224966;return t=t||$t.whitepoint[2].E,[s*t[0],a*t[1],h*t[2]]};var _l={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(r,t,e){var i,n,s,a,h,c,d,f,p,m,y,v,A;if(s=r[0],a=r[1],h=r[2],s===0)return[0,0,0];var M=.0011070564598794539;return t=t||"D65",e=e||2,p=$t.whitepoint[e][t][0],m=$t.whitepoint[e][t][1],y=$t.whitepoint[e][t][2],v=4*p/(p+15*m+3*y),A=9*m/(p+15*m+3*y),i=a/(13*s)+v||0,n=h/(13*s)+A||0,d=s>8?m*Math.pow((s+16)/116,3):m*s*M,c=d*9*i/(4*n)||0,f=d*(12-3*i-20*n)/(4*n)||0,[c,d,f]}};$t.luv=function(r,t,e){var i,n,s,a,h,c,d,f,p,m,y,v,A,M=.008856451679035631,b=903.2962962962961;t=t||"D65",e=e||2,p=$t.whitepoint[e][t][0],m=$t.whitepoint[e][t][1],y=$t.whitepoint[e][t][2],v=4*p/(p+15*m+3*y),A=9*m/(p+15*m+3*y),c=r[0],d=r[1],f=r[2],i=4*c/(c+15*d+3*f)||0,n=9*d/(c+15*d+3*f)||0;var w=d/m;return s=w<=M?b*w:116*Math.pow(w,1/3)-16,a=13*s*(i-v),h=13*s*(n-A),[s,a,h]};var Uu={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(r){var t=r[0],e=r[1],i=r[2],n,s,a;return a=i/360*2*Math.PI,n=e*Math.cos(a),s=e*Math.sin(a),[t,n,s]},xyz:function(r){return _l.xyz(Uu.luv(r))}};_l.lchuv=function(r){var t=r[0],e=r[1],i=r[2],n=Math.sqrt(e*e+i*i),s=Math.atan2(i,e),a=s*360/2/Math.PI;return a<0&&(a+=360),[t,n,a]},$t.lchuv=function(r){return _l.lchuv($t.luv(r))};const Gu={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var Hu={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function xy(r){var f,p;var t,e=[],i=1,n;if(typeof r=="number")return{space:"rgb",values:[r>>>16,(r&65280)>>>8,r&255],alpha:1};if(typeof r=="number")return{space:"rgb",values:[r>>>16,(r&65280)>>>8,r&255],alpha:1};if(r=String(r).toLowerCase(),Gu[r])e=Gu[r].slice(),n="rgb";else if(r==="transparent")i=0,n="rgb",e=[0,0,0];else if(r[0]==="#"){var s=r.slice(1),a=s.length,h=a<=4;i=1,h?(e=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],a===4&&(i=parseInt(s[3]+s[3],16)/255)):(e=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],a===8&&(i=parseInt(s[6]+s[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),n="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(r)){var c=t[1];n=c.replace(/a$/,"");var d=n==="cmyk"?4:n==="gray"?1:3;e=t[2].trim().split(/\s*[,\/]\s*|\s+/),n==="color"&&(n=e.shift()),e=e.map(function(m,y){if(m[m.length-1]==="%")return m=parseFloat(m)/100,y===3?m:n==="rgb"?m*255:n[0]==="h"||n[0]==="l"&&!y?m*100:n==="lab"?m*125:n==="lch"?y<2?m*150:m*360:n[0]==="o"&&!y?m:n==="oklab"?m*.4:n==="oklch"?y<2?m*.4:m*360:m;if(n[y]==="h"||y===2&&n[n.length-1]==="h"){if(Hu[m]!==void 0)return Hu[m];if(m.endsWith("deg"))return parseFloat(m);if(m.endsWith("turn"))return parseFloat(m)*360;if(m.endsWith("grad"))return parseFloat(m)*360/400;if(m.endsWith("rad"))return parseFloat(m)*180/Math.PI}return m==="none"?0:parseFloat(m)}),i=e.length>d?e.pop():1}else/[0-9](?:\s|\/|,)/.test(r)&&(e=r.match(/([0-9]+)/g).map(function(m){return parseFloat(m)}),n=((p=(f=r.match(/([a-z])/ig))==null?void 0:f.join(""))==null?void 0:p.toLowerCase())||"rgb");return{space:n,values:e,alpha:i}}var yl={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(r){var t=r[0]/360,e=r[1]/100,i=r[2]/100,n,s,a,h,c,d=0;if(e===0)return c=i*255,[c,c,c];for(s=i<.5?i*(1+e):i+e-i*e,n=2*i-s,h=[0,0,0];d<3;)a=t+1/3*-(d-1),a<0?a++:a>1&&a--,c=6*a<1?n+(s-n)*6*a:2*a<1?s:3*a<2?n+(s-n)*(2/3-a)*6:n,h[d++]=c*255;return h}};Rr.hsl=function(r){var t=r[0]/255,e=r[1]/255,i=r[2]/255,n=Math.min(t,e,i),s=Math.max(t,e,i),a=s-n,h,c,d;return s===n?h=0:t===s?h=(e-i)/a:e===s?h=2+(i-t)/a:i===s&&(h=4+(t-e)/a),h=Math.min(h*60,360),h<0&&(h+=360),d=(n+s)/2,s===n?c=0:d<=.5?c=a/(s+n):c=a/(2-s-n),[h,c*100,d*100]};function Ay(r){Array.isArray(r)&&r.raw&&(r=String.raw(...arguments)),r instanceof Number&&(r=+r);var t,e=xy(r);if(!e.space)return[];const i=e.space[0]==="h"?yl.min:Rr.min,n=e.space[0]==="h"?yl.max:Rr.max;return t=Array(3),t[0]=Math.min(Math.max(e.values[0],i[0]),n[0]),t[1]=Math.min(Math.max(e.values[1],i[1]),n[1]),t[2]=Math.min(Math.max(e.values[2],i[2]),n[2]),e.space[0]==="h"&&(t=yl.rgb(t)),t.push(Math.min(Math.max(e.alpha,0),1)),t}function Yu(r){return typeof r=="string"?r:Xu(r)}const wy=1024,Or={};let vl=0;function Ey(r){if(r.length===4)return r;const t=r.slice();return t[3]=1,t}function Wu(r){const t=$t.lchuv(Rr.xyz(r));return t[3]=r[3],t}function Ly(r){const t=$t.rgb(Uu.xyz(r));return t[3]=r[3],t}function xl(r){if(Or.hasOwnProperty(r))return Or[r];if(vl>=wy){let e=0;for(const i in Or)e++&3||(delete Or[i],--vl)}const t=Ay(r);if(t.length!==4)throw new Error('Failed to parse "'+r+'" as color');for(const e of t)if(isNaN(e))throw new Error('Failed to parse "'+r+'" as color');return Zu(t),Or[r]=t,++vl,t}function zr(r){return Array.isArray(r)?r:xl(r)}function Zu(r){return r[0]=Rt(r[0]+.5|0,0,255),r[1]=Rt(r[1]+.5|0,0,255),r[2]=Rt(r[2]+.5|0,0,255),r[3]=Rt(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+")"}function Cy(r){try{return xl(r),!0}catch{return!1}}class My{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=Qu(t,e,i);return n in this.cache_?this.cache_[n]:null}set(t,e,i,n){const s=Qu(t,e,i);this.cache_[s]=n,++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function Qu(r,t,e){const i=e?Yu(e):"null";return t+":"+r+":"+i}const fo=new My,Lt={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 Ty extends Ie{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[Lt.OPACITY]=t.opacity!==void 0?t.opacity:1,vt(typeof e[Lt.OPACITY]=="number","Layer opacity must be a number"),e[Lt.VISIBLE]=t.visible!==void 0?t.visible:!0,e[Lt.Z_INDEX]=t.zIndex,e[Lt.MAX_RESOLUTION]=t.maxResolution!==void 0?t.maxResolution:1/0,e[Lt.MIN_RESOLUTION]=t.minResolution!==void 0?t.minResolution:0,e[Lt.MIN_ZOOM]=t.minZoom!==void 0?t.minZoom:-1/0,e[Lt.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=Rt(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 lt()}getLayerStatesArray(t){return lt()}getExtent(){return this.get(Lt.EXTENT)}getMaxResolution(){return this.get(Lt.MAX_RESOLUTION)}getMinResolution(){return this.get(Lt.MIN_RESOLUTION)}getMinZoom(){return this.get(Lt.MIN_ZOOM)}getMaxZoom(){return this.get(Lt.MAX_ZOOM)}getOpacity(){return this.get(Lt.OPACITY)}getSourceState(){return lt()}getVisible(){return this.get(Lt.VISIBLE)}getZIndex(){return this.get(Lt.Z_INDEX)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(Lt.EXTENT,t)}setMaxResolution(t){this.set(Lt.MAX_RESOLUTION,t)}setMinResolution(t){this.set(Lt.MIN_RESOLUTION,t)}setMaxZoom(t){this.set(Lt.MAX_ZOOM,t)}setMinZoom(t){this.set(Lt.MIN_ZOOM,t)}setOpacity(t){vt(typeof t=="number","Layer opacity must be a number"),this.set(Lt.OPACITY,t)}setVisible(t){this.set(Lt.VISIBLE,t)}setZIndex(t){this.set(Lt.Z_INDEX,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const Vu=Ty,te={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"};class by extends Vu{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(Lt.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(Lt.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_&&(Mt(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const t=this.getSource();t&&(this.sourceChangeKey_=mt(t,ut.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 We?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 s=this.getExtent();return Al(n,e.viewState)&&(!s||ce(s,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 We?t.getViewStateAndExtent():t;let s=e(n);return Array.isArray(s)||(s=[s]),s}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(Lt.MAP,t)}getMapInternal(){return this.get(Lt.MAP)}setMap(t){this.mapPrecomposeKey_&&(Mt(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(Mt(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=mt(t,te.PRECOMPOSE,function(e){const n=e.frameState.layerStatesArray,s=this.getLayerState(!1);vt(!n.some(function(a){return a.layer===s.layer}),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),n.push(s)},this),this.mapRenderKey_=mt(this,ut.CHANGE,t.render,t),this.changed())}setSource(t){this.set(Lt.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 Al(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 go=by;class Dy extends js{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){lt()}calculateMatrices2D(t){const e=t.viewState,i=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;ke(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),no(n,i)}forEachFeatureAtCoordinate(t,e,i,n,s,a,h,c){let d;const f=e.viewState;function p(C,D,P,O){return s.call(a,D,C?P:null,O)}const m=f.projection,y=eu(t.slice(),m),v=[[0,0]];if(m.canWrapX()&&n){const C=m.getExtent(),D=Tt(C);v.push([-D,0],[D,0])}const A=e.layerStatesArray,M=A.length,b=[],w=[];for(let C=0;C<v.length;C++)for(let D=M-1;D>=0;--D){const P=A[D],O=P.layer;if(O.hasRenderer()&&Al(P,f)&&h.call(c,O)){const k=O.getRenderer(),N=O.getSource();if(k&&N){const H=N.getWrapX()?y:t,U=p.bind(null,P.managed);w[0]=H[0]+v[C][0],w[1]=H[1]+v[C][1],d=k.forEachFeatureAtCoordinate(w,e,i,U,b)}if(d)return d}}if(b.length===0)return;const E=1/b.length;return b.forEach((C,D)=>C.distanceSq+=D*E),b.sort((C,D)=>C.distanceSq-D.distanceSq),b.some(C=>d=C.callback(C.feature,C.layer,C.geometry)),d}hasFeatureAtCoordinate(t,e,i,n,s,a){return this.forEachFeatureAtCoordinate(t,e,i,n,Cr,this,s,a)!==void 0}getMap(){return this.map_}renderFrame(t){lt()}flushDeclutterItems(t){}scheduleExpireIconCache(t){fo.canExpireCache()&&t.postRenderFunctions.push(Py)}}function Py(r,t){fo.expire()}const Iy=Dy;class Sy extends ai{constructor(t,e,i,n){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=n}}const Nr=Sy,po="ol-hidden",ky="ol-selectable",Fr="ol-unselectable",Ku="ol-unsupported",mo="ol-control",qu="ol-collapsed",Ry=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"),Ju=["style","variant","weight","size","lineHeight","family"],$u=function(r){const t=r.match(Ry);if(!t)return null;const e={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let i=0,n=Ju.length;i<n;++i){const s=t[i+1];s!==void 0&&(e[Ju[i]]=s)}return e.families=e.family.split(/,\s?/),e};function ee(r,t,e,i){let n;return e&&e.length?n=e.shift():il?n=new OffscreenCanvas(r||300,t||300):n=document.createElement("canvas"),r&&(n.width=r),t&&(n.height=t),n.getContext("2d",i)}function _o(r){const t=r.canvas;t.width=1,t.height=1,r.clearRect(0,0,1,1)}function Oy(r){let t=r.offsetWidth;const e=getComputedStyle(r);return t+=parseInt(e.marginLeft,10)+parseInt(e.marginRight,10),t}function zy(r){let t=r.offsetHeight;const e=getComputedStyle(r);return t+=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10),t}function yo(r,t){const e=t.parentNode;e&&e.replaceChild(r,t)}function vo(r){return r&&r.parentNode?r.parentNode.removeChild(r):null}function td(r){for(;r.lastChild;)r.removeChild(r.lastChild)}function Ny(r,t){const e=r.childNodes;for(let i=0;;++i){const n=e[i],s=t[i];if(!n&&!s)break;if(n!==s){if(!n){r.appendChild(s);continue}if(!s){r.removeChild(n),--i;continue}r.insertBefore(s,n)}}}const ed="10px sans-serif",de="#000",Un="round",ci=[],ui=0,Gn="round",Br=10,jr="#000",Ur="center",xo="middle",yn=[0,0,0,0],Gr=1,di=new Ie;let Hn=null,wl;const El={},Fy=function(){const t="32px ",e=["monospace","serif"],i=e.length,n="wmytzilWMYTZIL@#/&?$%10";let s,a;function h(d,f,p){let m=!0;for(let y=0;y<i;++y){const v=e[y];if(a=Ao(d+" "+f+" "+t+v,n),p!=v){const A=Ao(d+" "+f+" "+t+p+","+v,n);m=m&&A!=a}}return!!m}function c(){let d=!0;const f=di.getKeys();for(let p=0,m=f.length;p<m;++p){const y=f[p];di.get(y)<100&&(h.apply(this,y.split(`
19
+ `))?(Rn(El),Hn=null,wl=void 0,di.set(y,100)):(di.set(y,di.get(y)+1,!0),d=!1))}d&&(clearInterval(s),s=void 0)}return function(d){const f=$u(d);if(!f)return;const p=f.families;for(let m=0,y=p.length;m<y;++m){const v=p[m],A=f.style+`
17
20
  `+f.weight+`
18
- `+v;di.get(E)===void 0&&(di.set(E,100,!0),h(f.style,f.weight,v)||(di.set(E,0,!0),s===void 0&&(s=setInterval(c,32))))}}}(),By=function(){let r;return function(t){let e=Ll[t];if(e==null){if(il){const i=Qu(t),n=ed(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);Ll[t]=e}return e}}();function ed(r,t){return Zn||(Zn=ee(1,1)),r!=El&&(Zn.font=r,El=Zn.font),Zn.measureText(t)}function Eo(r,t){return ed(r,t).width}function id(r,t,e){if(t in e)return e[t];const i=t.split(`
19
- `).reduce((n,s)=>Math.max(n,Eo(r,s)),0);return e[t]=i,i}function Gy(r,t){const e=[],i=[],n=[];let s=0,a=0,h=0,c=0;for(let d=0,f=t.length;d<=f;d+=2){const p=t[d];if(p===`
20
- `||d===f){s=Math.max(s,a),n.push(a),a=0,h+=c;continue}const _=t[d+1]||r.font,y=Eo(_,p);e.push(y),a+=y;const v=By(_);i.push(v),c=Math.max(c,v)}return{width:s,height:h,widths:e,heights:i,lineWidths:n}}function Uy(r,t,e,i,n,s,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]),jy(i,r)):f[0]<0||f[1]<0?(r.translate(c,d),r.scale(f[0],f[1]),r.drawImage(i,n,s,a,h,0,0,a,h)):r.drawImage(i,n,s,a,h,c,d,a*f[0],h*f[1]),r.restore()}function jy(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 Zy extends Ry{constructor(t){super(t),this.fontChangeListenerKey_=ft(di,An.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=Nr+" 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 zr(t,void 0,e);i.dispatchEvent(n)}}disposeInternal(){Ct(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(te.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 s=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(!wl(c,i)||f!="ready"&&f!="undefined"){d.unrender();continue}const p=d.render(t,s);p&&(p!==s&&(this.children_.push(p),s=p),"getDeclutter"in d&&n.push(d))}this.flushDeclutterItems(t),zy(this.element_,this.children_),this.dispatchRenderEvent(te.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 Wy=Zy;class Fi extends ai{constructor(t,e){super(t),this.layer=e}}const bl={LAYERS:"layers"};class Tl extends Yu{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(bl.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new Ve(i.slice(),{unique:!0}):mt(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new Ve(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(Ct),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(ft(t,ue.ADD,this.handleLayersAdd_,this),ft(t,ue.REMOVE,this.handleLayersRemove_,this));for(const i in this.listenerKeys_)this.listenerKeys_[i].forEach(Ct);Dn(this.listenerKeys_);const e=t.getArray();for(let i=0,n=e.length;i<n;i++){const s=e[i];this.registerLayerListeners_(s),this.dispatchEvent(new Fi("addlayer",s))}this.changed()}registerLayerListeners_(t){const e=[ft(t,An.PROPERTYCHANGE,this.handleLayerChange_,this),ft(t,lt.CHANGE,this.handleLayerChange_,this)];t instanceof Tl&&e.push(ft(t,"addlayer",this.handleLayerGroupAdd_,this),ft(t,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[ct(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new Fi("addlayer",t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new Fi("removelayer",t.layer))}handleLayersAdd_(t){const e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new Fi("addlayer",e)),this.changed()}handleLayersRemove_(t){const e=t.element,i=ct(e);this.listenerKeys_[i].forEach(Ct),delete this.listenerKeys_[i],this.dispatchEvent(new Fi("removelayer",e)),this.changed()}getLayers(){return this.get(bl.LAYERS)}setLayers(t){const e=this.getLayers();if(e){const i=e.getArray();for(let n=0,s=i.length;n<s;++n)this.dispatchEvent(new Fi("removelayer",i[n]))}this.set(bl.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 s=n.zIndex;!t&&n.zIndex===void 0&&(s=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=kr(c.extent,n.extent):c.extent=n.extent),c.zIndex===void 0&&(c.zIndex=s)}return e}getSourceState(){return"ready"}}const Lo=Tl;class Hy extends ai{constructor(t,e,i){super(t),this.map=e,this.frameState=i!==void 0?i:null}}const Wn=Hy;class Vy extends Wn{constructor(t,e,i,n,s,a){super(t,e,s),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 zi=Vy,It={SINGLECLICK:"singleclick",CLICK:lt.CLICK,DBLCLICK:lt.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},Cl={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};class Xy extends Zs{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_=ft(i,Cl.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=ft(i,Cl.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(lt.TOUCHMOVE,this.boundHandleTouchMove_,yu?{passive:!1}:!1)}emulateClick_(t){let e=new zi(It.CLICK,this.map_,t);this.dispatchEvent(e),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new zi(It.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const i=new zi(It.SINGLECLICK,this.map_,t);this.dispatchEvent(i)},250)}updateActivePointers_(t){const e=t,i=e.pointerId;if(e.type==It.POINTERUP||e.type==It.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==It.POINTERDOWN||e.type==It.POINTERMOVE)&&(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new zi(It.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(Ct),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 zi(It.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(ft(i,It.POINTERMOVE,this.handlePointerMove_,this),ft(i,It.POINTERUP,this.handlePointerUp_,this),ft(this.element_,It.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(ft(this.element_.getRootNode(),It.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new zi(It.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 zi(It.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_&&(Ct(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(lt.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(Ct(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(Ct),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const Yy=Xy,fi={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend",LOADSTART:"loadstart",LOADEND:"loadend"},Vt={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"},bo=1/0;class Ky{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Dn(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){mt(!(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!=bo?(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,s=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]=s,i[t]=a,this.siftDown_(h,t)}siftDown_(t,e){const i=this.elements_,n=this.priorities_,s=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]=s,n[e]=a}reprioritize(){const t=this.priorityFunction_,e=this.elements_,i=this.priorities_;let n=0;const s=e.length;let a,h,c;for(h=0;h<s;++h)a=e[h],c=t(a),c==bo?delete this.queuedElements_[this.keyFunction_(a)]:(i[n]=c,e[n++]=a);e.length=n,i.length=n,this.heapify_()}}const qy=Ky,et={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class Jy extends qy{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(lt.CHANGE,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,i=e.getState();if(i===et.LOADED||i===et.ERROR||i===et.EMPTY){i!==et.ERROR&&e.removeEventListener(lt.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,s,a;for(;this.tilesLoading_<t&&i<e&&this.getCount()>0;)s=this.dequeue()[0],a=s.getKey(),n=s.getState(),n===et.IDLE&&!(a in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[a]=!0,++this.tilesLoading_,++i,s.load())}}const Qy=Jy;function $y(r,t,e,i,n){if(!r||!(e in r.wantedTiles)||!r.wantedTiles[e][t.getKey()])return bo;const s=r.viewState.center,a=i[0]-s[0],h=i[1]-s[1];return 65536*Math.log(n)+Math.sqrt(a*a+h*h)/n}class tv extends Re{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(){xo(this.element),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&xo(this.element);for(let e=0,i=this.listenerKeys.length;e<i;++e)Ct(this.listenerKeys[e]);this.listenerKeys.length=0,this.map_=t,t&&((this.target_?this.target_:t.getOverlayContainerStopEvent()).appendChild(this.element),this.render!==In&&this.listenerKeys.push(ft(t,fi.POSTRENDER,this.render,this)),t.render())}render(t){}setTarget(t){this.target_=typeof t=="string"?document.getElementById(t):t}}const To=tv;class ev extends To{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",s=t.collapseLabel!==void 0?t.collapseLabel:"›",a=t.collapseClassName!==void 0?t.collapseClassName:e+"-collapse";typeof s=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=s,this.collapseLabel_.className=a):this.collapseLabel_=s;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(lt.CLICK,this.handleClick_.bind(this),!1);const d=e+" "+Nr+" "+mo+(this.collapsed_&&this.collapsible_?" "+qu:"")+(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),!li(e,this.renderedAttributions_)){$u(this.ulElement_);for(let n=0,s=e.length;n<s;++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(qu),this.collapsed_?vo(this.collapseLabel_,this.label_):vo(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 nd=ev;class iv extends To{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 s=t.tipLabel?t.tipLabel:"Reset rotation",a=document.createElement("button");a.className=e+"-reset",a.setAttribute("type","button"),a.title=s,a.appendChild(this.label_),a.addEventListener(lt.CLICK,this.handleClick_.bind(this),!1);const h=e+" "+Nr+" "+mo,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(_o)}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:Gn}):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 s=this.element.classList.contains(_o);!s&&i===0?this.element.classList.add(_o):s&&i!==0&&this.element.classList.remove(_o)}this.label_.style.transform=n}this.rotation_=i}}const nv=iv;class rv extends To{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",s=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(lt.CLICK,this.handleClick_.bind(this,i),!1);const p=document.createElement("button");p.className=s,p.setAttribute("type","button"),p.title=d,p.appendChild(typeof h=="string"?document.createTextNode(h):h),p.addEventListener(lt.CLICK,this.handleClick_.bind(this,-i),!1);const _=e+" "+Nr+" "+mo,y=this.element;y.className=_,y.appendChild(f),y.appendChild(p),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 s=i.getConstrainedZoom(n+t);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:s,duration:this.duration_,easing:Gn})):i.setZoom(s)}}}const sv=rv;function rd(r){r=r||{};const t=new Ve;return(r.zoom!==void 0?r.zoom:!0)&&t.push(new sv(r.zoomOptions)),(r.rotate!==void 0?r.rotate:!0)&&t.push(new nv(r.rotateOptions)),(r.attribution!==void 0?r.attribution:!0)&&t.push(new nd(r.attributionOptions)),t}const sd={ACTIVE:"active"};class ov extends Re{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(sd.ACTIVE)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(sd.ACTIVE,t)}setMap(t){this.map_=t}}function av(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:Zm,center:r.getConstrainedCenter(n)})}}function Ml(r,t,e,i){const n=r.getZoom();if(n===void 0)return;const s=r.getConstrainedZoom(n+t),a=r.getResolutionForZoom(s);r.getAnimating()&&r.cancelAnimations(),r.animate({resolution:a,anchor:e,duration:i!==void 0?i:250,easing:Gn})}const Zr=ov;class lv extends Zr{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==It.DBLCLICK){const i=t.originalEvent,n=t.map,s=t.coordinate,a=i.shiftKey?-this.delta_:this.delta_,h=n.getView();Ml(h,a,s,this.duration_),i.preventDefault(),e=!0}return!e}}const hv=lv;class cv extends Zr{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==It.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==It.POINTERUP){const i=this.handleUpEvent(t);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(t.type==It.POINTERDOWN){const i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==It.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 Sl(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 Wr=cv;function Pl(r){const t=arguments;return function(e){let i=!0;for(let n=0,s=t.length;n<s&&(i=i&&t[n](e),!!i);++n);return i}}const uv=function(r){const t=r.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},dv=function(r){const t=r.map.getTargetElement(),e=r.map.getOwnerDocument().activeElement;return t.contains(e)},od=function(r){return r.map.getTargetElement().hasAttribute("tabindex")?dv(r):!0},fv=Tr,ad=function(r){const t=r.originalEvent;return t.button==0&&!(Vm&&pu&&t.ctrlKey)},ld=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey},gv=function(r){const t=r.originalEvent;return pu?t.metaKey:t.ctrlKey},pv=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},hd=function(r){const t=r.originalEvent,e=t.target.tagName;return e!=="INPUT"&&e!=="SELECT"&&e!=="TEXTAREA"&&!t.target.isContentEditable},kl=function(r){const t=r.originalEvent;return mt(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.pointerType=="mouse"},_v=function(r){const t=r.originalEvent;return mt(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.isPrimary&&t.button===0};class mv extends Wr{constructor(t){super({stopDown:js}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const e=t.condition?t.condition:Pl(ld,_v);this.condition_=t.onFocusOnly?Pl(od,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(Sl(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(n[0],n[1]),this.lastCentroid){const s=[this.lastCentroid[0]-n[0],n[1]-this.lastCentroid[1]],h=t.map.getView();Pm(s,h.getResolution()),Xa(s,h.getRotation()),h.adjustCenterInternal(s)}}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(),s=this.kinetic_.getAngle(),a=i.getCenterInternal(),h=e.getPixelFromCoordinateInternal(a),c=e.getCoordinateFromPixelInternal([h[0]-n*Math.cos(s),h[1]-n*Math.sin(s)]);i.animateInternal({center:i.getConstrainedCenter(c),duration:500,easing:Gn})}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 yv=mv;class vv extends Wr{constructor(t){t=t||{},super({stopDown:js}),this.condition_=t.condition?t.condition:uv,this.lastAngle_=void 0,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){if(!kl(t))return;const e=t.map,i=e.getView();if(i.getConstraints().rotation===el)return;const n=e.getSize(),s=t.pixel,a=Math.atan2(n[1]/2-s[1],s[0]-n[0]/2);if(this.lastAngle_!==void 0){const h=a-this.lastAngle_;i.adjustRotationInternal(-h)}this.lastAngle_=a}handleUpEvent(t){return kl(t)?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){return kl(t)&&ad(t)&&this.condition_(t)?(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}}const xv=vv;class wv extends Us{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 Oi([n])}getGeometry(){return this.geometry_}}const Ev=wv,Co={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"};class Rl extends ai{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}}class Lv extends Wr{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.box_=new Ev(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:ad,this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){const n=i[0]-e[0],s=i[1]-e[1];return n*n+s*s>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new Rl(Co.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 Rl(e?Co.BOXEND:Co.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 Rl(Co.BOXSTART,t.coordinate,t)),!0):!1}onBoxEnd(t){}}const bv=Lv;class Tv extends bv{constructor(t){t=t||{};const e=t.condition?t.condition:pv;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 s=i.rotatedExtentForGeometry(n),a=i.getResolutionForExtentInternal(s),h=i.getResolution()/a;n=n.clone(),n.scale(h*h)}i.fitInternal(n,{duration:this.duration_,easing:Gn})}}const Cv=Tv,vn={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};class Mv extends Zr{constructor(t){super(),t=t||{},this.defaultCondition_=function(e){return ld(e)&&hd(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==lt.KEYDOWN){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==vn.DOWN||n==vn.LEFT||n==vn.RIGHT||n==vn.UP)){const a=t.map.getView(),h=a.getResolution()*this.pixelDelta_;let c=0,d=0;n==vn.DOWN?d=-h:n==vn.LEFT?c=-h:n==vn.RIGHT?c=h:d=h;const f=[c,d];Xa(f,a.getRotation()),av(a,f,this.duration_),i.preventDefault(),e=!0}}return!e}}const Sv=Mv;class Pv extends Zr{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(e){return!gv(e)&&hd(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==lt.KEYDOWN||t.type==lt.KEYPRESS){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==="+"||n==="-")){const s=t.map,a=n==="+"?this.delta_:-this.delta_,h=s.getView();Ml(h,a,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}}const kv=Pv;class Rv{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 s=this.points_[e]-this.points_[i],a=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(a,s),this.initialVelocity_=Math.sqrt(s*s+a*a)/n,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const Av=Rv;class Iv extends Zr{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:fv;this.condition_=t.onFocusOnly?Pl(od,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!==lt.WHEEL)return!0;const i=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate);let s;if(t.type==lt.WHEEL&&(s=n.deltaY,Wm&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(s/=_u),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(s*=40)),s===0)return!1;this.lastDelta_=s;const a=Date.now();this.startTime_===void 0&&(this.startTime_=a),(!this.mode_||a-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(s)<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(-s/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=a,!1;this.totalDelta_+=s;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=-Dt(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),Ml(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 Dv=Iv;class Ov extends Wr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=js),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],s=Math.atan2(n.clientY-i.clientY,n.clientX-i.clientX);if(this.lastAngle_!==void 0){const c=s-this.lastAngle_;this.rotationDelta_+=c,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=c}this.lastAngle_=s;const a=t.map,h=a.getView();h.getConstraints().rotation!==el&&(this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(Sl(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=Ov;class zv extends Wr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=js),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],s=i.clientX-n.clientX,a=i.clientY-n.clientY,h=Math.sqrt(s*s+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(Sl(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 Nv=zv;function Bv(r){r=r||{};const t=new Ve,e=new Av(-.005,.05,100);return(r.altShiftDragRotate!==void 0?r.altShiftDragRotate:!0)&&t.push(new xv),(r.doubleClickZoom!==void 0?r.doubleClickZoom:!0)&&t.push(new hv({delta:r.zoomDelta,duration:r.zoomDuration})),(r.dragPan!==void 0?r.dragPan:!0)&&t.push(new yv({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 Nv({duration:r.zoomDuration})),(r.keyboard!==void 0?r.keyboard:!0)&&(t.push(new Sv),t.push(new kv({delta:r.zoomDelta,duration:r.zoomDuration}))),(r.mouseWheelZoom!==void 0?r.mouseWheelZoom:!0)&&t.push(new Dv({onFocusOnly:r.onFocusOnly,duration:r.zoomDuration})),(r.shiftDragZoom!==void 0?r.shiftDragZoom:!0)&&t.push(new Cv({duration:r.zoomDuration})),t}function cd(r){return r[0]>0&&r[1]>0}function Gv(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 Le(r,t){return Array.isArray(r)?r:(t===void 0?t=[r,r]:(t[0]=r,t[1]=r),t)}function ud(r){if(r instanceof po){r.setMapInternal(null);return}r instanceof Lo&&r.getLayers().forEach(ud)}function dd(r,t){if(r instanceof po){r.setMapInternal(t);return}if(r instanceof Lo){const e=r.getLayers().getArray();for(let i=0,n=e.length;i<n;++i)dd(e[i],t)}}class Uv extends Re{constructor(t){super(),t=t||{},this.on,this.once,this.un;const e=jv(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:_u,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=Ht(),this.pixelToCoordinateTransform_=Ht(),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||rd(),this.interactions=e.interactions||Bv({onFocusOnly:!0}),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Qy(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Vt.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(Vt.VIEW,this.handleViewChanged_),this.addChangeListener(Vt.SIZE,this.handleSizeChanged_),this.addChangeListener(Vt.TARGET,this.handleTargetChanged_),this.setProperties(e.values);const i=this;t.view&&!(t.view instanceof He)&&t.view.then(function(n){i.setView(new He(n))}),this.controls.addEventListener(ue.ADD,n=>{n.element.setMap(this)}),this.controls.addEventListener(ue.REMOVE,n=>{n.element.setMap(null)}),this.interactions.addEventListener(ue.ADD,n=>{n.element.setMap(this)}),this.interactions.addEventListener(ue.REMOVE,n=>{n.element.setMap(null)}),this.overlays_.addEventListener(ue.ADD,n=>{this.addOverlayInternal_(n.element)}),this.overlays_.addEventListener(ue.REMOVE,n=>{const s=n.element.getId();s!==void 0&&delete this.overlayIdIndex_[s.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){dd(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 s=i.hitTolerance!==void 0?i.hitTolerance:0,a=i.layerFilter!==void 0?i.layerFilter:Tr,h=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(n,this.frameState_,s,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 Lo?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:Tr,s=e.hitTolerance!==void 0?e.hitTolerance:0,a=e.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,s,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(),s=i.width/n[0],a=i.height/n[1],h="changedTouches"in t?t.changedTouches[0]:t;return[(h.clientX-i.left)/s,(h.clientY-i.top)/a]}getTarget(){return this.get(Vt.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return Qa(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Nt(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(Vt.LAYERGROUP)}setLayers(t){const e=this.getLayerGroup();if(t instanceof Ve){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 s=n.layer.getRenderer();if(s&&!s.ready)return!0;const a=n.layer.getSource();if(a&&a.loading)return!0}return!1}getPixelFromCoordinate(t){const e=hi(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){const e=this.frameState_;return e?Nt(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(Vt.SIZE)}getView(){return this.get(Vt.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 $y(this.frameState_,t,e,i,n)}handleBrowserEvent(t,e){e=e||t.type;const i=new zi(e,this,t);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(t){if(!this.frameState_)return;const e=t.originalEvent,i=e.type;if(i===Cl.POINTERDOWN||i===lt.WHEEL||i===lt.KEYDOWN){const n=this.getOwnerDocument(),s=this.viewport_.getRootNode?this.viewport_.getRootNode():n,a=e.target;if(this.overlayContainerStopEvent_.contains(a)||!(s===n?n.documentElement:s).contains(a))return}if(t.frameState=this.frameState_,this.dispatchEvent(t)!==!1){const n=this.getInteractions().getArray().slice();for(let s=n.length-1;s>=0;s--){const a=n[s];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_,s=n;if(t){const a=t.viewHints;if(a[Zt.ANIMATING]||a[Zt.INTERACTING]){const h=Date.now()-t.time>8;n=h?0:8,s=h?0:2}}e.getTilesLoading()<n&&(e.reprioritize(),e.loadMoreTiles(n,s))}t&&this.renderer_&&!t.animate&&(this.renderComplete_===!0?(this.hasListener(te.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(te.RENDERCOMPLETE,t),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Wn(fi.LOADEND,this,t)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Wn(fi.LOADSTART,this,t))));const i=this.postRenderFunctions_;for(let n=0,s=i.length;n<s;++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)Ct(this.targetChangeHandlerKeys_[i]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(lt.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(lt.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,xo(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 Wy(this)),this.mapBrowserEventHandler_=new Yy(this,this.moveTolerance_);for(const s in It)this.mapBrowserEventHandler_.addEventListener(It[s],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(lt.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(lt.WHEEL,this.boundHandleBrowserEvent_,yu?{passive:!1}:!1);const i=this.keyboardEventTarget_?this.keyboardEventTarget_:e;this.targetChangeHandlerKeys_=[ft(i,lt.KEYDOWN,this.handleBrowserEvent,this),ft(i,lt.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_&&(Ct(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(Ct(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const t=this.getView();t&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=ft(t,An.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=ft(t,lt.CHANGE,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(Ct),this.layerGroupPropertyListenerKeys_=null);const t=this.getLayerGroup();t&&(this.handleLayerAdd_(new Fi("addlayer",t)),this.layerGroupPropertyListenerKeys_=[ft(t,An.PROPERTYCHANGE,this.render,this),ft(t,lt.CHANGE,this.render,this),ft(t,"addlayer",this.handleLayerAdd_,this),ft(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){ud(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){const e=this.getSize(),i=this.getView(),n=this.frameState_;let s=null;if(e!==void 0&&cd(e)&&i&&i.isDef()){const a=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),h=i.getState();if(s={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutterTree:null,extent:Wa(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:ct(this),renderTargets:{}},h.nextCenter&&h.nextResolution){const c=isNaN(h.nextRotation)?h.rotation:h.nextRotation;s.nextExtent=Wa(h.nextCenter,h.nextResolution,c,e)}}this.frameState_=s,this.renderer_.renderFrame(s),s&&(s.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,s.postRenderFunctions),n&&(!this.previousExtent_||!$s(this.previousExtent_)&&!Nn(s.extent,this.previousExtent_))&&(this.dispatchEvent(new Wn(fi.MOVESTART,this,n)),this.previousExtent_=Sr(this.previousExtent_)),this.previousExtent_&&!s.viewHints[Zt.ANIMATING]&&!s.viewHints[Zt.INTERACTING]&&!Nn(s.extent,this.previousExtent_)&&(this.dispatchEvent(new Wn(fi.MOVEEND,this,s)),Yc(s.extent,this.previousExtent_))),this.dispatchEvent(new Wn(fi.POSTRENDER,this,s)),this.renderComplete_=this.hasListener(fi.LOADSTART)||this.hasListener(fi.LOADEND)||this.hasListener(te.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 Fi("removelayer",e)),this.set(Vt.LAYERGROUP,t)}setSize(t){this.set(Vt.SIZE,t)}setTarget(t){this.set(Vt.TARGET,t)}setView(t){if(!t||t instanceof He){this.set(Vt.VIEW,t);return}this.set(Vt.VIEW,new He);const e=this;t.then(function(i){e.setView(new He(i))})}updateSize(){const t=this.getTargetElement();let e;if(t){const n=getComputedStyle(t),s=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(s)&&!isNaN(a)&&(e=[s,a],!cd(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&nu("No map visible because the map container's width or height are 0."))}const i=this.getSize();e&&(!i||!li(e,i))&&(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}}function jv(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 Lo({layers:r.layers});e[Vt.LAYERGROUP]=i,e[Vt.TARGET]=r.target,e[Vt.VIEW]=r.view instanceof He?r.view:new He;let n;r.controls!==void 0&&(Array.isArray(r.controls)?n=new Ve(r.controls.slice()):(mt(typeof r.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),n=r.controls));let s;r.interactions!==void 0&&(Array.isArray(r.interactions)?s=new Ve(r.interactions.slice()):(mt(typeof r.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),s=r.interactions));let a;return r.overlays!==void 0?Array.isArray(r.overlays)?a=new Ve(r.overlays.slice()):(mt(typeof r.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),a=r.overlays):a=new Ve,{controls:n,interactions:s,keyboardEventTarget:t,overlays:a,values:e}}const Zv=Uv;function Wv(r,t,e,i,n){fd(r,t,e||0,i||r.length-1,n||Hv)}function fd(r,t,e,i,n){for(;i>e;){if(i-e>600){var s=i-e+1,a=t-e+1,h=Math.log(s),c=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*c*(s-c)/s)*(a-s/2<0?-1:1),f=Math.max(e,Math.floor(t-a*c/s+d)),p=Math.min(i,Math.floor(t+(s-a)*c/s+d));fd(r,t,f,p,n)}var _=r[t],y=e,v=i;for(Hr(r,e,t),n(r[i],_)>0&&Hr(r,e,i);y<v;){for(Hr(r,y,v),y++,v--;n(r[y],_)<0;)y++;for(;n(r[v],_)>0;)v--}n(r[e],_)===0?Hr(r,e,v):(v++,Hr(r,v,i)),v<=t&&(e=v+1),t<=v&&(i=v-1)}}function Hr(r,t,e){var i=r[t];r[t]=r[e],r[e]=i}function Hv(r,t){return r<t?-1:r>t?1:0}let gd=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(!So(t,e))return i;const n=this.toBBox,s=[];for(;e;){for(let a=0;a<e.children.length;a++){const h=e.children[a],c=e.leaf?n(h):h;So(t,c)&&(e.leaf?i.push(h):Il(t,c)?this._all(h,i):s.push(h))}e=s.pop()}return i}collides(t){let e=this.data;if(!So(t,e))return!1;const i=[];for(;e;){for(let n=0;n<e.children.length;n++){const s=e.children[n],a=e.leaf?this.toBBox(s):s;if(So(t,a)){if(e.leaf||Il(t,a))return!0;i.push(s)}}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=Vn([]),this}remove(t,e){if(!t)return this;let i=this.data;const n=this.toBBox(t),s=[],a=[];let h,c,d;for(;i||s.length;){if(i||(i=s.pop(),c=s[s.length-1],h=a.pop(),d=!0),i.leaf){const f=Vv(t,i.children,e);if(f!==-1)return i.children.splice(f,1),s.push(i),this._condense(s),this}!d&&!i.leaf&&Il(i,n)?(s.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 s=i-e+1;let a=this._maxEntries,h;if(s<=a)return h=Vn(t.slice(e,i+1)),Hn(h,this.toBBox),h;n||(n=Math.ceil(Math.log(s)/Math.log(a)),a=Math.ceil(s/Math.pow(a,n-1))),h=Vn([]),h.leaf=!1,h.height=n;const c=Math.ceil(s/a),d=c*Math.ceil(Math.sqrt(a));pd(t,e,i,d,this.compareMinX);for(let f=e;f<=i;f+=d){const p=Math.min(f+d-1,i);pd(t,f,p,c,this.compareMinY);for(let _=f;_<=p;_+=c){const y=Math.min(_+c-1,p);h.children.push(this._build(t,_,y,n-1))}}return Hn(h,this.toBBox),h}_chooseSubtree(t,e,i,n){for(;n.push(e),!(e.leaf||n.length-1===i);){let s=1/0,a=1/0,h;for(let c=0;c<e.children.length;c++){const d=e.children[c],f=Al(d),p=Kv(t,d)-f;p<a?(a=p,s=f<s?f:s,h=d):p===a&&f<s&&(s=f,h=d)}e=h||e.children[0]}return e}_insert(t,e,i){const n=i?t:this.toBBox(t),s=[],a=this._chooseSubtree(n,this.data,e,s);for(a.children.push(t),Xr(a,n);e>=0&&s[e].children.length>this._maxEntries;)this._split(s,e),e--;this._adjustParentBBoxes(n,s,e)}_split(t,e){const i=t[e],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);const a=this._chooseSplitIndex(i,s,n),h=Vn(i.children.splice(a,i.children.length-a));h.height=i.height,h.leaf=i.leaf,Hn(i,this.toBBox),Hn(h,this.toBBox),e?t[e-1].children.push(h):this._splitRoot(i,h)}_splitRoot(t,e){this.data=Vn([t,e]),this.data.height=t.height+1,this.data.leaf=!1,Hn(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let n,s=1/0,a=1/0;for(let h=e;h<=i-e;h++){const c=Vr(t,0,h,this.toBBox),d=Vr(t,h,i,this.toBBox),f=qv(c,d),p=Al(c)+Al(d);f<s?(s=f,n=h,a=p<a?p:a):f===s&&p<a&&(a=p,n=h)}return n||i-e}_chooseSplitAxis(t,e,i){const n=t.leaf?this.compareMinX:Xv,s=t.leaf?this.compareMinY:Yv,a=this._allDistMargin(t,e,i,n),h=this._allDistMargin(t,e,i,s);a<h&&t.children.sort(n)}_allDistMargin(t,e,i,n){t.children.sort(n);const s=this.toBBox,a=Vr(t,0,e,s),h=Vr(t,i-e,i,s);let c=Mo(a)+Mo(h);for(let d=e;d<i-e;d++){const f=t.children[d];Xr(a,t.leaf?s(f):f),c+=Mo(a)}for(let d=i-e-1;d>=e;d--){const f=t.children[d];Xr(h,t.leaf?s(f):f),c+=Mo(h)}return c}_adjustParentBBoxes(t,e,i){for(let n=i;n>=0;n--)Xr(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():Hn(t[e],this.toBBox)}};function Vv(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 Hn(r,t){Vr(r,0,r.children.length,t,r)}function Vr(r,t,e,i,n){n||(n=Vn(null)),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let s=t;s<e;s++){const a=r.children[s];Xr(n,r.leaf?i(a):a)}return n}function Xr(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 Xv(r,t){return r.minX-t.minX}function Yv(r,t){return r.minY-t.minY}function Al(r){return(r.maxX-r.minX)*(r.maxY-r.minY)}function Mo(r){return r.maxX-r.minX+(r.maxY-r.minY)}function Kv(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 qv(r,t){const e=Math.max(r.minX,t.minX),i=Math.max(r.minY,t.minY),n=Math.min(r.maxX,t.maxX),s=Math.min(r.maxY,t.maxY);return Math.max(0,n-e)*Math.max(0,s-i)}function Il(r,t){return r.minX<=t.minX&&r.minY<=t.minY&&t.maxX<=r.maxX&&t.maxY<=r.maxY}function So(r,t){return t.minX<=r.maxX&&t.minY<=r.maxY&&t.maxX>=r.minX&&t.maxY>=r.minY}function Vn(r){return{children:r,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function pd(r,t,e,i,n){const s=[t,e];for(;s.length;){if(e=s.pop(),t=s.pop(),e-t<=i)continue;const a=t+Math.ceil((e-t)/i/2)*i;Wv(r,a,t,e,n),s.push(t,a,a,e)}}const St={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class Dl{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=Le(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new Dl({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 rt()}getImage(t){return rt()}getHitDetectionImage(){return rt()}getPixelRatio(t){return 1}getImageState(){return rt()}getImageSize(){return rt()}getOrigin(){return rt()}getSize(){return rt()}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_=Le(t)}listenImageChange(t){rt()}load(){rt()}unlistenImageChange(t){rt()}}const _d=Dl;function Xe(r){return Array.isArray(r)?Vu(r):r}class Ol extends _d{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.canvases_,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_,this.renderOptions_,this.render()}clone(){const t=this.getScale(),e=new Ol({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_,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.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){let e=this.canvases_[t];if(!e){const i=this.renderOptions_,n=ee(i.size*t,i.size*t);this.draw_(i,n,t),e=n.canvas,this.canvases_[t]=e}return e}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return St.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_,s=this.radius2_===void 0?n:this.radius2_;if(n<s){const R=n;n=s,s=R}const a=this.radius2_===void 0?this.points_:this.points_*2,h=2*Math.PI/a,c=s*Math.sin(h),d=Math.sqrt(s*s-c*c),f=n-d,p=Math.sqrt(c*c+f*f),_=p/c;if(t==="miter"&&_<=i)return _*e;const y=e/2/_,v=e/2*(f/p),T=Math.sqrt((n+y)*(n+y)+v*v)-n;if(this.radius2_===void 0||t==="bevel")return T*2;const M=n*Math.sin(h),w=Math.sqrt(n*n-M*M),b=s-w,P=Math.sqrt(M*M+b*b)/M;if(P<=i){const R=P*e/2-s-n;return 2*Math.max(T,R)}return T*2}createRenderOptions(){let t=Un,e=jn,i=0,n=null,s=0,a,h=0;this.stroke_&&(a=Xe(this.stroke_.getColor()??Gr),h=this.stroke_.getWidth()??jr,n=this.stroke_.getLineDash(),s=this.stroke_.getLineDashOffset()??0,e=this.stroke_.getLineJoin()??jn,t=this.stroke_.getLineCap()??Un,i=this.stroke_.getMiterLimit()??Br);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:s,lineJoin:e,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const t=this.renderOptions_.size;this.canvases_={},this.hitDetectionCanvas_=null,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=de),e.fillStyle=Xe(n),e.fill()}t.strokeStyle&&(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){let e;if(this.fill_){let i=this.fill_.getColor(),n=0;typeof i=="string"&&(i=Fr(i)),i===null?n=1:Array.isArray(i)&&(n=i.length===4?i[3]:1),n===0&&(e=ee(t.size,t.size),this.drawHitDetectionCanvas_(t,e))}return e?e.canvas: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 s=this.angle_-Math.PI/2,a=2*Math.PI/e;for(let h=0;h<e;h++){const c=s+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=de,e.fill(),t.strokeStyle&&(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 md=Ol;class Fl extends md{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 Fl({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 yd=Fl;class zl{constructor(t){t=t||{},this.color_=t.color!==void 0?t.color:null}clone(){const t=this.getColor();return new zl({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){this.color_=t}}const Po=zl;class Nl{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 Nl({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 ko=Nl;class Ro{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=vd,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 Ro({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,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_=vd,this.geometry_=t}setZIndex(t){this.zIndex_=t}}function Jv(r){let t;if(typeof r=="function")t=r;else{let e;Array.isArray(r)?e=r:(mt(typeof r.getZIndex=="function","Expected an `Style` or an array of `Style`"),e=[r]),t=function(){return e}}return t}let Bl=null;function Qv(r,t){if(!Bl){const e=new Po({color:"rgba(255,255,255,0.4)"}),i=new ko({color:"#3399CC",width:1.25});Bl=[new Ro({image:new yd({fill:e,stroke:i,radius:5}),fill:e,stroke:i})]}return Bl}function vd(r){return r.getGeometry()}const Xn=Ro;function $v(r,t,e){const i=r;let n=!0,s=!1,a=!1;const h=[Ws(i,lt.LOAD,function(){a=!0,s||t()})];return i.src&&mu?(s=!0,i.decode().then(function(){n&&t()}).catch(function(c){n&&(a?t():e())})):h.push(Ws(i,lt.ERROR,e)),function(){n=!1,h.forEach(Ct)}}function t0(r,t){return new Promise((e,i)=>{function n(){a(),e(r)}function s(){a(),i(new Error("Image load error"))}function a(){r.removeEventListener("load",n),r.removeEventListener("error",s)}r.addEventListener("load",n),r.addEventListener("error",s),t&&(r.src=t)})}function e0(r,t){return t&&(r.src=t),r.src&&mu?new Promise((e,i)=>r.decode().then(()=>e(r)).catch(n=>r.complete&&r.width?e(r):i(n))):t0(r)}let Yr=null;class i0 extends Zs{constructor(t,e,i,n,s){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=s,this.imageState_=n===void 0?St.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_===St.LOADED){Yr||(Yr=ee(1,1,void 0,{willReadFrequently:!0})),Yr.drawImage(this.image_,0,0);try{Yr.getImageData(0,0,1,1),this.tainted_=!1}catch{Yr=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(lt.CHANGE)}handleImageError_(){this.imageState_=St.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=St.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=ee(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_===St.IDLE){this.image_||this.initializeImage_(),this.imageState_=St.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&e0(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_!==St.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=Zu(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 n0(r,t,e,i,n){let s=t===void 0?void 0:go.get(t,e,n);return s||(s=new i0(r,r instanceof HTMLImageElement?r.src||void 0:t,e,i,n),go.set(t,e,n,s)),s}function xd(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 _d{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,s=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:e,rotation:i,scale:n,displacement:t.displacement!==void 0?t.displacement:[0,0],rotateWithView:s,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;mt(!(h!==void 0&&a),"`image` and `src` cannot be provided at the same time"),(h===void 0||h.length===0)&&a&&(h=a.src||ct(a)),mt(h!==void 0&&h.length>0,"A defined and non-empty `src` or `image` must be provided"),mt(!((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=St.IDLE:a!==void 0&&(a instanceof HTMLImageElement?a.complete?c=a.src?St.LOADED:St.IDLE:c=St.LOADING:c=St.LOADED),this.color_=t.color!==void 0?Fr(t.color):null,this.iconImage_=n0(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 p=this.getImage(1);if(p.width&&p.height)d=p.width,f=p.height;else if(p instanceof HTMLImageElement){this.initialOptions_=t;const _=()=>{if(this.unlistenImageChange(_),!this.initialOptions_)return;const y=this.iconImage_.getSize();this.setScale(xd(y[0],y[1],t.width,t.height))};this.listenImageChange(_);return}}d!==void 0&&this.setScale(xd(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()==St.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()==St.LOADED)return this.iconImage_.getSize()[1]*t[1]}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(lt.CHANGE,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(lt.CHANGE,t)}}const Ul=Gl,r0="#333";class jl{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.scale_=t.scale,this.scaleArray_=Le(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 Po({color:r0}),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 jl({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_=Le(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 wd=jl;let Yn=0;const Kn=0,Ot=1<<Yn++,J=1<<Yn++,De=1<<Yn++,ie=1<<Yn++,Ni=1<<Yn++,fe=Math.pow(2,Yn)-1,Ed={[Ot]:"boolean",[J]:"number",[De]:"string",[ie]:"color",[Ni]:"number[]"},s0=Object.keys(Ed).map(Number).sort(Pi);function ne(r){const t=[];for(const e of s0)o0(r,e)&&t.push(Ed[e]);return t.length===0?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function o0(r,t){return(r&t)===t}function Ye(r,t){return!!(r&t)}function Ao(r,t){return r===t}class Bi{constructor(t,e){this.type=t,this.value=e}}class a0{constructor(t,e,...i){this.type=t,this.operator=e,this.args=i}}function Ld(){return{variables:new Set,properties:new Set,featureId:!1,style:{}}}function l0(r){switch(r){case"string":return De;case"color":return ie;case"number":return J;case"boolean":return Ot;case"number[]":return Ni;default:throw new Error(`Unrecognized type hint: ${r}`)}}function Tt(r,t,e){switch(typeof r){case"boolean":return new Bi(Ot,r);case"number":return new Bi(J,r);case"string":{let n=De;return Ty(r)&&(n|=ie),Ao(n&e,Kn)||(n&=e),new Bi(n,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 v0(r,t,e);for(const n of r)if(typeof n!="number")throw new Error("Expected an array of numbers");let i=Ni;return(r.length===3||r.length===4)&&(i|=ie),e&&(i&=e),new Bi(i,r)}const F={Get:"get",Var:"var",Concat:"concat",GeometryType:"geometry-type",Any:"any",All:"all",Not:"!",Resolution:"resolution",Zoom:"zoom",Time:"time",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",Between:"between",Interpolate:"interpolate",Case:"case",In:"in",Number:"number",String:"string",Array:"array",Color:"color",Id:"id",Band:"band",Palette:"palette"},h0={[F.Get]:ot(([r,t])=>t!==void 0?l0(t.value):fe,gt(1,2),c0),[F.Var]:ot(([r])=>r.type,gt(1,1),u0),[F.Id]:ot(J|De,Kr,d0),[F.Concat]:ot(De,gt(2,1/0),Et(fe)),[F.GeometryType]:ot(De,Kr),[F.Resolution]:ot(J,Kr),[F.Zoom]:ot(J,Kr),[F.Time]:ot(J,Kr),[F.Any]:ot(Ot,gt(2,1/0),Et(Ot)),[F.All]:ot(Ot,gt(2,1/0),Et(Ot)),[F.Not]:ot(Ot,gt(1,1),Et(Ot)),[F.Equal]:ot(Ot,gt(2,2),Et(fe),xn),[F.NotEqual]:ot(Ot,gt(2,2),Et(fe),xn),[F.GreaterThan]:ot(Ot,gt(2,2),Et(fe),xn),[F.GreaterThanOrEqualTo]:ot(Ot,gt(2,2),Et(fe),xn),[F.LessThan]:ot(Ot,gt(2,2),Et(fe),xn),[F.LessThanOrEqualTo]:ot(Ot,gt(2,2),Et(fe),xn),[F.Multiply]:ot(r=>{let t=J|ie;for(let e=0;e<r.length;e++)t&=r[e].type;return t},gt(2,1/0),Et(J|ie),xn),[F.Divide]:ot(J,gt(2,2),Et(J)),[F.Add]:ot(J,gt(2,1/0),Et(J)),[F.Subtract]:ot(J,gt(2,2),Et(J)),[F.Clamp]:ot(J,gt(3,3),Et(J)),[F.Mod]:ot(J,gt(2,2),Et(J)),[F.Pow]:ot(J,gt(2,2),Et(J)),[F.Abs]:ot(J,gt(1,1),Et(J)),[F.Floor]:ot(J,gt(1,1),Et(J)),[F.Ceil]:ot(J,gt(1,1),Et(J)),[F.Round]:ot(J,gt(1,1),Et(J)),[F.Sin]:ot(J,gt(1,1),Et(J)),[F.Cos]:ot(J,gt(1,1),Et(J)),[F.Atan]:ot(J,gt(1,2),Et(J)),[F.Sqrt]:ot(J,gt(1,1),Et(J)),[F.Match]:ot(r=>{let t=fe;for(let e=2;e<r.length;e+=2)t&=r[e].type;return t&=r[r.length-1].type,t},gt(4,1/0),bd,g0),[F.Between]:ot(Ot,gt(3,3),Et(J)),[F.Interpolate]:ot(r=>{let t=ie|J;for(let e=3;e<r.length;e+=2)t&=r[e].type;return t},gt(6,1/0),bd,p0),[F.Case]:ot(r=>{let t=fe;for(let e=1;e<r.length;e+=2)t&=r[e].type;return t&=r[r.length-1].type,t},gt(3,1/0),f0,_0),[F.In]:ot(Ot,gt(2,2),m0),[F.Number]:ot(J,gt(1,1/0),Et(fe)),[F.String]:ot(De,gt(1,1/0),Et(fe)),[F.Array]:ot(r=>r.length===3||r.length===4?Ni|ie:Ni,gt(1,1/0),Et(J)),[F.Color]:ot(ie,gt(3,4),Et(J)),[F.Band]:ot(J,gt(1,3),Et(J)),[F.Palette]:ot(ie,gt(2,2),y0)};function c0(r,t){const e=Tt(r[1],t);if(!(e instanceof Bi))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");if(t.properties.add(e.value),r.length===3){const i=Tt(r[2],t);return[e,i]}return[e]}function u0(r,t,e,i){const n=r[1];if(typeof n!="string")throw new Error("Expected a string argument for var operation");if(t.variables.add(n),!("variables"in t.style)||t.style.variables[n]===void 0)return[new Bi(fe,n)];const s=t.style.variables[n],a=Tt(s,t);if(a.value=n,i&&!Ye(i,a.type))throw new Error(`The variable ${n} has type ${ne(a.type)} but the following type was expected: ${ne(i)}`);return[a]}function d0(r,t){t.featureId=!0}function Kr(r,t){const e=r[0];if(r.length!==1)throw new Error(`Expected no arguments for ${e} operation`);return[]}function gt(r,t){return function(e,i){const n=e[0],s=e.length-1;if(r===t){if(s!==r){const a=r===1?"":"s";throw new Error(`Expected ${r} argument${a} for ${n}, got ${s}`)}}else if(s<r||s>t){const a=t===1/0?`${r} or more`:`${r} to ${t}`;throw new Error(`Expected ${a} arguments for ${n}, got ${s}`)}}}function Et(r){return function(t,e){const i=t[0],n=t.length-1,s=new Array(n);for(let a=0;a<n;++a){const h=Tt(t[a+1],e);if(!Ye(r,h.type)){const c=ne(r),d=ne(h.type);throw new Error(`Unexpected type for argument ${a} of ${i} operation, got ${c} but expected ${d}`)}h.type&=r,s[a]=h}return s}}function xn(r,t,e){const i=r[0],n=r.length-1;let s=fe;for(let h=0;h<e.length;++h)s&=e[h].type;if(s===Kn)throw new Error(`No common type could be found for arguments of ${i} operation`);const a=new Array(n);for(let h=0;h<n;++h)a[h]=Tt(r[h+1],t,s);return a}function f0(r,t){const e=r[0],i=r.length-1;if(i%2===0)throw new Error(`An odd amount of arguments was expected for operation ${e}, got ${JSON.stringify(i)} instead`)}function bd(r,t){const e=r[0],i=r.length-1;if(i%2===1)throw new Error(`An even amount of arguments was expected for operation ${e}, got ${JSON.stringify(i)} instead`)}function g0(r,t,e,i){const n=r.length-1;let a=Tt(r[1],t).type;const h=Tt(r[r.length-1],t);let c=i!==void 0?i&h.type:h.type;const d=new Array(n-2);for(let p=0;p<n-2;p+=2){const _=Tt(r[p+2],t),y=Tt(r[p+3],t);a&=_.type,c&=y.type,d[p]=_,d[p+1]=y}const f=De|J|Ot;if(!Ye(f,a))throw new Error(`Expected an input of type ${ne(f)} for the interpolate operation, got ${ne(a)} instead`);if(Ao(c,Kn))throw new Error("Could not find a common output type for the following match operation: "+JSON.stringify(r));for(let p=0;p<n-2;p+=2){const _=Tt(r[p+2],t,a),y=Tt(r[p+3],t,c);d[p]=_,d[p+1]=y}return[Tt(r[1],t,a),...d,Tt(r[r.length-1],t,c)]}function p0(r,t,e,i){const n=r[1];let s;switch(n[0]){case"linear":s=1;break;case"exponential":if(s=n[1],typeof s!="number")throw new Error(`Expected a number base for exponential interpolation, got ${JSON.stringify(s)} instead`);break;default:s=null}if(!s)throw new Error(`Invalid interpolation type: ${JSON.stringify(n)}`);s=Tt(s,t);let a=Tt(r[2],t);if(!Ye(J,a.type))throw new Error(`Expected an input of type number for the interpolate operation, got ${ne(a.type)} instead`);a=Tt(r[2],t,J);const h=new Array(r.length-3);for(let c=0;c<h.length;c+=2){let d=Tt(r[c+3],t);if(!Ye(J,d.type))throw new Error(`Expected all stop input values in the interpolate operation to be of type number, got ${ne(d.type)} at position ${c+2} instead`);let f=Tt(r[c+4],t);if(!Ye(J|ie,f.type))throw new Error(`Expected all stop output values in the interpolate operation to be a number or color, got ${ne(f.type)} at position ${c+3} instead`);d=Tt(r[c+3],t,J),f=Tt(r[c+4],t,J|ie),h[c]=d,h[c+1]=f}return[s,a,...h]}function _0(r,t,e,i){const n=Tt(r[r.length-1],t);let s=i!==void 0?i&n.type:n.type;const a=new Array(r.length-1);for(let h=0;h<a.length-1;h+=2){const c=Tt(r[h+1],t),d=Tt(r[h+2],t);if(!Ye(Ot,c.type))throw new Error(`Expected all conditions in the case operation to be of type boolean, got ${ne(c.type)} at position ${h} instead`);s&=d.type,a[h]=c,a[h+1]=d}if(Ao(s,Kn))throw new Error("Could not find a common output type for the following case operation: "+JSON.stringify(r));for(let h=0;h<a.length-1;h+=2)a[h+1]=Tt(r[h+2],t,s);return a[a.length-1]=Tt(r[r.length-1],t,s),a}function m0(r,t){let e=r[2];if(!Array.isArray(e))throw new Error('The "in" operator was provided a literal value which was not an array as second argument.');if(typeof e[0]=="string"){if(e[0]!=="literal")throw new Error('For the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions.');if(!Array.isArray(e[1]))throw new Error('The "in" operator was provided a literal value which was not an array as second argument.');e=e[1]}let i=De|J;const n=new Array(e.length);for(let a=0;a<n.length;a++){const h=Tt(e[a],t);i&=h.type,n[a]=h}if(Ao(i,Kn))throw new Error("Could not find a common type for the following in operation: "+JSON.stringify(r));return[Tt(r[1],t,i),...n]}function y0(r,t){const e=Tt(r[1],t,J);if(e.type!==J)throw new Error(`The first argument of palette must be an number, got ${ne(e.type)} instead`);const i=r[2];if(!Array.isArray(i))throw new Error("The second argument of palette must be an array");const n=new Array(i.length);for(let s=0;s<n.length;s++){const a=Tt(i[s],t,ie);if(!(a instanceof Bi))throw new Error(`The palette color at index ${s} must be a literal value`);if(!Ye(a.type,ie))throw new Error(`The palette color at index ${s} should be of type color, got ${ne(a.type)} instead`);n[s]=a}return[e,...n]}function ot(r,...t){return function(e,i,n){const s=e[0];let a=[];for(let c=0;c<t.length;c++)a=t[c](e,i,a,n)||a;let h=typeof r=="function"?r(a):r;if(n!==void 0){if(!Ye(h,n))throw new Error(`The following expression was expected to return ${ne(n)}, but returns ${ne(h)} instead: ${JSON.stringify(e)}`);h&=n}if(h===Kn)throw new Error(`No matching type was found for the following expression: ${JSON.stringify(e)}`);return new a0(h,s,...a)}}function v0(r,t,e){const i=r[0],n=h0[i];if(!n)throw new Error(`Unknown operator: ${i}`);return n(r,t,e)}function Td(){return{variables:{},properties:{},resolution:NaN,featureId:null}}function Gi(r,t,e){const i=Tt(r,e);if(!Ye(t,i.type)){const n=ne(t),s=ne(i.type);throw new Error(`Expected expression to be of type ${n}, got ${s}`)}return gi(i)}function gi(r,t){if(r instanceof Bi){if(r.type===ie&&typeof r.value=="string"){const i=xl(r.value);return function(){return i}}return function(){return r.value}}const e=r.operator;switch(e){case F.Number:case F.String:return x0(r);case F.Get:case F.Var:return w0(r);case F.Id:return i=>i.featureId;case F.Concat:{const i=r.args.map(n=>gi(n));return n=>"".concat(...i.map(s=>s(n).toString()))}case F.Resolution:return i=>i.resolution;case F.Any:case F.All:case F.Not:return L0(r);case F.Equal:case F.NotEqual:case F.LessThan:case F.LessThanOrEqualTo:case F.GreaterThan:case F.GreaterThanOrEqualTo:return E0(r);case F.Multiply:case F.Divide:case F.Add:case F.Subtract:case F.Clamp:case F.Mod:case F.Pow:case F.Abs:case F.Floor:case F.Ceil:case F.Round:case F.Sin:case F.Cos:case F.Atan:case F.Sqrt:return b0(r);case F.Match:return T0(r);case F.Interpolate:return C0(r);default:throw new Error(`Unsupported operator ${e}`)}}function x0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case F.Number:case F.String:return s=>{for(let a=0;a<i;++a){const h=n[a](s);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 w0(r,t){const i=r.args[0].value;switch(r.operator){case F.Get:return n=>n.properties[i];case F.Var:return n=>n.variables[i];default:throw new Error(`Unsupported accessor operator ${r.operator}`)}}function E0(r,t){const e=r.operator,i=gi(r.args[0]),n=gi(r.args[1]);switch(e){case F.Equal:return s=>i(s)===n(s);case F.NotEqual:return s=>i(s)!==n(s);case F.LessThan:return s=>i(s)<n(s);case F.LessThanOrEqualTo:return s=>i(s)<=n(s);case F.GreaterThan:return s=>i(s)>n(s);case F.GreaterThanOrEqualTo:return s=>i(s)>=n(s);default:throw new Error(`Unsupported comparison operator ${e}`)}}function L0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case F.Any:return s=>{for(let a=0;a<i;++a)if(n[a](s))return!0;return!1};case F.All:return s=>{for(let a=0;a<i;++a)if(!n[a](s))return!1;return!0};case F.Not:return s=>!n[0](s);default:throw new Error(`Unsupported logical operator ${e}`)}}function b0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case F.Multiply:return s=>{let a=1;for(let h=0;h<i;++h)a*=n[h](s);return a};case F.Divide:return s=>n[0](s)/n[1](s);case F.Add:return s=>{let a=0;for(let h=0;h<i;++h)a+=n[h](s);return a};case F.Subtract:return s=>n[0](s)-n[1](s);case F.Clamp:return s=>{const a=n[0](s),h=n[1](s);if(a<h)return h;const c=n[2](s);return a>c?c:a};case F.Mod:return s=>n[0](s)%n[1](s);case F.Pow:return s=>Math.pow(n[0](s),n[1](s));case F.Abs:return s=>Math.abs(n[0](s));case F.Floor:return s=>Math.floor(n[0](s));case F.Ceil:return s=>Math.ceil(n[0](s));case F.Round:return s=>Math.round(n[0](s));case F.Sin:return s=>Math.sin(n[0](s));case F.Cos:return s=>Math.cos(n[0](s));case F.Atan:return i===2?s=>Math.atan2(n[0](s),n[1](s)):s=>Math.atan(n[0](s));case F.Sqrt:return s=>Math.sqrt(n[0](s));default:throw new Error(`Unsupported numeric operator ${e}`)}}function T0(r,t){const e=r.args.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=gi(r.args[n]);return n=>{const s=i[0](n);for(let a=1;a<e;a+=2)if(s===i[a](n))return i[a+1](n);return i[e-1](n)}}function C0(r,t){const e=r.args.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=gi(r.args[n]);return n=>{const s=i[0](n),a=i[1](n);let h,c;for(let d=2;d<e;d+=2){const f=i[d](n);let p=i[d+1](n);const _=Array.isArray(p);if(_&&(p=Ly(p)),f>=a)return d===2?p:_?M0(s,a,h,c,f,p):qr(s,a,h,c,f,p);h=f,c=p}return c}}function qr(r,t,e,i,n,s){const a=n-e;if(a===0)return i;const h=t-e,c=r===1?h/a:(Math.pow(r,h)-1)/(Math.pow(r,a)-1);return i+c*(s-i)}function M0(r,t,e,i,n,s){if(n-e===0)return i;const h=Wu(i),c=Wu(s);let d=c[2]-h[2];d>180?d-=360:d<-180&&(d+=360);const f=[qr(r,t,e,h[0],n,c[0]),qr(r,t,e,h[1],n,c[1]),h[2]+qr(r,t,e,0,n,d),qr(r,t,e,i[3],n,s[3])];return Hu(by(f))}function S0(r){return!0}function P0(r){const t=Ld(),e=k0(r,t),i=Td();return function(n,s){if(i.properties=n.getPropertiesInternal(),i.resolution=s,t.featureId){const a=n.getId();a!==void 0?i.featureId=a:i.featureId=null}return e(i)}}function Cd(r){const t=Ld(),e=r.length,i=new Array(e);for(let a=0;a<e;++a)i[a]=Zl(r[a],t);const n=Td(),s=new Array(e);return function(a,h){if(n.properties=a.getPropertiesInternal(),n.resolution=h,t.featureId){const d=a.getId();d!==void 0?n.featureId=d:n.featureId=null}let c=0;for(let d=0;d<e;++d){const f=i[d](n);f&&(s[c]=f,c+=1)}return s.length=c,s}}function k0(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n){const s=r[n],a="filter"in s?Gi(s.filter,Ot,t):S0;let h;if(Array.isArray(s.style)){const c=s.style.length;h=new Array(c);for(let d=0;d<c;++d)h[d]=Zl(s.style[d],t)}else h=[Zl(s.style,t)];i[n]={filter:a,styles:h}}return function(n){const s=[];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&&s.push(f)}}}return s}}function Zl(r,t){const e=Jr(r,"",t),i=Qr(r,"",t),n=R0(r,t),s=A0(r,t),a=ge(r,"z-index",t);if(!e&&!i&&!n&&!s&&!on(r))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(r));const h=new Xn;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(s){const f=s(c);f&&(d=!1),h.setImage(f)}return a&&h.setZIndex(a(c)),d?null:h}}function Jr(r,t,e){const i=Md(r,t+"fill-color",e);if(!i)return null;const n=new Po;return function(s){const a=i(s);return a==="none"?null:(n.setColor(a),n)}}function Qr(r,t,e){const i=ge(r,t+"stroke-width",e),n=Md(r,t+"stroke-color",e);if(!i&&!n)return null;const s=Ui(r,t+"stroke-line-cap",e),a=Ui(r,t+"stroke-line-join",e),h=Sd(r,t+"stroke-line-dash",e),c=ge(r,t+"stroke-line-dash-offset",e),d=ge(r,t+"stroke-miter-limit",e),f=new ko;return function(p){if(n){const _=n(p);if(_==="none")return null;f.setColor(_)}if(i&&f.setWidth(i(p)),s){const _=s(p);if(_!=="butt"&&_!=="round"&&_!=="square")throw new Error("Expected butt, round, or square line cap");f.setLineCap(_)}if(a){const _=a(p);if(_!=="bevel"&&_!=="round"&&_!=="miter")throw new Error("Expected bevel, round, or miter line join");f.setLineJoin(_)}return h&&f.setLineDash(h(p)),c&&f.setLineDashOffset(c(p)),d&&f.setMiterLimit(d(p)),f}}function R0(r,t){const e="text-",i=Ui(r,e+"value",t);if(!i)return null;const n=Jr(r,e,t),s=Jr(r,e+"background-",t),a=Qr(r,e,t),h=Qr(r,e+"background-",t),c=Ui(r,e+"font",t),d=ge(r,e+"max-angle",t),f=ge(r,e+"offset-x",t),p=ge(r,e+"offset-y",t),_=$r(r,e+"overflow",t),y=Ui(r,e+"placement",t),v=ge(r,e+"repeat",t),E=Do(r,e+"scale",t),T=$r(r,e+"rotate-with-view",t),M=ge(r,e+"rotation",t),w=Ui(r,e+"align",t),b=Ui(r,e+"justify",t),C=Ui(r,e+"baseline",t),P=Sd(r,e+"padding",t),R=new wd({});return function(D){if(R.setText(i(D)),n&&R.setFill(n(D)),s&&R.setBackgroundFill(s(D)),a&&R.setStroke(a(D)),h&&R.setBackgroundStroke(h(D)),c&&R.setFont(c(D)),d&&R.setMaxAngle(d(D)),f&&R.setOffsetX(f(D)),p&&R.setOffsetY(p(D)),_&&R.setOverflow(_(D)),y){const O=y(D);if(O!=="point"&&O!=="line")throw new Error("Expected point or line for text-placement");R.setPlacement(O)}if(v&&R.setRepeat(v(D)),E&&R.setScale(E(D)),T&&R.setRotateWithView(T(D)),M&&R.setRotation(M(D)),w){const O=w(D);if(O!=="left"&&O!=="center"&&O!=="right"&&O!=="end"&&O!=="start")throw new Error("Expected left, right, center, start, or end for text-align");R.setTextAlign(O)}if(b){const O=b(D);if(O!=="left"&&O!=="right"&&O!=="center")throw new Error("Expected left, right, or center for text-justify");R.setJustify(O)}if(C){const O=C(D);if(O!=="bottom"&&O!=="top"&&O!=="middle"&&O!=="alphabetic"&&O!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");R.setTextBaseline(O)}return P&&R.setPadding(P(D)),R}}function A0(r,t){return"icon-src"in r?I0(r,t):"shape-points"in r?D0(r,t):"circle-radius"in r?O0(r,t):null}function I0(r,t){const e="icon-",i=e+"src",n=Rd(r[i],i),s=Io(r,e+"anchor",t),a=Do(r,e+"scale",t),h=ge(r,e+"opacity",t),c=Io(r,e+"displacement",t),d=ge(r,e+"rotation",t),f=$r(r,e+"rotate-with-view",t),p=Pd(r,e+"anchor-origin"),_=kd(r,e+"anchor-x-units"),y=kd(r,e+"anchor-y-units"),v=B0(r,e+"color"),E=z0(r,e+"cross-origin"),T=N0(r,e+"offset"),M=Pd(r,e+"offset-origin"),w=qn(r,e+"width"),b=qn(r,e+"height"),C=F0(r,e+"size"),P=Wl(r,e+"declutter"),R=new Ul({src:n,anchorOrigin:p,anchorXUnits:_,anchorYUnits:y,color:v,crossOrigin:E,offset:T,offsetOrigin:M,height:b,width:w,size:C,declutterMode:P});return function(D){return h&&R.setOpacity(h(D)),c&&R.setDisplacement(c(D)),d&&R.setRotation(d(D)),f&&R.setRotateWithView(f(D)),a&&R.setScale(a(D)),s&&R.setAnchor(s(D)),R}}function D0(r,t){const e="shape-",i=e+"points",n=Ad(r[i],i),s=Jr(r,e,t),a=Qr(r,e,t),h=Do(r,e+"scale",t),c=Io(r,e+"displacement",t),d=ge(r,e+"rotation",t),f=$r(r,e+"rotate-with-view",t),p=qn(r,e+"radius"),_=qn(r,e+"radius1"),y=qn(r,e+"radius2"),v=qn(r,e+"angle"),E=Wl(r,e+"declutter-mode"),T=new md({points:n,radius:p,radius1:_,radius2:y,angle:v,declutterMode:E});return function(M){return s&&T.setFill(s(M)),a&&T.setStroke(a(M)),c&&T.setDisplacement(c(M)),d&&T.setRotation(d(M)),f&&T.setRotateWithView(f(M)),h&&T.setScale(h(M)),T}}function O0(r,t){const e="circle-",i=Jr(r,e,t),n=Qr(r,e,t),s=ge(r,e+"radius",t),a=Do(r,e+"scale",t),h=Io(r,e+"displacement",t),c=ge(r,e+"rotation",t),d=$r(r,e+"rotate-with-view",t),f=Wl(r,e+"declutter-mode"),p=new yd({radius:5,declutterMode:f});return function(_){return s&&p.setRadius(s(_)),i&&p.setFill(i(_)),n&&p.setStroke(n(_)),h&&p.setDisplacement(h(_)),c&&p.setRotation(c(_)),d&&p.setRotateWithView(d(_)),a&&p.setScale(a(_)),p}}function ge(r,t,e){if(!(t in r))return;const i=Gi(r[t],J,e);return function(n){return Ad(i(n),t)}}function Ui(r,t,e){if(!(t in r))return null;const i=Gi(r[t],De,e);return function(n){return Rd(i(n),t)}}function $r(r,t,e){if(!(t in r))return null;const i=Gi(r[t],Ot,e);return function(n){const s=i(n);if(typeof s!="boolean")throw new Error(`Expected a boolean for ${t}`);return s}}function Md(r,t,e){if(!(t in r))return null;const i=Gi(r[t],ie|De,e);return function(n){return Id(i(n),t)}}function Sd(r,t,e){if(!(t in r))return null;const i=Gi(r[t],Ni,e);return function(n){return ts(i(n),t)}}function Io(r,t,e){if(!(t in r))return null;const i=Gi(r[t],Ni,e);return function(n){const s=ts(i(n),t);if(s.length!==2)throw new Error(`Expected two numbers for ${t}`);return s}}function Do(r,t,e){if(!(t in r))return null;const i=Gi(r[t],Ni|J,e);return function(n){return G0(i(n),t)}}function qn(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 F0(r,t){const e=r[t];if(e!==void 0){if(typeof e=="number")return Le(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 z0(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 Pd(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 kd(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 N0(r,t){const e=r[t];if(e!==void 0)return ts(e,t)}function Wl(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 B0(r,t){const e=r[t];if(e!==void 0)return Id(e,t)}function ts(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 Rd(r,t){if(typeof r!="string")throw new Error(`Expected a string for ${t}`);return r}function Ad(r,t){if(typeof r!="number")throw new Error(`Expected a number for ${t}`);return r}function Id(r,t){if(typeof r=="string")return r;const e=ts(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 G0(r,t){if(typeof r=="number")return r;const e=ts(r,t);if(e.length!==2)throw new Error(`Expected an array of two numbers for ${t}`);return e}const Dd={RENDER_ORDER:"renderOrder"};class U0 extends po{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(Dd.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 gd(9)),this.getRenderer().renderDeclutter(t)}setRenderOrder(t){this.set(Dd.RENDER_ORDER,t)}setStyle(t){this.style_=j0(t),this.styleFunction_=t===null?void 0:Jv(this.style_),this.changed()}}function j0(r){if(r===void 0)return Qv;if(!r)return null;if(typeof r=="function"||r instanceof Xn)return r;if(!Array.isArray(r))return Cd([r]);if(r.length===0)return[];const t=r.length,e=r[0];if(e instanceof Xn){const n=new Array(t);for(let s=0;s<t;++s){const a=r[s];if(!(a instanceof Xn))throw new Error("Expected a list of style instances");n[s]=a}return n}if("style"in e){const n=new Array(t);for(let s=0;s<t;++s){const a=r[s];if(!("style"in a))throw new Error("Expected a list of rules with a style property");n[s]=a}return P0(n)}return Cd(r)}const Hl=U0,oe={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature",FEATURESLOADSTART:"featuresloadstart",FEATURESLOADEND:"featuresloadend",FEATURESLOADERROR:"featuresloaderror"},Vl=34962,Xl=34963,Z0=35040,W0=35044,Yl=35048,H0=5121,V0=5123,X0=5125,Od=5126,Fd=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function Y0(r,t){t=Object.assign({preserveDrawingBuffer:!0,antialias:!Hm},t);const e=Fd.length;for(let i=0;i<e;++i)try{const n=r.getContext(Fd[i],t);if(n)return n}catch{}return null}const K0={STATIC_DRAW:W0,STREAM_DRAW:Z0,DYNAMIC_DRAW:Yl};class q0{constructor(t,e){this.array_=null,this.type_=t,mt(t===Vl||t===Xl,"A `WebGLArrayBuffer` must either be of type `ELEMENT_ARRAY_BUFFER` or `ARRAY_BUFFER`"),this.usage_=e!==void 0?e:K0.STATIC_DRAW}ofSize(t){return this.array_=new(Kl(this.type_))(t),this}fromArray(t){return this.array_=Kl(this.type_).from(t),this}fromArrayBuffer(t){return this.array_=new(Kl(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 Kl(r){switch(r){case Vl:return Float32Array;case Xl:return Uint32Array;default:return Float32Array}}const zd=q0;class J0 extends Uc{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.declutterExecutorGroup=null}getFeatures(t){return rt()}getData(t){return null}prepareFrame(t){return rt()}renderFrame(t,e){return rt()}loadedTileCallback(t,e,i){t[e]||(t[e]={}),t[e][i.tileCoord.toString()]=i}createLoadedTileFinder(t,e,i){return(n,s)=>{const a=this.loadedTileCallback.bind(this,i,n);return t.forEachLoadedTile(e,n,s,a)}}forEachFeatureAtCoordinate(t,e,i,n,s){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;(e.getState()===St.LOADED||e.getState()===St.ERROR)&&this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=St.LOADED&&e!=St.ERROR&&t.addEventListener(lt.CHANGE,this.boundHandleImageChange_),e==St.IDLE&&(t.load(),e=t.getState()),e==St.LOADED}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&t.getSourceState()==="ready"&&t.changed()}disposeInternal(){delete this.layer_,super.disposeInternal()}}const Nd=J0,Oo={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"},Q0=`
21
+ `+v;di.get(A)===void 0&&(di.set(A,100,!0),h(f.style,f.weight,v)||(di.set(A,0,!0),s===void 0&&(s=setInterval(c,32))))}}}(),By=function(){let r;return function(t){let e=El[t];if(e==null){if(il){const i=$u(t),n=id(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);El[t]=e}return e}}();function id(r,t){return Hn||(Hn=ee(1,1)),r!=wl&&(Hn.font=r,wl=Hn.font),Hn.measureText(t)}function Ao(r,t){return id(r,t).width}function nd(r,t,e){if(t in e)return e[t];const i=t.split(`
22
+ `).reduce((n,s)=>Math.max(n,Ao(r,s)),0);return e[t]=i,i}function jy(r,t){const e=[],i=[],n=[];let s=0,a=0,h=0,c=0;for(let d=0,f=t.length;d<=f;d+=2){const p=t[d];if(p===`
23
+ `||d===f){s=Math.max(s,a),n.push(a),a=0,h+=c;continue}const m=t[d+1]||r.font,y=Ao(m,p);e.push(y),a+=y;const v=By(m);i.push(v),c=Math.max(c,v)}return{width:s,height:h,widths:e,heights:i,lineWidths:n}}function Uy(r,t,e,i,n,s,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]),Gy(i,r)):f[0]<0||f[1]<0?(r.translate(c,d),r.scale(f[0],f[1]),r.drawImage(i,n,s,a,h,0,0,a,h)):r.drawImage(i,n,s,a,h,c,d,a*f[0],h*f[1]),r.restore()}function Gy(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 Hy extends Iy{constructor(t){super(t),this.fontChangeListenerKey_=mt(di,Sn.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=Fr+" 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 Nr(t,void 0,e);i.dispatchEvent(n)}}disposeInternal(){Mt(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(te.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 s=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(!Al(c,i)||f!="ready"&&f!="undefined"){d.unrender();continue}const p=d.render(t,s);p&&(p!==s&&(this.children_.push(p),s=p),"getDeclutter"in d&&n.push(d))}this.flushDeclutterItems(t),Ny(this.element_,this.children_),this.dispatchRenderEvent(te.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 Yy=Hy;class zi extends ai{constructor(t,e){super(t),this.layer=e}}const Ll={LAYERS:"layers"};class Cl extends Vu{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(Ll.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new Ze(i.slice(),{unique:!0}):vt(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new Ze(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(Mt),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(mt(t,ue.ADD,this.handleLayersAdd_,this),mt(t,ue.REMOVE,this.handleLayersRemove_,this));for(const i in this.listenerKeys_)this.listenerKeys_[i].forEach(Mt);Rn(this.listenerKeys_);const e=t.getArray();for(let i=0,n=e.length;i<n;i++){const s=e[i];this.registerLayerListeners_(s),this.dispatchEvent(new zi("addlayer",s))}this.changed()}registerLayerListeners_(t){const e=[mt(t,Sn.PROPERTYCHANGE,this.handleLayerChange_,this),mt(t,ut.CHANGE,this.handleLayerChange_,this)];t instanceof Cl&&e.push(mt(t,"addlayer",this.handleLayerGroupAdd_,this),mt(t,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[gt(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new zi("addlayer",t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new zi("removelayer",t.layer))}handleLayersAdd_(t){const e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new zi("addlayer",e)),this.changed()}handleLayersRemove_(t){const e=t.element,i=gt(e);this.listenerKeys_[i].forEach(Mt),delete this.listenerKeys_[i],this.dispatchEvent(new zi("removelayer",e)),this.changed()}getLayers(){return this.get(Ll.LAYERS)}setLayers(t){const e=this.getLayers();if(e){const i=e.getArray();for(let n=0,s=i.length;n<s;++n)this.dispatchEvent(new zi("removelayer",i[n]))}this.set(Ll.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 s=n.zIndex;!t&&n.zIndex===void 0&&(s=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=Pr(c.extent,n.extent):c.extent=n.extent),c.zIndex===void 0&&(c.zIndex=s)}return e}getSourceState(){return"ready"}}const wo=Cl;class Wy extends ai{constructor(t,e,i){super(t),this.map=e,this.frameState=i!==void 0?i:null}}const Yn=Wy;class Zy extends Yn{constructor(t,e,i,n,s,a){super(t,e,s),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 Ni=Zy,kt={SINGLECLICK:"singleclick",CLICK:ut.CLICK,DBLCLICK:ut.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},Ml={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};class Xy extends Gs{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_=mt(i,Ml.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=mt(i,Ml.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(ut.TOUCHMOVE,this.boundHandleTouchMove_,vu?{passive:!1}:!1)}emulateClick_(t){let e=new Ni(kt.CLICK,this.map_,t);this.dispatchEvent(e),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new Ni(kt.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const i=new Ni(kt.SINGLECLICK,this.map_,t);this.dispatchEvent(i)},250)}updateActivePointers_(t){const e=t,i=e.pointerId;if(e.type==kt.POINTERUP||e.type==kt.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==kt.POINTERDOWN||e.type==kt.POINTERMOVE)&&(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new Ni(kt.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(Mt),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 Ni(kt.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(mt(i,kt.POINTERMOVE,this.handlePointerMove_,this),mt(i,kt.POINTERUP,this.handlePointerUp_,this),mt(this.element_,kt.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(mt(this.element_.getRootNode(),kt.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new Ni(kt.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 Ni(kt.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_&&(Mt(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(ut.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(Mt(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(Mt),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const Qy=Xy,fi={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend",LOADSTART:"loadstart",LOADEND:"loadend"},Zt={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"},Eo=1/0;class Vy{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Rn(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){vt(!(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!=Eo?(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,s=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]=s,i[t]=a,this.siftDown_(h,t)}siftDown_(t,e){const i=this.elements_,n=this.priorities_,s=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]=s,n[e]=a}reprioritize(){const t=this.priorityFunction_,e=this.elements_,i=this.priorities_;let n=0;const s=e.length;let a,h,c;for(h=0;h<s;++h)a=e[h],c=t(a),c==Eo?delete this.queuedElements_[this.keyFunction_(a)]:(i[n]=c,e[n++]=a);e.length=n,i.length=n,this.heapify_()}}const Ky=Vy,it={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class qy extends Ky{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(ut.CHANGE,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,i=e.getState();if(i===it.LOADED||i===it.ERROR||i===it.EMPTY){i!==it.ERROR&&e.removeEventListener(ut.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,s,a;for(;this.tilesLoading_<t&&i<e&&this.getCount()>0;)s=this.dequeue()[0],a=s.getKey(),n=s.getState(),n===it.IDLE&&!(a in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[a]=!0,++this.tilesLoading_,++i,s.load())}}const Jy=qy;function $y(r,t,e,i,n){if(!r||!(e in r.wantedTiles)||!r.wantedTiles[e][t.getKey()])return Eo;const s=r.viewState.center,a=i[0]-s[0],h=i[1]-s[1];return 65536*Math.log(n)+Math.sqrt(a*a+h*h)/n}class tv extends Ie{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(){vo(this.element),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&vo(this.element);for(let e=0,i=this.listenerKeys.length;e<i;++e)Mt(this.listenerKeys[e]);this.listenerKeys.length=0,this.map_=t,t&&((this.target_?this.target_:t.getOverlayContainerStopEvent()).appendChild(this.element),this.render!==kn&&this.listenerKeys.push(mt(t,fi.POSTRENDER,this.render,this)),t.render())}render(t){}setTarget(t){this.target_=typeof t=="string"?document.getElementById(t):t}}const Lo=tv;class ev extends Lo{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",s=t.collapseLabel!==void 0?t.collapseLabel:"›",a=t.collapseClassName!==void 0?t.collapseClassName:e+"-collapse";typeof s=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=s,this.collapseLabel_.className=a):this.collapseLabel_=s;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(ut.CLICK,this.handleClick_.bind(this),!1);const d=e+" "+Fr+" "+mo+(this.collapsed_&&this.collapsible_?" "+qu:"")+(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),!li(e,this.renderedAttributions_)){td(this.ulElement_);for(let n=0,s=e.length;n<s;++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(qu),this.collapsed_?yo(this.collapseLabel_,this.label_):yo(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 rd=ev;class iv extends Lo{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 s=t.tipLabel?t.tipLabel:"Reset rotation",a=document.createElement("button");a.className=e+"-reset",a.setAttribute("type","button"),a.title=s,a.appendChild(this.label_),a.addEventListener(ut.CLICK,this.handleClick_.bind(this),!1);const h=e+" "+Fr+" "+mo,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(po)}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:jn}):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 s=this.element.classList.contains(po);!s&&i===0?this.element.classList.add(po):s&&i!==0&&this.element.classList.remove(po)}this.label_.style.transform=n}this.rotation_=i}}const nv=iv;class rv extends Lo{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",s=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(ut.CLICK,this.handleClick_.bind(this,i),!1);const p=document.createElement("button");p.className=s,p.setAttribute("type","button"),p.title=d,p.appendChild(typeof h=="string"?document.createTextNode(h):h),p.addEventListener(ut.CLICK,this.handleClick_.bind(this,-i),!1);const m=e+" "+Fr+" "+mo,y=this.element;y.className=m,y.appendChild(f),y.appendChild(p),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 s=i.getConstrainedZoom(n+t);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:s,duration:this.duration_,easing:jn})):i.setZoom(s)}}}const sv=rv;function sd(r){r=r||{};const t=new Ze;return(r.zoom!==void 0?r.zoom:!0)&&t.push(new sv(r.zoomOptions)),(r.rotate!==void 0?r.rotate:!0)&&t.push(new nv(r.rotateOptions)),(r.attribution!==void 0?r.attribution:!0)&&t.push(new rd(r.attributionOptions)),t}const od={ACTIVE:"active"};class ov extends Ie{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(od.ACTIVE)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(od.ACTIVE,t)}setMap(t){this.map_=t}}function av(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:H_,center:r.getConstrainedCenter(n)})}}function Tl(r,t,e,i){const n=r.getZoom();if(n===void 0)return;const s=r.getConstrainedZoom(n+t),a=r.getResolutionForZoom(s);r.getAnimating()&&r.cancelAnimations(),r.animate({resolution:a,anchor:e,duration:i!==void 0?i:250,easing:jn})}const Hr=ov;class lv extends Hr{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==kt.DBLCLICK){const i=t.originalEvent,n=t.map,s=t.coordinate,a=i.shiftKey?-this.delta_:this.delta_,h=n.getView();Tl(h,a,s,this.duration_),i.preventDefault(),e=!0}return!e}}const hv=lv;class cv extends Hr{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==kt.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==kt.POINTERUP){const i=this.handleUpEvent(t);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(t.type==kt.POINTERDOWN){const i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==kt.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 bl(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 Yr=cv;function Dl(r){const t=arguments;return function(e){let i=!0;for(let n=0,s=t.length;n<s&&(i=i&&t[n](e),!!i);++n);return i}}const uv=function(r){const t=r.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},dv=function(r){const t=r.map.getTargetElement(),e=r.map.getOwnerDocument().activeElement;return t.contains(e)},ad=function(r){return r.map.getTargetElement().hasAttribute("tabindex")?dv(r):!0},fv=Cr,ld=function(r){const t=r.originalEvent;return t.button==0&&!(Z_&&mu&&t.ctrlKey)},hd=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey},gv=function(r){const t=r.originalEvent;return mu?t.metaKey:t.ctrlKey},pv=function(r){const t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},cd=function(r){const t=r.originalEvent,e=t.target.tagName;return e!=="INPUT"&&e!=="SELECT"&&e!=="TEXTAREA"&&!t.target.isContentEditable},Pl=function(r){const t=r.originalEvent;return vt(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.pointerType=="mouse"},mv=function(r){const t=r.originalEvent;return vt(t!==void 0,"mapBrowserEvent must originate from a pointer event"),t.isPrimary&&t.button===0};class _v extends Yr{constructor(t){super({stopDown:Us}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const e=t.condition?t.condition:Dl(hd,mv);this.condition_=t.onFocusOnly?Dl(ad,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(bl(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(n[0],n[1]),this.lastCentroid){const s=[this.lastCentroid[0]-n[0],n[1]-this.lastCentroid[1]],h=t.map.getView();D_(s,h.getResolution()),Xa(s,h.getRotation()),h.adjustCenterInternal(s)}}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(),s=this.kinetic_.getAngle(),a=i.getCenterInternal(),h=e.getPixelFromCoordinateInternal(a),c=e.getCoordinateFromPixelInternal([h[0]-n*Math.cos(s),h[1]-n*Math.sin(s)]);i.animateInternal({center:i.getConstrainedCenter(c),duration:500,easing:jn})}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 yv=_v;class vv extends Yr{constructor(t){t=t||{},super({stopDown:Us}),this.condition_=t.condition?t.condition:uv,this.lastAngle_=void 0,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){if(!Pl(t))return;const e=t.map,i=e.getView();if(i.getConstraints().rotation===el)return;const n=e.getSize(),s=t.pixel,a=Math.atan2(n[1]/2-s[1],s[0]-n[0]/2);if(this.lastAngle_!==void 0){const h=a-this.lastAngle_;i.adjustRotationInternal(-h)}this.lastAngle_=a}handleUpEvent(t){return Pl(t)?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){return Pl(t)&&ld(t)&&this.condition_(t)?(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}}const xv=vv;class Av extends js{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 Oi([n])}getGeometry(){return this.geometry_}}const wv=Av,Co={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"};class Il extends ai{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}}class Ev extends Yr{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.box_=new wv(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:ld,this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){const n=i[0]-e[0],s=i[1]-e[1];return n*n+s*s>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new Il(Co.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 Il(e?Co.BOXEND:Co.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 Il(Co.BOXSTART,t.coordinate,t)),!0):!1}onBoxEnd(t){}}const Lv=Ev;class Cv extends Lv{constructor(t){t=t||{};const e=t.condition?t.condition:pv;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 s=i.rotatedExtentForGeometry(n),a=i.getResolutionForExtentInternal(s),h=i.getResolution()/a;n=n.clone(),n.scale(h*h)}i.fitInternal(n,{duration:this.duration_,easing:jn})}}const Mv=Cv,vn={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};class Tv extends Hr{constructor(t){super(),t=t||{},this.defaultCondition_=function(e){return hd(e)&&cd(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==ut.KEYDOWN){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==vn.DOWN||n==vn.LEFT||n==vn.RIGHT||n==vn.UP)){const a=t.map.getView(),h=a.getResolution()*this.pixelDelta_;let c=0,d=0;n==vn.DOWN?d=-h:n==vn.LEFT?c=-h:n==vn.RIGHT?c=h:d=h;const f=[c,d];Xa(f,a.getRotation()),av(a,f,this.duration_),i.preventDefault(),e=!0}}return!e}}const bv=Tv;class Dv extends Hr{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(e){return!gv(e)&&cd(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==ut.KEYDOWN||t.type==ut.KEYPRESS){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==="+"||n==="-")){const s=t.map,a=n==="+"?this.delta_:-this.delta_,h=s.getView();Tl(h,a,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}}const Pv=Dv;class Iv{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 s=this.points_[e]-this.points_[i],a=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(a,s),this.initialVelocity_=Math.sqrt(s*s+a*a)/n,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const Sv=Iv;class kv extends Hr{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:fv;this.condition_=t.onFocusOnly?Dl(ad,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!==ut.WHEEL)return!0;const i=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate);let s;if(t.type==ut.WHEEL&&(s=n.deltaY,Y_&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(s/=_u),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(s*=40)),s===0)return!1;this.lastDelta_=s;const a=Date.now();this.startTime_===void 0&&(this.startTime_=a),(!this.mode_||a-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(s)<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(-s/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=a,!1;this.totalDelta_+=s;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=-Rt(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),Tl(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 Rv=kv;class Ov extends Yr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=Us),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],s=Math.atan2(n.clientY-i.clientY,n.clientX-i.clientX);if(this.lastAngle_!==void 0){const c=s-this.lastAngle_;this.rotationDelta_+=c,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=c}this.lastAngle_=s;const a=t.map,h=a.getView();h.getConstraints().rotation!==el&&(this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(bl(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 zv=Ov;class Nv extends Yr{constructor(t){t=t||{};const e=t;e.stopDown||(e.stopDown=Us),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],s=i.clientX-n.clientX,a=i.clientY-n.clientY,h=Math.sqrt(s*s+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(bl(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 Fv=Nv;function Bv(r){r=r||{};const t=new Ze,e=new Sv(-.005,.05,100);return(r.altShiftDragRotate!==void 0?r.altShiftDragRotate:!0)&&t.push(new xv),(r.doubleClickZoom!==void 0?r.doubleClickZoom:!0)&&t.push(new hv({delta:r.zoomDelta,duration:r.zoomDuration})),(r.dragPan!==void 0?r.dragPan:!0)&&t.push(new yv({onFocusOnly:r.onFocusOnly,kinetic:e})),(r.pinchRotate!==void 0?r.pinchRotate:!0)&&t.push(new zv),(r.pinchZoom!==void 0?r.pinchZoom:!0)&&t.push(new Fv({duration:r.zoomDuration})),(r.keyboard!==void 0?r.keyboard:!0)&&(t.push(new bv),t.push(new Pv({delta:r.zoomDelta,duration:r.zoomDuration}))),(r.mouseWheelZoom!==void 0?r.mouseWheelZoom:!0)&&t.push(new Rv({onFocusOnly:r.onFocusOnly,duration:r.zoomDuration})),(r.shiftDragZoom!==void 0?r.shiftDragZoom:!0)&&t.push(new Mv({duration:r.zoomDuration})),t}function ud(r){return r[0]>0&&r[1]>0}function jv(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 Ee(r,t){return Array.isArray(r)?r:(t===void 0?t=[r,r]:(t[0]=r,t[1]=r),t)}function dd(r){if(r instanceof go){r.setMapInternal(null);return}r instanceof wo&&r.getLayers().forEach(dd)}function fd(r,t){if(r instanceof go){r.setMapInternal(t);return}if(r instanceof wo){const e=r.getLayers().getArray();for(let i=0,n=e.length;i<n;++i)fd(e[i],t)}}class Uv extends Ie{constructor(t){super(),t=t||{},this.on,this.once,this.un;const e=Gv(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:_u,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=Wt(),this.pixelToCoordinateTransform_=Wt(),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||sd(),this.interactions=e.interactions||Bv({onFocusOnly:!0}),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Jy(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Zt.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(Zt.VIEW,this.handleViewChanged_),this.addChangeListener(Zt.SIZE,this.handleSizeChanged_),this.addChangeListener(Zt.TARGET,this.handleTargetChanged_),this.setProperties(e.values);const i=this;t.view&&!(t.view instanceof We)&&t.view.then(function(n){i.setView(new We(n))}),this.controls.addEventListener(ue.ADD,n=>{n.element.setMap(this)}),this.controls.addEventListener(ue.REMOVE,n=>{n.element.setMap(null)}),this.interactions.addEventListener(ue.ADD,n=>{n.element.setMap(this)}),this.interactions.addEventListener(ue.REMOVE,n=>{n.element.setMap(null)}),this.overlays_.addEventListener(ue.ADD,n=>{this.addOverlayInternal_(n.element)}),this.overlays_.addEventListener(ue.REMOVE,n=>{const s=n.element.getId();s!==void 0&&delete this.overlayIdIndex_[s.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){fd(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 s=i.hitTolerance!==void 0?i.hitTolerance:0,a=i.layerFilter!==void 0?i.layerFilter:Cr,h=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(n,this.frameState_,s,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 wo?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:Cr,s=e.hitTolerance!==void 0?e.hitTolerance:0,a=e.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,s,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(),s=i.width/n[0],a=i.height/n[1],h="changedTouches"in t?t.changedTouches[0]:t;return[(h.clientX-i.left)/s,(h.clientY-i.top)/a]}getTarget(){return this.get(Zt.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return Ja(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Ft(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(Zt.LAYERGROUP)}setLayers(t){const e=this.getLayerGroup();if(t instanceof Ze){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 s=n.layer.getRenderer();if(s&&!s.ready)return!0;const a=n.layer.getSource();if(a&&a.loading)return!0}return!1}getPixelFromCoordinate(t){const e=hi(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){const e=this.frameState_;return e?Ft(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(Zt.SIZE)}getView(){return this.get(Zt.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 $y(this.frameState_,t,e,i,n)}handleBrowserEvent(t,e){e=e||t.type;const i=new Ni(e,this,t);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(t){if(!this.frameState_)return;const e=t.originalEvent,i=e.type;if(i===Ml.POINTERDOWN||i===ut.WHEEL||i===ut.KEYDOWN){const n=this.getOwnerDocument(),s=this.viewport_.getRootNode?this.viewport_.getRootNode():n,a=e.target;if(this.overlayContainerStopEvent_.contains(a)||!(s===n?n.documentElement:s).contains(a))return}if(t.frameState=this.frameState_,this.dispatchEvent(t)!==!1){const n=this.getInteractions().getArray().slice();for(let s=n.length-1;s>=0;s--){const a=n[s];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_,s=n;if(t){const a=t.viewHints;if(a[Ht.ANIMATING]||a[Ht.INTERACTING]){const h=Date.now()-t.time>8;n=h?0:8,s=h?0:2}}e.getTilesLoading()<n&&(e.reprioritize(),e.loadMoreTiles(n,s))}t&&this.renderer_&&!t.animate&&(this.renderComplete_===!0?(this.hasListener(te.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(te.RENDERCOMPLETE,t),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Yn(fi.LOADEND,this,t)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Yn(fi.LOADSTART,this,t))));const i=this.postRenderFunctions_;for(let n=0,s=i.length;n<s;++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)Mt(this.targetChangeHandlerKeys_[i]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(ut.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(ut.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,vo(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 Yy(this)),this.mapBrowserEventHandler_=new Qy(this,this.moveTolerance_);for(const s in kt)this.mapBrowserEventHandler_.addEventListener(kt[s],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(ut.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(ut.WHEEL,this.boundHandleBrowserEvent_,vu?{passive:!1}:!1);const i=this.keyboardEventTarget_?this.keyboardEventTarget_:e;this.targetChangeHandlerKeys_=[mt(i,ut.KEYDOWN,this.handleBrowserEvent,this),mt(i,ut.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_&&(Mt(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(Mt(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const t=this.getView();t&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=mt(t,Sn.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=mt(t,ut.CHANGE,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(Mt),this.layerGroupPropertyListenerKeys_=null);const t=this.getLayerGroup();t&&(this.handleLayerAdd_(new zi("addlayer",t)),this.layerGroupPropertyListenerKeys_=[mt(t,Sn.PROPERTYCHANGE,this.render,this),mt(t,ut.CHANGE,this.render,this),mt(t,"addlayer",this.handleLayerAdd_,this),mt(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){dd(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){const e=this.getSize(),i=this.getView(),n=this.frameState_;let s=null;if(e!==void 0&&ud(e)&&i&&i.isDef()){const a=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),h=i.getState();if(s={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutterTree:null,extent:Ya(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:gt(this),renderTargets:{}},h.nextCenter&&h.nextResolution){const c=isNaN(h.nextRotation)?h.rotation:h.nextRotation;s.nextExtent=Ya(h.nextCenter,h.nextResolution,c,e)}}this.frameState_=s,this.renderer_.renderFrame(s),s&&(s.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,s.postRenderFunctions),n&&(!this.previousExtent_||!Js(this.previousExtent_)&&!Fn(s.extent,this.previousExtent_))&&(this.dispatchEvent(new Yn(fi.MOVESTART,this,n)),this.previousExtent_=br(this.previousExtent_)),this.previousExtent_&&!s.viewHints[Ht.ANIMATING]&&!s.viewHints[Ht.INTERACTING]&&!Fn(s.extent,this.previousExtent_)&&(this.dispatchEvent(new Yn(fi.MOVEEND,this,s)),Vc(s.extent,this.previousExtent_))),this.dispatchEvent(new Yn(fi.POSTRENDER,this,s)),this.renderComplete_=this.hasListener(fi.LOADSTART)||this.hasListener(fi.LOADEND)||this.hasListener(te.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 zi("removelayer",e)),this.set(Zt.LAYERGROUP,t)}setSize(t){this.set(Zt.SIZE,t)}setTarget(t){this.set(Zt.TARGET,t)}setView(t){if(!t||t instanceof We){this.set(Zt.VIEW,t);return}this.set(Zt.VIEW,new We);const e=this;t.then(function(i){e.setView(new We(i))})}updateSize(){const t=this.getTargetElement();let e;if(t){const n=getComputedStyle(t),s=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(s)&&!isNaN(a)&&(e=[s,a],!ud(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&ru("No map visible because the map container's width or height are 0."))}const i=this.getSize();e&&(!i||!li(e,i))&&(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}}function Gv(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 wo({layers:r.layers});e[Zt.LAYERGROUP]=i,e[Zt.TARGET]=r.target,e[Zt.VIEW]=r.view instanceof We?r.view:new We;let n;r.controls!==void 0&&(Array.isArray(r.controls)?n=new Ze(r.controls.slice()):(vt(typeof r.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),n=r.controls));let s;r.interactions!==void 0&&(Array.isArray(r.interactions)?s=new Ze(r.interactions.slice()):(vt(typeof r.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),s=r.interactions));let a;return r.overlays!==void 0?Array.isArray(r.overlays)?a=new Ze(r.overlays.slice()):(vt(typeof r.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),a=r.overlays):a=new Ze,{controls:n,interactions:s,keyboardEventTarget:t,overlays:a,values:e}}const Hv=Uv;function Yv(r,t,e,i,n){gd(r,t,e||0,i||r.length-1,n||Wv)}function gd(r,t,e,i,n){for(;i>e;){if(i-e>600){var s=i-e+1,a=t-e+1,h=Math.log(s),c=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*c*(s-c)/s)*(a-s/2<0?-1:1),f=Math.max(e,Math.floor(t-a*c/s+d)),p=Math.min(i,Math.floor(t+(s-a)*c/s+d));gd(r,t,f,p,n)}var m=r[t],y=e,v=i;for(Wr(r,e,t),n(r[i],m)>0&&Wr(r,e,i);y<v;){for(Wr(r,y,v),y++,v--;n(r[y],m)<0;)y++;for(;n(r[v],m)>0;)v--}n(r[e],m)===0?Wr(r,e,v):(v++,Wr(r,v,i)),v<=t&&(e=v+1),t<=v&&(i=v-1)}}function Wr(r,t,e){var i=r[t];r[t]=r[e],r[e]=i}function Wv(r,t){return r<t?-1:r>t?1:0}let pd=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(!To(t,e))return i;const n=this.toBBox,s=[];for(;e;){for(let a=0;a<e.children.length;a++){const h=e.children[a],c=e.leaf?n(h):h;To(t,c)&&(e.leaf?i.push(h):kl(t,c)?this._all(h,i):s.push(h))}e=s.pop()}return i}collides(t){let e=this.data;if(!To(t,e))return!1;const i=[];for(;e;){for(let n=0;n<e.children.length;n++){const s=e.children[n],a=e.leaf?this.toBBox(s):s;if(To(t,a)){if(e.leaf||kl(t,a))return!0;i.push(s)}}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=Zn([]),this}remove(t,e){if(!t)return this;let i=this.data;const n=this.toBBox(t),s=[],a=[];let h,c,d;for(;i||s.length;){if(i||(i=s.pop(),c=s[s.length-1],h=a.pop(),d=!0),i.leaf){const f=Zv(t,i.children,e);if(f!==-1)return i.children.splice(f,1),s.push(i),this._condense(s),this}!d&&!i.leaf&&kl(i,n)?(s.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 s=i-e+1;let a=this._maxEntries,h;if(s<=a)return h=Zn(t.slice(e,i+1)),Wn(h,this.toBBox),h;n||(n=Math.ceil(Math.log(s)/Math.log(a)),a=Math.ceil(s/Math.pow(a,n-1))),h=Zn([]),h.leaf=!1,h.height=n;const c=Math.ceil(s/a),d=c*Math.ceil(Math.sqrt(a));md(t,e,i,d,this.compareMinX);for(let f=e;f<=i;f+=d){const p=Math.min(f+d-1,i);md(t,f,p,c,this.compareMinY);for(let m=f;m<=p;m+=c){const y=Math.min(m+c-1,p);h.children.push(this._build(t,m,y,n-1))}}return Wn(h,this.toBBox),h}_chooseSubtree(t,e,i,n){for(;n.push(e),!(e.leaf||n.length-1===i);){let s=1/0,a=1/0,h;for(let c=0;c<e.children.length;c++){const d=e.children[c],f=Sl(d),p=Vv(t,d)-f;p<a?(a=p,s=f<s?f:s,h=d):p===a&&f<s&&(s=f,h=d)}e=h||e.children[0]}return e}_insert(t,e,i){const n=i?t:this.toBBox(t),s=[],a=this._chooseSubtree(n,this.data,e,s);for(a.children.push(t),Xr(a,n);e>=0&&s[e].children.length>this._maxEntries;)this._split(s,e),e--;this._adjustParentBBoxes(n,s,e)}_split(t,e){const i=t[e],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);const a=this._chooseSplitIndex(i,s,n),h=Zn(i.children.splice(a,i.children.length-a));h.height=i.height,h.leaf=i.leaf,Wn(i,this.toBBox),Wn(h,this.toBBox),e?t[e-1].children.push(h):this._splitRoot(i,h)}_splitRoot(t,e){this.data=Zn([t,e]),this.data.height=t.height+1,this.data.leaf=!1,Wn(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let n,s=1/0,a=1/0;for(let h=e;h<=i-e;h++){const c=Zr(t,0,h,this.toBBox),d=Zr(t,h,i,this.toBBox),f=Kv(c,d),p=Sl(c)+Sl(d);f<s?(s=f,n=h,a=p<a?p:a):f===s&&p<a&&(a=p,n=h)}return n||i-e}_chooseSplitAxis(t,e,i){const n=t.leaf?this.compareMinX:Xv,s=t.leaf?this.compareMinY:Qv,a=this._allDistMargin(t,e,i,n),h=this._allDistMargin(t,e,i,s);a<h&&t.children.sort(n)}_allDistMargin(t,e,i,n){t.children.sort(n);const s=this.toBBox,a=Zr(t,0,e,s),h=Zr(t,i-e,i,s);let c=Mo(a)+Mo(h);for(let d=e;d<i-e;d++){const f=t.children[d];Xr(a,t.leaf?s(f):f),c+=Mo(a)}for(let d=i-e-1;d>=e;d--){const f=t.children[d];Xr(h,t.leaf?s(f):f),c+=Mo(h)}return c}_adjustParentBBoxes(t,e,i){for(let n=i;n>=0;n--)Xr(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():Wn(t[e],this.toBBox)}};function Zv(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 Wn(r,t){Zr(r,0,r.children.length,t,r)}function Zr(r,t,e,i,n){n||(n=Zn(null)),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let s=t;s<e;s++){const a=r.children[s];Xr(n,r.leaf?i(a):a)}return n}function Xr(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 Xv(r,t){return r.minX-t.minX}function Qv(r,t){return r.minY-t.minY}function Sl(r){return(r.maxX-r.minX)*(r.maxY-r.minY)}function Mo(r){return r.maxX-r.minX+(r.maxY-r.minY)}function Vv(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 Kv(r,t){const e=Math.max(r.minX,t.minX),i=Math.max(r.minY,t.minY),n=Math.min(r.maxX,t.maxX),s=Math.min(r.maxY,t.maxY);return Math.max(0,n-e)*Math.max(0,s-i)}function kl(r,t){return r.minX<=t.minX&&r.minY<=t.minY&&t.maxX<=r.maxX&&t.maxY<=r.maxY}function To(r,t){return t.minX<=r.maxX&&t.minY<=r.maxY&&t.maxX>=r.minX&&t.maxY>=r.minY}function Zn(r){return{children:r,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function md(r,t,e,i,n){const s=[t,e];for(;s.length;){if(e=s.pop(),t=s.pop(),e-t<=i)continue;const a=t+Math.ceil((e-t)/i/2)*i;Yv(r,a,t,e,n),s.push(t,a,a,e)}}const bt={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class Rl{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=Ee(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new Rl({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 lt()}getImage(t){return lt()}getHitDetectionImage(){return lt()}getPixelRatio(t){return 1}getImageState(){return lt()}getImageSize(){return lt()}getOrigin(){return lt()}getSize(){return lt()}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_=Ee(t)}listenImageChange(t){lt()}load(){lt()}unlistenImageChange(t){lt()}}const _d=Rl;function Xe(r){return Array.isArray(r)?Xu(r):r}class Ol extends _d{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.canvases_,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_,this.renderOptions_,this.render()}clone(){const t=this.getScale(),e=new Ol({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_,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.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){let e=this.canvases_[t];if(!e){const i=this.renderOptions_,n=ee(i.size*t,i.size*t);this.draw_(i,n,t),e=n.canvas,this.canvases_[t]=e}return e}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return bt.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_,s=this.radius2_===void 0?n:this.radius2_;if(n<s){const P=n;n=s,s=P}const a=this.radius2_===void 0?this.points_:this.points_*2,h=2*Math.PI/a,c=s*Math.sin(h),d=Math.sqrt(s*s-c*c),f=n-d,p=Math.sqrt(c*c+f*f),m=p/c;if(t==="miter"&&m<=i)return m*e;const y=e/2/m,v=e/2*(f/p),M=Math.sqrt((n+y)*(n+y)+v*v)-n;if(this.radius2_===void 0||t==="bevel")return M*2;const b=n*Math.sin(h),w=Math.sqrt(n*n-b*b),E=s-w,D=Math.sqrt(b*b+E*E)/b;if(D<=i){const P=D*e/2-s-n;return 2*Math.max(M,P)}return M*2}createRenderOptions(){let t=Un,e=Gn,i=0,n=null,s=0,a,h=0;this.stroke_&&(a=Xe(this.stroke_.getColor()??jr),h=this.stroke_.getWidth()??Gr,n=this.stroke_.getLineDash(),s=this.stroke_.getLineDashOffset()??0,e=this.stroke_.getLineJoin()??Gn,t=this.stroke_.getLineCap()??Un,i=this.stroke_.getMiterLimit()??Br);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:s,lineJoin:e,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const t=this.renderOptions_.size;this.canvases_={},this.hitDetectionCanvas_=null,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=de),e.fillStyle=Xe(n),e.fill()}t.strokeStyle&&(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){let e;if(this.fill_){let i=this.fill_.getColor(),n=0;typeof i=="string"&&(i=zr(i)),i===null?n=1:Array.isArray(i)&&(n=i.length===4?i[3]:1),n===0&&(e=ee(t.size,t.size),this.drawHitDetectionCanvas_(t,e))}return e?e.canvas: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 s=this.angle_-Math.PI/2,a=2*Math.PI/e;for(let h=0;h<e;h++){const c=s+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=de,e.fill(),t.strokeStyle&&(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 yd=Ol;class zl extends yd{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 zl({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 vd=zl;class Nl{constructor(t){t=t||{},this.color_=t.color!==void 0?t.color:null}clone(){const t=this.getColor();return new Nl({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){this.color_=t}}const bo=Nl;class Fl{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 Fl({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 Do=Fl;class Po{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=xd,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 Po({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,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_=xd,this.geometry_=t}setZIndex(t){this.zIndex_=t}}function qv(r){let t;if(typeof r=="function")t=r;else{let e;Array.isArray(r)?e=r:(vt(typeof r.getZIndex=="function","Expected an `Style` or an array of `Style`"),e=[r]),t=function(){return e}}return t}let Bl=null;function Jv(r,t){if(!Bl){const e=new bo({color:"rgba(255,255,255,0.4)"}),i=new Do({color:"#3399CC",width:1.25});Bl=[new Po({image:new vd({fill:e,stroke:i,radius:5}),fill:e,stroke:i})]}return Bl}function xd(r){return r.getGeometry()}const Xn=Po;function $v(r,t,e){const i=r;let n=!0,s=!1,a=!1;const h=[Hs(i,ut.LOAD,function(){a=!0,s||t()})];return i.src&&yu?(s=!0,i.decode().then(function(){n&&t()}).catch(function(c){n&&(a?t():e())})):h.push(Hs(i,ut.ERROR,e)),function(){n=!1,h.forEach(Mt)}}function t0(r,t){return new Promise((e,i)=>{function n(){a(),e(r)}function s(){a(),i(new Error("Image load error"))}function a(){r.removeEventListener("load",n),r.removeEventListener("error",s)}r.addEventListener("load",n),r.addEventListener("error",s),t&&(r.src=t)})}function e0(r,t){return t&&(r.src=t),r.src&&yu?new Promise((e,i)=>r.decode().then(()=>e(r)).catch(n=>r.complete&&r.width?e(r):i(n))):t0(r)}let Qr=null;class i0 extends Gs{constructor(t,e,i,n,s){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=s,this.imageState_=n===void 0?bt.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_===bt.LOADED){Qr||(Qr=ee(1,1,void 0,{willReadFrequently:!0})),Qr.drawImage(this.image_,0,0);try{Qr.getImageData(0,0,1,1),this.tainted_=!1}catch{Qr=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(ut.CHANGE)}handleImageError_(){this.imageState_=bt.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=bt.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=ee(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_===bt.IDLE){this.image_||this.initializeImage_(),this.imageState_=bt.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&e0(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_!==bt.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 n0(r,t,e,i,n){let s=t===void 0?void 0:fo.get(t,e,n);return s||(s=new i0(r,r instanceof HTMLImageElement?r.src||void 0:t,e,i,n),fo.set(t,e,n,s)),s}function Ad(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 jl extends _d{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,s=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:e,rotation:i,scale:n,displacement:t.displacement!==void 0?t.displacement:[0,0],rotateWithView:s,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;vt(!(h!==void 0&&a),"`image` and `src` cannot be provided at the same time"),(h===void 0||h.length===0)&&a&&(h=a.src||gt(a)),vt(h!==void 0&&h.length>0,"A defined and non-empty `src` or `image` must be provided"),vt(!((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=bt.IDLE:a!==void 0&&(a instanceof HTMLImageElement?a.complete?c=a.src?bt.LOADED:bt.IDLE:c=bt.LOADING:c=bt.LOADED),this.color_=t.color!==void 0?zr(t.color):null,this.iconImage_=n0(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 p=this.getImage(1);if(p.width&&p.height)d=p.width,f=p.height;else if(p instanceof HTMLImageElement){this.initialOptions_=t;const m=()=>{if(this.unlistenImageChange(m),!this.initialOptions_)return;const y=this.iconImage_.getSize();this.setScale(Ad(y[0],y[1],t.width,t.height))};this.listenImageChange(m);return}}d!==void 0&&this.setScale(Ad(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 jl({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()==bt.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()==bt.LOADED)return this.iconImage_.getSize()[1]*t[1]}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(ut.CHANGE,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(ut.CHANGE,t)}}const Ul=jl,r0="#333";class Gl{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.scale_=t.scale,this.scaleArray_=Ee(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 bo({color:r0}),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 Gl({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_=Ee(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 wd=Gl;let Qn=0;const Vn=0,Ot=1<<Qn++,$=1<<Qn++,Re=1<<Qn++,ie=1<<Qn++,Fi=1<<Qn++,fe=Math.pow(2,Qn)-1,Ed={[Ot]:"boolean",[$]:"number",[Re]:"string",[ie]:"color",[Fi]:"number[]"},s0=Object.keys(Ed).map(Number).sort(Di);function ne(r){const t=[];for(const e of s0)o0(r,e)&&t.push(Ed[e]);return t.length===0?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function o0(r,t){return(r&t)===t}function Qe(r,t){return!!(r&t)}function Io(r,t){return r===t}class Bi{constructor(t,e){this.type=t,this.value=e}}class a0{constructor(t,e,...i){this.type=t,this.operator=e,this.args=i}}function Ld(){return{variables:new Set,properties:new Set,featureId:!1,style:{}}}function l0(r){switch(r){case"string":return Re;case"color":return ie;case"number":return $;case"boolean":return Ot;case"number[]":return Fi;default:throw new Error(`Unrecognized type hint: ${r}`)}}function Ct(r,t,e){switch(typeof r){case"boolean":return new Bi(Ot,r);case"number":return new Bi($,r);case"string":{let n=Re;return Cy(r)&&(n|=ie),Io(n&e,Vn)||(n&=e),new Bi(n,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 v0(r,t,e);for(const n of r)if(typeof n!="number")throw new Error("Expected an array of numbers");let i=Fi;return(r.length===3||r.length===4)&&(i|=ie),e&&(i&=e),new Bi(i,r)}const B={Get:"get",Var:"var",Concat:"concat",GeometryType:"geometry-type",Any:"any",All:"all",Not:"!",Resolution:"resolution",Zoom:"zoom",Time:"time",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",Between:"between",Interpolate:"interpolate",Case:"case",In:"in",Number:"number",String:"string",Array:"array",Color:"color",Id:"id",Band:"band",Palette:"palette"},h0={[B.Get]:ht(([r,t])=>t!==void 0?l0(t.value):fe,_t(1,2),c0),[B.Var]:ht(([r])=>r.type,_t(1,1),u0),[B.Id]:ht($|Re,Vr,d0),[B.Concat]:ht(Re,_t(2,1/0),Et(fe)),[B.GeometryType]:ht(Re,Vr),[B.Resolution]:ht($,Vr),[B.Zoom]:ht($,Vr),[B.Time]:ht($,Vr),[B.Any]:ht(Ot,_t(2,1/0),Et(Ot)),[B.All]:ht(Ot,_t(2,1/0),Et(Ot)),[B.Not]:ht(Ot,_t(1,1),Et(Ot)),[B.Equal]:ht(Ot,_t(2,2),Et(fe),xn),[B.NotEqual]:ht(Ot,_t(2,2),Et(fe),xn),[B.GreaterThan]:ht(Ot,_t(2,2),Et(fe),xn),[B.GreaterThanOrEqualTo]:ht(Ot,_t(2,2),Et(fe),xn),[B.LessThan]:ht(Ot,_t(2,2),Et(fe),xn),[B.LessThanOrEqualTo]:ht(Ot,_t(2,2),Et(fe),xn),[B.Multiply]:ht(r=>{let t=$|ie;for(let e=0;e<r.length;e++)t&=r[e].type;return t},_t(2,1/0),Et($|ie),xn),[B.Divide]:ht($,_t(2,2),Et($)),[B.Add]:ht($,_t(2,1/0),Et($)),[B.Subtract]:ht($,_t(2,2),Et($)),[B.Clamp]:ht($,_t(3,3),Et($)),[B.Mod]:ht($,_t(2,2),Et($)),[B.Pow]:ht($,_t(2,2),Et($)),[B.Abs]:ht($,_t(1,1),Et($)),[B.Floor]:ht($,_t(1,1),Et($)),[B.Ceil]:ht($,_t(1,1),Et($)),[B.Round]:ht($,_t(1,1),Et($)),[B.Sin]:ht($,_t(1,1),Et($)),[B.Cos]:ht($,_t(1,1),Et($)),[B.Atan]:ht($,_t(1,2),Et($)),[B.Sqrt]:ht($,_t(1,1),Et($)),[B.Match]:ht(r=>{let t=fe;for(let e=2;e<r.length;e+=2)t&=r[e].type;return t&=r[r.length-1].type,t},_t(4,1/0),Cd,g0),[B.Between]:ht(Ot,_t(3,3),Et($)),[B.Interpolate]:ht(r=>{let t=ie|$;for(let e=3;e<r.length;e+=2)t&=r[e].type;return t},_t(6,1/0),Cd,p0),[B.Case]:ht(r=>{let t=fe;for(let e=1;e<r.length;e+=2)t&=r[e].type;return t&=r[r.length-1].type,t},_t(3,1/0),f0,m0),[B.In]:ht(Ot,_t(2,2),_0),[B.Number]:ht($,_t(1,1/0),Et(fe)),[B.String]:ht(Re,_t(1,1/0),Et(fe)),[B.Array]:ht(r=>r.length===3||r.length===4?Fi|ie:Fi,_t(1,1/0),Et($)),[B.Color]:ht(ie,_t(3,4),Et($)),[B.Band]:ht($,_t(1,3),Et($)),[B.Palette]:ht(ie,_t(2,2),y0)};function c0(r,t){const e=Ct(r[1],t);if(!(e instanceof Bi))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");if(t.properties.add(e.value),r.length===3){const i=Ct(r[2],t);return[e,i]}return[e]}function u0(r,t,e,i){const n=r[1];if(typeof n!="string")throw new Error("Expected a string argument for var operation");if(t.variables.add(n),!("variables"in t.style)||t.style.variables[n]===void 0)return[new Bi(fe,n)];const s=t.style.variables[n],a=Ct(s,t);if(a.value=n,i&&!Qe(i,a.type))throw new Error(`The variable ${n} has type ${ne(a.type)} but the following type was expected: ${ne(i)}`);return[a]}function d0(r,t){t.featureId=!0}function Vr(r,t){const e=r[0];if(r.length!==1)throw new Error(`Expected no arguments for ${e} operation`);return[]}function _t(r,t){return function(e,i){const n=e[0],s=e.length-1;if(r===t){if(s!==r){const a=r===1?"":"s";throw new Error(`Expected ${r} argument${a} for ${n}, got ${s}`)}}else if(s<r||s>t){const a=t===1/0?`${r} or more`:`${r} to ${t}`;throw new Error(`Expected ${a} arguments for ${n}, got ${s}`)}}}function Et(r){return function(t,e){const i=t[0],n=t.length-1,s=new Array(n);for(let a=0;a<n;++a){const h=Ct(t[a+1],e);if(!Qe(r,h.type)){const c=ne(r),d=ne(h.type);throw new Error(`Unexpected type for argument ${a} of ${i} operation, got ${c} but expected ${d}`)}h.type&=r,s[a]=h}return s}}function xn(r,t,e){const i=r[0],n=r.length-1;let s=fe;for(let h=0;h<e.length;++h)s&=e[h].type;if(s===Vn)throw new Error(`No common type could be found for arguments of ${i} operation`);const a=new Array(n);for(let h=0;h<n;++h)a[h]=Ct(r[h+1],t,s);return a}function f0(r,t){const e=r[0],i=r.length-1;if(i%2===0)throw new Error(`An odd amount of arguments was expected for operation ${e}, got ${JSON.stringify(i)} instead`)}function Cd(r,t){const e=r[0],i=r.length-1;if(i%2===1)throw new Error(`An even amount of arguments was expected for operation ${e}, got ${JSON.stringify(i)} instead`)}function g0(r,t,e,i){const n=r.length-1;let a=Ct(r[1],t).type;const h=Ct(r[r.length-1],t);let c=i!==void 0?i&h.type:h.type;const d=new Array(n-2);for(let p=0;p<n-2;p+=2){const m=Ct(r[p+2],t),y=Ct(r[p+3],t);a&=m.type,c&=y.type,d[p]=m,d[p+1]=y}const f=Re|$|Ot;if(!Qe(f,a))throw new Error(`Expected an input of type ${ne(f)} for the interpolate operation, got ${ne(a)} instead`);if(Io(c,Vn))throw new Error("Could not find a common output type for the following match operation: "+JSON.stringify(r));for(let p=0;p<n-2;p+=2){const m=Ct(r[p+2],t,a),y=Ct(r[p+3],t,c);d[p]=m,d[p+1]=y}return[Ct(r[1],t,a),...d,Ct(r[r.length-1],t,c)]}function p0(r,t,e,i){const n=r[1];let s;switch(n[0]){case"linear":s=1;break;case"exponential":if(s=n[1],typeof s!="number")throw new Error(`Expected a number base for exponential interpolation, got ${JSON.stringify(s)} instead`);break;default:s=null}if(!s)throw new Error(`Invalid interpolation type: ${JSON.stringify(n)}`);s=Ct(s,t);let a=Ct(r[2],t);if(!Qe($,a.type))throw new Error(`Expected an input of type number for the interpolate operation, got ${ne(a.type)} instead`);a=Ct(r[2],t,$);const h=new Array(r.length-3);for(let c=0;c<h.length;c+=2){let d=Ct(r[c+3],t);if(!Qe($,d.type))throw new Error(`Expected all stop input values in the interpolate operation to be of type number, got ${ne(d.type)} at position ${c+2} instead`);let f=Ct(r[c+4],t);if(!Qe($|ie,f.type))throw new Error(`Expected all stop output values in the interpolate operation to be a number or color, got ${ne(f.type)} at position ${c+3} instead`);d=Ct(r[c+3],t,$),f=Ct(r[c+4],t,$|ie),h[c]=d,h[c+1]=f}return[s,a,...h]}function m0(r,t,e,i){const n=Ct(r[r.length-1],t);let s=i!==void 0?i&n.type:n.type;const a=new Array(r.length-1);for(let h=0;h<a.length-1;h+=2){const c=Ct(r[h+1],t),d=Ct(r[h+2],t);if(!Qe(Ot,c.type))throw new Error(`Expected all conditions in the case operation to be of type boolean, got ${ne(c.type)} at position ${h} instead`);s&=d.type,a[h]=c,a[h+1]=d}if(Io(s,Vn))throw new Error("Could not find a common output type for the following case operation: "+JSON.stringify(r));for(let h=0;h<a.length-1;h+=2)a[h+1]=Ct(r[h+2],t,s);return a[a.length-1]=Ct(r[r.length-1],t,s),a}function _0(r,t){let e=r[2];if(!Array.isArray(e))throw new Error('The "in" operator was provided a literal value which was not an array as second argument.');if(typeof e[0]=="string"){if(e[0]!=="literal")throw new Error('For the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions.');if(!Array.isArray(e[1]))throw new Error('The "in" operator was provided a literal value which was not an array as second argument.');e=e[1]}let i=Re|$;const n=new Array(e.length);for(let a=0;a<n.length;a++){const h=Ct(e[a],t);i&=h.type,n[a]=h}if(Io(i,Vn))throw new Error("Could not find a common type for the following in operation: "+JSON.stringify(r));return[Ct(r[1],t,i),...n]}function y0(r,t){const e=Ct(r[1],t,$);if(e.type!==$)throw new Error(`The first argument of palette must be an number, got ${ne(e.type)} instead`);const i=r[2];if(!Array.isArray(i))throw new Error("The second argument of palette must be an array");const n=new Array(i.length);for(let s=0;s<n.length;s++){const a=Ct(i[s],t,ie);if(!(a instanceof Bi))throw new Error(`The palette color at index ${s} must be a literal value`);if(!Qe(a.type,ie))throw new Error(`The palette color at index ${s} should be of type color, got ${ne(a.type)} instead`);n[s]=a}return[e,...n]}function ht(r,...t){return function(e,i,n){const s=e[0];let a=[];for(let c=0;c<t.length;c++)a=t[c](e,i,a,n)||a;let h=typeof r=="function"?r(a):r;if(n!==void 0){if(!Qe(h,n))throw new Error(`The following expression was expected to return ${ne(n)}, but returns ${ne(h)} instead: ${JSON.stringify(e)}`);h&=n}if(h===Vn)throw new Error(`No matching type was found for the following expression: ${JSON.stringify(e)}`);return new a0(h,s,...a)}}function v0(r,t,e){const i=r[0],n=h0[i];if(!n)throw new Error(`Unknown operator: ${i}`);return n(r,t,e)}function Md(){return{variables:{},properties:{},resolution:NaN,featureId:null}}function ji(r,t,e){const i=Ct(r,e);if(!Qe(t,i.type)){const n=ne(t),s=ne(i.type);throw new Error(`Expected expression to be of type ${n}, got ${s}`)}return gi(i)}function gi(r,t){if(r instanceof Bi){if(r.type===ie&&typeof r.value=="string"){const i=xl(r.value);return function(){return i}}return function(){return r.value}}const e=r.operator;switch(e){case B.Number:case B.String:return x0(r);case B.Get:case B.Var:return A0(r);case B.Id:return i=>i.featureId;case B.Concat:{const i=r.args.map(n=>gi(n));return n=>"".concat(...i.map(s=>s(n).toString()))}case B.Resolution:return i=>i.resolution;case B.Any:case B.All:case B.Not:return E0(r);case B.Equal:case B.NotEqual:case B.LessThan:case B.LessThanOrEqualTo:case B.GreaterThan:case B.GreaterThanOrEqualTo:return w0(r);case B.Multiply:case B.Divide:case B.Add:case B.Subtract:case B.Clamp:case B.Mod:case B.Pow:case B.Abs:case B.Floor:case B.Ceil:case B.Round:case B.Sin:case B.Cos:case B.Atan:case B.Sqrt:return L0(r);case B.Match:return C0(r);case B.Interpolate:return M0(r);default:throw new Error(`Unsupported operator ${e}`)}}function x0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case B.Number:case B.String:return s=>{for(let a=0;a<i;++a){const h=n[a](s);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 A0(r,t){const i=r.args[0].value;switch(r.operator){case B.Get:return n=>n.properties[i];case B.Var:return n=>n.variables[i];default:throw new Error(`Unsupported accessor operator ${r.operator}`)}}function w0(r,t){const e=r.operator,i=gi(r.args[0]),n=gi(r.args[1]);switch(e){case B.Equal:return s=>i(s)===n(s);case B.NotEqual:return s=>i(s)!==n(s);case B.LessThan:return s=>i(s)<n(s);case B.LessThanOrEqualTo:return s=>i(s)<=n(s);case B.GreaterThan:return s=>i(s)>n(s);case B.GreaterThanOrEqualTo:return s=>i(s)>=n(s);default:throw new Error(`Unsupported comparison operator ${e}`)}}function E0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case B.Any:return s=>{for(let a=0;a<i;++a)if(n[a](s))return!0;return!1};case B.All:return s=>{for(let a=0;a<i;++a)if(!n[a](s))return!1;return!0};case B.Not:return s=>!n[0](s);default:throw new Error(`Unsupported logical operator ${e}`)}}function L0(r,t){const e=r.operator,i=r.args.length,n=new Array(i);for(let s=0;s<i;++s)n[s]=gi(r.args[s]);switch(e){case B.Multiply:return s=>{let a=1;for(let h=0;h<i;++h)a*=n[h](s);return a};case B.Divide:return s=>n[0](s)/n[1](s);case B.Add:return s=>{let a=0;for(let h=0;h<i;++h)a+=n[h](s);return a};case B.Subtract:return s=>n[0](s)-n[1](s);case B.Clamp:return s=>{const a=n[0](s),h=n[1](s);if(a<h)return h;const c=n[2](s);return a>c?c:a};case B.Mod:return s=>n[0](s)%n[1](s);case B.Pow:return s=>Math.pow(n[0](s),n[1](s));case B.Abs:return s=>Math.abs(n[0](s));case B.Floor:return s=>Math.floor(n[0](s));case B.Ceil:return s=>Math.ceil(n[0](s));case B.Round:return s=>Math.round(n[0](s));case B.Sin:return s=>Math.sin(n[0](s));case B.Cos:return s=>Math.cos(n[0](s));case B.Atan:return i===2?s=>Math.atan2(n[0](s),n[1](s)):s=>Math.atan(n[0](s));case B.Sqrt:return s=>Math.sqrt(n[0](s));default:throw new Error(`Unsupported numeric operator ${e}`)}}function C0(r,t){const e=r.args.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=gi(r.args[n]);return n=>{const s=i[0](n);for(let a=1;a<e;a+=2)if(s===i[a](n))return i[a+1](n);return i[e-1](n)}}function M0(r,t){const e=r.args.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=gi(r.args[n]);return n=>{const s=i[0](n),a=i[1](n);let h,c;for(let d=2;d<e;d+=2){const f=i[d](n);let p=i[d+1](n);const m=Array.isArray(p);if(m&&(p=Ey(p)),f>=a)return d===2?p:m?T0(s,a,h,c,f,p):Kr(s,a,h,c,f,p);h=f,c=p}return c}}function Kr(r,t,e,i,n,s){const a=n-e;if(a===0)return i;const h=t-e,c=r===1?h/a:(Math.pow(r,h)-1)/(Math.pow(r,a)-1);return i+c*(s-i)}function T0(r,t,e,i,n,s){if(n-e===0)return i;const h=Wu(i),c=Wu(s);let d=c[2]-h[2];d>180?d-=360:d<-180&&(d+=360);const f=[Kr(r,t,e,h[0],n,c[0]),Kr(r,t,e,h[1],n,c[1]),h[2]+Kr(r,t,e,0,n,d),Kr(r,t,e,i[3],n,s[3])];return Zu(Ly(f))}function b0(r){return!0}function D0(r){const t=Ld(),e=P0(r,t),i=Md();return function(n,s){if(i.properties=n.getPropertiesInternal(),i.resolution=s,t.featureId){const a=n.getId();a!==void 0?i.featureId=a:i.featureId=null}return e(i)}}function Td(r){const t=Ld(),e=r.length,i=new Array(e);for(let a=0;a<e;++a)i[a]=Hl(r[a],t);const n=Md(),s=new Array(e);return function(a,h){if(n.properties=a.getPropertiesInternal(),n.resolution=h,t.featureId){const d=a.getId();d!==void 0?n.featureId=d:n.featureId=null}let c=0;for(let d=0;d<e;++d){const f=i[d](n);f&&(s[c]=f,c+=1)}return s.length=c,s}}function P0(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n){const s=r[n],a="filter"in s?ji(s.filter,Ot,t):b0;let h;if(Array.isArray(s.style)){const c=s.style.length;h=new Array(c);for(let d=0;d<c;++d)h[d]=Hl(s.style[d],t)}else h=[Hl(s.style,t)];i[n]={filter:a,styles:h}}return function(n){const s=[];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&&s.push(f)}}}return s}}function Hl(r,t){const e=qr(r,"",t),i=Jr(r,"",t),n=I0(r,t),s=S0(r,t),a=ge(r,"z-index",t);if(!e&&!i&&!n&&!s&&!on(r))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(r));const h=new Xn;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(s){const f=s(c);f&&(d=!1),h.setImage(f)}return a&&h.setZIndex(a(c)),d?null:h}}function qr(r,t,e){const i=bd(r,t+"fill-color",e);if(!i)return null;const n=new bo;return function(s){const a=i(s);return a==="none"?null:(n.setColor(a),n)}}function Jr(r,t,e){const i=ge(r,t+"stroke-width",e),n=bd(r,t+"stroke-color",e);if(!i&&!n)return null;const s=Ui(r,t+"stroke-line-cap",e),a=Ui(r,t+"stroke-line-join",e),h=Dd(r,t+"stroke-line-dash",e),c=ge(r,t+"stroke-line-dash-offset",e),d=ge(r,t+"stroke-miter-limit",e),f=new Do;return function(p){if(n){const m=n(p);if(m==="none")return null;f.setColor(m)}if(i&&f.setWidth(i(p)),s){const m=s(p);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(p);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(p)),c&&f.setLineDashOffset(c(p)),d&&f.setMiterLimit(d(p)),f}}function I0(r,t){const e="text-",i=Ui(r,e+"value",t);if(!i)return null;const n=qr(r,e,t),s=qr(r,e+"background-",t),a=Jr(r,e,t),h=Jr(r,e+"background-",t),c=Ui(r,e+"font",t),d=ge(r,e+"max-angle",t),f=ge(r,e+"offset-x",t),p=ge(r,e+"offset-y",t),m=$r(r,e+"overflow",t),y=Ui(r,e+"placement",t),v=ge(r,e+"repeat",t),A=ko(r,e+"scale",t),M=$r(r,e+"rotate-with-view",t),b=ge(r,e+"rotation",t),w=Ui(r,e+"align",t),E=Ui(r,e+"justify",t),C=Ui(r,e+"baseline",t),D=Dd(r,e+"padding",t),P=new wd({});return function(O){if(P.setText(i(O)),n&&P.setFill(n(O)),s&&P.setBackgroundFill(s(O)),a&&P.setStroke(a(O)),h&&P.setBackgroundStroke(h(O)),c&&P.setFont(c(O)),d&&P.setMaxAngle(d(O)),f&&P.setOffsetX(f(O)),p&&P.setOffsetY(p(O)),m&&P.setOverflow(m(O)),y){const k=y(O);if(k!=="point"&&k!=="line")throw new Error("Expected point or line for text-placement");P.setPlacement(k)}if(v&&P.setRepeat(v(O)),A&&P.setScale(A(O)),M&&P.setRotateWithView(M(O)),b&&P.setRotation(b(O)),w){const k=w(O);if(k!=="left"&&k!=="center"&&k!=="right"&&k!=="end"&&k!=="start")throw new Error("Expected left, right, center, start, or end for text-align");P.setTextAlign(k)}if(E){const k=E(O);if(k!=="left"&&k!=="right"&&k!=="center")throw new Error("Expected left, right, or center for text-justify");P.setJustify(k)}if(C){const k=C(O);if(k!=="bottom"&&k!=="top"&&k!=="middle"&&k!=="alphabetic"&&k!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");P.setTextBaseline(k)}return D&&P.setPadding(D(O)),P}}function S0(r,t){return"icon-src"in r?k0(r,t):"shape-points"in r?R0(r,t):"circle-radius"in r?O0(r,t):null}function k0(r,t){const e="icon-",i=e+"src",n=Sd(r[i],i),s=So(r,e+"anchor",t),a=ko(r,e+"scale",t),h=ge(r,e+"opacity",t),c=So(r,e+"displacement",t),d=ge(r,e+"rotation",t),f=$r(r,e+"rotate-with-view",t),p=Pd(r,e+"anchor-origin"),m=Id(r,e+"anchor-x-units"),y=Id(r,e+"anchor-y-units"),v=B0(r,e+"color"),A=N0(r,e+"cross-origin"),M=F0(r,e+"offset"),b=Pd(r,e+"offset-origin"),w=Kn(r,e+"width"),E=Kn(r,e+"height"),C=z0(r,e+"size"),D=Yl(r,e+"declutter"),P=new Ul({src:n,anchorOrigin:p,anchorXUnits:m,anchorYUnits:y,color:v,crossOrigin:A,offset:M,offsetOrigin:b,height:E,width:w,size:C,declutterMode:D});return function(O){return h&&P.setOpacity(h(O)),c&&P.setDisplacement(c(O)),d&&P.setRotation(d(O)),f&&P.setRotateWithView(f(O)),a&&P.setScale(a(O)),s&&P.setAnchor(s(O)),P}}function R0(r,t){const e="shape-",i=e+"points",n=kd(r[i],i),s=qr(r,e,t),a=Jr(r,e,t),h=ko(r,e+"scale",t),c=So(r,e+"displacement",t),d=ge(r,e+"rotation",t),f=$r(r,e+"rotate-with-view",t),p=Kn(r,e+"radius"),m=Kn(r,e+"radius1"),y=Kn(r,e+"radius2"),v=Kn(r,e+"angle"),A=Yl(r,e+"declutter-mode"),M=new yd({points:n,radius:p,radius1:m,radius2:y,angle:v,declutterMode:A});return function(b){return s&&M.setFill(s(b)),a&&M.setStroke(a(b)),c&&M.setDisplacement(c(b)),d&&M.setRotation(d(b)),f&&M.setRotateWithView(f(b)),h&&M.setScale(h(b)),M}}function O0(r,t){const e="circle-",i=qr(r,e,t),n=Jr(r,e,t),s=ge(r,e+"radius",t),a=ko(r,e+"scale",t),h=So(r,e+"displacement",t),c=ge(r,e+"rotation",t),d=$r(r,e+"rotate-with-view",t),f=Yl(r,e+"declutter-mode"),p=new vd({radius:5,declutterMode:f});return function(m){return s&&p.setRadius(s(m)),i&&p.setFill(i(m)),n&&p.setStroke(n(m)),h&&p.setDisplacement(h(m)),c&&p.setRotation(c(m)),d&&p.setRotateWithView(d(m)),a&&p.setScale(a(m)),p}}function ge(r,t,e){if(!(t in r))return;const i=ji(r[t],$,e);return function(n){return kd(i(n),t)}}function Ui(r,t,e){if(!(t in r))return null;const i=ji(r[t],Re,e);return function(n){return Sd(i(n),t)}}function $r(r,t,e){if(!(t in r))return null;const i=ji(r[t],Ot,e);return function(n){const s=i(n);if(typeof s!="boolean")throw new Error(`Expected a boolean for ${t}`);return s}}function bd(r,t,e){if(!(t in r))return null;const i=ji(r[t],ie|Re,e);return function(n){return Rd(i(n),t)}}function Dd(r,t,e){if(!(t in r))return null;const i=ji(r[t],Fi,e);return function(n){return ts(i(n),t)}}function So(r,t,e){if(!(t in r))return null;const i=ji(r[t],Fi,e);return function(n){const s=ts(i(n),t);if(s.length!==2)throw new Error(`Expected two numbers for ${t}`);return s}}function ko(r,t,e){if(!(t in r))return null;const i=ji(r[t],Fi|$,e);return function(n){return j0(i(n),t)}}function Kn(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 z0(r,t){const e=r[t];if(e!==void 0){if(typeof e=="number")return Ee(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 N0(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 Pd(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 Id(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 F0(r,t){const e=r[t];if(e!==void 0)return ts(e,t)}function Yl(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 B0(r,t){const e=r[t];if(e!==void 0)return Rd(e,t)}function ts(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 Sd(r,t){if(typeof r!="string")throw new Error(`Expected a string for ${t}`);return r}function kd(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=ts(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 j0(r,t){if(typeof r=="number")return r;const e=ts(r,t);if(e.length!==2)throw new Error(`Expected an array of two numbers for ${t}`);return e}const Od={RENDER_ORDER:"renderOrder"};class U0 extends go{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(Od.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 pd(9)),this.getRenderer().renderDeclutter(t)}setRenderOrder(t){this.set(Od.RENDER_ORDER,t)}setStyle(t){this.style_=G0(t),this.styleFunction_=t===null?void 0:qv(this.style_),this.changed()}}function G0(r){if(r===void 0)return Jv;if(!r)return null;if(typeof r=="function"||r instanceof Xn)return r;if(!Array.isArray(r))return Td([r]);if(r.length===0)return[];const t=r.length,e=r[0];if(e instanceof Xn){const n=new Array(t);for(let s=0;s<t;++s){const a=r[s];if(!(a instanceof Xn))throw new Error("Expected a list of style instances");n[s]=a}return n}if("style"in e){const n=new Array(t);for(let s=0;s<t;++s){const a=r[s];if(!("style"in a))throw new Error("Expected a list of rules with a style property");n[s]=a}return D0(n)}return Td(r)}const Wl=U0,oe={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature",FEATURESLOADSTART:"featuresloadstart",FEATURESLOADEND:"featuresloadend",FEATURESLOADERROR:"featuresloaderror"},Zl=34962,Xl=34963,H0=35040,Y0=35044,Ql=35048,W0=5121,Z0=5123,X0=5125,zd=5126,Nd=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function Q0(r,t){t=Object.assign({preserveDrawingBuffer:!0,antialias:!W_},t);const e=Nd.length;for(let i=0;i<e;++i)try{const n=r.getContext(Nd[i],t);if(n)return n}catch{}return null}const V0={STATIC_DRAW:Y0,STREAM_DRAW:H0,DYNAMIC_DRAW:Ql};class K0{constructor(t,e){this.array_=null,this.type_=t,vt(t===Zl||t===Xl,"A `WebGLArrayBuffer` must either be of type `ELEMENT_ARRAY_BUFFER` or `ARRAY_BUFFER`"),this.usage_=e!==void 0?e:V0.STATIC_DRAW}ofSize(t){return this.array_=new(Vl(this.type_))(t),this}fromArray(t){return this.array_=Vl(this.type_).from(t),this}fromArrayBuffer(t){return this.array_=new(Vl(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 Vl(r){switch(r){case Zl:return Float32Array;case Xl:return Uint32Array;default:return Float32Array}}const Fd=K0;class q0 extends Gc{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.declutterExecutorGroup=null}getFeatures(t){return lt()}getData(t){return null}prepareFrame(t){return lt()}renderFrame(t,e){return lt()}loadedTileCallback(t,e,i){t[e]||(t[e]={}),t[e][i.tileCoord.toString()]=i}createLoadedTileFinder(t,e,i){return(n,s)=>{const a=this.loadedTileCallback.bind(this,i,n);return t.forEachLoadedTile(e,n,s,a)}}forEachFeatureAtCoordinate(t,e,i,n,s){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;(e.getState()===bt.LOADED||e.getState()===bt.ERROR)&&this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=bt.LOADED&&e!=bt.ERROR&&t.addEventListener(ut.CHANGE,this.boundHandleImageChange_),e==bt.IDLE&&(t.load(),e=t.getState()),e==bt.LOADED}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&t.getSourceState()==="ready"&&t.changed()}disposeInternal(){delete this.layer_,super.disposeInternal()}}const Bd=q0,Ro={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"},J0=`
21
24
  precision mediump float;
22
25
 
23
26
  attribute vec2 a_position;
@@ -42,7 +45,7 @@
42
45
  void main() {
43
46
  gl_FragColor = texture2D(u_image, v_texCoord) * u_opacity;
44
47
  }
45
- `;class tx{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||Q0),e.compileShader(i);const n=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(n,t.fragmentShader||$0),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 s=[-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(s),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,s=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,s,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 s=this.getGL(),a=t.size;if(s.bindFramebuffer(s.FRAMEBUFFER,e?e.getFrameBuffer():null),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,this.renderTargetTexture_),!e){const c=ct(s.canvas);if(!t.renderTargets[c]){const d=s.getContextAttributes();d&&d.preserveDrawingBuffer&&(s.clearColor(0,0,0,0),s.clearDepth(1),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT)),t.renderTargets[c]=!0}}s.disable(s.DEPTH_TEST),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA),s.viewport(0,0,s.drawingBufferWidth,s.drawingBufferHeight),s.bindBuffer(s.ARRAY_BUFFER,this.renderTargetVerticesBuffer_),s.useProgram(this.renderTargetProgram_),s.enableVertexAttribArray(this.renderTargetAttribLocation_),s.vertexAttribPointer(this.renderTargetAttribLocation_,2,s.FLOAT,!1,0,0),s.uniform2f(this.renderTargetUniformLocation_,a[0],a[1]),s.uniform1i(this.renderTargetTextureLocation_,0);const h=t.layerStatesArray[t.layerIndex].opacity;s.uniform1f(this.renderTargetOpacityLocation_,h),this.applyUniforms(t),i&&i(s,t),s.drawArrays(s.TRIANGLES,0,6),n&&n(s,t)}getFrameBuffer(){return this.frameBuffer_}getDepthBuffer(){return this.depthBuffer_}applyUniforms(t){const e=this.getGL();let i,n=1;this.uniforms_.forEach(function(s){if(i=typeof s.value=="function"?s.value(t):s.value,i instanceof HTMLCanvasElement||i instanceof ImageData)s.texture||(s.texture=e.createTexture()),e.activeTexture(e[`TEXTURE${n}`]),e.bindTexture(e.TEXTURE_2D,s.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(s.location,n++);else if(Array.isArray(i))switch(i.length){case 2:e.uniform2f(s.location,i[0],i[1]);return;case 3:e.uniform3f(s.location,i[0],i[1],i[2]);return;case 4:e.uniform4f(s.location,i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(s.location,i)})}}const Bd=tx;function ex(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ix(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 pi={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"},_i={UNSIGNED_BYTE:H0,UNSIGNED_SHORT:V0,UNSIGNED_INT:X0,FLOAT:Od},Fo={};function Gd(r){return"shared/"+r}let Ud=0;function nx(){const r="unique/"+Ud;return Ud+=1,r}function rx(r){let t=Fo[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:Y0(e)},Fo[r]=t}return t.users+=1,t.context}function sx(r){const t=Fo[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 Fo[r]}class ox extends Us{constructor(t){super(),t=t||{},this.boundHandleWebGLContextLost_=this.handleWebGLContextLost.bind(this),this.boundHandleWebGLContextRestored_=this.handleWebGLContextRestored.bind(this),this.canvasCacheKey_=t.canvasCacheKey?Gd(t.canvasCacheKey):nx(),this.gl_=rx(this.canvasCacheKey_),this.bufferCache_={},this.extensionCache_={},this.currentProgram_=null,this.needsToBeRecreated_=!1;const e=this.gl_.canvas;e.addEventListener(Oo.LOST,this.boundHandleWebGLContextLost_),e.addEventListener(Oo.RESTORED,this.boundHandleWebGLContextRestored_),this.offsetRotateMatrix_=Ht(),this.offsetScaleMatrix_=Ht(),this.tmpMat4_=ex(),this.uniformLocationsByProgram_={},this.attribLocationsByProgram_={},this.uniforms_=[],t.uniforms&&this.setUniforms(t.uniforms),this.postProcessPasses_=t.postProcesses?t.postProcesses.map(i=>new Bd({webGlContext:this.gl_,scaleRatio:i.scaleRatio,vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,uniforms:i.uniforms})):[new Bd({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_===Gd(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=ct(t);let n=this.bufferCache_[i];if(!n){const s=e.createBuffer();n={buffer:t,webGlBuffer:s},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=ct(t),n=this.bufferCache_[i];n&&!e.isContextLost()&&e.deleteBuffer(n.webGlBuffer),delete this.bufferCache_[i]}disposeInternal(){const t=this.gl_.canvas;t.removeEventListener(Oo.LOST,this.boundHandleWebGLContextLost_),t.removeEventListener(Oo.RESTORED,this.boundHandleWebGLContextRestored_),sx(this.canvasCacheKey_),delete this.gl_}prepareDraw(t,e,i){const n=this.gl_,s=this.getCanvas(),a=t.size,h=t.pixelRatio;(s.width!==a[0]*h||s.height!==a[1]*h)&&(s.width=a[0]*h,s.height=a[1]*h,s.style.width=a[0]+"px",s.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 s=this.gl_,a=e.getSize();s.bindFramebuffer(s.FRAMEBUFFER,e.getFramebuffer()),s.bindRenderbuffer(s.RENDERBUFFER,e.getDepthbuffer()),s.viewport(0,0,a[0],a[1]),s.bindTexture(s.TEXTURE_2D,e.getTexture()),s.clearColor(0,0,0,0),s.depthRange(0,1),s.clearDepth(1),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.enable(s.BLEND),s.blendFunc(s.ONE,i?s.ZERO:s.ONE_MINUS_SRC_ALPHA),n?(s.enable(s.DEPTH_TEST),s.depthFunc(s.LEQUAL)):s.disable(s.DEPTH_TEST)}drawElements(t,e){const i=this.gl_;this.getExtension("OES_element_index_uint");const n=i.UNSIGNED_INT,s=4,a=e-t,h=t*s;i.drawElements(i.TRIANGLES,a,n,h)}finalizeDraw(t,e,i){for(let n=0,s=this.postProcessPasses_.length;n<s;n++)n===s-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(pi.TIME,(Date.now()-this.startTime_)*.001),this.setUniformFloatValue(pi.ZOOM,t.viewState.zoom),this.setUniformFloatValue(pi.RESOLUTION,t.viewState.resolution),this.setUniformFloatValue(pi.PIXEL_RATIO,n),this.setUniformFloatVec2(pi.VIEWPORT_SIZE_PX,[e[0],e[1]]),this.setUniformFloatValue(pi.ROTATION,i)}applyHitDetectionUniform(t){const e=this.getUniformLocation(pi.HIT_DETECTION);this.getGL().uniform1i(e,t?1:0),t&&this.setUniformFloatValue(pi.PIXEL_RATIO,.5)}applyUniforms(t){const e=this.gl_;let i,n=0;this.uniforms_.forEach(s=>{if(i=typeof s.value=="function"?s.value(t):s.value,i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof ImageData)s.texture||(s.prevValue=void 0,s.texture=e.createTexture()),this.bindTexture(s.texture,n,s.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)&&s.prevValue!==i&&(s.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(s.name,ix(this.tmpMat4_,i));else if(Array.isArray(i)&&i.length<=4)switch(i.length){case 2:e.uniform2f(this.getUniformLocation(s.name),i[0],i[1]);return;case 3:e.uniform3f(this.getUniformLocation(s.name),i[0],i[1],i[2]);return;case 4:e.uniform4f(this.getUniformLocation(s.name),i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(this.getUniformLocation(s.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),s=this.compileShader(e,i.VERTEX_SHADER),a=i.createProgram();if(i.attachShader(a,n),i.attachShader(a,s),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(s,i.COMPILE_STATUS)){const h=`Vertex shader compilation failed: ${i.getShaderInfoLog(s)}`;throw new Error(h)}if(i.deleteShader(s),!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=ct(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=ct(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,s=t.viewState.resolution,a=t.viewState.center;return Ie(e,0,0,2/(s*i[0]),2/(s*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,s){const a=this.getAttributeLocation(t);a<0||(this.gl_.enableVertexAttribArray(a),this.gl_.vertexAttribPointer(a,e,i,!1,n,s))}enableAttributes(t){const e=ax(t);let i=0;for(let n=0;n<t.length;n++){const s=t[n];this.enableAttributeArray_(s.name,s.size,s.type||Od,e,i),i+=s.size*jd(s.type)}}handleWebGLContextLost(t){Dn(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 s=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,s,a,c,d,e):n.texImage2D(n.TEXTURE_2D,s,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 ax(r){let t=0;for(let e=0;e<r.length;e++){const i=r[e];t+=i.size*jd(i.type)}return t}function jd(r){switch(r){case _i.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case _i.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case _i.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case _i.FLOAT:default:return Float32Array.BYTES_PER_ELEMENT}}class ql extends Nd{constructor(t,e){super(t),e=e||{},this.inversePixelTransform_=Ht(),this.pixelContext_=null,this.postProcesses_=e.postProcesses,this.uniforms_=e.uniforms,this.helper,t.addChangeListener(bt.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(te.PRECOMPOSE)){const n=new zr(te.PRECOMPOSE,void 0,e,t);i.dispatchEvent(n)}}dispatchPostComposeEvent(t,e){const i=this.getLayer();if(i.hasListener(te.POSTCOMPOSE)){const n=new zr(te.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 ql)){e=!0;continue}const f=c.getClassName();if((e||f!==n)&&(i+=1,e=!1),n=f,d===this)break}const s="map/"+t.mapId+"/group/"+i;(!this.helper||!this.helper.canvasCacheKeyMatches(s)||this.helper.needsToBeRecreated())&&(this.removeHelper(),this.helper=new ox({postProcesses:this.postProcesses_,uniforms:this.uniforms_,canvasCacheKey:s}),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)){Ie(this.inversePixelTransform_,0,0,i.pixelRatio,-i.pixelRatio,0,0,-i.size[1]);const s=new zr(t,this.inversePixelTransform_,i,e);n.dispatchEvent(s)}}preRender(t,e){this.dispatchRenderEvent_(te.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(te.POSTRENDER,t,e)}}const lx=ql,Ke=new Uint8Array(4);class hx{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){li(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 Ke[0]=0,Ke[1]=0,Ke[2]=0,Ke[3]=0,Ke;this.readAll();const i=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return Ke[0]=this.data_[i*4],Ke[1]=this.data_[i*4+1],Ke[2]=this.data_[i*4+2],Ke[3]=this.data_[i*4+3],Ke}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 cx=hx,Zd={GENERATE_POLYGON_BUFFERS:"GENERATE_POLYGON_BUFFERS",GENERATE_POINT_BUFFERS:"GENERATE_POINT_BUFFERS",GENERATE_LINE_STRING_BUFFERS:"GENERATE_LINE_STRING_BUFFERS"},Wd=.985;function ux(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 dx(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 fx(){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,h=v?t[0]*n:e.length,c=f(e,0,h,n,!0),g=[];if(!c||c.next===c.prev)return g;if(v&&(c=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,c,n)),e.length>80*n){r=i=e[0],x=u=e[1];for(var b=n;b<h;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(c,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!==w(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=h(s(e),t,n),t,n,r,x,i,2):2===u&&c(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(w(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,h=o>f?o>s?o:s:f>s?f:s,c=r.next;c!==t;){if(c.x>=a&&c.x<=v&&c.y>=l&&c.y<=h&&M(x,o,i,f,u,s,c.x,c.y)&&w(c.prev,c,c.next)>=0)return!1;c=c.next}return!0}function v(e,t,n,r){var x=e.prev,i=e,u=e.next;if(w(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,h=o<f?o<s?o:s:f<s?f:s,c=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(h,c,t,n,r),d=b(p,y,t,n,r),Z=e.prevZ,m=e.nextZ;Z&&Z.z>=g&&m&&m.z<=d;){if(Z.x>=h&&Z.x<=p&&Z.y>=c&&Z.y<=y&&Z!==x&&Z!==u&&M(o,a,f,l,s,v,Z.x,Z.y)&&w(Z.prev,Z,Z.next)>=0)return!1;if(Z=Z.prevZ,m.x>=h&&m.x<=p&&m.y>=c&&m.y<=y&&m!==x&&m!==u&&M(o,a,f,l,s,v,m.x,m.y)&&w(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;Z&&Z.z>=g;){if(Z.x>=h&&Z.x<=p&&Z.y>=c&&Z.y<=y&&Z!==x&&Z!==u&&M(o,a,f,l,s,v,Z.x,Z.y)&&w(Z.prev,Z,Z.next)>=0)return!1;Z=Z.prevZ}for(;m&&m.z<=d;){if(m.x>=h&&m.x<=p&&m.y>=c&&m.y<=y&&m!==x&&m!==u&&M(o,a,f,l,s,v,m.x,m.y)&&w(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function h(e,t,n){var r=e;do{var x=r.prev,i=r.next.next;!m(x,i)&&A(x,r,r.next,i)&&z(x,i)&&z(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 c(e,t,n,r,x,i){var u=e;do{for(var o=u.next.next;o!==u.prev;){if(u.i!==o.i&&Z(u,o)){var f=F(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&&M(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),z(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=F(n,e);return s(r,r.next),s(n,n.next)}function g(e,t){return w(e.prev,e,t.prev)<0&&w(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 M(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 Z(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)&&(z(e,t)&&z(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)&&(w(e.prev,e,t.prev)||w(e,t.prev,t))||m(e,t)&&w(e.prev,e,e.next)>0&&w(t.prev,t,t.next)>0)}function w(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=I(w(e,t,n)),i=I(w(e,t,r)),u=I(w(n,r,e)),o=I(w(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 I(e){return e>0?1:e<0?-1:0}function z(e,t){return w(e.prev,e,e.next)<0?w(e,t,e.next)>=0&&w(e,e.prev,t)>=0:w(e,t,e.prev)<0||w(e,e.next,t)<0}function F(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,h=r[o+1]*n,c=r[o+2]*n;l+=Math.abs((e[v]-e[c])*(e[h+1]-e[v+1])-(e[v]-e[h])*(e[c+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,l){const v=8+f.length,h=u.length/v,c=[e[t+0],e[t+1]],p=[e[n],e[n+1]],y=r(s,[...c]),g=r(s,[...p]);function b(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 d=-1,M=-1,Z=l;const w=null!==i;if(null!==x){d=b(y,g,r(s,[...[e[x],e[x+1]]])),Math.cos(d)<=.985&&(Z+=Math.tan((d-Math.PI)/2))}if(w){M=b(g,y,r(s,[...[e[i],e[i+1]]])),Math.cos(M)<=.985&&(Z+=Math.tan((Math.PI-M)/2))}function m(e,t){return 0===t?1e4*e:Math.sign(t)*(1e4*e+Math.abs(t))}return u.push(c[0],c[1],p[0],p[1],d,M,a,m(0,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(1,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(2,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(3,l)),u.push(...f),o.push(h,h+1,h+2,h+1,h+3,h+2),{length:a+Math.sqrt((g[0]-y[0])*(g[0]-y[0])+(g[1]-y[1])*(g[1]-y[1])),angle:Z}}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,h=0;for(let n=0;n<s-1;n++){let c=null;n>0?c=o+(n-1)*r:l&&(c=i-r);let p=null;n<s-2?p=o+(n+2)*r:l&&(p=x+r);const y=k(u,o+n*r,o+(n+1)*r,c,p,e,t,a,f,v,h);v=y.length,h=y.angle}o+=s*r}const l=Uint32Array.from(t),v=Float32Array.from(e),h=Object.assign({vertexBuffer:v.buffer,indexBuffer:l.buffer,renderInstructions:u.buffer},i);j.postMessage(h,[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"})))}function gx(r,t){const e=r.viewState.projection,n=t.getSource().getWrapX()&&e.canWrapX(),s=e.getExtent(),a=r.extent,h=n?Mt(s):null,c=n?Math.ceil((a[2]-s[2])/h)+1:1;return[n?Math.floor((a[0]-s[0])/h):0,c,h]}class px extends lx{constructor(t,e){const i=e.uniforms||{},n=Ht();i[pi.PROJECTION_MATRIX]=n,super(t,{uniforms:i,postProcesses:e.postProcesses}),this.sourceRevision_=-1,this.verticesBuffer_=new zd(Vl,Yl),this.indicesBuffer_=new zd(Xl,Yl),this.vertexShader_=e.vertexShader,this.fragmentShader_=e.fragmentShader,this.program_,this.hitDetectionEnabled_=e.hitDetectionEnabled??!0;const s=e.attributes?e.attributes.map(function(h){return{name:"a_prop_"+h.name,size:1,type:_i.FLOAT}}):[];this.attributes=[{name:"a_position",size:2,type:_i.FLOAT},{name:"a_index",size:1,type:_i.FLOAT}],this.hitDetectionEnabled_&&(this.attributes.push({name:"a_hitColor",size:4,type:_i.FLOAT}),this.attributes.push({name:"a_featureUid",size:1,type:_i.FLOAT})),this.attributes.push(...s),this.customAttributes=e.attributes?e.attributes:[],this.previousExtent_=xe(),this.currentTransform_=n,this.renderTransform_=Ht(),this.invertRenderTransform_=Ht(),this.renderInstructions_=new Float32Array(0),this.hitRenderTarget_,this.lastSentId=0,this.worker_=fx(),this.worker_.addEventListener("message",h=>{const c=h.data;if(c.type===Zd.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,ro(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_=[ft(a,oe.ADDFEATURE,this.handleSourceFeatureAdded_,this),ft(a,oe.CHANGEFEATURE,this.handleSourceFeatureChanged_,this),ft(a,oe.REMOVEFEATURE,this.handleSourceFeatureDelete_,this),ft(a,oe.CLEAR,this.handleSourceFeatureClear_,this)],a.forEachFeature(h=>{this.featureCache_[ct(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 cx(this.helper))}handleSourceFeatureAdded_(t){const e=t.feature;this.featureCache_[ct(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++}handleSourceFeatureChanged_(t){const e=t.feature;this.featureCache_[ct(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}}handleSourceFeatureDelete_(t){const e=t.feature;delete this.featureCache_[ct(e)],this.featureCount_--}handleSourceFeatureClear_(){this.featureCache_={},this.featureCount_=0}renderFrame(t){const e=this.helper.getGL();this.preRender(e,t);const[i,n,s]=gx(t,this.getLayer());return this.renderWorlds(t,!1,i,n,s),this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent),this.hitDetectionEnabled_&&(this.renderWorlds(t,!0,i,n,s),this.hitRenderTarget_.clearCachedData()),this.postRender(e,t),this.helper.getCanvas()}prepareFrameInternal(t){const e=this.getLayer(),i=e.getSource(),n=t.viewState,s=!t.viewHints[Zt.ANIMATING]&&!t.viewHints[Zt.INTERACTING],a=!Nn(this.previousExtent_,t.extent),h=this.sourceRevision_<i.getRevision();if(h&&(this.sourceRevision_=i.getRevision()),s&&(a||h)){const c=n.projection,d=n.resolution,f=e instanceof Hl?e.getRenderBuffer():0,p=Ys(t.extent,f*d);i.loadFeatures(p,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=Ht();this.helper.makeProjectionTransform(t,e);const n=(this.hitDetectionEnabled_?7:2)+this.customAttributes.length,s=n*this.featureCount_;(!this.renderInstructions_||this.renderInstructions_.length!==s)&&(this.renderInstructions_=new Float32Array(s));let a,h;const c=[],d=[];let f=-1;for(const _ in this.featureCache_)if(a=this.featureCache_[_],h=a.geometry,!(!h||h.getType()!=="Point")){if(c[0]=h.getFlatCoordinates()[0],c[1]=h.getFlatCoordinates()[1],Nt(e,c),this.renderInstructions_[++f]=c[0],this.renderInstructions_[++f]=c[1],this.hitDetectionEnabled_){const y=ux(f+5,d);this.renderInstructions_[++f]=y[0],this.renderInstructions_[++f]=y[1],this.renderInstructions_[++f]=y[2],this.renderInstructions_[++f]=y[3],this.renderInstructions_[++f]=Number(_)}for(let y=0;y<this.customAttributes.length;y++){const v=this.customAttributes[y].callback(a.feature,a.properties);this.renderInstructions_[++f]=v}}const p={id:++this.lastSentId,type:Zd.GENERATE_POINT_BUFFERS,renderInstructions:this.renderInstructions_.buffer,customAttributesSize:n-2};p.projectionTransform=e,this.ready=!1,this.worker_.postMessage(p,[this.renderInstructions_.buffer]),this.renderInstructions_=null}forEachFeatureAtCoordinate(t,e,i,n,s){if(mt(this.hitDetectionEnabled_,"`forEachFeatureAtCoordinate` cannot be used on a WebGL layer if the hit detection logic has been disabled using the `disableHitDetection: true` option."),!this.renderInstructions_||!this.hitDetectionEnabled_)return;const a=Nt(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=dx(c),f=this.renderInstructions_[d],p=Math.floor(f).toString(),y=this.getLayer().getSource().getFeatureByUid(p);if(y)return n(y,this.getLayer(),null)}renderWorlds(t,e,i,n,s){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_),qm(this.currentTransform_,a*s,0),vu(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){Ct(t)}),this.sourceListenKeys_=null,super.disposeInternal()}}const _x=px,mx=.5;class yx extends Zs{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(lt.CHANGE)}release(){this.state===et.ERROR&&this.setState(et.EMPTY)}getKey(){return this.key+"/"+this.tileCoord}getInterimTile(){let t=this.interimTile;if(!t)return this;do{if(t.getState()==et.LOADED)return this.transition_=0,t;t=t.interimTile}while(t);return this}refreshInterimChain(){let t=this.interimTile;if(!t)return;let e=this;do{if(t.getState()==et.LOADED){t.interimTile=null;break}t.getState()==et.LOADING?e=t:t.getState()==et.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!==et.ERROR&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}load(){rt()}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:gu(n/this.transition_)}inTransition(t){return this.transition_?this.transitionStarts_[t]!==-1:!1}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}}const Hd=yx,vx=10,Vd=.25;class xx{constructor(t,e,i,n,s,a){this.sourceProj_=t,this.targetProj_=e;let h={};const c=Rr(this.targetProj_,this.sourceProj_);this.transformInv_=function(w){const b=w[0]+"/"+w[1];return h[b]||(h[b]=c(w)),h[b]},this.maxSourceExtent_=n,this.errorThresholdSquared_=s*s,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!n&&!!this.sourceProj_.getExtent()&&Mt(n)>=Mt(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?Mt(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?Mt(this.targetProj_.getExtent()):null;const d=cn(i),f=Qs(i),p=Js(i),_=qs(i),y=this.transformInv_(d),v=this.transformInv_(f),E=this.transformInv_(p),T=this.transformInv_(_),M=vx+(a?Math.max(0,Math.ceil(Math.log2(Za(i)/(a*a*256*256)))):0);if(this.addQuad_(d,f,p,_,y,v,E,T,M),this.wrapsXInSource_){let w=1/0;this.triangles_.forEach(function(b,C,P){w=Math.min(w,b.source[0][0],b.source[1][0],b.source[2][0])}),this.triangles_.forEach(b=>{if(Math.max(b.source[0][0],b.source[1][0],b.source[2][0])-w>this.sourceWorldWidth_/2){const C=[[b.source[0][0],b.source[0][1]],[b.source[1][0],b.source[1][1]],[b.source[2][0],b.source[2][1]]];C[0][0]-w>this.sourceWorldWidth_/2&&(C[0][0]-=this.sourceWorldWidth_),C[1][0]-w>this.sourceWorldWidth_/2&&(C[1][0]-=this.sourceWorldWidth_),C[2][0]-w>this.sourceWorldWidth_/2&&(C[2][0]-=this.sourceWorldWidth_);const P=Math.min(C[0][0],C[1][0],C[2][0]);Math.max(C[0][0],C[1][0],C[2][0])-P<this.sourceWorldWidth_/2&&(b.source=C)}})}h={}}addTriangle_(t,e,i,n,s,a){this.triangles_.push({source:[n,s,a],target:[t,e,i]})}addQuad_(t,e,i,n,s,a,h,c,d){const f=Xc([s,a,h,c]),p=this.sourceWorldWidth_?Mt(f)/this.sourceWorldWidth_:null,_=this.sourceWorldWidth_,y=this.sourceProj_.canWrapX()&&p>.5&&p<1;let v=!1;if(d>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const T=Xc([t,e,i,n]);v=Mt(T)/this.targetWorldWidth_>Vd||v}!y&&this.sourceProj_.isGlobal()&&p&&(v=p>Vd||v)}if(!v&&this.maxSourceExtent_&&isFinite(f[0])&&isFinite(f[1])&&isFinite(f[2])&&isFinite(f[3])&&!ce(f,this.maxSourceExtent_))return;let E=0;if(!v&&(!isFinite(s[0])||!isFinite(s[1])||!isFinite(a[0])||!isFinite(a[1])||!isFinite(h[0])||!isFinite(h[1])||!isFinite(c[0])||!isFinite(c[1]))){if(d>0)v=!0;else if(E=(!isFinite(s[0])||!isFinite(s[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(!v){const T=[(t[0]+i[0])/2,(t[1]+i[1])/2],M=this.transformInv_(T);let w;y?w=(Bn(s[0],_)+Bn(h[0],_))/2-Bn(M[0],_):w=(s[0]+h[0])/2-M[0];const b=(s[1]+h[1])/2-M[1];v=w*w+b*b>this.errorThresholdSquared_}if(v){if(Math.abs(t[0]-i[0])<=Math.abs(t[1]-i[1])){const T=[(e[0]+i[0])/2,(e[1]+i[1])/2],M=this.transformInv_(T),w=[(n[0]+t[0])/2,(n[1]+t[1])/2],b=this.transformInv_(w);this.addQuad_(t,e,T,w,s,a,M,b,d-1),this.addQuad_(w,T,i,n,b,M,h,c,d-1)}else{const T=[(t[0]+e[0])/2,(t[1]+e[1])/2],M=this.transformInv_(T),w=[(i[0]+n[0])/2,(i[1]+n[1])/2],b=this.transformInv_(w);this.addQuad_(t,T,w,n,s,M,b,c,d-1),this.addQuad_(T,e,i,w,M,a,h,b,d-1)}return}}if(y){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}E&11||this.addTriangle_(t,i,n,s,h,c),E&14||this.addTriangle_(t,i,e,s,h,a),E&&(E&13||this.addTriangle_(e,n,t,a,c,s),E&7||this.addTriangle_(e,n,i,a,c,h))}calculateSourceExtent(){const t=xe();return this.triangles_.forEach(function(e,i,n){const s=e.source;Pr(t,s[0]),Pr(t,s[1]),Pr(t,s[2])}),t}getTriangles(){return this.triangles_}}const wx=xx;let Jl;const Jn=[];function Xd(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 Ql(r,t){return Math.abs(r[t*4]-210)>2||Math.abs(r[t*4+3]-.75*255)>2}function Ex(){if(Jl===void 0){const r=ee(6,6,Jn);r.globalCompositeOperation="lighter",r.fillStyle="rgba(210, 0, 0, 0.75)",Xd(r,4,5,4,0),Xd(r,4,5,0,5);const t=r.getImageData(0,0,3,3).data;Jl=Ql(t,0)||Ql(t,4)||Ql(t,8),yo(r),Jn.push(r.canvas)}return Jl}function Yd(r,t,e,i){const n=hu(e,t,r);let s=ou(t,i,e);const a=t.getMetersPerUnit();a!==void 0&&(s*=a);const h=r.getMetersPerUnit();h!==void 0&&(s/=h);const c=r.getExtent();if(!c||Ks(c,n)){const d=ou(r,s,n)/s;isFinite(d)&&d>0&&(s/=d)}return s}function Lx(r,t,e,i){const n=Ri(e);let s=Yd(r,t,n,i);return(!isFinite(s)||s<=0)&&Qc(e,function(a){return s=Yd(r,t,a,i),isFinite(s)&&s>0}),s}function bx(r,t,e,i,n,s,a,h,c,d,f,p,_){const y=ee(Math.round(e*r),Math.round(e*t),Jn);if(p||(y.imageSmoothingEnabled=!1),c.length===0)return y.canvas;y.scale(e,e);function v(w){return Math.round(w*e)/e}y.globalCompositeOperation="lighter";const E=xe();c.forEach(function(w,b,C){qc(E,w.extent)});let T;if(!_||c.length!==1||d!==0){const w=Mt(E),b=we(E);T=ee(Math.round(e*w/i),Math.round(e*b/i),Jn),p||(T.imageSmoothingEnabled=!1);const C=e/i;c.forEach(function(P,R,D){const O=P.extent[0]-E[0],G=-(P.extent[3]-E[3]),X=Mt(P.extent),Y=we(P.extent);P.image.width>0&&P.image.height>0&&T.drawImage(P.image,d,d,P.image.width-2*d,P.image.height-2*d,O*C,G*C,X*C,Y*C)})}const M=cn(a);return h.getTriangles().forEach(function(w,b,C){const P=w.source,R=w.target;let D=P[0][0],O=P[0][1],G=P[1][0],X=P[1][1],Y=P[2][0],q=P[2][1];const st=v((R[0][0]-M[0])/s),_t=v(-(R[0][1]-M[1])/s),V=v((R[1][0]-M[0])/s),H=v(-(R[1][1]-M[1])/s),j=v((R[2][0]-M[0])/s),B=v(-(R[2][1]-M[1])/s),Lt=D,Z=O;D=0,O=0,G-=Lt,X-=Z,Y-=Lt,q-=Z;const ut=[[G,X,0,0,V-st],[Y,q,0,0,j-st],[0,0,G,X,H-_t],[0,0,Y,q,B-_t]],z=Mm(ut);if(!z)return;if(y.save(),y.beginPath(),Ex()||!p){y.moveTo(V,H);const $=4,tt=st-V,at=_t-H;for(let kt=0;kt<$;kt++)y.lineTo(V+v((kt+1)*tt/$),H+v(kt*at/($-1))),kt!=$-1&&y.lineTo(V+v((kt+1)*tt/$),H+v((kt+1)*at/($-1)));y.lineTo(j,B)}else y.moveTo(V,H),y.lineTo(st,_t),y.lineTo(j,B);y.clip(),y.transform(z[0],z[2],z[1],z[3],st,_t),y.translate(E[0]-Lt,E[3]-Z);let xt;if(T)xt=T.canvas,y.scale(i/e,-i/e);else{const $=c[0],tt=$.extent;xt=$.image,y.scale(Mt(tt)/xt.width,-we(tt)/xt.height)}y.drawImage(xt,0,0),y.restore()}),T&&(yo(T),Jn.push(T.canvas)),f&&(y.save(),y.globalCompositeOperation="source-over",y.strokeStyle="black",y.lineWidth=1,h.getTriangles().forEach(function(w,b,C){const P=w.target,R=(P[0][0]-M[0])/s,D=-(P[0][1]-M[1])/s,O=(P[1][0]-M[0])/s,G=-(P[1][1]-M[1])/s,X=(P[2][0]-M[0])/s,Y=-(P[2][1]-M[1])/s;y.beginPath(),y.moveTo(O,G),y.lineTo(R,D),y.lineTo(X,Y),y.closePath(),y.stroke()}),y.restore()),y.canvas}class Tx extends Hd{constructor(t,e,i,n,s,a,h,c,d,f,p,_){super(s,et.IDLE,_),this.renderEdges_=p!==void 0?p:!1,this.pixelRatio_=h,this.gutter_=c,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=n,this.wrappedTileCoord_=a||s,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const y=n.getTileCoordExtent(this.wrappedTileCoord_),v=this.targetTileGrid_.getExtent();let E=this.sourceTileGrid_.getExtent();const T=v?kr(y,v):y;if(Za(T)===0){this.state=et.EMPTY;return}const M=t.getExtent();M&&(E?E=kr(E,M):E=M);const w=n.getResolution(this.wrappedTileCoord_[0]),b=Lx(t,i,T,w);if(!isFinite(b)||b<=0){this.state=et.EMPTY;return}const C=f!==void 0?f:mx;if(this.triangulation_=new wx(t,i,T,E,b*C,w),this.triangulation_.getTriangles().length===0){this.state=et.EMPTY;return}this.sourceZ_=e.getZForResolution(b);let P=this.triangulation_.calculateSourceExtent();if(E&&(t.canWrapX()?(P[1]=Dt(P[1],E[1],E[3]),P[3]=Dt(P[3],E[1],E[3])):P=kr(P,E)),!Za(P))this.state=et.EMPTY;else{const R=e.getTileRangeForExtentAndZ(P,this.sourceZ_);for(let D=R.minX;D<=R.maxX;D++)for(let O=R.minY;O<=R.maxY;O++){const G=d(this.sourceZ_,D,O,h);G&&this.sourceTiles_.push(G)}this.sourceTiles_.length===0&&(this.state=et.EMPTY)}}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{e&&e.getState()==et.LOADED&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})}),this.sourceTiles_.length=0,t.length===0)this.state=et.ERROR;else{const e=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(e),n=typeof i=="number"?i:i[0],s=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_=bx(n,s,this.pixelRatio_,h,this.sourceTileGrid_.getExtent(),a,c,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=et.LOADED}this.changed()}load(){if(this.state==et.IDLE){this.state=et.LOADING,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(e=>{const i=e.getState();if(i==et.IDLE||i==et.LOADING){t++;const n=ft(e,lt.CHANGE,function(s){const a=e.getState();(a==et.LOADED||a==et.ERROR||a==et.EMPTY)&&(Ct(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()==et.IDLE&&e.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(Ct),this.sourcesListenerKeys_=null}release(){this.canvas_&&(yo(this.canvas_.getContext("2d")),Jn.push(this.canvas_),this.canvas_=null),super.release()}}const $l=Tx;class Cx extends Hd{constructor(t,e,i,n,s,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_=s}getImage(){return this.image_}setImage(t){this.image_=t,this.state=et.LOADED,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=et.ERROR,this.unlistenImage_(),this.image_=Mx(),this.changed()}handleImageLoad_(){const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=et.LOADED:this.state=et.EMPTY,this.unlistenImage_(),this.changed()}load(){this.state==et.ERROR&&(this.state=et.IDLE,this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==et.IDLE&&(this.state=et.LOADING,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=$v(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}}function Mx(){const r=ee(1,1);return r.fillStyle="rgba(0,0,0,0)",r.fillRect(0,0,1,1),r.canvas}const Kd=Cx;class Sx{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 mt(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 mt(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){var e;return(e=this.entries_[t])==null?void 0:e.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){mt(!(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 Px=Sx;class qd{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 Qn(r,t,e,i,n){return n!==void 0?(n.minX=r,n.maxX=t,n.minY=e,n.maxY=i,n):new qd(r,t,e,i)}const Jd=qd;function Qd(r,t,e,i){return i!==void 0?(i[0]=r,i[1]=t,i[2]=e,i):[r,t,e]}function zo(r,t,e){return r+"/"+t+"/"+e}function $d(r){return zo(r[0],r[1],r[2])}function kx(r){return r.split("/").map(Number)}function Rx(r){return(r[1]<<r[0])+r[2]}function Ax(r,t){const e=r[0],i=r[1],n=r[2];if(t.getMinZoom()>e||e>t.getMaxZoom())return!1;const s=t.getFullTileRange(e);return s?s.containsXY(i,n):!0}function es(r){const t=r.toString();return t.includes(".")?t:t+".0"}function Ix(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(es).join(", ")})`}function th(r){const t=Fr(r),e=t.length>3?t[3]:1;return Ix([t[0]/255*e,t[1]/255*e,t[2]/255*e,e])}const eh={};let Dx=0;function Ox(r){return r in eh||(eh[r]=Dx++),eh[r]}function $n(r){return es(Ox(r))}function Fx(){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 tr=`#ifdef GL_FRAGMENT_PRECISION_HIGH
48
+ `;class tx{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||J0),e.compileShader(i);const n=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(n,t.fragmentShader||$0),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 s=[-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(s),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,s=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,s,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 s=this.getGL(),a=t.size;if(s.bindFramebuffer(s.FRAMEBUFFER,e?e.getFrameBuffer():null),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,this.renderTargetTexture_),!e){const c=gt(s.canvas);if(!t.renderTargets[c]){const d=s.getContextAttributes();d&&d.preserveDrawingBuffer&&(s.clearColor(0,0,0,0),s.clearDepth(1),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT)),t.renderTargets[c]=!0}}s.disable(s.DEPTH_TEST),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA),s.viewport(0,0,s.drawingBufferWidth,s.drawingBufferHeight),s.bindBuffer(s.ARRAY_BUFFER,this.renderTargetVerticesBuffer_),s.useProgram(this.renderTargetProgram_),s.enableVertexAttribArray(this.renderTargetAttribLocation_),s.vertexAttribPointer(this.renderTargetAttribLocation_,2,s.FLOAT,!1,0,0),s.uniform2f(this.renderTargetUniformLocation_,a[0],a[1]),s.uniform1i(this.renderTargetTextureLocation_,0);const h=t.layerStatesArray[t.layerIndex].opacity;s.uniform1f(this.renderTargetOpacityLocation_,h),this.applyUniforms(t),i&&i(s,t),s.drawArrays(s.TRIANGLES,0,6),n&&n(s,t)}getFrameBuffer(){return this.frameBuffer_}getDepthBuffer(){return this.depthBuffer_}applyUniforms(t){const e=this.getGL();let i,n=1;this.uniforms_.forEach(function(s){if(i=typeof s.value=="function"?s.value(t):s.value,i instanceof HTMLCanvasElement||i instanceof ImageData)s.texture||(s.texture=e.createTexture()),e.activeTexture(e[`TEXTURE${n}`]),e.bindTexture(e.TEXTURE_2D,s.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(s.location,n++);else if(Array.isArray(i))switch(i.length){case 2:e.uniform2f(s.location,i[0],i[1]);return;case 3:e.uniform3f(s.location,i[0],i[1],i[2]);return;case 4:e.uniform4f(s.location,i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(s.location,i)})}}const jd=tx;function ex(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ix(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 pi={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"},mi={UNSIGNED_BYTE:W0,UNSIGNED_SHORT:Z0,UNSIGNED_INT:X0,FLOAT:zd},Oo={};function Ud(r){return"shared/"+r}let Gd=0;function nx(){const r="unique/"+Gd;return Gd+=1,r}function rx(r){let t=Oo[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:Q0(e)},Oo[r]=t}return t.users+=1,t.context}function sx(r){const t=Oo[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 Oo[r]}class ox extends js{constructor(t){super(),t=t||{},this.boundHandleWebGLContextLost_=this.handleWebGLContextLost.bind(this),this.boundHandleWebGLContextRestored_=this.handleWebGLContextRestored.bind(this),this.canvasCacheKey_=t.canvasCacheKey?Ud(t.canvasCacheKey):nx(),this.gl_=rx(this.canvasCacheKey_),this.bufferCache_={},this.extensionCache_={},this.currentProgram_=null,this.needsToBeRecreated_=!1;const e=this.gl_.canvas;e.addEventListener(Ro.LOST,this.boundHandleWebGLContextLost_),e.addEventListener(Ro.RESTORED,this.boundHandleWebGLContextRestored_),this.offsetRotateMatrix_=Wt(),this.offsetScaleMatrix_=Wt(),this.tmpMat4_=ex(),this.uniformLocationsByProgram_={},this.attribLocationsByProgram_={},this.uniforms_=[],t.uniforms&&this.setUniforms(t.uniforms),this.postProcessPasses_=t.postProcesses?t.postProcesses.map(i=>new jd({webGlContext:this.gl_,scaleRatio:i.scaleRatio,vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,uniforms:i.uniforms})):[new jd({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=gt(t);let n=this.bufferCache_[i];if(!n){const s=e.createBuffer();n={buffer:t,webGlBuffer:s},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=gt(t),n=this.bufferCache_[i];n&&!e.isContextLost()&&e.deleteBuffer(n.webGlBuffer),delete this.bufferCache_[i]}disposeInternal(){const t=this.gl_.canvas;t.removeEventListener(Ro.LOST,this.boundHandleWebGLContextLost_),t.removeEventListener(Ro.RESTORED,this.boundHandleWebGLContextRestored_),sx(this.canvasCacheKey_),delete this.gl_}prepareDraw(t,e,i){const n=this.gl_,s=this.getCanvas(),a=t.size,h=t.pixelRatio;(s.width!==a[0]*h||s.height!==a[1]*h)&&(s.width=a[0]*h,s.height=a[1]*h,s.style.width=a[0]+"px",s.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 s=this.gl_,a=e.getSize();s.bindFramebuffer(s.FRAMEBUFFER,e.getFramebuffer()),s.bindRenderbuffer(s.RENDERBUFFER,e.getDepthbuffer()),s.viewport(0,0,a[0],a[1]),s.bindTexture(s.TEXTURE_2D,e.getTexture()),s.clearColor(0,0,0,0),s.depthRange(0,1),s.clearDepth(1),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.enable(s.BLEND),s.blendFunc(s.ONE,i?s.ZERO:s.ONE_MINUS_SRC_ALPHA),n?(s.enable(s.DEPTH_TEST),s.depthFunc(s.LEQUAL)):s.disable(s.DEPTH_TEST)}drawElements(t,e){const i=this.gl_;this.getExtension("OES_element_index_uint");const n=i.UNSIGNED_INT,s=4,a=e-t,h=t*s;i.drawElements(i.TRIANGLES,a,n,h)}finalizeDraw(t,e,i){for(let n=0,s=this.postProcessPasses_.length;n<s;n++)n===s-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(pi.TIME,(Date.now()-this.startTime_)*.001),this.setUniformFloatValue(pi.ZOOM,t.viewState.zoom),this.setUniformFloatValue(pi.RESOLUTION,t.viewState.resolution),this.setUniformFloatValue(pi.PIXEL_RATIO,n),this.setUniformFloatVec2(pi.VIEWPORT_SIZE_PX,[e[0],e[1]]),this.setUniformFloatValue(pi.ROTATION,i)}applyHitDetectionUniform(t){const e=this.getUniformLocation(pi.HIT_DETECTION);this.getGL().uniform1i(e,t?1:0),t&&this.setUniformFloatValue(pi.PIXEL_RATIO,.5)}applyUniforms(t){const e=this.gl_;let i,n=0;this.uniforms_.forEach(s=>{if(i=typeof s.value=="function"?s.value(t):s.value,i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof ImageData)s.texture||(s.prevValue=void 0,s.texture=e.createTexture()),this.bindTexture(s.texture,n,s.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)&&s.prevValue!==i&&(s.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(s.name,ix(this.tmpMat4_,i));else if(Array.isArray(i)&&i.length<=4)switch(i.length){case 2:e.uniform2f(this.getUniformLocation(s.name),i[0],i[1]);return;case 3:e.uniform3f(this.getUniformLocation(s.name),i[0],i[1],i[2]);return;case 4:e.uniform4f(this.getUniformLocation(s.name),i[0],i[1],i[2],i[3]);return;default:return}else typeof i=="number"&&e.uniform1f(this.getUniformLocation(s.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),s=this.compileShader(e,i.VERTEX_SHADER),a=i.createProgram();if(i.attachShader(a,n),i.attachShader(a,s),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(s,i.COMPILE_STATUS)){const h=`Vertex shader compilation failed: ${i.getShaderInfoLog(s)}`;throw new Error(h)}if(i.deleteShader(s),!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=gt(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=gt(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,s=t.viewState.resolution,a=t.viewState.center;return ke(e,0,0,2/(s*i[0]),2/(s*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,s){const a=this.getAttributeLocation(t);a<0||(this.gl_.enableVertexAttribArray(a),this.gl_.vertexAttribPointer(a,e,i,!1,n,s))}enableAttributes(t){const e=ax(t);let i=0;for(let n=0;n<t.length;n++){const s=t[n];this.enableAttributeArray_(s.name,s.size,s.type||zd,e,i),i+=s.size*Hd(s.type)}}handleWebGLContextLost(t){Rn(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 s=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,s,a,c,d,e):n.texImage2D(n.TEXTURE_2D,s,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 ax(r){let t=0;for(let e=0;e<r.length;e++){const i=r[e];t+=i.size*Hd(i.type)}return t}function Hd(r){switch(r){case mi.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case mi.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case mi.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case mi.FLOAT:default:return Float32Array.BYTES_PER_ELEMENT}}class Kl extends Bd{constructor(t,e){super(t),e=e||{},this.inversePixelTransform_=Wt(),this.pixelContext_=null,this.postProcesses_=e.postProcesses,this.uniforms_=e.uniforms,this.helper,t.addChangeListener(Lt.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(te.PRECOMPOSE)){const n=new Nr(te.PRECOMPOSE,void 0,e,t);i.dispatchEvent(n)}}dispatchPostComposeEvent(t,e){const i=this.getLayer();if(i.hasListener(te.POSTCOMPOSE)){const n=new Nr(te.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 Kl)){e=!0;continue}const f=c.getClassName();if((e||f!==n)&&(i+=1,e=!1),n=f,d===this)break}const s="map/"+t.mapId+"/group/"+i;(!this.helper||!this.helper.canvasCacheKeyMatches(s)||this.helper.needsToBeRecreated())&&(this.removeHelper(),this.helper=new ox({postProcesses:this.postProcesses_,uniforms:this.uniforms_,canvasCacheKey:s}),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)){ke(this.inversePixelTransform_,0,0,i.pixelRatio,-i.pixelRatio,0,0,-i.size[1]);const s=new Nr(t,this.inversePixelTransform_,i,e);n.dispatchEvent(s)}}preRender(t,e){this.dispatchRenderEvent_(te.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(te.POSTRENDER,t,e)}}const lx=Kl,Ve=new Uint8Array(4);class hx{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){li(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 Ve[0]=0,Ve[1]=0,Ve[2]=0,Ve[3]=0,Ve;this.readAll();const i=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return Ve[0]=this.data_[i*4],Ve[1]=this.data_[i*4+1],Ve[2]=this.data_[i*4+2],Ve[3]=this.data_[i*4+3],Ve}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 cx=hx,Yd={GENERATE_POLYGON_BUFFERS:"GENERATE_POLYGON_BUFFERS",GENERATE_POINT_BUFFERS:"GENERATE_POINT_BUFFERS",GENERATE_LINE_STRING_BUFFERS:"GENERATE_LINE_STRING_BUFFERS"},Wd=.985;function ux(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 dx(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 fx(){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,h=v?t[0]*n:e.length,c=f(e,0,h,n,!0),g=[];if(!c||c.next===c.prev)return g;if(v&&(c=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,c,n)),e.length>80*n){r=i=e[0],x=u=e[1];for(var b=n;b<h;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(c,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!==w(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=h(s(e),t,n),t,n,r,x,i,2):2===u&&c(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(w(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,h=o>f?o>s?o:s:f>s?f:s,c=r.next;c!==t;){if(c.x>=a&&c.x<=v&&c.y>=l&&c.y<=h&&M(x,o,i,f,u,s,c.x,c.y)&&w(c.prev,c,c.next)>=0)return!1;c=c.next}return!0}function v(e,t,n,r){var x=e.prev,i=e,u=e.next;if(w(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,h=o<f?o<s?o:s:f<s?f:s,c=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(h,c,t,n,r),d=b(p,y,t,n,r),Z=e.prevZ,m=e.nextZ;Z&&Z.z>=g&&m&&m.z<=d;){if(Z.x>=h&&Z.x<=p&&Z.y>=c&&Z.y<=y&&Z!==x&&Z!==u&&M(o,a,f,l,s,v,Z.x,Z.y)&&w(Z.prev,Z,Z.next)>=0)return!1;if(Z=Z.prevZ,m.x>=h&&m.x<=p&&m.y>=c&&m.y<=y&&m!==x&&m!==u&&M(o,a,f,l,s,v,m.x,m.y)&&w(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;Z&&Z.z>=g;){if(Z.x>=h&&Z.x<=p&&Z.y>=c&&Z.y<=y&&Z!==x&&Z!==u&&M(o,a,f,l,s,v,Z.x,Z.y)&&w(Z.prev,Z,Z.next)>=0)return!1;Z=Z.prevZ}for(;m&&m.z<=d;){if(m.x>=h&&m.x<=p&&m.y>=c&&m.y<=y&&m!==x&&m!==u&&M(o,a,f,l,s,v,m.x,m.y)&&w(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function h(e,t,n){var r=e;do{var x=r.prev,i=r.next.next;!m(x,i)&&A(x,r,r.next,i)&&z(x,i)&&z(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 c(e,t,n,r,x,i){var u=e;do{for(var o=u.next.next;o!==u.prev;){if(u.i!==o.i&&Z(u,o)){var f=F(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&&M(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),z(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=F(n,e);return s(r,r.next),s(n,n.next)}function g(e,t){return w(e.prev,e,t.prev)<0&&w(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 M(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 Z(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)&&(z(e,t)&&z(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)&&(w(e.prev,e,t.prev)||w(e,t.prev,t))||m(e,t)&&w(e.prev,e,e.next)>0&&w(t.prev,t,t.next)>0)}function w(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=I(w(e,t,n)),i=I(w(e,t,r)),u=I(w(n,r,e)),o=I(w(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 I(e){return e>0?1:e<0?-1:0}function z(e,t){return w(e.prev,e,e.next)<0?w(e,t,e.next)>=0&&w(e,e.prev,t)>=0:w(e,t,e.prev)<0||w(e,e.next,t)<0}function F(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,h=r[o+1]*n,c=r[o+2]*n;l+=Math.abs((e[v]-e[c])*(e[h+1]-e[v+1])-(e[v]-e[h])*(e[c+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,l){const v=8+f.length,h=u.length/v,c=[e[t+0],e[t+1]],p=[e[n],e[n+1]],y=r(s,[...c]),g=r(s,[...p]);function b(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 d=-1,M=-1,Z=l;const w=null!==i;if(null!==x){d=b(y,g,r(s,[...[e[x],e[x+1]]])),Math.cos(d)<=.985&&(Z+=Math.tan((d-Math.PI)/2))}if(w){M=b(g,y,r(s,[...[e[i],e[i+1]]])),Math.cos(M)<=.985&&(Z+=Math.tan((Math.PI-M)/2))}function m(e,t){return 0===t?1e4*e:Math.sign(t)*(1e4*e+Math.abs(t))}return u.push(c[0],c[1],p[0],p[1],d,M,a,m(0,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(1,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(2,l)),u.push(...f),u.push(c[0],c[1],p[0],p[1],d,M,a,m(3,l)),u.push(...f),o.push(h,h+1,h+2,h+1,h+3,h+2),{length:a+Math.sqrt((g[0]-y[0])*(g[0]-y[0])+(g[1]-y[1])*(g[1]-y[1])),angle:Z}}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,h=0;for(let n=0;n<s-1;n++){let c=null;n>0?c=o+(n-1)*r:l&&(c=i-r);let p=null;n<s-2?p=o+(n+2)*r:l&&(p=x+r);const y=k(u,o+n*r,o+(n+1)*r,c,p,e,t,a,f,v,h);v=y.length,h=y.angle}o+=s*r}const l=Uint32Array.from(t),v=Float32Array.from(e),h=Object.assign({vertexBuffer:v.buffer,indexBuffer:l.buffer,renderInstructions:u.buffer},i);j.postMessage(h,[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"})))}function gx(r,t){const e=r.viewState.projection,n=t.getSource().getWrapX()&&e.canWrapX(),s=e.getExtent(),a=r.extent,h=n?Tt(s):null,c=n?Math.ceil((a[2]-s[2])/h)+1:1;return[n?Math.floor((a[0]-s[0])/h):0,c,h]}class px extends lx{constructor(t,e){const i=e.uniforms||{},n=Wt();i[pi.PROJECTION_MATRIX]=n,super(t,{uniforms:i,postProcesses:e.postProcesses}),this.sourceRevision_=-1,this.verticesBuffer_=new Fd(Zl,Ql),this.indicesBuffer_=new Fd(Xl,Ql),this.vertexShader_=e.vertexShader,this.fragmentShader_=e.fragmentShader,this.program_,this.hitDetectionEnabled_=e.hitDetectionEnabled??!0;const s=e.attributes?e.attributes.map(function(h){return{name:"a_prop_"+h.name,size:1,type:mi.FLOAT}}):[];this.attributes=[{name:"a_position",size:2,type:mi.FLOAT},{name:"a_index",size:1,type:mi.FLOAT}],this.hitDetectionEnabled_&&(this.attributes.push({name:"a_hitColor",size:4,type:mi.FLOAT}),this.attributes.push({name:"a_featureUid",size:1,type:mi.FLOAT})),this.attributes.push(...s),this.customAttributes=e.attributes?e.attributes:[],this.previousExtent_=xe(),this.currentTransform_=n,this.renderTransform_=Wt(),this.invertRenderTransform_=Wt(),this.renderInstructions_=new Float32Array(0),this.hitRenderTarget_,this.lastSentId=0,this.worker_=fx(),this.worker_.addEventListener("message",h=>{const c=h.data;if(c.type===Yd.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,no(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_=[mt(a,oe.ADDFEATURE,this.handleSourceFeatureAdded_,this),mt(a,oe.CHANGEFEATURE,this.handleSourceFeatureChanged_,this),mt(a,oe.REMOVEFEATURE,this.handleSourceFeatureDelete_,this),mt(a,oe.CLEAR,this.handleSourceFeatureClear_,this)],a.forEachFeature(h=>{this.featureCache_[gt(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 cx(this.helper))}handleSourceFeatureAdded_(t){const e=t.feature;this.featureCache_[gt(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++}handleSourceFeatureChanged_(t){const e=t.feature;this.featureCache_[gt(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}}handleSourceFeatureDelete_(t){const e=t.feature;delete this.featureCache_[gt(e)],this.featureCount_--}handleSourceFeatureClear_(){this.featureCache_={},this.featureCount_=0}renderFrame(t){const e=this.helper.getGL();this.preRender(e,t);const[i,n,s]=gx(t,this.getLayer());return this.renderWorlds(t,!1,i,n,s),this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent),this.hitDetectionEnabled_&&(this.renderWorlds(t,!0,i,n,s),this.hitRenderTarget_.clearCachedData()),this.postRender(e,t),this.helper.getCanvas()}prepareFrameInternal(t){const e=this.getLayer(),i=e.getSource(),n=t.viewState,s=!t.viewHints[Ht.ANIMATING]&&!t.viewHints[Ht.INTERACTING],a=!Fn(this.previousExtent_,t.extent),h=this.sourceRevision_<i.getRevision();if(h&&(this.sourceRevision_=i.getRevision()),s&&(a||h)){const c=n.projection,d=n.resolution,f=e instanceof Wl?e.getRenderBuffer():0,p=Xs(t.extent,f*d);i.loadFeatures(p,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=Wt();this.helper.makeProjectionTransform(t,e);const n=(this.hitDetectionEnabled_?7:2)+this.customAttributes.length,s=n*this.featureCount_;(!this.renderInstructions_||this.renderInstructions_.length!==s)&&(this.renderInstructions_=new Float32Array(s));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],Ft(e,c),this.renderInstructions_[++f]=c[0],this.renderInstructions_[++f]=c[1],this.hitDetectionEnabled_){const y=ux(f+5,d);this.renderInstructions_[++f]=y[0],this.renderInstructions_[++f]=y[1],this.renderInstructions_[++f]=y[2],this.renderInstructions_[++f]=y[3],this.renderInstructions_[++f]=Number(m)}for(let y=0;y<this.customAttributes.length;y++){const v=this.customAttributes[y].callback(a.feature,a.properties);this.renderInstructions_[++f]=v}}const p={id:++this.lastSentId,type:Yd.GENERATE_POINT_BUFFERS,renderInstructions:this.renderInstructions_.buffer,customAttributesSize:n-2};p.projectionTransform=e,this.ready=!1,this.worker_.postMessage(p,[this.renderInstructions_.buffer]),this.renderInstructions_=null}forEachFeatureAtCoordinate(t,e,i,n,s){if(vt(this.hitDetectionEnabled_,"`forEachFeatureAtCoordinate` cannot be used on a WebGL layer if the hit detection logic has been disabled using the `disableHitDetection: true` option."),!this.renderInstructions_||!this.hitDetectionEnabled_)return;const a=Ft(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=dx(c),f=this.renderInstructions_[d],p=Math.floor(f).toString(),y=this.getLayer().getSource().getFeatureByUid(p);if(y)return n(y,this.getLayer(),null)}renderWorlds(t,e,i,n,s){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_),K_(this.currentTransform_,a*s,0),xu(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){Mt(t)}),this.sourceListenKeys_=null,super.disposeInternal()}}const mx=px,_x=.5;class yx extends Gs{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(ut.CHANGE)}release(){this.state===it.ERROR&&this.setState(it.EMPTY)}getKey(){return this.key+"/"+this.tileCoord}getInterimTile(){let t=this.interimTile;if(!t)return this;do{if(t.getState()==it.LOADED)return this.transition_=0,t;t=t.interimTile}while(t);return this}refreshInterimChain(){let t=this.interimTile;if(!t)return;let e=this;do{if(t.getState()==it.LOADED){t.interimTile=null;break}t.getState()==it.LOADING?e=t:t.getState()==it.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!==it.ERROR&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}load(){lt()}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:pu(n/this.transition_)}inTransition(t){return this.transition_?this.transitionStarts_[t]!==-1:!1}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}}const Zd=yx,vx=10,Xd=.25;class xx{constructor(t,e,i,n,s,a){this.sourceProj_=t,this.targetProj_=e;let h={};const c=Ir(this.targetProj_,this.sourceProj_);this.transformInv_=function(w){const E=w[0]+"/"+w[1];return h[E]||(h[E]=c(w)),h[E]},this.maxSourceExtent_=n,this.errorThresholdSquared_=s*s,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=cn(i),f=qs(i),p=Ks(i),m=Vs(i),y=this.transformInv_(d),v=this.transformInv_(f),A=this.transformInv_(p),M=this.transformInv_(m),b=vx+(a?Math.max(0,Math.ceil(Math.log2(Ha(i)/(a*a*256*256)))):0);if(this.addQuad_(d,f,p,m,y,v,A,M,b),this.wrapsXInSource_){let w=1/0;this.triangles_.forEach(function(E,C,D){w=Math.min(w,E.source[0][0],E.source[1][0],E.source[2][0])}),this.triangles_.forEach(E=>{if(Math.max(E.source[0][0],E.source[1][0],E.source[2][0])-w>this.sourceWorldWidth_/2){const C=[[E.source[0][0],E.source[0][1]],[E.source[1][0],E.source[1][1]],[E.source[2][0],E.source[2][1]]];C[0][0]-w>this.sourceWorldWidth_/2&&(C[0][0]-=this.sourceWorldWidth_),C[1][0]-w>this.sourceWorldWidth_/2&&(C[1][0]-=this.sourceWorldWidth_),C[2][0]-w>this.sourceWorldWidth_/2&&(C[2][0]-=this.sourceWorldWidth_);const D=Math.min(C[0][0],C[1][0],C[2][0]);Math.max(C[0][0],C[1][0],C[2][0])-D<this.sourceWorldWidth_/2&&(E.source=C)}})}h={}}addTriangle_(t,e,i,n,s,a){this.triangles_.push({source:[n,s,a],target:[t,e,i]})}addQuad_(t,e,i,n,s,a,h,c,d){const f=Qc([s,a,h,c]),p=this.sourceWorldWidth_?Tt(f)/this.sourceWorldWidth_:null,m=this.sourceWorldWidth_,y=this.sourceProj_.canWrapX()&&p>.5&&p<1;let v=!1;if(d>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const M=Qc([t,e,i,n]);v=Tt(M)/this.targetWorldWidth_>Xd||v}!y&&this.sourceProj_.isGlobal()&&p&&(v=p>Xd||v)}if(!v&&this.maxSourceExtent_&&isFinite(f[0])&&isFinite(f[1])&&isFinite(f[2])&&isFinite(f[3])&&!ce(f,this.maxSourceExtent_))return;let A=0;if(!v&&(!isFinite(s[0])||!isFinite(s[1])||!isFinite(a[0])||!isFinite(a[1])||!isFinite(h[0])||!isFinite(h[1])||!isFinite(c[0])||!isFinite(c[1]))){if(d>0)v=!0;else if(A=(!isFinite(s[0])||!isFinite(s[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),A!=1&&A!=2&&A!=4&&A!=8)return}if(d>0){if(!v){const M=[(t[0]+i[0])/2,(t[1]+i[1])/2],b=this.transformInv_(M);let w;y?w=(Bn(s[0],m)+Bn(h[0],m))/2-Bn(b[0],m):w=(s[0]+h[0])/2-b[0];const E=(s[1]+h[1])/2-b[1];v=w*w+E*E>this.errorThresholdSquared_}if(v){if(Math.abs(t[0]-i[0])<=Math.abs(t[1]-i[1])){const M=[(e[0]+i[0])/2,(e[1]+i[1])/2],b=this.transformInv_(M),w=[(n[0]+t[0])/2,(n[1]+t[1])/2],E=this.transformInv_(w);this.addQuad_(t,e,M,w,s,a,b,E,d-1),this.addQuad_(w,M,i,n,E,b,h,c,d-1)}else{const M=[(t[0]+e[0])/2,(t[1]+e[1])/2],b=this.transformInv_(M),w=[(i[0]+n[0])/2,(i[1]+n[1])/2],E=this.transformInv_(w);this.addQuad_(t,M,w,n,s,b,E,c,d-1),this.addQuad_(M,e,i,w,b,a,h,E,d-1)}return}}if(y){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}A&11||this.addTriangle_(t,i,n,s,h,c),A&14||this.addTriangle_(t,i,e,s,h,a),A&&(A&13||this.addTriangle_(e,n,t,a,c,s),A&7||this.addTriangle_(e,n,i,a,c,h))}calculateSourceExtent(){const t=xe();return this.triangles_.forEach(function(e,i,n){const s=e.source;Dr(t,s[0]),Dr(t,s[1]),Dr(t,s[2])}),t}getTriangles(){return this.triangles_}}const Ax=xx;let ql;const qn=[];function Qd(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 Jl(r,t){return Math.abs(r[t*4]-210)>2||Math.abs(r[t*4+3]-.75*255)>2}function wx(){if(ql===void 0){const r=ee(6,6,qn);r.globalCompositeOperation="lighter",r.fillStyle="rgba(210, 0, 0, 0.75)",Qd(r,4,5,4,0),Qd(r,4,5,0,5);const t=r.getImageData(0,0,3,3).data;ql=Jl(t,0)||Jl(t,4)||Jl(t,8),_o(r),qn.push(r.canvas)}return ql}function Vd(r,t,e,i){const n=cu(e,t,r);let s=au(t,i,e);const a=t.getMetersPerUnit();a!==void 0&&(s*=a);const h=r.getMetersPerUnit();h!==void 0&&(s/=h);const c=r.getExtent();if(!c||Qs(c,n)){const d=au(r,s,n)/s;isFinite(d)&&d>0&&(s/=d)}return s}function Ex(r,t,e,i){const n=Ii(e);let s=Vd(r,t,n,i);return(!isFinite(s)||s<=0)&&$c(e,function(a){return s=Vd(r,t,a,i),isFinite(s)&&s>0}),s}function Lx(r,t,e,i,n,s,a,h,c,d,f,p,m){const y=ee(Math.round(e*r),Math.round(e*t),qn);if(p||(y.imageSmoothingEnabled=!1),c.length===0)return y.canvas;y.scale(e,e);function v(w){return Math.round(w*e)/e}y.globalCompositeOperation="lighter";const A=xe();c.forEach(function(w,E,C){qc(A,w.extent)});let M;if(!m||c.length!==1||d!==0){const w=Tt(A),E=Ae(A);M=ee(Math.round(e*w/i),Math.round(e*E/i),qn),p||(M.imageSmoothingEnabled=!1);const C=e/i;c.forEach(function(D,P,O){const k=D.extent[0]-A[0],N=-(D.extent[3]-A[3]),H=Tt(D.extent),U=Ae(D.extent);D.image.width>0&&D.image.height>0&&M.drawImage(D.image,d,d,D.image.width-2*d,D.image.height-2*d,k*C,N*C,H*C,U*C)})}const b=cn(a);return h.getTriangles().forEach(function(w,E,C){const D=w.source,P=w.target;let O=D[0][0],k=D[0][1],N=D[1][0],H=D[1][1],U=D[2][0],Q=D[2][1];const tt=v((P[0][0]-b[0])/s),at=v(-(P[0][1]-b[1])/s),Y=v((P[1][0]-b[0])/s),W=v(-(P[1][1]-b[1])/s),G=v((P[2][0]-b[0])/s),F=v(-(P[2][1]-b[1])/s),nt=O,Z=k;O=0,k=0,N-=nt,H-=Z,U-=nt,Q-=Z;const rt=[[N,H,0,0,Y-tt],[U,Q,0,0,G-tt],[0,0,N,H,W-at],[0,0,U,Q,F-at]],z=T_(rt);if(!z)return;if(y.save(),y.beginPath(),wx()||!p){y.moveTo(Y,W);const q=4,et=tt-Y,ct=at-W;for(let Pt=0;Pt<q;Pt++)y.lineTo(Y+v((Pt+1)*et/q),W+v(Pt*ct/(q-1))),Pt!=q-1&&y.lineTo(Y+v((Pt+1)*et/q),W+v((Pt+1)*ct/(q-1)));y.lineTo(G,F)}else y.moveTo(Y,W),y.lineTo(tt,at),y.lineTo(G,F);y.clip(),y.transform(z[0],z[2],z[1],z[3],tt,at),y.translate(A[0]-nt,A[3]-Z);let ft;if(M)ft=M.canvas,y.scale(i/e,-i/e);else{const q=c[0],et=q.extent;ft=q.image,y.scale(Tt(et)/ft.width,-Ae(et)/ft.height)}y.drawImage(ft,0,0),y.restore()}),M&&(_o(M),qn.push(M.canvas)),f&&(y.save(),y.globalCompositeOperation="source-over",y.strokeStyle="black",y.lineWidth=1,h.getTriangles().forEach(function(w,E,C){const D=w.target,P=(D[0][0]-b[0])/s,O=-(D[0][1]-b[1])/s,k=(D[1][0]-b[0])/s,N=-(D[1][1]-b[1])/s,H=(D[2][0]-b[0])/s,U=-(D[2][1]-b[1])/s;y.beginPath(),y.moveTo(k,N),y.lineTo(P,O),y.lineTo(H,U),y.closePath(),y.stroke()}),y.restore()),y.canvas}class Cx extends Zd{constructor(t,e,i,n,s,a,h,c,d,f,p,m){super(s,it.IDLE,m),this.renderEdges_=p!==void 0?p:!1,this.pixelRatio_=h,this.gutter_=c,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=n,this.wrappedTileCoord_=a||s,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const y=n.getTileCoordExtent(this.wrappedTileCoord_),v=this.targetTileGrid_.getExtent();let A=this.sourceTileGrid_.getExtent();const M=v?Pr(y,v):y;if(Ha(M)===0){this.state=it.EMPTY;return}const b=t.getExtent();b&&(A?A=Pr(A,b):A=b);const w=n.getResolution(this.wrappedTileCoord_[0]),E=Ex(t,i,M,w);if(!isFinite(E)||E<=0){this.state=it.EMPTY;return}const C=f!==void 0?f:_x;if(this.triangulation_=new Ax(t,i,M,A,E*C,w),this.triangulation_.getTriangles().length===0){this.state=it.EMPTY;return}this.sourceZ_=e.getZForResolution(E);let D=this.triangulation_.calculateSourceExtent();if(A&&(t.canWrapX()?(D[1]=Rt(D[1],A[1],A[3]),D[3]=Rt(D[3],A[1],A[3])):D=Pr(D,A)),!Ha(D))this.state=it.EMPTY;else{const P=e.getTileRangeForExtentAndZ(D,this.sourceZ_);for(let O=P.minX;O<=P.maxX;O++)for(let k=P.minY;k<=P.maxY;k++){const N=d(this.sourceZ_,O,k,h);N&&this.sourceTiles_.push(N)}this.sourceTiles_.length===0&&(this.state=it.EMPTY)}}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{e&&e.getState()==it.LOADED&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})}),this.sourceTiles_.length=0,t.length===0)this.state=it.ERROR;else{const e=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(e),n=typeof i=="number"?i:i[0],s=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_=Lx(n,s,this.pixelRatio_,h,this.sourceTileGrid_.getExtent(),a,c,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=it.LOADED}this.changed()}load(){if(this.state==it.IDLE){this.state=it.LOADING,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(e=>{const i=e.getState();if(i==it.IDLE||i==it.LOADING){t++;const n=mt(e,ut.CHANGE,function(s){const a=e.getState();(a==it.LOADED||a==it.ERROR||a==it.EMPTY)&&(Mt(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()==it.IDLE&&e.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(Mt),this.sourcesListenerKeys_=null}release(){this.canvas_&&(_o(this.canvas_.getContext("2d")),qn.push(this.canvas_),this.canvas_=null),super.release()}}const $l=Cx;class Mx extends Zd{constructor(t,e,i,n,s,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_=s}getImage(){return this.image_}setImage(t){this.image_=t,this.state=it.LOADED,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=it.ERROR,this.unlistenImage_(),this.image_=Tx(),this.changed()}handleImageLoad_(){const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=it.LOADED:this.state=it.EMPTY,this.unlistenImage_(),this.changed()}load(){this.state==it.ERROR&&(this.state=it.IDLE,this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==it.IDLE&&(this.state=it.LOADING,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=$v(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}}function Tx(){const r=ee(1,1);return r.fillStyle="rgba(0,0,0,0)",r.fillRect(0,0,1,1),r.canvas}const Kd=Mx;class bx{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 vt(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 vt(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){var e;return(e=this.entries_[t])==null?void 0:e.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){vt(!(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 Dx=bx;class qd{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 Jn(r,t,e,i,n){return n!==void 0?(n.minX=r,n.maxX=t,n.minY=e,n.maxY=i,n):new qd(r,t,e,i)}const Jd=qd;function $d(r,t,e,i){return i!==void 0?(i[0]=r,i[1]=t,i[2]=e,i):[r,t,e]}function zo(r,t,e){return r+"/"+t+"/"+e}function tf(r){return zo(r[0],r[1],r[2])}function Px(r){return r.split("/").map(Number)}function Ix(r){return(r[1]<<r[0])+r[2]}function Sx(r,t){const e=r[0],i=r[1],n=r[2];if(t.getMinZoom()>e||e>t.getMaxZoom())return!1;const s=t.getFullTileRange(e);return s?s.containsXY(i,n):!0}function es(r){const t=r.toString();return t.includes(".")?t:t+".0"}function kx(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(es).join(", ")})`}function th(r){const t=zr(r),e=t.length>3?t[3]:1;return kx([t[0]/255*e,t[1]/255*e,t[2]/255*e,e])}const eh={};let Rx=0;function Ox(r){return r in eh||(eh[r]=Rx++),eh[r]}function $n(r){return es(Ox(r))}function zx(){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 tr=`#ifdef GL_FRAGMENT_PRECISION_HIGH
46
49
  precision highp float;
47
50
  #else
48
51
  precision mediump float;
@@ -69,7 +72,7 @@ vec4 samplePremultiplied(sampler2D sampler, vec2 texCoord) {
69
72
  vec4 color = texture2D(sampler, texCoord);
70
73
  return vec4(color.rgb * color.a, color.a);
71
74
  }
72
- `,er=Fx();class zx{constructor(){this.uniforms_=[],this.attributes_=[],this.varyings_=[],this.hasSymbol_=!1,this.symbolSizeExpression_=`vec2(${es(er["circle-radius"])} + ${es(er["circle-stroke-width"]*.5)})`,this.symbolRotationExpression_="0.0",this.symbolOffsetExpression_="vec2(0.0)",this.symbolColorExpression_=th(er["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_=es(er["stroke-width"]),this.strokeColorExpression_=th(er["stroke-color"]),this.strokeOffsetExpression_="0.",this.strokeCapExpression_=$n("round"),this.strokeJoinExpression_=$n("round"),this.strokeMiterLimitExpression_="10.",this.strokeDistanceFieldExpression_="-1000.",this.hasFill_=!1,this.fillColorExpression_=th(er["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}getFragmentDiscardExpression(){return this.discardExpression_}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}getStrokeColorExpression(){return this.strokeColorExpression_}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}getFillColorExpression(){return this.fillColorExpression_}addVertexShaderFunction(t){this.vertexShaderFunctions_.includes(t)||this.vertexShaderFunctions_.push(t)}addFragmentShaderFunction(t){this.fragmentShaderFunctions_.includes(t)||this.fragmentShaderFunctions_.push(t)}getSymbolVertexShader(){return this.hasSymbol_?`${tr}
75
+ `,er=zx();class Nx{constructor(){this.uniforms_=[],this.attributes_=[],this.varyings_=[],this.hasSymbol_=!1,this.symbolSizeExpression_=`vec2(${es(er["circle-radius"])} + ${es(er["circle-stroke-width"]*.5)})`,this.symbolRotationExpression_="0.0",this.symbolOffsetExpression_="vec2(0.0)",this.symbolColorExpression_=th(er["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_=es(er["stroke-width"]),this.strokeColorExpression_=th(er["stroke-color"]),this.strokeOffsetExpression_="0.",this.strokeCapExpression_=$n("round"),this.strokeJoinExpression_=$n("round"),this.strokeMiterLimitExpression_="10.",this.strokeDistanceFieldExpression_="-1000.",this.hasFill_=!1,this.fillColorExpression_=th(er["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}getFragmentDiscardExpression(){return this.discardExpression_}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}getStrokeColorExpression(){return this.strokeColorExpression_}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}getFillColorExpression(){return this.fillColorExpression_}addVertexShaderFunction(t){this.vertexShaderFunctions_.includes(t)||this.vertexShaderFunctions_.push(t)}addFragmentShaderFunction(t){this.fragmentShaderFunctions_.includes(t)||this.fragmentShaderFunctions_.push(t)}getSymbolVertexShader(){return this.hasSymbol_?`${tr}
73
76
  ${this.uniforms_.map(function(t){return"uniform "+t+";"}).join(`
74
77
  `)}
75
78
  attribute vec2 a_position;
@@ -443,7 +446,7 @@ void main(void) {
443
446
  if (gl_FragColor.a < 0.1) { discard; };
444
447
  gl_FragColor = v_hitColor;
445
448
  }
446
- }`:null}}const Oe={BLUR:"blur",GRADIENT:"gradient",RADIUS:"radius"},Nx=["#00f","#0ff","#0f0","#ff0","#f00"];class Bx extends Hl{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(Oe.GRADIENT,this.handleGradientChanged_),this.setGradient(t.gradient?t.gradient:Nx),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(Oe.BLUR)}getGradient(){return this.get(Oe.GRADIENT)}getRadius(){return this.get(Oe.RADIUS)}handleGradientChanged_(){this.gradient_=Gx(this.getGradient())}setBlur(t){this.set(Oe.BLUR,t)}setGradient(t){this.set(Oe.GRADIENT,t)}setRadius(t){this.set(Oe.RADIUS,t)}createRenderer(){const t=new zx().addAttribute("float a_prop_weight").addVarying("v_prop_weight","float","a_prop_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_prop_weight)");return new _x(this,{className:this.getClassName(),attributes:[{name:"weight",callback:e=>{const i=this.weightFunction_(e);return i!==void 0?Dt(i,0,1):1}}],uniforms:{u_size:()=>(this.get(Oe.RADIUS)+this.get(Oe.BLUR))*2,u_blurSlope:()=>this.get(Oe.RADIUS)/Math.max(1,this.get(Oe.BLUR))},hitDetectionEnabled:!0,vertexShader:t.getSymbolVertexShader(),fragmentShader:t.getSymbolFragmentShader(),postProcesses:[{fragmentShader:`
449
+ }`:null}}const Oe={BLUR:"blur",GRADIENT:"gradient",RADIUS:"radius"},Fx=["#00f","#0ff","#0f0","#ff0","#f00"];class Bx extends Wl{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(Oe.GRADIENT,this.handleGradientChanged_),this.setGradient(t.gradient?t.gradient:Fx),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(Oe.BLUR)}getGradient(){return this.get(Oe.GRADIENT)}getRadius(){return this.get(Oe.RADIUS)}handleGradientChanged_(){this.gradient_=jx(this.getGradient())}setBlur(t){this.set(Oe.BLUR,t)}setGradient(t){this.set(Oe.GRADIENT,t)}setRadius(t){this.set(Oe.RADIUS,t)}createRenderer(){const t=new Nx().addAttribute("float a_prop_weight").addVarying("v_prop_weight","float","a_prop_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_prop_weight)");return new mx(this,{className:this.getClassName(),attributes:[{name:"weight",callback:e=>{const i=this.weightFunction_(e);return i!==void 0?Rt(i,0,1):1}}],uniforms:{u_size:()=>(this.get(Oe.RADIUS)+this.get(Oe.BLUR))*2,u_blurSlope:()=>this.get(Oe.RADIUS)/Math.max(1,this.get(Oe.BLUR))},hitDetectionEnabled:!0,vertexShader:t.getSymbolVertexShader(),fragmentShader:t.getSymbolFragmentShader(),postProcesses:[{fragmentShader:`
447
450
  precision mediump float;
448
451
 
449
452
  uniform sampler2D u_image;
@@ -457,8 +460,8 @@ void main(void) {
457
460
  gl_FragColor.a = color.a * u_opacity;
458
461
  gl_FragColor.rgb = texture2D(u_gradientTexture, vec2(0.5, color.a)).rgb;
459
462
  gl_FragColor.rgb *= gl_FragColor.a;
460
- }`,uniforms:{u_gradientTexture:()=>this.gradient_,u_opacity:()=>this.getOpacity()}}]})}renderDeclutter(){}}function Gx(r){const i=ee(1,256),n=i.createLinearGradient(0,0,1,256),s=1/(r.length-1);for(let a=0,h=r.length;a<h;++a)n.addColorStop(a*s,r[a]);return i.fillStyle=n,i.fillRect(0,0,1,256),i.canvas}const Ux=Bx;class jx extends Px{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=kx(t)[0];this.forEach(n=>{n.tileCoord[0]!==i&&(this.remove($d(n.tileCoord)),n.release())})}}const tf=jx,ih={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};class Zx extends Re{constructor(t){super(),this.projection=zt(t.projection),this.attributions_=ef(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_=ef(t),this.changed()}setState(t){this.state_=t,this.changed()}}function ef(r){return r?Array.isArray(r)?function(t){return r}:typeof r=="function"?r:function(t){return[r]}:null}const nf=Zx,ir=[0,0,0],ji=5;class Wx{constructor(t){this.minZoom=t.minZoom!==void 0?t.minZoom:0,this.resolutions_=t.resolutions,mt(sm(this.resolutions_,(n,s)=>s-n,!0),"`resolutions` must be sorted in descending order");let e;if(!t.origins){for(let n=0,s=this.resolutions_.length-1;n<s;++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,mt(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_=cn(i)),mt(!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,mt(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:Na,mt(!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((n,s)=>{const a=new Jd(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,s);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}):i&&this.calculateTileRanges_(i)}forEachTileCoord(t,e,i){const n=this.getTileRangeForExtentAndZ(t,e);for(let s=n.minX,a=n.maxX;s<=a;++s)for(let h=n.minY,c=n.maxY;h<=c;++h)i([e,s,h])}forEachTileCoordParentTileRange(t,e,i,n){let s,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(a!==void 0&&h!==void 0?(a=Math.floor(a/2),h=Math.floor(h/2),s=Qn(a,a,h,h,i)):s=this.getTileRangeForExtentAndZ(c,d,i),e(d,s))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 s=t[1]*2,a=t[2]*2;return Qn(s,s+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],s=t[1],a=t[2];if(e===n)return Qn(s,a,s,a,i);if(this.zoomFactor_){const c=Math.pow(this.zoomFactor_,e-n),d=Math.floor(s*c),f=Math.floor(a*c);if(e<n)return Qn(d,d,f,f,i);const p=Math.floor(c*(s+1))-1,_=Math.floor(c*(a+1))-1;return Qn(d,p,f,_,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,ir);const n=ir[1],s=ir[2];this.getTileCoordForXYAndZ_(t[2],t[1],e,!0,ir);const a=ir[1],h=ir[2];return Qn(n,a,s,h,i)}getTileCoordCenter(t){const e=this.getOrigin(t[0]),i=this.getResolution(t[0]),n=Le(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]),s=Le(this.getTileSize(t[0]),this.tmpSize_),a=i[0]+t[1]*s[0]*n,h=i[1]-(t[2]+1)*s[1]*n,c=a+s[0]*n,d=h+s[1]*n;return ki(a,h,c,d,e)}getTileCoordForCoordAndResolution(t,e,i){return this.getTileCoordForXYAndResolution_(t[0],t[1],e,!1,i)}getTileCoordForXYAndResolution_(t,e,i,n,s){const a=this.getZForResolution(i),h=i/this.getResolution(a),c=this.getOrigin(a),d=Le(this.getTileSize(a),this.tmpSize_);let f=h*(t-c[0])/i/d[0],p=h*(c[1]-e)/i/d[1];return n?(f=io(f,ji)-1,p=io(p,ji)-1):(f=eo(f,ji),p=eo(p,ji)),Qd(a,f,p,s)}getTileCoordForXYAndZ_(t,e,i,n,s){const a=this.getOrigin(i),h=this.getResolution(i),c=Le(this.getTileSize(i),this.tmpSize_);let d=(t-a[0])/h/c[0],f=(a[1]-e)/h/c[1];return n?(d=io(d,ji)-1,f=io(f,ji)-1):(d=eo(d,ji),f=eo(f,ji)),Qd(i,d,f,s)}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=za(this.resolutions_,t,e||0);return Dt(i,this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(t,e){return Ou(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 rf=Wx;function sf(r){let t=r.getDefaultTileGrid();return t||(t=Yx(r),r.setDefaultTileGrid(t)),t}function Hx(r,t,e){const i=t[0],n=r.getTileCoordCenter(t),s=nh(e);if(!Ks(s,n)){const a=Mt(s),h=Math.ceil((s[0]-n[0])/a);return n[0]+=a*h,r.getTileCoordForCoordAndZ(n,i)}return t}function Vx(r,t,e,i){i=i!==void 0?i:"top-left";const n=of(r,t,e);return new rf({extent:r,origin:Em(r,i),resolutions:n,tileSize:e})}function Xx(r){const t=r||{},e=t.extent||zt("EPSG:3857").getExtent(),i={extent:e,minZoom:t.minZoom,tileSize:t.tileSize,resolutions:of(e,t.maxZoom,t.tileSize,t.maxResolution)};return new rf(i)}function of(r,t,e,i){t=t!==void 0?t:cm,e=Le(e!==void 0?e:Na);const n=we(r),s=Mt(r);i=i>0?i:Math.max(s/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 Yx(r,t,e,i){const n=nh(r);return Vx(n,t,e,i)}function nh(r){r=zt(r);let t=r.getExtent();if(!t){const e=180*Cr.degrees/r.getMetersPerUnit();t=ki(-e,-e,e,e)}return t}class Kx extends nf{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&&Le(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),e),this.tileCache=new tf(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 s=this.getTileCacheForProjection(t);if(!s)return!1;let a=!0,h,c,d;for(let f=i.minX;f<=i.maxX;++f)for(let p=i.minY;p<=i.maxY;++p)c=zo(e,f,p),d=!1,s.containsKey(c)&&(h=s.get(c),d=h.getState()===et.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,s){return rt()}getTileGrid(){return this.tileGrid}getTileGridForProjection(t){return this.tileGrid?this.tileGrid:sf(t)}getTileCacheForProjection(t){const e=this.getProjection();return mt(e===null||dn(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),s=this.getTilePixelRatio(e),a=Le(n.getTileSize(t),this.tmpSize);return s==1?a:Gv(a,s,this.tmpSize)}getTileCoordForTileUrlFunction(t,e){e=e!==void 0?e:this.getProjection();const i=this.getTileGridForProjection(e);return this.getWrapX()&&e.isGlobal()&&(t=Hx(i,t,e)),Ax(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 qx extends ai{constructor(t,e){super(t),this.tile=e}}const Jx=Kx;function Qx(r,t){const e=/\{z\}/g,i=/\{x\}/g,n=/\{y\}/g,s=/\{-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(s,function(){const d=a[0],f=t.getFullTileRange(d);if(!f)throw new Error("The {-y} placeholder requires a tile grid with extent");return(f.getHeight()-a[2]-1).toString()})}}function $x(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=Qx(r[n],t);return tw(i)}function tw(r){return r.length===1?r[0]:function(t,e,i){if(!t)return;const n=Rx(t),s=Bn(n,r.length);return r[s](t,e,i)}}function ew(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 s;for(s=i;s<=n;++s)t.push(r.replace(e[0],String.fromCharCode(s)));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 rh extends Jx{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===rh.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=ct(e),n=e.getState();let s;n==et.LOADING?(this.tileLoadingKeys_[i]=!0,s=ih.TILELOADSTART):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],s=n==et.ERROR?ih.TILELOADERROR:n==et.LOADED?ih.TILELOADEND:void 0),s!=null&&this.dispatchEvent(new qx(s,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=ew(t);this.urls=e,this.setUrls(e)}setUrls(t){this.urls=t;const e=t.join(`
461
- `);this.generateTileUrlFunction_?this.setTileUrlFunction($x(t,this.tileGrid),e):this.setKey(e)}tileUrlFunction(t,e,i){}useTile(t,e,i){const n=zo(t,e,i);this.tileCache.containsKey(n)&&this.tileCache.get(n)}}const iw=rh;class nw extends iw{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:rw,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:Kd,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 s=this.tileCacheForProjection[n];s.expireCache(s==i?e:{})}}getGutterForProjection(t){return this.getProjection()&&t&&!dn(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&&!dn(this.getProjection(),t)?!1:super.getOpaque(t)}getTileGridForProjection(t){const e=this.getProjection();if(this.tileGrid&&(!e||dn(e,t)))return this.tileGrid;const i=ct(t);return i in this.tileGridForProjection||(this.tileGridForProjection[i]=sf(t)),this.tileGridForProjection[i]}getTileCacheForProjection(t){const e=this.getProjection();if(!e||dn(e,t))return this.tileCache;const i=ct(t);return i in this.tileCacheForProjection||(this.tileCacheForProjection[i]=new tf(this.tileCache.highWaterMark)),this.tileCacheForProjection[i]}createTile_(t,e,i,n,s,a){const h=[t,e,i],c=this.getTileCoordForTileUrlFunction(h,s),d=c?this.tileUrlFunction(c,n,s):void 0,f=new this.tileClass(h,d!==void 0?et.IDLE:et.EMPTY,d!==void 0?d:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return f.key=a,f.addEventListener(lt.CHANGE,this.handleTileChange.bind(this)),f}getTile(t,e,i,n,s){const a=this.getProjection();if(!a||!s||dn(a,s))return this.getTileInternal(t,e,i,n,a||s);const h=this.getTileCacheForProjection(s),c=[t,e,i];let d;const f=$d(c);h.containsKey(f)&&(d=h.get(f));const p=this.getKey();if(d&&d.key==p)return d;const _=this.getTileGridForProjection(a),y=this.getTileGridForProjection(s),v=this.getTileCoordForTileUrlFunction(c,s),E=new $l(a,_,s,y,c,v,this.getTilePixelRatio(n),this.getGutter(),(T,M,w,b)=>this.getTileInternal(T,M,w,b,a),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return E.key=p,d?(E.interimTile=d,E.refreshInterimChain(),h.replace(f,E)):h.set(f,E),E}getTileInternal(t,e,i,n,s){let a=null;const h=zo(t,e,i),c=this.getKey();if(!this.tileCache.containsKey(h))a=this.createTile_(t,e,i,n,s,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,s,c),d.getState()==et.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=zt(t);if(i){const n=ct(i);n in this.tileGridForProjection||(this.tileGridForProjection[n]=e)}}clear(){super.clear();for(const t in this.tileCacheForProjection)this.tileCacheForProjection[t].clear()}}function rw(r,t){r.getImage().src=t}const sw=nw;class ow extends sw{constructor(t){t=t||{};const e=t.projection!==void 0?t.projection:"EPSG:3857",i=t.tileGrid!==void 0?t.tileGrid:Xx({extent:nh(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 aw=ow,lw='&#169; <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors.';class hw extends aw{constructor(t){t=t||{};let e;t.attributions!==void 0?e=t.attributions:e=[lw];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 cw=hw,No={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};class uw extends po{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(No.PRELOAD)}setPreload(t){this.set(No.PRELOAD,t)}getUseInterimTilesOnError(){return this.get(No.USE_INTERIM_TILES_ON_ERROR)}setUseInterimTilesOnError(t){this.set(No.USE_INTERIM_TILES_ON_ERROR,t)}getData(t){return super.getData(t)}}const dw=uw,af=[];let nr=null;function fw(){nr=ee(1,1,void 0,{willReadFrequently:!0})}class gw extends Nd{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=Ht(),this.pixelTransform=Ht(),this.inversePixelTransform=Ht(),this.context=null,this.containerReused=!1,this.pixelContext_=null,this.frameState=null}getImageData(t,e,i){nr||fw(),nr.clearRect(0,0,1,1);let n;try{nr.drawImage(t,e,i,1,1,0,0,1,1),n=nr.getImageData(0,0,1,1).data}catch{return nr=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 s,a;if(t&&t.className===n&&(!i||t&&t.style.backgroundColor&&li(Fr(t.style.backgroundColor),Fr(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){s=document.createElement("div"),s.className=n;let h=s.style;h.position="absolute",h.width="100%",h.height="100%",a=ee();const c=a.canvas;s.appendChild(c),h=c.style,h.position="absolute",h.left="0",h.transformOrigin="top left",this.container=s,this.context=a}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){const n=cn(i),s=Qs(i),a=Js(i),h=qs(i);Nt(e.coordinateToPixelTransform,n),Nt(e.coordinateToPixelTransform,s),Nt(e.coordinateToPixelTransform,a),Nt(e.coordinateToPixelTransform,h);const c=this.inversePixelTransform;Nt(c,n),Nt(c,s),Nt(c,a),Nt(c,h),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(s[0]),Math.round(s[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 s=new zr(t,this.inversePixelTransform,i,e);n.dispatchEvent(s)}}preRender(t,e){this.frameState=e,this.dispatchRenderEvent_(te.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(te.POSTRENDER,t,e)}getRenderTransform(t,e,i,n,s,a,h){const c=s/2,d=a/2,f=n/e,p=-f,_=-t[0]+h,y=-t[1];return Ie(this.tempTransform,c,d,f,p,-i,_,y)}disposeInternal(){delete this.frameState,super.disposeInternal()}}const lf=gw;class pw extends lf{constructor(t){super(t),this.extentChanged=!0,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedRevision,this.renderedTiles=[],this.newTiles_=!1,this.tmpExtent=xe(),this.tmpTileRange_=new Jd(0,0,0,0)}isDrawableTile(t){const e=this.getLayer(),i=t.getState(),n=e.getUseInterimTilesOnError();return i==et.LOADED||i==et.EMPTY||i==et.ERROR&&!n}getTile(t,e,i,n){const s=n.pixelRatio,a=n.viewState.projection,h=this.getLayer();let d=h.getSource().getTile(t,e,i,s,a);return d.getState()==et.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=Nt(e.pixelToCoordinateTransform,t.slice()),s=i.getExtent();if(s&&!Ks(s,n))return null;const a=e.pixelRatio,h=e.viewState.projection,c=e.viewState,d=i.getRenderSource(),f=d.getTileGridForProjection(c.projection),p=d.getTilePixelRatio(e.pixelRatio);for(let _=f.getZForResolution(c.resolution);_>=f.getMinZoom();--_){const y=f.getTileCoordForCoordAndZ(n,_),v=d.getTile(_,y[1],y[2],a,h);if(!(v instanceof Kd||v instanceof $l)||v instanceof $l&&v.getState()===et.EMPTY)return null;if(v.getState()!==et.LOADED)continue;const E=f.getOrigin(_),T=Le(f.getTileSize(_)),M=f.getResolution(_),w=Math.floor(p*((n[0]-E[0])/M-y[1]*T[0])),b=Math.floor(p*((E[1]-n[1])/M-y[2]*T[1])),C=Math.round(p*d.getGutterForProjection(c.projection));return this.getImageData(v.getImage(),w+C,b+C)}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,s=n.projection,a=n.resolution,h=n.center,c=n.rotation,d=t.pixelRatio,f=this.getLayer(),p=f.getSource(),_=p.getRevision(),y=p.getTileGridForProjection(s),v=y.getZForResolution(a,p.zDirection),E=y.getResolution(v);let T=t.extent;const M=t.viewState.resolution,w=p.getTilePixelRatio(d),b=Math.round(Mt(T)/M*d),C=Math.round(we(T)/M*d),P=i.extent&&fn(i.extent);P&&(T=kr(T,fn(i.extent)));const R=E*b/2/w,D=E*C/2/w,O=[h[0]-R,h[1]-D,h[0]+R,h[1]+D],G=y.getTileRangeForExtentAndZ(T,v),X={};X[v]={};const Y=this.createLoadedTileFinder(p,s,X),q=this.tmpExtent,st=this.tmpTileRange_;this.newTiles_=!1;const _t=c?Ha(n.center,M,c,t.size):void 0;for(let xt=G.minX;xt<=G.maxX;++xt)for(let $=G.minY;$<=G.maxY;++$){if(c&&!y.tileCoordIntersectsViewport([v,xt,$],_t))continue;const tt=this.getTile(v,xt,$,t);if(this.isDrawableTile(tt)){const Xt=ct(this);if(tt.getState()==et.LOADED){X[v][tt.tileCoord.toString()]=tt;let Ce=tt.inTransition(Xt);Ce&&i.opacity!==1&&(tt.endTransition(Xt),Ce=!1),!this.newTiles_&&(Ce||!this.renderedTiles.includes(tt))&&(this.newTiles_=!0)}if(tt.getAlpha(Xt,t.time)===1)continue}const at=y.getTileCoordChildTileRange(tt.tileCoord,st,q);let kt=!1;at&&(kt=Y(v+1,at)),kt||y.forEachTileCoordParentTileRange(tt.tileCoord,Y,st,q)}const V=E/a*d/w;Ie(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/d,1/d,c,-b/2,-C/2);const H=Eu(this.pixelTransform);this.useContainer(e,H,this.getBackground(t));const j=this.context,B=j.canvas;ro(this.inversePixelTransform,this.pixelTransform),Ie(this.tempTransform,b/2,C/2,V,V,0,-b/2,-C/2),B.width!=b||B.height!=C?(B.width=b,B.height=C):this.containerReused||j.clearRect(0,0,b,C),P&&this.clipUnrotated(j,t,P),p.getInterpolate()||(j.imageSmoothingEnabled=!1),this.preRender(j,t),this.renderedTiles.length=0;let Lt=Object.keys(X).map(Number);Lt.sort(Pi);let Z,ut,z;i.opacity===1&&(!this.containerReused||p.getOpaque(t.viewState.projection))?Lt=Lt.reverse():(Z=[],ut=[]);for(let xt=Lt.length-1;xt>=0;--xt){const $=Lt[xt],tt=p.getTilePixelSize($,d,s),kt=y.getResolution($)/E,Xt=tt[0]*kt*V,Ce=tt[1]*kt*V,Je=y.getTileCoordForCoordAndZ(cn(O),$),Xi=y.getTileCoordExtent(Je),Me=Nt(this.tempTransform,[w*(Xi[0]-O[0])/E,w*(O[3]-Xi[3])/E]),Yi=w*p.getGutterForProjection(s),Qe=X[$];for(const Ki in Qe){const Fe=Qe[Ki],qi=Fe.tileCoord,wi=Je[1]-qi[1],or=Math.round(Me[0]-(wi-1)*Xt),Ei=Je[2]-qi[2],En=Math.round(Me[1]-(Ei-1)*Ce),qt=Math.round(Me[0]-wi*Xt),ae=Math.round(Me[1]-Ei*Ce),be=or-qt,ze=En-ae,$e=v===$,ti=$e&&Fe.getAlpha(ct(this),t.time)!==1;let Ne=!1;if(!ti)if(Z){z=[qt,ae,qt+be,ae,qt+be,ae+ze,qt,ae+ze];for(let Ji=0,Ln=Z.length;Ji<Ln;++Ji)if(v!==$&&$<ut[Ji]){const Yt=Z[Ji];ce([qt,ae,qt+be,ae+ze],[Yt[0],Yt[3],Yt[4],Yt[7]])&&(Ne||(j.save(),Ne=!0),j.beginPath(),j.moveTo(z[0],z[1]),j.lineTo(z[2],z[3]),j.lineTo(z[4],z[5]),j.lineTo(z[6],z[7]),j.moveTo(Yt[6],Yt[7]),j.lineTo(Yt[4],Yt[5]),j.lineTo(Yt[2],Yt[3]),j.lineTo(Yt[0],Yt[1]),j.clip())}Z.push(z),ut.push($)}else j.clearRect(qt,ae,be,ze);this.drawTileImage(Fe,t,qt,ae,be,ze,Yi,$e),Z&&!ti?(Ne&&j.restore(),this.renderedTiles.unshift(Fe)):this.renderedTiles.push(Fe),this.updateUsedTiles(t.usedTiles,p,Fe)}}return this.renderedRevision=_,this.renderedResolution=E,this.extentChanged=!this.renderedExtent_||!Nn(this.renderedExtent_,O),this.renderedExtent_=O,this.renderedPixelRatio=d,this.renderedProjection=s,this.manageTilePyramid(t,p,y,d,s,T,v,f.getPreload()),this.scheduleExpireCache(t,p),this.postRender(j,t),i.extent&&j.restore(),j.imageSmoothingEnabled=!0,H!==B.style.transform&&(B.style.transform=H),this.container}drawTileImage(t,e,i,n,s,a,h,c){const d=this.getTileImage(t);if(!d)return;const f=ct(this),p=e.layerStatesArray[e.layerIndex],_=p.opacity*(c?t.getAlpha(f,e.time):1),y=_!==this.context.globalAlpha;y&&(this.context.save(),this.context.globalAlpha=_),this.context.drawImage(d,h,h,d.width-2*h,d.height-2*h,i,n,s,a),y&&this.context.restore(),_!==p.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,s,a){const h=ct(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=ct(e);n in t||(t[n]={}),t[n][i.getKey()]=!0}manageTilePyramid(t,e,i,n,s,a,h,c,d){const f=ct(e);f in t.wantedTiles||(t.wantedTiles[f]={});const p=t.wantedTiles[f],_=t.tileQueue,y=i.getMinZoom(),v=t.viewState.rotation,E=v?Ha(t.viewState.center,t.viewState.resolution,v,t.size):void 0;let T=0,M,w,b,C,P,R;for(R=y;R<=h;++R)for(w=i.getTileRangeForExtentAndZ(a,R,w),b=i.getResolution(R),C=w.minX;C<=w.maxX;++C)for(P=w.minY;P<=w.maxY;++P)v&&!i.tileCoordIntersectsViewport([R,C,P],E)||(h-R<=c?(++T,M=e.getTile(R,C,P,n,s),M.getState()==et.IDLE&&(p[M.getKey()]=!0,_.isKeyQueued(M.getKey())||_.enqueue([M,f,i.getTileCoordCenter(M.tileCoord),b])),d!==void 0&&d(M)):e.useTile(R,C,P,s));e.updateCacheSize(T,s)}}const _w=pw;class mw extends dw{constructor(t){super(t)}createRenderer(){return new _w(this)}}const yw=mw;class vw{constructor(t){this.rbush_=new gd(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_[ct(e)]=i}load(t,e){const i=new Array(e.length);for(let n=0,s=e.length;n<s;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_[ct(h)]=c}this.rbush_.load(i)}remove(t){const e=ct(t),i=this.items_[e];return delete this.items_[e],this.rbush_.remove(i)!==null}update(t,e){const i=this.items_[ct(e)],n=[i.minX,i.minY,i.maxX,i.maxY];Nn(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,s=t.length;n<s;n++)if(i=e(t[n]),i)return i;return i}isEmpty(){return on(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(t){const e=this.rbush_.toJSON();return ki(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 hf=vw;class sh extends Re{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 sh(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_&&(Ct(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=ft(t,lt.CHANGE,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?xw(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 xw(r){if(typeof r=="function")return r;let t;return Array.isArray(r)?t=r:(mt(typeof r.getZIndex=="function","Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),t=[r]),function(){return t}}const cf=sh;class Bo extends Tu{constructor(t){super(),this.geometries_=t||null,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(Ct),this.changeEventsKeys_.length=0}listenGeometriesChange_(){if(this.geometries_)for(let t=0,e=this.geometries_.length;t<e;++t)this.changeEventsKeys_.push(ft(this.geometries_[t],lt.CHANGE,this.changed,this))}clone(){const t=new Bo(null);return t.setGeometries(this.geometries_),t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<ln(this.getExtent(),t,e))return n;const s=this.geometries_;for(let a=0,h=s.length;a<h;++a)n=s[a].closestPointXY(t,e,i,n);return n}containsXY(t,e){const i=this.geometries_;for(let n=0,s=i.length;n<s;++n)if(i[n].containsXY(t,e))return!0;return!1}computeExtent(t){Sr(t);const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)qc(t,e[i].getExtent());return t}getGeometries(){return uf(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 s=0,a=i.length;s<a;++s){const h=i[s],c=h.getSimplifiedGeometry(t);e.push(c),c!==h&&(n=!0)}if(n){const s=new Bo(null);return s.setGeometriesArray(e),s}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,s=i.length;n<s;++n)i[n].rotate(t,e);this.changed()}scale(t,e,i){i||(i=Ri(this.getExtent()));const n=this.geometries_;for(let s=0,a=n.length;s<a;++s)n[s].scale(t,e,i);this.changed()}setGeometries(t){this.setGeometriesArray(uf(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,s=i.length;n<s;++n)i[n].translate(t,e);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function uf(r){const t=[];for(let e=0,i=r.length;e<i;++e)t.push(r[e].clone());return t}const ww=Bo;function Go(r,t,e,i,n,s,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],p=r[t+1],_=0;const y=[0];for(let T=t+i;T<e;T+=i){const M=r[T],w=r[T+1];_+=Math.sqrt((M-f)*(M-f)+(w-p)*(w-p)),y.push(_),f=M,p=w}const v=n*_,E=nm(y,v);E<0?(c=(v-y[-E-2])/(y[-E-1]-y[-E-2]),h=t+(-E-2)*i):h=t+E*i}a=a>1?a:2,s=s||new Array(a);for(let f=0;f<a;++f)s[f]=h===void 0?NaN:c===void 0?r[h+f]:Ee(r[h+f],r[h+i+f],c);return s}function oh(r,t,e,i,n,s){if(e==t)return null;let a;if(n<r[t+i-1])return s?(a=r.slice(t,t+i),a[i-1]=n,a):null;if(r[e-1]<n)return s?(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 _=h+c>>1;n<r[(_+1)*i-1]?c=_:h=_+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],p=(n-d)/(f-d);a=[];for(let _=0;_<i-1;++_)a.push(Ee(r[(h-1)*i+_],r[h*i+_],p));return a.push(n),a}function Ew(r,t,e,i,n,s,a){if(a)return oh(r,t,e[e.length-1],i,n,s);let h;if(n<r[i-1])return s?(h=r.slice(0,i),h[i-1]=n,h):null;if(r[r.length-1]<n)return s?(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 oh(r,t,f,i,n,!1);t=f}}return null}function df(r,t,e,i){let n=r[t],s=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-s)*(d-s)),n=c,s=d}return a}class Uo extends gn{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){We(this.flatCoordinates,t),this.changed()}clone(){const t=new Uo(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(nl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),sl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,i,n))}forEachSegment(t){return Du(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,oh(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Di(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return Go(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return df(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=oo(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new Uo(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return ho(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=so(this.flatCoordinates,0,t,this.stride),this.changed()}}const ah=Uo;class jo extends gn{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{const n=t,s=[],a=[];for(let c=0,d=n.length;c<d;++c){const f=n[c];We(s,f.getFlatCoordinates()),a.push(s.length)}const h=n.length===0?this.getLayout():n[0].getLayout();this.setFlatCoordinates(h,s),this.ends_=a}}appendLineString(t){We(this.flatCoordinates,t.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new jo(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(rl(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ol(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,Ew(this.flatCoordinates,0,this.ends_,this.stride,t,e,i))}getCoordinates(){return Ir(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(t){return t<0||this.ends_.length<=t?null:new ah(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 s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a],d=new ah(t.slice(s,c),i);n.push(d),s=c}return n}getFlatMidpoints(){const t=[],e=this.flatCoordinates;let i=0;const n=this.ends_,s=this.stride;for(let a=0,h=n.length;a<h;++a){const c=n[a],d=Go(e,i,c,s,.5);We(t,d),i=c}return t}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=Pu(this.flatCoordinates,0,this.ends_,this.stride,t,e,0,i),new jo(e,"XY",i)}getType(){return"MultiLineString"}intersectsExtent(t){return cy(this.flatCoordinates,0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Ar(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}const Lw=jo;class lh extends gn{constructor(t,e){super(),e&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendPoint(t){We(this.flatCoordinates,t.getFlatCoordinates()),this.changed()}clone(){const t=new lh(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<ln(this.getExtent(),t,e))return n;const s=this.flatCoordinates,a=this.stride;for(let h=0,c=s.length;h<c;h+=a){const d=un(t,e,s[h],s[h+1]);if(d<n){n=d;for(let f=0;f<a;++f)i[f]=s[h+f];i.length=a}}return n}getCoordinates(){return Di(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(t){const e=this.flatCoordinates.length/this.stride;return t<0||e<=t?null:new lo(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 s=0,a=t.length;s<a;s+=i){const h=new lo(t.slice(s,s+i),e);n.push(h)}return n}getType(){return"MultiPoint"}intersectsExtent(t){const e=this.flatCoordinates,i=this.stride;for(let n=0,s=e.length;n<s;n+=i){const a=e[n],h=e[n+1];if(Ga(t,a,h))return!0}return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=so(this.flatCoordinates,0,t,this.stride),this.changed()}}const ff=lh;function gf(r,t,e,i){const n=[];let s=xe();for(let a=0,h=e.length;a<h;++a){const c=e[a];s=ja(r,t,c[0],i),n.push((s[0]+s[2])/2,(s[1]+s[3])/2),t=c[c.length-1]}return n}class Zo extends gn{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])){const n=t,s=[],a=[];for(let h=0,c=n.length;h<c;++h){const d=n[h],f=s.length,p=d.getEnds();for(let _=0,y=p.length;_<y;++_)p[_]+=f;We(s,d.getFlatCoordinates()),a.push(p)}e=n.length===0?this.getLayout():n[0].getLayout(),t=s,i=a}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;We(this.flatCoordinates,t.getFlatCoordinates()),e=t.getEnds().slice();for(let n=0,s=e.length;n<s;++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 Zo(this.flatCoordinates.slice(),this.layout,e);return i.applyProperties(this),i}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(iy(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ny(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return hy(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t,e)}getArea(){return ay(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),gl(e,0,this.endss_,this.stride,t)):e=this.flatCoordinates,ll(e,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const t=gf(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=Iu(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new ff(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;zu(t,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=gl(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=oy(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(t),e,0,i),new Zo(e,"XY",i)}getPolygon(t){if(t<0||this.endss_.length<=t)return null;let e;if(t===0)e=0;else{const s=this.endss_[t-1];e=s[s.length-1]}const i=this.endss_[t].slice(),n=i[i.length-1];if(e!==0)for(let s=0,a=i.length;s<a;++s)i[s]-=e;return new Oi(this.flatCoordinates.slice(e,n),this.layout,i)}getPolygons(){const t=this.layout,e=this.flatCoordinates,i=this.endss_,n=[];let s=0;for(let a=0,h=i.length;a<h;++a){const c=i[a].slice(),d=c[c.length-1];if(s!==0)for(let p=0,_=c.length;p<_;++p)c[p]-=s;const f=new Oi(e.slice(s,d),t,c);n.push(f),s=d}return n}getType(){return"MultiPolygon"}intersectsExtent(t){return uy(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,3),this.flatCoordinates||(this.flatCoordinates=[]);const i=Su(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 bw=Zo,pf=Ht();class rr{constructor(t,e,i,n,s,a){this.styleFunction,this.extent_,this.id_=a,this.type_=t,this.flatCoordinates_=e,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=i,this.properties_=s,this.squaredTolerance_,this.stride_=n,this.simplifiedGeometry_}get(t){return this.properties_[t]}getExtent(){return this.extent_||(this.extent_=this.type_==="Point"?Kc(this.flatCoordinates_):ja(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const t=Ri(this.getExtent());this.flatInteriorPoints_=ul(this.flatCoordinates_,0,this.ends_,2,t,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const t=fy(this.flatCoordinates_,this.ends_),e=gf(this.flatCoordinates_,0,t,2);this.flatInteriorPoints_=Iu(this.flatCoordinates_,0,t,2,e)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=Go(this.flatCoordinates_,0,this.flatCoordinates_.length,2,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const t=this.flatCoordinates_;let e=0;const i=this.ends_;for(let n=0,s=i.length;n<s;++n){const a=i[n],h=Go(t,e,a,2,.5);We(this.flatMidpoints_,h),e=a}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(t){return this}simplifyTransformed(t,e){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(t){t=zt(t);const e=t.getExtent(),i=t.getWorldExtent();if(e&&i){const n=we(i)/we(e);Ie(pf,i[0],i[3],n,-n,0,0,0),Ii(this.flatCoordinates_,0,this.flatCoordinates_.length,2,pf,this.flatCoordinates_)}}applyTransform(t){t(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){return new rr(this.type_,this.flatCoordinates_.slice(),this.ends_.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=Gc((t,e)=>{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const i=this.simplifiedGeometry_.getFlatCoordinates();let n;switch(this.type_){case"LineString":i.length=oo(i,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,i,0),n=[i.length];break;case"MultiLineString":n=[],i.length=Pu(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,i,0,n);break;case"Polygon":n=[],i.length=al(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),i,0,n);break}return n&&(this.simplifiedGeometry_=new rr(this.type_,i,n,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}rr.prototype.getFlatCoordinates=rr.prototype.getOrientedFlatCoordinates;const mi=rr;function Tw(r,t){return[[-1/0,-1/0,1/0,1/0]]}let Cw=!1;function Mw(r,t,e,i,n,s,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=Cw,h.onload=function(c){if(!h.status||h.status>=200&&h.status<300){const d=t.getType();let f;d=="json"?f=JSON.parse(h.responseText):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?s(t.readFeatures(f,{extent:e,featureProjection:n}),t.readProjection(f)):a()}else a()},h.onerror=a,h.send()}function _f(r,t){return function(e,i,n,s,a){const h=this;Mw(r,t,e,i,n,function(c,d){h.addFeatures(c),s!==void 0&&s(c)},a||In)}}class Zi extends ai{constructor(t,e,i){super(t),this.feature=e,this.features=i}}class Sw extends nf{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_=In,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&&(mt(this.format_,"`format` must be set when `url` is set"),this.loader_=_f(this.url_,this.format_)),this.strategy_=t.strategy!==void 0?t.strategy:Tw;const e=t.useSpatialIndex!==void 0?t.useSpatialIndex:!0;this.featuresRtree_=e?new hf:null,this.loadedExtentsRtree_=new hf,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 Ve(n)),n!==void 0&&this.addFeaturesInternal(n),i!==void 0&&this.bindFeaturesCollection_(i)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=ct(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 Zi(oe.ADDFEATURE,t))}setupChangeEvents_(t,e){e instanceof mi||(this.featureChangeKeys_[t]=[ft(e,lt.CHANGE,this.handleFeatureChange_,this),ft(e,An.PROPERTYCHANGE,this.handleFeatureChange_,this)])}addToIndex_(t,e){let i=!0;if(e.getId()!==void 0){const n=String(e.getId());if(!(n in this.idIndex_))this.idIndex_[n]=e;else if(e instanceof mi){const s=this.idIndex_[n];s instanceof mi?Array.isArray(s)?s.push(e):this.idIndex_[n]=[s,e]:i=!1}else i=!1}return i&&(mt(!(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 s=0,a=t.length;s<a;s++){const h=t[s],c=ct(h);this.addToIndex_(c,h)&&i.push(h)}for(let s=0,a=i.length;s<a;s++){const h=i[s],c=ct(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(oe.ADDFEATURE))for(let s=0,a=i.length;s<a;s++)this.dispatchEvent(new Zi(oe.ADDFEATURE,i[s]))}bindFeaturesCollection_(t){let e=!1;this.addEventListener(oe.ADDFEATURE,function(i){e||(e=!0,t.push(i.feature),e=!1)}),this.addEventListener(oe.REMOVEFEATURE,function(i){e||(e=!0,t.remove(i.feature),e=!1)}),t.addEventListener(ue.ADD,i=>{e||(e=!0,this.addFeature(i.element),e=!1)}),t.addEventListener(ue.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(Ct);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 Zi(oe.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){const s=n.getGeometry();if(s instanceof mi||s.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){const n=i.getGeometry();if(n instanceof mi||n.intersectsExtent(t)){const s=e(i);if(s)return s}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),on(this.nullGeometryFeatures_)||We(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=Tm(t,e);return[].concat(...n.map(s=>this.featuresRtree_.getInExtent(s)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const i=t[0],n=t[1];let s=null;const a=[NaN,NaN];let h=1/0;const c=[-1/0,-1/0,1/0,1/0];return e=e||Tr,this.featuresRtree_.forEachInExtent(c,function(d){if(e(d)){const f=d.getGeometry(),p=h;if(h=f instanceof mi?0:f.closestPointXY(i,n,a,h),h<p){s=d;const _=Math.sqrt(h);c[0]=i-_,c[1]=n-_,c[2]=i+_,c[3]=n+_}}}),s}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=ct(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 s=e.getId();if(s!==void 0){const a=s.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 Zi(oe.CHANGEFEATURE,e))}hasFeature(t){const e=t.getId();return e!==void 0?e in this.idIndex_:ct(t)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&on(this.nullGeometryFeatures_):this.featuresCollection_?this.featuresCollection_.getLength()===0:!0}loadFeatures(t,e,i){const n=this.loadedExtentsRtree_,s=this.strategy_(t,e,i);for(let a=0,h=s.length;a<h;++a){const c=s[a];n.forEachInExtent(c,function(f){return hn(f.extent,c)})||(++this.loadingExtentsCount_,this.dispatchEvent(new Zi(oe.FEATURESLOADSTART)),this.loader_.call(this,c,e,i,f=>{--this.loadingExtentsCount_,this.dispatchEvent(new Zi(oe.FEATURESLOADEND,void 0,f))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Zi(oe.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(Nn(n.extent,t))return i=n,!0}),i&&e.remove(i)}removeFeature(t){if(!t)return;const e=ct(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){const e=ct(t),i=this.featureChangeKeys_[e];if(!i)return;i.forEach(Ct),delete this.featureChangeKeys_[e];const n=t.getId();return n!==void 0&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Zi(oe.REMOVEFEATURE,t)),t}removeFromIdIndex_(t){let e=!1;for(const i in this.idIndex_){const n=this.idIndex_[i];if(t instanceof mi&&Array.isArray(n)&&n.includes(t))n.splice(n.indexOf(t),1);else if(this.idIndex_[i]===t){delete this.idIndex_[i],e=!0;break}}return e}setLoader(t){this.loader_=t}setUrl(t){mt(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(_f(t,this.format_))}}const Wo=Sw;class Pw{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=cf,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let i=e.dataProjection?zt(e.dataProjection):this.readProjection(t);e.extent&&i&&i.getUnits()==="tile-pixels"&&(i=zt(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,featureClass:this.featureClass},t)}getType(){return rt()}readFeature(t,e){return rt()}readFeatures(t,e){return rt()}readGeometry(t,e){return rt()}readProjection(t){return rt()}writeFeature(t,e){return rt()}writeFeatures(t,e){return rt()}writeGeometry(t,e){return rt()}}function hh(r,t,e){const i=e?zt(e.featureProjection):null,n=e?zt(e.dataProjection):null;let s=r;if(i&&n&&!dn(i,n)){t&&(s=r.clone());const a=t?i:n,h=t?n:i;a.getUnits()==="tile-pixels"?s.transform(a,h):s.applyTransform(Rr(a,h))}if(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};s===r&&(s=r.clone()),s.applyTransform(h)}return s}const kw={Point:lo,LineString:ah,Polygon:Oi,MultiPoint:ff,MultiLineString:Lw,MultiPolygon:bw};function Rw(r,t,e){return Array.isArray(t[0])?(zu(r,0,t,e)||(r=r.slice(),gl(r,0,t,e)),r):(fl(r,0,t,e)||(r=r.slice(),co(r,0,t,e)),r)}function mf(r,t){var s;const e=r.geometry;if(!e)return[];if(Array.isArray(e))return e.map(a=>mf({...r,geometry:a})).flat();const i=e.type==="MultiPolygon"?"Polygon":e.type;if(i==="GeometryCollection"||i==="Circle")throw new Error("Unsupported geometry type: "+i);const n=e.layout.length;return hh(new mi(i,i==="Polygon"?Rw(e.flatCoordinates,e.ends,n):e.flatCoordinates,(s=e.ends)==null?void 0:s.flat(),n,r.properties||{},r.id).enableSimplifyTransformed(),!1,t)}function ch(r,t){if(!r)return null;if(Array.isArray(r)){const i=r.map(n=>ch(n,t));return new ww(i)}const e=kw[r.type];return hh(new e(r.flatCoordinates,r.layout,r.ends),!1,t)}class Aw extends Pw{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Ho(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Ho(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return rt()}readFeaturesFromObject(t,e){return rt()}readGeometry(t,e){return this.readGeometryFromObject(Ho(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return rt()}readProjection(t){return this.readProjectionFromObject(Ho(t))}readProjectionFromObject(t){return rt()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return rt()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return rt()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return rt()}}function Ho(r){if(typeof r=="string"){const t=JSON.parse(r);return t||null}return r!==null?r:null}const Iw=Aw;class Dw extends Iw{constructor(t){t=t||{},super(),this.dataProjection=zt(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=zt(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),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=uh(i.geometry);if(this.featureClass===mi)return mf({geometry:n,id:i.id,properties:i.properties},e);const s=new cf;return this.geometryName_?s.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in i!==void 0&&s.setGeometryName(i.geometry_name),s.setGeometry(ch(n,e)),"id"in i&&s.setId(i.id),i.properties&&s.setProperties(i.properties,!0),s}readFeaturesFromObject(t,e){const i=t;let n=null;if(i.type==="FeatureCollection"){const s=t;n=[];const a=s.features;for(let h=0,c=a.length;h<c;++h){const d=this.readFeatureFromObject(a[h],e);d&&n.push(d)}}else n=[this.readFeatureFromObject(t,e)];return n.flat()}readGeometryFromObject(t,e){return Ow(t,e)}readProjectionFromObject(t){const e=t.crs;let i;if(e)if(e.type=="name")i=zt(e.properties.name);else if(e.type==="EPSG")i=zt("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 s=t.getProperties(),a=t.getGeometry();return a&&(i.geometry=dh(a,e),delete s[t.getGeometryName()]),on(s)||(i.properties=s),i}writeFeaturesObject(t,e){e=this.adaptOptions(e);const i=[];for(let n=0,s=t.length;n<s;++n)i.push(this.writeFeatureObject(t[n],e));return{type:"FeatureCollection",features:i}}writeGeometryObject(t,e){return dh(t,this.adaptOptions(e))}}function uh(r,t){if(!r)return null;let e;switch(r.type){case"Point":{e=zw(r);break}case"LineString":{e=Nw(r);break}case"Polygon":{e=jw(r);break}case"MultiPoint":{e=Gw(r);break}case"MultiLineString":{e=Bw(r);break}case"MultiPolygon":{e=Uw(r);break}case"GeometryCollection":{e=Fw(r);break}default:throw new Error("Unsupported GeoJSON type: "+r.type)}return e}function Ow(r,t){const e=uh(r);return ch(e,t)}function Fw(r,t){return r.geometries.map(function(i){return uh(i)})}function zw(r){const t=r.coordinates;return{type:"Point",flatCoordinates:t,layout:pn(t.length)}}function Nw(r){const t=r.coordinates,e=t.flat();return{type:"LineString",flatCoordinates:e,ends:[e.length],layout:pn(t[0].length)}}function Bw(r){const t=r.coordinates,e=t[0][0].length,i=[],n=Ar(i,0,t,e);return{type:"MultiLineString",flatCoordinates:i,ends:n,layout:pn(e)}}function Gw(r){const t=r.coordinates;return{type:"MultiPoint",flatCoordinates:t.flat(),layout:pn(t[0].length)}}function Uw(r){const t=r.coordinates,e=[],i=t[0][0][0].length,n=Su(e,0,t,i);return{type:"MultiPolygon",flatCoordinates:e,ends:n,layout:pn(i)}}function jw(r){const t=r.coordinates,e=[],i=t[0][0].length,n=Ar(e,0,t,i);return{type:"Polygon",flatCoordinates:e,ends:n,layout:pn(i)}}function dh(r,t){r=hh(r,!0,t);const e=r.getType();let i;switch(e){case"Point":{i=Yw(r);break}case"LineString":{i=Ww(r);break}case"Polygon":{i=Kw(r,t);break}case"MultiPoint":{i=Vw(r);break}case"MultiLineString":{i=Hw(r);break}case"MultiPolygon":{i=Xw(r,t);break}case"GeometryCollection":{i=Zw(r,t);break}case"Circle":{i={type:"GeometryCollection",geometries:[]};break}default:throw new Error("Unsupported geometry type: "+e)}return i}function Zw(r,t){return t=Object.assign({},t),delete t.featureProjection,{type:"GeometryCollection",geometries:r.getGeometriesArray().map(function(i){return dh(i,t)})}}function Ww(r,t){return{type:"LineString",coordinates:r.getCoordinates()}}function Hw(r,t){return{type:"MultiLineString",coordinates:r.getCoordinates()}}function Vw(r,t){return{type:"MultiPoint",coordinates:r.getCoordinates()}}function Xw(r,t){let e;return t&&(e=t.rightHanded),{type:"MultiPolygon",coordinates:r.getCoordinates(e)}}function Yw(r,t){return{type:"Point",coordinates:r.getCoordinates()}}function Kw(r,t){let e;return t&&(e=t.rightHanded),{type:"Polygon",coordinates:r.getCoordinates(e)}}const Vo=Dw,is={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},Xo=[is.FILL],Wi=[is.STROKE],wn=[is.BEGIN_PATH],yf=[is.CLOSE_PATH],it=is;class qw{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 vf=qw;class Jw extends vf{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_,s=this.coordinates;let a=s.length;for(let h=0,c=t.length;h<c;h+=e)n[0]=t[h],n[1]=t[h+1],Ks(i,n)&&(s[a++]=n[0],s[a++]=n[1]);return a}appendFlatLineCoordinates(t,e,i,n,s,a){const h=this.coordinates;let c=h.length;const d=this.getBufferedMaxExtent();a&&(e+=n);let f=t[e],p=t[e+1];const _=this.tmpCoordinate_;let y=!0,v,E,T;for(v=e+n;v<i;v+=n)_[0]=t[v],_[1]=t[v+1],T=Ua(d,_),T!==E?(y&&(h[c++]=f,h[c++]=p,y=!1),h[c++]=_[0],h[c++]=_[1]):T===Wt.INTERSECTING?(h[c++]=_[0],h[c++]=_[1],y=!1):y=!0,f=_[0],p=_[1],E=T;return(s&&y||v===e+n)&&(h[c++]=f,h[c++]=p),c}drawCustomCoordinates_(t,e,i,n,s){for(let a=0,h=i.length;a<h;++a){const c=i[a],d=this.appendFlatLineCoordinates(t,e,c,n,!1,!1);s.push(d),e=c}return e}drawCustom(t,e,i,n){this.beginGeometry(t,e);const s=t.getType(),a=t.getStride(),h=this.coordinates.length;let c,d,f,p,_;switch(s){case"MultiPolygon":c=t.getOrientedFlatCoordinates(),p=[];const y=t.getEndss();_=0;for(let v=0,E=y.length;v<E;++v){const T=[];_=this.drawCustomCoordinates_(c,_,y[v],a,T),p.push(T)}this.instructions.push([it.CUSTOM,h,p,t,i,ll]),this.hitDetectionInstructions.push([it.CUSTOM,h,p,t,n||i,ll]);break;case"Polygon":case"MultiLineString":f=[],c=s=="Polygon"?t.getOrientedFlatCoordinates():t.getFlatCoordinates(),_=this.drawCustomCoordinates_(c,0,t.getEnds(),a,f),this.instructions.push([it.CUSTOM,h,f,t,i,Ir]),this.hitDetectionInstructions.push([it.CUSTOM,h,f,t,n||i,Ir]);break;case"LineString":case"Circle":c=t.getFlatCoordinates(),d=this.appendFlatLineCoordinates(c,0,c.length,a,!1,!1),this.instructions.push([it.CUSTOM,h,d,t,i,Di]),this.hitDetectionInstructions.push([it.CUSTOM,h,d,t,n||i,Di]);break;case"MultiPoint":c=t.getFlatCoordinates(),d=this.appendFlatPointCoordinates(c,a),d>h&&(this.instructions.push([it.CUSTOM,h,d,t,i,Di]),this.hitDetectionInstructions.push([it.CUSTOM,h,d,t,n||i,Di]));break;case"Point":c=t.getFlatCoordinates(),this.coordinates.push(c[0],c[1]),d=this.coordinates.length,this.instructions.push([it.CUSTOM,h,d,t,i]),this.hitDetectionInstructions.push([it.CUSTOM,h,d,t,n||i]);break}this.endGeometry(e)}beginGeometry(t,e){this.beginGeometryInstruction1_=[it.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[it.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,s,a=-1;for(e=0;e<i;++e)n=t[e],s=n[0],s==it.END_GEOMETRY?a=e:s==it.BEGIN_GEOMETRY&&(n[2]=e,rm(this.hitDetectionInstructions,a,e),a=-1)}setFillStrokeStyle(t,e){const i=this.state;if(t){const n=t.getColor();i.fillStyle=Xe(n||de)}else i.fillStyle=void 0;if(e){const n=e.getColor();i.strokeStyle=Xe(n||Gr);const s=e.getLineCap();i.lineCap=s!==void 0?s:Un;const a=e.getLineDash();i.lineDash=a?a.slice():ci;const h=e.getLineDashOffset();i.lineDashOffset=h||ui;const c=e.getLineJoin();i.lineJoin=c!==void 0?c:jn;const d=e.getWidth();i.lineWidth=d!==void 0?d:jr;const f=e.getMiterLimit();i.miterLimit=f!==void 0?f:Br,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=[it.SET_FILL_STYLE,e];return typeof e!="string"&&i.push(!0),i}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[it.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,s=t.lineDash,a=t.lineDashOffset,h=t.lineJoin,c=t.lineWidth,d=t.miterLimit;(t.currentStrokeStyle!=i||t.currentLineCap!=n||s!=t.currentLineDash&&!li(t.currentLineDash,s)||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=s,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=[it.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Yc(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;Ys(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}const ns=Jw;class Qw extends ns{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(),s=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([it.DRAW_IMAGE,s,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([it.DRAW_IMAGE,s,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(),s=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([it.DRAW_IMAGE,s,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([it.DRAW_IMAGE,s,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(),s=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_=s[0],this.originY_=s[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 $w=Qw;class tE extends ns{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinates_(t,e,i,n){const s=this.coordinates.length,a=this.appendFlatLineCoordinates(t,e,i,n,!1,!1),h=[it.MOVE_TO_LINE_TO,s,a];return this.instructions.push(h),this.hitDetectionInstructions.push(h),i}drawLineString(t,e){const i=this.state,n=i.strokeStyle,s=i.lineWidth;if(n===void 0||s===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([it.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui],wn);const a=t.getFlatCoordinates(),h=t.getStride();this.drawFlatCoordinates_(a,0,a.length,h),this.hitDetectionInstructions.push(Wi),this.endGeometry(e)}drawMultiLineString(t,e){const i=this.state,n=i.strokeStyle,s=i.lineWidth;if(n===void 0||s===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([it.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui],wn);const a=t.getEnds(),h=t.getFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,p=a.length;f<p;++f)d=this.drawFlatCoordinates_(h,d,a[f],c);this.hitDetectionInstructions.push(Wi),this.endGeometry(e)}finish(){const t=this.state;return t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&this.instructions.push(Wi),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(t){t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&(this.instructions.push(Wi),t.lastStroke=this.coordinates.length),t.lastStroke=0,super.applyStroke(t),this.instructions.push(wn)}}const eE=tE;class iE extends ns{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinatess_(t,e,i,n){const s=this.state,a=s.fillStyle!==void 0,h=s.strokeStyle!==void 0,c=i.length;this.instructions.push(wn),this.hitDetectionInstructions.push(wn);for(let d=0;d<c;++d){const f=i[d],p=this.coordinates.length,_=this.appendFlatLineCoordinates(t,e,f,n,!0,!h),y=[it.MOVE_TO_LINE_TO,p,_];this.instructions.push(y),this.hitDetectionInstructions.push(y),h&&(this.instructions.push(yf),this.hitDetectionInstructions.push(yf)),e=f}return a&&(this.instructions.push(Xo),this.hitDetectionInstructions.push(Xo)),h&&(this.instructions.push(Wi),this.hitDetectionInstructions.push(Wi)),e}drawCircle(t,e){const i=this.state,n=i.fillStyle,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);const a=t.getFlatCoordinates(),h=t.getStride(),c=this.coordinates.length;this.appendFlatLineCoordinates(a,0,a.length,h,!1,!1);const d=[it.CIRCLE,c];this.instructions.push(wn,d),this.hitDetectionInstructions.push(wn,d),i.fillStyle!==void 0&&(this.instructions.push(Xo),this.hitDetectionInstructions.push(Xo)),i.strokeStyle!==void 0&&(this.instructions.push(Wi),this.hitDetectionInstructions.push(Wi)),this.endGeometry(e)}drawPolygon(t,e){const i=this.state,n=i.fillStyle,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);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,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([it.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);const a=t.getEndss(),h=t.getOrientedFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,p=a.length;f<p;++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]=_n(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 xf=iE;function nE(r,t,e,i,n){const s=[];let a=e,h=0,c=t.slice(e,2);for(;h<r&&a+n<i;){const[d,f]=c.slice(-2),p=t[a+n],_=t[a+n+1],y=Math.sqrt((p-d)*(p-d)+(_-f)*(_-f));if(h+=y,h>=r){const v=(r-h+y)/y,E=Ee(d,p,v),T=Ee(f,_,v);c.push(E,T),s.push(c),c=[E,T],h==r&&(a+=n),h=0}else if(h<r)c.push(t[a+n],t[a+n+1]),a+=n;else{const v=y-h,E=Ee(d,p,v/y),T=Ee(f,_,v/y);c.push(E,T),s.push(c),c=[E,T],h=0,a+=n}}return h>0&&s.push(c),s}function rE(r,t,e,i,n){let s=e,a=e,h=0,c=0,d=e,f,p,_,y,v,E,T,M,w,b;for(p=e;p<i;p+=n){const C=t[p],P=t[p+1];v!==void 0&&(w=C-v,b=P-E,y=Math.sqrt(w*w+b*b),T!==void 0&&(c+=_,f=Math.acos((T*w+M*b)/(_*y)),f>r&&(c>h&&(h=c,s=d,a=p),c=0,d=p-n)),_=y,T=w,M=b),v=C,E=P}return c+=y,c>h?[d,p]:[s,a]}const Yo={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1};class sE extends ns{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[de]={fillStyle:de},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_,s=this.textState_;if(this.text_===""||!s||!i&&!n)return;const a=this.coordinates;let h=a.length;const c=t.getType();let d=null,f=t.getStride();if(s.placement==="line"&&(c=="LineString"||c=="MultiLineString"||c=="Polygon"||c=="MultiPolygon")){if(!ce(this.getBufferedMaxExtent(),t.getExtent()))return;let p;if(d=t.getFlatCoordinates(),c=="LineString")p=[d.length];else if(c=="MultiLineString")p=t.getEnds();else if(c=="Polygon")p=t.getEnds().slice(0,1);else if(c=="MultiPolygon"){const E=t.getEndss();p=[];for(let T=0,M=E.length;T<M;++T)p.push(E[T][0])}this.beginGeometry(t,e);const _=s.repeat,y=_?void 0:s.textAlign;let v=0;for(let E=0,T=p.length;E<T;++E){let M;_?M=nE(_*this.resolution,d,v,p[E],f):M=[d.slice(v,p[E])];for(let w=0,b=M.length;w<b;++w){const C=M[w];let P=0,R=C.length;if(y==null){const O=rE(s.maxAngle,C,0,C.length,2);P=O[0],R=O[1]}for(let O=P;O<R;O+=f)a.push(C[O],C[O+1]);const D=a.length;v=p[E],this.drawChars_(h,D),h=D}}this.endGeometry(e)}else{let p=s.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(),s.overflow||p.push(d[2]/this.resolution),f=3;break;case"MultiPolygon":const M=t.getFlatInteriorPoints();d=[];for(let w=0,b=M.length;w<b;w+=3)s.overflow||p.push(M[w+2]/this.resolution),d.push(M[w],M[w+1]);if(d.length===0)return;f=2;break}const _=this.appendFlatPointCoordinates(d,f);if(_===h)return;if(p&&(_-h)/2!==d.length/f){let M=h/2;p=p.filter((w,b)=>{const C=a[(M+b)*2]===d[b*f]&&a[(M+b)*2+1]===d[b*f+1];return C||--M,C})}this.saveTextStates_(),(s.backgroundFill||s.backgroundStroke)&&(this.setFillStrokeStyle(s.backgroundFill,s.backgroundStroke),s.backgroundFill&&this.updateFillStyle(this.state,this.createFill),s.backgroundStroke&&(this.updateStrokeStyle(this.state,this.applyStroke),this.hitDetectionInstructions.push(this.createStroke(this.state)))),this.beginGeometry(t,e);let y=s.padding;if(y!=yn&&(s.scale[0]<0||s.scale[1]<0)){let M=s.padding[0],w=s.padding[1],b=s.padding[2],C=s.padding[3];s.scale[0]<0&&(w=-w,C=-C),s.scale[1]<0&&(M=-M,b=-b),y=[M,w,b,C]}const v=this.pixelRatio;this.instructions.push([it.DRAW_IMAGE,h,_,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,void 0,this.declutterImageWithText_,y==yn?yn:y.map(function(M){return M*v}),!!s.backgroundFill,!!s.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]);const E=1/v,T=this.state.fillStyle;s.backgroundFill&&(this.state.fillStyle=de,this.hitDetectionInstructions.push(this.createFill(this.state))),this.hitDetectionInstructions.push([it.DRAW_IMAGE,h,_,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[E,E],NaN,void 0,this.declutterImageWithText_,y,!!s.backgroundFill,!!s.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?de:this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]),s.backgroundFill&&(this.state.fillStyle=T,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 s=this.textKey_;s in this.textStates||(this.textStates[s]={font:e.font,textAlign:e.textAlign||Ur,justify:e.justify,textBaseline:e.textBaseline||wo,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_,s=this.strokeKey_,a=this.textKey_,h=this.fillKey_;this.saveTextStates_();const c=this.pixelRatio,d=Yo[n.textBaseline],f=this.textOffsetY_*c,p=this.text_,_=i?i.lineWidth*Math.abs(n.scale[0])/2:0;this.instructions.push([it.DRAW_CHARS,t,e,d,n.overflow,h,n.maxAngle,c,f,s,_*c,p,a,1]),this.hitDetectionInstructions.push([it.DRAW_CHARS,t,e,d,n.overflow,h&&de,n.maxAngle,c,f,s,_*c,p,a,1/c])}setTextStyle(t,e){let i,n,s;if(!t)this.text_="";else{const a=t.getFill();a?(n=this.textFillState_,n||(n={},this.textFillState_=n),n.fillStyle=Xe(a.getColor()||de)):(n=null,this.textFillState_=n);const h=t.getStroke();if(!h)s=null,this.textStrokeState_=s;else{s=this.textStrokeState_,s||(s={},this.textStrokeState_=s);const v=h.getLineDash(),E=h.getLineDashOffset(),T=h.getWidth(),M=h.getMiterLimit();s.lineCap=h.getLineCap()||Un,s.lineDash=v?v.slice():ci,s.lineDashOffset=E===void 0?ui:E,s.lineJoin=h.getLineJoin()||jn,s.lineWidth=T===void 0?jr:T,s.miterLimit=M===void 0?Br:M,s.strokeStyle=Xe(h.getColor()||Gr)}i=this.textState_;const c=t.getFont()||td;Ny(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()||wo,i.backgroundFill=t.getBackgroundFill(),i.backgroundStroke=t.getBackgroundStroke(),i.padding=t.getPadding()||yn,i.scale=d===void 0?[1,1]:d;const f=t.getOffsetX(),p=t.getOffsetY(),_=t.getRotateWithView(),y=t.getRotation();this.text_=t.getText()||"",this.textOffsetX_=f===void 0?0:f,this.textOffsetY_=p===void 0?0:p,this.textRotateWithView_=_===void 0?!1:_,this.textRotation_=y===void 0?0:y,this.strokeKey_=s?(typeof s.strokeStyle=="string"?s.strokeStyle:ct(s.strokeStyle))+s.lineCap+s.lineDashOffset+"|"+s.lineWidth+s.lineJoin+s.miterLimit+"["+s.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:"|"+ct(n.fillStyle):""}this.declutterImageWithText_=e}}const oE={Circle:xf,Default:ns,Image:$w,LineString:eE,Polygon:xf,Text:sE};class aE{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 s=i[n].finish();t[e][n]=s}}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 s=n[e];if(s===void 0){const a=oE[e];s=new a(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),n[e]=s}return s}}const wf=aE;function lE(r,t,e,i,n,s,a,h,c,d,f,p){let _=r[t],y=r[t+1],v=0,E=0,T=0,M=0;function w(){v=_,E=y,t+=i,_=r[t],y=r[t+1],M+=T,T=Math.sqrt((_-v)*(_-v)+(y-E)*(y-E))}do w();while(t<e-i&&M+T<s);let b=T===0?0:(s-M)/T;const C=Ee(v,_,b),P=Ee(E,y,b),R=t-i,D=M,O=s+h*c(d,n,f);for(;t<e-i&&M+T<O;)w();b=T===0?0:(O-M)/T;const G=Ee(v,_,b),X=Ee(E,y,b);let Y;if(p){const H=[C,P,G,X];Lu(H,0,4,2,p,H,H),Y=H[0]>H[2]}else Y=C>G;const q=Math.PI,st=[],_t=R+i===t;t=R,T=0,M=D,_=r[t],y=r[t+1];let V;if(_t){w(),V=Math.atan2(y-E,_-v),Y&&(V+=V>0?-q:q);const H=(G+C)/2,j=(X+P)/2;return st[0]=[H,j,(O-s)/2,V,n],st}n=n.replace(/\n/g," ");for(let H=0,j=n.length;H<j;){w();let B=Math.atan2(y-E,_-v);if(Y&&(B+=B>0?-q:q),V!==void 0){let $=B-V;if($+=$>q?-2*q:$<-q?2*q:0,Math.abs($)>a)return null}V=B;const Lt=H;let Z=0;for(;H<j;++H){const $=Y?j-H-1:H,tt=h*c(d,n[$],f);if(t+i<e&&M+T<s+Z+tt/2)break;Z+=tt}if(H===Lt)continue;const ut=Y?n.substring(j-Lt,j-H):n.substring(Lt,H);b=T===0?0:(s+Z/2-M)/T;const z=Ee(v,_,b),xt=Ee(E,y,b);st.push([z,xt,Z/2,B,ut]),s+=Z}return st}const sr=xe(),Hi=[],yi=[],vi=[],Vi=[];function Ef(r){return r[3].declutterBox}const Lf=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 fh(r,t){return t==="start"?t=Lf.test(r)?"right":"left":t==="end"&&(t=Lf.test(r)?"left":"right"),Yo[t]}function hE(r,t,e){return e>0&&r.push(`
462
- `,""),r.push(t,""),r}class cE{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_=Ht(),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 s=t+e+i+n;if(this.labels_[s])return this.labels_[s];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],p=Array.isArray(t),_=c.justify?Yo[c.justify]:fh(Array.isArray(t)?t[0]:t,c.textAlign||Ur),y=n&&a.lineWidth?a.lineWidth:0,v=p?t:t.split(`
463
- `).reduce(hE,[]),{width:E,height:T,widths:M,heights:w,lineWidths:b}=Gy(c,v),C=E+y,P=[],R=(C+2)*f[0],D=(T+y)*f[1],O={width:R<0?Math.floor(R):Math.ceil(R),height:D<0?Math.floor(D):Math.ceil(D),contextInstructions:P};(f[0]!=1||f[1]!=1)&&P.push("scale",f),n&&(P.push("strokeStyle",a.strokeStyle),P.push("lineWidth",y),P.push("lineCap",a.lineCap),P.push("lineJoin",a.lineJoin),P.push("miterLimit",a.miterLimit),P.push("setLineDash",[a.lineDash]),P.push("lineDashOffset",a.lineDashOffset)),i&&P.push("fillStyle",h.fillStyle),P.push("textBaseline","middle"),P.push("textAlign","center");const G=.5-_;let X=_*C+G*y;const Y=[],q=[];let st=0,_t=0,V=0,H=0,j;for(let B=0,Lt=v.length;B<Lt;B+=2){const Z=v[B];if(Z===`
464
- `){_t+=st,st=0,X=_*C+G*y,++H;continue}const ut=v[B+1]||c.font;ut!==j&&(n&&Y.push("font",ut),i&&q.push("font",ut),j=ut),st=Math.max(st,w[V]);const z=[Z,X+G*M[V]+_*(M[V]-b[H]),.5*(y+st)+_t];X+=M[V],n&&Y.push("strokeText",z),i&&q.push("fillText",z),++V}return Array.prototype.push.apply(P,Y),Array.prototype.push.apply(P,q),this.labels_[s]=O,O}replayTextBackground_(t,e,i,n,s,a,h){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,i),t.lineTo.apply(t,n),t.lineTo.apply(t,s),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,s,a,h,c,d,f,p,_,y,v,E,T){h*=_[0],c*=_[1];let M=i-h,w=n-c;const b=s+d>t?t-d:s,C=a+f>e?e-f:a,P=v[3]+b*_[0]+v[1],R=v[0]+C*_[1]+v[2],D=M-v[3],O=w-v[0];(E||p!==0)&&(Hi[0]=D,Vi[0]=D,Hi[1]=O,yi[1]=O,yi[0]=D+P,vi[0]=yi[0],vi[1]=O+R,Vi[1]=vi[1]);let G;return p!==0?(G=Ie(Ht(),i,n,1,1,p,-i,-n),Nt(G,Hi),Nt(G,yi),Nt(G,vi),Nt(G,Vi),ki(Math.min(Hi[0],yi[0],vi[0],Vi[0]),Math.min(Hi[1],yi[1],vi[1],Vi[1]),Math.max(Hi[0],yi[0],vi[0],Vi[0]),Math.max(Hi[1],yi[1],vi[1],Vi[1]),sr)):ki(Math.min(D,D+P),Math.min(O,O+R),Math.max(D,D+P),Math.max(O,O+R),sr),y&&(M=Math.round(M),w=Math.round(w)),{drawImageX:M,drawImageY:w,drawImageW:b,drawImageH:C,originX:d,originY:f,declutterBox:{minX:sr[0],minY:sr[1],maxX:sr[2],maxY:sr[3],value:T},canvasTransform:G,scale:_}}replayImageOrLabel_(t,e,i,n,s,a,h){const c=!!(a||h),d=n.declutterBox,f=t.canvas,p=h?h[2]*n.scale[0]/2:0;return d.minX-p<=f.width/e&&d.maxX+p>=0&&d.minY-p<=f.height/e&&d.maxY+p>=0&&(c&&this.replayTextBackground_(t,Hi,yi,vi,Vi,a,h),Uy(t,n.canvasTransform,s,i,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0}fill_(t){if(this.alignFill_){const e=Nt(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 s=this.textStates[e],a=this.createLabel(t,e,n,i),h=this.strokeStates[i],c=this.pixelRatio,d=fh(Array.isArray(t)?t[0]:t,s.textAlign||Ur),f=Yo[s.textBaseline||wo],p=h&&h.lineWidth?h.lineWidth:0,_=a.width/c-2*s.scale[0],y=d*_+2*(.5-d)*p,v=f*a.height/c+2*(.5-f)*p;return{label:a,anchorX:y,anchorY:v}}execute_(t,e,i,n,s,a,h,c){let d;this.pixelCoordinates_&&li(i,this.renderedTransform_)?d=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),d=Ii(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),Ym(this.renderedTransform_,i));let f=0;const p=n.length;let _=0,y,v,E,T,M,w,b,C,P,R,D,O,G=0,X=0,Y=null,q=null;const st=this.coordinateCache_,_t=this.viewRotation_,V=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,H={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:_t},j=this.instructions!=n||this.overlaps?0:200;let B,Lt,Z,ut;for(;f<p;){const z=n[f];switch(z[0]){case it.BEGIN_GEOMETRY:B=z[1],ut=z[3],B.getGeometry()?h!==void 0&&!ce(h,ut.getExtent())?f=z[2]+1:++f:f=z[2];break;case it.BEGIN_PATH:G>j&&(this.fill_(t),G=0),X>j&&(t.stroke(),X=0),!G&&!X&&(t.beginPath(),T=NaN,M=NaN),++f;break;case it.CIRCLE:_=z[1];const $=d[_],tt=d[_+1],at=d[_+2],kt=d[_+3],Xt=at-$,Ce=kt-tt,Je=Math.sqrt(Xt*Xt+Ce*Ce);t.moveTo($+Je,tt),t.arc($,tt,Je,0,2*Math.PI,!0),++f;break;case it.CLOSE_PATH:t.closePath(),++f;break;case it.CUSTOM:_=z[1],y=z[2];const Xi=z[3],Me=z[4],Yi=z.length==6?z[5]:void 0;H.geometry=Xi,H.feature=B,f in st||(st[f]=[]);const Qe=st[f];Yi?Yi(d,_,y,2,Qe):(Qe[0]=d[_],Qe[1]=d[_+1],Qe.length=2),Me(Qe,H),++f;break;case it.DRAW_IMAGE:_=z[1],y=z[2],C=z[3],v=z[4],E=z[5];let Ki=z[6];const Fe=z[7],qi=z[8],wi=z[9],or=z[10];let Ei=z[11];const En=z[12];let qt=z[13];const ae=z[14],be=z[15];if(!C&&z.length>=20){P=z[19],R=z[20],D=z[21],O=z[22];const le=this.drawLabelWithPointPlacement_(P,R,D,O);C=le.label,z[3]=C;const en=z[23];v=(le.anchorX-en)*this.pixelRatio,z[4]=v;const pe=z[24];E=(le.anchorY-pe)*this.pixelRatio,z[5]=E,Ki=C.height,z[6]=Ki,qt=C.width,z[13]=qt}let ze;z.length>25&&(ze=z[25]);let $e,ti,Ne;z.length>17?($e=z[16],ti=z[17],Ne=z[18]):($e=yn,ti=!1,Ne=!1),or&&V?Ei+=_t:!or&&!V&&(Ei-=_t);let Ji=0;for(;_<y;_+=2){if(ze&&ze[Ji++]<qt/this.pixelRatio)continue;const le=this.calculateImageOrLabelDimensions_(C.width,C.height,d[_],d[_+1],qt,Ki,v,E,qi,wi,Ei,En,s,$e,ti||Ne,B),en=[t,e,C,le,Fe,ti?Y:null,Ne?q:null];if(c){if(ae==="none")continue;if(ae==="obstacle"){c.insert(le.declutterBox);continue}else{let pe,Be;if(be){const Jt=y-_;if(!be[Jt]){be[Jt]=en;continue}if(pe=be[Jt],delete be[Jt],Be=Ef(pe),c.collides(Be))continue}if(c.collides(le.declutterBox))continue;pe&&(c.insert(Be),this.replayImageOrLabel_.apply(this,pe)),c.insert(le.declutterBox)}}this.replayImageOrLabel_.apply(this,en)}++f;break;case it.DRAW_CHARS:const Ln=z[1],Yt=z[2],rs=z[3],Ko=z[4];O=z[5];const ss=z[6],os=z[7],qo=z[8];D=z[9];const Li=z[10];P=z[11],R=z[12];const Jo=[z[13],z[13]],as=this.textStates[R],Qi=as.font,$i=[as.scale[0]*os,as.scale[1]*os];let tn;Qi in this.widths_?tn=this.widths_[Qi]:(tn={},this.widths_[Qi]=tn);const Qo=df(d,Ln,Yt,2),$o=Math.abs($i[0])*id(Qi,P,tn);if(Ko||$o<=Qo){const le=this.textStates[R].textAlign,en=(Qo-$o)*fh(P,le),pe=lE(d,Ln,Yt,2,P,en,ss,Math.abs($i[0]),id,Qi,tn,V?0:this.viewRotation_);t:if(pe){const Be=[];let Jt,ar,lr,se,_e;if(D)for(Jt=0,ar=pe.length;Jt<ar;++Jt){_e=pe[Jt],lr=_e[4],se=this.createLabel(lr,R,"",D),v=_e[2]+($i[0]<0?-Li:Li),E=rs*se.height+(.5-rs)*2*Li*$i[1]/$i[0]-qo;const Bt=this.calculateImageOrLabelDimensions_(se.width,se.height,_e[0],_e[1],se.width,se.height,v,E,0,0,_e[3],Jo,!1,yn,!1,B);if(c&&c.collides(Bt.declutterBox))break t;Be.push([t,e,se,Bt,1,null,null])}if(O)for(Jt=0,ar=pe.length;Jt<ar;++Jt){_e=pe[Jt],lr=_e[4],se=this.createLabel(lr,R,O,""),v=_e[2],E=rs*se.height-qo;const Bt=this.calculateImageOrLabelDimensions_(se.width,se.height,_e[0],_e[1],se.width,se.height,v,E,0,0,_e[3],Jo,!1,yn,!1,B);if(c&&c.collides(Bt.declutterBox))break t;Be.push([t,e,se,Bt,1,null,null])}c&&c.load(Be.map(Ef));for(let Bt=0,K=Be.length;Bt<K;++Bt)this.replayImageOrLabel_.apply(this,Be[Bt])}}++f;break;case it.END_GEOMETRY:if(a!==void 0){B=z[1];const le=a(B,ut);if(le)return le}++f;break;case it.FILL:j?G++:this.fill_(t),++f;break;case it.MOVE_TO_LINE_TO:for(_=z[1],y=z[2],Lt=d[_],Z=d[_+1],w=Lt+.5|0,b=Z+.5|0,(w!==T||b!==M)&&(t.moveTo(Lt,Z),T=w,M=b),_+=2;_<y;_+=2)Lt=d[_],Z=d[_+1],w=Lt+.5|0,b=Z+.5|0,(_==y-2||w!==T||b!==M)&&(t.lineTo(Lt,Z),T=w,M=b);++f;break;case it.SET_FILL_STYLE:Y=z,this.alignFill_=z[2],G&&(this.fill_(t),G=0,X&&(t.stroke(),X=0)),t.fillStyle=z[1],++f;break;case it.SET_STROKE_STYLE:q=z,X&&(t.stroke(),X=0),this.setStrokeStyle_(t,z),++f;break;case it.STROKE:j?X++:t.stroke(),++f;break;default:++f;break}}G&&this.fill_(t),X&&t.stroke()}execute(t,e,i,n,s,a){this.viewRotation_=n,this.execute_(t,e,i,this.instructions,s,void 0,void 0,a)}executeHitDetection(t,e,i,n,s){return this.viewRotation_=i,this.execute_(t,1,e,this.hitDetectionInstructions,!0,n,s)}}const uE=cE,gh=["Polygon","Circle","LineString","Image","Text","Default"];class dE{constructor(t,e,i,n,s,a){this.maxExtent_=t,this.overlaps_=n,this.pixelRatio_=i,this.resolution_=e,this.renderBuffer_=a,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=Ht(),this.createExecutors_(s)}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 s in n){const a=n[s];i[s]=new uE(this.resolution_,this.pixelRatio_,this.overlaps_,a)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const i=this.executorsByZIndex_[e];for(let n=0,s=t.length;n<s;++n)if(t[n]in i)return!0}return!1}forEachFeatureAtCoordinate(t,e,i,n,s,a){n=Math.round(n);const h=n*2+1,c=Ie(this.hitDetectionTransform_,n+.5,n+.5,1/e,-1/e,-i,-t[0],-t[1]),d=!this.hitDetectionContext_;d&&(this.hitDetectionContext_=ee(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 p;this.renderBuffer_!==void 0&&(p=xe(),Pr(p,t),Ys(p,e*(this.renderBuffer_+n),p));const _=fE(n);let y;function v(P,R){const D=f.getImageData(0,0,h,h).data;for(let O=0,G=_.length;O<G;O++)if(D[_[O]]>0){if(!a||y!=="Image"&&y!=="Text"||a.includes(P)){const X=(_[O]-3)/4,Y=n-X%h,q=n-(X/h|0),st=s(P,R,Y*Y+q*q);if(st)return st}f.clearRect(0,0,h,h);break}}const E=Object.keys(this.executorsByZIndex_).map(Number);E.sort(Pi);let T,M,w,b,C;for(T=E.length-1;T>=0;--T){const P=E[T].toString();for(w=this.executorsByZIndex_[P],M=gh.length-1;M>=0;--M)if(y=gh[M],b=w[y],b!==void 0&&(C=b.executeHitDetection(f,c,i,v,p),C))return C}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const i=e[0],n=e[1],s=e[2],a=e[3],h=[i,n,i,a,s,a,s,n];return Ii(h,0,8,2,t,h),h}isEmpty(){return on(this.executorsByZIndex_)}execute(t,e,i,n,s,a,h){const c=Object.keys(this.executorsByZIndex_).map(Number);c.sort(Pi),this.maxExtent_&&(t.save(),this.clip(t,i)),a=a||gh;let d,f,p,_,y,v;for(h&&c.reverse(),d=0,f=c.length;d<f;++d){const E=c[d].toString();for(y=this.executorsByZIndex_[E],p=0,_=a.length;p<_;++p){const T=a[p];v=y[T],v!==void 0&&v.execute(t,e,i,n,s,h)}}this.maxExtent_&&t.restore()}}const ph={};function fE(r){if(ph[r]!==void 0)return ph[r];const t=r*2+1,e=r*r,i=new Array(e+1);for(let s=0;s<=r;++s)for(let a=0;a<=r;++a){const h=s*s+a*a;if(h>e)break;let c=i[h];c||(c=[],i[h]=c),c.push(((r+s)*t+(r+a))*4+3),s>0&&c.push(((r-s)*t+(r+a))*4+3),a>0&&(c.push(((r+s)*t+(r-a))*4+3),s>0&&c.push(((r-s)*t+(r-a))*4+3))}const n=[];for(let s=0,a=i.length;s<a;++s)i[s]&&n.push(...i[s]);return ph[r]=n,n}const bf=dE;class gE extends vf{constructor(t,e,i,n,s,a,h){super(),this.context_=t,this.pixelRatio_=e,this.extent_=i,this.transform_=n,this.transformRotation_=n?Va(Math.atan2(n[1],n[0]),10):0,this.viewRotation_=s,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_=Ht()}drawImages_(t,e,i,n){if(!this.image_)return;const s=Ii(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,p=s.length;f<p;f+=2){const _=s[f]-this.imageAnchorX_,y=s[f+1]-this.imageAnchorY_;if(d!==0||this.imageScale_[0]!=1||this.imageScale_[1]!=1){const v=_+this.imageAnchorX_,E=y+this.imageAnchorY_;Ie(h,v,E,1,1,d,-v,-E),a.save(),a.transform.apply(a,h),a.translate(v,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_,_,y,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 s=Ii(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=s[e]+this.textOffsetX_,d=s[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,s){const a=this.context_,h=Ii(t,e,i,n,this.transform_,this.pixelCoordinates_);a.moveTo(h[0],h[1]);let c=h.length;s&&(c-=2);for(let d=2;d<c;d+=2)a.lineTo(h[d],h[d+1]);return s&&a.closePath(),i}drawRings_(t,e,i,n){for(let s=0,a=i.length;s<a;++s)e=this.moveToLineTo_(t,e,i[s],n,!0);return e}drawCircle(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!ce(this.extent_,t.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=ey(t,this.transform_,this.pixelCoordinates_),i=e[2]-e[0],n=e[3]-e[1],s=Math.sqrt(i*i+n*n),a=this.context_;a.beginPath(),a.arc(e[0],e[1],s,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_)),!!ce(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(ce(this.extent_,e)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const i=this.context_,n=t.getFlatCoordinates();let s=0;const a=t.getEnds(),h=t.getStride();i.beginPath();for(let c=0,d=a.length;c<d;++c)s=this.moveToLineTo_(n,s,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_)),!!ce(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_)),!!ce(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 s=t.getEndss(),a=t.getStride();e.beginPath();for(let h=0,c=s.length;h<c;++h){const d=s[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),li(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:Ur;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:Xe(i||de)}}if(!e)this.strokeState_=null;else{const i=e.getColor(),n=e.getLineCap(),s=e.getLineDash(),a=e.getLineDashOffset(),h=e.getLineJoin(),c=e.getWidth(),d=e.getMiterLimit(),f=s||ci;this.strokeState_={lineCap:n!==void 0?n:Un,lineDash:this.pixelRatio_===1?f:f.map(p=>p*this.pixelRatio_),lineDashOffset:(a||ui)*this.pixelRatio_,lineJoin:h!==void 0?h:jn,lineWidth:(c!==void 0?c:jr)*this.pixelRatio_,miterLimit:d!==void 0?d:Br,strokeStyle:Xe(i||Gr)}}}setImageStyle(t){let e;if(!t||!(e=t.getSize())){this.image_=null;return}const i=t.getPixelRatio(this.pixelRatio_),n=t.getAnchor(),s=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_=s[0],this.imageOriginY_=s[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 y=e.getColor();this.textFillState_={fillStyle:Xe(y||de)}}const i=t.getStroke();if(!i)this.textStrokeState_=null;else{const y=i.getColor(),v=i.getLineCap(),E=i.getLineDash(),T=i.getLineDashOffset(),M=i.getLineJoin(),w=i.getWidth(),b=i.getMiterLimit();this.textStrokeState_={lineCap:v!==void 0?v:Un,lineDash:E||ci,lineDashOffset:T||ui,lineJoin:M!==void 0?M:jn,lineWidth:w!==void 0?w:jr,miterLimit:b!==void 0?b:Br,strokeStyle:Xe(y||Gr)}}const n=t.getFont(),s=t.getOffsetX(),a=t.getOffsetY(),h=t.getRotateWithView(),c=t.getRotation(),d=t.getScaleArray(),f=t.getText(),p=t.getTextAlign(),_=t.getTextBaseline();this.textState_={font:n!==void 0?n:td,textAlign:p!==void 0?p:Ur,textBaseline:_!==void 0?_:wo},this.text_=f!==void 0?Array.isArray(f)?f.reduce((y,v,E)=>y+=E%2?" ":v,""):f:"",this.textOffsetX_=s!==void 0?this.pixelRatio_*s: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=gE,qe=.5;function _E(r,t,e,i,n,s,a){const h=r[0]*qe,c=r[1]*qe,d=ee(h,c);d.imageSmoothingEnabled=!1;const f=d.canvas,p=new pE(d,qe,n,null,a),_=e.length,y=Math.floor((256*256*256-1)/_),v={};for(let T=1;T<=_;++T){const M=e[T-1],w=M.getStyleFunction()||i;if(!w)continue;let b=w(M,s);if(!b)continue;Array.isArray(b)||(b=[b]);const P=(T*y).toString(16).padStart(7,"#00000");for(let R=0,D=b.length;R<D;++R){const O=b[R],G=O.getGeometryFunction()(M);if(!G||!ce(n,G.getExtent()))continue;const X=O.clone(),Y=X.getFill();Y&&Y.setColor(P);const q=X.getStroke();q&&(q.setColor(P),q.setLineDash(null)),X.setText(void 0);const st=O.getImage();if(st){const j=st.getImageSize();if(!j)continue;const B=ee(j[0],j[1],void 0,{alpha:!1}),Lt=B.canvas;B.fillStyle=P,B.fillRect(0,0,Lt.width,Lt.height),X.setImage(new Ul({img:Lt,anchor:st.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:st.getOrigin(),opacity:1,size:st.getSize(),scale:st.getScale(),rotation:st.getRotation(),rotateWithView:st.getRotateWithView()}))}const _t=X.getZIndex()||0;let V=v[_t];V||(V={},v[_t]=V,V.Polygon=[],V.Circle=[],V.LineString=[],V.Point=[]);const H=G.getType();if(H==="GeometryCollection"){const j=G.getGeometriesArrayRecursive();for(let B=0,Lt=j.length;B<Lt;++B){const Z=j[B];V[Z.getType().replace("Multi","")].push(Z,X)}}else V[H.replace("Multi","")].push(G,X)}}const E=Object.keys(v).map(Number).sort(Pi);for(let T=0,M=E.length;T<M;++T){const w=v[E[T]];for(const b in w){const C=w[b];for(let P=0,R=C.length;P<R;P+=2){p.setStyle(C[P+1]);for(let D=0,O=t.length;D<O;++D)p.setTransform(t[D]),p.drawGeometry(C[P])}}}return d.getImageData(0,0,f.width,f.height)}function mE(r,t,e){const i=[];if(e){const n=Math.floor(Math.round(r[0])*qe),s=Math.floor(Math.round(r[1])*qe),a=(Dt(n,0,e.width-1)+Dt(s,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),p=Math.floor((256*256*256-1)/t.length);f&&f%p===0&&i.push(t[f/p-1])}return i}const yE=.5,Tf={Point:ME,LineString:bE,Polygon:PE,MultiPoint:SE,MultiLineString:TE,MultiPolygon:CE,GeometryCollection:LE,Circle:wE};function vE(r,t){return parseInt(ct(r),10)-parseInt(ct(t),10)}function xE(r,t){const e=_h(r,t);return e*e}function _h(r,t){return yE*r/t}function wE(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(s||a){const c=r.getBuilder(e.getZIndex(),"Circle");c.setFillStrokeStyle(s,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 Cf(r,t,e,i,n,s,a){let h=!1;const c=e.getImage();if(c){const d=c.getImageState();d==St.LOADED||d==St.ERROR?c.unlistenImageChange(n):(d==St.IDLE&&c.load(),c.listenImageChange(n),h=!0)}return EE(r,t,e,i,s,a),h}function EE(r,t,e,i,n,s){const a=e.getGeometryFunction()(t);if(!a)return;const h=a.simplifyTransformed(i,n);if(e.getRenderer())Mf(r,h,e,t);else{const d=Tf[h.getType()];d(r,h,e,t,s)}}function Mf(r,t,e,i){if(t.getType()=="GeometryCollection"){const s=t.getGeometries();for(let a=0,h=s.length;a<h;++a)Mf(r,s[a],e,i);return}r.getBuilder(e.getZIndex(),"Default").drawCustom(t,i,e.getRenderer(),e.getHitDetectionRenderer())}function LE(r,t,e,i,n){const s=t.getGeometriesArray();let a,h;for(a=0,h=s.length;a<h;++a){const c=Tf[s[a].getType()];c(r,s[a],e,i,n)}}function bE(r,t,e,i,n){const s=e.getStroke();if(s){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,s),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 TE(r,t,e,i,n){const s=e.getStroke();if(s){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,s),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 CE(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(a||s){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(s,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 ME(r,t,e,i,n){const s=e.getImage(),a=e.getText();let h;if(s){if(s.getImageState()!=St.LOADED)return;let c=r;if(n){const f=s.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const p=r.getBuilder(e.getZIndex(),"Image");p.setImageStyle(s,h),p.drawPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(s,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 SE(r,t,e,i,n){const s=e.getImage(),a=e.getText();let h;if(s){if(s.getImageState()!=St.LOADED)return;let c=r;if(n){const f=s.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const p=r.getBuilder(e.getZIndex(),"Image");p.setImageStyle(s,h),p.drawMultiPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(s,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 PE(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(s||a){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(s,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 kE extends lf{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_=xe(),this.wrappedRenderedExtent_=xe(),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,s=e.viewState,a=s.center,h=s.resolution,c=s.projection,d=s.rotation,f=c.getExtent(),p=this.getLayer().getSource(),_=e.pixelRatio,y=e.viewHints,v=!(y[Zt.ANIMATING]||y[Zt.INTERACTING]),E=this.compositionContext_,T=Math.round(e.size[0]*_),M=Math.round(e.size[1]*_),w=p.getWrapX()&&c.canWrapX(),b=w?Mt(f):null,C=w?Math.ceil((n[2]-f[2])/b)+1:1;let P=w?Math.floor((n[0]-f[0])/b):0;do{const R=this.getRenderTransform(a,h,d,_,T,M,P*b);t.execute(E,1,R,d,v,void 0,i)}while(++P<C)}setupCompositionContext_(){if(this.opacity_!==1){const t=ee(this.context.canvas.width,this.context.canvas.height,af);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,yo(this.compositionContext_),af.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];Km(this.pixelTransform,1/i,1/i),ro(this.inversePixelTransform,this.pixelTransform);const s=Eu(this.pixelTransform);this.useContainer(e,s,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(te.PRERENDER)||this.getLayer().hasListener(te.POSTRENDER)))return null;const p=Math.round(t.size[0]*i),_=Math.round(t.size[1]*i);h.width!=p||h.height!=_?(h.width=p,h.height=_,h.style.transform!==s&&(h.style.transform=s)):this.containerReused||a.clearRect(0,0,p,_),this.preRender(a,t);const y=t.viewState;y.projection,this.opacity_=n.opacity,this.setupCompositionContext_();let v=!1;if(f&&n.extent&&this.clipping){const E=fn(n.extent);f=ce(E,t.extent),v=f&&!hn(E,t.extent),v&&this.clipUnrotated(this.compositionContext_,t,E)}return f&&this.renderWorlds(c,t),v&&this.compositionContext_.restore(),this.releaseCompositionContext_(),this.postRender(a,t),this.renderedRotation_!==y.rotation&&(this.renderedRotation_=y.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];Nt(this.pixelTransform,i);const n=this.renderedCenter_,s=this.renderedResolution_,a=this.renderedRotation_,h=this.renderedProjection_,c=this.wrappedRenderedExtent_,d=this.getLayer(),f=[],p=i[0]*qe,_=i[1]*qe;f.push(this.getRenderTransform(n,s,a,qe,p,_,0).slice());const y=d.getSource(),v=h.getExtent();if(y.getWrapX()&&h.canWrapX()&&!hn(v,c)){let E=c[0];const T=Mt(v);let M=0,w;for(;E<v[0];)--M,w=T*M,f.push(this.getRenderTransform(n,s,a,qe,p,_,w).slice()),E+=T;for(M=0,E=c[2];E>v[2];)++M,w=T*M,f.push(this.getRenderTransform(n,s,a,qe,p,_,w).slice()),E-=T}this.hitDetectionImageData_=_E(i,f,this.renderedFeatures_,d.getStyleFunction(),c,s,a)}e(mE(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,i,n,s){if(!this.replayGroup_)return;const a=e.viewState.resolution,h=e.viewState.rotation,c=this.getLayer(),d={},f=function(y,v,E){const T=ct(y),M=d[T];if(M){if(M!==!0&&E<M.distanceSq){if(E===0)return d[T]=!0,s.splice(s.lastIndexOf(M),1),n(y,c,v);M.geometry=v,M.distanceSq=E}}else{if(E===0)return d[T]=!0,n(y,c,v);s.push(d[T]={feature:y,layer:c,geometry:v,distanceSq:E,callback:n})}};let p;const _=[this.replayGroup_];return this.declutterExecutorGroup&&_.push(this.declutterExecutorGroup),_.some(y=>p=y.forEachFeatureAtCoordinate(t,a,h,i,f,y===this.declutterExecutorGroup&&e.declutterTree?e.declutterTree.all().map(v=>v.value):null)),p}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[Zt.ANIMATING],s=t.viewHints[Zt.INTERACTING],a=e.getUpdateWhileAnimating(),h=e.getUpdateWhileInteracting();if(this.ready&&!a&&n||!h&&s)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const c=t.extent,d=t.viewState,f=d.projection,p=d.resolution,_=t.pixelRatio,y=e.getRevision(),v=e.getRenderBuffer();let E=e.getRenderOrder();E===void 0&&(E=vE);const T=d.center.slice(),M=Ys(c,v*p),w=M.slice(),b=[M.slice()],C=f.getExtent();if(i.getWrapX()&&f.canWrapX()&&!hn(C,t.extent)){const V=Mt(C),H=Math.max(Mt(M)/2,V);M[0]=C[0]-H,M[2]=C[2]+H,tu(T,f);const j=$c(b[0],f);j[0]<C[0]&&j[2]<C[2]?b.push([j[0]+V,j[1],j[2]+V,j[3]]):j[0]>C[0]&&j[2]>C[2]&&b.push([j[0]-V,j[1],j[2]-V,j[3]])}if(this.ready&&this.renderedResolution_==p&&this.renderedRevision_==y&&this.renderedRenderOrder_==E&&hn(this.wrappedRenderedExtent_,M))return li(this.renderedExtent_,w)||(this.hitDetectionImageData_=null,this.renderedExtent_=w),this.renderedCenter_=T,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const P=new wf(_h(p,_),M,p,_);let R;this.getLayer().getDeclutter()&&(R=new wf(_h(p,_),M,p,_));let D;for(let V=0,H=b.length;V<H;++V)i.loadFeatures(b[V],p,f);const O=xE(p,_);let G=!0;const X=V=>{let H;const j=V.getStyleFunction()||e.getStyleFunction();if(j&&(H=j(V,p)),H){const B=this.renderFeature(V,O,H,P,D,R);G=G&&!B}},Y=cu(M),q=i.getFeaturesInExtent(Y);E&&q.sort(E);for(let V=0,H=q.length;V<H;++V)X(q[V]);this.renderedFeatures_=q,this.ready=G;const st=P.finish(),_t=new bf(M,p,_,i.getOverlaps(),st,e.getRenderBuffer());return R&&(this.declutterExecutorGroup=new bf(M,p,_,i.getOverlaps(),R.finish(),e.getRenderBuffer())),this.renderedResolution_=p,this.renderedRevision_=y,this.renderedRenderOrder_=E,this.renderedExtent_=w,this.wrappedRenderedExtent_=M,this.renderedCenter_=T,this.renderedProjection_=f,this.replayGroup_=_t,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,i,n,s,a){if(!i)return!1;let h=!1;if(Array.isArray(i))for(let c=0,d=i.length;c<d;++c)h=Cf(n,t,i[c],e,this.boundHandleStyleImageChange_,s,a)||h;else h=Cf(n,t,i,e,this.boundHandleStyleImageChange_,s,a);return h}}const RE=kE;class AE extends Hl{constructor(t){super(t)}createRenderer(){return new RE(this)}}const Sf=AE,re={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class IE extends Re{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 "+Iy,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(re.ELEMENT,this.handleElementChanged),this.addChangeListener(re.MAP,this.handleMapChanged),this.addChangeListener(re.OFFSET,this.handleOffsetChanged),this.addChangeListener(re.POSITION,this.handlePositionChanged),this.addChangeListener(re.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(re.ELEMENT)}getId(){return this.id}getMap(){return this.get(re.MAP)||null}getOffset(){return this.get(re.OFFSET)}getPosition(){return this.get(re.POSITION)}getPositioning(){return this.get(re.POSITIONING)}handleElementChanged(){$u(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(xo(this.element),Ct(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=ft(t,fi.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(re.ELEMENT,t)}setMap(t){this.set(re.MAP,t)}setOffset(t){this.set(re.OFFSET,t)}setPosition(t){this.set(re.POSITION,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(re.POSITION))return;const i=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),s=this.getRect(n,[Oy(n),Fy(n)]);t=t||{};const a=t.margin===void 0?20:t.margin;if(!hn(i,s)){const h=s[0]-i[0],c=i[2]-s[2],d=s[1]-i[1],f=i[3]-s[3],p=[0,0];if(h<0?p[0]=h-a:c<0&&(p[0]=Math.abs(c)+a),d<0?p[1]=d-a:f<0&&(p[1]=Math.abs(f)+a),p[0]!==0||p[1]!==0){const _=e.getView().getCenterInternal(),y=e.getPixelFromCoordinateInternal(_);if(!y)return;const v=[y[0]+p[0],y[1]+p[1]],E=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(v),duration:E.duration,easing:E.easing})}}}getRect(t,e){const i=t.getBoundingClientRect(),n=i.left+window.pageXOffset,s=i.top+window.pageYOffset;return[n,s,n+e[0],s+e[1]]}setPositioning(t){this.set(re.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(),s=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%";s=="bottom-right"||s=="center-right"||s=="top-right"?c="-100%":(s=="bottom-center"||s=="center-center"||s=="top-center")&&(c="-50%"),s=="bottom-left"||s=="bottom-center"||s=="bottom-right"?d="-100%":(s=="center-left"||s=="center-center"||s=="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 DE=IE,Pf=["fullscreenchange","webkitfullscreenchange","MSFullscreenChange"],kf={ENTERFULLSCREEN:"enterfullscreen",LEAVEFULLSCREEN:"leavefullscreen"};class OE extends To{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(lt.CLICK,this.handleClick_.bind(this),!1),this.setClassName_(this.button_,this.isInFullscreen_),this.element.className=`${this.cssClassName_} ${Nr} ${mo}`,this.element.appendChild(this.button_)}handleClick_(t){t.preventDefault(),this.handleFullScreen_()}handleFullScreen_(){const t=this.getMap();if(!t)return;const e=t.getOwnerDocument();if(Rf(e))if(Af(e))zE(e);else{let i;this.source_?i=typeof this.source_=="string"?e.getElementById(this.source_):this.source_:i=t.getTargetElement(),this.keys_?FE(i):If(i)}}handleFullScreenChange_(){const t=this.getMap();if(!t)return;const e=this.isInFullscreen_;this.isInFullscreen_=Af(t.getOwnerDocument()),e!==this.isInFullscreen_&&(this.setClassName_(this.button_,this.isInFullscreen_),this.isInFullscreen_?(vo(this.labelActiveNode_,this.labelNode_),this.dispatchEvent(kf.ENTERFULLSCREEN)):(vo(this.labelNode_,this.labelActiveNode_),this.dispatchEvent(kf.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(Vt.TARGET,this.boundHandleMapTargetChange_),super.setMap(t),this.handleMapTargetChange_(),t&&t.addChangeListener(Vt.TARGET,this.boundHandleMapTargetChange_)}handleMapTargetChange_(){const t=this.documentListeners_;for(let i=0,n=t.length;i<n;++i)Ct(t[i]);t.length=0;const e=this.getMap();if(e){const i=e.getOwnerDocument();Rf(i)?this.element.classList.remove(Ku):this.element.classList.add(Ku);for(let n=0,s=Pf.length;n<s;++n)t.push(ft(i,Pf[n],this.handleFullScreenChange_,this));this.handleFullScreenChange_()}}}function Rf(r){const t=r.body;return!!(t.webkitRequestFullscreen||t.requestFullscreen&&r.fullscreenEnabled)}function Af(r){return!!(r.webkitIsFullScreen||r.fullscreenElement)}function If(r){r.requestFullscreen?r.requestFullscreen():r.webkitRequestFullscreen&&r.webkitRequestFullscreen()}function FE(r){r.webkitRequestFullscreen?r.webkitRequestFullscreen():If(r)}function zE(r){r.exitFullscreen?r.exitFullscreen():r.webkitExitFullscreen&&r.webkitExitFullscreen()}const NE=OE,BE=U.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:{image:Es,color:"#f47521",iconUrl:"/image/gmap01.png",iconSize:[25,41],iconAnchor:[12,41],scale:1,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 Xn({stroke:new ko({color:this.configurationMap.strokeColor,width:3}),text:new wd({font:"12px Roboto",fill:new Po({color:"#000"}),stroke:new ko({color:"#fff",width:1})})});this.countryLayer=new Sf({source:new Wo({url:`${this.loadMapa.data}`,format:new Vo}),style:function(i){const n=t.getText();return n&&n.setText(i.get("name")),t}}),this.heatLayer=new Ux({source:new Wo({features:[]}),visible:!1,radius:10,blur:25});try{this.pointLayer=this.configurationMap?new Sf({source:new Wo({features:[]}),visible:!1,style:i=>{var a,h,c;return new Xn({image:new Ul({src:(h=(a=this.configurationMap)==null?void 0:a.iconMarker)==null?void 0:h.iconUrl,color:(c=this.configurationMap.iconMarker)==null?void 0:c.color,scale:this.configurationMap.iconMarker.scale}),zIndex:1})}}):void 0}catch(i){console.log(i)}this.olMap=new Zv({controls:rd({attribution:!1}).extend([new NE({tipLabel:"Pantalla completa"})]).extend([new nd({collapsible:!1})]),layers:[new yw({source:new cw({attributions:r})}),this.countryLayer,this.heatLayer,this.pointLayer],target:this.$refs["map-root"],view:new He({center:[0,0],zoom:this.zoom})});const e=lu([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 DE({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 s=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(s)),t.innerHTML=h;const c=this.olMap.getView(),d=i.getGeometry().getExtent(),f=c.getCenter(),p=c.getZoom();c.fit(d,{padding:[325,75,0,75],maxZoom:p});const _=c.getCenter();c.setCenter(f),c.animate({center:_})}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 Vo({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 Vo({featureProjection:"EPSG:3857"}).readFeatures(r);t.clear(),t.addFeatures(e)}},async changeCountryLayer(r){if(this.countryLayer){const e=new Wo({url:`${r.data}`,format:new Vo});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(),s=t.getCenter();t.fit(i,{padding:[75,75,75,75],maxZoom:6});const a=t.getZoom(),h=t.getCenter();t.setCenter(s),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(lu([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)}}),bb="",Tb="",xi=r=>(U.pushScopeId("data-v-5030ee80"),r=r(),U.popScopeId(),r),GE={ref:"map-root",style:{width:"100%",height:"100%",position:"relative"}},UE={class:"btn-zoom-container ol-control"},jE=[xi(()=>U.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[U.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))],ZE={class:"type-map-container ol-control"},WE=[xi(()=>U.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[U.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))],HE=[xi(()=>U.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[U.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))],VE={class:"btn-settings ol-control"},XE=[xi(()=>U.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[U.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))],YE={class:"control-container"},KE={class:"map-flex"},qE=xi(()=>U.createElementVNode("label",null,"Tamaño del radio",-1)),JE={class:"map-flex"},QE=xi(()=>U.createElementVNode("label",null,"Difuminado",-1)),$E={class:"cant-casos ol-attribution ol-unselectable ol-control ol-uncollapsible"},tL={class:"text-cantidad"},eL=xi(()=>U.createElementVNode("span",{class:"ol-bold"},"Casos: ",-1)),iL={id:"popup",class:"ol-popup"},nL=[xi(()=>U.createElementVNode("a",{id:"popup-closer",class:"ol-popup-closer"},null,-1)),xi(()=>U.createElementVNode("div",{id:"popup-content"},null,-1))];function rL(r,t,e,i,n,s){var a;return U.openBlock(),U.createElementBlock("div",{class:"map-container",style:U.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[U.createElementVNode("div",GE,[U.withDirectives(U.createElementVNode("div",UE,[U.createElementVNode("button",{title:"Ir a la ciudad",class:"jl2-button-map",onClick:t[0]||(t[0]=(...h)=>r.irACiudad&&r.irACiudad(...h))},jE)],512),[[U.vShow,r.loadMapa.country!=="Bolivia"]]),U.createElementVNode("div",ZE,[U.createElementVNode("button",{title:"Mapa con Marcador",class:U.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="1"}]),onClick:t[1]||(t[1]=()=>r.type="1")},WE,2),U.createElementVNode("button",{title:"Mapa de Calor",class:U.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="0"}]),onClick:t[2]||(t[2]=()=>r.type="0")},HE,2)]),U.withDirectives(U.createElementVNode("div",VE,[U.createElementVNode("button",{title:"Ver Opciones",class:"jl2-button-map",onClick:t[3]||(t[3]=(...h)=>r.toggleSettings&&r.toggleSettings(...h))},XE)],512),[[U.vShow,!r.showSetting&&r.type==="0"]]),U.withDirectives(U.createElementVNode("div",YE,[U.createElementVNode("a",{onClick:t[4]||(t[4]=(...h)=>r.toggleSettings&&r.toggleSettings(...h)),class:"ol-popup-closer"}),U.createElementVNode("div",KE,[qE,U.withDirectives(U.createElementVNode("input",{id:"radius",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[5]||(t[5]=h=>r.radius=h)},null,512),[[U.vModelText,r.radius]])]),U.createElementVNode("div",JE,[QE,U.withDirectives(U.createElementVNode("input",{id:"blur",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[6]||(t[6]=h=>r.blur=h)},null,512),[[U.vModelText,r.blur]])])],512),[[U.vShow,r.type==="0"&&r.showSetting]]),U.createElementVNode("div",$E,[U.createElementVNode("p",tL,[eL,U.createTextVNode(U.toDisplayString(r.cantidad),1)])])],512),U.withDirectives(U.createElementVNode("div",iL,nL,512),[[U.vShow,r.type==="1"]])],4)}const sL=La(BE,[["render",rL],["__scopeId","data-v-5030ee80"]]);ye.CoordinatesVerifyPolygon=up,ye.MapHeatComponent=sL,ye.MapSearchAddress=tm,ye.MapView=Q_,ye.listenServiceGoogleMaps=Fg,ye.searchAutomaticGoogleMaps=Ng,ye.searchManualGoogleMaps=zg,Object.defineProperty(ye,Symbol.toStringTag,{value:"Module"})});
463
+ }`,uniforms:{u_gradientTexture:()=>this.gradient_,u_opacity:()=>this.getOpacity()}}]})}renderDeclutter(){}}function jx(r){const i=ee(1,256),n=i.createLinearGradient(0,0,1,256),s=1/(r.length-1);for(let a=0,h=r.length;a<h;++a)n.addColorStop(a*s,r[a]);return i.fillStyle=n,i.fillRect(0,0,1,256),i.canvas}const Ux=Bx;class Gx extends Dx{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=Px(t)[0];this.forEach(n=>{n.tileCoord[0]!==i&&(this.remove(tf(n.tileCoord)),n.release())})}}const ef=Gx,ih={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};class Hx extends Ie{constructor(t){super(),this.projection=Nt(t.projection),this.attributions_=nf(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_=nf(t),this.changed()}setState(t){this.state_=t,this.changed()}}function nf(r){return r?Array.isArray(r)?function(t){return r}:typeof r=="function"?r:function(t){return[r]}:null}const rf=Hx,ir=[0,0,0],Gi=5;class Yx{constructor(t){this.minZoom=t.minZoom!==void 0?t.minZoom:0,this.resolutions_=t.resolutions,vt(s_(this.resolutions_,(n,s)=>s-n,!0),"`resolutions` must be sorted in descending order");let e;if(!t.origins){for(let n=0,s=this.resolutions_.length-1;n<s;++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,vt(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_=cn(i)),vt(!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,vt(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:Fa,vt(!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((n,s)=>{const a=new Jd(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,s);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}):i&&this.calculateTileRanges_(i)}forEachTileCoord(t,e,i){const n=this.getTileRangeForExtentAndZ(t,e);for(let s=n.minX,a=n.maxX;s<=a;++s)for(let h=n.minY,c=n.maxY;h<=c;++h)i([e,s,h])}forEachTileCoordParentTileRange(t,e,i,n){let s,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(a!==void 0&&h!==void 0?(a=Math.floor(a/2),h=Math.floor(h/2),s=Jn(a,a,h,h,i)):s=this.getTileRangeForExtentAndZ(c,d,i),e(d,s))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 s=t[1]*2,a=t[2]*2;return Jn(s,s+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],s=t[1],a=t[2];if(e===n)return Jn(s,a,s,a,i);if(this.zoomFactor_){const c=Math.pow(this.zoomFactor_,e-n),d=Math.floor(s*c),f=Math.floor(a*c);if(e<n)return Jn(d,d,f,f,i);const p=Math.floor(c*(s+1))-1,m=Math.floor(c*(a+1))-1;return Jn(d,p,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,ir);const n=ir[1],s=ir[2];this.getTileCoordForXYAndZ_(t[2],t[1],e,!0,ir);const a=ir[1],h=ir[2];return Jn(n,a,s,h,i)}getTileCoordCenter(t){const e=this.getOrigin(t[0]),i=this.getResolution(t[0]),n=Ee(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]),s=Ee(this.getTileSize(t[0]),this.tmpSize_),a=i[0]+t[1]*s[0]*n,h=i[1]-(t[2]+1)*s[1]*n,c=a+s[0]*n,d=h+s[1]*n;return Pi(a,h,c,d,e)}getTileCoordForCoordAndResolution(t,e,i){return this.getTileCoordForXYAndResolution_(t[0],t[1],e,!1,i)}getTileCoordForXYAndResolution_(t,e,i,n,s){const a=this.getZForResolution(i),h=i/this.getResolution(a),c=this.getOrigin(a),d=Ee(this.getTileSize(a),this.tmpSize_);let f=h*(t-c[0])/i/d[0],p=h*(c[1]-e)/i/d[1];return n?(f=eo(f,Gi)-1,p=eo(p,Gi)-1):(f=to(f,Gi),p=to(p,Gi)),$d(a,f,p,s)}getTileCoordForXYAndZ_(t,e,i,n,s){const a=this.getOrigin(i),h=this.getResolution(i),c=Ee(this.getTileSize(i),this.tmpSize_);let d=(t-a[0])/h/c[0],f=(a[1]-e)/h/c[1];return n?(d=eo(d,Gi)-1,f=eo(f,Gi)-1):(d=to(d,Gi),f=to(f,Gi)),$d(i,d,f,s)}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=Na(this.resolutions_,t,e||0);return Rt(i,this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(t,e){return zu(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 sf=Yx;function of(r){let t=r.getDefaultTileGrid();return t||(t=Qx(r),r.setDefaultTileGrid(t)),t}function Wx(r,t,e){const i=t[0],n=r.getTileCoordCenter(t),s=nh(e);if(!Qs(s,n)){const a=Tt(s),h=Math.ceil((s[0]-n[0])/a);return n[0]+=a*h,r.getTileCoordForCoordAndZ(n,i)}return t}function Zx(r,t,e,i){i=i!==void 0?i:"top-left";const n=af(r,t,e);return new sf({extent:r,origin:w_(r,i),resolutions:n,tileSize:e})}function Xx(r){const t=r||{},e=t.extent||Nt("EPSG:3857").getExtent(),i={extent:e,minZoom:t.minZoom,tileSize:t.tileSize,resolutions:af(e,t.maxZoom,t.tileSize,t.maxResolution)};return new sf(i)}function af(r,t,e,i){t=t!==void 0?t:c_,e=Ee(e!==void 0?e:Fa);const n=Ae(r),s=Tt(r);i=i>0?i:Math.max(s/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 Qx(r,t,e,i){const n=nh(r);return Zx(n,t,e,i)}function nh(r){r=Nt(r);let t=r.getExtent();if(!t){const e=180*Mr.degrees/r.getMetersPerUnit();t=Pi(-e,-e,e,e)}return t}class Vx extends rf{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&&Ee(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),e),this.tileCache=new ef(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 s=this.getTileCacheForProjection(t);if(!s)return!1;let a=!0,h,c,d;for(let f=i.minX;f<=i.maxX;++f)for(let p=i.minY;p<=i.maxY;++p)c=zo(e,f,p),d=!1,s.containsKey(c)&&(h=s.get(c),d=h.getState()===it.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,s){return lt()}getTileGrid(){return this.tileGrid}getTileGridForProjection(t){return this.tileGrid?this.tileGrid:of(t)}getTileCacheForProjection(t){const e=this.getProjection();return vt(e===null||dn(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),s=this.getTilePixelRatio(e),a=Ee(n.getTileSize(t),this.tmpSize);return s==1?a:jv(a,s,this.tmpSize)}getTileCoordForTileUrlFunction(t,e){e=e!==void 0?e:this.getProjection();const i=this.getTileGridForProjection(e);return this.getWrapX()&&e.isGlobal()&&(t=Wx(i,t,e)),Sx(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 Kx extends ai{constructor(t,e){super(t),this.tile=e}}const qx=Vx;function Jx(r,t){const e=/\{z\}/g,i=/\{x\}/g,n=/\{y\}/g,s=/\{-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(s,function(){const d=a[0],f=t.getFullTileRange(d);if(!f)throw new Error("The {-y} placeholder requires a tile grid with extent");return(f.getHeight()-a[2]-1).toString()})}}function $x(r,t){const e=r.length,i=new Array(e);for(let n=0;n<e;++n)i[n]=Jx(r[n],t);return tA(i)}function tA(r){return r.length===1?r[0]:function(t,e,i){if(!t)return;const n=Ix(t),s=Bn(n,r.length);return r[s](t,e,i)}}function eA(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 s;for(s=i;s<=n;++s)t.push(r.replace(e[0],String.fromCharCode(s)));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 rh extends qx{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===rh.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=gt(e),n=e.getState();let s;n==it.LOADING?(this.tileLoadingKeys_[i]=!0,s=ih.TILELOADSTART):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],s=n==it.ERROR?ih.TILELOADERROR:n==it.LOADED?ih.TILELOADEND:void 0),s!=null&&this.dispatchEvent(new Kx(s,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=eA(t);this.urls=e,this.setUrls(e)}setUrls(t){this.urls=t;const e=t.join(`
464
+ `);this.generateTileUrlFunction_?this.setTileUrlFunction($x(t,this.tileGrid),e):this.setKey(e)}tileUrlFunction(t,e,i){}useTile(t,e,i){const n=zo(t,e,i);this.tileCache.containsKey(n)&&this.tileCache.get(n)}}const iA=rh;class nA extends iA{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:rA,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:Kd,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 s=this.tileCacheForProjection[n];s.expireCache(s==i?e:{})}}getGutterForProjection(t){return this.getProjection()&&t&&!dn(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&&!dn(this.getProjection(),t)?!1:super.getOpaque(t)}getTileGridForProjection(t){const e=this.getProjection();if(this.tileGrid&&(!e||dn(e,t)))return this.tileGrid;const i=gt(t);return i in this.tileGridForProjection||(this.tileGridForProjection[i]=of(t)),this.tileGridForProjection[i]}getTileCacheForProjection(t){const e=this.getProjection();if(!e||dn(e,t))return this.tileCache;const i=gt(t);return i in this.tileCacheForProjection||(this.tileCacheForProjection[i]=new ef(this.tileCache.highWaterMark)),this.tileCacheForProjection[i]}createTile_(t,e,i,n,s,a){const h=[t,e,i],c=this.getTileCoordForTileUrlFunction(h,s),d=c?this.tileUrlFunction(c,n,s):void 0,f=new this.tileClass(h,d!==void 0?it.IDLE:it.EMPTY,d!==void 0?d:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return f.key=a,f.addEventListener(ut.CHANGE,this.handleTileChange.bind(this)),f}getTile(t,e,i,n,s){const a=this.getProjection();if(!a||!s||dn(a,s))return this.getTileInternal(t,e,i,n,a||s);const h=this.getTileCacheForProjection(s),c=[t,e,i];let d;const f=tf(c);h.containsKey(f)&&(d=h.get(f));const p=this.getKey();if(d&&d.key==p)return d;const m=this.getTileGridForProjection(a),y=this.getTileGridForProjection(s),v=this.getTileCoordForTileUrlFunction(c,s),A=new $l(a,m,s,y,c,v,this.getTilePixelRatio(n),this.getGutter(),(M,b,w,E)=>this.getTileInternal(M,b,w,E,a),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return A.key=p,d?(A.interimTile=d,A.refreshInterimChain(),h.replace(f,A)):h.set(f,A),A}getTileInternal(t,e,i,n,s){let a=null;const h=zo(t,e,i),c=this.getKey();if(!this.tileCache.containsKey(h))a=this.createTile_(t,e,i,n,s,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,s,c),d.getState()==it.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=Nt(t);if(i){const n=gt(i);n in this.tileGridForProjection||(this.tileGridForProjection[n]=e)}}clear(){super.clear();for(const t in this.tileCacheForProjection)this.tileCacheForProjection[t].clear()}}function rA(r,t){r.getImage().src=t}const sA=nA;class oA extends sA{constructor(t){t=t||{};const e=t.projection!==void 0?t.projection:"EPSG:3857",i=t.tileGrid!==void 0?t.tileGrid:Xx({extent:nh(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 aA=oA,lA='&#169; <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors.';class hA extends aA{constructor(t){t=t||{};let e;t.attributions!==void 0?e=t.attributions:e=[lA];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 cA=hA,No={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};class uA extends go{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(No.PRELOAD)}setPreload(t){this.set(No.PRELOAD,t)}getUseInterimTilesOnError(){return this.get(No.USE_INTERIM_TILES_ON_ERROR)}setUseInterimTilesOnError(t){this.set(No.USE_INTERIM_TILES_ON_ERROR,t)}getData(t){return super.getData(t)}}const dA=uA,lf=[];let nr=null;function fA(){nr=ee(1,1,void 0,{willReadFrequently:!0})}class gA extends Bd{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=Wt(),this.pixelTransform=Wt(),this.inversePixelTransform=Wt(),this.context=null,this.containerReused=!1,this.pixelContext_=null,this.frameState=null}getImageData(t,e,i){nr||fA(),nr.clearRect(0,0,1,1);let n;try{nr.drawImage(t,e,i,1,1,0,0,1,1),n=nr.getImageData(0,0,1,1).data}catch{return nr=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 s,a;if(t&&t.className===n&&(!i||t&&t.style.backgroundColor&&li(zr(t.style.backgroundColor),zr(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){s=document.createElement("div"),s.className=n;let h=s.style;h.position="absolute",h.width="100%",h.height="100%",a=ee();const c=a.canvas;s.appendChild(c),h=c.style,h.position="absolute",h.left="0",h.transformOrigin="top left",this.container=s,this.context=a}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){const n=cn(i),s=qs(i),a=Ks(i),h=Vs(i);Ft(e.coordinateToPixelTransform,n),Ft(e.coordinateToPixelTransform,s),Ft(e.coordinateToPixelTransform,a),Ft(e.coordinateToPixelTransform,h);const c=this.inversePixelTransform;Ft(c,n),Ft(c,s),Ft(c,a),Ft(c,h),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(s[0]),Math.round(s[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 s=new Nr(t,this.inversePixelTransform,i,e);n.dispatchEvent(s)}}preRender(t,e){this.frameState=e,this.dispatchRenderEvent_(te.PRERENDER,t,e)}postRender(t,e){this.dispatchRenderEvent_(te.POSTRENDER,t,e)}getRenderTransform(t,e,i,n,s,a,h){const c=s/2,d=a/2,f=n/e,p=-f,m=-t[0]+h,y=-t[1];return ke(this.tempTransform,c,d,f,p,-i,m,y)}disposeInternal(){delete this.frameState,super.disposeInternal()}}const hf=gA;class pA extends hf{constructor(t){super(t),this.extentChanged=!0,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedRevision,this.renderedTiles=[],this.newTiles_=!1,this.tmpExtent=xe(),this.tmpTileRange_=new Jd(0,0,0,0)}isDrawableTile(t){const e=this.getLayer(),i=t.getState(),n=e.getUseInterimTilesOnError();return i==it.LOADED||i==it.EMPTY||i==it.ERROR&&!n}getTile(t,e,i,n){const s=n.pixelRatio,a=n.viewState.projection,h=this.getLayer();let d=h.getSource().getTile(t,e,i,s,a);return d.getState()==it.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=Ft(e.pixelToCoordinateTransform,t.slice()),s=i.getExtent();if(s&&!Qs(s,n))return null;const a=e.pixelRatio,h=e.viewState.projection,c=e.viewState,d=i.getRenderSource(),f=d.getTileGridForProjection(c.projection),p=d.getTilePixelRatio(e.pixelRatio);for(let m=f.getZForResolution(c.resolution);m>=f.getMinZoom();--m){const y=f.getTileCoordForCoordAndZ(n,m),v=d.getTile(m,y[1],y[2],a,h);if(!(v instanceof Kd||v instanceof $l)||v instanceof $l&&v.getState()===it.EMPTY)return null;if(v.getState()!==it.LOADED)continue;const A=f.getOrigin(m),M=Ee(f.getTileSize(m)),b=f.getResolution(m),w=Math.floor(p*((n[0]-A[0])/b-y[1]*M[0])),E=Math.floor(p*((A[1]-n[1])/b-y[2]*M[1])),C=Math.round(p*d.getGutterForProjection(c.projection));return this.getImageData(v.getImage(),w+C,E+C)}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,s=n.projection,a=n.resolution,h=n.center,c=n.rotation,d=t.pixelRatio,f=this.getLayer(),p=f.getSource(),m=p.getRevision(),y=p.getTileGridForProjection(s),v=y.getZForResolution(a,p.zDirection),A=y.getResolution(v);let M=t.extent;const b=t.viewState.resolution,w=p.getTilePixelRatio(d),E=Math.round(Tt(M)/b*d),C=Math.round(Ae(M)/b*d),D=i.extent&&fn(i.extent);D&&(M=Pr(M,fn(i.extent)));const P=A*E/2/w,O=A*C/2/w,k=[h[0]-P,h[1]-O,h[0]+P,h[1]+O],N=y.getTileRangeForExtentAndZ(M,v),H={};H[v]={};const U=this.createLoadedTileFinder(p,s,H),Q=this.tmpExtent,tt=this.tmpTileRange_;this.newTiles_=!1;const at=c?Wa(n.center,b,c,t.size):void 0;for(let ft=N.minX;ft<=N.maxX;++ft)for(let q=N.minY;q<=N.maxY;++q){if(c&&!y.tileCoordIntersectsViewport([v,ft,q],at))continue;const et=this.getTile(v,ft,q,t);if(this.isDrawableTile(et)){const Xt=gt(this);if(et.getState()==it.LOADED){H[v][et.tileCoord.toString()]=et;let Me=et.inTransition(Xt);Me&&i.opacity!==1&&(et.endTransition(Xt),Me=!1),!this.newTiles_&&(Me||!this.renderedTiles.includes(et))&&(this.newTiles_=!0)}if(et.getAlpha(Xt,t.time)===1)continue}const ct=y.getTileCoordChildTileRange(et.tileCoord,tt,Q);let Pt=!1;ct&&(Pt=U(v+1,ct)),Pt||y.forEachTileCoordParentTileRange(et.tileCoord,U,tt,Q)}const Y=A/a*d/w;ke(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/d,1/d,c,-E/2,-C/2);const W=Eu(this.pixelTransform);this.useContainer(e,W,this.getBackground(t));const G=this.context,F=G.canvas;no(this.inversePixelTransform,this.pixelTransform),ke(this.tempTransform,E/2,C/2,Y,Y,0,-E/2,-C/2),F.width!=E||F.height!=C?(F.width=E,F.height=C):this.containerReused||G.clearRect(0,0,E,C),D&&this.clipUnrotated(G,t,D),p.getInterpolate()||(G.imageSmoothingEnabled=!1),this.preRender(G,t),this.renderedTiles.length=0;let nt=Object.keys(H).map(Number);nt.sort(Di);let Z,rt,z;i.opacity===1&&(!this.containerReused||p.getOpaque(t.viewState.projection))?nt=nt.reverse():(Z=[],rt=[]);for(let ft=nt.length-1;ft>=0;--ft){const q=nt[ft],et=p.getTilePixelSize(q,d,s),Pt=y.getResolution(q)/A,Xt=et[0]*Pt*Y,Me=et[1]*Pt*Y,qe=y.getTileCoordForCoordAndZ(cn(k),q),Xi=y.getTileCoordExtent(qe),Te=Ft(this.tempTransform,[w*(Xi[0]-k[0])/A,w*(k[3]-Xi[3])/A]),Qi=w*p.getGutterForProjection(s),Je=H[q];for(const Vi in Je){const ze=Je[Vi],Ki=ze.tileCoord,Ai=qe[1]-Ki[1],or=Math.round(Te[0]-(Ai-1)*Xt),wi=qe[2]-Ki[2],wn=Math.round(Te[1]-(wi-1)*Me),Kt=Math.round(Te[0]-Ai*Xt),ae=Math.round(Te[1]-wi*Me),Le=or-Kt,Ne=wn-ae,$e=v===q,ti=$e&&ze.getAlpha(gt(this),t.time)!==1;let Fe=!1;if(!ti)if(Z){z=[Kt,ae,Kt+Le,ae,Kt+Le,ae+Ne,Kt,ae+Ne];for(let qi=0,En=Z.length;qi<En;++qi)if(v!==q&&q<rt[qi]){const Qt=Z[qi];ce([Kt,ae,Kt+Le,ae+Ne],[Qt[0],Qt[3],Qt[4],Qt[7]])&&(Fe||(G.save(),Fe=!0),G.beginPath(),G.moveTo(z[0],z[1]),G.lineTo(z[2],z[3]),G.lineTo(z[4],z[5]),G.lineTo(z[6],z[7]),G.moveTo(Qt[6],Qt[7]),G.lineTo(Qt[4],Qt[5]),G.lineTo(Qt[2],Qt[3]),G.lineTo(Qt[0],Qt[1]),G.clip())}Z.push(z),rt.push(q)}else G.clearRect(Kt,ae,Le,Ne);this.drawTileImage(ze,t,Kt,ae,Le,Ne,Qi,$e),Z&&!ti?(Fe&&G.restore(),this.renderedTiles.unshift(ze)):this.renderedTiles.push(ze),this.updateUsedTiles(t.usedTiles,p,ze)}}return this.renderedRevision=m,this.renderedResolution=A,this.extentChanged=!this.renderedExtent_||!Fn(this.renderedExtent_,k),this.renderedExtent_=k,this.renderedPixelRatio=d,this.renderedProjection=s,this.manageTilePyramid(t,p,y,d,s,M,v,f.getPreload()),this.scheduleExpireCache(t,p),this.postRender(G,t),i.extent&&G.restore(),G.imageSmoothingEnabled=!0,W!==F.style.transform&&(F.style.transform=W),this.container}drawTileImage(t,e,i,n,s,a,h,c){const d=this.getTileImage(t);if(!d)return;const f=gt(this),p=e.layerStatesArray[e.layerIndex],m=p.opacity*(c?t.getAlpha(f,e.time):1),y=m!==this.context.globalAlpha;y&&(this.context.save(),this.context.globalAlpha=m),this.context.drawImage(d,h,h,d.width-2*h,d.height-2*h,i,n,s,a),y&&this.context.restore(),m!==p.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,s,a){const h=gt(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=gt(e);n in t||(t[n]={}),t[n][i.getKey()]=!0}manageTilePyramid(t,e,i,n,s,a,h,c,d){const f=gt(e);f in t.wantedTiles||(t.wantedTiles[f]={});const p=t.wantedTiles[f],m=t.tileQueue,y=i.getMinZoom(),v=t.viewState.rotation,A=v?Wa(t.viewState.center,t.viewState.resolution,v,t.size):void 0;let M=0,b,w,E,C,D,P;for(P=y;P<=h;++P)for(w=i.getTileRangeForExtentAndZ(a,P,w),E=i.getResolution(P),C=w.minX;C<=w.maxX;++C)for(D=w.minY;D<=w.maxY;++D)v&&!i.tileCoordIntersectsViewport([P,C,D],A)||(h-P<=c?(++M,b=e.getTile(P,C,D,n,s),b.getState()==it.IDLE&&(p[b.getKey()]=!0,m.isKeyQueued(b.getKey())||m.enqueue([b,f,i.getTileCoordCenter(b.tileCoord),E])),d!==void 0&&d(b)):e.useTile(P,C,D,s));e.updateCacheSize(M,s)}}const mA=pA;class _A extends dA{constructor(t){super(t)}createRenderer(){return new mA(this)}}const yA=_A;class vA{constructor(t){this.rbush_=new pd(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_[gt(e)]=i}load(t,e){const i=new Array(e.length);for(let n=0,s=e.length;n<s;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_[gt(h)]=c}this.rbush_.load(i)}remove(t){const e=gt(t),i=this.items_[e];return delete this.items_[e],this.rbush_.remove(i)!==null}update(t,e){const i=this.items_[gt(e)],n=[i.minX,i.minY,i.maxX,i.maxY];Fn(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,s=t.length;n<s;n++)if(i=e(t[n]),i)return i;return i}isEmpty(){return on(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(t){const e=this.rbush_.toJSON();return Pi(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 cf=vA;class sh extends Ie{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 sh(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_&&(Mt(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=mt(t,ut.CHANGE,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?xA(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 xA(r){if(typeof r=="function")return r;let t;return Array.isArray(r)?t=r:(vt(typeof r.getZIndex=="function","Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),t=[r]),function(){return t}}const uf=sh;class Fo extends Mu{constructor(t){super(),this.geometries_=t||null,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(Mt),this.changeEventsKeys_.length=0}listenGeometriesChange_(){if(this.geometries_)for(let t=0,e=this.geometries_.length;t<e;++t)this.changeEventsKeys_.push(mt(this.geometries_[t],ut.CHANGE,this.changed,this))}clone(){const t=new Fo(null);return t.setGeometries(this.geometries_),t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<ln(this.getExtent(),t,e))return n;const s=this.geometries_;for(let a=0,h=s.length;a<h;++a)n=s[a].closestPointXY(t,e,i,n);return n}containsXY(t,e){const i=this.geometries_;for(let n=0,s=i.length;n<s;++n)if(i[n].containsXY(t,e))return!0;return!1}computeExtent(t){br(t);const e=this.geometries_;for(let i=0,n=e.length;i<n;++i)qc(t,e[i].getExtent());return t}getGeometries(){return df(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 s=0,a=i.length;s<a;++s){const h=i[s],c=h.getSimplifiedGeometry(t);e.push(c),c!==h&&(n=!0)}if(n){const s=new Fo(null);return s.setGeometriesArray(e),s}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,s=i.length;n<s;++n)i[n].rotate(t,e);this.changed()}scale(t,e,i){i||(i=Ii(this.getExtent()));const n=this.geometries_;for(let s=0,a=n.length;s<a;++s)n[s].scale(t,e,i);this.changed()}setGeometries(t){this.setGeometriesArray(df(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,s=i.length;n<s;++n)i[n].translate(t,e);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function df(r){const t=[];for(let e=0,i=r.length;e<i;++e)t.push(r[e].clone());return t}const AA=Fo;function Bo(r,t,e,i,n,s,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],p=r[t+1],m=0;const y=[0];for(let M=t+i;M<e;M+=i){const b=r[M],w=r[M+1];m+=Math.sqrt((b-f)*(b-f)+(w-p)*(w-p)),y.push(m),f=b,p=w}const v=n*m,A=n_(y,v);A<0?(c=(v-y[-A-2])/(y[-A-1]-y[-A-2]),h=t+(-A-2)*i):h=t+A*i}a=a>1?a:2,s=s||new Array(a);for(let f=0;f<a;++f)s[f]=h===void 0?NaN:c===void 0?r[h+f]:we(r[h+f],r[h+i+f],c);return s}function oh(r,t,e,i,n,s){if(e==t)return null;let a;if(n<r[t+i-1])return s?(a=r.slice(t,t+i),a[i-1]=n,a):null;if(r[e-1]<n)return s?(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],p=(n-d)/(f-d);a=[];for(let m=0;m<i-1;++m)a.push(we(r[(h-1)*i+m],r[h*i+m],p));return a.push(n),a}function wA(r,t,e,i,n,s,a){if(a)return oh(r,t,e[e.length-1],i,n,s);let h;if(n<r[i-1])return s?(h=r.slice(0,i),h[i-1]=n,h):null;if(r[r.length-1]<n)return s?(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 oh(r,t,f,i,n,!1);t=f}}return null}function ff(r,t,e,i){let n=r[t],s=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-s)*(d-s)),n=c,s=d}return a}class jo extends gn{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){Ye(this.flatCoordinates,t),this.changed()}clone(){const t=new jo(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(nl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),sl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,i,n))}forEachSegment(t){return Ou(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,oh(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Ri(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return Bo(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return ff(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=so(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new jo(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return lo(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ro(this.flatCoordinates,0,t,this.stride),this.changed()}}const ah=jo;class Uo extends gn{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{const n=t,s=[],a=[];for(let c=0,d=n.length;c<d;++c){const f=n[c];Ye(s,f.getFlatCoordinates()),a.push(s.length)}const h=n.length===0?this.getLayout():n[0].getLayout();this.setFlatCoordinates(h,s),this.ends_=a}}appendLineString(t){Ye(this.flatCoordinates,t.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new Uo(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(rl(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ol(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,wA(this.flatCoordinates,0,this.ends_,this.stride,t,e,i))}getCoordinates(){return kr(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(t){return t<0||this.ends_.length<=t?null:new ah(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 s=0;for(let a=0,h=e.length;a<h;++a){const c=e[a],d=new ah(t.slice(s,c),i);n.push(d),s=c}return n}getFlatMidpoints(){const t=[],e=this.flatCoordinates;let i=0;const n=this.ends_,s=this.stride;for(let a=0,h=n.length;a<h;++a){const c=n[a],d=Bo(e,i,c,s,.5);Ye(t,d),i=c}return t}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=Pu(this.flatCoordinates,0,this.ends_,this.stride,t,e,0,i),new Uo(e,"XY",i)}getType(){return"MultiLineString"}intersectsExtent(t){return cy(this.flatCoordinates,0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Sr(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}const EA=Uo;class lh extends gn{constructor(t,e){super(),e&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendPoint(t){Ye(this.flatCoordinates,t.getFlatCoordinates()),this.changed()}clone(){const t=new lh(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,i,n){if(n<ln(this.getExtent(),t,e))return n;const s=this.flatCoordinates,a=this.stride;for(let h=0,c=s.length;h<c;h+=a){const d=un(t,e,s[h],s[h+1]);if(d<n){n=d;for(let f=0;f<a;++f)i[f]=s[h+f];i.length=a}}return n}getCoordinates(){return Ri(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(t){const e=this.flatCoordinates.length/this.stride;return t<0||e<=t?null:new ao(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 s=0,a=t.length;s<a;s+=i){const h=new ao(t.slice(s,s+i),e);n.push(h)}return n}getType(){return"MultiPoint"}intersectsExtent(t){const e=this.flatCoordinates,i=this.stride;for(let n=0,s=e.length;n<s;n+=i){const a=e[n],h=e[n+1];if(ja(t,a,h))return!0}return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ro(this.flatCoordinates,0,t,this.stride),this.changed()}}const gf=lh;function pf(r,t,e,i){const n=[];let s=xe();for(let a=0,h=e.length;a<h;++a){const c=e[a];s=Ga(r,t,c[0],i),n.push((s[0]+s[2])/2,(s[1]+s[3])/2),t=c[c.length-1]}return n}class Go extends gn{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])){const n=t,s=[],a=[];for(let h=0,c=n.length;h<c;++h){const d=n[h],f=s.length,p=d.getEnds();for(let m=0,y=p.length;m<y;++m)p[m]+=f;Ye(s,d.getFlatCoordinates()),a.push(p)}e=n.length===0?this.getLayout():n[0].getLayout(),t=s,i=a}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;Ye(this.flatCoordinates,t.getFlatCoordinates()),e=t.getEnds().slice();for(let n=0,s=e.length;n<s;++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 Go(this.flatCoordinates.slice(),this.layout,e);return i.applyProperties(this),i}closestPointXY(t,e,i,n){return n<ln(this.getExtent(),t,e)?n:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(iy(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ny(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,!0,t,e,i,n))}containsXY(t,e){return hy(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t,e)}getArea(){return ay(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(t){let e;return t!==void 0?(e=this.getOrientedFlatCoordinates().slice(),gl(e,0,this.endss_,this.stride,t)):e=this.flatCoordinates,ll(e,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const t=pf(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=Ru(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new gf(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;Fu(t,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=gl(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],i=[];return e.length=oy(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(t),e,0,i),new Go(e,"XY",i)}getPolygon(t){if(t<0||this.endss_.length<=t)return null;let e;if(t===0)e=0;else{const s=this.endss_[t-1];e=s[s.length-1]}const i=this.endss_[t].slice(),n=i[i.length-1];if(e!==0)for(let s=0,a=i.length;s<a;++s)i[s]-=e;return new Oi(this.flatCoordinates.slice(e,n),this.layout,i)}getPolygons(){const t=this.layout,e=this.flatCoordinates,i=this.endss_,n=[];let s=0;for(let a=0,h=i.length;a<h;++a){const c=i[a].slice(),d=c[c.length-1];if(s!==0)for(let p=0,m=c.length;p<m;++p)c[p]-=s;const f=new Oi(e.slice(s,d),t,c);n.push(f),s=d}return n}getType(){return"MultiPolygon"}intersectsExtent(t){return uy(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,3),this.flatCoordinates||(this.flatCoordinates=[]);const i=Du(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 LA=Go,mf=Wt();class rr{constructor(t,e,i,n,s,a){this.styleFunction,this.extent_,this.id_=a,this.type_=t,this.flatCoordinates_=e,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=i,this.properties_=s,this.squaredTolerance_,this.stride_=n,this.simplifiedGeometry_}get(t){return this.properties_[t]}getExtent(){return this.extent_||(this.extent_=this.type_==="Point"?Kc(this.flatCoordinates_):Ga(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const t=Ii(this.getExtent());this.flatInteriorPoints_=ul(this.flatCoordinates_,0,this.ends_,2,t,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const t=fy(this.flatCoordinates_,this.ends_),e=pf(this.flatCoordinates_,0,t,2);this.flatInteriorPoints_=Ru(this.flatCoordinates_,0,t,2,e)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=Bo(this.flatCoordinates_,0,this.flatCoordinates_.length,2,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const t=this.flatCoordinates_;let e=0;const i=this.ends_;for(let n=0,s=i.length;n<s;++n){const a=i[n],h=Bo(t,e,a,2,.5);Ye(this.flatMidpoints_,h),e=a}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(t){return this}simplifyTransformed(t,e){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(t){t=Nt(t);const e=t.getExtent(),i=t.getWorldExtent();if(e&&i){const n=Ae(i)/Ae(e);ke(mf,i[0],i[3],n,-n,0,0,0),ki(this.flatCoordinates_,0,this.flatCoordinates_.length,2,mf,this.flatCoordinates_)}}applyTransform(t){t(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){return new rr(this.type_,this.flatCoordinates_.slice(),this.ends_.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=Uc((t,e)=>{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const i=this.simplifiedGeometry_.getFlatCoordinates();let n;switch(this.type_){case"LineString":i.length=so(i,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,i,0),n=[i.length];break;case"MultiLineString":n=[],i.length=Pu(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,i,0,n);break;case"Polygon":n=[],i.length=al(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),i,0,n);break}return n&&(this.simplifiedGeometry_=new rr(this.type_,i,n,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}rr.prototype.getFlatCoordinates=rr.prototype.getOrientedFlatCoordinates;const _i=rr;function CA(r,t){return[[-1/0,-1/0,1/0,1/0]]}let MA=!1;function TA(r,t,e,i,n,s,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=MA,h.onload=function(c){if(!h.status||h.status>=200&&h.status<300){const d=t.getType();let f;d=="json"?f=JSON.parse(h.responseText):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?s(t.readFeatures(f,{extent:e,featureProjection:n}),t.readProjection(f)):a()}else a()},h.onerror=a,h.send()}function _f(r,t){return function(e,i,n,s,a){const h=this;TA(r,t,e,i,n,function(c,d){h.addFeatures(c),s!==void 0&&s(c)},a||kn)}}class Hi extends ai{constructor(t,e,i){super(t),this.feature=e,this.features=i}}class bA extends rf{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_=kn,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&&(vt(this.format_,"`format` must be set when `url` is set"),this.loader_=_f(this.url_,this.format_)),this.strategy_=t.strategy!==void 0?t.strategy:CA;const e=t.useSpatialIndex!==void 0?t.useSpatialIndex:!0;this.featuresRtree_=e?new cf:null,this.loadedExtentsRtree_=new cf,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 Ze(n)),n!==void 0&&this.addFeaturesInternal(n),i!==void 0&&this.bindFeaturesCollection_(i)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=gt(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 Hi(oe.ADDFEATURE,t))}setupChangeEvents_(t,e){e instanceof _i||(this.featureChangeKeys_[t]=[mt(e,ut.CHANGE,this.handleFeatureChange_,this),mt(e,Sn.PROPERTYCHANGE,this.handleFeatureChange_,this)])}addToIndex_(t,e){let i=!0;if(e.getId()!==void 0){const n=String(e.getId());if(!(n in this.idIndex_))this.idIndex_[n]=e;else if(e instanceof _i){const s=this.idIndex_[n];s instanceof _i?Array.isArray(s)?s.push(e):this.idIndex_[n]=[s,e]:i=!1}else i=!1}return i&&(vt(!(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 s=0,a=t.length;s<a;s++){const h=t[s],c=gt(h);this.addToIndex_(c,h)&&i.push(h)}for(let s=0,a=i.length;s<a;s++){const h=i[s],c=gt(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(oe.ADDFEATURE))for(let s=0,a=i.length;s<a;s++)this.dispatchEvent(new Hi(oe.ADDFEATURE,i[s]))}bindFeaturesCollection_(t){let e=!1;this.addEventListener(oe.ADDFEATURE,function(i){e||(e=!0,t.push(i.feature),e=!1)}),this.addEventListener(oe.REMOVEFEATURE,function(i){e||(e=!0,t.remove(i.feature),e=!1)}),t.addEventListener(ue.ADD,i=>{e||(e=!0,this.addFeature(i.element),e=!1)}),t.addEventListener(ue.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(Mt);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 Hi(oe.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){const s=n.getGeometry();if(s instanceof _i||s.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){const n=i.getGeometry();if(n instanceof _i||n.intersectsExtent(t)){const s=e(i);if(s)return s}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),on(this.nullGeometryFeatures_)||Ye(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=C_(t,e);return[].concat(...n.map(s=>this.featuresRtree_.getInExtent(s)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const i=t[0],n=t[1];let s=null;const a=[NaN,NaN];let h=1/0;const c=[-1/0,-1/0,1/0,1/0];return e=e||Cr,this.featuresRtree_.forEachInExtent(c,function(d){if(e(d)){const f=d.getGeometry(),p=h;if(h=f instanceof _i?0:f.closestPointXY(i,n,a,h),h<p){s=d;const m=Math.sqrt(h);c[0]=i-m,c[1]=n-m,c[2]=i+m,c[3]=n+m}}}),s}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=gt(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 s=e.getId();if(s!==void 0){const a=s.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 Hi(oe.CHANGEFEATURE,e))}hasFeature(t){const e=t.getId();return e!==void 0?e in this.idIndex_:gt(t)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&on(this.nullGeometryFeatures_):this.featuresCollection_?this.featuresCollection_.getLength()===0:!0}loadFeatures(t,e,i){const n=this.loadedExtentsRtree_,s=this.strategy_(t,e,i);for(let a=0,h=s.length;a<h;++a){const c=s[a];n.forEachInExtent(c,function(f){return hn(f.extent,c)})||(++this.loadingExtentsCount_,this.dispatchEvent(new Hi(oe.FEATURESLOADSTART)),this.loader_.call(this,c,e,i,f=>{--this.loadingExtentsCount_,this.dispatchEvent(new Hi(oe.FEATURESLOADEND,void 0,f))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Hi(oe.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(Fn(n.extent,t))return i=n,!0}),i&&e.remove(i)}removeFeature(t){if(!t)return;const e=gt(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){const e=gt(t),i=this.featureChangeKeys_[e];if(!i)return;i.forEach(Mt),delete this.featureChangeKeys_[e];const n=t.getId();return n!==void 0&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Hi(oe.REMOVEFEATURE,t)),t}removeFromIdIndex_(t){let e=!1;for(const i in this.idIndex_){const n=this.idIndex_[i];if(t instanceof _i&&Array.isArray(n)&&n.includes(t))n.splice(n.indexOf(t),1);else if(this.idIndex_[i]===t){delete this.idIndex_[i],e=!0;break}}return e}setLoader(t){this.loader_=t}setUrl(t){vt(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(_f(t,this.format_))}}const Ho=bA;class DA{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=uf,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let i=e.dataProjection?Nt(e.dataProjection):this.readProjection(t);e.extent&&i&&i.getUnits()==="tile-pixels"&&(i=Nt(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,featureClass:this.featureClass},t)}getType(){return lt()}readFeature(t,e){return lt()}readFeatures(t,e){return lt()}readGeometry(t,e){return lt()}readProjection(t){return lt()}writeFeature(t,e){return lt()}writeFeatures(t,e){return lt()}writeGeometry(t,e){return lt()}}function hh(r,t,e){const i=e?Nt(e.featureProjection):null,n=e?Nt(e.dataProjection):null;let s=r;if(i&&n&&!dn(i,n)){t&&(s=r.clone());const a=t?i:n,h=t?n:i;a.getUnits()==="tile-pixels"?s.transform(a,h):s.applyTransform(Ir(a,h))}if(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};s===r&&(s=r.clone()),s.applyTransform(h)}return s}const PA={Point:ao,LineString:ah,Polygon:Oi,MultiPoint:gf,MultiLineString:EA,MultiPolygon:LA};function IA(r,t,e){return Array.isArray(t[0])?(Fu(r,0,t,e)||(r=r.slice(),gl(r,0,t,e)),r):(fl(r,0,t,e)||(r=r.slice(),ho(r,0,t,e)),r)}function yf(r,t){var s;const e=r.geometry;if(!e)return[];if(Array.isArray(e))return e.map(a=>yf({...r,geometry:a})).flat();const i=e.type==="MultiPolygon"?"Polygon":e.type;if(i==="GeometryCollection"||i==="Circle")throw new Error("Unsupported geometry type: "+i);const n=e.layout.length;return hh(new _i(i,i==="Polygon"?IA(e.flatCoordinates,e.ends,n):e.flatCoordinates,(s=e.ends)==null?void 0:s.flat(),n,r.properties||{},r.id).enableSimplifyTransformed(),!1,t)}function ch(r,t){if(!r)return null;if(Array.isArray(r)){const i=r.map(n=>ch(n,t));return new AA(i)}const e=PA[r.type];return hh(new e(r.flatCoordinates,r.layout,r.ends),!1,t)}class SA extends DA{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Yo(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Yo(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return lt()}readFeaturesFromObject(t,e){return lt()}readGeometry(t,e){return this.readGeometryFromObject(Yo(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return lt()}readProjection(t){return this.readProjectionFromObject(Yo(t))}readProjectionFromObject(t){return lt()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return lt()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return lt()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return lt()}}function Yo(r){if(typeof r=="string"){const t=JSON.parse(r);return t||null}return r!==null?r:null}const kA=SA;class RA extends kA{constructor(t){t=t||{},super(),this.dataProjection=Nt(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=Nt(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),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=uh(i.geometry);if(this.featureClass===_i)return yf({geometry:n,id:i.id,properties:i.properties},e);const s=new uf;return this.geometryName_?s.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in i!==void 0&&s.setGeometryName(i.geometry_name),s.setGeometry(ch(n,e)),"id"in i&&s.setId(i.id),i.properties&&s.setProperties(i.properties,!0),s}readFeaturesFromObject(t,e){const i=t;let n=null;if(i.type==="FeatureCollection"){const s=t;n=[];const a=s.features;for(let h=0,c=a.length;h<c;++h){const d=this.readFeatureFromObject(a[h],e);d&&n.push(d)}}else n=[this.readFeatureFromObject(t,e)];return n.flat()}readGeometryFromObject(t,e){return OA(t,e)}readProjectionFromObject(t){const e=t.crs;let i;if(e)if(e.type=="name")i=Nt(e.properties.name);else if(e.type==="EPSG")i=Nt("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 s=t.getProperties(),a=t.getGeometry();return a&&(i.geometry=dh(a,e),delete s[t.getGeometryName()]),on(s)||(i.properties=s),i}writeFeaturesObject(t,e){e=this.adaptOptions(e);const i=[];for(let n=0,s=t.length;n<s;++n)i.push(this.writeFeatureObject(t[n],e));return{type:"FeatureCollection",features:i}}writeGeometryObject(t,e){return dh(t,this.adaptOptions(e))}}function uh(r,t){if(!r)return null;let e;switch(r.type){case"Point":{e=NA(r);break}case"LineString":{e=FA(r);break}case"Polygon":{e=GA(r);break}case"MultiPoint":{e=jA(r);break}case"MultiLineString":{e=BA(r);break}case"MultiPolygon":{e=UA(r);break}case"GeometryCollection":{e=zA(r);break}default:throw new Error("Unsupported GeoJSON type: "+r.type)}return e}function OA(r,t){const e=uh(r);return ch(e,t)}function zA(r,t){return r.geometries.map(function(i){return uh(i)})}function NA(r){const t=r.coordinates;return{type:"Point",flatCoordinates:t,layout:pn(t.length)}}function FA(r){const t=r.coordinates,e=t.flat();return{type:"LineString",flatCoordinates:e,ends:[e.length],layout:pn(t[0].length)}}function BA(r){const t=r.coordinates,e=t[0][0].length,i=[],n=Sr(i,0,t,e);return{type:"MultiLineString",flatCoordinates:i,ends:n,layout:pn(e)}}function jA(r){const t=r.coordinates;return{type:"MultiPoint",flatCoordinates:t.flat(),layout:pn(t[0].length)}}function UA(r){const t=r.coordinates,e=[],i=t[0][0][0].length,n=Du(e,0,t,i);return{type:"MultiPolygon",flatCoordinates:e,ends:n,layout:pn(i)}}function GA(r){const t=r.coordinates,e=[],i=t[0][0].length,n=Sr(e,0,t,i);return{type:"Polygon",flatCoordinates:e,ends:n,layout:pn(i)}}function dh(r,t){r=hh(r,!0,t);const e=r.getType();let i;switch(e){case"Point":{i=QA(r);break}case"LineString":{i=YA(r);break}case"Polygon":{i=VA(r,t);break}case"MultiPoint":{i=ZA(r);break}case"MultiLineString":{i=WA(r);break}case"MultiPolygon":{i=XA(r,t);break}case"GeometryCollection":{i=HA(r,t);break}case"Circle":{i={type:"GeometryCollection",geometries:[]};break}default:throw new Error("Unsupported geometry type: "+e)}return i}function HA(r,t){return t=Object.assign({},t),delete t.featureProjection,{type:"GeometryCollection",geometries:r.getGeometriesArray().map(function(i){return dh(i,t)})}}function YA(r,t){return{type:"LineString",coordinates:r.getCoordinates()}}function WA(r,t){return{type:"MultiLineString",coordinates:r.getCoordinates()}}function ZA(r,t){return{type:"MultiPoint",coordinates:r.getCoordinates()}}function XA(r,t){let e;return t&&(e=t.rightHanded),{type:"MultiPolygon",coordinates:r.getCoordinates(e)}}function QA(r,t){return{type:"Point",coordinates:r.getCoordinates()}}function VA(r,t){let e;return t&&(e=t.rightHanded),{type:"Polygon",coordinates:r.getCoordinates(e)}}const Wo=RA,is={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},Zo=[is.FILL],Yi=[is.STROKE],An=[is.BEGIN_PATH],vf=[is.CLOSE_PATH],st=is;class KA{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 xf=KA;class qA extends xf{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_,s=this.coordinates;let a=s.length;for(let h=0,c=t.length;h<c;h+=e)n[0]=t[h],n[1]=t[h+1],Qs(i,n)&&(s[a++]=n[0],s[a++]=n[1]);return a}appendFlatLineCoordinates(t,e,i,n,s,a){const h=this.coordinates;let c=h.length;const d=this.getBufferedMaxExtent();a&&(e+=n);let f=t[e],p=t[e+1];const m=this.tmpCoordinate_;let y=!0,v,A,M;for(v=e+n;v<i;v+=n)m[0]=t[v],m[1]=t[v+1],M=Ua(d,m),M!==A?(y&&(h[c++]=f,h[c++]=p,y=!1),h[c++]=m[0],h[c++]=m[1]):M===Yt.INTERSECTING?(h[c++]=m[0],h[c++]=m[1],y=!1):y=!0,f=m[0],p=m[1],A=M;return(s&&y||v===e+n)&&(h[c++]=f,h[c++]=p),c}drawCustomCoordinates_(t,e,i,n,s){for(let a=0,h=i.length;a<h;++a){const c=i[a],d=this.appendFlatLineCoordinates(t,e,c,n,!1,!1);s.push(d),e=c}return e}drawCustom(t,e,i,n){this.beginGeometry(t,e);const s=t.getType(),a=t.getStride(),h=this.coordinates.length;let c,d,f,p,m;switch(s){case"MultiPolygon":c=t.getOrientedFlatCoordinates(),p=[];const y=t.getEndss();m=0;for(let v=0,A=y.length;v<A;++v){const M=[];m=this.drawCustomCoordinates_(c,m,y[v],a,M),p.push(M)}this.instructions.push([st.CUSTOM,h,p,t,i,ll]),this.hitDetectionInstructions.push([st.CUSTOM,h,p,t,n||i,ll]);break;case"Polygon":case"MultiLineString":f=[],c=s=="Polygon"?t.getOrientedFlatCoordinates():t.getFlatCoordinates(),m=this.drawCustomCoordinates_(c,0,t.getEnds(),a,f),this.instructions.push([st.CUSTOM,h,f,t,i,kr]),this.hitDetectionInstructions.push([st.CUSTOM,h,f,t,n||i,kr]);break;case"LineString":case"Circle":c=t.getFlatCoordinates(),d=this.appendFlatLineCoordinates(c,0,c.length,a,!1,!1),this.instructions.push([st.CUSTOM,h,d,t,i,Ri]),this.hitDetectionInstructions.push([st.CUSTOM,h,d,t,n||i,Ri]);break;case"MultiPoint":c=t.getFlatCoordinates(),d=this.appendFlatPointCoordinates(c,a),d>h&&(this.instructions.push([st.CUSTOM,h,d,t,i,Ri]),this.hitDetectionInstructions.push([st.CUSTOM,h,d,t,n||i,Ri]));break;case"Point":c=t.getFlatCoordinates(),this.coordinates.push(c[0],c[1]),d=this.coordinates.length,this.instructions.push([st.CUSTOM,h,d,t,i]),this.hitDetectionInstructions.push([st.CUSTOM,h,d,t,n||i]);break}this.endGeometry(e)}beginGeometry(t,e){this.beginGeometryInstruction1_=[st.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[st.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,s,a=-1;for(e=0;e<i;++e)n=t[e],s=n[0],s==st.END_GEOMETRY?a=e:s==st.BEGIN_GEOMETRY&&(n[2]=e,r_(this.hitDetectionInstructions,a,e),a=-1)}setFillStrokeStyle(t,e){const i=this.state;if(t){const n=t.getColor();i.fillStyle=Xe(n||de)}else i.fillStyle=void 0;if(e){const n=e.getColor();i.strokeStyle=Xe(n||jr);const s=e.getLineCap();i.lineCap=s!==void 0?s:Un;const a=e.getLineDash();i.lineDash=a?a.slice():ci;const h=e.getLineDashOffset();i.lineDashOffset=h||ui;const c=e.getLineJoin();i.lineJoin=c!==void 0?c:Gn;const d=e.getWidth();i.lineWidth=d!==void 0?d:Gr;const f=e.getMiterLimit();i.miterLimit=f!==void 0?f:Br,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=[st.SET_FILL_STYLE,e];return typeof e!="string"&&i.push(!0),i}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[st.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,s=t.lineDash,a=t.lineDashOffset,h=t.lineJoin,c=t.lineWidth,d=t.miterLimit;(t.currentStrokeStyle!=i||t.currentLineCap!=n||s!=t.currentLineDash&&!li(t.currentLineDash,s)||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=s,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=[st.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Vc(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;Xs(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}const ns=qA;class JA extends ns{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(),s=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([st.DRAW_IMAGE,s,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([st.DRAW_IMAGE,s,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(),s=this.coordinates.length,a=this.appendFlatPointCoordinates(i,n);this.instructions.push([st.DRAW_IMAGE,s,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([st.DRAW_IMAGE,s,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(),s=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_=s[0],this.originY_=s[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 $A=JA;class tw extends ns{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinates_(t,e,i,n){const s=this.coordinates.length,a=this.appendFlatLineCoordinates(t,e,i,n,!1,!1),h=[st.MOVE_TO_LINE_TO,s,a];return this.instructions.push(h),this.hitDetectionInstructions.push(h),i}drawLineString(t,e){const i=this.state,n=i.strokeStyle,s=i.lineWidth;if(n===void 0||s===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([st.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui],An);const a=t.getFlatCoordinates(),h=t.getStride();this.drawFlatCoordinates_(a,0,a.length,h),this.hitDetectionInstructions.push(Yi),this.endGeometry(e)}drawMultiLineString(t,e){const i=this.state,n=i.strokeStyle,s=i.lineWidth;if(n===void 0||s===void 0)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([st.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui],An);const a=t.getEnds(),h=t.getFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,p=a.length;f<p;++f)d=this.drawFlatCoordinates_(h,d,a[f],c);this.hitDetectionInstructions.push(Yi),this.endGeometry(e)}finish(){const t=this.state;return t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&this.instructions.push(Yi),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(t){t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&(this.instructions.push(Yi),t.lastStroke=this.coordinates.length),t.lastStroke=0,super.applyStroke(t),this.instructions.push(An)}}const ew=tw;class iw extends ns{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinatess_(t,e,i,n){const s=this.state,a=s.fillStyle!==void 0,h=s.strokeStyle!==void 0,c=i.length;this.instructions.push(An),this.hitDetectionInstructions.push(An);for(let d=0;d<c;++d){const f=i[d],p=this.coordinates.length,m=this.appendFlatLineCoordinates(t,e,f,n,!0,!h),y=[st.MOVE_TO_LINE_TO,p,m];this.instructions.push(y),this.hitDetectionInstructions.push(y),h&&(this.instructions.push(vf),this.hitDetectionInstructions.push(vf)),e=f}return a&&(this.instructions.push(Zo),this.hitDetectionInstructions.push(Zo)),h&&(this.instructions.push(Yi),this.hitDetectionInstructions.push(Yi)),e}drawCircle(t,e){const i=this.state,n=i.fillStyle,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);const a=t.getFlatCoordinates(),h=t.getStride(),c=this.coordinates.length;this.appendFlatLineCoordinates(a,0,a.length,h,!1,!1);const d=[st.CIRCLE,c];this.instructions.push(An,d),this.hitDetectionInstructions.push(An,d),i.fillStyle!==void 0&&(this.instructions.push(Zo),this.hitDetectionInstructions.push(Zo)),i.strokeStyle!==void 0&&(this.instructions.push(Yi),this.hitDetectionInstructions.push(Yi)),this.endGeometry(e)}drawPolygon(t,e){const i=this.state,n=i.fillStyle,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);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,s=i.strokeStyle;if(n===void 0&&s===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e),i.fillStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_FILL_STYLE,de]),i.strokeStyle!==void 0&&this.hitDetectionInstructions.push([st.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,ci,ui]);const a=t.getEndss(),h=t.getOrientedFlatCoordinates(),c=t.getStride();let d=0;for(let f=0,p=a.length;f<p;++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]=mn(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 Af=iw;function nw(r,t,e,i,n){const s=[];let a=e,h=0,c=t.slice(e,2);for(;h<r&&a+n<i;){const[d,f]=c.slice(-2),p=t[a+n],m=t[a+n+1],y=Math.sqrt((p-d)*(p-d)+(m-f)*(m-f));if(h+=y,h>=r){const v=(r-h+y)/y,A=we(d,p,v),M=we(f,m,v);c.push(A,M),s.push(c),c=[A,M],h==r&&(a+=n),h=0}else if(h<r)c.push(t[a+n],t[a+n+1]),a+=n;else{const v=y-h,A=we(d,p,v/y),M=we(f,m,v/y);c.push(A,M),s.push(c),c=[A,M],h=0,a+=n}}return h>0&&s.push(c),s}function rw(r,t,e,i,n){let s=e,a=e,h=0,c=0,d=e,f,p,m,y,v,A,M,b,w,E;for(p=e;p<i;p+=n){const C=t[p],D=t[p+1];v!==void 0&&(w=C-v,E=D-A,y=Math.sqrt(w*w+E*E),M!==void 0&&(c+=m,f=Math.acos((M*w+b*E)/(m*y)),f>r&&(c>h&&(h=c,s=d,a=p),c=0,d=p-n)),m=y,M=w,b=E),v=C,A=D}return c+=y,c>h?[d,p]:[s,a]}const Xo={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1};class sw extends ns{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[de]={fillStyle:de},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_,s=this.textState_;if(this.text_===""||!s||!i&&!n)return;const a=this.coordinates;let h=a.length;const c=t.getType();let d=null,f=t.getStride();if(s.placement==="line"&&(c=="LineString"||c=="MultiLineString"||c=="Polygon"||c=="MultiPolygon")){if(!ce(this.getBufferedMaxExtent(),t.getExtent()))return;let p;if(d=t.getFlatCoordinates(),c=="LineString")p=[d.length];else if(c=="MultiLineString")p=t.getEnds();else if(c=="Polygon")p=t.getEnds().slice(0,1);else if(c=="MultiPolygon"){const A=t.getEndss();p=[];for(let M=0,b=A.length;M<b;++M)p.push(A[M][0])}this.beginGeometry(t,e);const m=s.repeat,y=m?void 0:s.textAlign;let v=0;for(let A=0,M=p.length;A<M;++A){let b;m?b=nw(m*this.resolution,d,v,p[A],f):b=[d.slice(v,p[A])];for(let w=0,E=b.length;w<E;++w){const C=b[w];let D=0,P=C.length;if(y==null){const k=rw(s.maxAngle,C,0,C.length,2);D=k[0],P=k[1]}for(let k=D;k<P;k+=f)a.push(C[k],C[k+1]);const O=a.length;v=p[A],this.drawChars_(h,O),h=O}}this.endGeometry(e)}else{let p=s.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(),s.overflow||p.push(d[2]/this.resolution),f=3;break;case"MultiPolygon":const b=t.getFlatInteriorPoints();d=[];for(let w=0,E=b.length;w<E;w+=3)s.overflow||p.push(b[w+2]/this.resolution),d.push(b[w],b[w+1]);if(d.length===0)return;f=2;break}const m=this.appendFlatPointCoordinates(d,f);if(m===h)return;if(p&&(m-h)/2!==d.length/f){let b=h/2;p=p.filter((w,E)=>{const C=a[(b+E)*2]===d[E*f]&&a[(b+E)*2+1]===d[E*f+1];return C||--b,C})}this.saveTextStates_(),(s.backgroundFill||s.backgroundStroke)&&(this.setFillStrokeStyle(s.backgroundFill,s.backgroundStroke),s.backgroundFill&&this.updateFillStyle(this.state,this.createFill),s.backgroundStroke&&(this.updateStrokeStyle(this.state,this.applyStroke),this.hitDetectionInstructions.push(this.createStroke(this.state)))),this.beginGeometry(t,e);let y=s.padding;if(y!=yn&&(s.scale[0]<0||s.scale[1]<0)){let b=s.padding[0],w=s.padding[1],E=s.padding[2],C=s.padding[3];s.scale[0]<0&&(w=-w,C=-C),s.scale[1]<0&&(b=-b,E=-E),y=[b,w,E,C]}const v=this.pixelRatio;this.instructions.push([st.DRAW_IMAGE,h,m,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,void 0,this.declutterImageWithText_,y==yn?yn:y.map(function(b){return b*v}),!!s.backgroundFill,!!s.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]);const A=1/v,M=this.state.fillStyle;s.backgroundFill&&(this.state.fillStyle=de,this.hitDetectionInstructions.push(this.createFill(this.state))),this.hitDetectionInstructions.push([st.DRAW_IMAGE,h,m,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[A,A],NaN,void 0,this.declutterImageWithText_,y,!!s.backgroundFill,!!s.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?de:this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]),s.backgroundFill&&(this.state.fillStyle=M,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 s=this.textKey_;s in this.textStates||(this.textStates[s]={font:e.font,textAlign:e.textAlign||Ur,justify:e.justify,textBaseline:e.textBaseline||xo,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_,s=this.strokeKey_,a=this.textKey_,h=this.fillKey_;this.saveTextStates_();const c=this.pixelRatio,d=Xo[n.textBaseline],f=this.textOffsetY_*c,p=this.text_,m=i?i.lineWidth*Math.abs(n.scale[0])/2:0;this.instructions.push([st.DRAW_CHARS,t,e,d,n.overflow,h,n.maxAngle,c,f,s,m*c,p,a,1]),this.hitDetectionInstructions.push([st.DRAW_CHARS,t,e,d,n.overflow,h&&de,n.maxAngle,c,f,s,m*c,p,a,1/c])}setTextStyle(t,e){let i,n,s;if(!t)this.text_="";else{const a=t.getFill();a?(n=this.textFillState_,n||(n={},this.textFillState_=n),n.fillStyle=Xe(a.getColor()||de)):(n=null,this.textFillState_=n);const h=t.getStroke();if(!h)s=null,this.textStrokeState_=s;else{s=this.textStrokeState_,s||(s={},this.textStrokeState_=s);const v=h.getLineDash(),A=h.getLineDashOffset(),M=h.getWidth(),b=h.getMiterLimit();s.lineCap=h.getLineCap()||Un,s.lineDash=v?v.slice():ci,s.lineDashOffset=A===void 0?ui:A,s.lineJoin=h.getLineJoin()||Gn,s.lineWidth=M===void 0?Gr:M,s.miterLimit=b===void 0?Br:b,s.strokeStyle=Xe(h.getColor()||jr)}i=this.textState_;const c=t.getFont()||ed;Fy(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()||xo,i.backgroundFill=t.getBackgroundFill(),i.backgroundStroke=t.getBackgroundStroke(),i.padding=t.getPadding()||yn,i.scale=d===void 0?[1,1]:d;const f=t.getOffsetX(),p=t.getOffsetY(),m=t.getRotateWithView(),y=t.getRotation();this.text_=t.getText()||"",this.textOffsetX_=f===void 0?0:f,this.textOffsetY_=p===void 0?0:p,this.textRotateWithView_=m===void 0?!1:m,this.textRotation_=y===void 0?0:y,this.strokeKey_=s?(typeof s.strokeStyle=="string"?s.strokeStyle:gt(s.strokeStyle))+s.lineCap+s.lineDashOffset+"|"+s.lineWidth+s.lineJoin+s.miterLimit+"["+s.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:"|"+gt(n.fillStyle):""}this.declutterImageWithText_=e}}const ow={Circle:Af,Default:ns,Image:$A,LineString:ew,Polygon:Af,Text:sw};class aw{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 s=i[n].finish();t[e][n]=s}}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 s=n[e];if(s===void 0){const a=ow[e];s=new a(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),n[e]=s}return s}}const wf=aw;function lw(r,t,e,i,n,s,a,h,c,d,f,p){let m=r[t],y=r[t+1],v=0,A=0,M=0,b=0;function w(){v=m,A=y,t+=i,m=r[t],y=r[t+1],b+=M,M=Math.sqrt((m-v)*(m-v)+(y-A)*(y-A))}do w();while(t<e-i&&b+M<s);let E=M===0?0:(s-b)/M;const C=we(v,m,E),D=we(A,y,E),P=t-i,O=b,k=s+h*c(d,n,f);for(;t<e-i&&b+M<k;)w();E=M===0?0:(k-b)/M;const N=we(v,m,E),H=we(A,y,E);let U;if(p){const W=[C,D,N,H];Lu(W,0,4,2,p,W,W),U=W[0]>W[2]}else U=C>N;const Q=Math.PI,tt=[],at=P+i===t;t=P,M=0,b=O,m=r[t],y=r[t+1];let Y;if(at){w(),Y=Math.atan2(y-A,m-v),U&&(Y+=Y>0?-Q:Q);const W=(N+C)/2,G=(H+D)/2;return tt[0]=[W,G,(k-s)/2,Y,n],tt}n=n.replace(/\n/g," ");for(let W=0,G=n.length;W<G;){w();let F=Math.atan2(y-A,m-v);if(U&&(F+=F>0?-Q:Q),Y!==void 0){let q=F-Y;if(q+=q>Q?-2*Q:q<-Q?2*Q:0,Math.abs(q)>a)return null}Y=F;const nt=W;let Z=0;for(;W<G;++W){const q=U?G-W-1:W,et=h*c(d,n[q],f);if(t+i<e&&b+M<s+Z+et/2)break;Z+=et}if(W===nt)continue;const rt=U?n.substring(G-nt,G-W):n.substring(nt,W);E=M===0?0:(s+Z/2-b)/M;const z=we(v,m,E),ft=we(A,y,E);tt.push([z,ft,Z/2,F,rt]),s+=Z}return tt}const sr=xe(),Wi=[],yi=[],vi=[],Zi=[];function Ef(r){return r[3].declutterBox}const Lf=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 fh(r,t){return t==="start"?t=Lf.test(r)?"right":"left":t==="end"&&(t=Lf.test(r)?"left":"right"),Xo[t]}function hw(r,t,e){return e>0&&r.push(`
465
+ `,""),r.push(t,""),r}class cw{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_=Wt(),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 s=t+e+i+n;if(this.labels_[s])return this.labels_[s];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],p=Array.isArray(t),m=c.justify?Xo[c.justify]:fh(Array.isArray(t)?t[0]:t,c.textAlign||Ur),y=n&&a.lineWidth?a.lineWidth:0,v=p?t:t.split(`
466
+ `).reduce(hw,[]),{width:A,height:M,widths:b,heights:w,lineWidths:E}=jy(c,v),C=A+y,D=[],P=(C+2)*f[0],O=(M+y)*f[1],k={width:P<0?Math.floor(P):Math.ceil(P),height:O<0?Math.floor(O):Math.ceil(O),contextInstructions:D};(f[0]!=1||f[1]!=1)&&D.push("scale",f),n&&(D.push("strokeStyle",a.strokeStyle),D.push("lineWidth",y),D.push("lineCap",a.lineCap),D.push("lineJoin",a.lineJoin),D.push("miterLimit",a.miterLimit),D.push("setLineDash",[a.lineDash]),D.push("lineDashOffset",a.lineDashOffset)),i&&D.push("fillStyle",h.fillStyle),D.push("textBaseline","middle"),D.push("textAlign","center");const N=.5-m;let H=m*C+N*y;const U=[],Q=[];let tt=0,at=0,Y=0,W=0,G;for(let F=0,nt=v.length;F<nt;F+=2){const Z=v[F];if(Z===`
467
+ `){at+=tt,tt=0,H=m*C+N*y,++W;continue}const rt=v[F+1]||c.font;rt!==G&&(n&&U.push("font",rt),i&&Q.push("font",rt),G=rt),tt=Math.max(tt,w[Y]);const z=[Z,H+N*b[Y]+m*(b[Y]-E[W]),.5*(y+tt)+at];H+=b[Y],n&&U.push("strokeText",z),i&&Q.push("fillText",z),++Y}return Array.prototype.push.apply(D,U),Array.prototype.push.apply(D,Q),this.labels_[s]=k,k}replayTextBackground_(t,e,i,n,s,a,h){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,i),t.lineTo.apply(t,n),t.lineTo.apply(t,s),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,s,a,h,c,d,f,p,m,y,v,A,M){h*=m[0],c*=m[1];let b=i-h,w=n-c;const E=s+d>t?t-d:s,C=a+f>e?e-f:a,D=v[3]+E*m[0]+v[1],P=v[0]+C*m[1]+v[2],O=b-v[3],k=w-v[0];(A||p!==0)&&(Wi[0]=O,Zi[0]=O,Wi[1]=k,yi[1]=k,yi[0]=O+D,vi[0]=yi[0],vi[1]=k+P,Zi[1]=vi[1]);let N;return p!==0?(N=ke(Wt(),i,n,1,1,p,-i,-n),Ft(N,Wi),Ft(N,yi),Ft(N,vi),Ft(N,Zi),Pi(Math.min(Wi[0],yi[0],vi[0],Zi[0]),Math.min(Wi[1],yi[1],vi[1],Zi[1]),Math.max(Wi[0],yi[0],vi[0],Zi[0]),Math.max(Wi[1],yi[1],vi[1],Zi[1]),sr)):Pi(Math.min(O,O+D),Math.min(k,k+P),Math.max(O,O+D),Math.max(k,k+P),sr),y&&(b=Math.round(b),w=Math.round(w)),{drawImageX:b,drawImageY:w,drawImageW:E,drawImageH:C,originX:d,originY:f,declutterBox:{minX:sr[0],minY:sr[1],maxX:sr[2],maxY:sr[3],value:M},canvasTransform:N,scale:m}}replayImageOrLabel_(t,e,i,n,s,a,h){const c=!!(a||h),d=n.declutterBox,f=t.canvas,p=h?h[2]*n.scale[0]/2:0;return d.minX-p<=f.width/e&&d.maxX+p>=0&&d.minY-p<=f.height/e&&d.maxY+p>=0&&(c&&this.replayTextBackground_(t,Wi,yi,vi,Zi,a,h),Uy(t,n.canvasTransform,s,i,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0}fill_(t){if(this.alignFill_){const e=Ft(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 s=this.textStates[e],a=this.createLabel(t,e,n,i),h=this.strokeStates[i],c=this.pixelRatio,d=fh(Array.isArray(t)?t[0]:t,s.textAlign||Ur),f=Xo[s.textBaseline||xo],p=h&&h.lineWidth?h.lineWidth:0,m=a.width/c-2*s.scale[0],y=d*m+2*(.5-d)*p,v=f*a.height/c+2*(.5-f)*p;return{label:a,anchorX:y,anchorY:v}}execute_(t,e,i,n,s,a,h,c){let d;this.pixelCoordinates_&&li(i,this.renderedTransform_)?d=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),d=ki(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),Q_(this.renderedTransform_,i));let f=0;const p=n.length;let m=0,y,v,A,M,b,w,E,C,D,P,O,k,N=0,H=0,U=null,Q=null;const tt=this.coordinateCache_,at=this.viewRotation_,Y=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,W={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:at},G=this.instructions!=n||this.overlaps?0:200;let F,nt,Z,rt;for(;f<p;){const z=n[f];switch(z[0]){case st.BEGIN_GEOMETRY:F=z[1],rt=z[3],F.getGeometry()?h!==void 0&&!ce(h,rt.getExtent())?f=z[2]+1:++f:f=z[2];break;case st.BEGIN_PATH:N>G&&(this.fill_(t),N=0),H>G&&(t.stroke(),H=0),!N&&!H&&(t.beginPath(),M=NaN,b=NaN),++f;break;case st.CIRCLE:m=z[1];const q=d[m],et=d[m+1],ct=d[m+2],Pt=d[m+3],Xt=ct-q,Me=Pt-et,qe=Math.sqrt(Xt*Xt+Me*Me);t.moveTo(q+qe,et),t.arc(q,et,qe,0,2*Math.PI,!0),++f;break;case st.CLOSE_PATH:t.closePath(),++f;break;case st.CUSTOM:m=z[1],y=z[2];const Xi=z[3],Te=z[4],Qi=z.length==6?z[5]:void 0;W.geometry=Xi,W.feature=F,f in tt||(tt[f]=[]);const Je=tt[f];Qi?Qi(d,m,y,2,Je):(Je[0]=d[m],Je[1]=d[m+1],Je.length=2),Te(Je,W),++f;break;case st.DRAW_IMAGE:m=z[1],y=z[2],C=z[3],v=z[4],A=z[5];let Vi=z[6];const ze=z[7],Ki=z[8],Ai=z[9],or=z[10];let wi=z[11];const wn=z[12];let Kt=z[13];const ae=z[14],Le=z[15];if(!C&&z.length>=20){D=z[19],P=z[20],O=z[21],k=z[22];const le=this.drawLabelWithPointPlacement_(D,P,O,k);C=le.label,z[3]=C;const en=z[23];v=(le.anchorX-en)*this.pixelRatio,z[4]=v;const pe=z[24];A=(le.anchorY-pe)*this.pixelRatio,z[5]=A,Vi=C.height,z[6]=Vi,Kt=C.width,z[13]=Kt}let Ne;z.length>25&&(Ne=z[25]);let $e,ti,Fe;z.length>17?($e=z[16],ti=z[17],Fe=z[18]):($e=yn,ti=!1,Fe=!1),or&&Y?wi+=at:!or&&!Y&&(wi-=at);let qi=0;for(;m<y;m+=2){if(Ne&&Ne[qi++]<Kt/this.pixelRatio)continue;const le=this.calculateImageOrLabelDimensions_(C.width,C.height,d[m],d[m+1],Kt,Vi,v,A,Ki,Ai,wi,wn,s,$e,ti||Fe,F),en=[t,e,C,le,ze,ti?U:null,Fe?Q:null];if(c){if(ae==="none")continue;if(ae==="obstacle"){c.insert(le.declutterBox);continue}else{let pe,Be;if(Le){const qt=y-m;if(!Le[qt]){Le[qt]=en;continue}if(pe=Le[qt],delete Le[qt],Be=Ef(pe),c.collides(Be))continue}if(c.collides(le.declutterBox))continue;pe&&(c.insert(Be),this.replayImageOrLabel_.apply(this,pe)),c.insert(le.declutterBox)}}this.replayImageOrLabel_.apply(this,en)}++f;break;case st.DRAW_CHARS:const En=z[1],Qt=z[2],rs=z[3],Qo=z[4];k=z[5];const ss=z[6],os=z[7],Vo=z[8];O=z[9];const Ei=z[10];D=z[11],P=z[12];const Ko=[z[13],z[13]],as=this.textStates[P],Ji=as.font,$i=[as.scale[0]*os,as.scale[1]*os];let tn;Ji in this.widths_?tn=this.widths_[Ji]:(tn={},this.widths_[Ji]=tn);const qo=ff(d,En,Qt,2),Jo=Math.abs($i[0])*nd(Ji,D,tn);if(Qo||Jo<=qo){const le=this.textStates[P].textAlign,en=(qo-Jo)*fh(D,le),pe=lw(d,En,Qt,2,D,en,ss,Math.abs($i[0]),nd,Ji,tn,Y?0:this.viewRotation_);t:if(pe){const Be=[];let qt,ar,lr,se,me;if(O)for(qt=0,ar=pe.length;qt<ar;++qt){me=pe[qt],lr=me[4],se=this.createLabel(lr,P,"",O),v=me[2]+($i[0]<0?-Ei:Ei),A=rs*se.height+(.5-rs)*2*Ei*$i[1]/$i[0]-Vo;const Bt=this.calculateImageOrLabelDimensions_(se.width,se.height,me[0],me[1],se.width,se.height,v,A,0,0,me[3],Ko,!1,yn,!1,F);if(c&&c.collides(Bt.declutterBox))break t;Be.push([t,e,se,Bt,1,null,null])}if(k)for(qt=0,ar=pe.length;qt<ar;++qt){me=pe[qt],lr=me[4],se=this.createLabel(lr,P,k,""),v=me[2],A=rs*se.height-Vo;const Bt=this.calculateImageOrLabelDimensions_(se.width,se.height,me[0],me[1],se.width,se.height,v,A,0,0,me[3],Ko,!1,yn,!1,F);if(c&&c.collides(Bt.declutterBox))break t;Be.push([t,e,se,Bt,1,null,null])}c&&c.load(Be.map(Ef));for(let Bt=0,J=Be.length;Bt<J;++Bt)this.replayImageOrLabel_.apply(this,Be[Bt])}}++f;break;case st.END_GEOMETRY:if(a!==void 0){F=z[1];const le=a(F,rt);if(le)return le}++f;break;case st.FILL:G?N++:this.fill_(t),++f;break;case st.MOVE_TO_LINE_TO:for(m=z[1],y=z[2],nt=d[m],Z=d[m+1],w=nt+.5|0,E=Z+.5|0,(w!==M||E!==b)&&(t.moveTo(nt,Z),M=w,b=E),m+=2;m<y;m+=2)nt=d[m],Z=d[m+1],w=nt+.5|0,E=Z+.5|0,(m==y-2||w!==M||E!==b)&&(t.lineTo(nt,Z),M=w,b=E);++f;break;case st.SET_FILL_STYLE:U=z,this.alignFill_=z[2],N&&(this.fill_(t),N=0,H&&(t.stroke(),H=0)),t.fillStyle=z[1],++f;break;case st.SET_STROKE_STYLE:Q=z,H&&(t.stroke(),H=0),this.setStrokeStyle_(t,z),++f;break;case st.STROKE:G?H++:t.stroke(),++f;break;default:++f;break}}N&&this.fill_(t),H&&t.stroke()}execute(t,e,i,n,s,a){this.viewRotation_=n,this.execute_(t,e,i,this.instructions,s,void 0,void 0,a)}executeHitDetection(t,e,i,n,s){return this.viewRotation_=i,this.execute_(t,1,e,this.hitDetectionInstructions,!0,n,s)}}const uw=cw,gh=["Polygon","Circle","LineString","Image","Text","Default"];class dw{constructor(t,e,i,n,s,a){this.maxExtent_=t,this.overlaps_=n,this.pixelRatio_=i,this.resolution_=e,this.renderBuffer_=a,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=Wt(),this.createExecutors_(s)}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 s in n){const a=n[s];i[s]=new uw(this.resolution_,this.pixelRatio_,this.overlaps_,a)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const i=this.executorsByZIndex_[e];for(let n=0,s=t.length;n<s;++n)if(t[n]in i)return!0}return!1}forEachFeatureAtCoordinate(t,e,i,n,s,a){n=Math.round(n);const h=n*2+1,c=ke(this.hitDetectionTransform_,n+.5,n+.5,1/e,-1/e,-i,-t[0],-t[1]),d=!this.hitDetectionContext_;d&&(this.hitDetectionContext_=ee(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 p;this.renderBuffer_!==void 0&&(p=xe(),Dr(p,t),Xs(p,e*(this.renderBuffer_+n),p));const m=fw(n);let y;function v(D,P){const O=f.getImageData(0,0,h,h).data;for(let k=0,N=m.length;k<N;k++)if(O[m[k]]>0){if(!a||y!=="Image"&&y!=="Text"||a.includes(D)){const H=(m[k]-3)/4,U=n-H%h,Q=n-(H/h|0),tt=s(D,P,U*U+Q*Q);if(tt)return tt}f.clearRect(0,0,h,h);break}}const A=Object.keys(this.executorsByZIndex_).map(Number);A.sort(Di);let M,b,w,E,C;for(M=A.length-1;M>=0;--M){const D=A[M].toString();for(w=this.executorsByZIndex_[D],b=gh.length-1;b>=0;--b)if(y=gh[b],E=w[y],E!==void 0&&(C=E.executeHitDetection(f,c,i,v,p),C))return C}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const i=e[0],n=e[1],s=e[2],a=e[3],h=[i,n,i,a,s,a,s,n];return ki(h,0,8,2,t,h),h}isEmpty(){return on(this.executorsByZIndex_)}execute(t,e,i,n,s,a,h){const c=Object.keys(this.executorsByZIndex_).map(Number);c.sort(Di),this.maxExtent_&&(t.save(),this.clip(t,i)),a=a||gh;let d,f,p,m,y,v;for(h&&c.reverse(),d=0,f=c.length;d<f;++d){const A=c[d].toString();for(y=this.executorsByZIndex_[A],p=0,m=a.length;p<m;++p){const M=a[p];v=y[M],v!==void 0&&v.execute(t,e,i,n,s,h)}}this.maxExtent_&&t.restore()}}const ph={};function fw(r){if(ph[r]!==void 0)return ph[r];const t=r*2+1,e=r*r,i=new Array(e+1);for(let s=0;s<=r;++s)for(let a=0;a<=r;++a){const h=s*s+a*a;if(h>e)break;let c=i[h];c||(c=[],i[h]=c),c.push(((r+s)*t+(r+a))*4+3),s>0&&c.push(((r-s)*t+(r+a))*4+3),a>0&&(c.push(((r+s)*t+(r-a))*4+3),s>0&&c.push(((r-s)*t+(r-a))*4+3))}const n=[];for(let s=0,a=i.length;s<a;++s)i[s]&&n.push(...i[s]);return ph[r]=n,n}const Cf=dw;class gw extends xf{constructor(t,e,i,n,s,a,h){super(),this.context_=t,this.pixelRatio_=e,this.extent_=i,this.transform_=n,this.transformRotation_=n?Za(Math.atan2(n[1],n[0]),10):0,this.viewRotation_=s,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_=Wt()}drawImages_(t,e,i,n){if(!this.image_)return;const s=ki(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,p=s.length;f<p;f+=2){const m=s[f]-this.imageAnchorX_,y=s[f+1]-this.imageAnchorY_;if(d!==0||this.imageScale_[0]!=1||this.imageScale_[1]!=1){const v=m+this.imageAnchorX_,A=y+this.imageAnchorY_;ke(h,v,A,1,1,d,-v,-A),a.save(),a.transform.apply(a,h),a.translate(v,A),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,y,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 s=ki(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=s[e]+this.textOffsetX_,d=s[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,s){const a=this.context_,h=ki(t,e,i,n,this.transform_,this.pixelCoordinates_);a.moveTo(h[0],h[1]);let c=h.length;s&&(c-=2);for(let d=2;d<c;d+=2)a.lineTo(h[d],h[d+1]);return s&&a.closePath(),i}drawRings_(t,e,i,n){for(let s=0,a=i.length;s<a;++s)e=this.moveToLineTo_(t,e,i[s],n,!0);return e}drawCircle(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!ce(this.extent_,t.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=ey(t,this.transform_,this.pixelCoordinates_),i=e[2]-e[0],n=e[3]-e[1],s=Math.sqrt(i*i+n*n),a=this.context_;a.beginPath(),a.arc(e[0],e[1],s,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_)),!!ce(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(ce(this.extent_,e)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const i=this.context_,n=t.getFlatCoordinates();let s=0;const a=t.getEnds(),h=t.getStride();i.beginPath();for(let c=0,d=a.length;c<d;++c)s=this.moveToLineTo_(n,s,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_)),!!ce(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_)),!!ce(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 s=t.getEndss(),a=t.getStride();e.beginPath();for(let h=0,c=s.length;h<c;++h){const d=s[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),li(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:Ur;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:Xe(i||de)}}if(!e)this.strokeState_=null;else{const i=e.getColor(),n=e.getLineCap(),s=e.getLineDash(),a=e.getLineDashOffset(),h=e.getLineJoin(),c=e.getWidth(),d=e.getMiterLimit(),f=s||ci;this.strokeState_={lineCap:n!==void 0?n:Un,lineDash:this.pixelRatio_===1?f:f.map(p=>p*this.pixelRatio_),lineDashOffset:(a||ui)*this.pixelRatio_,lineJoin:h!==void 0?h:Gn,lineWidth:(c!==void 0?c:Gr)*this.pixelRatio_,miterLimit:d!==void 0?d:Br,strokeStyle:Xe(i||jr)}}}setImageStyle(t){let e;if(!t||!(e=t.getSize())){this.image_=null;return}const i=t.getPixelRatio(this.pixelRatio_),n=t.getAnchor(),s=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_=s[0],this.imageOriginY_=s[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 y=e.getColor();this.textFillState_={fillStyle:Xe(y||de)}}const i=t.getStroke();if(!i)this.textStrokeState_=null;else{const y=i.getColor(),v=i.getLineCap(),A=i.getLineDash(),M=i.getLineDashOffset(),b=i.getLineJoin(),w=i.getWidth(),E=i.getMiterLimit();this.textStrokeState_={lineCap:v!==void 0?v:Un,lineDash:A||ci,lineDashOffset:M||ui,lineJoin:b!==void 0?b:Gn,lineWidth:w!==void 0?w:Gr,miterLimit:E!==void 0?E:Br,strokeStyle:Xe(y||jr)}}const n=t.getFont(),s=t.getOffsetX(),a=t.getOffsetY(),h=t.getRotateWithView(),c=t.getRotation(),d=t.getScaleArray(),f=t.getText(),p=t.getTextAlign(),m=t.getTextBaseline();this.textState_={font:n!==void 0?n:ed,textAlign:p!==void 0?p:Ur,textBaseline:m!==void 0?m:xo},this.text_=f!==void 0?Array.isArray(f)?f.reduce((y,v,A)=>y+=A%2?" ":v,""):f:"",this.textOffsetX_=s!==void 0?this.pixelRatio_*s: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 pw=gw,Ke=.5;function mw(r,t,e,i,n,s,a){const h=r[0]*Ke,c=r[1]*Ke,d=ee(h,c);d.imageSmoothingEnabled=!1;const f=d.canvas,p=new pw(d,Ke,n,null,a),m=e.length,y=Math.floor((256*256*256-1)/m),v={};for(let M=1;M<=m;++M){const b=e[M-1],w=b.getStyleFunction()||i;if(!w)continue;let E=w(b,s);if(!E)continue;Array.isArray(E)||(E=[E]);const D=(M*y).toString(16).padStart(7,"#00000");for(let P=0,O=E.length;P<O;++P){const k=E[P],N=k.getGeometryFunction()(b);if(!N||!ce(n,N.getExtent()))continue;const H=k.clone(),U=H.getFill();U&&U.setColor(D);const Q=H.getStroke();Q&&(Q.setColor(D),Q.setLineDash(null)),H.setText(void 0);const tt=k.getImage();if(tt){const G=tt.getImageSize();if(!G)continue;const F=ee(G[0],G[1],void 0,{alpha:!1}),nt=F.canvas;F.fillStyle=D,F.fillRect(0,0,nt.width,nt.height),H.setImage(new Ul({img:nt,anchor:tt.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:tt.getOrigin(),opacity:1,size:tt.getSize(),scale:tt.getScale(),rotation:tt.getRotation(),rotateWithView:tt.getRotateWithView()}))}const at=H.getZIndex()||0;let Y=v[at];Y||(Y={},v[at]=Y,Y.Polygon=[],Y.Circle=[],Y.LineString=[],Y.Point=[]);const W=N.getType();if(W==="GeometryCollection"){const G=N.getGeometriesArrayRecursive();for(let F=0,nt=G.length;F<nt;++F){const Z=G[F];Y[Z.getType().replace("Multi","")].push(Z,H)}}else Y[W.replace("Multi","")].push(N,H)}}const A=Object.keys(v).map(Number).sort(Di);for(let M=0,b=A.length;M<b;++M){const w=v[A[M]];for(const E in w){const C=w[E];for(let D=0,P=C.length;D<P;D+=2){p.setStyle(C[D+1]);for(let O=0,k=t.length;O<k;++O)p.setTransform(t[O]),p.drawGeometry(C[D])}}}return d.getImageData(0,0,f.width,f.height)}function _w(r,t,e){const i=[];if(e){const n=Math.floor(Math.round(r[0])*Ke),s=Math.floor(Math.round(r[1])*Ke),a=(Rt(n,0,e.width-1)+Rt(s,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),p=Math.floor((256*256*256-1)/t.length);f&&f%p===0&&i.push(t[f/p-1])}return i}const yw=.5,Mf={Point:Tw,LineString:Lw,Polygon:Dw,MultiPoint:bw,MultiLineString:Cw,MultiPolygon:Mw,GeometryCollection:Ew,Circle:Aw};function vw(r,t){return parseInt(gt(r),10)-parseInt(gt(t),10)}function xw(r,t){const e=mh(r,t);return e*e}function mh(r,t){return yw*r/t}function Aw(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(s||a){const c=r.getBuilder(e.getZIndex(),"Circle");c.setFillStrokeStyle(s,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 Tf(r,t,e,i,n,s,a){let h=!1;const c=e.getImage();if(c){const d=c.getImageState();d==bt.LOADED||d==bt.ERROR?c.unlistenImageChange(n):(d==bt.IDLE&&c.load(),c.listenImageChange(n),h=!0)}return ww(r,t,e,i,s,a),h}function ww(r,t,e,i,n,s){const a=e.getGeometryFunction()(t);if(!a)return;const h=a.simplifyTransformed(i,n);if(e.getRenderer())bf(r,h,e,t);else{const d=Mf[h.getType()];d(r,h,e,t,s)}}function bf(r,t,e,i){if(t.getType()=="GeometryCollection"){const s=t.getGeometries();for(let a=0,h=s.length;a<h;++a)bf(r,s[a],e,i);return}r.getBuilder(e.getZIndex(),"Default").drawCustom(t,i,e.getRenderer(),e.getHitDetectionRenderer())}function Ew(r,t,e,i,n){const s=t.getGeometriesArray();let a,h;for(a=0,h=s.length;a<h;++a){const c=Mf[s[a].getType()];c(r,s[a],e,i,n)}}function Lw(r,t,e,i,n){const s=e.getStroke();if(s){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,s),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 Cw(r,t,e,i,n){const s=e.getStroke();if(s){const h=r.getBuilder(e.getZIndex(),"LineString");h.setFillStrokeStyle(null,s),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 Mw(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(a||s){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(s,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 Tw(r,t,e,i,n){const s=e.getImage(),a=e.getText();let h;if(s){if(s.getImageState()!=bt.LOADED)return;let c=r;if(n){const f=s.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const p=r.getBuilder(e.getZIndex(),"Image");p.setImageStyle(s,h),p.drawPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(s,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 bw(r,t,e,i,n){const s=e.getImage(),a=e.getText();let h;if(s){if(s.getImageState()!=bt.LOADED)return;let c=r;if(n){const f=s.getDeclutterMode();if(f!=="none")if(c=n,f==="obstacle"){const p=r.getBuilder(e.getZIndex(),"Image");p.setImageStyle(s,h),p.drawMultiPoint(t,i)}else a&&a.getText()&&(h={})}const d=c.getBuilder(e.getZIndex(),"Image");d.setImageStyle(s,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 Dw(r,t,e,i,n){const s=e.getFill(),a=e.getStroke();if(s||a){const c=r.getBuilder(e.getZIndex(),"Polygon");c.setFillStrokeStyle(s,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 Pw extends hf{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_=xe(),this.wrappedRenderedExtent_=xe(),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,s=e.viewState,a=s.center,h=s.resolution,c=s.projection,d=s.rotation,f=c.getExtent(),p=this.getLayer().getSource(),m=e.pixelRatio,y=e.viewHints,v=!(y[Ht.ANIMATING]||y[Ht.INTERACTING]),A=this.compositionContext_,M=Math.round(e.size[0]*m),b=Math.round(e.size[1]*m),w=p.getWrapX()&&c.canWrapX(),E=w?Tt(f):null,C=w?Math.ceil((n[2]-f[2])/E)+1:1;let D=w?Math.floor((n[0]-f[0])/E):0;do{const P=this.getRenderTransform(a,h,d,m,M,b,D*E);t.execute(A,1,P,d,v,void 0,i)}while(++D<C)}setupCompositionContext_(){if(this.opacity_!==1){const t=ee(this.context.canvas.width,this.context.canvas.height,lf);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,_o(this.compositionContext_),lf.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];V_(this.pixelTransform,1/i,1/i),no(this.inversePixelTransform,this.pixelTransform);const s=Eu(this.pixelTransform);this.useContainer(e,s,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(te.PRERENDER)||this.getLayer().hasListener(te.POSTRENDER)))return null;const p=Math.round(t.size[0]*i),m=Math.round(t.size[1]*i);h.width!=p||h.height!=m?(h.width=p,h.height=m,h.style.transform!==s&&(h.style.transform=s)):this.containerReused||a.clearRect(0,0,p,m),this.preRender(a,t);const y=t.viewState;y.projection,this.opacity_=n.opacity,this.setupCompositionContext_();let v=!1;if(f&&n.extent&&this.clipping){const A=fn(n.extent);f=ce(A,t.extent),v=f&&!hn(A,t.extent),v&&this.clipUnrotated(this.compositionContext_,t,A)}return f&&this.renderWorlds(c,t),v&&this.compositionContext_.restore(),this.releaseCompositionContext_(),this.postRender(a,t),this.renderedRotation_!==y.rotation&&(this.renderedRotation_=y.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];Ft(this.pixelTransform,i);const n=this.renderedCenter_,s=this.renderedResolution_,a=this.renderedRotation_,h=this.renderedProjection_,c=this.wrappedRenderedExtent_,d=this.getLayer(),f=[],p=i[0]*Ke,m=i[1]*Ke;f.push(this.getRenderTransform(n,s,a,Ke,p,m,0).slice());const y=d.getSource(),v=h.getExtent();if(y.getWrapX()&&h.canWrapX()&&!hn(v,c)){let A=c[0];const M=Tt(v);let b=0,w;for(;A<v[0];)--b,w=M*b,f.push(this.getRenderTransform(n,s,a,Ke,p,m,w).slice()),A+=M;for(b=0,A=c[2];A>v[2];)++b,w=M*b,f.push(this.getRenderTransform(n,s,a,Ke,p,m,w).slice()),A-=M}this.hitDetectionImageData_=mw(i,f,this.renderedFeatures_,d.getStyleFunction(),c,s,a)}e(_w(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,i,n,s){if(!this.replayGroup_)return;const a=e.viewState.resolution,h=e.viewState.rotation,c=this.getLayer(),d={},f=function(y,v,A){const M=gt(y),b=d[M];if(b){if(b!==!0&&A<b.distanceSq){if(A===0)return d[M]=!0,s.splice(s.lastIndexOf(b),1),n(y,c,v);b.geometry=v,b.distanceSq=A}}else{if(A===0)return d[M]=!0,n(y,c,v);s.push(d[M]={feature:y,layer:c,geometry:v,distanceSq:A,callback:n})}};let p;const m=[this.replayGroup_];return this.declutterExecutorGroup&&m.push(this.declutterExecutorGroup),m.some(y=>p=y.forEachFeatureAtCoordinate(t,a,h,i,f,y===this.declutterExecutorGroup&&e.declutterTree?e.declutterTree.all().map(v=>v.value):null)),p}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[Ht.ANIMATING],s=t.viewHints[Ht.INTERACTING],a=e.getUpdateWhileAnimating(),h=e.getUpdateWhileInteracting();if(this.ready&&!a&&n||!h&&s)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const c=t.extent,d=t.viewState,f=d.projection,p=d.resolution,m=t.pixelRatio,y=e.getRevision(),v=e.getRenderBuffer();let A=e.getRenderOrder();A===void 0&&(A=vw);const M=d.center.slice(),b=Xs(c,v*p),w=b.slice(),E=[b.slice()],C=f.getExtent();if(i.getWrapX()&&f.canWrapX()&&!hn(C,t.extent)){const Y=Tt(C),W=Math.max(Tt(b)/2,Y);b[0]=C[0]-W,b[2]=C[2]+W,eu(M,f);const G=tu(E[0],f);G[0]<C[0]&&G[2]<C[2]?E.push([G[0]+Y,G[1],G[2]+Y,G[3]]):G[0]>C[0]&&G[2]>C[2]&&E.push([G[0]-Y,G[1],G[2]-Y,G[3]])}if(this.ready&&this.renderedResolution_==p&&this.renderedRevision_==y&&this.renderedRenderOrder_==A&&hn(this.wrappedRenderedExtent_,b))return li(this.renderedExtent_,w)||(this.hitDetectionImageData_=null,this.renderedExtent_=w),this.renderedCenter_=M,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const D=new wf(mh(p,m),b,p,m);let P;this.getLayer().getDeclutter()&&(P=new wf(mh(p,m),b,p,m));let O;for(let Y=0,W=E.length;Y<W;++Y)i.loadFeatures(E[Y],p,f);const k=xw(p,m);let N=!0;const H=Y=>{let W;const G=Y.getStyleFunction()||e.getStyleFunction();if(G&&(W=G(Y,p)),W){const F=this.renderFeature(Y,k,W,D,O,P);N=N&&!F}},U=uu(b),Q=i.getFeaturesInExtent(U);A&&Q.sort(A);for(let Y=0,W=Q.length;Y<W;++Y)H(Q[Y]);this.renderedFeatures_=Q,this.ready=N;const tt=D.finish(),at=new Cf(b,p,m,i.getOverlaps(),tt,e.getRenderBuffer());return P&&(this.declutterExecutorGroup=new Cf(b,p,m,i.getOverlaps(),P.finish(),e.getRenderBuffer())),this.renderedResolution_=p,this.renderedRevision_=y,this.renderedRenderOrder_=A,this.renderedExtent_=w,this.wrappedRenderedExtent_=b,this.renderedCenter_=M,this.renderedProjection_=f,this.replayGroup_=at,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,i,n,s,a){if(!i)return!1;let h=!1;if(Array.isArray(i))for(let c=0,d=i.length;c<d;++c)h=Tf(n,t,i[c],e,this.boundHandleStyleImageChange_,s,a)||h;else h=Tf(n,t,i,e,this.boundHandleStyleImageChange_,s,a);return h}}const Iw=Pw;class Sw extends Wl{constructor(t){super(t)}createRenderer(){return new Iw(this)}}const Df=Sw,re={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class kw extends Ie{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 "+ky,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(re.ELEMENT,this.handleElementChanged),this.addChangeListener(re.MAP,this.handleMapChanged),this.addChangeListener(re.OFFSET,this.handleOffsetChanged),this.addChangeListener(re.POSITION,this.handlePositionChanged),this.addChangeListener(re.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(re.ELEMENT)}getId(){return this.id}getMap(){return this.get(re.MAP)||null}getOffset(){return this.get(re.OFFSET)}getPosition(){return this.get(re.POSITION)}getPositioning(){return this.get(re.POSITIONING)}handleElementChanged(){td(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(vo(this.element),Mt(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=mt(t,fi.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(re.ELEMENT,t)}setMap(t){this.set(re.MAP,t)}setOffset(t){this.set(re.OFFSET,t)}setPosition(t){this.set(re.POSITION,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(re.POSITION))return;const i=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),s=this.getRect(n,[Oy(n),zy(n)]);t=t||{};const a=t.margin===void 0?20:t.margin;if(!hn(i,s)){const h=s[0]-i[0],c=i[2]-s[2],d=s[1]-i[1],f=i[3]-s[3],p=[0,0];if(h<0?p[0]=h-a:c<0&&(p[0]=Math.abs(c)+a),d<0?p[1]=d-a:f<0&&(p[1]=Math.abs(f)+a),p[0]!==0||p[1]!==0){const m=e.getView().getCenterInternal(),y=e.getPixelFromCoordinateInternal(m);if(!y)return;const v=[y[0]+p[0],y[1]+p[1]],A=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(v),duration:A.duration,easing:A.easing})}}}getRect(t,e){const i=t.getBoundingClientRect(),n=i.left+window.pageXOffset,s=i.top+window.pageYOffset;return[n,s,n+e[0],s+e[1]]}setPositioning(t){this.set(re.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(),s=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%";s=="bottom-right"||s=="center-right"||s=="top-right"?c="-100%":(s=="bottom-center"||s=="center-center"||s=="top-center")&&(c="-50%"),s=="bottom-left"||s=="bottom-center"||s=="bottom-right"?d="-100%":(s=="center-left"||s=="center-center"||s=="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 Rw=kw,Pf=["fullscreenchange","webkitfullscreenchange","MSFullscreenChange"],If={ENTERFULLSCREEN:"enterfullscreen",LEAVEFULLSCREEN:"leavefullscreen"};class Ow extends Lo{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(ut.CLICK,this.handleClick_.bind(this),!1),this.setClassName_(this.button_,this.isInFullscreen_),this.element.className=`${this.cssClassName_} ${Fr} ${mo}`,this.element.appendChild(this.button_)}handleClick_(t){t.preventDefault(),this.handleFullScreen_()}handleFullScreen_(){const t=this.getMap();if(!t)return;const e=t.getOwnerDocument();if(Sf(e))if(kf(e))Nw(e);else{let i;this.source_?i=typeof this.source_=="string"?e.getElementById(this.source_):this.source_:i=t.getTargetElement(),this.keys_?zw(i):Rf(i)}}handleFullScreenChange_(){const t=this.getMap();if(!t)return;const e=this.isInFullscreen_;this.isInFullscreen_=kf(t.getOwnerDocument()),e!==this.isInFullscreen_&&(this.setClassName_(this.button_,this.isInFullscreen_),this.isInFullscreen_?(yo(this.labelActiveNode_,this.labelNode_),this.dispatchEvent(If.ENTERFULLSCREEN)):(yo(this.labelNode_,this.labelActiveNode_),this.dispatchEvent(If.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(Zt.TARGET,this.boundHandleMapTargetChange_),super.setMap(t),this.handleMapTargetChange_(),t&&t.addChangeListener(Zt.TARGET,this.boundHandleMapTargetChange_)}handleMapTargetChange_(){const t=this.documentListeners_;for(let i=0,n=t.length;i<n;++i)Mt(t[i]);t.length=0;const e=this.getMap();if(e){const i=e.getOwnerDocument();Sf(i)?this.element.classList.remove(Ku):this.element.classList.add(Ku);for(let n=0,s=Pf.length;n<s;++n)t.push(mt(i,Pf[n],this.handleFullScreenChange_,this));this.handleFullScreenChange_()}}}function Sf(r){const t=r.body;return!!(t.webkitRequestFullscreen||t.requestFullscreen&&r.fullscreenEnabled)}function kf(r){return!!(r.webkitIsFullScreen||r.fullscreenElement)}function Rf(r){r.requestFullscreen?r.requestFullscreen():r.webkitRequestFullscreen&&r.webkitRequestFullscreen()}function zw(r){r.webkitRequestFullscreen?r.webkitRequestFullscreen():Rf(r)}function Nw(r){r.exitFullscreen?r.exitFullscreen():r.webkitExitFullscreen&&r.webkitExitFullscreen()}const Fw=Ow,Bw=X.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:{image:ws,color:"#f47521",iconUrl:"/image/gmap01.png",iconSize:[25,41],iconAnchor:[12,41],scale:1,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 Xn({stroke:new Do({color:this.configurationMap.strokeColor,width:3}),text:new wd({font:"12px Roboto",fill:new bo({color:"#000"}),stroke:new Do({color:"#fff",width:1})})});this.countryLayer=new Df({source:new Ho({url:`${this.loadMapa.data}`,format:new Wo}),style:function(i){const n=t.getText();return n&&n.setText(i.get("name")),t}}),this.heatLayer=new Ux({source:new Ho({features:[]}),visible:!1,radius:10,blur:25});try{this.pointLayer=this.configurationMap?new Df({source:new Ho({features:[]}),visible:!1,style:i=>{var a,h,c;return new Xn({image:new Ul({src:(h=(a=this.configurationMap)==null?void 0:a.iconMarker)==null?void 0:h.iconUrl,color:(c=this.configurationMap.iconMarker)==null?void 0:c.color,scale:this.configurationMap.iconMarker.scale}),zIndex:1})}}):void 0}catch(i){console.log(i)}this.olMap=new Hv({controls:sd({attribution:!1}).extend([new Fw({tipLabel:"Pantalla completa"})]).extend([new rd({collapsible:!1})]),layers:[new yA({source:new cA({attributions:r})}),this.countryLayer,this.heatLayer,this.pointLayer],target:this.$refs["map-root"],view:new We({center:[0,0],zoom:this.zoom})});const e=hu([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 Rw({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 s=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(s)),t.innerHTML=h;const c=this.olMap.getView(),d=i.getGeometry().getExtent(),f=c.getCenter(),p=c.getZoom();c.fit(d,{padding:[325,75,0,75],maxZoom:p});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 Wo({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 Wo({featureProjection:"EPSG:3857"}).readFeatures(r);t.clear(),t.addFeatures(e)}},async changeCountryLayer(r){if(this.countryLayer){const e=new Ho({url:`${r.data}`,format:new Wo});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(),s=t.getCenter();t.fit(i,{padding:[75,75,75,75],maxZoom:6});const a=t.getZoom(),h=t.getCenter();t.setCenter(s),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(hu([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)}}),CL="",ML="",xi=r=>(X.pushScopeId("data-v-6d32e204"),r=r(),X.popScopeId(),r),jw={ref:"map-root",style:{width:"100%",height:"100%",position:"relative"}},Uw={class:"btn-zoom-container ol-control"},Gw=[xi(()=>X.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[X.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))],Hw={class:"type-map-container ol-control"},Yw=[xi(()=>X.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[X.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))],Ww=[xi(()=>X.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},[X.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))],Zw={class:"btn-settings ol-control"},Xw=[xi(()=>X.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},[X.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))],Qw={class:"control-container"},Vw={class:"map-flex"},Kw=xi(()=>X.createElementVNode("label",null,"Tamaño del radio",-1)),qw={class:"map-flex"},Jw=xi(()=>X.createElementVNode("label",null,"Difuminado",-1)),$w={class:"cant-casos ol-attribution ol-unselectable ol-control ol-uncollapsible"},tE={class:"text-cantidad"},eE=xi(()=>X.createElementVNode("span",{class:"ol-bold"},"Casos: ",-1)),iE={id:"popup",class:"ol-popup"},nE=[xi(()=>X.createElementVNode("a",{id:"popup-closer",class:"ol-popup-closer"},null,-1)),xi(()=>X.createElementVNode("div",{id:"popup-content"},null,-1))];function rE(r,t,e,i,n,s){var a;return X.openBlock(),X.createElementBlock("div",{class:"map-container",style:X.normalizeStyle(`height:${(a=r.configurationMap)==null?void 0:a.height}`)},[X.createElementVNode("div",jw,[X.withDirectives(X.createElementVNode("div",Uw,[X.createElementVNode("button",{title:"Ir a la ciudad",class:"jl2-button-map",onClick:t[0]||(t[0]=(...h)=>r.irACiudad&&r.irACiudad(...h))},Gw)],512),[[X.vShow,r.loadMapa.country!=="Bolivia"]]),X.createElementVNode("div",Hw,[X.createElementVNode("button",{title:"Mapa con Marcador",class:X.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="1"}]),onClick:t[1]||(t[1]=()=>r.type="1")},Yw,2),X.createElementVNode("button",{title:"Mapa de Calor",class:X.normalizeClass(["jl2-button-map",{"jl2-button-map-select":r.type=="0"}]),onClick:t[2]||(t[2]=()=>r.type="0")},Ww,2)]),X.withDirectives(X.createElementVNode("div",Zw,[X.createElementVNode("button",{title:"Ver Opciones",class:"jl2-button-map",onClick:t[3]||(t[3]=(...h)=>r.toggleSettings&&r.toggleSettings(...h))},Xw)],512),[[X.vShow,!r.showSetting&&r.type==="0"]]),X.withDirectives(X.createElementVNode("div",Qw,[X.createElementVNode("a",{onClick:t[4]||(t[4]=(...h)=>r.toggleSettings&&r.toggleSettings(...h)),class:"ol-popup-closer"}),X.createElementVNode("div",Vw,[Kw,X.withDirectives(X.createElementVNode("input",{id:"radius",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[5]||(t[5]=h=>r.radius=h)},null,512),[[X.vModelText,r.radius]])]),X.createElementVNode("div",qw,[Jw,X.withDirectives(X.createElementVNode("input",{id:"blur",type:"range",min:"1",max:"50",step:"1","onUpdate:modelValue":t[6]||(t[6]=h=>r.blur=h)},null,512),[[X.vModelText,r.blur]])])],512),[[X.vShow,r.type==="0"&&r.showSetting]]),X.createElementVNode("div",$w,[X.createElementVNode("p",tE,[eE,X.createTextVNode(X.toDisplayString(r.cantidad),1)])])],512),X.withDirectives(X.createElementVNode("div",iE,nE,512),[[X.vShow,r.type==="1"]])],4)}const sE=Ea(Bw,[["render",rE],["__scopeId","data-v-6d32e204"]]);ye.CoordinatesVerifyPolygon=dp,ye.MapHeatComponent=sE,ye.MapSearchAddress=t_,ye.MapView=Jm,ye.listenServiceGoogleMaps=Ng,ye.searchAutomaticGoogleMaps=Bg,ye.searchManualGoogleMaps=Fg,Object.defineProperty(ye,Symbol.toStringTag,{value:"Module"})});