UNPKG

weatherlayers-gl

Version:

WeatherLayers GL - Weather Visualization Layers for deck.gl

16 lines 132 kB
/*!
 * Copyright (c) 2021-2023 WeatherLayers.com
 *
 * WeatherLayers GL 2023.8.1
 *
 * A valid license file is required to use the library in production. Contact support@weatherlayers.com for details.
 *
 * Homepage - https://weatherlayers.com/
 * Demo - https://demo.weatherlayers.com/
 * Docs - https://docs.weatherlayers.com/
 * WeatherLayers GL License Terms of Use - https://weatherlayers.com/license-terms-of-use.html
 */

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("geotiff")):"function"==typeof define&&define.amd?define(["exports","geotiff"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).WeatherLayers={},t.GeoTIFF)}(this,(function(t,e){"use strict";function n(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var r=n(e);function a(t,e){if(!e)return`${Math.round(t)}`;const{scale:n=1,offset:r=0,decimals:a=0}=e,A=n*t+r;return`${a?Math.round(A*10**a)/10**a:Math.round(A)}`}function A(t){return t.unit.replace("^2","²").replace("^3","³")}function i(t,e){return`${a(t,e)} ${A(e)}`}function o(t){return`${Math.round(t)}°`}Array.prototype.findLastIndex||(Array.prototype.findLastIndex=function(t,e){for(let n=this.length-1;n>=0;n--)if(t.call(e,this[n],n,this))return n;return-1});const s=a;function l(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function c(t,e,n,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(t,n):a?a.value=n:e.set(t,n),n}var g,h,u,f;class C{constructor(t){g.set(this,void 0),h.set(this,!1),u.set(this,void 0),f.set(this,0),c(this,g,t,"f")}getConfig(){return{...l(this,g,"f")}}setConfig(t){c(this,g,t,"f")}updateConfig(t){this.setConfig({...l(this,g,"f"),...t})}get running(){return l(this,h,"f")}toggle(t=!l(this,h,"f")){t?this.start():this.stop()}start(){l(this,h,"f")||(c(this,h,!0,"f"),c(this,u,window.requestAnimationFrame((()=>this.step())),"f"))}stop(){l(this,h,"f")&&(c(this,h,!1,"f"),l(this,u,"f")&&(window.cancelAnimationFrame(l(this,u,"f")),c(this,u,void 0,"f")))}step(){const t=1e3/(l(this,g,"f").fps??30),e=Date.now(),n=e-l(this,f,"f");n>t&&(c(this,f,e-n%t,"f"),l(this,g,"f").onUpdate()),l(this,h,"f")&&c(this,u,window.requestAnimationFrame((()=>this.step())),"f")}}function E(t,e,n){if(!e){if(0===n)return t;throw new Error("Invalid state")}if(n<=0)return t;if(n>=1)return e;{const r=new Date(t),a=new Date(e);return new Date(r.getTime()+(a.getTime()-r.getTime())*n).toISOString()}}function d(t,e,n){if(!e){if(t===n)return 0;throw new Error("Invalid state")}if(n<=t)return 0;if(n>=e)return 1;{const r=new Date(t),a=new Date(e);return(new Date(n).getTime()-r.getTime())/(a.getTime()-r.getTime())}}function p(t,e){const n=new Date(t);return new Date(n.getTime()+1e3*e*60*60).toISOString()}function I(t){if(!t)return t;const e=new Date(t);if(!e.getDate())return t;return`${e.getUTCFullYear()}/${`${e.getUTCMonth()+1}`.padStart(2,"0")}/${`${e.getUTCDate()}`.padStart(2,"0")} ${`${e.getUTCHours()}`.padStart(2,"0")}:${`${e.getUTCMinutes()}`.padStart(2,"0")} UTC`}var m,Q,B;g=new WeakMap,h=new WeakMap,u=new WeakMap,f=new WeakMap,t.ImageInterpolation=void 0,(m=t.ImageInterpolation||(t.ImageInterpolation={})).NEAREST="NEAREST",m.LINEAR="LINEAR",m.CUBIC="CUBIC",t.ImageType=void 0,(Q=t.ImageType||(t.ImageType={})).SCALAR="SCALAR",Q.VECTOR="VECTOR",t.UnitSystem=void 0,(B=t.UnitSystem||(t.UnitSystem={})).METRIC="METRIC",B.IMPERIAL="IMPERIAL",B.NAUTICAL="NAUTICAL";const v=new Map;async function w(t){let e;try{e=await r.fromUrl(t,{allowFullFile:!0,blockSize:10485760})}catch(e){throw new Error(`Image ${t} can't be decoded.`,{cause:e})}const n=await e.getImage(0),a=function(t,e){if(null==e)return t;const n=t.slice(0);for(let t=0;t<n.length;t++)Math.abs(n[t]-e)<2*Number.EPSILON&&(n[t]=NaN);return n}(await n.readRasters({interleave:!0}),n.getGDALNoData());return{data:a,width:n.getWidth(),height:n.getHeight()}}function b(t){return(e,n=v)=>{if(!1===n)return t(e);const r=n.get(e);if(r)return r;const a=t(e);return n.set(e,a),a.then((t=>{n.set(e,t)})),a}}const y=b((t=>{if(t.includes(".png"))return async function(t){const e=await(await fetch(t)).blob(),n=new Image;n.src=URL.createObjectURL(e);try{await n.decode()}catch(e){throw new Error(`Image ${t} can't be decoded.`,{cause:e})}const r=document.createElement("canvas");r.width=n.width,r.height=n.height;const a=r.getContext("2d");a.drawImage(n,0,0);const A=a.getImageData(0,0,r.width,r.height),{data:i,width:o,height:s}=A;return{data:i,width:o,height:s}}(t);if(t.includes(".tif"))return w(t);throw new Error("Unsupported data format")})),T=b((async t=>(await fetch(t)).json()));function O(t){return t%1}function k(t,e){return t.map(((n,r)=>t[r]+e[r]))}function M(t,e){return t.map(((n,r)=>t[r]*e))}function N(t,e){return t.map(((n,r)=>t[r]*e[r])).reduce(((t,e)=>t+e))}function V(t,e,n){return t*(1-n)+e*n}function D(t,e,n){return t.map(((r,a)=>V(t[a],e[a],n)))}function S(t,e){return e?255==t[3]:!isNaN(t[0])}function q(e,n,r){return n===t.ImageType.VECTOR?r?[V(r[0],r[1],e[0]/255),V(r[0],r[1],e[1]/255)]:[e[0],e[1]]:[NaN,NaN]}function U(e,n,r){if(n===t.ImageType.VECTOR){const t=q(e,n,r);return Math.hypot(t[0],t[1])}return function(e,n,r){return n===t.ImageType.VECTOR?0:r?V(r[0],r[1],e[0]/255):e[0]}(e,n,r)}function L(t,e,n,r,a,A){const{data:i,width:o,height:s}=t,l=i.length/(o*s),c=(n+a+.5)/e[0],g=(Math.max(0,r)+A+.5)/e[1],h=Math.floor(c*o),u=Math.floor(g*s);return new Array(l).fill(void 0).map(((t,e)=>i[(h+u*o)*l+e]))}const x=[3,-6,0,4].map((t=>t/6)),J=[-1,6,-12,8].map((t=>t/6));function P(t){return[t*t*t,t*t,t,1]}function Z(t,e,n,r,a){const A=k(k(k(M(t,N(J,P(a+1))),M(e,N(x,P(a)))),M(n,N(x,P(1-a)))),M(r,N(J,P(2-a))));return A[3]=255==t[3]&&255==e[3]&&255==n[3]&&255==r[3]?255:0,A}function F(e,n,r,a,A){return r===t.ImageInterpolation.CUBIC?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=O(a),l=O(A);return Z(Z(L(t,e,i,o,-1,-1),L(t,e,i,o,0,-1),L(t,e,i,o,1,-1),L(t,e,i,o,2,-1),s),Z(L(t,e,i,o,-1,0),L(t,e,i,o,0,0),L(t,e,i,o,1,0),L(t,e,i,o,2,0),s),Z(L(t,e,i,o,-1,1),L(t,e,i,o,0,1),L(t,e,i,o,1,1),L(t,e,i,o,2,1),s),Z(L(t,e,i,o,-1,2),L(t,e,i,o,0,2),L(t,e,i,o,1,2),L(t,e,i,o,2,2),s),l)}(e,n,a,A):r===t.ImageInterpolation.LINEAR?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=O(a),l=O(A);return D(D(L(t,e,i,o,0,0),L(t,e,i,o,1,0),s),D(L(t,e,i,o,0,1),L(t,e,i,o,1,1),s),l)}(e,n,a,A):function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5;return L(t,e,Math.round(a),Math.round(A),0,0)}(e,n,a,A)}function R(t,e,n,r,a,A,i){const o=A+.5/n[0],s=i;if(e&&a>0){return D(F(t,n,r,o,s),F(e,n,r,o,s),a)}return F(t,n,r,o,s)}function W(t,e,n){const r=1+Math.max(0,n);return[t/r,e/r]}function K(t,e,n,r,a,A,i){const{width:o,height:s}=t,l=W(o,s,n),c=new Float32Array(o*s);for(let n=0;n<s;n++)for(let g=0;g<o;g++){const h=g+n*o,u=R(t,e,l,r,a,g/o,n/s);let f;f=S(u,i)?U(u,A,i):NaN,c[h]=f}return{data:c,width:o,height:s}}var X=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return t<e?e:t>n?n:t};const z=X;const Y={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])Y[`[object ${t}]`]=t.toLowerCase();var G=function(t){return Y[Object.prototype.toString.call(t)]||"object"};const j=G;const H=G;const _=Math.PI;var $={clip_rgb:t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]=z(t[e],0,255)):3===e&&(t[e]=z(t[e],0,1));return t},limit:X,type:G,unpack:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.length>=3?Array.prototype.slice.call(t):"object"==j(t[0])&&e?e.split("").filter((e=>void 0!==t[0][e])).map((e=>t[0][e])):t[0]},last:t=>{if(t.length<2)return null;const e=t.length-1;return"string"==H(t[e])?t[e].toLowerCase():null},PI:_,TWOPI:2*_,PITHIRD:_/3,DEG2RAD:_/180,RAD2DEG:180/_},tt={format:{},autodetect:[]};const{last:et,clip_rgb:nt,type:rt}=$,at=tt;var At=class{constructor(){const t=this;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];if("object"===rt(n[0])&&n[0].constructor&&n[0].constructor===this.constructor)return n[0];let a=et(n),A=!1;if(!a){A=!0,at.sorted||(at.autodetect=at.autodetect.sort(((t,e)=>e.p-t.p)),at.sorted=!0);for(let t of at.autodetect)if(a=t.test(...n),a)break}if(!at.format[a])throw new Error("unknown format: "+n);{const e=at.format[a].apply(null,A?n:n.slice(0,-1));t._rgb=nt(e)}3===t._rgb.length&&t._rgb.push(1)}toString(){return"function"==rt(this.hex)?this.hex():`[${this._rgb.join(",")}]`}};const it=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new it.Color(...e)};it.Color=At,it.version="@@version";var ot=it;const{unpack:st,last:lt}=$,ct=t=>Math.round(100*t)/100;var gt=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];const r=st(e,"hsla");let a=lt(e)||"lsa";return r[0]=ct(r[0]||0),r[1]=ct(100*r[1])+"%",r[2]=ct(100*r[2])+"%","hsla"===a||r.length>3&&r[3]<1?(r[3]=r.length>3?r[3]:1,a="hsla"):r.length=3,`${a}(${r.join(",")})`};const{unpack:ht}=$;var ut=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e=ht(e,"rgba");let[r,a,A]=e;r/=255,a/=255,A/=255;const i=Math.min(r,a,A),o=Math.max(r,a,A),s=(o+i)/2;let l,c;return o===i?(l=0,c=Number.NaN):l=s<.5?(o-i)/(o+i):(o-i)/(2-o-i),r==o?c=(a-A)/(o-i):a==o?c=2+(A-r)/(o-i):A==o&&(c=4+(r-a)/(o-i)),c*=60,c<0&&(c+=360),e.length>3&&void 0!==e[3]?[c,l,s,e[3]]:[c,l,s]};const{unpack:ft,last:Ct}=$,Et=gt,dt=ut,{round:pt}=Math;var It=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];const r=ft(e,"rgba");let a=Ct(e)||"rgb";return"hsl"==a.substr(0,3)?Et(dt(r),a):(r[0]=pt(r[0]),r[1]=pt(r[1]),r[2]=pt(r[2]),("rgba"===a||r.length>3&&r[3]<1)&&(r[3]=r.length>3?r[3]:1,a="rgba"),`${a}(${r.slice(0,"rgb"===a?3:4).join(",")})`)};const{unpack:mt}=$,{round:Qt}=Math;var Bt=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e=mt(e,"hsl");const[r,a,A]=e;let i,o,s;if(0===a)i=o=s=255*A;else{const t=[0,0,0],e=[0,0,0],n=A<.5?A*(1+a):A+a-A*a,l=2*A-n,c=r/360;t[0]=c+1/3,t[1]=c,t[2]=c-1/3;for(let r=0;r<3;r++)t[r]<0&&(t[r]+=1),t[r]>1&&(t[r]-=1),6*t[r]<1?e[r]=l+6*(n-l)*t[r]:2*t[r]<1?e[r]=n:3*t[r]<2?e[r]=l+(n-l)*(2/3-t[r])*6:e[r]=l;[i,o,s]=[Qt(255*e[0]),Qt(255*e[1]),Qt(255*e[2])]}return e.length>3?[i,o,s,e[3]]:[i,o,s,1]};const vt=Bt,wt=tt,bt=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,yt=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Tt=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Ot=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,kt=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Mt=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,{round:Nt}=Math,Vt=t=>{let e;if(t=t.toLowerCase().trim(),wt.format.named)try{return wt.format.named(t)}catch(t){}if(e=t.match(bt)){const t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=+t[e];return t[3]=1,t}if(e=t.match(yt)){const t=e.slice(1,5);for(let e=0;e<4;e++)t[e]=+t[e];return t}if(e=t.match(Tt)){const t=e.slice(1,4);for(let e=0;e<3;e++)t[e]=Nt(2.55*t[e]);return t[3]=1,t}if(e=t.match(Ot)){const t=e.slice(1,5);for(let e=0;e<3;e++)t[e]=Nt(2.55*t[e]);return t[3]=+t[3],t}if(e=t.match(kt)){const t=e.slice(1,4);t[1]*=.01,t[2]*=.01;const n=vt(t);return n[3]=1,n}if(e=t.match(Mt)){const t=e.slice(1,4);t[1]*=.01,t[2]*=.01;const n=vt(t);return n[3]=+e[4],n}};Vt.test=t=>bt.test(t)||yt.test(t)||Tt.test(t)||Ot.test(t)||kt.test(t)||Mt.test(t);var Dt=Vt;const St=ot,qt=At,Ut=tt,{type:Lt}=$,xt=It,Jt=Dt;qt.prototype.css=function(t){return xt(this._rgb,t)},St.css=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new qt(...e,"css")},Ut.format.css=Jt,Ut.autodetect.push({p:5,test:function(t){if((arguments.length<=1||!(arguments.length-1))&&"string"===Lt(t)&&Jt.test(t))return"css"}});const{unpack:Pt,last:Zt}=$,{round:Ft}=Math;var Rt=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];let[r,a,A,i]=Pt(e,"rgba"),o=Zt(e)||"auto";void 0===i&&(i=1),"auto"===o&&(o=i<1?"rgba":"rgb"),r=Ft(r),a=Ft(a),A=Ft(A);let s="000000"+(r<<16|a<<8|A).toString(16);s=s.substr(s.length-6);let l="0"+Ft(255*i).toString(16);switch(l=l.substr(l.length-2),o.toLowerCase()){case"rgba":return`#${s}${l}`;case"argb":return`#${l}${s}`;default:return`#${s}`}};const Wt=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Kt=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;var Xt=t=>{if(t.match(Wt)){4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const e=parseInt(t,16);return[e>>16,e>>8&255,255&e,1]}if(t.match(Kt)){5!==t.length&&9!==t.length||(t=t.substr(1)),4===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=parseInt(t,16);return[e>>24&255,e>>16&255,e>>8&255,Math.round((255&e)/255*100)/100]}throw new Error(`unknown hex color: ${t}`)};const zt=ot,Yt=At,{type:Gt}=$,jt=tt,Ht=Rt;Yt.prototype.hex=function(t){return Ht(this._rgb,t)},zt.hex=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new Yt(...e,"hex")},jt.format.hex=Xt,jt.autodetect.push({p:4,test:function(t){if((arguments.length<=1||!(arguments.length-1))&&"string"===Gt(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});const{unpack:_t,type:$t}=$,te=ot,ee=At,ne=tt,re=ut;ee.prototype.hsl=function(){return re(this._rgb)},te.hsl=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new ee(...e,"hsl")},ne.format.hsl=Bt,ne.autodetect.push({p:2,test:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(e=_t(e,"hsl"),"array"===$t(e)&&3===e.length)return"hsl"}});const{unpack:ae}=$,{min:Ae,max:ie}=Math;var oe=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e=ae(e,"rgb");let[r,a,A]=e;const i=Ae(r,a,A),o=ie(r,a,A),s=o-i;let l,c,g;return g=o/255,0===o?(l=Number.NaN,c=0):(c=s/o,r===o&&(l=(a-A)/s),a===o&&(l=2+(A-r)/s),A===o&&(l=4+(r-a)/s),l*=60,l<0&&(l+=360)),[l,c,g]};const{unpack:se}=$,{floor:le}=Math;var ce=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e=se(e,"hsv");let r,a,A,[i,o,s]=e;if(s*=255,0===o)r=a=A=s;else{360===i&&(i=0),i>360&&(i-=360),i<0&&(i+=360),i/=60;const t=le(i),e=i-t,n=s*(1-o),l=s*(1-o*e),c=s*(1-o*(1-e));switch(t){case 0:[r,a,A]=[s,c,n];break;case 1:[r,a,A]=[l,s,n];break;case 2:[r,a,A]=[n,s,c];break;case 3:[r,a,A]=[n,l,s];break;case 4:[r,a,A]=[c,n,s];break;case 5:[r,a,A]=[s,n,l]}}return[r,a,A,e.length>3?e[3]:1]};const{unpack:ge,type:he}=$,ue=ot,fe=At,Ce=tt,Ee=oe;fe.prototype.hsv=function(){return Ee(this._rgb)},ue.hsv=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new fe(...e,"hsv")},Ce.format.hsv=ce,Ce.autodetect.push({p:2,test:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(e=ge(e,"hsv"),"array"===he(e)&&3===e.length)return"hsv"}});var de={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};const pe=At,Ie=tt,{type:me}=$,Qe=de,Be=Xt,ve=Rt;pe.prototype.name=function(){const t=ve(this._rgb,"rgb");for(let e of Object.keys(Qe))if(Qe[e]===t)return e.toLowerCase();return t},Ie.format.named=t=>{if(t=t.toLowerCase(),Qe[t])return Be(Qe[t]);throw new Error("unknown color name: "+t)},Ie.autodetect.push({p:5,test:function(t){if((arguments.length<=1||!(arguments.length-1))&&"string"===me(t)&&Qe[t.toLowerCase()])return"named"}});const we=ot,be=At,ye=tt,{unpack:Te,type:Oe}=$,{round:ke}=Math;be.prototype.rgb=function(){return!1===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])?this._rgb.slice(0,3):this._rgb.slice(0,3).map(ke)},be.prototype.rgba=function(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._rgb.slice(0,4).map(((e,n)=>n<3?!1===t?e:ke(e):e))},we.rgb=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new be(...e,"rgb")},ye.format.rgb=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];const r=Te(e,"rgba");return void 0===r[3]&&(r[3]=1),r},ye.autodetect.push({p:3,test:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(e=Te(e,"rgba"),"array"===Oe(e)&&(3===e.length||4===e.length&&"number"==Oe(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});const Me=At,{type:Ne}=$;Me.prototype.alpha=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return void 0!==t&&"number"===Ne(t)?e?(this._rgb[3]=t,this):new Me([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]};const Ve=At;var De=(t,e,n,r)=>{let a,A,i,o,s,l,c,g,h,u,f,C;return"hsl"===r?(a=t.hsl(),A=e.hsl()):"hsv"===r?(a=t.hsv(),A=e.hsv()):"hcg"===r?(a=t.hcg(),A=e.hcg()):"hsi"===r?(a=t.hsi(),A=e.hsi()):"lch"===r||"hcl"===r?(r="hcl",a=t.hcl(),A=e.hcl()):"oklch"===r&&(a=t.oklch().reverse(),A=e.oklch().reverse()),"h"!==r.substr(0,1)&&"oklch"!==r||([i,s,c]=a,[o,l,g]=A),isNaN(i)||isNaN(o)?isNaN(i)?isNaN(o)?u=Number.NaN:(u=o,1!=c&&0!=c||"hsv"==r||(h=l)):(u=i,1!=g&&0!=g||"hsv"==r||(h=s)):(C=o>i&&o-i>180?o-(i+360):o<i&&i-o>180?o+360-i:o-i,u=i+n*C),void 0===h&&(h=s+n*(l-s)),f=c+n*(g-c),new Ve("oklch"===r?[f,h,u]:[u,h,f],r)},Se={};const qe=De;Se.hsl=(t,e,n)=>qe(t,e,n,"hsl");const Ue=De;Se.hsv=(t,e,n)=>Ue(t,e,n,"hsv");const Le=At;Se.rgb=(t,e,n)=>{const r=t._rgb,a=e._rgb;return new Le(r[0]+n*(a[0]-r[0]),r[1]+n*(a[1]-r[1]),r[2]+n*(a[2]-r[2]),"rgb")};const xe=At,{type:Je}=$,Pe=Se;const Ze=ot,{type:Fe}=$,{pow:Re}=Math;ot.mix=ot.interpolate=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,r=(arguments.length<=3?void 0:arguments[3])||"lrgb";if(Pe[r]||!(arguments.length<=3)&&arguments.length-3||(r=Object.keys(Pe)[0]),!Pe[r])throw new Error(`interpolation mode ${r} is not defined`);return"object"!==Je(t)&&(t=new xe(t)),"object"!==Je(e)&&(e=new xe(e)),Pe[r](t,e,n).alpha(t.alpha()+n*(e.alpha()-t.alpha()))},ot.scale=function(t){let e="rgb",n=Ze("#ccc"),r=0,a=[0,1],A=[],i=[0,0],o=!1,s=[],l=!1,c=0,g=1,h=!1,u={},f=!0,C=1;const E=function(t){if((t=t||["#fff","#000"])&&"string"===Fe(t)&&Ze.brewer&&Ze.brewer[t.toLowerCase()]&&(t=Ze.brewer[t.toLowerCase()]),"array"===Fe(t)){1===t.length&&(t=[t[0],t[0]]),t=t.slice(0);for(let e=0;e<t.length;e++)t[e]=Ze(t[e]);A.length=0;for(let e=0;e<t.length;e++)A.push(e/(t.length-1))}return m(),s=t};let d=t=>t,p=t=>t;const I=function(t,r){let a,l;if(null==r&&(r=!1),isNaN(t)||null===t)return n;if(r)l=t;else if(o&&o.length>2){l=function(t){if(null!=o){const e=o.length-1;let n=0;for(;n<e&&t>=o[n];)n++;return n-1}return 0}(t)/(o.length-2)}else l=g!==c?(t-c)/(g-c):1;l=p(l),r||(l=d(l)),1!==C&&(l=Re(l,C)),l=i[0]+l*(1-i[0]-i[1]),l=Math.min(1,Math.max(0,l));const h=Math.floor(1e4*l);if(f&&u[h])a=u[h];else{if("array"===Fe(s))for(let t=0;t<A.length;t++){const n=A[t];if(l<=n){a=s[t];break}if(l>=n&&t===A.length-1){a=s[t];break}if(l>n&&l<A[t+1]){l=(l-n)/(A[t+1]-n),a=Ze.interpolate(s[t],s[t+1],l,e);break}}else"function"===Fe(s)&&(a=s(l));f&&(u[h]=a)}return a};var m=()=>u={};E(t);const Q=function(t){const e=Ze(I(t));return l&&e[l]?e[l]():e};return Q.classes=function(t){if(null!=t){if("array"===Fe(t))o=t,a=[t[0],t[t.length-1]];else{const e=Ze.analyze(a);o=0===t?[e.min,e.max]:Ze.limits(e,"e",t)}return Q}return o},Q.domain=function(t){if(!arguments.length)return a;c=t[0],g=t[t.length-1],A=[];const e=s.length;if(t.length===e&&c!==g)for(let e of Array.from(t))A.push((e-c)/(g-c));else{for(let t=0;t<e;t++)A.push(t/(e-1));if(t.length>2){const e=t.map(((e,n)=>n/(t.length-1))),n=t.map((t=>(t-c)/(g-c)));n.every(((t,n)=>e[n]===t))||(p=t=>{if(t<=0||t>=1)return t;let r=0;for(;t>=n[r+1];)r++;const a=(t-n[r])/(n[r+1]-n[r]);return e[r]+a*(e[r+1]-e[r])})}}return a=[c,g],Q},Q.mode=function(t){return arguments.length?(e=t,m(),Q):e},Q.range=function(t,e){return E(t),Q},Q.out=function(t){return l=t,Q},Q.spread=function(t){return arguments.length?(r=t,Q):r},Q.correctLightness=function(t){return null==t&&(t=!0),h=t,m(),d=h?function(t){const e=I(0,!0).lab()[0],n=I(1,!0).lab()[0],r=e>n;let a=I(t,!0).lab()[0];const A=e+(n-e)*t;let i=a-A,o=0,s=1,l=20;for(;Math.abs(i)>.01&&l-- >0;)r&&(i*=-1),i<0?(o=t,t+=.5*(s-t)):(s=t,t+=.5*(o-t)),a=I(t,!0).lab()[0],i=a-A;return t}:t=>t,Q},Q.padding=function(t){return null!=t?("number"===Fe(t)&&(t=[t,t]),i=t,Q):i},Q.colors=function(e,n){arguments.length<2&&(n="hex");let r=[];if(0===arguments.length)r=s.slice(0);else if(1===e)r=[Q(.5)];else if(e>1){const t=a[0],n=a[1]-t;r=function(t,e,n){let r=[],a=t<e,A=n?a?e+1:e-1:e;for(let e=t;a?e<A:e>A;a?e++:e--)r.push(e);return r}(0,e,!1).map((r=>Q(t+r/(e-1)*n)))}else{t=[];let e=[];if(o&&o.length>2)for(let t=1,n=o.length,r=1<=n;r?t<n:t>n;r?t++:t--)e.push(.5*(o[t-1]+o[t]));else e=a;r=e.map((t=>Q(t)))}return Ze[n]&&(r=r.map((t=>t[n]()))),r},Q.cache=function(t){return null!=t?(f=t,Q):f},Q.gamma=function(t){return null!=t?(C=t,Q):C},Q.nodata=function(t){return null!=t?(n=Ze(t),Q):n},Q};var We=/[ ,\t:]+/g,Ke=/[\-\/]/g;function Xe(t){return t.startsWith("#")}function ze(t){var e=t.split(Ke);return 1===e.length?e[0]:e}function Ye(t){for(var e=t.trim().split("\n"),n=function(t){return t.some((function(t){return!Xe(t)&&t.split(We).length>=8}))}(e),r=function(t){return t.some((function(t){return!(Xe(t)||!t.match(/\d+\-\d+\-\d+/)&&!t.match(/\d+\/\d+\/\d+/))}))}(e),a=function(t){var e=t.find((function(t){return Xe(t)&&t.includes("COLOR_MODEL = ")}));if(e){var n=e.match(/COLOR_MODEL = ([a-zA-Z]+)/);if(n)return n[1].toLowerCase()}}(e),A=[],i=0,o=e.filter((function(t){return!!t&&!t.startsWith("#")}));i<o.length;i++){var s=o[i].split(We);n?8===s.length||9===s.length?(A.push([s[0],[s[1],s[2],s[3]]]),A.push([s[4],[s[5],s[6],s[7]]])):4!==s.length&&5!==s.length||A.push([s[0],[s[1],s[2],s[3]]]):r?4===s.length||5===s.length?(A.push([s[0],ze(s[1])]),A.push([s[2],ze(s[3])])):2!==s.length&&3!==s.length||A.push([s[0],ze(s[1])]):5===s.length?A.push([s[0],[s[1],s[2],s[3],s[4]]]):4===s.length?A.push([s[0],[s[1],s[2],s[3]]]):2===s.length&&A.push([s[0],s[1]])}return{paletteArray:A,mode:a}}var Ge="rgb";function je(t,e){if("string"==typeof t){if("%"===t[t.length-1]){var n=parseFloat(t)/100;if(n<0||n>1)throw new Error("Invalid value for a percentage ".concat(t));return e[0]+(e[1]-e[0])*n}return"N"===t?null:"B"===t||"F"===t?void 0:"nv"===t?null:"default"===t?void 0:"null"===t||"nodata"===t?null:parseFloat(t)}if("number"==typeof t)return t;throw new Error("Invalid state")}function He(t,e){var n,r,a;if(Array.isArray(t)){if(4===t.length)return(n={})[e[0]]=parseFloat(t[0].toString()),n[e[1]]=parseFloat(t[1].toString()),n[e[2]]=parseFloat(t[2].toString()),n.a=parseFloat(t[3].toString())/255,n;if(3===t.length)return(r={})[e[0]]=parseFloat(t[0].toString()),r[e[1]]=parseFloat(t[1].toString()),r[e[2]]=parseFloat(t[2].toString()),r;throw new Error("Invalid color ".concat(t))}if("string"==typeof t||"number"==typeof t)return t.toString().match(/\d+/)||"number"==typeof t?((a={})[e[0]]=parseFloat(t.toString()),a[e[1]]=parseFloat(t.toString()),a[e[2]]=parseFloat(t.toString()),a):t;throw new Error("Invalid color ".concat(t))}function _e(t,e){for(var n,r=void 0===e?{}:e,a=r.bounds,A=void 0===a?[0,1]:a,i=r.mode,o=void 0===i?Ge:i,s=[],l=[],c=0,g=t;c<g.length;c++){var h=g[c],u=h[0],f=h[1],C=je(u,A),E=He(f,o);null!=C?(s.push(E),l.push(C)):null===C&&(n=E)}var d=ot.scale(s).domain(l).mode(o);return void 0!==n&&(d=d.nodata(n)),d}function $e(t,e){var n=(void 0===e?{}:e).bounds,r=void 0===n?[0,1]:n;if("string"==typeof t)return function(t,e){var n=(void 0===e?{}:e).bounds,r=void 0===n?[0,1]:n,a=Ye(t);return _e(a.paletteArray,{bounds:r,mode:a.mode})}(t,{bounds:r});if(Array.isArray(t))return _e(t,{bounds:r});throw new Error("Invalid format")}class tn{addTo(t){t.appendChild(this.onAdd())}prependTo(t){t.prepend(this.onAdd())}remove(){this.onRemove()}updateConfig(t){this.setConfig({...this.getConfig(),...t})}}function en(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}}var nn,rn;en(".weatherlayers-legend-control{margin:10px;pointer-events:auto}.weatherlayers-legend-control>div{background:hsla(0,0%,100%,.5);color:rgba(0,0,0,.75);display:inline-block;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;line-height:14px;width:100%}.weatherlayers-legend-control header,.weatherlayers-legend-control main{margin:5px 10px}.weatherlayers-legend-control header{font-weight:700}.weatherlayers-legend-control .legend{margin-top:5px;vertical-align:middle;width:100%}");nn=new WeakMap,rn=new WeakMap;var an,An;en(".weatherlayers-tooltip-control{margin:10px;pointer-events:auto}.weatherlayers-tooltip-control>div{background:hsla(0,0%,100%,.5);color:rgba(0,0,0,.75);display:inline-block;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;line-height:20px;padding:0 5px}");an=new WeakMap,An=new WeakMap;const on="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";var sn,ln,cn,gn,hn,un,fn,Cn,En,dn,pn;en(".weatherlayers-timeline-control{margin:10px;pointer-events:auto}.weatherlayers-timeline-control>div{background:hsla(0,0%,100%,.5);color:rgba(0,0,0,.75);display:inline-block;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;line-height:14px;width:100%}.weatherlayers-timeline-control footer,.weatherlayers-timeline-control header,.weatherlayers-timeline-control main{margin:5px 10px;text-align:center}.weatherlayers-timeline-control header{font-weight:700}.weatherlayers-timeline-control footer{display:flex;gap:10px}.weatherlayers-timeline-control .progress-input{margin:-2px 0 2px;vertical-align:middle;width:100%}.weatherlayers-timeline-control .end-datetime,.weatherlayers-timeline-control .start-datetime{flex:0 0}.weatherlayers-timeline-control .buttons{flex:1 0}.weatherlayers-timeline-control .start-datetime{text-align:left}.weatherlayers-timeline-control .end-datetime{text-align:right}.weatherlayers-timeline-control .button{background:no-repeat 50%/contain;display:inline-block;height:16px;vertical-align:middle;width:16px}.weatherlayers-timeline-control .button+.button{margin-left:5px}.weatherlayers-timeline-control .play-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1576 927 248 1665q-23 13-39.5 3t-16.5-36V160q0-26 16.5-36t39.5 3l1328 738q23 13 23 31t-23 31z'/%3E%3C/svg%3E\")}.weatherlayers-timeline-control .pause-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1664 192v1408q0 26-19 45t-45 19h-512q-26 0-45-19t-19-45V192q0-26 19-45t45-19h512q26 0 45 19t19 45zm-896 0v1408q0 26-19 45t-45 19H192q-26 0-45-19t-19-45V192q0-26 19-45t45-19h512q26 0 45 19t19 45z'/%3E%3C/svg%3E\")}.weatherlayers-timeline-control .step-backward-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1363 141q19-19 32-13t13 32v1472q0 26-13 32t-32-13L653 941q-9-9-13-19v678q0 26-19 45t-45 19H448q-26 0-45-19t-19-45V192q0-26 19-45t45-19h128q26 0 45 19t19 45v678q4-10 13-19z'/%3E%3C/svg%3E\")}.weatherlayers-timeline-control .step-forward-button{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M429 1651q-19 19-32 13t-13-32V160q0-26 13-32t32 13l710 710q9 9 13 19V192q0-26 19-45t45-19h128q26 0 45 19t19 45v1408q0 26-19 45t-45 19h-128q-26 0-45-19t-19-45V922q-4 10-13 19z'/%3E%3C/svg%3E\")}.weatherlayers-timeline-control .loader{display:block;margin-top:2px}.weatherlayers-timeline-control .loader-icon{background:no-repeat 50%/contain;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' style='margin:auto;background:0 0;display:block;shape-rendering:auto' width='16' height='16' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Ccircle cx='50' cy='50' fill='none' stroke='rgba(0, 0, 0, 0.4)' stroke-width='10' r='25' stroke-dasharray='117.80972450961724 41.269908169872416'%3E%3CanimateTransform attributeName='transform' type='rotate' repeatCount='indefinite' dur='1s' values='0 50 50;360 50 50' keyTimes='0;1'/%3E%3C/circle%3E%3C/svg%3E\");display:inline-block;height:16px;vertical-align:middle;width:16px}.weatherlayers-timeline-control .loader-text{color:rgba(0,0,0,.4);margin-left:2px;vertical-align:middle}.weatherlayers-timeline-control.loading *{pointer-events:none}.weatherlayers-timeline-control.running .play-button,.weatherlayers-timeline-control:not(.running) .pause-button{display:none}.weatherlayers-timeline-control:not(.loading) .loader{visibility:hidden}");const In="loading",mn="running";ln=new WeakMap,cn=new WeakMap,gn=new WeakMap,hn=new WeakMap,sn=new WeakSet,un=function(){return l(this,hn,"f").running},fn=function(){if(!l(this,cn,"f"))return[];const t=l(this,cn,"f").querySelector("input");if(!t)return[];const e=l(this,ln,"f").datetimes[Math.floor(t.valueAsNumber)],n=l(this,ln,"f").datetimes[Math.ceil(t.valueAsNumber)];return e===n?[e]:[e,n]},Cn=function(){if(!l(this,cn,"f"))return;const t=l(this,cn,"f").querySelector(".current-datetime"),e=l(this,cn,"f").querySelector("input");if(!t||!e)return;const n=E(l(this,ln,"f").datetimes[Math.floor(e.valueAsNumber)],l(this,ln,"f").datetimes[Math.ceil(e.valueAsNumber)],e.valueAsNumber%1);l(this,ln,"f").datetime=n;const r=l(this,ln,"f").datetimeFormatFunction??I;t.innerHTML=r(n),l(this,ln,"f").onUpdate&&l(this,ln,"f").onUpdate(n)},En=async function(){l(this,gn,"f")||l(this,sn,"a",un)||(await l(this,sn,"m",pn).call(this,l(this,sn,"a",fn)),l(this,sn,"m",Cn).call(this))},dn=function(){if(!l(this,cn,"f")||l(this,gn,"f")||!l(this,sn,"a",un))return;const t=l(this,cn,"f").querySelector("input");t&&(t.value!==t.max?t.stepUp():t.value=t.min,l(this,sn,"m",Cn).call(this))},pn=async function(t){l(this,cn,"f")&&l(this,ln,"f").onPreload&&(c(this,gn,!0,"f"),l(this,cn,"f").classList.add(In),await l(this,ln,"f").onPreload(t),c(this,gn,!1,"f"),l(this,cn,"f").classList.remove(In))};var Qn,Bn;en(".weatherlayers-attribution-control{margin-top:2px;pointer-events:auto}.weatherlayers-attribution-control>div{background:hsla(0,0%,100%,.5);color:rgba(0,0,0,.75);display:inline-block;font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;line-height:20px;padding:0 5px}.weatherlayers-attribution-control a{color:rgba(0,0,0,.75);text-decoration:none}.weatherlayers-attribution-control a:hover{text-decoration:underline}");Qn=new WeakMap,Bn=new WeakMap;var vn,wn;en(".weatherlayers-logo-control{margin:10px;pointer-events:auto}.weatherlayers-logo-control a{background:no-repeat 50%/contain;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 131 23'%3E%3Cg opacity='.9'%3E%3Cpath d='M27.391 17.706h2.534l1.736-6.475h.132l1.765 6.475h2.52l2.761-10.569H36.07l-1.384 7.009h-.132l-1.75-7.009H30.65l-1.692 7.009h-.131L27.42 7.137h-2.79l2.761 10.569Zm15.092.19c2.615 0 3.611-1.53 3.846-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.116 4.262Zm-.036-6.687c.805 0 1.377.52 1.501 1.495h-3.003c.125-.96.703-1.495 1.502-1.495Zm7.028 6.622c1.04 0 1.912-.44 2.271-1.136h.139v1.011h2.549v-5.559c0-1.758-1.282-2.783-3.531-2.783-2.204 0-3.611.989-3.757 2.49l-.007.088h2.351l.014-.037c.154-.41.572-.637 1.253-.637.718 0 1.128.33 1.128.879v.637l-1.78.103c-2.102.132-3.259.988-3.259 2.468v.015c0 1.486 1.069 2.461 2.629 2.461Zm-.132-2.644v-.015c0-.484.403-.791 1.172-.842l1.37-.088v.534c0 .703-.637 1.245-1.458 1.245-.652 0-1.084-.322-1.084-.834Zm9.944 2.534c.49 0 .966-.044 1.237-.103v-1.853a5.19 5.19 0 0 1-.651.029c-.674 0-.982-.293-.982-.908v-3.428h1.633V9.554h-1.633V7.687h-2.6v1.867h-1.245v1.904h1.245v4.014c0 1.597.85 2.249 2.996 2.249Zm2.267-.015h2.593v-4.658c0-.938.498-1.575 1.34-1.575.879 0 1.282.557 1.282 1.546v4.687h2.593V12.44c0-1.956-.945-3.076-2.754-3.076-1.15 0-1.97.571-2.322 1.465h-.139V6.5h-2.593v11.206Zm12.719.19c2.615 0 3.611-1.53 3.846-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.116 4.262Zm-.036-6.687c.805 0 1.377.52 1.501 1.495h-3.003c.125-.96.703-1.495 1.502-1.495Zm4.816 6.497h2.593v-4.314c0-1.128.71-1.78 1.926-1.78.366 0 .74.052 1.084.139V9.562a2.733 2.733 0 0 0-.879-.132c-1.04 0-1.757.52-1.992 1.421h-.139V9.554h-2.593v8.152Zm6.443 0h7.177v-2.161h-4.489V7.137h-2.688v10.569Zm10.36.125c1.04 0 1.912-.44 2.271-1.136h.139v1.011h2.549v-5.559c0-1.758-1.282-2.783-3.53-2.783-2.205 0-3.611.989-3.758 2.49l-.007.088h2.351l.015-.037c.154-.41.571-.637 1.252-.637.718 0 1.128.33 1.128.879v.637l-1.78.103c-2.102.132-3.259.988-3.259 2.468v.015c0 1.486 1.069 2.461 2.629 2.461Zm-.131-2.644v-.015c0-.484.402-.791 1.171-.842l1.37-.088v.534c0 .703-.637 1.245-1.457 1.245-.652 0-1.084-.322-1.084-.834Zm7.233 5.397c2.3 0 3.589-.82 4.336-3.142l2.571-7.888h-2.74l-1.45 5.911h-.154l-1.45-5.911h-2.863l2.783 8.152-.037.227c-.08.476-.527.747-1.304.747-.212 0-.424 0-.571-.007v1.904c.293.007.586.007.879.007Zm10.896-2.688c2.614 0 3.61-1.53 3.845-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.117 4.262Zm-.037-6.687c.806 0 1.377.52 1.501 1.495h-3.003c.125-.96.704-1.495 1.502-1.495Zm4.816 6.497h2.593v-4.314c0-1.128.711-1.78 1.926-1.78.367 0 .74.052 1.084.139V9.562a2.733 2.733 0 0 0-.879-.132c-1.04 0-1.757.52-1.992 1.421h-.139V9.554h-2.593v8.152Zm9.468.19c2.212 0 3.735-1.083 3.735-2.775v-.008c0-1.223-.769-1.911-2.454-2.248l-1.406-.279c-.776-.161-1.025-.373-1.025-.739v-.015c0-.454.432-.725 1.076-.725.718 0 1.121.381 1.202.718l.014.051h2.373v-.037c-.044-1.303-1.23-2.475-3.589-2.475-2.19 0-3.581 1.018-3.581 2.644v.007c0 1.245.805 2.066 2.38 2.381l1.406.278c.74.154 1.018.373 1.018.754v.008c0 .439-.446.71-1.142.71-.754 0-1.165-.315-1.318-.732l-.015-.044h-2.52v.051c.162 1.421 1.429 2.475 3.846 2.475Z' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-opacity:.3;stroke-width:3px' transform='translate(-2.33)'/%3E%3Cpath d='M27.391 17.706h2.534l1.736-6.475h.132l1.765 6.475h2.52l2.761-10.569H36.07l-1.384 7.009h-.132l-1.75-7.009H30.65l-1.692 7.009h-.131L27.42 7.137h-2.79l2.761 10.569Zm15.092.19c2.615 0 3.611-1.53 3.846-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.116 4.262Zm-.036-6.687c.805 0 1.377.52 1.501 1.495h-3.003c.125-.96.703-1.495 1.502-1.495Zm7.028 6.622c1.04 0 1.912-.44 2.271-1.136h.139v1.011h2.549v-5.559c0-1.758-1.282-2.783-3.531-2.783-2.204 0-3.611.989-3.757 2.49l-.007.088h2.351l.014-.037c.154-.41.572-.637 1.253-.637.718 0 1.128.33 1.128.879v.637l-1.78.103c-2.102.132-3.259.988-3.259 2.468v.015c0 1.486 1.069 2.461 2.629 2.461Zm-.132-2.644v-.015c0-.484.403-.791 1.172-.842l1.37-.088v.534c0 .703-.637 1.245-1.458 1.245-.652 0-1.084-.322-1.084-.834Zm9.944 2.534c.49 0 .966-.044 1.237-.103v-1.853a5.19 5.19 0 0 1-.651.029c-.674 0-.982-.293-.982-.908v-3.428h1.633V9.554h-1.633V7.687h-2.6v1.867h-1.245v1.904h1.245v4.014c0 1.597.85 2.249 2.996 2.249Zm2.267-.015h2.593v-4.658c0-.938.498-1.575 1.34-1.575.879 0 1.282.557 1.282 1.546v4.687h2.593V12.44c0-1.956-.945-3.076-2.754-3.076-1.15 0-1.97.571-2.322 1.465h-.139V6.5h-2.593v11.206Zm12.719.19c2.615 0 3.611-1.53 3.846-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.116 4.262Zm-.036-6.687c.805 0 1.377.52 1.501 1.495h-3.003c.125-.96.703-1.495 1.502-1.495Zm4.816 6.497h2.593v-4.314c0-1.128.71-1.78 1.926-1.78.366 0 .74.052 1.084.139V9.562a2.733 2.733 0 0 0-.879-.132c-1.04 0-1.757.52-1.992 1.421h-.139V9.554h-2.593v8.152Zm6.443 0h7.177v-2.161h-4.489V7.137h-2.688v10.569Zm10.36.125c1.04 0 1.912-.44 2.271-1.136h.139v1.011h2.549v-5.559c0-1.758-1.282-2.783-3.53-2.783-2.205 0-3.611.989-3.758 2.49l-.007.088h2.351l.015-.037c.154-.41.571-.637 1.252-.637.718 0 1.128.33 1.128.879v.637l-1.78.103c-2.102.132-3.259.988-3.259 2.468v.015c0 1.486 1.069 2.461 2.629 2.461Zm-.131-2.644v-.015c0-.484.402-.791 1.171-.842l1.37-.088v.534c0 .703-.637 1.245-1.457 1.245-.652 0-1.084-.322-1.084-.834Zm7.233 5.397c2.3 0 3.589-.82 4.336-3.142l2.571-7.888h-2.74l-1.45 5.911h-.154l-1.45-5.911h-2.863l2.783 8.152-.037.227c-.08.476-.527.747-1.304.747-.212 0-.424 0-.571-.007v1.904c.293.007.586.007.879.007Zm10.896-2.688c2.614 0 3.61-1.53 3.845-2.504l.022-.088-2.373.007-.015.029c-.117.213-.564.711-1.428.711-.996 0-1.597-.674-1.619-1.839h5.486v-.747c0-2.49-1.56-4.101-4.014-4.101-2.461 0-4.021 1.633-4.021 4.262v.008c0 2.644 1.56 4.262 4.117 4.262Zm-.037-6.687c.806 0 1.377.52 1.501 1.495h-3.003c.125-.96.704-1.495 1.502-1.495Zm4.816 6.497h2.593v-4.314c0-1.128.711-1.78 1.926-1.78.367 0 .74.052 1.084.139V9.562a2.733 2.733 0 0 0-.879-.132c-1.04 0-1.757.52-1.992 1.421h-.139V9.554h-2.593v8.152Zm9.468.19c2.212 0 3.735-1.083 3.735-2.775v-.008c0-1.223-.769-1.911-2.454-2.248l-1.406-.279c-.776-.161-1.025-.373-1.025-.739v-.015c0-.454.432-.725 1.076-.725.718 0 1.121.381 1.202.718l.014.051h2.373v-.037c-.044-1.303-1.23-2.475-3.589-2.475-2.19 0-3.581 1.018-3.581 2.644v.007c0 1.245.805 2.066 2.38 2.381l1.406.278c.74.154 1.018.373 1.018.754v.008c0 .439-.446.71-1.142.71-.754 0-1.165-.315-1.318-.732l-.015-.044h-2.52v.051c.162 1.421 1.429 2.475 3.846 2.475Z' style='fill:%23fff;fill-rule:nonzero' transform='translate(-2.33)'/%3E%3Cpath d='m6.107 9.12-2.749 1.193a.68.68 0 0 0-.408.628c0 .275.16.522.407.629l2.75 1.193-2.749 1.192a.684.684 0 0 0-.408.63c0 .275.16.521.407.628l6.213 2.696a1.103 1.103 0 0 0 .877 0l6.212-2.695a.683.683 0 0 0 .408-.629.682.682 0 0 0-.407-.629l-2.75-1.193 2.749-1.193a.683.683 0 0 0 .409-.629.68.68 0 0 0-.408-.628l-2.75-1.194-1.144.497 3.054 1.326-5.736 2.488a.181.181 0 0 1-.151 0l-5.736-2.489 3.054-1.325-1.144-.496Zm9.713 5.465-5.736 2.489a.189.189 0 0 1-.151 0l-5.736-2.49 3.054-1.325 2.319 1.006a1.09 1.09 0 0 0 .877 0l2.319-1.006 3.054 1.326Zm-2.289-7.966c-.011.04-.039.066-.083.079l-1.207.378v1.206a.122.122 0 0 1-.054.103.128.128 0 0 1-.12.016L10.86 8.03l-.744.978a.13.13 0 0 1-.107.051.134.134 0 0 1-.108-.051l-.744-.978-1.207.371c-.038.015-.078.01-.12-.016a.121.121 0 0 1-.053-.103V7.076l-1.208-.378c-.044-.013-.071-.039-.082-.079-.014-.045-.008-.083.016-.114l.744-.978-.744-.977a.121.121 0 0 1-.016-.114c.011-.04.038-.066.082-.079l1.208-.378V2.773c0-.042.017-.077.053-.103.042-.026.082-.032.12-.016l1.207.371.744-.978A.131.131 0 0 1 10.009 2c.047 0 .083.016.107.047l.744.978 1.207-.371c.039-.016.079-.01.12.016a.122.122 0 0 1 .054.103v1.206l1.207.378c.044.013.072.039.083.079a.119.119 0 0 1-.017.114l-.744.977.744.978c.025.031.031.069.017.114M12.39 5.527c0-.307-.063-.601-.188-.88a2.287 2.287 0 0 0-1.269-1.21 2.422 2.422 0 0 0-.924-.18c-.323 0-.631.06-.924.18a2.284 2.284 0 0 0-1.269 1.21 2.115 2.115 0 0 0-.188.88c0 .308.062.602.188.881a2.284 2.284 0 0 0 1.269 1.21c.293.12.601.18.924.18.322 0 .63-.06.924-.18a2.287 2.287 0 0 0 1.269-1.21c.125-.279.188-.573.188-.881' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-opacity:.3;stroke-width:2.4px' transform='matrix(1.25 0 0 1.25 -2.188 -1)'/%3E%3Cpath d='m6.107 9.12-2.749 1.193a.68.68 0 0 0-.408.628c0 .275.16.522.407.629l2.75 1.193-2.749 1.192a.684.684 0 0 0-.408.63c0 .275.16.521.407.628l6.213 2.696a1.103 1.103 0 0 0 .877 0l6.212-2.695a.683.683 0 0 0 .408-.629.682.682 0 0 0-.407-.629l-2.75-1.193 2.749-1.193a.683.683 0 0 0 .409-.629.68.68 0 0 0-.408-.628l-2.75-1.194-1.144.497 3.054 1.326-5.736 2.488a.181.181 0 0 1-.151 0l-5.736-2.489 3.054-1.325-1.144-.496Zm9.713 5.465-5.736 2.489a.189.189 0 0 1-.151 0l-5.736-2.49 3.054-1.325 2.319 1.006a1.09 1.09 0 0 0 .877 0l2.319-1.006 3.054 1.326Zm-2.289-7.966c-.011.04-.039.066-.083.079l-1.207.378v1.206a.122.122 0 0 1-.054.103.128.128 0 0 1-.12.016L10.86 8.03l-.744.978a.13.13 0 0 1-.107.051.134.134 0 0 1-.108-.051l-.744-.978-1.207.371c-.038.015-.078.01-.12-.016a.121.121 0 0 1-.053-.103V7.076l-1.208-.378c-.044-.013-.071-.039-.082-.079-.014-.045-.008-.083.016-.114l.744-.978-.744-.977a.121.121 0 0 1-.016-.114c.011-.04.038-.066.082-.079l1.208-.378V2.773c0-.042.017-.077.053-.103.042-.026.082-.032.12-.016l1.207.371.744-.978A.131.131 0 0 1 10.009 2c.047 0 .083.016.107.047l.744.978 1.207-.371c.039-.016.079-.01.12.016a.122.122 0 0 1 .054.103v1.206l1.207.378c.044.013.072.039.083.079a.119.119 0 0 1-.017.114l-.744.977.744.978c.025.031.031.069.017.114M12.39 5.527c0-.307-.063-.601-.188-.88a2.287 2.287 0 0 0-1.269-1.21 2.422 2.422 0 0 0-.924-.18c-.323 0-.631.06-.924.18a2.284 2.284 0 0 0-1.269 1.21 2.115 2.115 0 0 0-.188.88c0 .308.062.602.188.881a2.284 2.284 0 0 0 1.269 1.21c.293.12.601.18.924.18.322 0 .63-.06.924-.18a2.287 2.287 0 0 0 1.269-1.21c.125-.279.188-.573.188-.881' style='fill:%23fff;fill-rule:nonzero' transform='matrix(1.25 0 0 1.25 -2.188 -1)'/%3E%3C/g%3E%3C/svg%3E\");display:inline-block;height:23px;margin:-1.5px;vertical-align:middle;width:131px}");vn=new WeakMap,wn=new WeakMap;var bn;t.GridStyle=void 0,(bn=t.GridStyle||(t.GridStyle={})).VALUE="VALUE",bn.ARROW="ARROW",bn.WIND_BARB="WIND_BARB",new Map([[t.GridStyle.ARROW,{iconAtlas:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAABkCAYAAACoy2Z3AAAFUmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjQwMCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjEwMCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjQwMCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTAwIgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI3Mi8xIgogICB0aWZmOllSZXNvbHV0aW9uPSI3Mi8xIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJv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",iconMapping:{0:{x:0,y:0,width:100,height:100,mask:!0},1:{x:100,y:0,width:100,height:100,mask:!0},2:{x:200,y:0,width:100,height:100,mask:!0},3:{x:300,y:0,width:100,height:100,mask:!0}}}],[t.GridStyle.WIND_BARB,{iconAtlas:"data:image/png;base64,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YOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYOCvs1WZAAECBAgQIECAAAECBAhsJmDg34zehQkQIECAAAECBAgQIECAQJ2Agb/OVmUCBAgQIECAAAECBAgQILCZgIF/M3oXJkCAAAECBAgQIECAAAECdQIG/jpblQkQIECAAAECBAgQIECAwGYCBv7N6F2YAAECBAgQIECAAAECBAjUCRj462xVJkCAAAECBAgQIECAAAECmwkY+Dejd2ECBAgQIECAAAECBAgQIFAnYODPs/2hiHgur9ziSk9GxMuLX+UFownI6Wgdb3O/ctpm30ZbtZyO1vE29yunbfZttFXLaWHHDfx5uFsFdRryn46It/O2olLHAnLacXM72pqcdtTMjrcipx03t6OtyWlHzex4K3Ja2FwDfx7u2kGdBvxp0Heqn9fDESrJ6Qhdbn+Pctp+D0fYgZyO0OX29yin7fdwhB3IaWGXDfx5uGsG1al+Xt9GqySno3W8zf3KaZt9G23Vcjpax9vcr5y22bfRVi2nhR038OfhrhFUp/p5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AQIECBBIEDDwJyAa+PMQVSoXODRInbqoU/3ylrjAAQEDv1gQIECAAAECBBIEDPwJiAb+PESVygXmDvxO9ctb4QInBAz84kGAAAECBAgQSBAw8CcgGvjzEFUqF5gz8DvVL2+DC5wRMPCLCAECBAgQIEAgQcDAn4Bo4M9DVKlc4NTA71S/nN8FZgoY+GdCeRoBAgQIECBA4JSAgT8vH96g5lmqVCdwbOB3ql9nrvJyAffT5WZeQYAAAQIECBD4gICBPy8U3qDmWapUJ3Aop69GxGN1l1SZwGIB99PFZF5AgAABAgQIEPiggIE/LxXeoOZZqlQnIKd1tirnCchpnqVKBAgQIECAwMACBv685nuDmmepUp2AnNbZqpwnIKd5lioRIECAAAECAwsY+POa7w1qnqVKdQJyWmercp6AnOZZqkSAAAECBAgMLGDgz2u+N6h5lirVCchpna3KeQJymmepEgECBAgQIDCwgIE/r/neoOZZqlQnIKd1tirnCchpnqVKBAgQIECAwMACBv685nuDmmepUp2AnNbZqpwnIKd5lioRIECAAAECAwsY+POa7w1qnqVKdQJyWmercp6AnOZZqkSAAAECBAgMLGDgz2u+N6h5lirVCchpna3KeQJymmepEgECBAgQIDCwgIE/r/neoOZZqlQnIKd1tirnCchpnqVKBAgQIECAwMACBv685nuDmmepUp2AnNbZqpwnIKd5lioRIECAAAECAwsY+POa7w1qnqVKdQJyWmercp6AnOZZqkSAAAECBAgMLGDgz2u+N6h5lirVCchpna3KeQJymmepEgECBAgQIDCwgIE/r/neoOZZqlQnIKd1tirnCchpnqVKBAgQIECAwMACBv685nuDmmepUp2AnNbZqpwnIKd5lioRIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIDCwgIF/4ObbOgECBAgQIECAAAECBAj0K2Dg77e3dkaAAAECBAgQIECAAAECAwsY+Aduvq0TIECAAAECBAgQIECAQL8CBv5+e2tnBAgQIECAAAECBAgQIPD/t1/HBAAAAAjC+re2hyyC8yIsIPjD55tOgAABAgQIECBAgAABAr8Cgv/3W8sIECBAgAABAgQIECBAICwg+MPnm06AAAECBAgQIECAAAECvwKC//dbywgQIECAAAECBAgQIEAgLCD4w+ebToAAAQIECBAgQIAAAQK/AoL/91vLCBAgQIAAAQIECBAgQCAsIPjD55tOgAABAgQIECBAgAABAr8Cgv/3W8sIECBAgAABAgQIECBAICwg+MPnm06AAAECBAgQIECAAAECvwKC//dbywgQIECAAAECBAgQIEAgLCD4w+ebToAAAQIECBAgQIAAAQK/AgOYR34g/YMI8gAAAABJRU5ErkJggg==",iconMapping:{0:{x:0,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},1:{x:170,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},2:{x:340,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},3:{x:510,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},4:{x:680,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},5:{x:850,y:0,width:170,height:170,anchorX:85,anchorY:133,mask:!0},6:{x:0,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},7:{x:170,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},8:{x:340,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},9:{x:510,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},10:{x:680,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},11:{x:850,y:170,width:170,height:170,anchorX:85,anchorY:133,mask:!0},12:{x:0,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},13:{x:170,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},14:{x:340,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},15:{x:510,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},16:{x:680,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},17:{x:850,y:340,width:170,height:170,anchorX:85,anchorY:133,mask:!0},18:{x:0,y:510,width:170,height:170,anchorX:85,anchorY:133,mask:!0},19:{x:170,y:510,width:170,height:170,anchorX:85,anchorY:133,mask:!0},20:{x:340,y:510,width:170,height:170,anchorX:85,anchorY:133,mask:!0}},iconBounds:[0,51.444]}]]);const yn={getRasterImage:function(t,e,n,r,a,A){const{width:i,height:o}=t,s=K(t,null,e,n,0,r,a),l=$e(A),c=document.createElement("canvas");c.width=i,c.height=o;const g=c.getContext("2d"),h=g.createImageData(i,o);for(let t=0;t<o;t++)for(let e=0;e<i;e++){const n=e+t*i,r=4*(e+t*i),a=s.data[n];if(isNaN(a)){const t=l(null).rgba();h.data[r]=t[0],h.data[r+1]=t[1],h.data[r+2]=t[2],h.data[r+3]=255*t[3];continue}const A=l(a).rgba();h.data[r]=A[0],h.data[r+1]=A[1],h.data[r+2]=A[2],h.data[r+3]=255*A[3]}return g.putImageData(h,0,0),c}},Tn=Symbol("Comlink.proxy"),On=Symbol("Comlink.endpoint"),kn=Symbol("Comlink.releaseProxy"),Mn=Symbol("Comlink.finalizer"),Nn=Symbol("Comlink.thrown"),Vn=t=>"object"==typeof t&&null!==t||"function"==typeof t,Dn=new Map([["proxy",{canHandle:t=>Vn(t)&&t[Tn],serialize(t){const{port1:e,port2:n}=new MessageChannel;return Sn(t,e),[n,[n]]},deserialize:t=>(t.start(),Un(t))}],["throw",{canHandle:t=>Vn(t)&&Nn in t,serialize(t){let e,{value:n}=t;return e=n instanceof Error?{isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:{isError:!1,value:n},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function Sn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["*"];e.addEventListener("message",(function r(a){if(!a||!a.data)return;if(!function(t,e){for(const n of t){if(e===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}return!1}(n,a.origin))return void console.warn(`Invalid origin '${a.origin}' for comlink proxy`);const{id:A,type:i,path:o}=Object.assign({path:[]},a.data),s=(a.data.argumentList||[]).map(Xn);let l;try{const e=o.slice(0,-1).reduce(((t,e)=>t[e]),t),n=o.reduce(((t,e)=>t[e]),t);switch(i){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=Xn(a.data.value),l=!0;break;case"APPLY":l=n.apply(e,s);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[Tn]:!0})}(new n(...s));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;Sn(t,n),l=Wn(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(t){l={value:t,[Nn]:0}}Promise.resolve(l).catch((t=>({value:t,[Nn]:0}))).then((n=>{const[a,o]=Kn(n);e.postMessage(Object.assign(Object.assign({},a),{id:A}),o),"RELEASE"===i&&(e.removeEventListener("message",r),qn(e),Mn in t&&"function"==typeof t[Mn]&&t[Mn]())})).catch((t=>{const[n,r]=Kn({value:new TypeError("Unserializable return value"),[Nn]:0});e.postMessage(Object.assign(Object.assign({},n),{id:A}),r)}))})),e.start&&e.start()}function qn(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function Un(t,e){return Zn(t,[],e)}function Ln(t){if(t)throw new Error("Proxy has been released and is not useable")}function xn(t){return zn(t,{type:"RELEASE"}).then((()=>{qn(t)}))}const Jn=new WeakMap,Pn="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(Jn.get(t)||0)-1;Jn.set(t,e),0===e&&xn(t)}));function Zn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=!1;const r=new Proxy(arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},{get(a,A){if(Ln(n),A===kn)return()=>{!function(t){Pn&&Pn.unregister(t)}(r),xn(t),n=!0};if("then"===A){if(0===e.length)return{then:()=>r};const n=zn(t,{type:"GET",path:e.map((t=>t.toString()))}).then(Xn);return n.then.bind(n)}return Zn(t,[...e,A])},set(r,a,A){Ln(n);const[i,o]=Kn(A);return zn(t,{type:"SET",path:[...e,a].map((t=>t.toString())),value:i},o).then(Xn)},apply(r,a,A){Ln(n);const i=e[e.length-1];if(i===On)return zn(t,{type:"ENDPOINT"}).then(Xn);if("bind"===i)return Zn(t,e.slice(0,-1));const[o,s]=Fn(A);return zn(t,{type:"APPLY",path:e.map((t=>t.toString())),argumentList:o},s).then(Xn)},construct(r,a){Ln(n);const[A,i]=Fn(a);return zn(t,{type:"CONSTRUCT",path:e.map((t=>t.toString())),argumentList:A},i).then(Xn)}});return function(t,e){const n=(Jn.get(e)||0)+1;Jn.set(e,n),Pn&&Pn.register(t,e,t)}(r,t),r}function Fn(t){const e=t.map(Kn);return[e.map((t=>t[0])),(n=e.map((t=>t[1])),Array.prototype.concat.apply([],n))];var n}const Rn=new WeakMap;function Wn(t,e){return Rn.set(t,e),t}function Kn(t){for(const[e,n]of Dn)if(n.canHandle(t)){const[r,a]=n.serialize(t);return[{type:"HANDLER",name:e,value:r},a]}return[{type:"RAW",value:t},Rn.get(t)||[]]}function Xn(t){switch(t.type){case"HANDLER":return Dn.get(t.name).deserialize(t.value);case"RAW":return t.value}}function zn(t,e,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===a&&(t.removeEventListener("message",e),r(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:a},e),n)}))}const Yn=function(t){return t.on=t.addEventListener,t.off=t.removeEventListener,t},Gn=function(t){return function(){const e=function(t){try{return URL.createObjectURL(new Blob([t],{type:"application/javascript"}))}catch(e){const n=new BlobBuilder;return n.append(t),URL.createObjectURL(n.getBlob())}}(t),n=Yn(new Worker(e));n.objURL=e;const r=n.terminate;return n.on=n.addEventListener,n.off=n.removeEventListener,n.terminate=function(){return URL.revokeObjectURL(e),r.call(this)},n}},jn=function(t){return`var browserWorkerPolyFill = ${Yn.toString()};\nbrowserWorkerPolyFill(self);\n`+t},Hn=function(t){return t.toString().replace(/^function.+?{/,"").slice(0,-1)},_n=jn(Hn((function(){const t=Symbol("Comlink.proxy"),e=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),A=t=>"object"==typeof t&&null!==t||"function"==typeof t,i=new Map([["proxy",{canHandle:e=>A(e)&&e[t],serialize(t){const{port1:e,port2:n}=new MessageChannel;return o(t,e),[n,[n]]},deserialize(t){return t.start(),u(t,[],e);var e}}],["throw",{canHandle:t=>A(t)&&a in t,serialize(t){let e,{value:n}=t;return e=n instanceof Error?{isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:{isError:!1,value:n},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function o(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["*"];n.addEventListener("message",(function i(l){if(!l||!l.data)return;if(!function(t,e){for(const n of t){if(e===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}return!1}(A,l.origin))return void console.warn(`Invalid origin '${l.origin}' for comlink proxy`);const{id:c,type:g,path:h}=Object.assign({path:[]},l.data),u=(l.data.argumentList||[]).map(p);let f;try{const n=h.slice(0,-1).reduce(((t,e)=>t[e]),e),r=h.reduce(((t,e)=>t[e]),e);switch(g){case"GET":f=r;break;case"SET":n[h.slice(-1)[0]]=p(l.data.value),f=!0;break;case"APPLY":f=r.apply(n,u);break;case"CONSTRUCT":f=function(e){return Object.assign(e,{[t]:!0})}(new r(...u));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;o(e,n),f=E(t,[t])}break;case"RELEASE":f=void 0;break;default:return}}catch(t){f={value:t,[a]:0}}Promise.resolve(f).catch((t=>({value:t,[a]:0}))).then((t=>{const[a,A]=d(t);n.postMessage(Object.assign(Object.assign({},a),{id:c}),A),"RELEASE"===g&&(n.removeEventListener("message",i),s(n),r in e&&"function"==typeof e[r]&&e[r]())})).catch((t=>{const[e,r]=d({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},e),{id:c}),r)}))})),n.start&&n.start()}function s(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function l(t){if(t)throw new Error("Proxy has been released and is not useable")}function c(t){return I(t,{type:"RELEASE"}).then((()=>{s(t)}))}const g=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(g.get(t)||0)-1;g.set(t,e),0===e&&c(t)}));function u(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=!1;const A=new Proxy(arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},{get(e,i){if(l(a),i===n)return()=>{!function(t){h&&h.unregister(t)}(A),c(t),a=!0};if("then"===i){if(0===r.length)return{then:()=>A};const e=I(t,{type:"GET",path:r.map((t=>t.toString()))}).then(p);return e.then.bind(e)}return u(t,[...r,i])},set(e,n,A){l(a);const[i,o]=d(A);return I(t,{type:"SET",path:[...r,n].map((t=>t.toString())),value:i},o).then(p)},apply(n,A,i){l(a);const o=r[r.length-1];if(o===e)return I(t,{type:"ENDPOINT"}).then(p);if("bind"===o)return u(t,r.slice(0,-1));const[s,c]=f(i);return I(t,{type:"APPLY",path:r.map((t=>t.toString())),argumentList:s},c).then(p)},construct(e,n){l(a);const[A,i]=f(n);return I(t,{type:"CONSTRUCT",path:r.map((t=>t.toString())),argumentList:A},i).then(p)}});return function(t,e){const n=(g.get(e)||0)+1;g.set(e,n),h&&h.register(t,e,t)}(A,t),A}function f(t){const e=t.map(d);return[e.map((t=>t[0])),(n=e.map((t=>t[1])),Array.prototype.concat.apply([],n))];var n}const C=new WeakMap;function E(t,e){return C.set(t,e),t}function d(t){for(const[e,n]of i)if(n.canHandle(t)){const[r,a]=n.serialize(t);return[{type:"HANDLER",name:e,value:r},a]}return[{type:"RAW",value:t},C.get(t)||[]]}function p(t){switch(t.type){case"HANDLER":return i.get(t.name).deserialize(t.value);case"RAW":return t.value}}function I(t,e,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===a&&(t.removeEventListener("message",e),r(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:a},e),n)}))}const m=Math.sqrt(50),Q=Math.sqrt(10),B=Math.sqrt(2);function v(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),A=r/Math.pow(10,a),i=A>=m?10:A>=Q?5:A>=B?2:1;let o,s,l;return a<0?(l=Math.pow(10,-a)/i,o=Math.round(t*l),s=Math.round(e*l),o/l<t&&++o,s/l>e&&--s,l=-l):(l=Math.pow(10,a)*i,o=Math.round(t/l),s=Math.round(e/l),o*l<t&&++o,s*l>e&&--s),s<o&&.5<=n&&n<2?v(t,e,2*n):[o,s,l]}function w(t,e,n){return v(t=+t,e=+e,n=+n)[2]}function b(t){return Math.ceil(Math.log(function(t,e){let n=0;if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&++n;else{let r=-1;for(let a of t)null!=(a=e(a,++r,t))&&(a=+a)>=a&&++n}return n}(t))/Math.LN2)+1}var y=Array.prototype.slice;function T(t,e){return t-e}var O=t=>()=>t;function k(t,e){for(var n,r=-1,a=e.length;++r<a;)if(n=M(t,e[r]))return n;return 0}function M(t,e){for(var n=e[0],r=e[1],a=-1,A=0,i=t.length,o=i-1;A<i;o=A++){var s=t[A],l=s[0],c=s[1],g=t[o],h=g[0],u=g[1];if(N(s,g,e))return 0;c>r!=u>r&&n<(h-l)*(r-c)/(u-c)+l&&(a=-a)}return a}function N(t,e,n){var r,a,A,i;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(a=t[r=+(t[0]===e[0])],A=n[r],i=e[r],a<=A&&A<=i||i<=A&&A<=a)}function V(){}var D=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function S(){var t=1,e=1,n=b,r=o;function a(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(T);else{const n=function(t,e){let n,r;if(void 0===e)for(const e of t)null!=e&&(void 0===n?e>=e&&(n=r=e):(n>e&&(n=e),r<e&&(r=e)));else{let a=-1;for(let A of t)null!=(A=e(A,++a,t))&&(void 0===n?A>=A&&(n=r=A):(n>A&&(n=A),r<A&&(r=A)))}return[n,r]}(t,q);for(e=function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const r=e<t,[a,A,i]=r?v(e,t,n):v(t,e,n);if(!(A>=a))return[];const o=A-a+1,s=new Array(o);if(r)if(i<0)for(let t=0;t<o;++t)s[t]=(A-t)/-i;else for(let t=0;t<o;++t)s[t]=(A-t)*i;else if(i<0)for(let t=0;t<o;++t)s[t]=(a+t)/-i;else for(let t=0;t<o;++t)s[t]=(a+t)*i;return s}(...function(t,e,n){let r;for(;;){const a=w(t,e,n);if(a===r||0===a||!isFinite(a))return[t,e];a>0?(t=Math.floor(t/a)*a,e=Math.ceil(e/a)*a):a<0&&(t=Math.ceil(t*a)/a,e=Math.floor(e*a)/a),r=a}}(n[0],n[1],e),e);e[e.length-1]>=n[1];)e.pop();for(;e[1]<n[0];)e.shift()}return e.map((e=>A(t,e)))}function A(n,a){const A=null==a?NaN:+a;if(isNaN(A))throw new Error(`invalid value: ${a}`);var o=[],s=[];return function(n,r,a){var A,o,s,l,c,g,h=new Array,u=new Array;A=o=-1,l=U(n[0],r),D[l<<1].forEach(f);for(;++A<t-1;)s=l,l=U(n[A+1],r),D[s|l<<1].forEach(f);D[l<<0].forEach(f);for(;++o<e-1;){for(A=-1,l=U(n[o*t+t],r),c=U(n[o*t],r),D[l<<1|c<<2].forEach(f);++A<t-1;)s=l,l=U(n[o*t+t+A+1],r),g=c,c=U(n[o*t+A+1],r),D[s|l<<1|c<<2|g<<3].forEach(f);D[l|c<<3].forEach(f)}A=-1,c=n[o*t]>=r,D[c<<2].forEach(f);for(;++A<t-1;)g=c,c=U(n[o*t+A+1],r),D[c<<2|g<<3].forEach(f);function f(t){var e,n,r=[t[0][0]+A,t[0][1]+o],s=[t[1][0]+A,t[1][1]+o],l=i(r),c=i(s);(e=u[l])?(n=h[c])?(delete u[e.end],delete h[n.start],e===n?(e.ring.push(s),a(e.ring)):h[e.start]=u[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete u[e.end],e.ring.push(s),u[e.end=c]=e):(e=h[c])?(n=u[l])?(delete h[e.start],delete u[n.end],e===n?(e.ring.push(s),a(e.ring)):h[n.start]=u[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete h[e.start],e.ring.unshift(r),h[e.start=l]=e):h[l]=u[c]={start:l,end:c,ring:[r,s]}}D[c<<3].forEach(f)}(n,A,(function(t){r(t,n,A),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}(t)>0?o.push([t]):s.push(t)})),s.forEach((function(t){for(var e,n=0,r=o.length;n<r;++n)if(-1!==k((e=o[n])[0],t))return void e.push(t)})),{type:"MultiPolygon",value:a,coordinates:o}}function i(e){return 2*e[0]+e[1]*(t+1)*4}function o(n,r,a){n.forEach((function(n){var A=n[0],i=n[1],o=0|A,s=0|i,l=L(r[s*t+o]);A>0&&A<t&&o===A&&(n[0]=x(A,L(r[s*t+o-1]),l,a)),i>0&&i<e&&s===i&&(n[1]=x(i,L(r[(s-1)*t+o]),l,a))}))}return a.contour=A,a.size=function(n){if(!arguments.length)return[t,e];var r=Math.floor(n[0]),A=Math.floor(n[1]);if(!(r>=0&&A>=0))throw new Error("invalid size");return t=r,e=A,a},a.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?O(y.call(t)):O(t),a):n},a.smooth=function(t){return arguments.length?(r=t?o:V,a):r===o},a}function q(t){return isFinite(t)?t:NaN}function U(t,e){return null!=t&&+t>=e}function L(t){return null==t||isNaN(t=+t)?-1/0:t}function x(t,e,n,r){const a=r-e,A=n-e,i=isFinite(a)||isFinite(A)?a/A:Math.sign(a)/Math.sign(A);return isNaN(i)?t:t+i-.5}function J(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var P=Z;function Z(t,e,n){var r,a,A,i,o,s=t.length,l=R(t[0],e),c=[];for(n||(n=[]),r=1;r<s;r++){for(a=t[r-1],i=o=R(A=t[r],e);;){if(!(l|i)){c.push(a),i!==o?(c.push(A),r<s-1&&(n.push(c),c=[])):r===s-1&&c.push(A);break}if(l&i)break;l?l=R(a=F(a,A,l,e),e):i=R(A=F(a,A,i,e),e)}l=o}return c.length&&n.push(c),n}function F(t,e,n,r){return 8&n?[t[0]+(e[0]-t[0])*(r[3]-t[1])/(e[1]-t[1]),r[3]]:4&n?[t[0]+(e[0]-t[0])*(r[1]-t[1])/(e[1]-t[1]),r[1]]:2&n?[r[2],t[1]+(e[1]-t[1])*(r[2]-t[0])/(e[0]-t[0])]:1&n?[r[0],t[1]+(e[1]-t[1])*(r[0]-t[0])/(e[0]-t[0])]:null}function R(t,e){var n=0;return t[0]<e[0]?n|=1:t[0]>e[2]&&(n|=2),t[1]<e[1]?n|=4:t[1]>e[3]&&(n|=8),n}Z.polyline=Z,Z.polygon=function(t,e){var n,r,a,A,i,o,s;for(r=1;r<=8;r*=2){for(n=[],A=!(R(a=t[t.length-1],e)&r),i=0;i<t.length;i++)(s=!(R(o=t[i],e)&r))!==A&&n.push(F(a,o,r,e)),s&&n.push(o),a=o,A=s;if(!(t=n).length)break}return n};var W,K,X=J(P);function z(t){return t%1}function Y(t,e){return t.map(((n,r)=>t[r]+e[r]))}function G(t,e){return t.map(((n,r)=>t[r]*e))}function j(t,e){return t.map(((n,r)=>t[r]*e[r])).reduce(((t,e)=>t+e))}function H(t,e,n){return t*(1-n)+e*n}function _(t,e,n){return t.map(((r,a)=>H(t[a],e[a],n)))}function $(t,e){return e?255==t[3]:!isNaN(t[0])}function tt(t,e,n){if(e===W.VECTOR){const r=function(t,e,n){return e===W.VECTOR?n?[H(n[0],n[1],t[0]/255),H(n[0],n[1],t[1]/255)]:[t[0],t[1]]:[NaN,NaN]}(t,e,n);return Math.hypot(r[0],r[1])}return function(t,e,n){return e===W.VECTOR?0:n?H(n[0],n[1],t[0]/255):t[0]}(t,e,n)}function et(t,e,n,r,a,A){const{data:i,width:o,height:s}=t,l=i.length/(o*s),c=(n+a+.5)/e[0],g=(Math.max(0,r)+A+.5)/e[1],h=Math.floor(c*o),u=Math.floor(g*s);return new Array(l).fill(void 0).map(((t,e)=>i[(h+u*o)*l+e]))}!function(t){t.SCALAR="SCALAR",t.VECTOR="VECTOR"}(W||(W={})),function(t){t.NEAREST="NEAREST",t.LINEAR="LINEAR",t.CUBIC="CUBIC"}(K||(K={}));const nt=[3,-6,0,4].map((t=>t/6)),rt=[-1,6,-12,8].map((t=>t/6));function at(t){return[t*t*t,t*t,t,1]}function At(t,e,n,r,a){const A=Y(Y(Y(G(t,j(rt,at(a+1))),G(e,j(nt,at(a)))),G(n,j(nt,at(1-a)))),G(r,j(rt,at(2-a))));return A[3]=255==t[3]&&255==e[3]&&255==n[3]&&255==r[3]?255:0,A}function it(t,e,n,r,a){return n===K.CUBIC?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=z(a),l=z(A);return At(At(et(t,e,i,o,-1,-1),et(t,e,i,o,0,-1),et(t,e,i,o,1,-1),et(t,e,i,o,2,-1),s),At(et(t,e,i,o,-1,0),et(t,e,i,o,0,0),et(t,e,i,o,1,0),et(t,e,i,o,2,0),s),At(et(t,e,i,o,-1,1),et(t,e,i,o,0,1),et(t,e,i,o,1,1),et(t,e,i,o,2,1),s),At(et(t,e,i,o,-1,2),et(t,e,i,o,0,2),et(t,e,i,o,1,2),et(t,e,i,o,2,2),s),l)}(t,e,r,a):n===K.LINEAR?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=z(a),l=z(A);return _(_(et(t,e,i,o,0,0),et(t,e,i,o,1,0),s),_(et(t,e,i,o,0,1),et(t,e,i,o,1,1),s),l)}(t,e,r,a):function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5;return et(t,e,Math.round(a),Math.round(A),0,0)}(t,e,r,a)}function ot(t,e,n,r,a,A,i){const o=A+.5/n[0],s=i;if(e&&a>0){return _(it(t,n,r,o,s),it(e,n,r,o,s),a)}return it(t,n,r,o,s)}function st(t,e,n,r,a,A,i){const{width:o,height:s}=t,l=function(t,e,n){const r=1+Math.max(0,n);return[t/r,e/r]}(o,s,n),c=new Float32Array(o*s);for(let n=0;n<s;n++)for(let g=0;g<o;g++){const h=g+n*o,u=ot(t,e,l,r,a,g/o,n/s);let f;f=$(u,i)?tt(u,A,i):NaN,c[h]=f}return{data:c,width:o,height:s}}function lt(t,e,n,r){const a=Array.from(t).reduce(((t,e)=>isNaN(e)?t:Math.min(t,e)),1/0),A=Array.from(t).reduce(((t,e)=>isNaN(e)?t:Math.max(t,e)),-1/0),i=Math.ceil(a/r)*r,o=Math.floor(A/r)*r,s=new Array((o-i)/r+1).fill((()=>{})).map(((t,e)=>i+e*r));let l=S().size([e,n]).thresholds(s)(Array.from(t)).map((t=>t.coordinates.flat().map((e=>({coordinates:e,value:t.value}))))).flat();const c=1e-6,g=[c,c,e-c,n-c];l=l.map((t=>X.polyline(t.coordinates,g).map((e=>({coordinates:e,value:t.value}))))).flat();return l=l.filter((t=>{const e=function(t){const e=[Math.floor(Math.min(...t.map((t=>t[0])))),Math.floor(Math.min(...t.map((t=>t[1]))))],n=[Math.ceil(Math.max(...t.map((t=>t[0])))),Math.ceil(Math.max(...t.map((t=>t[1]))))];return[e[0],e[1],n[0],n[1]]}(t.coordinates);return e[2]-e[0]+1>=4&&e[3]-e[1]+1>=4})),l}function ct(t,e,n,r,a){const A=-180===r[0]&&180===r[2],i=function(t,e,n){const r=[n[0],n[3]],a=(n[2]-n[0])/t,A=(n[3]-n[1])/e;return t=>{const[e,n]=t;return[r[0]+e*a,r[1]-n*A]}}(e,n,r);let o=0,s=0;A&&(o=1,s=1,t=function(t,e,n,r,a){const A=[];for(let i=0;i<n;i++){const n=t.slice(i*e,(i+1)*e);A.push(...n.slice(n.length-r,n.length)),A.push(...n),A.push(...n.slice(0,a))}return new Float32Array(A)}(t,e,n,o,s),e+=o+s),t=function(t,e,n){const r=new Float32Array(t.length);for(let a=0;a<n;a++)for(let A=0;A<e;A++){const i=A+a*e;if(A>=1&&A<=e-2&&a>=1&&a<=n-2){const n=[t[A-1+(a-1)*e],t[A+(a-1)*e],t[A+1+(a-1)*e],t[A-1+a*e],t[A+a*e],t[A+1+a*e],t[A-1+(a+1)*e],t[A+(a+1)*e],t[A+1+(a-1)*e]];r[i]=n.reduce(((t,e)=>t+e),0)/n.length}else r[i]=t[i]}return r}(t,e,n);let l=lt(t,e,n,a);l=l.map((t=>({coordinates:t.coordinates.map((t=>(t=[t[0]-o,t[1]],t=i(t)))),value:t.value}))),A&&(l=l.map((t=>X.polyline(t.coordinates,r).map((e=>({coordinates:e,value:t.value}))))).flat());return new Float32Array([l.length,...l.map((t=>[t.coordinates.length,...t.coordinates.flat(),t.value])).flat()])}o({getContourLineData(t,e,n,r,a,A,i,o,s,l,c){const g=function(t,e,n,r,a,A,i,o,s,l,c){return ct(st({data:t,width:n,height:r},e?{data:e,width:n,height:r}:null,a,A,i,o,s).data,n,r,l,c)}(t,e,n,r,a,A,i,o,s,l,c);return E(g,[g.buffer])}})})));const $n=Un(Gn(_n)());const tr=(t,e)=>(180*Math.atan2(e.y-t.y,e.x-t.x)/Math.PI+90+360)%360,er=(t,e)=>{let{value:n,isInPixels:r}=t;return r?n/e:n},nr=(t,e)=>t.x===e.x&&t.y===e.y;function rr(t){return t.reduce(((t,e,n,r)=>{if(n>0&&!nr(e,r[n-1])){const a=r[n-1],A=t.length>0?t[t.length-1].distB:0,i=function(t,e){const n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}(a,e);t.push({a:a,b:e,distA:A,distB:A+i,heading:tr(a,e)})}return t}),[])}function ar(t,e,n){return e.x!==t.x?{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}:{x:t.x,y:t.y+(e.y-t.y)*n}}const Ar={getContourLines:async function(t,e,n,r,a,A,i,o,s){const{data:l,width:c,height:g}=t,{data:h}=e||{},u=l.slice(0),f=h?h.slice(0):null;return{type:"FeatureCollection",features:function(t){let e=0;const n=[],r=t[e++];for(let a=0;a<r;a++){const r=[],a=t[e++];for(let n=0;n<a;n++){const n=[t[e++],t[e++]];r.push(n)}const A=t[e++];n.push({type:"Feature",geometry:{type:"LineString",coordinates:r},properties:{value:A}})}return n}(await $n.getContourLineData(Wn(u,[u.buffer]),f?Wn(f,[f.buffer]):null,c,g,n,r,a,A,i,o,s))}},getContourLabels:function(t){return t.map((t=>function(t,e){const n=rr(t),r=n.length;if(0===r)return[];const a=n[r-1].distB,A=er(e.offset,a),i=er(e.endOffset,a),o=a*er(e.repeat,a),s=i>0?a*i:0,l=[];let c=A>0?a*A:0;do{l.push(c),c+=o}while(o>0&&c<a-s);let g=0,h=n[0];return l.map((t=>{for(;t>h.distB&&g<r-1;)g++,h=n[g];const e=(t-h.distA)/(h.distB-h.distA);return{pt:ar(h.a,h.b,e),heading:h.heading}}))}(t.geometry.coordinates.map((t=>({x:t[0],y:t[1]}))),{offset:{value:.5,isInPixels:!1},endOffset:{value:.25,isInPixels:!1},repeat:{value:20,isInPixels:!0}}).map((e=>{const{pt:n,heading:r}=e,a=r-90+(r>180?-180:0);return{type:"Feature",geometry:{type:"Point",coordinates:[n.x,n.y]},properties:{value:t.properties.value,angle:a}}})))).flat()}},ir=jn(Hn((function(){const t=Symbol("Comlink.proxy"),e=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),r=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),A=t=>"object"==typeof t&&null!==t||"function"==typeof t,i=new Map([["proxy",{canHandle:e=>A(e)&&e[t],serialize(t){const{port1:e,port2:n}=new MessageChannel;return o(t,e),[n,[n]]},deserialize(t){return t.start(),u(t,[],e);var e}}],["throw",{canHandle:t=>A(t)&&a in t,serialize(t){let e,{value:n}=t;return e=n instanceof Error?{isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:{isError:!1,value:n},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function o(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["*"];n.addEventListener("message",(function i(l){if(!l||!l.data)return;if(!function(t,e){for(const n of t){if(e===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}return!1}(A,l.origin))return void console.warn(`Invalid origin '${l.origin}' for comlink proxy`);const{id:c,type:g,path:h}=Object.assign({path:[]},l.data),u=(l.data.argumentList||[]).map(p);let f;try{const n=h.slice(0,-1).reduce(((t,e)=>t[e]),e),r=h.reduce(((t,e)=>t[e]),e);switch(g){case"GET":f=r;break;case"SET":n[h.slice(-1)[0]]=p(l.data.value),f=!0;break;case"APPLY":f=r.apply(n,u);break;case"CONSTRUCT":f=function(e){return Object.assign(e,{[t]:!0})}(new r(...u));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;o(e,n),f=E(t,[t])}break;case"RELEASE":f=void 0;break;default:return}}catch(t){f={value:t,[a]:0}}Promise.resolve(f).catch((t=>({value:t,[a]:0}))).then((t=>{const[a,A]=d(t);n.postMessage(Object.assign(Object.assign({},a),{id:c}),A),"RELEASE"===g&&(n.removeEventListener("message",i),s(n),r in e&&"function"==typeof e[r]&&e[r]())})).catch((t=>{const[e,r]=d({value:new TypeError("Unserializable return value"),[a]:0});n.postMessage(Object.assign(Object.assign({},e),{id:c}),r)}))})),n.start&&n.start()}function s(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function l(t){if(t)throw new Error("Proxy has been released and is not useable")}function c(t){return I(t,{type:"RELEASE"}).then((()=>{s(t)}))}const g=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(g.get(t)||0)-1;g.set(t,e),0===e&&c(t)}));function u(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=!1;const A=new Proxy(arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},{get(e,i){if(l(a),i===n)return()=>{!function(t){h&&h.unregister(t)}(A),c(t),a=!0};if("then"===i){if(0===r.length)return{then:()=>A};const e=I(t,{type:"GET",path:r.map((t=>t.toString()))}).then(p);return e.then.bind(e)}return u(t,[...r,i])},set(e,n,A){l(a);const[i,o]=d(A);return I(t,{type:"SET",path:[...r,n].map((t=>t.toString())),value:i},o).then(p)},apply(n,A,i){l(a);const o=r[r.length-1];if(o===e)return I(t,{type:"ENDPOINT"}).then(p);if("bind"===o)return u(t,r.slice(0,-1));const[s,c]=f(i);return I(t,{type:"APPLY",path:r.map((t=>t.toString())),argumentList:s},c).then(p)},construct(e,n){l(a);const[A,i]=f(n);return I(t,{type:"CONSTRUCT",path:r.map((t=>t.toString())),argumentList:A},i).then(p)}});return function(t,e){const n=(g.get(e)||0)+1;g.set(e,n),h&&h.register(t,e,t)}(A,t),A}function f(t){const e=t.map(d);return[e.map((t=>t[0])),(n=e.map((t=>t[1])),Array.prototype.concat.apply([],n))];var n}const C=new WeakMap;function E(t,e){return C.set(t,e),t}function d(t){for(const[e,n]of i)if(n.canHandle(t)){const[r,a]=n.serialize(t);return[{type:"HANDLER",name:e,value:r},a]}return[{type:"RAW",value:t},C.get(t)||[]]}function p(t){switch(t.type){case"HANDLER":return i.get(t.name).deserialize(t.value);case"RAW":return t.value}}function I(t,e,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===a&&(t.removeEventListener("message",e),r(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:a},e),n)}))}const m=6371e3;function Q(t){return t/180*Math.PI}const B=6370972;function v(t,e){return function(t,e){const n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m,r=Q(t[1]),a=Q(t[0]),A=Q(e[1]),i=A-r,o=Q(e[0])-a,s=Math.sin(i/2)*Math.sin(i/2)+Math.cos(r)*Math.cos(A)*Math.sin(o/2)*Math.sin(o/2);return n*(2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s)))}(t,e,B)}var w,b;function y(t){return t%1}function T(t,e){return t.map(((n,r)=>t[r]+e[r]))}function O(t,e){return t.map(((n,r)=>t[r]*e))}function k(t,e){return t.map(((n,r)=>t[r]*e[r])).reduce(((t,e)=>t+e))}function M(t,e,n){return t*(1-n)+e*n}function N(t,e,n){return t.map(((r,a)=>M(t[a],e[a],n)))}function V(t,e){return e?255==t[3]:!isNaN(t[0])}function D(t,e,n){if(e===w.VECTOR){const r=function(t,e,n){return e===w.VECTOR?n?[M(n[0],n[1],t[0]/255),M(n[0],n[1],t[1]/255)]:[t[0],t[1]]:[NaN,NaN]}(t,e,n);return Math.hypot(r[0],r[1])}return function(t,e,n){return e===w.VECTOR?0:n?M(n[0],n[1],t[0]/255):t[0]}(t,e,n)}function S(t,e,n,r,a,A){const{data:i,width:o,height:s}=t,l=i.length/(o*s),c=(n+a+.5)/e[0],g=(Math.max(0,r)+A+.5)/e[1],h=Math.floor(c*o),u=Math.floor(g*s);return new Array(l).fill(void 0).map(((t,e)=>i[(h+u*o)*l+e]))}!function(t){t.SCALAR="SCALAR",t.VECTOR="VECTOR"}(w||(w={})),function(t){t.NEAREST="NEAREST",t.LINEAR="LINEAR",t.CUBIC="CUBIC"}(b||(b={}));const q=[3,-6,0,4].map((t=>t/6)),U=[-1,6,-12,8].map((t=>t/6));function L(t){return[t*t*t,t*t,t,1]}function x(t,e,n,r,a){const A=T(T(T(O(t,k(U,L(a+1))),O(e,k(q,L(a)))),O(n,k(q,L(1-a)))),O(r,k(U,L(2-a))));return A[3]=255==t[3]&&255==e[3]&&255==n[3]&&255==r[3]?255:0,A}function J(t,e,n,r,a){return n===b.CUBIC?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=y(a),l=y(A);return x(x(S(t,e,i,o,-1,-1),S(t,e,i,o,0,-1),S(t,e,i,o,1,-1),S(t,e,i,o,2,-1),s),x(S(t,e,i,o,-1,0),S(t,e,i,o,0,0),S(t,e,i,o,1,0),S(t,e,i,o,2,0),s),x(S(t,e,i,o,-1,1),S(t,e,i,o,0,1),S(t,e,i,o,1,1),S(t,e,i,o,2,1),s),x(S(t,e,i,o,-1,2),S(t,e,i,o,0,2),S(t,e,i,o,1,2),S(t,e,i,o,2,2),s),l)}(t,e,r,a):n===b.LINEAR?function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5,i=Math.floor(a),o=Math.floor(A),s=y(a),l=y(A);return N(N(S(t,e,i,o,0,0),S(t,e,i,o,1,0),s),N(S(t,e,i,o,0,1),S(t,e,i,o,1,1),s),l)}(t,e,r,a):function(t,e,n,r){const a=n*e[0]-.5,A=r*e[1]-.5;return S(t,e,Math.round(a),Math.round(A),0,0)}(t,e,r,a)}function P(t,e,n,r,a,A,i){const o=A+.5/n[0],s=i;if(e&&a>0){return N(J(t,n,r,o,s),J(e,n,r,o,s),a)}return J(t,n,r,o,s)}function Z(t,e,n,r,a,A,i){const{width:o,height:s}=t,l=function(t,e,n){const r=1+Math.max(0,n);return[t/r,e/r]}(o,s,n),c=new Float32Array(o*s);for(let n=0;n<s;n++)for(let g=0;g<o;g++){const h=g+n*o,u=P(t,e,l,r,a,g/o,n/s);let f;f=V(u,i)?D(u,A,i):NaN,c[h]=f}return{data:c,width:o,height:s}}function F(t,e,n,r,a){const A=1e3*a,i=function(t,e,n){const r=[n[0],n[3]],a=(n[2]-n[0])/t,A=(n[3]-n[1])/e;return t=>{const[e,n]=t;return[r[0]+e*a,r[1]-n*A]}}(e,n,r);t=function(t,e,n){const r=new Float32Array(t.length);for(let a=0;a<n;a++)for(let A=0;A<e;A++){const i=A+a*e;if(A>=1&&A<=e-2&&a>=1&&a<=n-2){const n=[t[A-1+(a-1)*e],t[A+(a-1)*e],t[A+1+(a-1)*e],t[A-1+a*e],t[A+a*e],t[A+1+a*e],t[A-1+(a+1)*e],t[A+(a+1)*e],t[A+1+(a-1)*e]];r[i]=n.reduce(((t,e)=>t+e),0)/n.length}else r[i]=t[i]}return r}(t,e,n);let o=[],s=[];for(let r=1;r<n-1;r++)for(let n=1;n<e-1;n++){const a=t[n+r*e];if(!isNaN(a)&&a>=t[n+1+r*e]&&a>=t[n+1+(r+1)*e]&&a>=t[n+(r+1)*e]&&a>=t[n-1+(r+1)*e]&&a>t[n-1+r*e]&&a>t[n-1+(r-1)*e]&&a>t[n+(r-1)*e]&&a>t[n+1+(r-1)*e]){const t=i([n,r]);o.push({position:t,value:a})}if(!isNaN(a)&&a<=t[n+1+r*e]&&a<=t[n+1+(r+1)*e]&&a<=t[n+(r+1)*e]&&a<=t[n-1+(r+1)*e]&&a<t[n-1+r*e]&&a<t[n-1+(r-1)*e]&&a<t[n+(r-1)*e]&&a<t[n+1+(r-1)*e]){const t=i([n,r]);s.push({position:t,value:a})}}o=o.sort(((t,e)=>e.value-t.value)),s=s.sort(((t,e)=>t.value-e.value));const l=[...o];for(let t=0;t<l.length;t++){const e=l[t];if(e)for(let n=t+1;n<l.length;n++){const t=l[n];t&&v(e.position,t.position)<A&&(l[n]=void 0)}}o=l.filter((t=>!!t));const c=[...s];for(let t=0;t<c.length;t++){const e=c[t];if(e)for(let n=t+1;n<c.length;n++){const t=c[n];t&&v(e.position,t.position)<A&&(c[n]=void 0)}}s=c.filter((t=>!!t));return new Float32Array([o.length,...o.map((t=>[...t.position,t.value])).flat(),s.length,...s.map((t=>[...t.position,t.value])).flat()])}o({getHighLowPointData(t,e,n,r,a,A,i,o,s,l,c){const g=function(t,e,n,r,a,A,i,o,s,l,c){return F(Z({data:t,width:n,height:r},e?{data:e,width:n,height:r}:null,a,A,i,o,s).data,n,r,l,c)}(t,e,n,r,a,A,i,o,s,l,c);return E(g,[g.buffer])}})})));var or,sr=Gn(ir);!function(t){t.LOW="L",t.HIGH="H"}(or||(or={}));const lr=Un(sr());const cr={getHighLowPoints:async function(t,e,n,r,a,A,i,o,s){const{data:l,width:c,height:g}=t,{data:h}=e||{},u=l.slice(0),f=h?h.slice(0):null;return{type:"FeatureCollection",features:function(t){let e=0;const n=[],r=t[e++];for(let a=0;a<r;a++){const r=[t[e++],t[e++]],a=t[e++];n.push({type:"Feature",geometry:{type:"Point",coordinates:r},properties:{type:or.HIGH,value:a}})}const a=t[e++];for(let r=0;r<a;r++){const r=[t[e++],t[e++]],a=t[e++];n.push({type:"Feature",geometry:{type:"Point",coordinates:r},properties:{type:or.LOW,value:a}})}return n}(await lr.getHighLowPointData(Wn(u,[u.buffer]),f?Wn(f,[f.buffer]):null,c,g,n,r,a,A,i,o,s))}}};t.Animation=C,t.AttributionControl=class extends tn{constructor(t={}){super(),Qn.set(this,void 0),Bn.set(this,void 0),c(this,Qn,t,"f")}onAdd(){return c(this,Bn,document.createElement("div"),"f"),l(this,Bn,"f").className="weatherlayers-attribution-control",this.setConfig(l(this,Qn,"f")),l(this,Bn,"f")}onRemove(){l(this,Bn,"f")&&l(this,Bn,"f").parentNode&&(l(this,Bn,"f").parentNode.removeChild(l(this,Bn,"f")),c(this,Bn,void 0,"f"))}getConfig(){return{...l(this,Qn,"f")}}setConfig(t){if(!l(this,Bn,"f"))return;if(!t.attribution)return;if(l(this,Bn,"f").children.length>0&&l(this,Qn,"f").attribution===t.attribution)return;c(this,Qn,t,"f");const e=l(this,Qn,"f").attribution;l(this,Bn,"f").innerHTML=`<div>${e}</div>`}},t.ContourProvider=Ar,t.DEFAULT_ICON_COLOR=[255,255,255,102],t.DEFAULT_ICON_SIZE=40,t.DEFAULT_LINE_COLOR=[255,255,255,51],t.DEFAULT_LINE_WIDTH=1,t.DEFAULT_TEXT_COLOR=[153,153,153,255],t.DEFAULT_TEXT_FONT_FAMILY='"Helvetica Neue", Arial, Helvetica, sans-serif',t.DEFAULT_TEXT_FORMAT_FUNCTION=s,t.DEFAULT_TEXT_OUTLINE_COLOR=[13,13,13,255],t.DEFAULT_TEXT_OUTLINE_WIDTH=1,t.DEFAULT_TEXT_SIZE=12,t.HighLowProvider=cr,t.LegendControl=class extends tn{constructor(t={}){super(),nn.set(this,void 0),rn.set(this,void 0),c(this,nn,t,"f")}onAdd(){return c(this,rn,document.createElement("div"),"f"),l(this,rn,"f").className="weatherlayers-legend-control",this.setConfig(l(this,nn,"f")),l(this,rn,"f")}onRemove(){l(this,rn,"f")&&l(this,rn,"f").parentNode&&(l(this,rn,"f").parentNode.removeChild(l(this,rn,"f")),c(this,rn,void 0,"f"))}getConfig(){return{...l(this,nn,"f")}}setConfig(t){if(!l(this,rn,"f"))return;if(!t.title||!t.unitFormat||!t.palette)return;if(l(this,rn,"f").children.length>0&&l(this,nn,"f").width===t.width&&l(this,nn,"f").ticksCount===t.ticksCount&&l(this,nn,"f").title===t.title&&l(this,nn,"f").unitFormat===t.unitFormat&&l(this,nn,"f").palette===t.palette)return;c(this,nn,t,"f");const e=l(this,nn,"f").width??300,n=l(this,nn,"f").ticksCount??6,r=l(this,nn,"f").title,i=l(this,nn,"f").unitFormat,o=$e(l(this,nn,"f").palette),s=o.domain(),g=[s[0],s[s.length-1]],h=function(t,e){var n=void 0===e?{}:e,r=n.width,a=void 0===r?256:r,A=n.height,i=void 0===A?1:A,o=t.colors(a,"css"),s=document.createElement("canvas");s.width=a,s.height=i,s.style.imageRendering="-moz-crisp-edges",s.style.imageRendering="pixelated";for(var l=s.getContext("2d"),c=0;c<a;c++)l.fillStyle=o[c],l.fillRect(c,0,1,i);return s}(o),u=h.toDataURL();l(this,rn,"f").innerHTML="",l(this,rn,"f").style.width=`${e}px`;const f=document.createElement("div");l(this,rn,"f").appendChild(f);const C=document.createElement("header");f.appendChild(C);const E=document.createElement("span");E.className="text",E.innerHTML=`${r} [${A(i)}]`,C.appendChild(E);const d=document.createElement("main");f.appendChild(d);const p="http://www.w3.org/2000/svg",I=document.createElementNS(p,"svg");I.setAttribute("height","24px"),I.setAttribute("class","legend"),d.appendChild(I);const m=document.createElementNS(p,"image");m.setAttribute("href",u),m.setAttribute("width","100%"),m.setAttribute("height","5"),m.setAttribute("preserveAspectRatio","none"),I.appendChild(m);const Q=(g[1]-g[0])/(n-1);for(let t=0;t<n;t++){const e=g[0]+t*Q,r=a(e,i),A=document.createElementNS(p,"g");A.style.transform=`translate(${(e-g[0])/(g[1]-g[0])*100}%, 0)`,I.appendChild(A);const o=document.createElementNS(p,"line");o.setAttribute("y1","0"),o.setAttribute("y2","10"),o.style.stroke="currentColor",0===t?o.style.transform="translate(0.5px, 0)":t===n-1&&(o.style.transform="translate(-0.5px, 0)"),A.appendChild(o);const s=document.createElementNS(p,"text");s.innerHTML=r,s.setAttribute("x","0"),s.setAttribute("y","22"),s.style.textAnchor=0===t?"start":t===n-1?"end":"middle",A.appendChild(s)}}},t.LogoControl=class extends tn{constructor(t={}){super(),vn.set(this,void 0),wn.set(this,void 0),c(this,vn,t,"f")}onAdd(){return c(this,wn,document.createElement("div"),"f"),l(this,wn,"f").className="weatherlayers-logo-control",this.setConfig(l(this,vn,"f")),l(this,wn,"f")}onRemove(){l(this,wn,"f")&&l(this,wn,"f").parentNode&&(l(this,wn,"f").parentNode.removeChild(l(this,wn,"f")),c(this,wn,void 0,"f"))}getConfig(){return{...l(this,vn,"f")}}setConfig(t){if(!l(this,wn,"f"))return;c(this,vn,t,"f"),l(this,wn,"f").innerHTML="";const e=document.createElement("a");e.href="https://weatherlayers.com",e.target="_blank",e.ariaLabel="WeatherLayers",l(this,wn,"f").appendChild(e)}},t.RasterProvider=yn,t.TimelineControl=class extends tn{constructor(t={}){super(),sn.add(this),ln.set(this,void 0),cn.set(this,void 0),gn.set(this,!1),hn.set(this,void 0),c(this,ln,t,"f"),c(this,hn,new C({onUpdate:()=>l(this,sn,"m",dn).call(this),fps:l(this,ln,"f").fps??15}),"f")}onAdd(){return c(this,cn,document.createElement("div"),"f"),l(this,cn,"f").className="weatherlayers-timeline-control",this.setConfig(l(this,ln,"f")),l(this,cn,"f")}onRemove(){l(this,cn,"f")&&l(this,cn,"f").parentNode&&(l(this,cn,"f").parentNode.removeChild(l(this,cn,"f")),c(this,cn,void 0,"f"))}get loading(){return l(this,gn,"f")}get running(){return l(this,sn,"a",un)}async toggle(t=!l(this,sn,"a",un)){return t?await this.start():this.pause()}async start(){!l(this,cn,"f")||l(this,gn,"f")||l(this,sn,"a",un)||(await l(this,sn,"m",pn).call(this,l(this,ln,"f").datetimes),l(this,hn,"f").start(),l(this,cn,"f").classList.add(mn),l(this,sn,"m",Cn).call(this))}pause(){l(this,cn,"f")&&!l(this,gn,"f")&&l(this,sn,"a",un)&&(l(this,hn,"f").stop(),l(this,cn,"f").classList.remove(mn),l(this,sn,"m",Cn).call(this))}stop(){if(!l(this,cn,"f")||l(this,gn,"f")||!l(this,sn,"a",un))return;const t=l(this,cn,"f").querySelector("input");t&&(l(this,hn,"f").stop(),l(this,cn,"f").classList.remove(mn),t.valueAsNumber=0,l(this,sn,"m",Cn).call(this))}reset(){if(!l(this,cn,"f")||l(this,gn,"f")||l(this,sn,"a",un))return;const t=l(this,cn,"f").querySelector("input");t&&(t.valueAsNumber=0,l(this,sn,"m",Cn).call(this))}async stepBackward(){if(!l(this,cn,"f")||l(this,gn,"f")||l(this,sn,"a",un))return;const t=l(this,cn,"f").querySelector("input");t&&(t.value!==t.min?t.stepDown():t.value=t.max,await l(this,sn,"m",pn).call(this,l(this,sn,"a",fn)),l(this,sn,"m",Cn).call(this))}async stepForward(){if(!l(this,cn,"f")||l(this,gn,"f")||l(this,sn,"a",un))return;const t=l(this,cn,"f").querySelector("input");t&&(t.value!==t.max?t.stepUp():t.value=t.min,await l(this,sn,"m",pn).call(this,l(this,sn,"a",fn)),l(this,sn,"m",Cn).call(this))}getConfig(){return{...l(this,ln,"f")}}setConfig(t){if(!l(this,cn,"f"))return;if(!t.datetimes||t.datetimes.length<2||!t.datetime||t.datetime<t.datetimes[0]||t.datetime>t.datetimes[t.datetimes.length-1])return;if(l(this,cn,"f").children.length>0&&l(this,ln,"f").width===t.width&&l(this,ln,"f").datetimes.length===t.datetimes.length&&l(this,ln,"f").datetimes.every(((e,n)=>e===t.datetimes[n]))&&l(this,ln,"f").datetime===t.datetime&&l(this,ln,"f").datetimeInterpolate===t.datetimeInterpolate&&l(this,ln,"f").datetimeFormatFunction===t.datetimeFormatFunction&&l(this,ln,"f").onPreload===t.onPreload&&l(this,ln,"f").onUpdate===t.onUpdate)return;c(this,ln,t,"f");const e=l(this,ln,"f").width??300,n=l(this,ln,"f").datetimes,r=l(this,ln,"f").datetime,a=l(this,ln,"f").datetimeInterpolate,A=l(this,ln,"f").datetimeFormatFunction??I,i=function(t,e){for(let n=t.length-1;n>=0;n--)if(e.call(t,t[n],n,t))return n;return-1}(n,(t=>t<=r));if(i<0)throw new Error("Invalid state");const o=i<n.length-1?i+1:null,s=d(n[i],"number"==typeof o?n[i+1]:null,r),g=a?.25:1,h=i+Math.floor(s/g)*g;l(this,cn,"f").innerHTML="",l(this,cn,"f").style.width=`${e}px`;const u=document.createElement("div");l(this,cn,"f").appendChild(u);const f=document.createElement("header");u.appendChild(f);const C=document.createElement("span");C.className="current-datetime",C.innerHTML=A(r),f.appendChild(C);const E=document.createElement("main");u.appendChild(E);const p=`progress-input-ticks-${function(t=20){return new Array(t).fill(void 0).map((()=>on.charAt(Math.floor(62*Math.random())))).join("")}()}`,m=document.createElement("input");m.className="progress-input",m.type="range",m.min="0",m.max=""+(n.length-1),m.step=`${g}`,m.valueAsNumber=h,m.setAttribute("list",p),m.addEventListener("input",(()=>l(this,sn,"m",En).call(this))),E.appendChild(m);const Q=document.createElement("datalist");Q.id=p,E.appendChild(Q);for(let t=0;t<n.length;t++){const e=document.createElement("option");e.innerHTML=`${t}`,Q.appendChild(e)}const B=document.createElement("footer");u.appendChild(B);const v=document.createElement("span");v.className="start-datetime",v.innerHTML=A(n[0]),B.appendChild(v);const w=document.createElement("span");w.className="buttons",B.appendChild(w);const b=document.createElement("span");b.className="end-datetime",b.innerHTML=A(n[n.length-1]),B.appendChild(b);const y=document.createElement("a");y.href="javascript:void(0)",y.className="button step-backward-button",y.addEventListener("click",(()=>this.stepBackward())),w.appendChild(y);const T=document.createElement("a");T.href="javascript:void(0)",T.className="button play-button",T.addEventListener("click",(()=>this.start())),w.appendChild(T);const O=document.createElement("a");O.href="javascript:void(0)",O.className="button pause-button",O.addEventListener("click",(()=>this.pause())),w.appendChild(O);const k=document.createElement("a");k.href="javascript:void(0)",k.className="button step-forward-button",k.addEventListener("click",(()=>this.stepForward())),w.appendChild(k);const M=document.createElement("span");M.className="loader",w.appendChild(M);const N=document.createElement("span");N.className="loader-icon",M.appendChild(N);const V=document.createElement("span");V.className="loader-text",V.innerHTML="Loading...",M.appendChild(V)}},t.TooltipControl=class extends tn{constructor(t={}){super(),an.set(this,void 0),An.set(this,void 0),c(this,an,t,"f")}onAdd(){return c(this,An,document.createElement("div"),"f"),l(this,An,"f").className="weatherlayers-tooltip-control",this.setConfig(l(this,an,"f")),l(this,An,"f")}onRemove(){l(this,An,"f")&&l(this,An,"f").parentNode&&(l(this,An,"f").parentNode.removeChild(l(this,An,"f")),c(this,An,void 0,"f"))}getConfig(){return{...l(this,an,"f")}}setConfig(t){l(this,An,"f")&&t.unitFormat&&(l(this,An,"f").children.length>0&&l(this,an,"f").unitFormat===t.unitFormat||(c(this,an,t,"f"),l(this,An,"f").innerHTML=""))}update(t){if(!l(this,An,"f"))return;if(!t)return void(l(this,An,"f").innerHTML="");const e=l(this,an,"f").unitFormat,{value:n,direction:r}=t;let a=i(n,e);void 0!==r&&(a+=`, ${o(r)}`),l(this,An,"f").innerHTML=`<div>${a}</div>`}},t.ensureDefaultProps=function(t,e){const n=Object.create(t);for(const r in t)if(void 0===t[r]&&r in e){const t=e[r];n[r]=t&&"value"in t?t.value:t}return Object.freeze(n)},t.formatDatetime=I,t.formatDirection=o,t.formatUnit=A,t.formatValue=a,t.formatValueWithUnit=i,t.getClosestEndDatetime=function(t,e){return t.find((t=>t>=e))},t.getClosestStartDatetime=function(t,e){return[...t].reverse().find((t=>t<=e))},t.getDatetimeWeight=d,t.getRasterMagnitudeData=K,t.getRasterPoints=function(e,n,r,a,A,i,o,s,l){const{width:c,height:g}=e,h=function(t,e,n){const r=[n[0],n[3]],a=(n[2]-n[0])/t,A=(n[3]-n[1])/e;return t=>{const[e,n]=t;return[(e-r[0])/a,-(n-r[1])/A]}}(c,g,s),u=W(c,g,r);return{type:"FeatureCollection",features:l.map((r=>{const s=h(r),l=s[0]/c,f=s[1]/g,C=R(e,n,u,a,A,l,f);let E;if(S(C,o)){const e=U(C,i,o);if(i===t.ImageType.VECTOR){const n=function(e,n,r){if(n===t.ImageType.VECTOR){const t=q(e,n,r);return(360-(Math.atan2(t[1],t[0])/Math.PI*180+180)-270)%360}return NaN}(C,i,o);E={value:e,direction:n}}else E={value:e}}else E={value:NaN};return{type:"Feature",geometry:{type:"Point",coordinates:r},properties:E}}))}},t.interpolateDatetime=E,t.loadJson=T,t.loadTextureData=y,t.offsetDatetime=p,t.offsetDatetimeRange=function(t,e,n){return[p(t,e),p(t,n)]}}));
//# sourceMappingURL=weatherlayers-standalone.umd.min.js.map