vendor: 21,126 bytes, line 1
1import{r as e}from"./B0Z9INg1.js";import{At as t,C as n,E as r,G as i,Gt as a,K as o,N as s,O as c,R as l,S as u,St as d,T as f,V as p,Xt as m,Y as h,b as g,d as _,g as v,h as y,ht as b,i as x,it as S,j as C,lt as w,n as T,p as E,qt as D,t as O,tt as k,x as A,y as j}from"./_SZthzQI.js";import{f as ee,p as te}from"./BLdQXVH8.js";import{t as ne}from"./D_AlmziQ.js";import{t as re}from"#entry";import{t as ie}from"./Dma-cO9c.js";import{t as ae}from"./CFQFtgBu.js";import{n as oe,t as se}from"./D1WR5Ukg.js";import{t as ce}from"./BoXrGDxE.js";import{t as le}from"./BzS-8e_2.js";import{a as ue,i as de,n as fe,r as pe,t as me}from"./BjZ7BwTA.js";import{t as he}from"./Ds_y3U0x.js";var ge=Object.create,_e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,ye=Object.getOwnPropertyNames,be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty,Se=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Ce=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ye(t),a=0,o=i.length,s;a<o;a++)s=i[a],!xe.call(e,s)&&s!==n&&_e(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ve(t,s))||r.enumerable});return e},we=(e,t,n)=>(n=e==null?{}:ge(be(e)),Ce(t||!e||!e.__esModule||!xe.call(e,`default`)?_e(n,`default`,{value:e,enumerable:!0}):n,e));function M(e,t){this.x=e,this.y=t}M.prototype={clone(){return new M(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,n=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=n,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),i=t.x+n*(this.x-t.x)-r*(this.y-t.y),a=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=i,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:M},M.convert=function(e){if(e instanceof M)return e;if(Array.isArray(e))return new M(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new M(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)};function Te(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}var Ee;function De(){return Ee??=typeof OffscreenCanvas<`u`&&!!new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,Ee}var Oe;function ke(){if(Oe==null&&(Oe=!1,De())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=t*4;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){Oe=!0;break}}}return Oe||!1}var Ae=typeof Float32Array<`u`?Float32Array:Array;function je(){var e=new Ae(9);return Ae!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Me(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*(l*a-o*c)+n*(-l*i+o*s)+r*(c*i-a*s)}function Ne(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Pe(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[3]=u-_,e[6]=f+g,e[1]=u+_,e[4]=1-l-m,e[7]=p-h,e[2]=f-g,e[5]=p+h,e[8]=1-l-d,e}function Fe(){var e=new Ae(16);return Ae!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ie(e){var t=new Ae(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Le(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Re(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ze(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(A=1/A,e[0]=(s*k-c*O+l*D)*A,e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null}function Be(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function Ve(e,t,n){var r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function He(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ue(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function We(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function Ge(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function Ke(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function qe(e,t,n,r,i){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(r-i);e[10]=(i+r)*o,e[14]=2*i*r*o}else e[10]=-1,e[14]=-2*r;return e}var Je=qe;function Ye(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}var Xe=Ye;function N(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Ze(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=e[9],f=e[10],p=e[11],m=e[12],h=e[13],g=e[14],_=e[15],v=t[0],y=t[1],b=t[2],x=t[3],S=t[4],C=t[5],w=t[6],T=t[7],E=t[8],D=t[9],O=t[10],k=t[11],A=t[12],j=t[13],ee=t[14],te=t[15];return Math.abs(n-v)<=1e-6*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=1e-6*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-x)<=1e-6*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(o-S)<=1e-6*Math.max(1,Math.abs(o),Math.abs(S))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-w)<=1e-6*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(l-T)<=1e-6*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(u-E)<=1e-6*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(d-D)<=1e-6*Math.max(1,Math.abs(d),Math.abs(D))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(p-k)<=1e-6*Math.max(1,Math.abs(p),Math.abs(k))&&Math.abs(m-A)<=1e-6*Math.max(1,Math.abs(m),Math.abs(A))&&Math.abs(h-j)<=1e-6*Math.max(1,Math.abs(h),Math.abs(j))&&Math.abs(g-ee)<=1e-6*Math.max(1,Math.abs(g),Math.abs(ee))&&Math.abs(_-te)<=1e-6*Math.max(1,Math.abs(_),Math.abs(te))}function Qe(){var e=new Ae(3);return Ae!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function $e(e){var t=new Ae(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function et(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function tt(e,t,n){var r=new Ae(3);return r[0]=e,r[1]=t,r[2]=n,r}function nt(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function rt(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function it(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function at(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function ot(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function st(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function ct(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function lt(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function ut(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}function dt(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e}function ft(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function pt(e,t,n){var r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s;return u+=u,d+=d,f+=f,e[0]=s+o*u+i*f-a*d,e[1]=c+o*d+a*u-r*f,e[2]=l+o*f+r*d-i*u,e}function mt(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function ht(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function gt(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function _t(e){return e[0]=0,e[1]=0,e[2]=0,e}var vt=rt,yt=et;(function(){var e=Qe();return function(t,n,r,i,a,o){var s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})();function bt(){var e=new Ae(4);return Ae!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function xt(e,t,n,r){var i=new Ae(4);return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}function St(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function Ct(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function wt(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*n+r*r+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=n*o,e[1]=r*o,e[2]=i*o,e[3]=a*o,e}function Tt(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}var Et=St;(function(){var e=bt();return function(t,n,r,i,a,o){var s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})();function Dt(){var e=new Ae(4);return Ae!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Ot(e,t,n){n*=.5;var r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function kt(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=n[0],c=n[1],l=n[2],u=n[3];return e[0]=r*u+o*s+i*l-a*c,e[1]=i*u+o*c+a*s-r*l,e[2]=a*u+o*l+r*c-i*s,e[3]=o*u-r*s-i*c-a*l,e}function At(e,t,n,r){var i=t[0],a=t[1],o=t[2],s=t[3],c=n[0],l=n[1],u=n[2],d=n[3],f,p=i*c+a*l+o*u+s*d,m,h,g;return p<0&&(p=-p,c=-c,l=-l,u=-u,d=-d),1-p>1e-6?(f=Math.acos(p),m=Math.sin(f),h=Math.sin((1-r)*f)/m,g=Math.sin(r*f)/m):(h=1-r,g=r),e[0]=h*i+g*c,e[1]=h*a+g*l,e[2]=h*o+g*u,e[3]=h*s+g*d,e}function jt(e,t){var n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[a*3+o]-t[o*3+a])*r,e[a]=(t[a*3+i]+t[i*3+a])*r,e[o]=(t[o*3+i]+t[i*3+o])*r}return e}function Mt(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`zyx`,a=Math.PI/360;t*=a,r*=a,n*=a;var o=Math.sin(t),s=Math.cos(t),c=Math.sin(n),l=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(i){case`xyz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`xzy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d+o*c*u;break;case`yxz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;case`yzx`:e[0]=o*l*d+s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d-o*c*u;break;case`zxy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`zyx`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;default:throw Error(`Unknown angle order `+i)}return e}var Nt=xt,Pt=wt;(function(){var e=Qe(),t=tt(1,0,0),n=tt(0,1,0);return function(r,i,a){var o=lt(i,a);return o<-.999999?(ut(e,t,i),yt(e)<1e-6&&ut(e,n,i),ct(e,e),Ot(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(ut(e,i,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,Pt(r,r))}})(),function(){var e=Dt(),t=Dt();return function(n,r,i,a,o,s){return At(e,r,o,s),At(t,i,a,s),At(n,e,t,2*s*(1-s)),n}}(),function(){var e=je();return function(t,n,r,i){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],Pt(t,jt(t,e))}}();function Ft(){var e=new Ae(2);return Ae!=Float32Array&&(e[0]=0,e[1]=0),e}function It(e,t){var n=new Ae(2);return n[0]=e,n[1]=t,n}function Lt(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function Rt(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)}function zt(e){var t=e[0],n=e[1];return t*t+n*n}function Bt(e,t){return e[0]*t[0]+e[1]*t[1]}function Vt(e){return e[0]=0,e[1]=0,e}var Ht=zt;(function(){var e=Ft();return function(t,n,r,i,a,o){var s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})();var P=8192;function Ut(e,t,n){return t*(P/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function Wt(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function Gt(){return new Float64Array(4)}function Kt(){return new Float64Array(3)}function qt(){return new Float64Array(16)}function Jt(){let e=new Float64Array(16);return Re(e),e}function Yt(){let e=new Float32Array(16);return Re(e),e}function Xt(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:Ut(t,n[0],e.zoom),i?n[1]:Ut(t,n[1],e.zoom)]}function Zt(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}function Qt(e,t,n){let r=Me([e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]]);if(r===0)return null;let i=ut([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),a=ut([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),o=ut([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),s=it([],i,-e[3]);return nt(s,s,it([],a,-t[3])),nt(s,s,it([],o,-n[3])),it(s,s,1/r),s}function $t(e,t,n){let r=e[0]*n[0]+e[1]*n[1]+e[2]*n[2],i=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return i===0?null:(-r-n[3])/i}function en(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=e*n+t*r,s=Math.acos(o);return-t*n+e*r>0?s:-s}function tn(e,t){let n=rn(e,360),r=rn(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a}function nn(e,t){let n=rn(e,Math.PI*2),r=rn(t,Math.PI*2);return Math.min(Math.abs(n-r),Math.abs(n-r+Math.PI*2),Math.abs(n-r-Math.PI*2))}function rn(e,t){return(e%t+t)%t}function an(e,t,n,r,i){return on(r,i,F((e-t)/(n-t),0,1))}function on(e,t,n){return e*(1-n)+t*n}function sn(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]}function cn(e){if(!e.length)return new Set;let t=Math.max(...e.map(e=>e.canonical.z)),n=1/0,r=-1/0,i=1/0,a=-1/0,o=[];for(let s of e){let{x:e,y:c,z:l}=s.canonical,u=2**(t-l),d=e*u,f=c*u;o.push({id:s,x:d,y:f}),d<n&&(n=d),d>r&&(r=d),f<i&&(i=f),f>a&&(a=f)}let s=new Set;for(let e of o)(e.x===n||e.x===r||e.y===i||e.y===a)&&s.add(e.id);return s}function ln(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function un(e,t,n,r){return Te(e,t,n,r)}var dn=un(.25,.1,.25,1);function F(e,t,n){return Math.min(n,Math.max(t,e))}function fn(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function I(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function pn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}var mn=1;function hn(){return mn++}function gn(e){return Math.log(e)/Math.LN2%1==0}function _n(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)}function vn(e){return 2**e}function yn(e){return Math.log(e)/Math.LN2}function bn(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<1e-10?Math.round(e*r)/r:(n>0?Math.ceil(e*r-1e-9):Math.floor(e*r+1e-10))/r}function xn(e,t,n){let r={};for(let i in e)r[i]=t.call(n||this,e[i],i,e);return r}function Sn(e,t,n){let r={};for(let i in e)t.call(n||this,e[i],i,e)&&(r[i]=e[i]);return r}function Cn(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Cn(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!Cn(e[n],t[n]))return!1;return!0}return e===t}function wn(e){return Array.isArray(e)?e.map(wn):typeof e==`object`&&e?xn(e,wn):e}var Tn={};function En(e){Tn[e]||(typeof console<`u`&&console.warn(e),Tn[e]=!0)}function Dn(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function On(e,t,n,r){let i=t.y-e.y,a=t.x-e.x,o=r.y-n.y,s=r.x-n.x,c=o*a-s*i;if(c===0)return null;let l=e.y-n.y,u=e.x-n.x,d=(s*l-o*u)/c;return new M(e.x+d*a,e.y+d*i)}function kn([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]}function An(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}function jn(e){let t=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,n={};
1if(e.replace(t,(e,t,r,i)=>{let a=r||i;return n[t]=!a||a.toLowerCase(),``}),n[`max-age`]){let e=parseInt(n[`max-age`],10);isNaN(e)?delete n[`max-age`]:n[`max-age`]=e}return n}var Mn=null;function Nn(e){if(Mn==null){let t=e.navigator?e.navigator.userAgent:null;Mn=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return Mn}function Pn(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}var Fn=async(e,t)=>{let n=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(n,t)}catch(e){throw Error(`Could not load image because of ${Wt(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}},In=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`)},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=URL.createObjectURL(i)});function Ln(e,t,n,r,i){let a=Math.max(-t,0)*4,o=(Math.max(0,n)-n)*r*4+a,s=r*4,c=Math.max(0,t),l=Math.max(0,n),u=Math.min(e.width,t+r),d=Math.min(e.height,n+i);return{rect:{x:c,y:l,width:u-c,height:d-l},layout:[{offset:o,stride:s}]}}async function Rn(e,t,n,r,i){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let a=new VideoFrame(e,{timestamp:0});try{let o=a?.format;if(!o||!(o.startsWith(`BGR`)||o.startsWith(`RGB`)))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(r*i*4);if(await a.copyTo(c,Ln(e,t,n,r,i)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{a.close()}}function zn(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function Bn(e){return e*Math.PI/180}function Vn(e){return e/Math.PI*180}function Hn(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing}function Un(e){let t=new Float64Array(9);Pe(t,e);let n=Vn(-Math.asin(F(t[2],-1,1))),r,i;return Math.hypot(t[5],t[8])<.001?(r=0,i=-Vn(Math.atan2(t[3],t[4]))):(r=Vn(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),i=Vn(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:r,pitch:n+90,bearing:i}}function Wn(e,t,n){let r=It(t.x-n.x,t.y-n.y),i=It(e.x-n.x,e.y-n.y),a=r[0]*i[1]-r[1]*i[0];return Vn(Math.atan2(a,Bt(r,i)))}function Gn(e,t,n){let r=new Float64Array(4);return Mt(r,e,t-90,n),r}var Kn=85.051129,qn={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},Jn={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0};function Yn(e,t){return qn[t]&&`touches`in e}function Xn(e,t){if(!Jn[t])return!1;let n=e,r=(n?.target)?.ownerDocument?.defaultView||window;return n instanceof r.MouseEvent||n instanceof r.WheelEvent}function Zn(e){return qn[e]||Jn[e]}var Qn=`AbortError`,$n=class extends Error{constructor(e=Qn){super(e instanceof Error?e.message:e),this.name=Qn,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function er(e){return e instanceof Error&&e.name===`AbortError`}function tr(e){if(e.aborted)throw new $n(e.reason)}var nr={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function rr(e){return nr.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}function ir(e,t){nr.REGISTERED_PROTOCOLS[e]=t}function ar(e){delete nr.REGISTERED_PROTOCOLS[e]}var or=`global-dispatcher`,sr=class extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}};function cr(){if(An(self))return self.worker?.referrer;if(window.location.protocol===`blob:`)try{return window.parent.location.href}catch{}return window.location.href}var lr=e=>e.startsWith(`file:`)||cr()?.startsWith(`file:`)&&!/^\w+:/.test(e);
vendor: 4,010 bytes, line 1
1async function ur(e,t){let n=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:cr(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type===`json`&&!n.headers.has(`Accept`)&&n.headers.set(`Accept`,`application/json`);let r;try{r=await fetch(n)}catch(t){throw er(t)?t:new sr(0,Wt(t).message,e.url,new Blob)}if(!r.ok){let t=await r.blob();throw new sr(r.status,r.statusText,e.url,t)}let i;i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=await i;return tr(t.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}}function dr(e,t){return new Promise((n,r)=>{let i=new XMLHttpRequest;i.open(e.method||`GET`,e.url,!0),(e.type===`arrayBuffer`||e.type===`image`)&&(i.responseType=`arraybuffer`);for(let t in e.headers)i.setRequestHeader(t,e.headers[t]);e.type===`json`&&(i.responseType=`text`,e.headers?.Accept||i.setRequestHeader(`Accept`,`application/json`)),i.withCredentials=e.credentials===`include`,i.onerror=()=>{r(Error(i.statusText))},i.onload=()=>{if(!t.signal.aborted){if((i.status>=200&&i.status<300||i.status===0)&&i.response!==null){let t=i.response;if(e.type===`json`)try{t=JSON.parse(i.response)}catch(e){r(e);return}n({data:t,cacheControl:i.getResponseHeader(`Cache-Control`),expires:i.getResponseHeader(`Expires`),etag:i.getResponseHeader(`ETag`)})}else{let t=new Blob([i.response],{type:i.getResponseHeader(`Content-Type`)});r(new sr(i.status,i.statusText,e.url,t))}}},t.signal.addEventListener(`abort`,()=>{i.abort(),r(new $n(t.signal.reason))}),i.send(e.body)})}var fr=async function(e,t){if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let n=rr(e.url);if(n){let r=await n(e,t);return!r.data&&e.type===`arrayBuffer`?I(r,{data:new ArrayBuffer(0)}):r}if(An(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:or},t)}if(!lr(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return ur(e,t);if(An(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:or},t)}return dr(e,t)},pr=(e,t)=>fr(I(e,{type:`json`}),t),mr=(e,t)=>fr(I(e,{type:`arrayBuffer`}),t);function hr(e){if(!e||e.startsWith(`data:image/`))return!0;if(e.startsWith(`blob:`)&&(e=e.slice(5),e.startsWith(`null`)))return!1;if(e.indexOf(`://`)<=0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}var gr=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise(n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);hr(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}})};function _r(e,t,n){n[e]?.includes(t)||(n[e]||=[],n[e].push(t))}function vr(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}var yr=class{constructor(e,t={}){I(this,t),this.type=e}},L=class extends yr{constructor(e,t={}){super(`error`,I({error:e},t))}},br=class{on(e,t){return this._listeners||={},_r(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return vr(e,t,this._listeners),vr(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},_r(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){let n=typeof e==`string`?new yr(e,t||{}):e,r=n.type;if(this.listens(r)){n.target=this;let e=this._listeners?.[r]?.slice()??[];for(let t of e)t.call(this,n);let t=this._oneTimeListeners?.[r]?.slice()??[];for(let e of t)vr(r,e,this._oneTimeListeners),e.call(this,n);let i=this._eventedParent;i&&(I(n,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof L&&console.error(n.error);return this}listens(e){return!!(this._listeners?.[e]?.length||this._oneTimeListeners?.[e]?.length||this._eventedParent?.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},xr
vendor: 34,760 bytes, line 1
1={$version:8,$root:{version:{required:!0,type:`enum`,values:[8]},name:{type:`string`},metadata:{type:`*`},center:{type:`array`,value:`number`,length:2},centerAltitude:{type:`number`},zoom:{type:`number`},bearing:{type:`number`,default:0,period:360,units:`degrees`},pitch:{type:`number`,default:0,units:`degrees`},roll:{type:`number`,default:0,units:`degrees`},state:{type:`state`,default:{}},light:{type:`light`},sky:{type:`sky`},projection:{type:`projection`},terrain:{type:`terrain`},sources:{required:!0,type:`sources`},sprite:{type:`sprite`},glyphs:{type:`string`},"font-faces":{type:`fontFaces`},transition:{type:`transition`},layers:{required:!0,type:`array`,value:`layer`}},sources:{"*":{type:`source`}},source:[`source_vector`,`source_raster`,`source_raster_dem`,`source_geojson`,`source_video`,`source_image`],source_vector:{type:{required:!0,type:`enum`,values:{vector:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},attribution:{type:`string`},promoteId:{type:`promoteId`},volatile:{type:`boolean`,default:!1},encoding:{type:`enum`,values:{mvt:{},mlt:{}},default:`mvt`},"*":{type:`*`}},source_raster:{type:{required:!0,type:`enum`,values:{raster:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},attribution:{type:`string`},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_raster_dem:{type:{required:!0,type:`enum`,values:{"raster-dem":{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},attribution:{type:`string`},encoding:{type:`enum`,values:{terrarium:{},mapbox:{},custom:{}},default:`mapbox`},redFactor:{type:`number`,default:1},blueFactor:{type:`number`,default:1},greenFactor:{type:`number`,default:1},baseShift:{type:`number`,default:0},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_geojson:{type:{required:!0,type:`enum`,values:{geojson:{}}},data:{required:!0,type:`*`},maxzoom:{type:`number`,default:18},attribution:{type:`string`},buffer:{type:`number`,default:128,maximum:512,minimum:0},filter:{type:`filter`},tolerance:{type:`number`,default:.375},cluster:{type:`boolean`,default:!1},clusterRadius:{type:`number`,default:50,minimum:0},clusterMaxZoom:{type:`number`},clusterMinPoints:{type:`number`},clusterProperties:{type:`*`},lineMetrics:{type:`boolean`,default:!1},generateId:{type:`boolean`,default:!1},promoteId:{type:`promoteId`}},source_video:{type:{required:!0,type:`enum`,values:{video:{}}},urls:{required:!0,type:`array`,value:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},source_image:{type:{required:!0,type:`enum`,values:{image:{}}},url:{type:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},layer:{id:{type:`string`,required:!0},type:{type:`enum`,values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:`*`},source:{type:`string`},"source-layer":{type:`string`},minzoom:{type:`number`,minimum:0,maximum:24},maxzoom:{type:`number`,minimum:0,maximum:24},filter:{type:`filter`},layout:{type:`layout`},paint:{type:`paint`}},layout:[`layout_fill`,`layout_line`,`layout_circle`,`layout_heatmap`,`layout_fill-extrusion`,`layout_symbol`,`layout_raster`,`layout_hillshade`,`layout_color-relief`,`layout_background`],layout_background:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_fill:{"fill-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_circle:{"circle-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_heatmap:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},"layout_fill-extrusion":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`},"fill-extrusion-rounded-corner-distance":{type:`number`,default:0,minimum:0,units:`meters`,"property-type":`constant`}},layout_line:{"line-cap":{type:`enum`,values:{butt:{},round:{},square:{}},default:`butt`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-join":{type:`enum`,values:{bevel:{},round:{},miter:{}},default:`miter`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-miter-limit":{type:`number`,default:2,requires:[{"line-join":`miter`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-round-limit":{type:`number`,default:1.05,requires:[{"line-join":`round`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_symbol:{"symbol-placement":{type:`enum`,values:{point:{},line:{},"line-center":{}},default:`point`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-spacing":{type:`number`,default:250,minimum:1,units:`pixels`,requires:[{"symbol-placement":`line`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-avoid-edges":{type:`boolean`,default:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"symbol-z-order":{type:`enum`,values:{auto:{},"viewport-y":{},source:{}},default:`auto`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-allow-overlap":{type:`boolean`,default:!1,requires:[`icon-image`,{"!":`icon-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-ignore-placement":{type:`boolean`,default:!1,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-optional":{type:`boolean`,default:!1,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-size":{type:`number`,default:1,minimum:0,units:`factor of the original icon size`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-text-fit":{type:`enum`,values:{none:{},width:{},height:{},both:{}},default:`none`,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-text-fit-padding":{type:`array`,value:`number`,length:4,default:[0,0,0,0],units:`pixels`,requires:[`icon-image`,`text-field`,{"icon-text-fit":[`both`,`width`,`height`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-image":{type:`resolvedImage`,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-padding":{type:`padding`,default:[2],units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-keep-upright":{type:`boolean`,default:!1,requires:[`icon-image`,{"icon-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-offset":{type:`array`,value:`number`,length:2,default:[0,0],requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-field":{type:`formatted`,default:``,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-font":{type:`array`,value:`string`,default:[`Open Sans Regular`,`Arial Unicode MS Regular`],requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-size":{type:`number`,default:16,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-width":{type:`number`,default:10,minimum:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-line-height":{type:`number`,default:1.2,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-letter-spacing":{type:`number`,default:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-justify":{type:`enum`,values:{auto:{},left:{},center:{},right:{}},default:`center`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-radial-offset":{type:`number`,units:`ems`,default:0,requires:[`text-field`],"property-type":`data-driven`,expression:{interpolated:!0,parameters:[`zoom`,`feature`]}},"text-variable-anchor":{type:`array`,value:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-variable-anchor-offset":{type:`variableAnchorOffsetCollection`,requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`text-field`,{"!":`text-variable-anchor`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-angle":{type:`number`,default:45,units:`degrees`,requires:[`text-field`,{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-writing-mode":{type:`array`,value:`enum`,values:{horizontal:{},vertical:{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-padding":{type:`number`,default:2,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-keep-upright":{type:`boolean`,default:!0,requires:[`text-field`,{"text-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-transform":{type:`enum`,values:{none:{},uppercase:{},lowercase:{}},default:`none`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-offset":{type:`array`,value:`number`,units:`ems`,length:2,default:[0,0],requires:[`text-field`,{"!":`text-radial-offset`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-allow-overlap":{type:`boolean`,default:!1,requires:[`text-field`,{"!":`text-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-ignore-placement":{type:`boolean`,default:!1,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-optional":{type:`boolean`,default:!1,requires:[`text-field`,`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-height-offset":{type:`number`,default:0,units:`meters`,requires:[{"symbol-placement":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"symbol-height-anchor":{type:`enum`,values:{ground:{},absolute:{}},default:`ground`,requires:[`symbol-height-offset`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_raster:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_hillshade:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},"layout_color-relief":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},filter:{type:`boolean`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},filter_operator:{type:`enum`,values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:`enum`,values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:`expression`},stops:{type:`array`,value:`function_stop`},base:{type:`number`,default:1,minimum:0},property:{type:`string`,default:`$zoom`},type:{type:`enum`,values:{identity:{},exponential:{},interval:{},categorical:{}},default:`exponential`},colorSpace:{type:`enum`,values:{rgb:{},lab:{},hcl:{}},default:`rgb`},default:{type:`*`,required:!1}},function_stop:{type:`array`,minimum:0,maximum:24,value:[`number`,`color`],length:2},expression:{type:`array`,value:`expression_name`,minimum:1},light:{anchor:{type:`enum`,default:`viewport`,values:{map:{},viewport:{}},"property-type":`data-constant`,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]}},position:{type:`array`,default:[1.15,210,30],length:3,value:`number`,"property-type":`data-constant`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]}},color:{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},intensity:{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},sky:{"sky-color":{type:`color`,"property-type":`data-constant`,default:`#88C6FC`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-ground-blend":{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-fog-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"sky-horizon-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"atmosphere-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},terrain:{source:{type:`string`,required:!0},exaggeration:{type:`number`,minimum:0,default:1}},projection:{type:{type:`projectionDefinition`,default:`mercator`,"property-type":`data-constant`,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]}}},paint:[`paint_fill`,`paint_line`,`paint_circle`,`paint_heatmap`,`paint_fill-extrusion`,`paint_symbol`,`paint_raster`,`paint_hillshade`,`paint_color-relief`,`paint_background`],paint_fill:{"fill-antialias":{type:`boolean`,default:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-layer-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`global-state`]},"property-type":`data-constant`},"fill-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-outline-color":{type:`color`,transition:!0,requires:[{"!":`fill-pattern`},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-extrusion-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-extrusion-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"fill-extrusion-height":{type:`number`,default:0,units:`meters`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-base":{type:`number`,default:0,units:`meters`,transition:!0,requires:[`fill-extrusion-height`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-vertical-gradient":{type:`boolean`,default:!0,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_line:{"line-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-layer-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`global-state`]},"property-type":`data-constant`},"line-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`line-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`line-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"line-width":{type:`number`,default:1,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-gap-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-offset":{type:`number`,default:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-dasharray":{type:`array`,value:`number`,minimum:0,transition:!0,units:`line widths`,requires:[{"!":`line-pattern`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"line-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"line-gradient":{type:`color`,transition:!1,requires:[{"!":`line-dasharray`},{"!":`line-pattern`},{source:`geojson`,has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[`line-progress`]},"property-type":`color-ramp`}},paint_circle:{"circle-radius":{type:`number`,default:5,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-blur":{type:`number`,default:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"circle-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`circle-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-scale":{type:`enum`,values:{map:{},viewport:{}},default:`map`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-alignment":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-stroke-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`}},paint_heatmap:{"heatmap-radius":{type:`number`,default:30,minimum:1,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-weight":{type:`number`,default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-intensity":{type:`number`,default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"heatmap-color":{type:`color`,default:[`interpolate`,[`linear`],[`heatmap-density`],0,`rgba(0, 0, 255, 0)`,.1,`royalblue`,.3,`cyan`,.5,`lime`,.7,`yellow`,1,`red`],transition:!1,expression:{interpolated:!0,parameters:[`heatmap-density`]},"property-type":`color-ramp`},"heatmap-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_symbol:{"icon-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-color":{type:`color`,default:`#000000`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`icon-image`,`icon-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-color":{type:`color`,default:`#000000`,transition:!0,overridable:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`text-field`,`text-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_raster:{"raster-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-hue-rotate":{type:`number`,default:0,period:360,transition:!0,units:`degrees`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-min":{type:`number`,default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-max":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-saturation":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-contrast":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"raster-resampling":{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"raster-fade-duration":{type:`number`,default:300,minimum:0,transition:!1,units:`milliseconds`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_hillshade:{"hillshade-illumination-direction":{type:`numberArray`,default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-altitude":{type:`numberArray`,default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-exaggeration":{type:`number`,default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-shadow-color":{type:`colorArray`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-highlight-color":{type:`colorArray`,default:`#FFFFFF`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-accent-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-method":{type:`enum`,values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:`standard`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},"paint_color-relief":{"color-relief-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"color-relief-color":{type:`color`,transition:!1,expression:{interpolated:!0,parameters:[`elevation`]},"property-type":`color-ramp`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_background:{"background-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`background-pattern`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"background-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`cross-faded`},"background-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},transition:{duration:{type:`number`,default:300,minimum:0,units:`milliseconds`},delay:{type:`number`,default:0,minimum:0,units:`milliseconds`}},"property-type":{"data-driven":{type:`property-type`},"cross-faded":{type:`property-type`},"cross-faded-data-driven":{type:`property-type`},"color-ramp":{type:`property-type`},"data-constant":{type:`property-type`},constant:{type:`property-type`}},promoteId:{"*":{type:`string`}},interpolation:{type:`array`,value:`interpolation_name`,minimum:1},interpolation_name:{type:`enum`,values:{linear:{syntax:{overloads:[{parameters:[],"output-type":`interpolation`}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:[`base`],"output-type":`interpolation`}],parameters:[{name:`base`,type:`number literal`}]}},"cubic-bezier":{syntax:{overloads:[{parameters:[`x1`,`y1`,`x2`,`y2`],"output-type":`interpolation`}],parameters:[{name:`x1`,type:`number literal`},{name:`y1`,type:`number literal`},{name:`x2`,type:`number literal`},{name:`y2`,type:`number literal`}]}}}}}
1,R=xr,Sr=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`],z=class{constructor(e,t,n,r,i=`error`){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),this.severity=i,t!=null&&t.__line__&&(this.line=t.__line__)}},Cr={kind:`null`},B={kind:`number`},V={kind:`string`},wr={kind:`boolean`},Tr={kind:`color`},Er={kind:`projectionDefinition`},Dr={kind:`object`},H={kind:`value`},Or={kind:`error`},kr={kind:`collator`},Ar={kind:`formatted`},jr={kind:`padding`},Mr={kind:`colorArray`},Nr={kind:`numberArray`},Pr={kind:`resolvedImage`},Fr={kind:`variableAnchorOffsetCollection`};function Ir(e,t){return{kind:`array`,itemType:e,N:t}}function Lr(e){if(e.kind===`array`){let t=Lr(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}var Rr=[Cr,B,V,wr,Tr,Er,Ar,Dr,Ir(H),jr,Nr,Mr,Pr,Fr];function zr(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!zr(e.itemType,t.itemType))&&(typeof e.N!=`number`||e.N===t.N))return null}else if(e.kind===t.kind)return null;else if(e.kind===`value`){for(let e of Rr)if(!zr(e,t))return null}return`Expected ${Lr(e)} but found ${Lr(t)} instead.`}function Br(e,t){return t.some(t=>t.kind===e.kind)}function Vr(e,t){return t.some(t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e)}function Hr(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}var Ur=.96422,Wr=.82521,Gr=4/29,Kr=6/29,qr=3*Kr*Kr,Jr=Math.PI/180,Yr=180/Math.PI;function Xr(e){return e%=360,e<0&&(e+=360),e}function Zr([e,t,n,r]){e=Qr(e),t=Qr(t),n=Qr(n);let i,a,o=$r((.2225045*e+.7168786*t+.0606169*n)/1);
vendor: 14,998 bytes, line 1
1e===t&&t===n?i=a=o:(i=$r((.4360747*e+.3850649*t+.1430804*n)/Ur),a=$r((.0139322*e+.0971045*t+.7141733*n)/Wr));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function Qr(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function $r(e){return e>.008856451679035631?e**(1/3):e/qr+Gr}function ei([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*ni(i),a=Ur*ni(a),o=Wr*ni(o),[ti(3.1338561*a-1.6168667*i-.4906146*o),ti(-.9787684*a+1.9161415*i+.033454*o),ti(.0719453*a-.2289914*i+1.4052427*o),r]}function ti(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function ni(e){return e>Kr?e*e*e:qr*(e-Gr)}function ri(e){let[t,n,r,i]=Zr(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?Xr(Math.atan2(r,n)*Yr):NaN,a,t,i]}function ii([e,t,n,r]){return e=isNaN(e)?0:e*Jr,ei([n,Math.cos(e)*t,Math.sin(e)*t,r])}function ai([e,t,n,r]){e=Xr(e),t/=100,n/=100;function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return[i(0),i(8),i(4),r]}var oi=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function si(e,t){return oi(e,t)?e[t]:void 0}function ci(e){if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t=si(pi,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[li(e.slice(n,n+=t)),li(e.slice(n,n+=t)),li(e.slice(n,n+=t)),li(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===` `||p===` /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[di(+n/t,0,1),di(+a/t,0,1),di(+c/t,0,1),d?ui(+d,f):1];if(fi(e))return e}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===` `||u===` /`||u===`,,`||u===`,,,`){let e=[+t,di(+i,0,100),di(+o,0,100),c?ui(+c,l):1];if(fi(e))return ai(e)}}}function li(e){return parseInt(e.padEnd(2,e),16)/255}function ui(e,t){return di(t?e/100:e,0,1)}function di(e,t,n){return Math.min(Math.max(t,e),n)}function fi(e){return!e.some(Number.isNaN)}var pi={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function mi(e,t,n){return e+n*(t-e)}function hi(e,t,n){return e.map((e,r)=>mi(e,t[r],n))}function gi(e){return e===`rgb`||e===`hcl`||e===`lab`}var U=class e{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static{this.black=new e(0,0,0,1)}static{this.white=new e(1,1,1,1)}static{this.transparent=new e(0,0,0,0)}static{this.red=new e(1,0,0,1)}static parse(t){if(t instanceof e)return t;if(typeof t!=`string`)return;let n=ci(t);if(n)return new e(...n,!1)}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,ri(this.rgb))}get lab(){return this.overwriteGetter(`lab`,Zr(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map(e=>Math.round(e*255)).join(`,`)},${r})`}static interpolate(t,n,r,i=`rgb`){switch(i){case`rgb`:{let[i,a,o,s]=hi(t.rgb,n.rgb,r);return new e(i,a,o,s,!1)}case`hcl`:{let[i,a,o,s]=t.hcl,[c,l,u,d]=n.hcl,f,p;if(!isNaN(i)&&!isNaN(c)){let e=c-i;c>i&&e>180?e-=360:c<i&&i-c>180&&(e+=360),f=i+r*e}else isNaN(i)?isNaN(c)?f=NaN:(f=c,(o===1||o===0)&&(p=l)):(f=i,(u===1||u===0)&&(p=a));let[m,h,g,_]=ii([f,p??mi(a,l,r),mi(o,u,r),mi(s,d,r)]);return new e(m,h,g,_,!1)}case`lab`:{let[i,a,o,s]=ei(hi(t.lab,n.lab,r));return new e(i,a,o,s,!1)}}}},_i=[`bottom`,`center`,`top`],vi=class{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}},yi=class e{constructor(e){this.sections=e}static fromString(t){return new e([new vi(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(t){return t instanceof e?t:e.fromString(t)}toString(){return this.sections.length===0?``:this.sections.map(e=>e.text).join(``)}},bi=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let e of t)if(typeof e!=`number`)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(hi(t.values,n.values,r))}},xi=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`number`)return new e([t]);if(Array.isArray(t)){for(let e of t)if(typeof e!=`number`)return;return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(hi(t.values,n.values,r))}},Si=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(typeof t==`string`){let n=U.parse(t);return n?new e([n]):void 0}if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`string`)return;let t=U.parse(e);if(!t)return;n.push(t)}return new e(n)}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i=`rgb`){let a=[];if(t.values.length!=n.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`);for(let e=0;e<t.values.length;e++)a.push(U.interpolate(t.values[e],n.values[e],r,i));return new e(a)}},Ci=class extends Error{constructor(e,t){super(e),this.name=`RuntimeError`,this.path=t}toJSON(){return this.message}},wi=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]),Ti=class e{constructor(e){this.values=e.slice()}static parse(t){if(t instanceof e)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let e=0;e<t.length;e+=2){let n=t[e],r=t[e+1];if(typeof n!=`string`||!wi.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,i){let a=t.values,o=n.values;if(a.length!==o.length)throw new Ci(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${n.toString()}`,i);let s=[];for(let e=0;e<a.length;e+=2){if(a[e]!==o[e])throw new Ci(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${a[e]}, to[${e}]: ${o[e]}`,i);s.push(a[e]);let[t,n]=a[e+1],[c,l]=o[e+1];s.push([mi(t,c,r),mi(n,l,r)])}return new e(s)}},Ei=class e{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(t){return t?new e({name:t,available:!1}):null}},Di=class e{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,n,r){return new e(t,n,r)}static parse(t){if(t instanceof e)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]==`string`&&typeof t[1]==`string`&&typeof t[2]==`number`)return new e(t[0],t[1],t[2]);if(typeof t==`object`&&typeof t.from==`string`&&typeof t.to==`string`&&typeof t.transition==`number`)return new e(t.from,t.to,t.transition);if(typeof t==`string`)return new e(t,t,1)}},Oi=class{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}};function ki(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ai(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof Di||e instanceof U||e instanceof Oi||e instanceof yi||e instanceof bi||e instanceof xi||e instanceof Si||e instanceof Ti||e instanceof Ei)return!0;if(Array.isArray(e)){for(let t of e)if(!Ai(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!Ai(e[t]))return!1;return!0}return!1}function ji(e){if(e===null)return Cr;if(typeof e==`string`)return V;if(typeof e==`boolean`)return wr;if(typeof e==`number`)return B;if(e instanceof U)return Tr;if(e instanceof Di)return Er;if(e instanceof Oi)return kr;if(e instanceof yi)return Ar;if(e instanceof bi)return jr;if(e instanceof xi)return Nr;if(e instanceof Si)return Mr;if(e instanceof Ti)return Fr;if(e instanceof Ei)return Pr;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=ji(t);if(!n)n=e;else if(n===e)continue;else{n=H;break}}return Ir(n||H,t)}return Dr}function Mi(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof U||e instanceof Di||e instanceof yi||e instanceof bi||e instanceof xi||e instanceof Si||e instanceof Ti||e instanceof Ei?e.toString():JSON.stringify(e)}var Ni=class e{constructor(e,t){this.type=e,this.value=t}static parse(t,n){if(t.length!==2)return n.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ai(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=ji(r),a=n.expectedType;return i.kind===`array`&&i.N===0&&a&&a.kind===`array`&&(typeof a.N!=`number`||a.N===0)&&(i=a),new e(i,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}},Pi=[`Unknown`,`Point`,`LineString`,`Polygon`],Fi=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&`id`in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==`number`?Pi[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&`geometry`in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=U.parse(e),this._parseColorCache.set(e,t)),t}};function Ii(e,t,n){let r=e.length-1,i=0,a=r,o=0,s,c;for(;i<=a;)if(o=Math.floor((i+a)/2),s=e[o],c=e[o+1],s<=t){if(o===r||t<c)return o;i=o+1}else if(s>t)a=o-1;else throw new Ci(`Input is not a number.`,n);return 0}var Li=class e{constructor(e,t,n,r){this.type=e,this.input=t,this.key=r,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(t,n){if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);let r=n.parse(t[1],1,B);if(!r)return null;let i=[],a=null;n.expectedType&&n.expectedType.kind!==`value`&&(a=n.expectedType);for(let e=1;e<t.length;e+=2){let r=e===1?-1/0:t[e],o=t[e+1],s=e,c=e+1;if(typeof r!=`number`)return n.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not c
1omputed expressions) for the input values.`,s);if(i.length&&i[i.length-1][0]>=r)return n.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=n.parse(o,c,a);if(!l)return null;a||=l.type,i.push([r,l])}return new e(a,r,i,n.key)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[Ii(t,r,this.key)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}};function Ri(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c;return function(e,t=1e-6){if(e<=0)return 0;if(e>=1)return 1;let n=e;for(let r=0;r<8;r++){let r=((o*n+a)*n+i)*n-e;if(Math.abs(r)<t)return((l*n+c)*n+s)*n;let u=(3*o*n+2*a)*n+i;if(Math.abs(u)<1e-6)break;n-=r/u}let r=0,u=1;n=e;for(let s=0;s<20;s++){let s=((o*n+a)*n+i)*n;if(Math.abs(s-e)<t)break;e>s?r=n:u=n,n=(r+u)*.5}return((l*n+c)*n+s)*n}}var zi=class e{constructor(e,t,n,r,i,a){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.key=a,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=Bi(t,e.base,n,r);else if(e.name===`linear`)i=Bi(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=Ri(a[0],a[1],a[2],a[3])(Bi(t,1,n,r))}return i}static parse(t,n){let[r,i,a,...o]=t;if(!Array.isArray(i)||i.length===0)return n.error(`Expected an interpolation type expression.`,1);if(i[0]===`linear`)i={name:`linear`};else if(i[0]===`exponential`){let e=i[1];if(typeof e!=`number`)return n.error(`Exponential interpolation requires a numeric base.`,1,1);i={name:`exponential`,base:e}}else if(i[0]===`cubic-bezier`){let e=i.slice(1);if(e.length!==4||e.some(e=>typeof e!=`number`||e<0||e>1))return n.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);i={name:`cubic-bezier`,controlPoints:e}}else return n.error(`Unknown interpolation type ${String(i[0])}`,1,0);if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error(`Expected an even number of arguments.`);if(a=n.parse(a,2,B),!a)return null;let s=[],c=null;(r===`interpolate-hcl`||r===`interpolate-lab`)&&n.expectedType!=Mr?c=Tr:n.expectedType&&n.expectedType.kind!==`value`&&(c=n.expectedType);for(let e=0;e<o.length;e+=2){let t=o[e],r=o[e+1],i=e+3,a=e+4;if(typeof t!=`number`)return n.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(s.length&&s[s.length-1][0]>=t)return n.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=n.parse(r,a,c);if(!l)return null;c||=l.type,s.push([t,l])}return!Hr(c,B)&&!Hr(c,Er)&&!Hr(c,Tr)&&!Hr(c,jr)&&!Hr(c,Nr)&&!Hr(c,Mr)&&!Hr(c,Fr)&&!Hr(c,Ir(B))?n.error(`Type ${Lr(c)} is not interpolatable.`):new e(c,r,i,a,s,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let i=this.input.evaluate(t);if(i<=n[0])return r[0].evaluate(t);let a=n.length;if(i>=n[a-1])return r[a-1].evaluate(t);let o=Ii(n,i,this.key),s=n[o],c=n[o+1],l=e.interpolationFactor(this.interpolation,i,s,c),u=r[o].evaluate(t),d=r[o+1].evaluate(t);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return mi(u,d,l);case`color`:return U.interpolate(u,d,l);case`padding`:return bi.interpolate(u,d,l);case`colorArray`:return Si.interpolate(u,d,l);case`numberArray`:return xi.interpolate(u,d,l);case`variableAnchorOffsetCollection`:return Ti.interpolate(u,d,l,this.key);case`array`:return hi(u,d,l);case`projectionDefinition`:return Di.interpolate(u,d,l)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return U.interpolate(u,d,l,`hcl`);case`colorArray`:return Si.interpolate(u,d,l,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return U.interpolate(u,d,l,`lab`);case`colorArray`:return Si.interpolate(u,d,l,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}};function Bi(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}var Vi={color:U.interpolate,number:mi,padding:bi.interpolate,numberArray:xi.interpolate,colorArray:Si.interpolate,variableAnchorOffsetCollection:Ti.interpolate,array:hi},Hi=class e{constructor(e){this.type=Ar,this.sections=e}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[1];if(!Array.isArray(r)&&typeof r==`object`)return n.error(`First argument must be an image or text section.`);let i=[],a=!1;for(let e=1;e<=t.length-1;++e){let r=t[e];if(a&&typeof r==`object`&&!Array.isArray(r)){a=!1;let e=null;if(r[`font-scale`]&&(e=n.parse(r[`font-scale`],1,B),!e))return null;let t=null;if(r[`text-font`]&&(t=n.parse(r[`text-font`],1,Ir(V)),!t))return null;let o=null;if(r[`text-color`]&&(o=n.parse(r[`text-color`],1,Tr),!o))return null;let s=null;if(r[`vertical-align`]){if(typeof r[`vertical-align`]==`string`&&!_i.includes(r[`vertical-align`]))return n.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${r[`vertical-align`]}' instead.`);
vendor: 2,928 bytes, line 1
1if(s=n.parse(r[`vertical-align`],1,V),!s)return null}let c=i[i.length-1];c.scale=e,c.font=t,c.textColor=o,c.verticalAlign=s}else{let r=n.parse(t[e],1,H);if(!r)return null;let o=r.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return n.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);a=!0,i.push({content:r,scale:null,font:null,textColor:null,verticalAlign:null})}}return new e(i)}evaluate(e){return new yi(this.sections.map(t=>{let n=t.content.evaluate(e);return ji(n)===Pr?new vi(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new vi(Mi(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)}))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}};function Ui(e,t,n=0,r=e.length-1,i=Gi){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1);Ui(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for(Wi(e,n,t),i(e[r],a)>0&&Wi(e,n,r);o<s;){for(Wi(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?Wi(e,n,s):(s++,Wi(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function Wi(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Gi(e,t){return e<t?-1:+(e>t)}function Ki(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=Ji(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(Ui(n[e],t,1,n[e].length-1,qi),n[e]=n[e].slice(0,t));return n}function qi(e,t){return t.area-e.area}function Ji(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}var Yi={string:V,number:B,boolean:wr,object:Dr},Xi=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=1,i,a=t[0];if(a===`array`){let e;if(t.length>2){let i=t[1];if(typeof i!=`string`||!(i in Yi)||i===`object`)return n.error(`The item type argument of "array" must be one of string, number, boolean`,1);e=Yi[i],r++}else e=H;let a;if(t.length>3){if(t[2]!==null&&(typeof t[2]!=`number`||t[2]<0||t[2]!==Math.floor(t[2])))return n.error(`The length argument to "array" must be a positive integer literal`,2);a=t[2],r++}i=Ir(e,a)}else{if(!Yi[a])throw Error(`Types doesn't contain name = ${a}`);i=Yi[a]}let o=[];for(;r<t.length;r++){let e=n.parse(t[r],r,H);if(!e)return null;o.push(e)}return new e(i,o,n.key)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!zr(this.type,ji(n)))return n;if(t===this.args.length-1)throw new Ci(`Expected value to be of type ${Lr(this.t
1ype)}, but found ${Lr(ji(n))} instead.`,this.key)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},Zi={"to-boolean":wr,"to-color":Tr,"to-number":B,"to-string":V},Qi=class e{constructor(e,t,n){this.type=e,this.args=t,this.key=n}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=t[0];if(!Zi[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if((r===`to-boolean`||r===`to-string`)&&t.length!==2)return n.error(`Expected one argument.`);let i=Zi[r],a=[];for(let e=1;e<t.length;e++){let r=n.parse(t[e],e,H);if(!r)return null;a.push(r)}return new e(i,a,n.key)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof U)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:ki(t[0],t[1],t[2],t[3]),!n))return new U(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Ci(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=bi.parse(t);if(r)return r}throw new Ci(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=xi.parse(t);if(r)return r}throw new Ci(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Si.parse(t);if(r)return r}throw new Ci(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Ti.parse(t);if(r)return r}throw new Ci(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new Ci(`Could not convert ${JSON.stringify(t)} to number.`,this.key)}case`formatted`:return yi.fromString(Mi(this.args[0].evaluate(e)));case`resolvedImage`:return Ei.fromString(Mi(this.args[0].evaluate(e)));case`projectionDefinition`:{let t=this.args[0].evaluate(e);if(Di.parse(t))return t;throw new Ci(`Could not parse projectionDefinition from value '${typeof t==`string`?t:JSON.stringify(t)}'`,this.key)}default:return Mi(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}},$i=class e{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let r=[];for(let e=1;e<t.length-1;e+=2){let i=t[e];if(typeof i!=`string`)return n.error(`Expected string, but found ${typeof i} instead.`,e);if(/[^a-zA-Z0-9_]/.test(i))return n.error(`Variable names must contain only alphanumeric characters or '_'.`,e);let a=n.parse(t[e+1],e+1);if(!a)return null;r.push([i,a])}let i=n.parse(t[t.length-1],t.length-1,n.expectedType,r);return i?new e(r,i):null}outputDefined(){return this.result.outputDefined()}},ea=class e{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(t,n){if(t.length!==2||typeof t[1]!=`string`)return n.error(`'var' expression requires exactly one string literal argument.`);let r=t[1];return n.scope.has(r)?new e(r,n.scope.get(r)):n.error(`Unknown variable "${r}". Make sure "${r}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}},ta=class e{constructor(e,t,n,r){this.type=e,this.index=t,this.input=n,this.key=r}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,B),i=n.parse(t[2],2,Ir(n.expectedType||H));if(!r||!i)return null;let a=i.type;return new e(a.itemType,r,i,n.key)}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new Ci(`Array index out of bounds: ${t} < 0.`,this.key);if(t>=n.length)throw new Ci(`Array index out of bounds: ${t} > ${n.length-1}.`,this.key);if(t!==Math.floor(t))throw new Ci(`Array index must be an integer, but found ${t} instead.`,this.key);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}},na=class e{constructor(e,t,n){this.needle=e,this.haystack=t,this.key=n,this.type=wr}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,H),i=n.parse(t[2],2,H);return!r||!i?null:Br(r.type,[wr,V,B,Cr,H])?new e(r,i,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${Lr(r.type)} instead`)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!Vr(t,[`boolean`,`string`,`number`,`null`]))throw new Ci(`Expected first argument to be of type boolean, string, number or null, but found ${Lr(ji(t))} instead.`,this.key);if(!Vr(n,[`string`,`array`]))throw new Ci(`Expected second argument to be of type array or string, but found ${Lr(ji(n))} instead.`,this.key);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}},ra=class e{constructor(e,t,n,r){this.needle=e,this.haystack=t,this.key=n,this.fromIndex=r,this.type=B}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,H),i=n.parse(t[2],2,H);if(!r||!i)return null;if(!Br(r.type,[wr,V,B,Cr,H]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${Lr(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,B);return a?new e(r,i,n.key,a):null}return new e(r,i,n.key)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!Vr(t,[`boolean`,`string`,`number`,`null`]))throw new Ci(`Expected first argument to be of type boolean, string, number or null, but found ${Lr(ji(t))} instead.`,this.key);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),Vr(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(Vr(n,[`array`]))return n.indexOf(t,r);throw new Ci(`Expected second argument to be of type array or string, but found ${Lr(ji(n))} instead.`,this.key)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}},ia=class e{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(t,n){if(t.length<5)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return n.error(`Expected an even number of arguments.`);let r,i;n.expectedType&&n.expectedType.kind!==`value`&&(i=n.expectedType);let a={},o=[];for(let e=2;e<t.length-1;e+=2){let s=t[e],c=t[e+1];Array.isArray(s)||(s=[s]);let l=n.concat(e);
vendor: 4,297 bytes, line 1
1if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(!r)r=ji(e);else if(l.checkSubtype(r,ji(e)))return null;if(a[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);a[String(e)]=o.length}let u=n.parse(c,e,i);if(!u)return null;i||=u.type,o.push(u)}let s=n.parse(t[1],1,H);if(!s)return null;let c=n.parse(t[t.length-1],t.length-1,i);return!c||s.type.kind!==`value`&&n.concat(1).checkSubtype(r,s.type)?null:new e(r,i,s,a,o,c)}evaluate(e){let t=this.input.evaluate(e);return(ji(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}},aa=class e{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return n.error(`Expected an odd number of arguments.`);let r;n.expectedType&&n.expectedType.kind!==`value`&&(r=n.expectedType);let i=[];for(let e=1;e<t.length-1;e+=2){let a=n.parse(t[e],e,wr);if(!a)return null;let o=n.parse(t[e+1],e+1,r);if(!o)return null;i.push([a,o]),r||=o.type}let a=n.parse(t[t.length-1],t.length-1,r);if(!a)return null;if(!r)throw Error(`Can't infer output type`);return new e(r,i,a)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every(([e,t])=>t.outputDefined())&&this.otherwise.outputDefined()}},oa=class e{constructor(e,t,n,r,i){this.type=e,this.input=t,this.beginIndex=n,this.key=r,this.endIndex=i}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,H),i=n.parse(t[2],2,B);if(!r||!i)return null;if(!Br(r.type,[Ir(H),V,H]))return n.error(`Expected first argument to be of type array or string, but found ${Lr(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,B);return a?new e(r.type,r,i,n.key,a):null}return new e(r.type,r,i,n.key)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),Vr(t,[`string`]))return[...t].slice(n,r).join(``);if(Vr(t,[`array`]))return t.slice(n,r);throw new Ci(`Expected first argument to be of type array or string, but found ${Lr(ji(t))} instead.`,this.key)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}},sa=class e{constructor(e,t){this.type=e,this.args=t}static parse(t,n){if(t.length<2)return n.error(`Expected at least one argument.`);let r=null,i=n.expectedType;i&&i.kind!==`value`&&(r=i);let a=[];for(let e of t.slice(1)){let t=n.parse(e,1+a.length,r,void 0,{typeAnnotation:`omit`});if(!t)return null;r||=t.type,a.push(t)}if(!r)throw Error(`No output type`);return i&&a.some(e=>zr(i,e.type))?new e(H,a):new e(r,a)}evaluate(e){let t=null,n=0,r;for(let i of this.args)if(n++,t=i.evaluate(e),t&&t instanceof Ei&&!t.available&&(r||=t.name,t=null,n===this.args.length&&(t=r)),t!==null)break;return t}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}};function ca(e,t){return e===`==`||e===`!=`?t.kind===`boolean`||t.kind===`string`||t.kind===`number`||t.kind===`null`||t.kind===`value`:t.kind===`string`||t.kind===`number`||t.kind===`value`}function la(e,t,n){return t===n}function ua(e,t,n){return t!==n}function da(e,t,n){return t<n}function fa(e,t,n){return t>n}function pa(e,t,n){return t<=n}function ma(e,t,n){return t>=n}function ha(e,t,n,r){return r.compare(t,n)===0}function ga(e,t,n,r){return!ha(e,t,n,r)}function _a(e,t,n,r){return r.compare(t,n)<0}function va(e,t,n,r){return r.compare(t,n)>0}function ya(e,t,n,r){return r.compare(t,n)<=0}function ba(e,t,n,r){return r.compare(t,n)>=0}
vendor: 5,730 bytes, line 1
1function xa(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n,r){this.lhs=e,this.rhs=t,this.key=n,this.collator=r,this.type=wr,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,H);if(!a)return null;if(!ca(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${Lr(a.type)}'.`);let o=t.parse(e[2],2,H);if(!o)return null;if(!ca(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${Lr(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${Lr(a.type)}' and '${Lr(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new Xi(o.type,[a],t.key):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new Xi(a.type,[o],t.key)));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,kr),!s)return null}return new i(a,o,t.key,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=ji(a),n=ji(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Ci(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`,this.key)}if(this.collator&&!r&&this.hasUntypedArgument){let e=ji(a),n=ji(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}var Sa=xa(`==`,la,ha),Ca=xa(`!=`,ua,ga),wa=xa(`<`,da,_a),Ta=xa(`>`,fa,va),Ea=xa(`<=`,pa,ya),Da=xa(`>=`,ma,ba),Oa=class e{constructor(e,t,n){this.type=kr,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(t,n){if(t.length!==2)return n.error(`Expected one argument.`);let r=t[1];if(typeof r!=`object`||Array.isArray(r))return n.error(`Collator options argument must be an object.`);let i=n.parse(r[`case-sensitive`]!==void 0&&r[`case-sensitive`],1,wr);if(!i)return null;let a=n.parse(r[`diacritic-sensitive`]!==void 0&&r[`diacritic-sensitive`],1,wr);if(!a)return null;let o=null;return r.locale&&(o=n.parse(r.locale,1,V),!o)?null:new e(i,a,o)}evaluate(e){return new Oi(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}},ka=class e{constructor(e,t,n,r,i,a){this.type=V,this.number=e,this.locale=t,this.currency=n,this.unit=r,this.minFractionDigits=i,this.maxFractionDigits=a}static parse(t,n){if(t.length!==3)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,B);if(!r)return null;let i=t[2];if(typeof i!=`object`||Array.isArray(i))return n.error(`NumberFormat options argument must be an object.`);let a=null;if(i.locale&&(a=n.parse(i.locale,1,V),!a))return null;let o=null;if(i.currency&&(o=n.parse(i.currency,1,V),!o))return null;let s=null;if(i.unit&&(s=n.parse(i.unit,1,V),!s))return null;if(o&&s)return n.error("NumberFormat options `currency` and `unit` are mutually exclusive");let c=null;if(i[`min-fraction-digits`]&&(c=n.parse(i[`min-fraction-digits`],1,B),!c))return null;let l=null;return i[`max-fraction-digits`]&&(l=n.parse(i[`max-fraction-digits`],1,B),!l)?null:new e(r,a,o,s,c,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:this.unit?`unit`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}},Aa=class e{constructor(e){this.type=Pr,this.input=e}static parse(t,n){if(t.length!==2)return n.error(`Expected two arguments.`);let r=n.parse(t[1],1,V);return r?new e(r):n.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=Ei.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}},ja=class e{constructor(e,t){this.input=e,this.key=t,this.type=B}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=n.parse(t[1],1);return r?r.type.kind!==`array`&&r.type.kind!==`string`&&r.type.kind!==`value`?n.error(`Expected argument of type string or array, but found ${Lr(r.type)} instead.`):new e(r,n.key):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new Ci(`Expected value to be of type string or array, but found ${Lr(ji(t))} instead.`,this.key)}eachChild(e){e(this.input)}outputDefined(){return!1}},Ma=8192;function Na(e,t){let n=Fa(e[0]),r=La(e[1]),i=2**t.z;return[Math.round(n*i*Ma),Math.round(r*i*Ma)]}function Pa(e,t){let n=2**t.z,r=(e[0]/Ma+t.x)/n,i=(e[1]/Ma+t.y)/n;return[Ia(r),Ra(i)]}function Fa(e){return(180+e)/360}function Ia(e){return e*360-180}function La(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Ra(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180)
vendor: 14,811 bytes, line 1
1)-90}function za(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function Ba(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Va(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function Ha(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i===0&&r*a<=0&&i*o<=0}function Ua(e,t,n,r){let i=[t[0]-e[0],t[1]-e[1]];return Ya([r[0]-n[0],r[1]-n[1]],i)!==0&&!!(Xa(e,t,n,r)&&Xa(n,r,e,t))}function Wa(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Ua(e,t,r[n],r[n+1]))return!0;return!1}function Ga(e,t,n=!1){let r=!1;for(let i of t)for(let t=0;t<i.length-1;t++){if(Ha(e,i[t],i[t+1]))return n;Va(e,i[t],i[t+1])&&(r=!r)}return r}function Ka(e,t){for(let n of t)if(Ga(e,n))return!0;return!1}function qa(e,t){for(let n of e)if(!Ga(n,t))return!1;for(let n=0;n<e.length-1;++n)if(Wa(e[n],e[n+1],t))return!1;return!0}function Ja(e,t){for(let n of t)if(qa(e,n))return!0;return!1}function Ya(e,t){return e[0]*t[1]-e[1]*t[0]}function Xa(e,t,n,r){let i=e[0]-n[0],a=e[1]-n[1],o=t[0]-n[0],s=t[1]-n[1],c=r[0]-n[0],l=r[1]-n[1],u=i*l-c*a,d=o*l-c*s;return u>0&&d<0||u<0&&d>0}function Za(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=Na(e[i][r],n);za(t,o),a.push(o)}r.push(a)}return r}function Qa(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=Za(e[i],t,n);r.push(a)}return r}function $a(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=r*.5,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}za(t,e)}function eo(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function to(e,t,n,r){let i=2**r.z*Ma,a=[r.x*Ma,r.y*Ma],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];$a(r,t,n,i),o.push(r)}return o}function no(e,t,n,r){let i=2**r.z*Ma,a=[r.x*Ma,r.y*Ma],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];za(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){eo(t);for(let e of o)for(let r of e)$a(r,t,n,i)}return o}function ro(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Za(t.coordinates,r,i),o=to(e.geometry(),n,r,i);if(!Ba(n,r))return!1;for(let e of o)if(!Ga(e,a))return!1}if(t.type===`MultiPolygon`){let a=Qa(t.coordinates,r,i),o=to(e.geometry(),n,r,i);if(!Ba(n,r))return!1;for(let e of o)if(!Ka(e,a))return!1}return!0}function io(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=Za(t.coordinates,r,i),o=no(e.geometry(),n,r,i);if(!Ba(n,r))return!1;for(let e of o)if(!qa(e,a))return!1}if(t.type===`MultiPolygon`){let a=Qa(t.coordinates,r,i),o=no(e.geometry(),n,r,i);if(!Ba(n,r))return!1;for(let e of o)if(!Ja(e,a))return!1}return!0}var ao=class e{constructor(e,t){this.type=wr,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ai(t[1])){let n=t[1];if(n.type===`FeatureCollection`){let t=[];for(let e of n.features){let{type:n,coordinates:r}=e.geometry;n===`Polygon`&&t.push(r),n===`MultiPolygon`&&t.push(...r)}if(t.length)return new e(n,{type:`MultiPolygon`,coordinates:t})}else if(n.type===`Feature`){let t=n.geometry.type;if(t===`Polygon`||t===`MultiPolygon`)return new e(n,n.geometry)}else if(n.type===`Polygon`||n.type===`MultiPolygon`)return new e(n,n)}return n.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return ro(e,this.geometries);if(e.geometryType()===`LineString`)return io(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},oo=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}},so=Math.PI/180,co=class{constructor(e){let t=so*6378.137*1e3,n=Math.cos(e*so),r=1/(1-.0066943799901413165*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*.9933056200098587}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n=1/0,r,i,a,o;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;(u!==0||d!==0)&&(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<n&&(n=p,r=c,i=l,a=s,o=f)}return{point:[r,i],index:a,t:Math.max(0,Math.min(1,o))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}};function lo(e,t){return t[0]-e[0]}function uo(e){return e[1]-e[0]+1}function fo(e,t){return e[1]>=e[0]&&e[1]<t}function po(e,t){if(e[0]>e[1])return[null,null];let n=uo(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function mo(e,t){if(!fo(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)za(n,e[r]);return n}function ho(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)za(t,e);return t}function go(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function _o(e,t,n){if(!go(e)||!go(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function vo(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function yo(e,t,n,r,i){let a=Math.min(vo(e,[n,r],i),vo(t,[n,r],i)),o=Math.min(vo(n,[e,t],i),vo(r,[e,t],i));return Math.min(a,o)}function bo(e,t,n,r,i){if(!(fo(t,e.length)&&fo(r,n.length)))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(Ua(t,s,r,o))return 0;a=Math.min(a,yo(t,s,r,o,i))}}return a}function xo(e,t,n,r,i){if(!(fo(t,e.length)&&fo(r,n.length)))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function So(e,t,n){if(Ga(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,vo(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function Co(e,t,n,r){if(!fo(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(Ga(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(Ua(t,o,a,c))return 0;i=Math.min(i,yo(t,o,a,c,r))}}return i}function wo(e,t){for(let n of e)for(let e of n)if(Ga(e,t,!0))return!0;return!1}function To(e,t,n,r=1/0){let i=ho(e),a=ho(t);if(r!==1/0&&_o(i,a,n)>=r)return r;if(Ba(i,a)){if(wo(e,t))return 0}else if(wo(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(Ua(i,s,r,c))return 0;o=Math.min(o,yo(i,s,r,c,n))}}return o}function Eo(e,t,n,r,i,a){if(!a)return;let o=_o(mo(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function Do(e,t,n,r,i,a,o){if(!a||!o)return;let s=_o(mo(r,a),mo(i,o),n);s<t&&e.push([s,a,o])}function Oo(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new oo([[0,[0,e.length-1],[0,0]]],lo),s=ho(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(uo(c)<=l){if(!fo(c,e.length))return NaN;if(t){let t=Co(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=So(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=po(c,t);Eo(o,a,r,e,s,n[0]),Eo(o,a,r,e,s,n[1])}}return a}function ko(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new oo([[0,[0,e.length-1],[0,n.length-1]]],lo);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(uo(c)<=u&&uo(l)<=d){if(!fo(c,e.length)&&fo(l,n.length))return NaN;let a;if(t&&r)a=bo(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=vo(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=vo(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=xo(e,c,n,l,i),o=Math.min(o,a)}else{let a=po(c,t),u=po(l,r);Do(s,o,i,e,n,a[0],u[0]),Do(s,o,i,e,n,a[0],u[1]),Do(s,o,i,e,n,a[1],u[0]),Do(s,o,i,e,n,a[1],u[1])}}return o}function Ao(e,t){let n=e.geometry(),r=n.flat().map(t=>Pa([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new co(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,ko(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,ko(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Oo(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}function jo(e,t){let n=e.geometry(),r=n.flat().map(t=>Pa([t.x,t.y],e.canonical));if(n.length===0)return NaN;let i=new co(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,ko(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,ko(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Oo(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}function Mo(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=Ki(n,0).map(t=>t.map(t=>t.map(t=>Pa([t.x,t.y],e.canonical)))),i=new co(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,Oo([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,Oo(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,To(t,e.coordinates,i,a))}if(a===0)return a}return a}function No(e){return e.type===`MultiPolygon`?e.coordinates.map(e=>({type:`Polygon`,coordinates:e})):e.type===`MultiLineString`?e.coordinates.map(e=>({type:`LineString`,coordinates:e})):e.type===`MultiPoint`?e.coordinates.map(e=>({type:`Point`,coordinates:e})):[e]}var Po=class e{constructor(e,t){this.type=B,this.geojson=e,this.geometries=t}static parse(t,n){if(t.length!==2)return n.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ai(t[1])){let n=t[1];if(n.type===`FeatureCollection`)return new e(n,n.features.map(e=>No(e.geometry)).flat());if(n.type===`Feature`)return new e(n,No(n.geometry));if(`type`in n&&`coordinates`in n)return new e(n,No(n))}return n.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return Ao(e,this.geometries);if(e.geometryType()===`LineString`)return jo(e,this.geometries);if(e.geometryType()===`Polygon`)return Mo(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Fo=class e{constructor(e){let t=null;for(let n of e)if(!t)t=n.type;else if(t===n.type)continue;else{t=H;break}this.type=Ir(t??H,e.length),this.arr=e}static parse(t,n){if(t.length!==2)return n.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ai(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],i=ji(r);if(i.kind===`array`){let t=r,i=n.concat(1),a=[];for(let e=0;e<t.length;e++){let n=i.parse(t[e],e,H);if(!n)return null;a.push(n)}return new e(a)}return new Ni(i,r)}evaluate(e){return this.arr.map(t=>t.evaluate(e))}eachChild(e){this.arr.forEach(e)}outputDefined(){return this.arr.every(e=>e.outputDefined())}},Io=class e{constructor(e){this.key=e,this.type=H}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=t[1];return r==null?n.error(`Global state property must be defined.`):typeof r==`string`?new e(r):n.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return!t||Object.keys(t).length===0?null:si(t,this.key)??null}eachChild(){}outputDefined(){return!1}},Lo={"==":Sa,"!=":Ca,">":Ta,"<":wa,">=":Da,"<=":Ea,array:Xi,at:ta,boolean:Xi,case:aa,coalesce:sa,collator:Oa,format:Hi,image:Aa,in:na,"index-of":ra,interpolate:zi,"interpolate-hcl":zi,"interpolate-lab":zi,length:ja,let:$i,literal:Ni,match:ia,number:Xi,"number-format":ka,object:Xi,semiliteral:Fo,slice:oa,step:Li,string:Xi,"to-boolean":Qi,"to-color":Qi,"to-number":Qi,"to-string":Qi,var:ea,within:ao,distance:Po,"global-state":Io},Ro=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},zo=class e{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(t){return new e(this,t)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return this.bindings[e]?!0:this.parent?this.parent.has(e):!1}},Bo=class e{constructor(e,t,n=[],r,i=new zo,a=[]){this.registry=e,this.path=n,this.key=n.map(e=>`[${e}]`).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t==null?this._parse(e,i):this.concat(t,n,r)._parse(e,i)}_parse(e,t){(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`)&&(e=[`literal`,e]);let n=this.key;function r(e,t,r){return r===`assert`?new Xi(t,[e],n):r===`coerce`?new Qi(t,[e],n):e}if(Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let n=e[0];if(typeof n!=`string`)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if((e.kind===`string`||e.kind===`number`||e.kind===`boolean`||e.kind===`object`||e.kind===`array`)&&i.kind===`value`)n=r(n,e,t.typeAnnotation||`assert`);else if(e.kind===`projectionDefinition`&&[`string`,`array`,`value`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))n=r(n,e,t.typeAnnotation||`c
1oerce`);else if(this.checkSubtype(e,i))return null}if(!(n instanceof Ni)&&n.type.kind!==`resolvedImage`&&this._isConstant(n)){let e=new Fi;try{n=new Ni(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return e===void 0?this.error(`'undefined' value invalid. Use null instead.`):typeof e==`object`?this.error(`Bare objects invalid. Use ["literal", {...}] instead.`):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(t,n,r){let i=typeof t==`number`?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new e(this.registry,this._isConstant,i,n||null,a,this.errors)}error(e,...t){let n=`${this.key}${t.map(e=>`[${e}]`).join(``)}`;this.errors.push(new Ro(n,e))}checkSubtype(e,t){let n=zr(e,t);return n&&this.error(n),n}},Vo=class e{constructor(e,t,n,r,i){this.name=e,this.type=t,this._evaluate=n,this.args=r,this.key=i}evaluate(e){return this._evaluate(e,this.args,this.key)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(t,n){let r=t[0],i=e.definitions[r];if(!i)return n.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter(([e])=>!Array.isArray(e)||e.length===t.length-1),c=null;for(let[i,o]of s){c=new Bo(n.registry,Jo,n.path,null,n.scope);let s=[],l=!1;for(let e=1;e<t.length;e++){let n=t[e],r=Array.isArray(i)?i[e-1]:i.type,a=c.parse(n,1+s.length,r);if(!a){l=!0;break}s.push(a)}if(!l){if(Array.isArray(i)&&i.length!==s.length){c.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);continue}for(let e=0;e<s.length;e++){let t=Array.isArray(i)?i[e]:i.type,n=s[e];c.concat(e+1).checkSubtype(t,n.type)}if(c.errors.length===0)return new e(r,a,o,s,n.key)}}if(s.length===1)n.errors.push(...c.errors);else{let e=(s.length?s:o).map(([e])=>qo(e)).join(` | `),r=[];for(let e=1;e<t.length;e++){let i=n.parse(t[e],1+r.length);if(!i)return null;r.push(Lr(i.type))}n.error(`Expected arguments of type ${e}, but found (${r.join(`, `)}) instead.`)}return null}static register(t,n){e.definitions=n;for(let r in n)t[r]=e}};function Ho(e,[t,n,r,i],a){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let o=i?i.evaluate(e):1,s=ki(t,n,r,o);if(s)throw new Ci(s,a);return new U(t/255,n/255,r/255,o,!1)}function Uo(e,t){return e in t&&t[e]!==void 0}function Wo(e,t){let n=t[e];return n===void 0?null:n}function Go(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}function Ko(e){return{type:e}}Vo.register(Lo,{error:[Or,[V],(e,[t],n)=>{throw new Ci(t.evaluate(e),n)}],typeof:[V,[H],(e,[t])=>Lr(ji(t.evaluate(e)))],"to-rgba":[Ir(B,4),[Tr],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[n*255,r*255,i*255,a]}],rgb:[Tr,[B,B,B],Ho],rgba:[Tr,[B,B,B,B],Ho],has:{type:wr,overloads:[[[V],(e,[t])=>Uo(t.evaluate(e),e.properties())],[[V,Dr],(e,[t,n])=>Uo(t.evaluate(e),n.evaluate(e))]]},get:{type:H,overloads:[[[V],(e,[t])=>Wo(t.evaluate(e),e.properties())],[[V,Dr],(e,[t,n])=>Wo(t.evaluate(e),n.evaluate(e))]]},"feature-state":[H,[V],(e,[t])=>Wo(t.evaluate(e),e.featureState||{})],properties:[Dr,[],e=>e.properties()],"geometry-type":[V,[],e=>e.geometryType()],id:[H,[],e=>e.id()],zoom:[B,[],e=>e.globals.zoom],"heatmap-density":[B,[],e=>e.globals.heatmapDensity||0],elevation:[B,[],e=>e.globals.elevation||0],"line-progress":[B,[],e=>e.globals.lineProgress||0],accumulated:[H,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[B,Ko(B),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[B,Ko(B),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:B,overloads:[[[B,B],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[B],(e,[t])=>-t.evaluate(e)]]},"/":[B,[B,B],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[B,[B,B],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[B,[],()=>Math.LN2],pi:[B,[],()=>Math.PI],e:[B,[],()=>Math.E],"^":[B,[B,B],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[B,[B],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[B,[B],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[B,[B],(e,[t])=>Math.log(t.evaluate(e))],log2:[B,[B],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[B,[B],(e,[t])=>Math.sin(t.evaluate(e))],cos:[B,[B],(e,[t])=>Math.cos(t.evaluate(e))],tan:[B,[B],(e,[t])=>Math.tan(t.evaluate(e))],asin:[B,[B],(e,[t])=>Math.asin(t.evaluate(e))],acos:[B,[B],(e,[t])=>Math.acos(t.evaluate(e))],atan:[B,[B],(e,[t])=>Math.atan(t.evaluate(e))],min:[B,Ko(B),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[B,Ko(B),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[B,[B],(e,[t])=>Math.abs(t.evaluate(e))],round:[B,[B],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[B,[B],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[B,[B],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[wr,[V,H],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[wr,[H],(e,[t])=>e.id()===t.value],"filter-type-==":[wr,[V],(e,[t])=>e.geometryType()===t.value],"filter-<":[wr,[V,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[wr,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[wr,[V,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[wr,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}
vendor: 26,098 bytes, line 1
1],"filter-<=":[wr,[V,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[wr,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[wr,[V,H],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[wr,[H],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[wr,[H],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[wr,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[wr,[Ir(V)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[wr,[Ir(H)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[wr,[V,Ir(H)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[wr,[V,Ir(H)],(e,[t,n])=>Go(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:wr,overloads:[[[wr,wr],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[Ko(wr),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:wr,overloads:[[[wr,wr],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[Ko(wr),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[wr,[wr],(e,[t])=>!t.evaluate(e)],"is-supported-script":[wr,[V],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[V,[V],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[V,[V],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[V,Ko(H),(e,t)=>t.map(t=>Mi(t.evaluate(e))).join(``)],split:[Ir(V),[V,V],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[V,[Ir(V),V],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[V,[kr],(e,[t])=>t.evaluate(e).resolvedLocale()]});function qo(e){return Array.isArray(e)?`(${e.map(Lr).join(`, `)})`:`(${Lr(e.type)}...)`}function Jo(e){if(e instanceof ea)return Jo(e.boundExpression);if(e instanceof Vo&&e.name===`error`||e instanceof Oa||e instanceof ao||e instanceof Po||e instanceof Io)return!1;let t=e instanceof Qi||e instanceof Xi,n=!0;return e.eachChild(e=>{n&&=t?Jo(e):e instanceof Ni}),n?Yo(e)&&Zo(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`]):!1}function Yo(e){if(e instanceof Vo&&(e.name===`get`&&e.args.length===1||e.name===`feature-state`||e.name===`has`&&e.args.length===1||e.name===`properties`||e.name===`geometry-type`||e.name===`id`||/^filter-/.test(e.name))||e instanceof ao||e instanceof Po)return!1;let t=!0;return e.eachChild(e=>{t&&!Yo(e)&&(t=!1)}),t}function Xo(e){if(e instanceof Vo&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild(e=>{t&&!Xo(e)&&(t=!1)}),t}function Zo(e,t){if(e instanceof Vo&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!Zo(e,t)&&(n=!1)}),n}function Qo(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function $o(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function es(e){return!!e.expression&&e.expression.interpolated}var ts=/^(.*)-transition$/;function ns(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function rs(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function is(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&ji(e)===Dr}function as(e){return e}function os(e){switch(e.type){case`color`:return U.parse;case`padding`:return bi.parse;case`numberArray`:return xi.parse;case`colorArray`:return Si.parse;default:return null}}function ss(e){switch(e){case`exponential`:return fs;case`interval`:return ds;case`categorical`:return us;case`identity`:return ps;default:throw Error(`Unknown function type "${e}"`)}}function cs(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||e.property!==void 0,i=n||!r,a=e.type||(es(t)?`exponential`:`interval`),o=os(t);if(o&&(e=ns({},e),e.stops&&(e.stops=e.stops.map(e=>[e[0],o(e[1])])),e.default?e.default=o(e.default):e.default=o(t.default)),e.colorSpace&&!gi(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let s=ss(a),c,l;if(a===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,cs(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:zi.interpolationFactor.bind(void 0,a),zoomStops:i.map(e=>e[0]),evaluate({zoom:n},r){return fs({stops:i,base:e.base},t,n).evaluate(n,r)}}}if(i){let n=a===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:zi.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map(e=>e[0]),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?ls(e.default,t.default):s(e,t,i,c,l)}}}function ls(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function us(e,t,n,r,i){return ls(typeof n===i?r[n]:void 0,e.default,t.default)}function ds(e,t,n){if(rs(n)!==`number`)return ls(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=Ii(e.stops.map(e=>e[0]),n,``);return e.stops[i][1]}function fs(e,t,n){let r=e.base===void 0?1:e.base;if(rs(n)!==`number`)return ls(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=Ii(e.stops.map(e=>e[0]),n,``),o=ms(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=Vi[t.type]||as;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function ps(e,t,n){switch(t.type){case`color`:n=U.parse(n);break;case`formatted`:n=yi.fromString(n.toString());break;case`resolvedImage`:n=Ei.fromString(n.toString());break;case`padding`:n=bi.parse(n);break;case`colorArray`:n=Si.parse(n);break;case`numberArray`:n=xi.parse(n);break;default:rs(n)!==t.type&&(t.type!==`enum`||!t.values[n])&&(n=void 0)}return ls(n,e.default,t.default)}function ms(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}function hs(e){return{result:`success`,value:e}}function gs(e){return{result:`error`,value:e}}var _s=class{constructor(e,t,n,r){this.expression=e,this._warningHistory={},this._evaluator=new Fi,this._defaultValue=n?js(n):null,this._enumValues=n&&n.type===`enum`?n.values:null,this._globalState=r,this._rootKey=t}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Ms(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._globalState&&(e=Ms(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!==e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new Ci(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(`, `)}, but found ${JSON.stringify(e)} instead.`,``);return e}catch(e){let t=e instanceof Ci?e.path:``,n=`${t}|${e.message}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(vs(this._rootKey,t,e.message,this._defaultValue))),this._defaultValue}}};function vs(e,t,n,r){return`${e}${t}: ${n}${r==null?``:` Falling back to ${String(r)}.`}`}function ys(e){if(!e)throw Error(`rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".`)}function bs(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in Lo}function xs(e,t,n,r){ys(t);let i=new Bo(Lo,Jo,[],n?As(n):void 0),a=i.parse(e,void 0,void 0,void 0,n&&n.type===`string`?{typeAnnotation:`coerce`}:void 0);return a?hs(new _s(a,t,n,r)):gs(i.errors)}var Ss=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!Xo(t.expression),this.globalStateRefs=ks(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Ms(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Ms(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}},Cs=class{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!Xo(t.expression),this.globalStateRefs=ks(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=Ms(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=Ms(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?zi.interpolationFactor(this.interpolationType,e,t,n):0}};function ws(e){return e._styleExpression!==void 0}function Ts(e,t,n,r){let i=xs(e,t,n,r);if(i.result===`error`)return i;let a=i.value.expression,o=Yo(a);if(!o&&!Qo(n))return gs([new Ro(``,`data expressions not supported`)]);let s=Zo(a,[`zoom`]);if(!s&&!$o(n))return gs([new Ro(``,`zoom expressions not supported`)]);let c=Os(a);if(!c&&!s)return gs([new Ro(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)]);if(c instanceof Ro)return gs([c]);if(c instanceof zi&&!es(n))return gs([new Ro(``,`"interpolate" expressions cannot be used with this property`)]);if(!c)return hs(o?new Ss(`constant`,i.value,r):new Ss(`source`,i.value,r));let l=c instanceof zi?c.interpolation:void 0;return hs(o?new Cs(`camera`,i.value,c.labels,l,r):new Cs(`composite`,i.value,c.labels,l,r))}var Es=class e{constructor(e,t,n){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,ys(t),this._parameters=e,this._specification=n,this._rootKey=t,this._defaultValue=js(n),this._warningHistory={};let r=cs(this._parameters,this._specification);this.kind=r.kind,this.interpolationFactor=r.interpolationFactor,this.zoomStops=r.zoomStops,this.interpolationType=r.interpolationType,this._innerEvaluate=r.evaluate}evaluate(e,t){try{return this._innerEvaluate(e,t)}catch(e){let t=e instanceof Error?e.message:String(e),n=`|${t}`;return this._warningHistory[n]||(this._warningHistory[n]=!0,typeof console<`u`&&console.warn(vs(this._rootKey,``,t,this._defaultValue))),this._defaultValue}}static deserialize(t){return new e(t._parameters,t._rootKey,t._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification,_rootKey:e._rootKey}}};function Ds(e,t,n,r){if(is(e))return new Es(e,t,n);if(bs(e)){let i=Ts(e,t,n,r);if(i.result===`error`)throw Error(i.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return i.value}{let t=e;return n.type===`color`&&typeof e==`string`?t=U.parse(e):n.type===`padding`&&(typeof e==`number`||Array.isArray(e))?t=bi.parse(e):n.type===`numberArray`&&(typeof e==`number`||Array.isArray(e))?t=xi.parse(e):n.type===`colorArray`&&(typeof e==`string`||Array.isArray(e))?t=Si.parse(e):n.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?t=Ti.parse(e):n.type===`projectionDefinition`&&typeof e==`string`&&(t=Di.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>t}}}function Os(e){let t=null;if(e instanceof $i)t=Os(e.result);else if(e instanceof sa){for(let n of e.args)if(t=Os(n),t)break}else(e instanceof Li||e instanceof zi)&&e.input instanceof Vo&&e.input.name===`zoom`&&(t=e);return t instanceof Ro||e.eachChild(e=>{let n=Os(e);n instanceof Ro?t=n:!t&&n?t=new Ro(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new Ro(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))}),t}function ks(e,t=new Set){return e instanceof Io&&t.add(e.key),e.eachChild(e=>{ks(e,t)}),t}function As(e){let t={color:Tr,string:V,number:B,enum:V,boolean:wr,formatted:Ar,padding:jr,numberArray:Nr,colorArray:Mr,projectionDefinition:Er,resolvedImage:Pr,variableAnchorOffsetCollection:Fr};return e.type===`array`?Ir(t[e.value]||H,e.length):t[e.type]}function js(e){if(e.type===`color`&&is(e.default))return new U(0,0,0,0);switch(e.type){case`color`:return U.parse(e.default)||null;case`padding`:return bi.parse(e.default)||null;case`numberArray`:return xi.parse(e.default)||null;case`colorArray`:return Si.parse(e.default)||null;case`variableAnchorOffsetCollection`:return Ti.parse(e.default)||null;case`projectionDefinition`:return Di.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function Ms(e,t){let{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s}=e??{};return{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s,globalState:t}}function Ns(e){let t=!1;for(let n of e){let e=Ps(n);if(e===`expression`)return`expression`;e===`legacy`&&(t=!0)}return t?`legacy`:`neutral`}function Ps(e){if(typeof e==`boolean`)return`neutral`;if(!Array.isArray(e)||e.length===0)return`legacy`;switch(e[0]){case`has`:return e.length<2||e[1]===`$id`||e[1]===`$type`?`legacy`:e.length===2?`neutral`:`expression`;case`in`:return e.length>=3&&(typeof e[1]!=`string`||Array.isArray(e[2]))?`expression`:`legacy`;case`!in`:case`!has`:return`legacy`;case`==`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?`expression`:`legacy`;case`none`:return`legacy`;case`any`:case`all`:return Ns(e.slice(1));default:return`expression`}}function Fs(e){return Ps(e)!==`legacy`}function Is(e){return e===`$type`?[`geometry-type`]:e===`$id`?[`id`]:[`get`,e]}function Ls(e){switch(e[0]){case`==`:case`!=`:case`<`:case`<=`:case`>`:case`>=`:return e.length!==3||typeof e[1]!=`string`?null:[e[0],Is(e[1]),e[2]];case`in`:case`!in`:{if(e.length<2||typeof e[1]!=`string`)return null;let t=[`in`,Is(e[1]),[`literal`,e.slice(2)]];return e[0]===`!in`?[`!`,t]:t}case`has`:case`!has`:{if(e.length!==2||typeof e[1]!=`string`||e[1]===`$type`||e[1]===`$id`)return null;let t=[`has`,e[1]];return e[0]===`!has`?[`!`,t]:t}default:return null}}function Rs(e){if((e[0]===`<`||e[0]===`<=`||e[0]===`>`||e[0]===`>=`)&&e[1]===`$type`)return`"$type" cannot be use with operator "${e[0]}"`;let t=Ls(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function zs(e,t,n){let r=n[e];return Array.isArray(r)?Fs(r)?Bs(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function Bs(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case`all`:case`any`:case`none`:for(let n=1;n<e.length;n++){let r=zs(n,t,e);if(r)return r}break;case`!`:{let n=zs(1,t,e);if(n)return n;break}case`case`:for(let n=1;n<e.length-1;n+=2){let r=zs(n,t,e);if(r)return r}}return null}function Vs(e,t){let n=Bs(e);if(!n||typeof console>`u`)return;let r=n.path.map(e=>`[${e}]`).join(``);console.warn(`${t}${r}: ${Rs(n.legacyFilter)}`)}var Hs={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function Us(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Fs(e)?Vs(e,t):e=Ks(e);let r=xs(e,t,Hs,n);if(r.result===`error`)throw Error(r.value.map(e=>`${e.key}: ${e.message}`).join(`, `));return{filter:(e,t,n)=>r.value.evaluate(e,t,{},n),needGeometry:Gs(e),getGlobalStateRefs:()=>ks(r.value.expression)}}function Ws(e,t){return e<t?-1:+(e>t)}function Gs(e){if(!Array.isArray(e))return!1;if(e[0]===`within`||e[0]===`distance`)return!0;for(let t=1;t<e.length;t++)if(Gs(e[t]))return!0;return!1}function Ks(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?qs(e[1],e[2],`==`):t===`!=`?Zs(qs(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?qs(e[1],e[2],t):t===`any`?Js(e.slice(1)):t===`all`?[`all`].concat(e.slice(1).map(Ks)):t===`none`?[`all`].concat(e.slice(1).map(Ks).map(Zs)):t===`in`?Ys(e[1],e.slice(2)):t===`!in`?Zs(Ys(e[1],e.slice(2))):t===`has`?Xs(e[1]):t!==`!has`||Zs(Xs(e[1]))}function qs(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function Js(e){return[`any`].concat(e.map(Ks))}function Ys(e,t){if(t.length===0)return!1;switch(e){case`$type`:return[`filter-type-in`,[`literal`,t]];case`$id`:return[`filter-id-in`,[`literal`,t]];default:return t.length>200&&!t.some(e=>typeof e!=typeof t[0])?[`filter-in-large`,e,[`literal`,t.sort(Ws)]]:[`filter-in-small`,e,[`literal`,t]]}}function Xs(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function Zs(e){return[`!`,e]}function Qs(e){let t=e.key,n=e.value;return n?[new z(t,n,`constants have been deprecated as of v8`)]:[]}function $s(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function ec(e){if(Array.isArray(e))return e.map(ec);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=ec(e[n]);return t}return $s(e)}function tc(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=rs(n);if(l!==`object`)return[new z(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=si(r,l)||r[`*`],d;if(si(i,l))d=i[l];else if(si(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else if(r[`*`])d=s;else{c.push(new z(t,n[e],`unknown property "${e}"`));continue}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new z(t,n,`missing required property "${e}"`));return c}function nc(e){let t=e.value,n=e.valueSpec,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.key,s=e.arrayElementValidator||r;if(rs(t)!==`array`)return[new z(o,t,`array expected, ${rs(t)} found`)];if(n.length&&t.length!==n.length)return[new z(o,t,`array length ${n.length} expected, length ${t.length} found`)];let c={type:n.value,values:n.values};a.$version<7&&(c.function=n.function),rs(n.value)===`object`&&(c=n.value);let l=[];for(let n=0;n<t.length;n++)l=l.concat(s({array:t,arrayIndex:n,value:t[n],valueSpec:c,validateSpec:e.validateSpec,style:i,styleSpec:a,key:`${o}[${n}]`}));return l}function rc(e){let t=e.key,n=e.value,r=e.valueSpec,i=rs(n);return i===`number`&&n!==n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new z(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new z(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new z(t,n,`number expected, ${i} found`)]}function ic(e){let t=e.valueSpec,n=$s(e.value.type),r,i={},a,o,s=n!==`categorical`&&e.value.property===void 0,c=!s,l=rs(e.value.stops)===`array`&&rs(e.value.stops[0])===`array`&&rs(e.value.stops[0][0])===`object`,u=tc({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:d,default:m}});return n===`identity`&&s&&u.push(new z(e.key,e.value,`missing required property "property"`)),n!==`identity`&&!e.value.stops&&u.push(new z(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!es(e.valueSpec)&&u.push(new z(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!Qo(e.valueSpec)?u.push(new z(e.key,e.value,`property functions not supported`)):s&&!$o(e.valueSpec)&&u.push(new z(e.key,e.value,`zoom functions not supported`))),(n===`categorical`||l)&&e.value.property===void 0&&u.push(new z(e.key,e.value,`"property" property is required`)),u;function d(e){if(n===`identity`)return[new z(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(nc({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),rs(r)===`array`&&r.length===0&&t.push(new z(e.key,r,`array must have at least one stop`)),t}function f(e){let n=[],r=e.value,s=e.key;if(rs(r)!==`array`)return[new z(s,r,`array expected, ${rs(r)} found`)];if(r.length!==2)return[new z(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(rs(r[0])!==`object`)return[new z(s,r,`object expected, ${rs(r[0])} found`)];if(r[0].zoom===void 0)return[new z(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new z(s,r,`object stop key must have value`)];if(o&&o>$s(r[0].zoom))return[new z(s,r[0].zoom,`stop zoom values must appear in ascending order`)];$s(r[0].zoom)!==o&&(o=$s(r[0].zoom),a=void 0,i={}),n=n.concat(tc({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:rc,value:p}}))}else n=n.concat(p({key:`${s}[0]`,value:r[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return bs(ec(r[1]))?n.concat([new z(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function p(e,o){let s=rs(e.value),c=$s(e.value),l=e.value===null?o:e.value;if(!r)r=s;else if(s!==r)return[new z(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)];if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new z(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return Qo(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new z(e.key,l,r)]}return n===`categorical`&&s===`number`&&(!isFinite(c)||Math.floor(c)!==c)?[new z(e.key,l,`integer expected, found ${c}`)]:n!==`categorical`&&s===`number`&&a!==void 0&&c<a?[new z(e.key,l,`stop domain values must appear in ascending order`)]:(a=c,n===`categorical`&&c in i?[new z(e.key,l,`stop domain values must be unique`)]:(i[c]=!0,[]))}function m(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}function ac(e){let t=(e.expressionContext===`property`?Ts:xs)(ec(e.value),e.key,e.valueSpec);if(t.result===`error`)return t.value.map(t=>new z(`${e.key}${t.key}`,e.value,t.message));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new z(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext===`property`&&e.propertyType===`layout`&&!Xo(n))return[new z(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!Xo(n))return[new z(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!Zo(n,[`zoom`,`feature-state`]))return[new z(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Yo(n))return[new z(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function oc(e){let t=e.value,n=e.key,r=rs(t);return r===`boolean`?[]:[new z(n,t,`boolean expected, ${r} found`)]}function sc(e){let t=e.key,n=e.value,r=rs(n);return r===`string`?U.parse(String(n))?[]:[new z(t,n,`color expected, "${n}" found`)]:[new z(t,n,`color expected, ${r} found`)]}function cc(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf($s(n))===-1&&i.push(new z(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf($s(n))===-1&&i.push(new z(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function lc(e,t){let n=e;for(let e of t)n=n[e];return n}function uc(e,t){let n=Bs(t);return n?[new z(`${e.key}${n.path.map(e=>`[${e}]`).join(``)}`,lc(e.value,n.path),Rs(n.legacyFilter),null,`warning`)]:[]}function dc(e){let t=ec(e.value);return Fs(t)?[...uc(e,t),...ac(ns({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}}))]:fc(e)}function fc(e){let t=e.value,n=e.key;if(rs(t)!==`array`)return[new z(n,t,`array expected, ${rs(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new z(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(cc({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),$s(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&$s(t[1])===`$type`&&a.push(new z(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new z(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=rs(t[1]),i!==`string`&&a.push(new z(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=rs(t[o]),$s(t[1])===`$type`?a=a.concat(cc({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new z(`${n}[${o}
1]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(fc({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=rs(t[1]),t.length===2?i!==`string`&&a.push(new z(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new z(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function pc(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(ts);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new z(n,o,`unknown property "${s}"`)];let d;if(rs(o)===`string`&&Qo(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new z(n,o,`"${s}" does not support interpolation syntax\nUse an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&s===`text-font`&&is(ec(o))&&$s(o.type)===`identity`&&f.push(new z(n,o,`"text-font" does not support identity functions`)),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function mc(e){return pc(e,`paint`)}function hc(e){return pc(e,`layout`)}function gc(e){let t=[],n=e.value,r=e.key,i=e.style,a=e.styleSpec;if(rs(n)!==`object`)return[new z(r,n,`object expected, ${rs(n)} found`)];!n.type&&!n.ref&&t.push(new z(r,n,`either "type" or "ref" is required`));let o=$s(n.type),s=$s(n.ref);if(n.id){let a=$s(n.id);for(let o=0;o<e.arrayIndex;o++){let e=i.layers[o];$s(e.id)===a&&t.push(new z(r,n.id,`duplicate layer id "${n.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in n){[`type`,`source`,`source-layer`,`filter`,`layout`].forEach(e=>
vendor: 4,227 bytes, line 1
1{e in n&&t.push(new z(r,n[e],`"${e}" is prohibited for ref layers`))});let e;i.layers.forEach(t=>{$s(t.id)===s&&(e=t)}),e?e.ref?t.push(new z(r,n.ref,`ref cannot reference another ref layer`)):o=$s(e.type):t.push(new z(r,n.ref,`ref layer "${s}" not found`))}else if(o!==`background`){if(!n.source)t.push(new z(r,n,`missing required property "source"`));else{let e=i.sources&&i.sources[n.source],a=e&&$s(e.type);e?a===`vector`&&o===`raster`?t.push(new z(r,n.source,`layer "${n.id}" requires a raster source`)):a!==`raster-dem`&&o===`hillshade`||a!==`raster-dem`&&o===`color-relief`?t.push(new z(r,n.source,`layer "${n.id}" requires a raster-dem source`)):a===`raster`&&o!==`raster`?t.push(new z(r,n.source,`layer "${n.id}" requires a vector source`)):a===`vector`&&!n[`source-layer`]?t.push(new z(r,n,`layer "${n.id}" must specify a "source-layer"`)):a===`raster-dem`&&o!==`hillshade`&&o!==`color-relief`?t.push(new z(r,n.source,`raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.`)):o===`line`&&n.paint&&n.paint[`line-gradient`]&&(a!==`geojson`||!e.lineMetrics)&&t.push(new z(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new z(r,n.source,`source "${n.source}" not found`))}}return o===`raster`&&n.paint?.resampling&&n.paint?.[`raster-resampling`]&&t.push(new z(r,n.paint,`layer "${n.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),t=t.concat(tc({key:r,value:n,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${r}.type`,value:n.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:`type`})},filter:dc,layout(e){return tc({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return hc(ns({layerType:o},e))}}})},paint(e){return tc({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(e){return mc(ns({layerType:o},e))}}})}}})),t}function _c(e){let t=e.value,n=e.key,r=rs(t);return r===`string`?[]:[new z(n,t,`string expected, ${r} found`)]}function vc(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=rs(n);if(n===void 0)return o;if(s!==`object`)return o.push(new z(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=$s(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new z(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new z(s,n[s],`unknown property "${s}"`));return o}var yc={promoteId:xc};function bc(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new z(n,t,`"type" is required`)];let o=$s(t.type),s;switch(o){case`vector`:case`raster`:return s=tc({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:yc,validateSpec:a}),s;case`raster-dem`:return s=vc({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=tc({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:yc}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],o=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...ac({key:`${n}.${e}.map`,value:i,validateSpec:a,expressionContext:`cluster-map`})),s.push(...ac({key:`${n}.${e}.reduce`,value:o,validateSpec:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return tc({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return tc({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new z(n,null,`Please use runtime APIs to add canvas sources, rather than
1including them in stylesheets.`,`source.canvas`)];default:return cc({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]},style:i,validateSpec:a,styleSpec:r})}}function xc({key:e,value:t}){if(rs(t)===`string`)return _c({key:e,value:t});{let n=[];for(let r in t)n.push(..._c({key:`${e}.${r}`,value:t[r]}));return n}}function Sc(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=rs(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new z(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(ts);a=s&&r[s[1]]&&r[s[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n})):r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new z(o,t[o],`unknown property "${o}"`)])}return a}function Cc(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=rs(t);if(t===void 0)return[];if(a!==`object`)return[new z(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t){let s=a.match(ts);o=s&&r[s[1]]&&r[s[1]].transition?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:n.transition,style:i,styleSpec:n})):r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n})):o.concat([new z(a,t[a],`unknown property "${a}"`)])}return o}function wc(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=rs(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new z(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=r[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n})):a.concat([new z(o,t[o],`unknown property "${o}"`)]);return a}function Tc(e){return _c(e).length===0?[]:ac(e)}function Ec(e){return _c(e).length===0?[]:ac(e)}function Dc(e){let t=e.key,n=e.value;if(rs(n)===`array`){if(n.length<1||n.length>4)return[new z(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return rc({key:t,value:n,valueSpec:{}})}function Oc(e){let t=e.key,n=e.value;if(rs(n)===`array`){let r={type:`number`};if(n.length<1)return[new z(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return rc({key:t,value:n,valueSpec:{}})}function kc(e){let t=e.key,n=e.value;if(rs(n)===`array`){if(n.length<1)return[new z(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(sc({key:`${t}[${r}]`,value:n[r],valueSpec:{}}));return e}return sc({key:t,value:n,valueSpec:{}})}function Ac(e){let t=e.key,n=e.value,r=rs(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new z(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(cc({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(nc({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a}function jc(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new z(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new z(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(tc({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return _c({key:r,value:n})}function Mc(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=rs(t);if(t===void 0)return[];if(a!==`object`)return[new z(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=r[a]?o.concat(e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}
vendor: 44,792 bytes, line 1
1)):o.concat([new z(a,t[a],`unknown property "${a}"`)]);return o}function Nc(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=rs(n);return r===`array`&&!Fc(n)&&!Pc(n)?[new z(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]:[`array`,`string`].includes(r)?[]:[new z(t,n,`projection expected, invalid type "${r}" found`)]}function Pc(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}function Fc(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}function Ic(e){return!!e&&e.constructor===Object}function Lc(e){return Ic(e.value)?[]:[new z(e.key,e.value,`object expected, ${rs(e.value)} found`)]}var Rc=1114111,zc=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;function Bc(e,t){if(rs(t)!==`string`)return[];let n=`${t}`,r=()=>[new z(e,t,`invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"`)],i=n.match(zc);if(!i)return r();let[,a,o,s]=i;if(s!==void 0)return s.length>6?r():[];let c=parseInt(a,16),l=o===void 0?c:parseInt(o,16);return c>Rc||l>Rc?[new z(e,t,`unicode range is out of bounds, the maximum code point is U+10FFFF`)]:c>l?[new z(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function Vc(e){let t=e.key??`font-faces`,n=e.value,r=e.validateSpec,i=e.styleSpec??xr,a=e.style;if(!Ic(n))return[new z(t,n,`object expected, ${rs(n)} found`)];let o=[];for(let e in n){let s=n[e],c=rs(s);if(c===`string`)o.push(..._c({key:`${t}.${e}`,value:s}));else if(c===`array`){let n={url:{type:`string`,required:!0},"unicode-range":{type:`array`,value:`string`}};for(let[c,l]of s.entries()){let s=`${t}.${e}[${c}]`;o.push(...tc({key:s,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}));let u=Ic(l)?l[`unicode-range`]:void 0;if(rs(u)===`array`)for(let[e,t]of u.entries())o.push(...Bc(`${s}.unicode-range[${e}]`,t))}}else o.push(new z(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}var Hc={"*"(){return[]},array:nc,boolean:oc,number:rc,color:sc,constants:Qs,enum:cc,filter:dc,function:ic,layer:gc,object:tc,source:bc,light:Sc,sky:Cc,terrain:wc,projection:Mc,projectionDefinition:Nc,string:_c,formatted:Tc,resolvedImage:Ec,padding:Dc,numberArray:Oc,colorArray:kc,variableAnchorOffsetCollection:Ac,sprite:jc,state:Lc,fontFaces:Vc};function Uc(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=Uc,n.expression&&is($s(t))?ic(e):n.expression&&bs(ec(t))?ac(e):n.type&&Hc[n.type]?Hc[n.type](e):tc(ns({},e,{valueSpec:n.type?r[n.type]:n}))}function Wc(e){let t=e.value,n=e.key,r=_c(e);return r.length?r:(t.indexOf(`{fontstack}`)===-1&&r.push(new z(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new z(n,t,`"glyphs" url must include a "{range}" token`)),r)}function Gc(e,t=R){let n=[];return n=n.concat(Uc({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Uc,objectElementValidators:{glyphs:Wc,"*"(){return[]}}})),e.constants&&(n=n.concat(Qs({key:`constants`,value:e.constants,style:e,styleSpec:t,validateSpec:Uc}))),qc(n)}Gc.source=Jc(Kc(bc)),Gc.sprite=Jc(Kc(jc)),Gc.glyphs=Jc(Kc(Wc)),Gc.fontFaces=Jc(Kc(Vc)),Gc.light=Jc(Kc(Sc)),Gc.sky=Jc(Kc(Cc)),Gc.terrain=Jc(Kc(wc)),Gc.state=Jc(Kc(Lc)),Gc.layer=Jc(Kc(gc)),Gc.filter=Jc(Kc(dc)),Gc.paintProperty=Jc(Kc(mc)),Gc.layoutProperty=Jc(Kc(hc));function Kc(e){return function(t){return e(Object.assign({},t,{validateSpec:Uc}))}}function qc(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function Jc(e){return function(...t){return qc(e.apply(this,t))}}var Yc={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`},Xc=class{constructor(e,t,n){this._rootKey=t,this._globalState=n,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e===`visible`||e===`none`){this._literalValue=e===`none`?`none`:`visible`,this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=xs(e,this._rootKey,Yc,this._globalState);if(t.result===`error`)throw this._literalValue=`visible`,this._compiledValue=void 0,Error(t.value.map(e=>`${e.key}: ${e.message}`).join(`, `));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=ks(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function Zc(e,t,n){return new Xc(e,t,n)}var Qc=Gc,$c=new Set(Object.keys(R).filter(e=>e.startsWith(`source_`)).map(e=>e.slice(7).replaceAll(`_`,`-`)));function el(e){return Object.entries(e.sources??{}).filter(([,e])=>!$c.has(e.type)).map(([e])=>`sources.${e}`)}function tl(e,t){let n=el(t);return nl(e,Qc(t).filter(({message:e})=>!n.some(t=>e.startsWith(`${t}:`)||e.startsWith(`${t}.`))))}function nl(e,t){let n=!1;for(let r of t){if(r.severity===`warning`){En(r.message);continue}e.fire(new L(Error(r.message))),n=!0}return n}function rl(e,t,n,r){return r?.validate!==!1&&nl(e,t({styleSpec:R,...n}))}var il=class e{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],t=i[1],n=i[2],this.d=t+2*n;for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length],o=i[3+r.length+1];this.keys=i.subarray(a,o),this.bboxes=i.subarray(o),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return[...this.keys];{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u of c)if(o[u]===void 0){let c=u*4;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[u]=!0,a.push(i[u])):o[u]=!1}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e of this.cells)n+=e.length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(t){return new e(t.buffer)}},al={};function W(e,t,n={}){if(al[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),al[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}W(`Object`,Object),W(`Set`,Set),W(`TransferableGridIndex`,il),W(`Color`,U),W(`Error`,Error),W(`AJAXError`,sr),W(`ResolvedImage`,Ei),W(`StylePropertyFunction`,Es),W(`StyleExpression`,_s,{omit:[`_evaluator`]}),W(`ZoomDependentExpression`,Cs),W(`ZoomConstantExpression`,Ss),W(`CompoundExpression`,Vo,{omit:[`_evaluate`]});for(let e in Lo)Lo[e]._classRegistryKey||W(`Expression_${e}`,Lo[e]);function ol(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function sl(e){let t=e.constructor;return e.$name||t._classRegistryKey}function cl(e){if(typeof e!=`object`||!e)return!1;let t=sl(e);return t&&t!==`Object`}function ll(e){return!cl(e)&&(e==null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||ol(e)||Pn(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function ul(e,t){if(ll(e))return(ol(e)||Pn(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(ul(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type ${typeof e}`);let n=sl(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!al[n])throw Error(`${n} is not registered.`);let{klass:r}=al[n],i=r.serialize?r.serialize(e,t):{};if(!r.serialize){for(let r in e){if(!e.hasOwnProperty(r)||al[n].omit.includes(r))continue;let a=e[r];a!==void 0&&(i[r]=al[n].shallow.includes(r)?a:ul(a,t))}e instanceof Error&&(i.message=e.message)}else if(i===t?.[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`);if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function dl(e){if(ll(e))return e;if(Array.isArray(e))return e.map(dl);if(typeof e!=`object`)throw Error(`can't deserialize object of type ${typeof e}`);let t=sl(e)||`Object`;if(!al[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=al[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=al[t].shallow.includes(n)?i:dl(i)}return r}var fl=class{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}},pl=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new fl,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fl,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}},ml=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=Ds(t===void 0?e.specification.default:t,n,e.specification,r)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some(e=>t.has(e))}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}},hl=class{constructor(e,t,n){this.property=e,this.value=new ml(e,void 0,t,n)}transitioned(e,t){return t.value===this.value?t:new _l(this.property,this.value,t,I({},e.transition,this.transition),e.now)}untransitioned(){return new _l(this.property,this.value,null,{},0)}},gl=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return wn(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new hl(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new ml(this._values[e].property,t===null?void 0:wn(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let n=e[t];t.endsWith(`-transition`)?this.setTransition(t.slice(0,-11),n):Cn(this._values[t].value.value,n)||this.setValue(t,n)}}getTransition(e){return wn(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new hl(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=wn(t)||void 0}retainPriorGlobalState(e,t,n){for(let r of Object.keys(n._values))for(let i=n._values[r];i;i=i.prior){let{value:n}=i;n.property.specification.transition&&!n.isDataDriven()&&n.expression._globalState===this._globalState&&n.readsGlobalState(e)&&(i.value=new ml(n.property,n.value,this._propertyRootKey(r),t))}}applyGlobalStateChange(e,t,n,r){this.retainPriorGlobalState(e,t,n);let i=!1;for(let t of Object.keys(this._values)){let{value:n}=this._values[t];n.readsGlobalState(e)&&(this.setValue(t,n.value),i=!0)}return i?this.transitioned(r,n):n}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){let n=new vl(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new vl(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},_l=class{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(!a)return i;if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,ln(o))}}},vl=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new xl(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},yl=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return wn(this._values[e].value)}setValue(e,t){this._values[e]=new ml(this._values[e].property,t===null?void 0:wn(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new xl(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}},bl=class{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}},xl=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function Sl(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function Cl(e,t){let n=Sl(e),r=Sl(t);return n!==void 0&&r!==void 0&&n!==r}var G=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error(`Value should not be data driven`);return e.expression.evaluate(t)}interpolate(e,t,n){if(Cl(e,t))return En(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Vi[this.specification.type];return r?r(e,t,n):e}},K=class{constructor(e,t,n){this.specification=e,this.name=t,this.overrides=n}possiblyEvaluate(e,t,n,r){return e.expression.kind===`constant`||e.expression.kind===`camera`?new bl(this,{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)},t):new bl(this,e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new bl(this,{kind:`constant`,value:void 0},e.parameters);if(Cl(e.value.value,t.value.value))return En(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let r=Vi[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new bl(this,{kind:`constant`,value:i},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}},wl=class extends K{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new bl(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new bl(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new bl(this,{kind:`constant`,value:n},t)}return new bl(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Tl=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new pl(Math.floor(t.zoom-1),t)),e.expression.evaluate(new pl(Math.floor(t.zoom),t)),e.expression.evaluate(new pl(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},El=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}},Dl=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new ml(n,void 0,n.name,void 0),i=this.defaultTransitionablePropertyValues[t]=new hl(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}};W(`DataDrivenProperty`,K),W(`DataConstantProperty`,G),W(`CrossFadedDataDrivenProperty`,wl),W(`CrossFadedProperty`,Tl),W(`ColorRampProperty`,El);var Ol=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,kl=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`,Al=class extends br{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=Zc(this.visibility,`layers[${this.id}].layout.visibility`,n),e.type!==`custom`&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!==`background`&&(this.source=e.source,this.sourceLayer=e[`source-layer`],this.filter=e.filter,this._featureFilter=Us(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new yl(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new gl(t.paint,`layers[${this.id}].paint`,n);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xl(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Us(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e===`visibility`)return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+Ol);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let n=this._unevaluatedLayout._values[t];for(let t of n.getGlobalStateRefs())e.add(t)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let i=e.get(r)??[];i.push({name:t,value:n.value}),e.set(r,i)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){if(e===`visibility`){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if(this._transitionablePaint?.hasProperty(e)){this.fire(new L(Error(e+Ol)));return}t!=null&&this._validate(Qc.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith(`-transition`)){let t=e.slice(0,-11);if(t===`visibility`||this._unevaluatedLayout?.hasProperty(t))throw Error(e+kl);return this._transitionablePaint.getTransition(t)}if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))throw Error(e+kl);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))return this.fire(new L(Error(e+kl))),!1;if(t!=null&&this._validate(Qc.paintProperty,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(`-transition`))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility===`none`}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){this._transitionablePaint?.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||={},e.layout.visibility=this.visibility),Sn(e,(e,t)=>e!==void 0&&!(t===`layout`&&!Object.keys(e).length)&&!(t===`paint`&&!Object.keys(e).length))}_validate(e,t,n,r,i={}){return rl(this,e,{key:t,layerType:this.type,objectKey:n,value:r},i)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof bl&&Qo(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}},jl,Ml=()=>jl||=new Dl({"raster-opacity":new G(R.paint_raster[`raster-opacity`],`raster-opacity`),"raster-hue-rotate":new G(R.paint_raster[`raster-hue-rotate`],`raster-hue-rotate`),"raster-brightness-min":new G(R.paint_raster[`raster-brightness-min`],`raster-brightness-min`),"raster-brightness-max":new G(R.paint_raster[`raster-brightness-max`],`raster-brightness-max`),"raster-saturation":new G(R.paint_raster[`raster-saturation`],`raster-saturation`),"raster-contrast":new G(R.paint_raster[`raster-contrast`],`raster-contrast`),resampling:new G(R.paint_raster.resampling,`resampling`),"raster-resampling":new G(R.paint_raster[`raster-resampling`],`raster-resampling`),"raster-fade-duration":new G(R.paint_raster[`raster-fade-duration`],`raster-fade-duration`)}),Nl={get paint(){return Ml()}},Pl=e=>e.type===`raster`,Fl=class extends Al{constructor(e,t){super(e,Nl,t)}},Il={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ll=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},Rl=class{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(this.capacity*5),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error(`_refreshViews() must be implemented by each concrete StructArray layout`)}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}};function zl(e,t=1){let n=0,r=0;return{members:e.map(e=>{let i=Bl(e.type),a=n=Vl(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:Vl(n,Math.max(r,t)),alignment:t}}function Bl(e){return Il[e].BYTES_PER_ELEMENT}function Vl(e,t){return Math.ceil(e/t)*t}var Hl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.int16[r+0]=t,this.int16[r+1]=n,e}};Hl.prototype.bytesPerElement=4,W(`StructArrayLayout2i4`,Hl);var Ul=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}};Ul.prototype.bytesPerElement=6,W(`StructArrayLayout3i6`,Ul);var Wl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}};Wl.prototype.bytesPerElement=8,W(`StructArrayLayout4i8`,Wl);var Gl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}};Gl.prototype.bytesPerElement=12,W(`StructArrayLayout2i4i12`,Gl);var Kl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*4,c=e*8;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}};Kl.prototype.bytesPerElement=8,W(`StructArrayLayout2i4ub8`,Kl);var ql=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.float32[r+0]=t,this.float32[r+1]=n,e}};ql.prototype.bytesPerElement=8,W(`StructArrayLayout2f8`,ql);var Jl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=e*10;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}};Jl.prototype.bytesPerElement=20,W(`StructArrayLayout10ui20`,Jl);var Yl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,i,a,o,s)}emplace(e,t,n,r,i,a,o,s,c){let l=e*8;return this.uint16[l+0]=t,this.uint16[l+1]=n,this.uint16[l+2]=r,this.uint16[l+3]=i,this.uint16[l+4]=a,this.uint16[l+5]=o,this.uint16[l+6]=s,this.uint16[l+7]=c,e}};Yl.prototype.bytesPerElement=16,W(`StructArrayLayout8ui16`,Yl);var Xl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=this.length;return this.resize(p+1),this.emplace(p,e,t,n,r,i,a,o,s,c,l,u,d,f)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=e*14,h=e*7;return this.int16[m+0]=t,this.int16[m+1]=n,this.int16[m+2]=r,this.int16[m+3]=i,this.uint16[m+4]=a,this.uint16[m+5]=o,this.uint16[m+6]=s,this.uint16[m+7]=c,this.int16[m+8]=l,this.int16[m+9]=u,this.int16[m+10]=d,this.int16[m+11]=f,this.float32[h+6]=p,e}};Xl.prototype.bytesPerElement=28,W(`StructArrayLayout4i4ui4i1f28`,Xl);var Zl=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}};Zl.prototype.bytesPerElement=12,W(`StructArrayLayout3f12`,Zl);var Ql=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint32[n+0]=t,e}};Ql.prototype.bytesPerElement=4,W(`StructArrayLayout1ul4`,Ql);var $l=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=e*10,d=e*5;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}};$l.prototype.bytesPerElement=20,W(`StructArrayLayout6i1ul2ui20`,$l);var eu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}};eu.prototype.bytesPerElement=12,W(`StructArrayLayout2i2i2i12`,eu);var tu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=e*4,s=e*8;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}};tu.prototype.bytesPerElement=16,W(`StructArrayLayout2f1f2i16`,tu);var nu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=e*16,c=e*4,l=e*8;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}};nu.prototype.bytesPerElement=16,W(`StructArrayLayout2ub2f2i16`,nu);var ru=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*3;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}};ru.prototype.bytesPerElement=6,W(`StructArrayLayout3ui6`,ru);var iu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=this.length;return this.resize(v+1),this.emplace(v,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e*26,b=e*13,x=e*52;return this.int16[y+0]=t,this.int16[y+1]=n,this.uint16[y+2]=r,this.uint16[y+3]=i,this.uint32[b+2]=a,this.uint32[b+3]=o,this.uint32[b+4]=s,this.uint16[y+10]=c,this.uint16[y+11]=l,this.uint16[y+12]=u,this.float32[b+7]=d,this.float32[b+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=m,this.uint8[x+38]=h,this.uint32[b+10]=g,this.int16[y+22]=_,this.float32[b+12]=v,e}};iu.prototype.bytesPerElement=52,W(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52`,iu);var au=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O){let k=this.length;return this.resize(k+1),this.emplace(k,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k){let A=e*34,j=e*17;return this.int16[A+0]=t,this.int16[A+1]=n,this.int16[A+2]=r,this.int16[A+3]=i,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=c,this.uint16[A+8]=l,this.uint16[A+9]=u,this.uint16[A+10]=d,this.uint16[A+11]=f,this.uint16[A+12]=p,this.uint16[A+13]=m,this.uint16[A+14]=h,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=v,this.uint16[A+18]=y,this.uint16[A+19]=b,this.uint16[A+20]=x,this.uint16[A+21]=S,this.uint16[A+22]=C,this.uint32[j+12]=w,this.float32[j+13]=T,this.float32[j+14]=E,this.uint16[A+30]=D,this.uint16[A+31]=O,this.float32[j+16]=k,e}};au.prototype.bytesPerElement=68,W(`StructArrayLayout8i15ui1ul2f2ui1f68`,au);var ou=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.float32[n+0]=t,e}};ou.prototype.bytesPerElement=4,W(`StructArrayLayout1f4`,ou);var su=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*6,a=e*3;return this.uint16[i+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,e}};su.prototype.bytesPerElement=12,W(`StructArrayLayout1ui2f12`,su);var cu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=e*2,a=e*4;return this.uint32[i+0]=t,this.uint16[a+2]=n,this.uint16[a+3]=r,e}};cu.prototype.bytesPerElement=8,W(`StructArrayLayout1ul2ui8`,cu);var lu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}};lu.prototype.bytesPerElement=4,W(`StructArrayLayout2ui4`,lu);var uu=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint16[n+0]=t,e}};uu.prototype.bytesPerElement=2,W(`StructArrayLayout1ui2`,uu);var du=class extends Rl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}};du.prototype.bytesPerElement=16,W(`StructArrayLayout4f16`,du);var fu=class extends Ll{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new M(this.anchorPointX,this.anchorPointY)}};fu.prototype.size=20;var pu=class extends $l{get(e){return new fu(this,e)}};W(`CollisionBoxArray`,pu);var mu=class extends Ll{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};mu.prototype.size=52;var hu=class extends iu{get(e){return new mu(this,e)}};W(`PlacedSymbolArray`,hu);var gu=class extends Ll{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};gu.prototype.size=68;var _u=class extends au{get(e){return new gu(this,e)}};W(`SymbolInstanceArray`,_u);var vu=class extends ou{getoffsetX(e){return this.float32[e*1+0]}};W(`GlyphOffsetArray`,vu);var yu=class extends Ul{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};W(`SymbolLineVertexArray`,yu);var bu=class extends Ll{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}};bu.prototype.size=12;var xu=class extends su{get(e){return new bu(this,e)}};W(`TextAnchorOffsetArray`,xu);var Su=class extends Ll{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}};Su.prototype.size=8;var Cu=class extends cu{get(e){return new Su(this,e)}};W(`FeatureIndexArray`,Cu);var wu=class extends Hl{},Tu=class extends Ul{},Eu=class extends Wl{},Du=class extends Hl{},Ou=class extends Hl{},ku=class extends Gl{},Au=class extends Kl{},ju=class extends ql{},Mu=class extends Jl{},Nu=class extends Yl{},Pu=class extends Xl{},Fu=class extends Zl{}
vendor: 4,549 bytes, line 1
1,Iu=class extends Ql{},Lu=class extends eu{},Ru=class extends tu{},zu=class extends nu{},Bu=class extends ru{},Vu=class extends ru{},Hu=class extends lu{},Uu=class extends uu{},Wu=zl([{name:`a_pos`,components:2,type:`Int16`}],4),Gu=Wu.members;Wu.size,Wu.alignment;var Ku=class e{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(t,n,r,i){let a=this.segments[this.segments.length-1];return t>e.MAX_VERTEX_ARRAY_LENGTH&&En(`Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>e.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==i?this.createNewSegment(n,r,i):a}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(t,n,r,i){return new e([{vertexOffset:t,primitiveOffset:n,vertexLength:r,primitiveLength:i,vaos:{},sortKey:0}])}};Ku.MAX_VERTEX_ARRAY_LENGTH=2**16-1,W(`SegmentVector`,Ku);function qu(e,t){return e=F(Math.floor(e),0,255),t=F(Math.floor(t),0,255),256*e+t}var Ju=zl([{name:`a_pattern_from`,components:4,type:`Uint16`},{name:`a_pattern_to`,components:4,type:`Uint16`},{name:`a_pixel_ratio_from`,components:1,type:`Uint16`},{name:`a_pixel_ratio_to`,components:1,type:`Uint16`}]),Yu=zl([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]),Xu=Se(((e,t)=>{function n(e,t){for(var n=e.length&3,r=e.length-n,i=t,a,o=3432918353,s=461845907,c,l=0;l<r;)c=e.charCodeAt(l)&255|(e.charCodeAt(++l)&255)<<8|(e.charCodeAt(++l)&255)<<16|(e.charCodeAt(++l)&255)<<24,++l,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c,i=i<<13|i>>>19,a=(i&65535)*5+(((i>>>16)*5&65535)<<16)&4294967295,i=(a&65535)+27492+(((a>>>16)+58964&65535)<<16);switch(c=0,n){case 3:c^=(e.charCodeAt(l+2)&255)<<16;case 2:c^=(e.charCodeAt(l+1)&255)<<8;case 1:c^=e.charCodeAt(l)&255,c=(c&65535)*o+(((c>>>16)*o&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*s+(((c>>>16)*s&65535)<<16)&4294967295,i^=c}return i^=e.length,i^=i>>>16,i=(i&65535)*2246822507+(((i>>>16)*2246822507&65535)<<16)&4294967295,i^=i>>>13,i=(i&65535)*3266489909+(((i>>>16)*3266489909&65535)<<16)&4294967295,i^=i>>>16,i>>>0}t!==void 0&&(t.exports=n)})),Zu=Se(((e,t)=>{function n(e,t){for(var n=e.length,r=t^n,i=0,a;n>=4;)a=e.charCodeAt(i)&255|(e.charCodeAt(++i)&255)<<8|(e.charCodeAt(++i)&255)<<16|(e.charCodeAt(++i)&255)<<24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),a^=a>>>24,a=(a&65535)*1540483477+(((a>>>16)*1540483477&65535)<<16),r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)^a,n-=4,++i;switch(n){case 3:r^=(e.charCodeAt(i+2)&255)<<16;case 2:r^=(e.charCodeAt(i+1)&255)<<8;case 1:r^=e.charCodeAt(i)&255,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16)}return r^=r>>>13,r=(r&65535)*1540483477+(((r>>>16)*1540483477&65535)<<16),r^=r>>>15,r>>>0}t.exports=n})),Qu=we(Se(((e,t)=>{var n=Xu(),r=Zu();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r}))(),1),$u=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(ed(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=ed(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;){let e=this.positions[3*n],t=this.positions[3*n+1],r=this.positions[3*n+2];i.push({index:e,start:t,end:r}),n++}return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return td(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(t){let n=new e;return n.ids=t.ids,n.positions=t.positions,n.indexed=!0,n}};function ed(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,Qu.default)(String(e))}function td(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;nd(e,a,o),nd(t,3*a,3*o),nd(t,3*a+1,3*o+1),nd(t,3*a+2,3*o+2)}o-n<r-o?(td(e,t,n,o),n=o+1):(td(e,t,o+1,r),r=o)}}
vendor: 12,772 bytes, line 1
1function nd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}W(`FeaturePositionMap`,$u);var rd=class{constructor(e,t){this.gl=e.gl,this.location=t}},q=class extends rd{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},J=class extends rd{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},Y=class extends rd{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},id=class extends rd{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},ad=class extends rd{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2]||e[3]!==this.current[3])&&(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}},od=class extends rd{constructor(e,t){super(e,t),this.current=U.transparent}set(e){(e.r!==this.current.r||e.g!==this.current.g||e.b!==this.current.b||e.a!==this.current.a)&&(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}},sd=class extends rd{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},cd=class extends rd{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},ld=new Float32Array(16),ud=class extends rd{constructor(e,t){super(e,t),this.current=ld}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);return}for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}};function dd(e){return[qu(255*e.r,255*e.g),qu(255*e.b,255*e.a)]}var fd=class{constructor(e,t,n){this.value=e,this.uniformNames=t.map(e=>`u_${e}`),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new od(e,t):new J(e,t)}},pd=class{constructor(e,t){this.uniformNames=t.map(e=>`u_${e}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let i=null;r===`u_pattern_to`?i=this.patternTo:r===`u_pattern_from`?i=this.patternFrom:r===`u_dasharray_to`?i=this.dashTo:r===`u_dasharray_from`?i=this.dashFrom:r===`u_pixel_ratio_to`?i=this.pixelRatioTo:r===`u_pixel_ratio_from`&&(i=this.pixelRatioFrom),i!==null&&e.set(i)}getBinding(e,t,n){return n.startsWith(`u_pattern`)||n.startsWith(`u_dasharray_`)?new ad(e,t):new J(e,t)}},md=class{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0})),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,i=this.expression.evaluate(new pl(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new pl(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=dd(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},hd=class{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map(e=>`u_${e}_t`),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new pl(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new pl(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new pl(this.zoom,i),n,r),o=this.expression.evaluate(new pl(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=dd(n),a=dd(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=F(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new J(e,t)}},gd=class{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,this.getPositionIds(t),n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,this.getPositionIds(n),i)}_setPaintValues(e,t,n,r){let i=this.getPositions(r);if(!i||!n)return;let a=i[n.min],o=i[n.mid],s=i[n.max];if(a&&o&&s)for(let n=e;n<t;n++)this.emplace(this.zoomInPaintVertexArray,n,a,o),this.emplace(this.zoomOutPaintVertexArray,n,s,o)}upload(e){if(this.zoomInPaintVertexArray?.arrayBuffer.byteLength&&this.zoomOutPaintVertexArray?.arrayBuffer.byteLength){let t=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,t,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,t,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}},_d=class extends gd{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return Ju.members}emplace(e,t,n,r){e.emplace(t,n.tlbr[0],n.tlbr[1],n.tlbr[2],n.tlbr[3],r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],n.pixelRatio,r.pixelRatio)}},vd=class extends gd{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return Yu.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}},yd=class{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof bl)||!Qo(a.property.specification))continue;let o=xd(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new pd(s.value,o):new fd(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=Cd(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new vd(s,c,l,t,n,e.id):new _d(s,c,l,t,n,e.id):new md(s,o,c,n),r.push(`/a_${i}`)}else{let e=Cd(i,c,`composite`);this.binders[i]=new hd(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof md||t instanceof hd?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof md||i instanceof hd||i instanceof gd)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof pd&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof pd&&r.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o of e){let e=t.getPositions(o.id);for(let t of e){let e=n.feature(t.index);for(let n in this.binders){let s=this.binders[n];(s instanceof md||s instanceof hd||s instanceof gd)&&s.expression.isStateDependent===!0&&(s.expression=r.paint.get(n).value,s.updatePaintArray(t.start,t.end,e,o.state,i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof fd||n instanceof pd)&&e.push(...n.uniformNames.map(e=>`#define HAS_UNIFORM_${e}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof md||n instanceof hd)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof gd){let t=n.getVertexAttributes();for(let n of t)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof fd||n instanceof pd||n instanceof hd)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof fd||i instanceof pd||i instanceof hd){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof gd){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof md||n instanceof hd)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof md||n instanceof hd||n instanceof gd)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof md||t instanceof hd||t instanceof gd)&&t.destroy()}}},bd=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new yd(r,t,n);this.needsUpload=!1,this._featureMap=new $u,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}};function xd(e,t){return{"text-opacity":[`opacity`],"icon-opacity":[`opacity`],"text-color":[`fill_color`],"icon-color":[`fill_color`],"text-halo-color":[`halo_color`],"icon-halo-color":[`halo_color`],"text-halo-blur":[`halo_blur`],"icon-halo-blur":[`halo_blur`],"text-halo-width":[`halo_width`],"icon-halo-width":[`halo_width`],"line-gap-width":[`gapwidth`],"line-dasharray":[`dasharray_to`,`dasharray_from`],"line-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-extrusion-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`]}[e]||[e.replace(`${t}-`,``).replace(/-/g,`_`)]}function Sd(e){return{"line-pattern":{source:Mu,composite:Mu},"fill-pattern":{source:Mu,composite:Mu},"fill-extrusion-pattern":{source:Mu,composite:Mu},"line-dasharray":{source:Nu,composite:Nu}}[e]}function Cd(e,t,n){let r={color:{source:ql,composite:du},number:{source:ou,composite:ql}};return Sd(e)?.[n]||r[t][n]}W(`ConstantBinder`,fd),W(`CrossFadedConstantBinder`,pd),W(`SourceExpressionBinder`,md),W(`CrossFadedPatternBinder`,_d),W(`CrossFadedDash
1arrayBinder`,vd),W(`CompositeExpressionBinder`,hd),W(`ProgramConfiguration`,yd,{omit:[`_buffers`]}),W(`ProgramConfigurationSet`,bd);var wd=2**14-1,Td=-wd-1;function Ed(e){let t=P/e.extent,n=e.loadGeometry();for(let e of n)for(let n of e){let e=Math.round(n.x*t),r=Math.round(n.y*t);n.x=F(e,Td,wd),n.y=F(r,Td,wd),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&En(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function Dd(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Ed(e):[]}}var Od=-32768;function kd(e,t,n,r,i){e.emplaceBack(Od+t*8+r,Od+n*8+i)}var Ad=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Du,this.indexArray=new Vu,this.segments=new Ku,this.programConfigurations=new bd(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1,l=new pl(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=Dd(t,u);if(!this.layers[0]._featureFilter.filter(l,e,n))continue;let d=o?a.evaluate(e,{},n):void 0,f={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:u?e.geometry:Ed(t),patterns:{},sortKey:d};i.push(f)}o&&i.sort((e,t)=>
vendor: 5,979 bytes, line 1
1e.sortKey-t.sortKey);for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Gu),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=8192||r<0||r>=8192)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)kd(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:{},canonical:r})}};W(`CircleBucket`,Ad,{omit:[`layers`]});function jd(e,t){for(let n of e)if(Vd(t,n))return!0;for(let n of t)if(Vd(e,n))return!0;return Id(e,t)}function Md(e,t,n){return Vd(e,t)?!0:Rd(t,e,n)}function Nd(e,t){if(e.length===1)return Bd(t,e[0]);for(let n of t)for(let t of n)if(Vd(e,t))return!0;for(let n of e)if(Bd(t,n))return!0;for(let n of t)if(Id(e,n))return!0;return!1}function Pd(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(Vd(e,t))return!0}if(Fd(e,r,n))return!0}return!1}function Fd(e,t,n){if(e.length>1){if(Id(e,t))return!0;for(let r of t)if(Rd(r,e,n))return!0}for(let r of e)if(Rd(r,t,n))return!0;return!1}function Id(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],a=t[e+1];if(Ld(r,i,n,a))return!0}}return!1}function Ld(e,t,n,r){return Dn(e,n,r)!==Dn(t,n,r)&&Dn(e,t,n)!==Dn(e,t,r)}function Rd(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++){let i=t[n-1],a=t[n];if(zd(e,i,a)<r)return!0}return!1}function zd(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return i<0?e.distSqr(t):i>1?e.distSqr(n):e.distSqr(n.sub(t)._mult(i)._add(t))}function Bd(e,t){let n=!1,r,i,a;for(let o of e){r=o;for(let e=0,o=r.length-1;e<r.length;o=e++)i=r[e],a=r[o],i.y>t.y!=a.y>t.y&&t.x<(a.x-i.x)*(t.y-i.y)/(a.y-i.y)+i.x&&(n=!n)}return n}function Vd(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function Hd(e,t,n,r,i){for(let a of e)if(t<=a.x&&n<=a.y&&r>=a.x&&i>=a.y)return!0;let a=[new M(t,n),new M(t,i),new M(r,i),new M(r,n)];if(e.length>2){for(let t of a)if(Vd(e,t))return!0}for(let t=0;t<e.length-1;t++){let n=e[t],r=e[t+1];if(Ud(n,r,a))return!0}return!1}function Ud(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=Dn(e,t,n[0]);return a!==Dn(e,t,n[1])||a!==Dn(e,t,n[2])||a!==Dn(e,t,n[3])}function Wd(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Gd(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Kd(e,t,n,r,i){if(!t[0]&&!t[1])return e;let a=M.convert(t)._mult(i);n===`viewport`&&a._rotate(-r);let o=[];for(let t of e)o.push(t.sub(a));return o}function qd(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=t.at(-1);(n===0||i&&!r.equals(i))&&t.push(r)}return t}function Jd(e,t){let n=[];for(let r of e){let e=qd(r),i=[];for(let n=0;n<e.length;n++){let r=e[n],a=e[n-1],o=e[n+1],s=n===0?new M(0,0):r.sub(a)._unit()._perp(),c=n===e.length-1?new M(0,0):o.sub(r)._unit()._perp(),l=s._add(c)._unit(),u=l.x*c.x+l.y*c.y;u!==0&&l._mult(1/u),i.push(l._mult(t)._add(r))}n.push(i)}return n}function Yd({queryGeometry:e,size:t},n){return Md(e,n,t)}function Xd({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Md(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera/n.cameraToCenterDistance))}function Zd({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){let o=n.projectTileCoordinates(a.x,a.y,r,i?.(a.x,a.y)).signedDistanceFromCamera,s=t*(n.cameraToCenterDistance/o);return Md(e,ef(a,n,r,i),s)}function Qd({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Md(e,ef(a,n,r,i),t)}function $d({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?Yd:Xd:o===`map`?Zd:Qd,l={queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i};for(let e of s)for(let t of e)if(c(l,t))return!0;return!1}function ef(e,t,n,r){let i=t.projectTileCoordinates(e.x,e.y,n,r?.(e.x,e.y)).point;return new M((i.x*.5+.5)*t.width,(-i.y*.5+.5)*t.height)}function tf(e,t,n,r){return e.map(e=>ef(e,t,n,r))}var nf,rf=()=>nf||=new Dl({"circle-sort-key":new K(R.layout_circle[`circle-sort-key`],`circle-sort-key`)}),af,of=()=>af||=new Dl({"circle-radius":new K(R.paint_circle[`circle-radius`],`circle-radius`),"circle-color":new K(R.paint_circle[`circle-color`],`circle-color`),"circle-blur":new K(R.paint_circle[`circle-blur`],`circle-blur`),"circle-opacity":new K(R.paint_circle[`circle-opacity`],`circle-opacity`),"cir
1cle-translate":new G(R.paint_circle[`circle-translate`],`circle-translate`),"circle-translate-anchor":new G(R.paint_circle[`circle-translate-anchor`],`circle-translate-anchor`),"circle-pitch-scale":new G(R.paint_circle[`circle-pitch-scale`],`circle-pitch-scale`),"circle-pitch-alignment":new G(R.paint_circle[`circle-pitch-alignment`],`circle-pitch-alignment`),"circle-stroke-width":new K(R.paint_circle[`circle-stroke-width`],`circle-stroke-width`),"circle-stroke-color":new K(R.paint_circle[`circle-stroke-color`],`circle-stroke-color`),"circle-stroke-opacity":new K(R.paint_circle[`circle-stroke-opacity`],`circle-stroke-opacity`)}),sf={get paint(){return of()},get layout(){return rf()}},cf=e=>e.type===`circle`,lf=class extends Al{constructor(e,t){super(e,sf,t)}createBucket(e){return new Ad(e)}queryRadius(e){let t=e;return Wd(`circle-radius`,this,t)+Wd(`circle-stroke-width`,this,t)+Gd(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=Kd(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-scale`),d=this.paint.get(`circle-pitch-alignment`),f,p;return d===`map`?(f=c,p=l*a):(f=tf(c,i,o,s),p=l),$d({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}},uf=class extends Ad{};W(`HeatmapBucket`,uf,{omit:[`layers`]});var df,ff=()=>df||=new Dl({"heatmap-radius":new K(R.paint_heatmap[`heatmap-radius`],`heatmap-radius`),"heatmap-weight":new K(R.paint_heatmap[`heatmap-weight`],`heatmap-weight`),"heatmap-intensity":new G(R.paint_heatmap[`heatmap-intensity`],`heatmap-intensity`),"heatmap-color":new El(R.paint_heatmap[`heatmap-color`],`heatmap-color`),"heatmap-opacity":new G(R.paint_heatmap[`heatmap-opacity`],`heatmap-opacity`)}),pf={get paint(){return ff()}};function mf(e,{width:t,height:n},r,i){if(!i)i=new Uint8Array(t*n*r);else if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`);return e.width=t,e.height=n,e.data=i,e}function hf(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=mf({},{width:t,height:n},r);gf(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function gf(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}var _f=class e{constructor(e,t){mf(this,e,1,t)}resize(e){hf(this,e,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){gf(e,t,n,r,i,1)}},vf=class e{constructor(e,t){mf(this,e,4,t)}resize(e){hf(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){gf(e,t,n,r,i,4)}setPixel(e,t,n){let r=(e*this.width+t)*4;this.data[r+0]=Math.round(n.r*255/n.a),this.data[r+1]=Math.round(n.g*255/n.a),this.data[r+2]=Math.round(n.b*255/n.a),this.data[r+3]=Math.round(n.a*255)}};function yf(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=4){let r=e[n+3];t[n+0]=Math.round(e[n+0]*r/255),t[n+1]=Math.round(e[n+1]*r/255),t[n+2]=Math.round(e[n+2]*r/255),t[n+3]=r}return t}W(`AlphaImage`,_f),W(`RGBAImage`,vf);function bf(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new vf({width:n,height:r});if(!gn(n))throw Error(`width is not a power of 2 - ${n}`);let a=(r,a,o)=>{t[e.evaluationKey]=o;let s=e.expression.evaluate(t);i.setPixel(r/4/n,a/4,s)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=n*4)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t],u=c*(1-s)+l*s;a(i,o,u)}else for(let e=0,t=0;e<n;e++,t+=4){let r=e/(n-1);a(0,t,r)}return i}var xf=`big-fb`,Sf=e=>e.type===`heatmap`,Cf=class extends Al{createBucket(e){return new uf(e)}constructor(e,t){super(e,pf,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e===`heatmap-color`&&this._updateColorRamp()}_updateColorRamp(){let e=this._transitionablePaint._values[`heatmap-color`].value.expression;this.colorRamp=bf({expression:e,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(`big-fb`)&&this.heatmapFbos.delete(xf)}queryRadius(e){return Wd(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return $d({queryGeometry:e,size:this.paint.get(`heatmap-radius`).evaluate(t,n)*a,transform:i,unwrappedTileID:o,getElevation:s},r)}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&!this.isHidden()}},wf,Tf=()=>wf||=new Dl({"hillshade-illumination-direction":new G(R.paint_hillshade[`hillshade-illumination-direction`],`hillshade-illumination-direction`),"hillshade-illumination-altitude":new G(R.paint_hillshade[`hillshade-illumination-altitude`],`hillshade-illumination-altitude`),"hillshade-illumination-anchor":new G(R.paint_hillshade[`hillshade-illumination-anchor`],`hillshade-illumination-anchor`),"hillshade-exaggeration":new G(R.paint_hillshade[`hillshade-exaggeration`],`hillshade-exaggeration`),"hillshade-shadow-color":new G(R.paint_hillshade[`hillshade-shadow-color`],`hillshade-shadow-color`),"hillshade-highlight-color":new G(R.paint_hillshade[`hillshade-highlight-color`],`hillshade-highlight-color`),"hillshade-accent-color":new G(R.paint_hillshade[`hillshade-accent-color`],`hillshade-accent-color`),"hillshade-method":new G(R.paint_hillshade[`hillshade-method`],`hillshade-method`),resampling:new G(R.paint_hillshade.resampling,`resampling`)}),Ef={get paint(){return Tf()}},Df=e=>e.type===`hillshade`,Of=class extends Al{constructor(e,t){super(e,Ef,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get(`hillshade-illumination-direction`).values,t=this.paint.get(`hillshade-illumination-altitude`).values,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(Bn);return{directionRadians:e.map(Bn),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}},kf,Af=()=>kf||=new Dl({"color-relief-opacity":new G(R[`paint_color-relief`][`color-relief-opacity`],`color-relief-opacity`),"color-relief-color":new El(R[`paint_color-relief`][`color-relief-color`],`color-relief-color`),resampling:new G(R[`paint_color-relief`].resampling,`resampling`)}),jf={get paint(){return Af()}};function Mf(e){return`data`in e}var Nf=class{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:i}=e,a=(this.size?.[0]!==r||this.size[1]!==i)&&!n,{context:o}=this,{gl:s}=o;this.useMipmap=!!t?.useMipmap,a&&this.size&&this.format===s.RGBA&&(s.deleteTexture(this.texture),this.texture=s.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1);let c=this.format===s.RGBA&&t?.premultiply!==!1;if(a){if(this.size=[r,i],this.format===s.RGBA&&r>0&&i>
vendor: 6,128 bytes, line 1
10){let t=this.useMipmap?Math.floor(Math.log2(Math.max(r,i)))+1:1;if(s.texStorage2D(s.TEXTURE_2D,t,s.RGBA8,r,i),Mf(e)){o.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:t}=e;c&&t&&(t=yf(t)),t&&s.texSubImage2D(s.TEXTURE_2D,0,0,0,r,i,s.RGBA,s.UNSIGNED_BYTE,t)}else o.pixelStoreUnpackPremultiplyAlpha.set(c),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,e)}else Mf(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,c,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._uploadDomImage(e,s))}else{let{x:t,y:a}=n||{x:0,y:0};Mf(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,c,t,a,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._updateDomImage(e,t,a,s))}this.useMipmap&&!(Mf(e)&&e.data===null)&&s.generateMipmap(s.TEXTURE_2D),o.pixelStoreUnpackFlipY.setDefault(),o.pixelStoreUnpack.setDefault(),o.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,i){let{data:a}=e;t&&a&&(a=yf(a)),i.texImage2D(i.TEXTURE_2D,0,this.format,n,r,0,this.format,i.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,i,a,o){let{data:s}=e;t&&s&&(s=yf(s)),o.texSubImage2D(o.TEXTURE_2D,0,n,r,i,a,o.RGBA,o.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:i}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),i.bindTexture(i.TEXTURE_2D,this.texture),(n===i.LINEAR_MIPMAP_NEAREST||n===i.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(n=i.LINEAR);let a=n||e;e!==this.magFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},Pf=class e{static{this.byteViewCache=new WeakMap}constructor(t,n,r,i=1,a=1,o=1,s=0){if(this.uid=t,n.height!==n.width)throw RangeError(`DEM tiles must be square`);if(r&&![`mapbox`,`terrarium`,`custom`].includes(r)){En(`"${r}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=n.height;let c=this.dim=n.height-4;switch(this.data=new Uint32Array(n.data.buffer),e.byteViewCache.set(this,new Uint8Array(this.data.buffer)),r){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=i,this.greenFactor=a,this.blueFactor=o,this.baseShift=s;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=-2;e<c+2;e++){let t=this._idx(0,Math.max(0,Math.min(c-1,e)));(e<0||e>=c)&&this.data.copyWithin(this._idx(0,e),t,t+c),this.data.fill(this.data[t],this._idx(-2,e),this._idx(0,e)),this.data.fill(this.data[t+c-1],this._idx(c,e),this._idx(c+1,e)+1)}let l=this._getByteView();this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<c;e++)for(let t=0;t<c;t++){let n=this._idx(e,t)*4,r=this._unpackAtIndex(l,n);r>this.max&&(this.max=r),r<this.min&&(this.min=r)}}get(e,t){let n=this._getByteView(),r=this._idx(e,t)*4;return this._unpackAtIndex(n,r)}sampleBilinear(e,t){let n=Math.floor(e),r=Math.floor(t);if(n<-1||n>=this.dim||r<-1||r>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);let i=this._getByteView(),a=((r+2)*this.stride+n+2)*4,o=this.stride*4,s=e-n,c=t-r,l=this._unpackAtIndex(i,a),u=this._unpackAtIndex(i,a+4),d=this._unpackAtIndex(i,a+o),f=this._unpackAtIndex(i,a+o+4);return l*(1-s)*(1-c)+u*s*(1-c)+d*(1-s)*c+f*s*c}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-2||e>=this.dim+2||t<-2||t>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);return(t+2)*this.stride+(e+2)}unpack(e,t,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}pack(e){return Ff(e,this.getUnpackVector())}getPixels(){return new vf({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-2;break;case 1:i=r+2}switch(n){case-1:a=o-2;break;case 1:o=a+2}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}_getByteView(){let t=e.byteViewCache.get(this);return t?.buffer!==this.data.buffer&&(t=new Uint8Array(this.data.buffer),e.byteViewCache.set(this,t)),t}_unpackAtIndex(e,t){return this.unpack(e[t],e[t+1],e[t+2])}};function Ff(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=Math.min(n,r,i),s=Math.round((e+a)/o);return{r:Math.floor(s*o/n)%256,g:Math.floor(s*o/r)%256,b:Math.floor(s*o/i)%256}}W(`DEMData`,Pf);var If=e=>e.type===`color-relief`,Lf=class extends Al{constructor(e,t){super(e,jf,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof Ss&&n._styleExpression.expression instanceof zi){this.colorRampExpression=n;let e=n._styleExpression.expression;t.elevationStops=e.labels,t.colorStops=[];for(let n of t.elevationStops)t.colorStops.push(e.evaluate({globals:{elevation:n}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[U.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let r={elevationStops:[],colorStops:[]},i=(t.elevationStops.length-1)/(e-1);for(let e=0;e<t.elevationStops.length-.5;e+=i)r.elevationStops.push(t.elevationStops[Math.round(e)]),r.colorStops.push(t.colorStops[Math.round(e)]);return En(`Too many colors in specification of ${this.id}
1 color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),r}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values[`color-relief-color`].value.expression}getColorRampTextures(e,t,n){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let r=this._createColorRamp(t),i=new vf({width:r.colorStops.length,height:1}),a=new vf({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=Ff(r.elevationStops[e],n);a.setPixel(0,e,new U(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new Nf(e,a,e.gl.RGBA),colorTexture:new Nf(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},Rf=zl([{name:`a_pos`,components:2,type:`Int16`}],4),zf=Rf.members;Rf.size,Rf.alignment;function Bf(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function Vf(e,t,n,r,i){let{zoom:a}=r,o=i.patternDependencies;for(let r of t){let t=r.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:a-1},n,{},i.availableImages),s=t.evaluate({zoom:a},n,{},i.availableImages),c=t.evaluate({zoom:a+1},n,{},i.availableImages);e=e?.name?e.name:e,s=s?.name?s.name:s,c=c?.name?c.name:c,o[e]=!0,o[s]=!0,o[c]=!0,n.patterns[r.id]={min:e,mid:s,max:c}}}return n}var Hf=new Set,Uf=!1;function Wf(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length;Hf.size&&Hf.clear();let a=Gf(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s=0,c=0,l=0;
vendor: 4,092 bytes, line 1
1if(r&&(a=$f(e,t,a,n)),e.length>80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return qf(a,o,s,c,l),o}function Gf(e,t,n,r,i){let a=null;if(i===Ip(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=Np(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=Np(i/r|0,e[i],e[i+1],a);return a&&Ep(a,a.next)&&(Pp(a),a=a.next),a}function Kf(e,t=e){let n=t===e,r=e,i;do i=!1,r!==r.next&&(Hf.size===0||!Hf.has(r))&&(Ep(r,r.next)||Tp(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),Uf=!0,Pp(r),r=r.prev,i=!0):(n||r!==t)&&(r=r.next,i=!n);while(i||r!==t);return t}function qf(e,t,n,r,i){i&&vp(e,n,r,i);let a=e,o=!1;for(;e.prev!==e.next;){let s=e.prev,c=e.next;if(Tp(s,e,c)<0&&(i?Yf(e,n,r,i):Jf(e))){t.push(s.i,e.i,c.i),Pp(e),e=c,a=c;continue}if(e=c,e===a){if(Uf=!1,e=Kf(e),Uf){a=e;continue}if(!o){e=Xf(e,t),a=e,o=!0;continue}Zf(e,t,n,r,i);break}}}function Jf(e){let t=e.prev,n=e,r=e.next,i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&(i!==m.x||s!==m.y)&&Cp(i,s,a,c,o,l,m.x,m.y)&&Tp(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function Yf(e,t,n,r){let i=e.prev,a=e,o=e.next,s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=xp(p,m,t,n,r),v=xp(h,g,t,n,r),y=e.prevZ;for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==o&&(s!==y.x||u!==y.y)&&Cp(s,u,c,d,l,f,y.x,y.y)&&Tp(y.prev,y,y.next)>=0)return!1;y=y.prevZ}let b=e.nextZ;for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==o&&(s!==b.x||u!==b.y)&&Cp(s,u,c,d,l,f,b.x,b.y)&&Tp(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function Xf(e,t){let n=e,r=!1;do{let i=n.prev,a=n.next.next;Dp(i,n,n.next,a,!1)&&Ap(i,a)&&Ap(a,i)&&(t.push(i.i,n.i,a.i),Pp(n),Pp(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?Kf(n):n}function Zf(e,t,n,r,i){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&wp(a,e)){let o=Mp(a,e);a=Kf(a,a.next),o=Kf(o,o.next),qf(a,t,n,r,i),qf(o,t,n,r,i);return}e=e.next}a=a.next}while(a!==e)}var Qf=!1;function $f(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=Gf(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&Hf.add(o),i.push(Sp(o))}i.sort(ep),op(e.length/r,t.length),sp(n,n),Qf=!0;for(let e=0;e<i.length;e++)n=tp(i[e],n);return Qf=!1,Kf(n)}function ep(e,t){return e.x-t.x||e.y-t.y||(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)}function tp(e,t){let n=dp(e,t);if(!n)return t;let r=Mp(n,e),i=r.next;return sp(n,i.next),Kf(r,r.next),Kf(n,n.next)}var np=new Float64Array,rp=0,ip=[],ap=[];function op(e,t){let n=Math.ceil((e+2*t)/16)+t+2;np.length<n*4&&(np=new Float64Array(n*4)),rp=0}function sp(e,t){let n=e;do{let e=rp++;ip[e]=n;let r=1/0,i=1/0,a=-1/0,o=-1/0,s=0;do{let t=n.next;n.z=e,n.x<r&&(r=n.x),n.x>a&&(a=n.x),n.y<i&&(i=n.y),n.y>o&&(o=n.y),t.x<r&&(r=t.x),t.x>a&&(a=t.x),t.y<i&&(i=t.y),t.y>o&&(o=t.y),n=t}while(++s<16&&n!==t);ap[e]=n;let c=e*4;np[c]=r,np[c+1]=i,np[c+2]=a,np[c+3]=o}while(n!==t)}function cp(e,t){let n=e.z*4;t.x<np[n]&&(np[n]=t.x),t.y<np[n+1]&&(np[n+1]=t.y),t.x>np[n+2]&&(np[n+2]=t.x),t.y>np[n+3]&&(np[n+3]=t.y)}function lp(e){let t=ap[e];for(;t.prev.next!==t;)t=t.next;return ap[e]=t,t}function up(e){let t=ip[e];for(;t.prev.next!==t;)t=t.next;return ip[e]=t,t}function dp(e,t){let n=t,r=e.x,i=e.y,a=-1/0,o;if(Ep(e,n))return n;for(let t=0,s=0;t<rp;t++,s+=4){if(i<np[s+1]||i>np[s+3]||np[s]>r||np[s+2]<=a)continue;let c=lp(t);n=up(t);do{if(n.prev.next===n){if(Ep(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a&&(a=e,o=n.x<n.next.x?n:n.next,e===r))return o}}n=n.next}while(n!==c)}if(!o)return null;let s=o.x,c=o.y,l=Math.min(i,c),u=Math.max(i,c),d=1/0;for(let t=0,f=0;t<rp;t++,f+=4){if(np[f+2]<s||np[f]>r||np[f+3]<l||np[f+1]>u)continue;let p=lp(t);n=up(t);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&Cp(i<c?r:a,i,s,c,i<c?a:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);(Ap(n,e)||n.y===i&&n.next.y===i&&n.next.x>r)&&(t<d||t===d&&(n.x>
vendor: 31,146 bytes, line 1
1o.x||n.x===o.x&&fp(o,n)))&&(o=n,d=t)}n=n.next}while(n!==p)}return o}function fp(e,t){return Tp(e.prev,e,t.prev)<0&&Tp(t.next,e,e.next)<0}var pp=[],mp=[],hp=new Uint32Array,gp=new Uint32Array,_p=new Uint32Array(256);function vp(e,t,n,r){let i=e,a=0;do i.z=xp(i.x,i.y,t,n,r),pp[a++]=i,i=i.next;while(i!==e);yp(a);let o=null;for(let e=0;e<a;e++){let t=pp[e];t.prevZ=o,o&&(o.nextZ=t),o=t}o.nextZ=null}function yp(e){if(e<=32){for(let t=1;t<e;t++){let e=pp[t],n=e.z,r=t-1;for(;r>=0&&pp[r].z>n;)pp[r+1]=pp[r],r--;pp[r+1]=e}return}hp.length<e&&(hp=new Uint32Array(e),gp=new Uint32Array(e),mp=Array(e));for(let t=0;t<e;t++)hp[t]=pp[t].z;bp(e,pp,hp,mp,gp,0),bp(e,mp,gp,pp,hp,8),bp(e,pp,hp,mp,gp,16),bp(e,mp,gp,pp,hp,24)}function bp(e,t,n,r,i,a){_p.fill(0);for(let t=0;t<e;t++)_p[n[t]>>>a&255]++;let o=0;for(let e=0;e<256;e++){let t=_p[e];_p[e]=o,o+=t}for(let o=0;o<e;o++){let e=n[o],s=_p[e>>>a&255]++;r[s]=t[o],i[s]=e}}function xp(e,t,n,r,i){return e=(e-n)*i|0,t=(t-r)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Sp(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function Cp(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function wp(e,t){let n=Ep(e,t)&&Tp(e.prev,e,e.next)>0&&Tp(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||Ap(e,t)&&Ap(t,e)&&(Tp(e.prev,e,t.prev)!==0||Tp(e,t.prev,t)!==0))&&!kp(e,t)&&(n||jp(e,t))}function Tp(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function Ep(e,t){return e.x===t.x&&e.y===t.y}function Dp(e,t,n,r,i=!0){let a=Tp(e,t,n),o=Tp(e,t,r),s=Tp(n,r,e),c=Tp(n,r,t);return(a>0&&o<0||a<0&&o>0)&&(s>0&&c<0||s<0&&c>0)?!0:i?!!(a===0&&Op(e,n,t)||o===0&&Op(e,r,t)||s===0&&Op(n,e,r)||c===0&&Op(n,t,r)):!1}function Op(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function kp(e,t){let n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y),o=e;do{let s=o.next;if(o.x>r&&s.x>r||o.x<n&&s.x<n||o.y>a&&s.y>a||o.y<i&&s.y<i){o=s;continue}if(o.i!==e.i&&s.i!==e.i&&o.i!==t.i&&s.i!==t.i&&Dp(o,s,e,t))return!0;o=s}while(o!==e);return!1}function Ap(e,t){return Tp(e.prev,e,e.next)<0?Tp(e,t,e.next)>=0&&Tp(e,e.prev,t)>=0:Tp(e,t,e.prev)<0||Tp(e,e.next,t)<0}function jp(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let e=n.next;n.y>a!=e.y>a&&i<(e.x-n.x)*(a-n.y)/(e.y-n.y)+n.x&&(r=!r),n=e}while(n!==e);return r}function Mp(e,t){let n=Fp(e.i,e.x,e.y),r=Fp(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function Np(e,t,n,r){let i=Fp(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Pp(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ),Qf&&cp(e.prev,e.next)}function Fp(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function Ip(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}var Lp=class{constructor(e,t){if(t>e)throw Error(`Min granularity must not be greater than base granularity.`);this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<<e;return Math.max(Math.floor(this._baseZoomGranularity/t),this._minGranularity,1)}},Rp=class e{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}static{this.noSubdivision=new e({fill:new Lp(0,0),line:new Lp(0,0),tile:new Lp(0,0),stencil:new Lp(0,0),circle:1})}};W(`SubdivisionGranularityExpression`,Lp),W(`SubdivisionGranularitySetting`,Rp);var zp=-32768,Bp=32767,Vp=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=P/e,this._canonical=t}_getKey(e,t){return e+=32768,t+=32768,e<<16|t<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error(`Vertex coordinates are out of signed 16 bit integer range.`);let n=Math.round(e)|0,r=Math.round(t)|0,i=this._getKey(n,r),a=this._vertexDictionary.get(i);if(a!==void 0)return a;let o=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,o),this._vertexBuffer.push(n,r),o}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return qp(this._vertexBuffer,Kp(e,t));let n=[],r=e.length;for(let i=0;i<r;i+=3){let r=[t[e[i+0]],t[e[i+1]],t[e[i+2]]],a=[this._vertexBuffer[r[0]*2+0],this._vertexBuffer[r[0]*2+1],this._vertexBuffer[r[1]*2+0],this._vertexBuffer[r[1]*2+1],this._vertexBuffer[r[2]*2+0],this._vertexBuffer[r[2]*2+1]],o=1/0,s=1/0,c=-1/0,l=-1/0;for(let e=0;e<3;e++){let t=a[e*2],n=a[e*2+1];o=Math.min(o,t),c=Math.max(c,t),s=Math.min(s,n),l=Math.max(l,n)}if(o===c||s===l)continue;let u=Math.floor(o/this._granularityCellSize),d=Math.ceil(c/this._granularityCellSize),f=Math.floor(s/this._granularityCellSize),p=Math.ceil(l/this._granularityCellSize);if(u===d&&f===p){n.push(...r);continue}for(let e=f;e<p;e++){let t=this._scanlineGenerateVertexRingForCellRow(e,a,r);Jp(this._vertexBuffer,t,n)}}return n}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[e*2],s=t[e*2+1],c=t[(e+1)*2%6],l=t[((e+1)*2+1)%6],u=t[(e+2)*2%6],d=t[((e+2)*2+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}if(!h&&v>0){let e=o+f*v,t=s+p*v;a.push(this._vertexToIndex(e,t))}let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);if(m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1){let e=o+f*y,t=s+p*y;a.push(this._vertexToIndex(e,t))}(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize,a=n+c*(i-t)/s;e.push(this._vertexToIndex(i,a))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=t-a,r=n-o,i=(c-o)/r,u=(l-o)/r,d=a+e*Math.min(i,u);v=Math.floor(Math.min(d,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(d,s)/this._granularityCellSize)-1,b=s<d}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}else for(let t=y;t>=v;t--){let n=t*this._granularityCellSize;e.push(this._vertexToIndex(n,S))}}_generateOutline(e,t){let n=[],r=0;for(let i of e){let e=this._granularity<2?this._ringPathIndices(i,r,t):this._pointArrayToIndices(Up(i,this._granularity,!0));r+=i.length;let a=[];for(let t=1;t<e.length;t++)a.push(e[t-1]),a.push(e[t]);n.push(a)}return n}_ringPathIndices(e,t,n){let r=n.slice(t,t+e.length);return r.length>=2&&Wp(e)&&r.push(r[0]),r}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===-32768&&(e[t+1]=-32767),n===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===-32768)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=P,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[a*2],u=r[a*2+1],d=r[s*2],f=r[s*2+1],p=r[c*2],m=r[c*2+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,-32768),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,-32768),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,-32768)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,32767),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,32767),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,32767))}}_initializeVertices(e){let t=[];for(let n=0;n<e.length;n+=2)t.push(this._vertexToIndex(e[n],e[n+1]));return t}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=Gp(e),i=this._initializeVertices(n),a;try{let e=Wf(n,r);a=this._subdivideTrianglesScanline(e,i)}catch(e){console.error(e)}let o=[];return t&&(o=this._generateOutline(e,i)),this._ensureNoPoleVertices(),this._handlePoles(a),this._granularity>=2&&this._canonical?.z===0&&(a=this._removeTrianglesOutsideTileX(a),o=o.map(e=>this._removeLinesOutsideTileX(e))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:o}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=3)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||this._vertexOutsideTileX(e[n+2])||t.push(e[n],e[n+1],e[n+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let n=0;n<e.length;n+=2)this._vertexOutsideTileX(e[n])||this._vertexOutsideTileX(e[n+1])||t.push(e[n],e[n+1]);return t}_pointArrayToIndices(e){let t=[];for(let n of e)t.push(this._vertexToIndex(n.x,n.y));return t}};function Hp(e,t,n,r=!0){return new Vp(n,t).subdividePolygonInternal(e,r)}function Up(e,t,n=!1){if(!e||e.length<1||e.length<2)return[];let r=n&&Wp(e);if(t<2)return r?[...e,e[0]]:[...e];let i=Math.floor(P/t),a=[];a.push(new M(e[0].x,e[0].y));let o=e.length,s=r?o:o-1;for(let t=0;t<s;t++){let n=e[t],r=t<o-1?e[t+1]:e[0],s=n.x,c=n.y,l=r.x,u=r.y,d=s!==l,f=c!==u;if(!d&&!f)continue;let p=l-s,m=u-c,h=Math.abs(p),g=Math.abs(m),_=s,v=c;for(;;){let e=p>0?(Math.floor(_/i)+1)*i:(Math.ceil(_/i)-1)*i,t=m>0?(Math.floor(v/i)+1)*i:(Math.ceil(v/i)-1)*i,n=Math.abs(_-e),r=Math.abs(v-t),o=Math.abs(_-l),s=Math.abs(v-u),c=d?n/h:1/0,y=f?r/g:1/0;if((o<=n||!d)&&(s<=r||!f))break;if(c<y&&d||!f){_=e,v+=m*c;let t=new M(_,Math.round(v));(a[a.length-1].x!==t.x||a[a.length-1].y!==t.y)&&a.push(t)}else{_+=p*y,v=t;let e=new M(Math.round(_),v);(a[a.length-1].x!==e.x||a[a.length-1].y!==e.y)&&a.push(e)}}let y=new M(l,u);(a[a.length-1].x!==y.x||a[a.length-1].y!==y.y)&&a.push(y)}return a}function Wp(e){return!e[0].equals(e[e.length-1])}function Gp(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e of r)n.push(e.x),n.push(e.y)}return{flattened:n,holeIndices:t}}function Kp(e,t){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=t[e[r]];return n}function qp(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[i*2],c=e[i*2+1],l=e[a*2],u=e[a*2+1],d=e[o*2],f=e[o*2+1],p=l-s,m=u-c,h=d-s;p*(f-c)-m*h>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}function Jp(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[t[0]*2];for(let n=1;n<t.length;n++){let a=e[t[n]*2];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[t[r]*2],l=e[t[r]*2+1],u=e[t[i]*2],d=e[t[i]*2+1],f=e[t[o]*2],p=e[t[o]*2+1],m=e[t[s]*2],h=e[t[s]*2+1],g=!1;if(c<u)g=!0;else if(c>u)g=!1;else{let e=h-p,t=-(m-f),n=p<h?1:-1;((c-f)*e+(l-p)*t)*n>((u-f)*e+(d-p)*t)*n&&(g=!0)}if(g){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Yp(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<Ku.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);d.vertexLength+=l,d.primitiveLength+=a.length/3;let p,m;u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e of c){for(let t=1;t<e.length;t+=2)s.emplaceBack(p+e[t-1],p+e[t]);m.primitiveLength+=e.length/2}}else Zp(t,n,r,i,a,e),u&&Qp(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function Xp(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[i*2],t[i*2+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}function Zp(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c,v=+!!h+ +!!g+ +!!_;l.vertexLength+v>Ku.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let y=Xp(o,r,a,s,f,h,l),b=Xp(o,r,a,s,p,g,l),x=Xp(o,r,a,s,m,_,l);n.emplaceBack(u+y-c,u+b-c,u+x-c),l.primitiveLength++}}function Qp(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d of i)for(let i=1;i<d.length;i+=2){let f=d[i-1],p=d[i],m=o[f]<c,h=o[p]<c,g=+!!m+ +!!h;l.vertexLength+g>Ku.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let _=Xp(o,r,a,s,f,m,l),v=Xp(o,r,a,s,p,h,l);n.emplaceBack(u+_-c,u+v-c),l.primitiveLength++}}var $p=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new Ou,this.indexArray=new Vu,this.indexArray2=new Hu,this.programConfigurations=new bd(e.layers,e.zoom),this.segments=new Ku,this.segments2=new Ku,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Bf(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[],o=new pl(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:l,index:u,sourceLayerIndex:d}of e){let e=Dd(c,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let f=i?r.evaluate(e,{},n,t.availableImages):void 0,p={id:l,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:s?e.geometry:Ed(c),patterns:{},sortKey:f};a.push(p)}i&&a.sort((e,t)=>e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasDependencies){let e=Vf(`fill`,this.layers,r,{zoom:this.zoom},t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures({options:e,canonical:t,patternPositions:n,patternMap:r}){this.detectSdfPatterns(r);for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let n in t.patterns){let r=t.patterns[n];this.recordSdfPattern(n,e[r.min]),this.recordSdfPattern(n,e[r.mid]),this.recordSdfPattern(n,e[r.max])}for(let t of this.layers){let n=t.paint.get(`fill-pattern`).constantOr(null);n&&(this.recordSdfPattern(t.id,e[n.from.toString()]),this.recordSdfPattern(t.id,e[n.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let n=t.sdf===!0,r=this.sdfPatterns[e];r===void 0?this.sdfPatterns[e]=n:r!==n&&En(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,zf),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of Ki(t,500)){let t=Hp(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Yp((e,t)=>{n.emplaceBack(e,t)},this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}};W(`FillBucket`,$p,{omit:[`layers`,`patternFeatures`]});var em,tm=()=>em||=new Dl({"fill-sort-key":new K(R.layout_fill[`fill-sort-key`],`fill-sort-key`)}),nm,rm=()=>nm||=new Dl({"fill-antialias":new G(R.paint_fill[`fill-antialias`],`fill-antialias`),"fill-opacity":new K(R.paint_fill[`fill-opacity`],`fill-opacity`),"fill-layer-opacity":new G(R.paint_fill[`fill-layer-opacity`],`fill-layer-opacity`),"fill-color":new K(R.paint_fill[`fill-color`],`fill-color`),"fill-outline-color":new K(R.paint_fill[`fill-outline-color`],`fill-outline-color`),"fill-translate":new G(R.paint_fill[`fill-translate`],`fill-translate`),"fill-translate-anchor":new G(R.paint_fill[`fill-translate-anchor`],`fill-translate-anchor`),"fill-pattern":new wl(R.paint_fill[`fill-pattern`],`fill-pattern`)}),im={get paint(){return rm()},get layout(){return tm()}},am=e=>e.type===`fill`,om=class extends Al{constructor(e,t){super(e,im,t)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new $p(e)}queryRadius(){return Gd(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Nd(Kd(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}},sm=zl([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),cm=zl([{name:`a_centroid`,components:2,type:`Int16`}],4),lm=sm.members;sm.size,sm.alignment;var um=class e{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(e){return this.expandBy(-e)}map(t){let n=new e;return n.extend(t(new M(this.minX,this.minY))),n.extend(t(new M(this.maxX,this.minY))),n.extend(t(new M(this.minX,this.maxY))),n.extend(t(new M(this.maxX,this.maxY))),n}static fromPoints(t){let n=new e;for(let e of t)n.extend(e);return n}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}},dm=um.fromPoints([new M(0,0),new M(P,P)]);function fm(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function pm(e){return e.every(e=>e.x<0)||e.every(e=>e.x>8192)||e.every(e=>e.y<0)||e.every(e=>e.y>8192)}var mm=class{constructor(e,t,n,r,i){for(this.properties=Object.create(null),this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=i;e.pos<t;){let t=e.readVarint();if(t===8)this.id=e.readVarint();else if(t===18){let t=e.readVarint()+e.pos;for(;e.pos<t;){let t=r[e.readVarint()],n=i[e.readVarint()];this.properties[t]=n}}else t===24?this.type=e.readVarint():(t===34&&(this._geometry=e.pos),e.skip(t))}}loadGeometry(){if(this._geometry<0)throw Error(`feature has no geometry`);let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=[],r,i=1,a=0,o=0,s=0;for(;e.pos<t;){if(a<=0){let t=e.readVarint();if(i=t&7,a=t>>3,a===0)continue}if(a--,i===1)o+=e.readSVarint(),s+=e.readSVarint(),r&&n.push(r),r=[new M(o,s)];else if(i===2)o+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new M(o,s));else if(i===7)r&&r.push(r[0].clone());else throw Error(`unknown command ${i}`)}return r&&n.push(r),n}bbox(){if(this._geometry<0)throw Error(`feature has no geometry`);let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;for(;e.pos<t;){if(r<=0){let t=e.readVarint();if(n=t&7,r=t>>3,r===0)continue}if(r--,n===1||n===2)i+=e.readSVarint(),a+=e.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[o,c,s,l]}toGeoJSON(e,t,n){let r=this.extent*2**n,i=this.extent*e,a=this.extent*t,o=this.loadGeometry();function s(e){return[(e.x+i)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+a)*2/r)*Math.PI))-90]}function c(e){return e.map(s)}let l;if(this.type===1){let e=[];for(let t of o)e.push(t[0]);let t=c(e);l=e.length===1?{type:`Point`,coordinates:t[0]}:{type:`MultiPoint`,coordinates:t}}else if(this.type===2){let e=o.map(c);l=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e}}else if(this.type===3){let e=hm(o),t=[];for(let n of e)t.push(n.map(c));l=t.length===1?{type:`Polygon`,coordinates:t[0]}:{type:`MultiPolygon`,coordinates:t}}else throw Error(`unknown feature type`);let u={type:`Feature`,geometry:l,properties:this.properties};return this.id!=null&&(u.id=this.id),u}};mm.types=[`Unknown`,`Point`,`LineString`,`Polygon`];function hm(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=gm(e[a]);t!==0&&(i===void 0&&(i=t<0),i===t<0?(r&&n.push(r),r=[e[a]]):r&&r.push(e[a]))}return r&&n.push(r),n}function gm(e){let t=0;for(let n=0,r=e.length,i=r-1,a,o;n<r;i=n++)a=e[n],o=e[i],t+=(o.x-a.x)*(a.y+o.y);return t}var _m=class{constructor(e,t){for(this.version=1,this.name=``,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos<t;){let t=e.readVarint();t===10?this.name=e.readString():t===18?(this._features.push(e.pos),e.skip(t)):t===26?this._keys.push(e.readString()):t===34?this._values.push(vm(e)):t===40?this.extent=e.readVarint():t===120?this.version=e.readVarint():e.skip(t)}this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error(`feature index out of bounds`);this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new mm(this._pbf,t,this.extent,this._keys,this._values)}};function vm(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let n=e.readVarint();t=n===10?e.readString():n===21?e.readFloat():n===25?e.readDouble():n===32?e.readVarint(!0):n===40?e.readVarint():n===48?e.readSVarint():n===56?e.readBoolean():(e.skip(n),null)}if(t==null)throw Error(`unknown feature value`);return t}var ym=class{constructor(e,t=e.length){let n=Object.create(null);for(;e.pos<t;){let t=e.readVarint();if(t===26){let t=new _m(e,e.readVarint()+e.pos);t.length&&(n[t.name]=t)}else e.skip(t)}this.layers=n}},bm=6371008.8,X=class e{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new e(fn(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return bm*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof e)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new e(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t==`object`&&t)return new e(Number(`lng`in t?t.lng:t.lon),Number(t.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}},xm=2*Math.PI*bm;function Sm(e){return xm*Math.cos(e*Math.PI/180)}function Cm(e){return(180+e)/360}function wm(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Tm(e,t){return e/Sm(t)}function Em(e){return e*360-180}function Dm(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function Om(e,t){return e*Sm(Dm(t))}function km(e){return 1/Math.cos(e*Math.PI/180)}var Am=class e{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(t,n=0){let r=X.convert(t);return new e(Cm(r.lng),wm(r.lat),Tm(n,r.lat))}toLngLat(){return new X(Em(this.x),Dm(this.y))}toAltitude(){return Om(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/xm*km(Dm(this.y))}},jm=89.25;function Mm(e,t,n){let r=1/(1<<n.z);return new Am(e/P*r+n.x*r,t/P*r+n.y*r)}function Nm(e,t,n){return Mm(e,t,n).toLngLat()}function Pm(e,t){let n=F(t.lat,-85.051129,Kn);return new M(Cm(t.lng)*e,wm(n)*e)}function Fm(e,t){return new Am(t.x/e,t.y/e).toLngLat()}function Im(e){return e.cameraToCenterDistance*Math.min(Math.tan(Bn(90-e.pitch))*.85,Math.tan(Bn(jm-e.pitch)))}function Lm(e,t){let n=e.canonical,r=t/vn(n.z),i=n.x+2**n.z*e.wrap,a=new Float64Array(16);return Re(a),Ve(a,a,[i*r,n.y*r,0]),He(a,a,[r/P,r/P,1]),a}function Rm(e,t,n,r,i){let a=Am.fromLngLat(e,t),o=i*Tm(1,e.lat),{x:s,y:c,z:l}=Bm(n,r),u=o*-s,d=o*-c,f=o*l;return new Am(a.x+u,a.y+d,a.z+f)}function zm(e){let t=Tm(1,e.center.lat)*e.worldSize;return Rm(e.center,e.elevation,e.pitch,e.bearing,e.cameraToCenterDistance/t)}function Bm(e,t){let n=Bn(e),r=Bn(t),i=Math.cos(-n),a=Math.sin(n);return{x:a*Math.sin(r),y:-a*Math.cos(r),z:i}}function Vm(e,t){return t<=0||!e||e.length===0?e:e.map(e=>Um(e,t))}function Hm(e,t){let n=Nm(P/2,P/2,t),r=Am.fromLngLat(n).meterInMercatorCoordinateUnits(),i=(1<<t.z)*P;return e*r*i}function Um(e,t){if(!e||e.length<3)return e;let n=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,r=n?e.length-1:e.length;if(r<3)return e;let i=[],a=fm(e[r-1],e[0]);for(let n=0;n<r;n++){let o=e[(n-1+r)%r],s=e[n],c=e[(n+1)%r],l=fm(s,c);a||l?i.push(s.clone()):Gm(i,o,s,c,t),a=l}let o=Wm(i);return o.length<3?e:(n&&o.push(o[0].clone()),o)}function Wm(e){let t=[];for(let n of e){let e=n.round(),r=t[t.length-1];(r?.x!==e.x||r?.y!==e.y)&&t.push(e)}for(;t.length>1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function Gm(e,t,n,r,i){let a=t.sub(n),o=r.sub(n),s=a.mag(),c=o.mag();if(s<1e-6||c<1e-6){e.push(n.clone());return}a._div(s),o._div(c);let l=a.x*o.x+a.y*o.y;if(Math.abs(l)>Math.cos(5*Math.PI/180)){e.push(n.clone());return}let u=.2,d=Math.min(i,s*u,c*u),f=n.add(a.mult(d)),p=n.add(o.mult(d)),m=Math.sqrt((1+l)/2),h=n.add(a.add(o)._unit()._mult(d/m)),g=f.sub(h).angleWith(p.sub(h)),_=Math.max(2,Math.ceil(Math.abs(g)/(Math.PI/6)-1e-6));for(let t=0;t<=_;t++)e.push(f.rotateAround(t/_*g,h))}var Km=8192;function qm(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,Math.floor(r*Km)*2+o,i*Km*2,a*Km*2,Math.round(s))}var Jm=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new ku,this.centroidVertexArray=new wu,this.indexArray=new Vu,this.programConfigurations=new bd(e.layers,e.zoom),this.segments=new Ku,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.features=[],this.hasDependencies=Bf(`fill-extrusion`,this.layers,t);let r=new pl(this.zoom),i=this.layers[0],a=i.layout.get(`fill-extrusion-rounded-corner-distance`),o=a>0?Hm(a,n):0,s=i._featureFilter.needGeometry;for(let{feature:a,id:c,index:l,sourceLayerIndex:u}of e){let e=Dd(a,s);if(!i._featureFilter.filter(r,e,n))continue;let d={id:c,sourceLayerIndex:u,index:l,geometry:Vm(s?e.geometry:Ed(a),o),properties:a.properties,type:a.type,patterns:{}};this.hasDependencies?this.features.push(Vf(`fill-extrusion`,this.layers,d,{zoom:this.zoom},t)):this.addFeature(d,d.geometry,l,n,{},t.subdivisionGranularity),t.featureIndex.insert(a,d.geometry,l,u,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:n}){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,lm),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,cm.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){for(let n of Ki(t,500)){let t={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(t,r,e,n,a);let o=this.layoutVertexArray.length-i,s=Math.floor(t.x/t.sampleCount),c=Math.floor(t.y/t.sampleCount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}processPolygon(e,t,n,r,i){if(r.length<1||pm(r[0]))return;for(let t of r)t.length!==0&&Ym(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=mm.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||pm(e))continue;let t=Up(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=Hp(r,t,o,!1),l=this.layoutVertexArray;Yp((e,t)=>{qm(l,e,t,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if(fm(i,a))continue;t.segment.vertexLength+4>Ku.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),qm(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),qm(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,qm(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),qm(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function Ym(e,t){for(let n=0;n<t.length;n++){let r=t[n];(n!==t.length-1||t[0].x!==r.x||t[0].y!==r.y)&&(e.x+=r.x,e.y+=r.y,e.sampleC
vendor: 4,547 bytes, line 1
1ount++)}}W(`FillExtrusionBucket`,Jm,{omit:[`layers`,`features`]});var Xm,Zm=()=>Xm||=new Dl({"fill-extrusion-rounded-corner-distance":new G(R[`layout_fill-extrusion`][`fill-extrusion-rounded-corner-distance`],`fill-extrusion-rounded-corner-distance`)}),Qm,$m=()=>Qm||=new Dl({"fill-extrusion-opacity":new G(R[`paint_fill-extrusion`][`fill-extrusion-opacity`],`fill-extrusion-opacity`),"fill-extrusion-color":new K(R[`paint_fill-extrusion`][`fill-extrusion-color`],`fill-extrusion-color`),"fill-extrusion-translate":new G(R[`paint_fill-extrusion`][`fill-extrusion-translate`],`fill-extrusion-translate`),"fill-extrusion-translate-anchor":new G(R[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`],`fill-extrusion-translate-anchor`),"fill-extrusion-pattern":new wl(R[`paint_fill-extrusion`][`fill-extrusion-pattern`],`fill-extrusion-pattern`),"fill-extrusion-height":new K(R[`paint_fill-extrusion`][`fill-extrusion-height`],`fill-extrusion-height`),"fill-extrusion-base":new K(R[`paint_fill-extrusion`][`fill-extrusion-base`],`fill-extrusion-base`),"fill-extrusion-vertical-gradient":new G(R[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`],`fill-extrusion-vertical-gradient`)}),eh={get paint(){return $m()},get layout(){return Zm()}},th=e=>e.type===`fill-extrusion`,nh=class extends Al{constructor(e,t){super(e,eh,t)}createBucket(e){return new Jm(e)}queryRadius(){return Gd(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,pixelPosMatrix:o}){let s=Kd(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-i.bearingInRadians,a),c=this.paint.get(`fill-extrusion-height`).evaluate(t,n),l=this.paint.get(`fill-extrusion-base`).evaluate(t,n),u=sh(s,o,0),d=oh(r,l,c,o),f=d[0],p=d[1];return ah(f,p,u)}};function rh(e,t){return e.x*t.x+e.y*t.y}function ih(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=rh(s,s),d=rh(s,c),f=rh(c,c),p=rh(l,s),m=rh(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=1-g-_,y=r.z*v+i.z*g+a.z*_;if(isFinite(y))return y}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}function ah(e,t,n){let r=1/0;Nd(n,t)&&(r=ih(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=a[e+1],s=o[e],c=[t,i,o[e+1],s,t];jd(n,c)&&(r=Math.min(r,ih(n,c)))}}return r!==1/0&&r}function oh(e,t,n,r){let i=[],a=[],o=r[8]*t,s=r[9]*t,c=r[10]*t,l=r[11]*t,u=r[8]*n,d=r[9]*n,f=r[10]*n,p=r[11]*n;for(let t of e){let e=[],n=[];for(let i of t){let t=i.x,a=i.y,m=r[0]*t+r[4]*a+r[12],h=r[1]*t+r[5]*a+r[13],g=r[2]*t+r[6]*a+r[14],_=r[3]*t+r[7]*a+r[15],v=m+o,y=h+s,b=g+c,x=_+l,S=m+u,C=h+d,w=g+f,T=_+p,E=new M(v/x,y/x);E.z=b/x,e.push(E);let D=new M(S/T,C/T);D.z=w/T,n.push(D)}i.push(e),a.push(n)}return[i,a]}function sh(e,t,n){let r=[];for(let i of e){let e=[i.x,i.y,n,1];Tt(e,e,t),r.push(new M(e[0]/e[3],e[1]/e[3]))}return r}var ch=`geojsonvt_clip_start`,lh=`geojsonvt_clip_end`,uh=zl([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),dh=uh.members;uh.size,uh.alignment;var fh=zl([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),ph=fh.members;fh.size,fh.alignment;var mh=Math.cos(75/2*(Math.PI/180)),hh=1/2,gh=2**14/hh,_h=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let e of this.layers)this.gradients[e.id]={};this.layoutVertexArray=new Au,this.layoutVertexArray2=new ju,this.indexArray=new Vu,this.programConfigurations=new bd(e.layers,e.zoom),this.segments=new Ku,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,n){this.hasDependencies=Bf(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[],o=new pl(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:t,id:c,index:l,sourceLayerIndex:u}of e){let e=Dd(t,s);if(!this.layers[0]._featureFilter.filter(o,e,n))continue;let d=i?r.evaluate(e,{},n):void 0,f={id:c,properties:t.properties,type:t.type,sourceLayerIndex:u,index:l,geometry:s?e.geometry:Ed(t),patterns:{},dashes:{},sortKey:d};a.push(f)}i&&a.sort((e,t)=>
vendor: 18,053 bytes, line 1
1e.sortKey-t.sortKey);for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;this.hasDependencies?(Bf(`line`,this.layers,t)?Vf(`line`,this.layers,r,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,r,this.zoom,t),this.patternFeatures.push(r)):this.addFeature(r,i,a,n,{},{},t.subdivisionGranularity);let s=e[a].feature;t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures({options:e,canonical:t,patternPositions:n,dashPositions:r}){for(let i of this.patternFeatures)this.addFeature(i,i.geometry,i.index,t,n,r,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,ph)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,dh),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,`geojsonvt_clip_start`)&&Object.hasOwn(e.properties,`geojsonvt_clip_end`))return{start:+e.properties[ch],end:+e.properties[lh]}}addFeature(e,t,n,r,i,a,o){let s=this.layers[0].layout,c=s.get(`line-join`).evaluate(e,{}),l=s.get(`line-cap`).evaluate(e,{}),u=s.get(`line-miter-limit`).evaluate(e,{}),d=s.get(`line-round-limit`).evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,c,l,u,d,r,o);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,dashPositions:a,canonical:r})}addLine(e,t,n,r,i,a,o,s){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let c=o?s.line.getGranularityForZoomLevel(o.z):1;if(e=Up(e,c),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let l=mm.types[t.type]===`Polygon`,u=e.length;for(;u>=2&&e[u-1].equals(e[u-2]);)u--;let d=0;for(;d<u-1&&e[d].equals(e[d+1]);)d++;if(u-d<(l?3:2))return;n===`bevel`&&(i=1.05);let f=this.overscaling<=16?15*P/(512*this.overscaling):0,p=this.segments.prepareSegment(u*10,this.layoutVertexArray,this.indexArray),m,h,g,_,v;this.e1=this.e2=-1,l&&(m=e[u-2],v=e[d].sub(m)._unit()._perp());for(let t=d;t<u;t++){if(g=t===u-1?l?e[d+1]:void 0:e[t+1],g&&e[t].equals(g))continue;v&&(_=v),m&&(h=m),m=e[t],v=g?g.sub(m)._unit()._perp():_,_||=v;let o=_.add(v);(o.x!==0||o.y!==0)&&o._unit();let s=_.x*v.x+_.y*v.y,c=o.x*v.x+o.y*v.y,y=c===0?1/0:1/c,b=2*Math.sqrt(2-2*c),x=c<mh&&h&&g,S=_.x*v.y-_.y*v.x>0;if(x&&t>d){let e=m.dist(h);if(e>2*f){let t=m.sub(m.sub(h)._mult(f/e)._round());this.updateDistance(h,t),this.addCurrentVertex(t,_,0,0,p),h=t}}let C=h&&g,w=C?n:l?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),h&&this.updateDistance(h,m),w===`miter`)o._mult(y),this.addCurrentVertex(m,o,0,0,p);else if(w===`flipbevel`){if(y>100)o=v.mult(-1);else{let e=y*_.add(v).mag()/_.sub(v).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(m,o,0,0,p),this.addCurrentVertex(m,o.mult(-1),0,0,p)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(h&&this.addCurrentVertex(m,_,t,n,p),w===`fakeround`){let e=Math.round(b*180/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5,t=1.0904+s*(-3.2452+s*(3.55645-s*1.43519)),r=.848013+s*(-1.06021+s*.215638);n+=n*e*(n-1)*(t*e*e+r)}let r=v.sub(_)._mult(n)._add(_)._unit()._mult(S?-1:1);this.addHalfVertex(m,r.x,r.y,!1,S,0,p)}}g&&this.addCurrentVertex(m,v,-t,-n,p)}else if(w===`butt`)this.addCurrentVertex(m,o,0,0,p);else if(w===`square`){let e=h?1:-1;this.addCurrentVertex(m,o,e,e,p)}else w===`round`&&(h&&(this.addCurrentVertex(m,_,0,0,p),this.addCurrentVertex(m,_,1,1,p,!0)),g&&(this.addCurrentVertex(m,v,-1,-1,p,!0),this.addCurrentVertex(m,v,0,0,p)));if(x&&t<u-1){let e=m.dist(g);if(e>2*f){let t=m.add(g.sub(m)._mult(f/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,v,0,0,p),m=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.x+t.y*n,s=t.y-t.x*n,c=-t.x+t.y*r,l=-t.y-t.x*r;this.addHalfVertex(e,o,s,a,!1,n,i),this.addHalfVertex(e,c,l,a,!0,-r,i),this.distance>gh/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=(this.lineClips?this.scaledDistance*(gh-1):this.scaledDistance)*hh;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,(o===0?0:o<0?-1:1)+1|(c&63)<<2,c>>6),this.lineClips){let e=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(e,this.lineClipsArray.length)}let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let e=t.paint.get(`line-dasharray`);if(e&&!e.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let i of e){let e=i.paint.get(`line-dasharray`);if(!e||e.value.kind===`constant`)continue;let a=i.layout.get(`line-cap`).evaluate(t,{})===`round`,o={dasharray:e.value.evaluate({zoom:n-1},t,{}),round:a},s={dasharray:e.value.evaluate({zoom:n},t,{}),round:a},c={dasharray:e.value.evaluate({zoom:n+1},t,{}),round:a},l=`${o.dasharray.join(`,`)},${o.round}`,u=`${s.dasharray.join(`,`)},${s.round}`,d=`${c.dasharray.join(`,`)},${c.round}`;r.dashDependencies[l]=o,r.dashDependencies[u]=s,r.dashDependencies[d]=c,t.dashes[i.id]={min:l,mid:u,max:d}}}};W(`LineBucket`,_h,{omit:[`layers`,`patternFeatures`]});var vh,yh=()=>vh||=new Dl({"line-cap":new K(R.layout_line[`line-cap`],`line-cap`),"line-join":new K(R.layout_line[`line-join`],`line-join`),"line-miter-limit":new K(R.layout_line[`line-miter-limit`],`line-miter-limit`),"line-round-limit":new K(R.layout_line[`line-round-limit`],`line-round-limit`),"line-sort-key":new K(R.layout_line[`line-sort-key`],`line-sort-key`)}),bh,xh=()=>bh||=new Dl({"line-opacity":new K(R.paint_line[`line-opacity`],`line-opacity`),"line-layer-opacity":new G(R.paint_line[`line-layer-opacity`],`line-layer-opacity`),"line-color":new K(R.paint_line[`line-color`],`line-color`),"line-translate":new G(R.paint_line[`line-translate`],`line-translate`),"line-translate-anchor":new G(R.paint_line[`line-translate-anchor`],`line-translate-anchor`),"line-width":new K(R.paint_line[`line-width`],`line-width`),"line-gap-width":new K(R.paint_line[`line-gap-width`],`line-gap-width`),"line-offset":new K(R.paint_line[`line-offset`],`line-offset`),"line-blur":new K(R.paint_line[`line-blur`],`line-blur`),"line-dasharray":new wl(R.paint_line[`line-dasharray`],`line-dasharray`),"line-pattern":new wl(R.paint_line[`line-pattern`],`line-pattern`),"line-gradient":new El(R.paint_line[`line-gradient`],`line-gradient`)}),Sh={get paint(){return xh()},get layout(){return yh()}},Ch=class extends K{possiblyEvaluate(e,t){return t=new pl(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=I({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}},wh,Th=e=>e.type===`line`,Eh=class extends Al{constructor(e,t){super(e,Sh,t),this.gradientVersion=0,wh||(wh=new Ch(Sh.paint.properties[`line-width`].specification,`line-floorwidth`),wh.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=ws(e)?e._styleExpression.expression instanceof Li:!1,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values[`line-gradient`].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values[`line-floorwidth`]=wh.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new _h(e)}queryRadius(e){let t=e,n=Dh(Wd(`line-width`,this,t),Wd(`line-gap-width`,this,t)),r=Wd(`line-offset`,this,t);return n/2+Math.abs(r)+Gd(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a}){let o=Kd(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-i.bearingInRadians,a),s=a/2*Dh(this.paint.get(`line-width`).evaluate(t,n),this.paint.get(`line-gap-width`).evaluate(t,n)),c=this.paint.get(`line-offset`).evaluate(t,n);return c&&(r=Jd(r,c*a)),Pd(o,r,s)}isTileClipped(){return!0}};function Dh(e,t){return t>0?t+2*e:e}var Oh=zl([{name:`a_pos_offset`,components:4,type:`Int16`},{name:`a_data`,components:4,type:`Uint16`},{name:`a_pixeloffset`,components:4,type:`Int16`},{name:`a_height_offset`,components:1,type:`Float32`}],4),kh=zl([{name:`a_projected_pos`,components:3,type:`Float32`}],4);zl([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);var Ah=zl([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);zl([{type:`Int16`,name:`anchorPointX`},{type:`Int16`,name:`anchorPointY`},{type:`Int16`,name:`x1`},{type:`Int16`,name:`y1`},{type:`Int16`,name:`x2`},{type:`Int16`,name:`y2`},{type:`Uint32`,name:`featureIndex`},{type:`Uint16`,name:`sourceLayerIndex`},{type:`Uint16`,name:`bucketIndex`}]);var jh=zl([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),Mh=zl([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);zl([{name:`triangle`,components:3,type:`Uint16`}]),zl([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Uint16`,name:`glyphStartIndex`},{type:`Uint16`,name:`numGlyphs`},{type:`Uint32`,name:`vertexStartIndex`},{type:`Uint32`,name:`lineStartIndex`},{type:`Uint32`,name:`lineLength`},{type:`Uint16`,name:`segment`},{type:`Uint16`,name:`lowerSize`},{type:`Uint16`,name:`upperSize`},{type:`Float32`,name:`lineOffsetX`},{type:`Float32`,name:`lineOffsetY`},{type:`Uint8`,name:`writingMode`},{type:`Uint8`,name:`placedOrientation`},{type:`Uint8`,name:`hidden`},{type:`Uint32`,name:`crossTileID`},{type:`Int16`,name:`associatedIconIndex`},{type:`Float32`,name:`heightOffset`}]),zl([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Int16`,name:`rightJustifiedTextSymbolIndex`},{type:`Int16`,name:`centerJustifiedTextSymbolIndex`},{type:`Int16`,name:`leftJustifiedTextSymbolIndex`},{type:`Int16`,name:`verticalPlacedTextSymbolIndex`},{type:`Int16`,name:`placedIconSymbolIndex`},{type:`Int16`,name:`verticalPlacedIconSymbolIndex`},{type:`Uint16`,name:`key`},{type:`Uint16`,name:`textBoxStartIndex`},{type:`Uint16`,name:`textBoxEndIndex`},{type:`Uint16`,name:`verticalTextBoxStartIndex`},{type:`Uint16`,name:`verticalTextBoxEndIndex`},{type:`Uint16`,name:`iconBoxStartIndex`},{type:`Uint16`,name:`iconBoxEndIndex`},{type:`Uint16`,name:`verticalIconBoxStartIndex`},{type:`Uint16`,name:`verticalIconBoxEndIndex`},{type:`Uint16`,name:`featureIndex`},{type:`Uint16`,name:`numHorizontalGlyphVertices`},{type:`Uint16`,name:`numVerticalGlyphVertices`},{type:`Uint16`,name:`numIconVertices`},{type:`Uint16`,name:`numVerticalIconVertices`},{type:`Uint16`,name:`useRuntimeCollisionCircles`},{type:`Uint32`,name:`crossTileID`},{type:`Float32`,name:`textBoxScale`},{type:`Float32`,name:`collisionCircleDiameter`},{type:`Uint16`,name:`textAnchorOffsetStartIndex`},{type:`Uint16`,name:`textAnchorOffsetEndIndex`},{type:`Float32`,name:`heightOffset`}]),zl([{type:`Float32`,name:`offsetX`}]),zl([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),zl([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);var Nh=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=`unavailable`,this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(Nh.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let n=e.pluginURL,r=new Promise(e=>{this.loadScriptResolve=e}),i=new Promise(e=>setTimeout(()=>e(),this.TIMEOUT));if(await t(n),await Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:n};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${n}`)}};function Ph(e){return/[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u077F\u07C0-\u07FA\u07FD-\u07FF\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\u1800\u1801\u1804\u1806-\u1819\u1820-\u1878\u1880-\u18AA\uA840-\uA877\uFB50-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDD00-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDEFF\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB]|\uD805[\uDE60-\uDE6C]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]|\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function Fh(e){return/[\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC57-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD1F-\uDD39\uDD3F-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58\uDE60-\uDE9F\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF00-\uDF35\uDF39-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD85\uDD8E\uDD8F\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDF27\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function Ih(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Lh(e){return/[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Rh(e){return/[\u02EA\u02EB\u1100-\u11FF\u1401-\u167F\u18B0-\u18FF\u2065\u20
1DD-\u20E0\u20E2-\u20E4\u2B97\u2BF0-\u2BFF\u2E50\u2E51\u2E80-\u3007\u3012\u3013\u3020-\u302F\u3031-\u30FB\u30FD-\uA4CF\uA960-\uA97F\uAC00-\uD7FF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7\uFFF0-\uFFF8]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|[\uD80C-\uD810\uD81C-\uD822\uD83C\uD83D\uD840-\uD87E\uD880-\uD8BE][\uDC00-\uDFFF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFFF]|\uD823[\uDC00-\uDDFF]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFF]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83E[\uDD00-\uDEFF]|[\uD87F\uD8BF][\uDC00-\uDFFD]/gim.test(String.fromCodePoint(e))}function zh(e){return/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(e))}function Bh(e){return/[\r\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0600-\u0605\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DD\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0890\u0891\u0897-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E33-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB3-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1037\u1039-\u103E\u1056-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1084-\u1086\u108D\u109D\u1100-\u11FF\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60\u1A62\u1A65-\u1A7C\u1A7F\u1AB0-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA960-\uA97C\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFA-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCBD\uDCC2\uDCCD\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC2\uDDC3\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE4
10\uDEAB-\uDEB7\uDF1D-\uDF1F\uDF22-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE84-\uDE99\uDF60-\uDF67]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6\uDF00-\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDD63\uDD67-\uDD6A\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDDE6-\uDDFF\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF]/.test(e)}function Vh(e){return/[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA\u1000-\u103F\u1050-\u108F\u109A-\u109F\u1780-\u17D3\u17D7\u17DC\u17DD\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19DE\u19DF\u1A20-\u1A5E\u1A60-\u1A7C\u1AA0-\u1AAD\u1B00-\u1B4C\u1B4E-\u1B7F\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE-\uA9EF\uA9FA-\uA9FE\uAA60-\uAAC2\uAADB-\uAADF]|\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF3A\uDF3B\uDF3F-\uDF46]/gim.test(String.fromCodePoint(e))}function Hh(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||/^\p{gc=Mc}/u.test(t)}var Uh={C:`18g,1;g2,3;4nb,1`,D:`17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f`,R:`17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1`,T:`174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1`},Wh={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,6437
vendor: 5,994 bytes, line 1
17],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},Gh={ÙØ¢:[65269,65270],ÙØ£:[65271,65272],ÙØ¥:[65273,65274],ÙØ§:[65275,65276]},Kh=1604,qh=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;function Jh(e,t,n){let r=0;for(let i of e.split(`;`)){let[e,a]=i.split(`,`).map(e=>parseInt(e,36)),o=r+e;for(let e=o;e<o+a;e++)n.set(e,t);r=o+a}}var Yh=new Map;for(let[e,t]of Object.entries(Uh))Jh(t,e,Yh);function Xh(e){return Yh.get(e)??`U`}function Zh(e){return e===`D`||e===`L`||e===`C`}function Qh(e){return e===`D`||e===`R`||e===`C`}function $h(e,t,n){return e===`D`?t&&n?3:t?1:n?2:0:e===`R`?+!!t:e===`L`?n?2:0:null}function eg(e){return[...e].map(e=>{let t=e.codePointAt(0);return{codePoint:t,type:Xh(t),form:null}})}function tg(e){let t=e.filter(e=>e.type!==`T`);for(let e=0;e<t.length;e++){let n=t[e],r=e>0&&Zh(t[e-1].type),i=e+1<t.length&&Qh(t[e+1].type);n.form=$h(n.type,r,i)}}function ng(e){let t=!1;for(let n of e)n.type===`T`?n.form=t?3:0:t=n.form===2||n.form===3}function rg(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.codePoint!==Kh){t.push(r);continue}let i=n+1;for(;i<e.length&&e[i].type===`T`;)i++;let a=e[i],o=a&&Gh[String.fromCodePoint(Kh,a.codePoint)];if(!o){t.push(r);continue}let s=r.form===3||r.form===1;t.push({codePoint:o[+!!s],type:`R`,form:0}),t.push(...e.slice(n+1,i)),n=i}return t}function ig(e){if(e.form===null)return e.codePoint;let t=Wh[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function ag(e){if(!qh.test(e))return e;let t=eg(e);return tg(t),ng(t),rg(t).map(e=>String.fromCodePoint(ig(e))).join(``)}function og(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),(Nh.applyArabicShaping??ag)(e)}function sg(e,t,n){for(let r of e.sections)r.text=og(r.text,t,n);return e}function cg(e,t,n){let r=n?t.last.points:t.first.points,i=n?r[r.length-1]:r[0];return`${e}:${i.x}:${i.y}`}function lg(e){let t=e.first.points,n=t.length;for(let t=e.first.next;t;t=t.next)n+=t.points.length-1;let r=Array(n);for(let e=0;e<t.length;e++)r[e]=t[e];let i=t.length;for(let t=e.first.next;t;t=t.next){let e=t.points;for(let t=1;t<e.length;t++)r[i++]=e[t]}return r}function ug(e,t,n,r,i){let a=t[n];delete t[n],t[r]=a;let o=e[a];return o.last.next=i.first,o.last=i.last,a}function dg(e,t,n,r,i){let a=t[r];delete t[r],t[n]=a;let o=e[a];return i.last.next=o.first,o.first=i.first,a}function fg(e){let t={},n={},r=[];for(let i of e){let e=i.text?i.text.toString():null,a={points:i.geometry[0],next:null},o={feature:i,first:a,last:a};if(!e){r.push(o);continue}let s=cg(e,o),c=cg(e,o,!0);if(s in n&&c in t&&n[s]!==t[c]){let i=dg(r,t,s,c,o),a=ug(r,n,s,c,r[i]);delete t[s],delete n[c],n[cg(e,r[a],!0)]=a,r[i].feature.geometry=null}else if(s in n)ug(r,n,s,c,o);else if(c in t)dg(r,t,s,c,o);else{let e=r.push(o)-1;t[s]=e,n[c]=e}}let i=[];for(let e of r){let t=e.feature;t.geometry&&(e.first.next&&(t.geometry[0]=lg(e)),i.push(t))}return i}var pg=typeof Intl<`u`&&`Segmenter`in Intl,mg,hg;function gg(e){if(!pg||!Bh(e))return[...e];mg??=new Intl.Segmenter(void 0,{granularity:`grapheme`});let t=[];for(let{segment:n}of mg.segment(e)){let e=t.length-1;e>=0&&Hh(t[e],n)?t[e]+=n:t.push(n)}return t}function _g(e){let t=new Set;if(pg){hg??=new Intl.Segmenter(void 0,{granularity:`word`});for(let{index:n}of hg.segment(e))t.add(n);return t}let n=0;for(let r of e.split(/\b|(?=\p{Ideo})/u))t.add(n),n+=r.length;return t}function vg(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function yg(e){return/\s/u.test(String.fromCodePoint(e))}function bg(e){for(let t of e)if(Rh(t.codePointAt(0)))return!0;return!1}function xg(e){for(let t of e)if(!Sg(t.codePointAt(0)))return!1;return!0}function Sg(e){return!Ph(e)}function Cg(e){return!(Rh(e)||zh(e))}function wg(e){return/\p{sc=Arab}/u.test(String.fromCodePoint(e))}function Tg(e){return Fh(e)}function Eg(e){for(let t of e)if(Tg(t.codePointAt(0)))return!0;return!1}var Dg={"!":`ï¸`,"#":`ï¼`,$:`ï¼`,"%":`ï¼
`,"&":`ï¼`,"(":`︵`,")":`︶`,"*":`ï¼`,"+":`ï¼`,",":`ï¸`,"-":`︲`,".":`ã»`,"/":`ï¼`,":":`ï¸`,";":`ï¸`,"<":`︿`,"=":`ï¼`,">":`ï¹`,"?":`ï¸`,"@":`ï¼ `,"[":`ï¹`,"\\":`ï¼¼`,"]":`ï¹`,"^":`ï¼¾`,_:`︳`,"`":`ï½`,"{":`︷`,"|":`â`,"}":`︸`,"~":`ï½`,"¢":`ï¿ `,"£":`ï¿¡`,"Â¥":`ï¿¥`,"¦":`¦`,"¬":`ï¿¢`,"¯":`ï¿£`,"â":`︲`,"â":`︱`,"â":`ï¹`,"â":`ï¹`,"â":`ï¹`,"â":`ï¹`,"â¦":`ï¸`,"â¯":`ï¸`,"â§":`ã»`,"â©":`₩`,"ã":`ï¸`,"ã":`ï¸`,"ã":`︿`,"ã":`ï¹`,"ã":`︽`,"ã":`︾`,"ã":`ï¹`,"ã":`ï¹`,"ã":`ï¹`,"ã":`ï¹`,"ã":`︻`,"ã":`︼`,"ã":`︹`,"ã":`︺`,"ã":`ï¸`,"ã":`ï¸`,"ï¼":`ï¸`,"ï¼":`︵`,"ï¼":`︶`,"ï¼":`ï¸`,"ï¼":`︲`,"ï¼":`ã»`,"ï¼":`ï¸`,"ï¼":`ï¸`,"ï¼":`︿`,"ï¼":`ï¹`,"ï¼":`ï¸`,"ï¼»":`ï¹`,"ï¼½":`ï¹`,"_":`︳`,"ï½":`︷`,"ï½":`â`,"ï½":`︸`,"ï½":`︵`,"ï½ ":`︶`,"。":`ï¸`,"ï½¢":`ï¹`,"ï½£":`ï¹`};function Og(e){let t=``,n={premature:!0,value:void 0},r=e[Symbol.iterator](),i=r.next(),a=e[Symbol.iterator]();a.next();let o=a.next();for(;!i.done;)(o.done||!Cg(o.value.codePointAt(0))||Dg[o.value])&&(n.premature||!Cg(n.value.codePointAt(0))||Dg[n.value])&&Dg[i.value]?t+=Dg[i.value]:t+=i.value,
vendor: 3,880 bytes, line 1
1n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}var kg={10:!0,13:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},Ag={40:!0};function jg(e,t,n,r,i,a){if(`fontStack`in t){let r=n[t.fontStack]?.default,a=r?.[e];if(a)return a.metrics.advance*t.scale+i;let o=0;for(let n of e){let e=r?.[n];e&&(o+=e.metrics.advance*t.scale+i)}return o}{let e=r[t.imageName];return e?e.displaySize[0]*t.scale*24/a+i:0}}function Mg(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:i*2:i+Math.abs(n)*n}function Ng(e){return/^\s+$/u.test(e)}function Pg(e,t,n){let r=0;return(e===10||e===13)&&(r-=1e4),n&&(r+=150),(e===40||e===65288)&&(r+=50),(t===41||t===65289)&&(r+=50),r}function Fg(e,t,n,r,i,a){let o=null,s=Mg(t,n,i,a);for(let e of r){let r=Mg(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function Ig(e){return e?Ig(e.priorBreak).concat(e.index):[]}var Lg=class e{constructor(e=``,t=[],n=[]){this.text=e,this.sections=t,this.sectionIndex=n,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??=gg(this.text),this._graphemes}static fromFeature(t,n){let r=new e;for(let e of t.sections)e.image?r.addImageSection(e):r.addTextSection(e,n);return r}length(){return this.graphemes().length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=Og(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes(`â`)}trim(){let e=this.graphemes(),t=0;for(;t<e.length&&Ng(e[t]);)t++;let n=e.length;for(;n>t&&Ng(e[n-1]);)n--;this.text=e.slice(t,n).join(``),this.sectionIndex=this.sectionIndex.slice(t,n),this._graphemes=null}substring(t,n){let r=this.graphemes().slice(t,n).join(``),i=this.sectionIndex.slice(t,n);return new e(r,this.sections,i)}toCodeUnitIndex(e){return this.graphemes().slice(0,e).join(``).length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,t)=>Math.max(e,this.sections[t].scale),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(`imageName`in i){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}_appendSection(e,t){let n=this.graphemes(),r=n.length>0?n[n.length-1]:``,i=gg(r+e);this.text+=e,this._graphemes=n.slice(0,r?-1:void 0).concat(i);let a=i.length-+!!r;for(let e=0;e<a;e++)this.sectionIndex.push(t)}addTextSection(e,t){this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||`bottom`,fontStack:e.fontStack||t}),this._appendSection(e.text,this.sections.length-1)}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0){En(`Can't add FormattedSection with an empty image.`);return}let n=this.getNextImageSectionCharCode();if(!n){En(`Reached maximum number of images 6401`);return}this.sections.push({scale:1,verticalAlign:e.verticalAlign||`bottom`,imageName:t}),this._appendSection(String.fromCharCode(n),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,t,n,r,i){let a=[],o=this.determineAverageLineWidth(e,t,n,r,i),s=this.hasZeroWidthSpaces(),c=this.graphemes(),l=null,u=0,d=0;for(let t=0;t<c.length;t++){let f=c[t];if(t>0){let e=c[t-1].codePointAt(0),n=f.codePointAt(0),r=Lh(e),i=Vh(e)&&Vh(n);(kg[e]||r||`imageName`in this.getSection(t-1)||c[t+1]!==void 0&&Ag[n]||i&&(l??=_g(this.text)).has(d))&&a.push(Fg(t,u,o,a,Pg(e,n,r&&s),!1))}yg(f.codePointAt(0))||(u+=jg(f,this.getSection(t),n,r,e,i)),d+=f.length}return Ig(Fg(this.length(),u,o,a,0,!0))}determineAverageLineWidth(e,t,n,r,i){let a=0,o=0;for(let t of this.graphemes()){let s=this.getSection(o);a+=jg(t,s,n,r,e,i),o++}let s=Math.max(1,Math.ceil(a/t));return a/s}};function Rg
vendor: 4,714 bytes, line 1
1(){return(function(e){var t={R:`13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73`,EN:`1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9`,ES:`17,2,6dp+1,f+1,av,16vr,mx+1,4o,2`,ET:`z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj`,AN:`16o+5,2j+9,2+1,35,ed,1ff2+9,87+u`,CS:`18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b`,B:`a,3,f+2,2v,690`,S:`9,2,k`,WS:`c,k,4f4,1vk+a,u,1j,335`,ON:`x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i`,BN:`0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1`,NSM:`lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n`,AL:`16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d`,LRO:`6ct`,RLO:`6cu`,LRE:`6cq`,RLE:`6cr`,PDF:`6cs`,LRI:`6ee`,RLI:`6ef`,FSI:`6eg`,PDI:`6eh`},n={},r={};n.L=1,r[1]=`L`,Object.keys(t).forEach(function(e,t){n[e]=1<<t+1,r[n[e]]=e}),Object.freeze(n);var i=n.LRI|n.RLI|n.FSI,a=n.L|n.R|n.AL,o=n.B|n.S|n.WS|n.ON|n.FSI|n.LRI|n.RLI|n.PDI,s=n.BN|n.RLE|n.LRE|n.RLO|n.LRO|n.PDF,c=n.S|n.WS|n.B|i|n.PDI|s,l=null;function u(){if(!l){l=new Map;var e=0;for(var r in t)if(t.hasOwnProperty(r))for(var i=t[r],a=``,o=void 0,s=!1,c=0,u=0;u<=i.length+1;u+=1){var d=i[u];if(d!==`,`&&u!==i.length)d===`+`?(s=!0,c=e=c+parseInt(a,36),a=``):a+=d;else{s?o=e+parseInt(a,36):(c=e=c+parseInt(a,36),o=e),s=!1,a=``,c=o;for(var f=e;f<o+1;f+=1)l.set(f,n[r])}}}}function d(e){return u(),l.get(e.codePointAt(0))||n.L}function f(e){return r[d(e)]}var p={pairs:`14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1`,canonical:`6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye`};function m(e,t){var n=0,r=new Map,i=t&&new Map,a;return e.split(`,`).forEach(function e(o){if(o.indexOf(`+`)!==-1)for(var s=+o;s--;)e(a);else{a=o;var c=o.split(`>`),l=c[0],u=c[1];l=String.fromCodePoint(n+=parseInt(l,36)),u=String.fromCodePoint(n+=parseInt(u,36)),r.set(l,u),t&&i.set(u,l)}}),{map:r,reverseMap:i}}var h,g,_;function v(){if(!h){var e=m(p.pairs,!0),t=e.map,n=e.reverseMap;h=t,g=n,_=m(p.canonical,!1).map}}function y(e){return v(),h.get(e)||null}function b(e){return v(),g.get(e)||null}function x(e){return v(),_.get(e)||null}var S=n.L,C=n.R,w=n.EN,T=n.ES,E=n.ET,D=n.AN,O=n.CS,k=n.B,A=n.S,
vendor: 5,771 bytes, line 1
1j=n.ON,ee=n.BN,te=n.NSM,ne=n.AL,re=n.LRO,ie=n.RLO,ae=n.LRE,oe=n.RLE,se=n.PDF,ce=n.LRI,le=n.RLI,ue=n.FSI,de=n.PDI;function fe(e,t){for(var n=125,r=new Uint32Array(e.length),l=0;l<e.length;l++)r[l]=d(e[l]);var u=new Map;function f(e,t){var n=r[e];r[e]=t,u.set(n,u.get(n)-1),n&o&&u.set(o,u.get(o)-1),u.set(t,(u.get(t)||0)+1),t&o&&u.set(o,(u.get(o)||0)+1)}for(var p=new Uint8Array(e.length),m=new Map,h=[],g=null,_=0;_<e.length;_++)g||h.push(g={start:_,end:e.length-1,level:t===`rtl`?1:t===`ltr`?0:sn(_,!1)}),r[_]&k&&(g.end=_,g=null);for(var v=oe|ae|ie|re|i|de|se|k,fe=function(e){return e+(e&1?1:2)},pe=function(e){return e+(e&1?2:1)},me=0;me<h.length;me++){g=h[me];var he=[{_level:g.level,_override:0,_isolate:0}],ge=void 0,_e=0,ve=0,ye=0;u.clear();for(var be=g.start;be<=g.end;be++){var xe=r[be];if(ge=he[he.length-1],u.set(xe,(u.get(xe)||0)+1),xe&o&&u.set(o,(u.get(o)||0)+1),xe&v){if(xe&(oe|ae)){p[be]=ge._level;var Se=(xe===oe?pe:fe)(ge._level);Se<=n&&!_e&&!ve?he.push({_level:Se,_override:0,_isolate:0}):_e||ve++}else if(xe&(ie|re)){p[be]=ge._level;var Ce=(xe===ie?pe:fe)(ge._level);Ce<=n&&!_e&&!ve?he.push({_level:Ce,_override:xe&ie?C:S,_isolate:0}):_e||ve++}else if(xe&i){xe&ue&&(xe=sn(be+1,!0)===1?le:ce),p[be]=ge._level,ge._override&&f(be,ge._override);var we=(xe===le?pe:fe)(ge._level);we<=n&&_e===0&&ve===0?(ye++,he.push({_level:we,_override:0,_isolate:1,_isolInitIndex:be})):_e++}else if(xe&de){if(_e>0)_e--;else if(ye>0){for(ve=0;!he[he.length-1]._isolate;)he.pop();var M=he[he.length-1]._isolInitIndex;M!=null&&(m.set(M,be),m.set(be,M)),he.pop(),ye--}ge=he[he.length-1],p[be]=ge._level,ge._override&&f(be,ge._override)}else xe&se?(_e===0&&(ve>0?ve--:!ge._isolate&&he.length>1&&(he.pop(),ge=he[he.length-1])),p[be]=ge._level):xe&k&&(p[be]=g.level)}else p[be]=ge._level,ge._override&&xe!==ee&&f(be,ge._override)}for(var Te=[],Ee=null,De=g.start;De<=g.end;De++){var Oe=r[De];if(!(Oe&s)){var ke=p[De],Ae=Oe&i,je=Oe===de;Ee&&ke===Ee._level?(Ee._end=De,Ee._endsWithIsolInit=Ae):Te.push(Ee={_start:De,_end:De,_level:ke,_startsWithPDI:je,_endsWithIsolInit:Ae})}}for(var Me=[],Ne=0;Ne<Te.length;Ne++){var Pe=Te[Ne];if(!Pe._startsWithPDI||Pe._startsWithPDI&&!m.has(Pe._start)){for(var Fe=[Ee=Pe],Ie=void 0;Ee&&Ee._endsWithIsolInit&&(Ie=m.get(Ee._end))!=null;)for(var Le=Ne+1;Le<Te.length;Le++)if(Te[Le]._start===Ie){Fe.push(Ee=Te[Le]);break}for(var Re=[],ze=0;ze<Fe.length;ze++)for(var Be=Fe[ze],Ve=Be._start;Ve<=Be._end;Ve++)Re.push(Ve);for(var He=p[Re[0]],Ue=g.level,We=Re[0]-1;We>=0;We--)if(!(r[We]&s)){Ue=p[We];break}var Ge=Re[Re.length-1],Ke=p[Ge],qe=g.level;if(!(r[Ge]&i)){for(var Je=Ge+1;Je<=g.end;Je++)if(!(r[Je]&s)){qe=p[Je];break}}Me.push({_seqIndices:Re,_sosType:Math.max(Ue,He)%2?C:S,_eosType:Math.max(qe,Ke)%2?C:S})}}for(var Ye=0;Ye<Me.length;Ye++){var Xe=Me[Ye],N=Xe._seqIndices,Ze=Xe._sosType,Qe=Xe._eosType,$e=p[N[0]]&1?C:S;if(u.get(te))for(var et=0;et<N.length;et++){var tt=N[et];if(r[tt]&te){for(var nt=Ze,rt=et-1;rt>=0;rt--)if(!(r[N[rt]]&s)){nt=r[N[rt]];break}f(tt,nt&(i|de)?j:nt)}}if(u.get(w))for(var it=0;it<N.length;it++){var at=N[it];if(r[at]&w)for(var ot=it-1;ot>=-1;ot--){var st=ot===-1?Ze:r[N[ot]];if(st&a){st===ne&&f(at,D);break}}}if(u.get(ne))for(var ct=0;ct<N.length;ct++){var lt=N[ct];r[lt]&ne&&f(lt,C)}if(u.get(T)||u.get(O))for(var ut=1;ut<N.length-1;ut++){var dt=N[ut];if(r[dt]&(T|O)){for(var ft=0,pt=0,mt=ut-1;mt>=0&&(ft=r[N[mt]],ft&s);mt--);for(var ht=ut+1;ht<N.length&&(pt=r[N[ht]],pt&s);ht++);ft===pt&&(r[dt]===T?ft===w:ft&(w|D))&&f(dt,ft)}}if(u.get(w)){for(var gt=0;gt<N.length;gt++)if(r[N[gt]]&w){for(var _t=gt-1;_t>=0&&r[N[_t]]&(E|s);_t--)f(N[_t],w);for(gt++;gt<N.length&&r[N[gt]]&(E|s|w);gt++)r[N[gt]]!==w&&f(N[gt],w)}}if(u.get(E)||u.get(T)||u.get(O))for(var vt=0;vt<N.length;vt++){var yt=N[vt];if(r[yt]&(E|T|O)){f(yt,j);for(var bt=vt-1;bt>=0&&r[N[bt]]&s;bt--)f(N[bt],j);for(var xt=vt+1;xt<N.length&&r[N[xt]]&s;xt++)f(N[xt],j)}}if(u.get(w))for(var St=0,Ct=Ze;St<N.length;St++){var wt=N[St],Tt=r[wt];Tt&w?Ct===S&&f(wt,S):Tt&a&&(Ct=Tt)}if(u.get(o)){for(var Et=C|w|D,Dt=Et|S,Ot=[],kt=[],At=0;At<N.length;At++)if(r[N[At]]&o){var jt=e[N[At]],Mt=void 0;if(y(jt)!==null){if(kt.length<63)kt.push({char:jt,seqIndex:At});else break}else if((Mt=b(jt))!==null)for(var Nt=kt.length-1;Nt>=0;Nt--){var Pt=kt[Nt].char;if(Pt===Mt||Pt===b(x(jt))||y(x(Pt))===jt){Ot.push([kt[Nt].seqIndex,At]),kt.length=Nt;break}}}Ot.sort(function(e,t){return e[0]-t[0]});for(var Ft=0;Ft<Ot.length;Ft++){for(var It=Ot[Ft],Lt=It[0],Rt=It[1],zt=!1,Bt=0,Vt=Lt+1;Vt<Rt;Vt++){var Ht=N[Vt];if(r[Ht]&Dt){zt=!0;var P=r[Ht]&Et?C:S;if(P===$e){Bt=P;break}}}if(zt&&!Bt){Bt=Ze;for(var Ut=Lt-1;Ut>=0;Ut--){var Wt=N[Ut];if(r[Wt]&Dt){var Gt=r[Wt]&Et?C:S;Bt=Gt===$e?$e:Gt;break}}}if(Bt){if(r[N[Lt]]=r[N[Rt]]=Bt,Bt!==$e){for(var Kt=Lt+1;Kt<N.length;Kt++)if(!(r[N[Kt]]&s)){d(e[N[Kt]])&te&&(r[N[Kt]]=Bt);break}}if(Bt!==$e){for(var qt=Rt+1;qt<N.length;qt++)if(!(r[N[qt]]&s)){d(e[N[qt]])&te&&(r[N[qt]]=Bt);break}}}}for(var Jt=0;Jt<N.length;Jt++)if(r[N[Jt]]&o){for(var Yt=Jt,Xt=Jt,Zt=Ze,Qt=Jt-1;Qt>=0;Qt--)if(r[N[Qt]]&s)Yt=Qt;else{Zt=r[N[Qt]]&Et?C:S;break}for(var $t=Qe,en=Jt+1;en<N.length;en++)if(r[N[en]]&(o|s))Xt=en;else{$t=r[N[en]]&Et?C:S;break}for(var tn=Yt;tn<=Xt;tn++)r[N[tn]]=Zt===$t?Zt:$e;Jt=Xt}}}for(var nn=g.start;nn<=g.end;nn++){var rn=p[nn],an=r[nn];if(rn&1?an&(S|w|D)&&p[nn]++:an&C?p[nn]++:an&(D|w)&&(p[nn]+=2),an&s&&(p[nn]=nn===0?g.level:p[nn-1]),nn===g.end||d(e[nn])&(A|k))for(var on=nn;on>=0&&d(e[on])&c;on--)p[on]=g.level}}return{levels:p,paragraphs:h};function sn(t,n){for(var a=t;a<e.length;a++){var o=r[a];if(o&(C|ne))return 1;if(o&(k|S)||n&&o===de)return 0;if(o&i){var s=cn(a);a=s===-1?e.length:s}}return 0}function cn(t){for(var n=1,a=t+1;a<e.length;a++){var o=r[a];if(o&k)break;if(o&de){if(--n===0)return a}else o&i&&n++}return-1}}var pe=`14>1,j>2,t>2,u>2,1a>g,2v3>
11,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1`,me;function he(){if(!me){var e=m(pe,!0),t=e.map;e.reverseMap.forEach(function(e,n){t.set(n,e)}),me=t}}function ge(e){return he(),me.get(e)||null}function _e(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);for(var a=new Map,o=n;o<=r;o++)if(t[o]&1){var s=ge(e[o]);s!==null&&a.set(o,s)}return a}function ve(e,t,n,r){var i=e.length;n=Math.max(0,n==null?0:+n),r=Math.min(i-1,r==null?i-1:+r);var a=[];return t.paragraphs.forEach(function(i){var o=Math.max(n,i.start),s=Math.min(r,i.end);if(o<s){for(var l=t.levels.slice(o,s+1),u=s;u>=o&&d(e[u])&c;u--)l[u]=i.level;for(var f=i.level,p=1/0,m=0;m<l.length;m++){var h=l[m];h>f&&(f=h),h<p&&(p=h|1)}for(var g=f;g>=p;g--)for(var _=0;_<l.length;_++)if(l[_]>=g){for(var v=_;_+1<l.length&&l[_+1]>=g;)_++;_>v&&a.push([v+o,_+o])}}}),a}function ye(e,t,n,r){var i=be(e,t,n,r),a=[].concat(e);return i.forEach(function(n,r){a[r]=(t.levels[n]&1?ge(e[n]):null)||e[n]}),a.join(``)}function be(e,t,n,r){for(var i=ve(e,t,n,r),a=[],o=0;o<e.length;o++)a[o]=o;return i.forEach(function(e){for(var t=e[0],n=e[1],r=a.slice(t,n+1),i=r.length;i--;)a[n-i]=r[i]}),a}return e.closingToOpeningBracket=b,e.getBidiCharType=d,e.getBidiCharTypeName=f,e.getCanonicalBracket=x,e.getEmbeddingLevels=fe,e.getMirroredCharacter=ge,e.getMirroredCharactersMap=_e,e.getReorderSegments=ve,e.getReorderedIndices=be,e.getReorderedString=ye,e.openingToClosingBracket=y,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}var zg=Rg(),Bg=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,Vg=new Set([`WS`,`FSI`,`LRI`,`RLI`,`PDI`]),Hg=new Set([`S`,`B`]);function Ug(e,t,n,r){let i=[],a=n;for(let o of gg(e.slice(n,r)))i.push({index:a,text:o,level:t[a]}),a+=o.length;return i}function Wg(e,t){let n=!0;for(let r=e.length-1;r>=0;r--){let i=zg.getBidiCharTypeName(e[r].text[0]);Hg.has(i)?(e[r].level=t,n=!0):n&&Vg.has(i)?e[r].level=t:n=!1}}function Gg(e,t){let n=t,r=1/0;for(let{level:t}of e)t>n&&(n=t),(t|1)<r&&(r=t|1);let i=e.slice();for(let e=n;e>=r;e--)for(let t=0;t<i.length;t++){if(i[t].level<e)continue;let n=t;for(;n+1<i.length&&i[n+1].level>=e;)n++;for(let e=t,r=n;e<r;e++,r--)[i[e],i[r]]=[i[r],i[e]];t=n}return i}function Kg(e){return e.level%2==0?e.text:zg.getMirroredCharacter(e.text)??e.text}function qg(e,t){return e.find(e=>t>=e.start&&t<=e.end)?.level??0}function Jg(e,t,n,r,i){let a=Ug(e,t,r,i);Wg(a,n);let o=``,s=[];for(let e of Gg(a,n)){if(Bg.test(e.text))continue;let t=Kg(e);o+=t,s.push(...Array(t.length).fill(e.index))}return{text:o,sourceIndices:s}}function Yg(e,t){let n=t.filter(t=>t>0&&t<e.length),r=[...new Set([0,...n,e.length])].sort((e,t)=>e-t),i=[];for(let e=0;e+1<r.length;e++)i.push([r[e],r[e+1]]);return i}function Xg(e,t){let{levels:n,paragraphs:r}=zg.getEmbeddingLevels(e);return Yg(e,t.concat(r.map(e=>e.start))).map(([t,i])=>Jg(e,n,qg(r,t),t,i))}function Zg(e,t){return Xg(e,t).map(e=>e.text)}function Qg(e,t,n){return Xg(e,n).map(e=>[e.text,e.sourceIndices.map(e=>t[e]??0)])}var $g=4294967296;1/$g;var e_=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`),t_=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,n=this.length){let r;for(;r=this.nextField(n);)e(r,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*$g;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*$g;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,n=t[this.pos++];if(n<128)return n;let r=n&127,i;return i=t[this.pos++],r|=(i&127)<<7,i<128||(i=t[this.pos++],r|=(i&127)<<14,i<128)||(i=t[this.pos++],r|=(i&127)<<21,i<128)?r:(i=t[this.pos],r|=(i&15)<<28,n_(r,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&e_?e_.decode(this.buf.subarray(t,e)):i_(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let n=this.readPackedEnd();for(;this.pos<n;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}nextField(e=this.length){if(this.pos===this._valueStart&&this.skip(this.type),this.pos>=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}};function n_(e,t,n){let r=n.buf,i,a;if(a=r[n.pos++],i=(a&112)>>4,a<128||(a=r[n.pos++],i|=(a&127)<<3,a<128)||(a=r[n.pos++],i|=(a&127)<<10,a<128)||(a=r[n.pos++],i|=(a&127)<<17,a<128)||(a=r[n.pos++],i|=(a&127)<<24,a<128)||(a=r[n.pos++],i|=(a&1)<<31,a<128))return r_(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}function r_(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function i_(e,t,n){let r=``,i=t;
vendor: 6,491 bytes, line 1
1for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function a_(e,t,n){e===1&&n.readMessage(o_,t)}function o_(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(s_,{});t.push({id:e,bitmap:new _f({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function s_(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function c_(e){return new t_(e).readFields(a_,[])}function l_(e){return typeof e?.renderWithWebGL==`function`}function u_(e){let{userImage:t}=e;return!t?.render||!t.render()?!1:(l_(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function d_(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort((e,t)=>t.h-e.h);let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();t&&e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}var f_=class{constructor(e,{pixelRatio:t,version:n,isWebGLImage:r=!1,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n,this.needsFirstWebGLRender=r,this.textFitWidth=s,this.textFitHeight=c}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}},p_=class{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=d_(i),s=new vf({width:a||1,height:o||1});for(let t in e){let r=e[t];if(r.isWebGLImage)continue;let i=n[t].paddedRect;vf.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;vf.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),vf.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),vf.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),vf.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),vf.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new f_(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let n in this.iconPositions)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t);for(let n in this.patternPositions)this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}}patchUpdatedImage(e,t,n){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[r,i]=e.tl,a=t.userImage?.data;if(!l_(a)){n.update(t.data,void 0,{x:r,y:i});return}let{width:o,height:s}=t.data;n.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:n.context.gl,texture:n.texture,x:r,y:i,width:o,height:s}),n.context.setDirty()}};W(`ImagePosition`,f_),W(`ImageAtlas`,p_);var m_=function(e){return e[e.none=0]=`none`,e[e.horizontal=1]=`horizontal`,e[e.vertical=2]=`vertical`,e[e.horizontalOnly=3]=`horizontalOnly`,e}(m_||{});function h_(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function g_(e,t){let n=[],r=0;for(let i of t)n.push(e.substring(r,i)),r=i;return r<e.length()&&n.push(e.substring(r,e.length())),n}var __=/^\p{gc=M}$/u;function v_(e){let t=[],n=0;for(;n<e.length;){if(!__.test(e[n])){t.push(n),n++;continue}let r=n;for(;r<e.length&&__.test(e[r]);)r++;let i=e[r];if(i!==void 0&&Tg(i.codePointAt(0))){t.push(r);for(let e=r-1;e>=n;e--)t.push(e);n=r+1}else{for(let e=n;e<r;e++)t.push(e);n=r}}return t}function y_(e){let t=[],n=0;for(let r of e.graphemes())t.push(...Array(r.length).fill(e.sectionIndex[n])),n++;return t}function b_(e,t){let n=t.map(t=>e.toCodeUnitIndex(t)),r=Nh.isParsed()?Nh:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map(t=>C_(t,e.sections,[...t].map(()=>0))):Zg(e.toString(),n).map(t=>x_([...t],e.sections,[...t].map(()=>0)));let i=y_(e);return r?r.processStyledBidirectionalText(e.text,i,n).map(([t,n])=>C_(t,e.sections,n)):Qg(e.text,i,n).map(([t,n])=>{let r=[...t];return x_(r,e.sections,S_(r).map(e=>n[e]??0))})}function x_(e,t,n){let r=new Lg(e.join(``),t,[]),i=0;for(let e of r.graphemes())r.sectionIndex.push(n[i]??0),i+=[...e].length;return r}function S_(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function C_(e,t,n){let r=[...e],i=S_(r),a=v_(r);return x_(a.map(e=>r[e]),t,a.map(e=>n[i[e]]??0))}function w_(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=Lg.fromFeature(e,i);d===2&&h.verticalizePunctuation();let g=h.determineLineBreaks(l,a,t,r,p),_=Eg(h.text)?b_(h,g):g_(h,g),v=[],y={positionedLines:v,text:h.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:d,iconsInText:!1,verticalizable:!1};return L_(y,t,n,r,_,o,s,c,d,l,f,m),!h_(v)&&y}function T_(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function E_(e,t,n){let r=t.getMaxScale()*24,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);
vendor: 4,097 bytes, line 1
1return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function D_(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function O_(e,t,n,r){if(e?.rect)return e;let i=t[n.fontStack]?.default?.[r];return i?{rect:null,metrics:i.metrics}:null}function k_(e,t,n){return!(e===1||!t&&!Rh(n)||t&&(yg(n)||wg(n)))}function A_(e){return/\p{Nd}/u.test(String.fromCodePoint(e))}function j_(e){return/\p{Lu}/u.test(String.fromCodePoint(e))}function M_(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function N_(e){let t=e.some(A_)&&e.every(e=>A_(e)||M_(e)),n=e.length<=3&&e.every(e=>j_(e)||A_(e));return t||n}function P_(e){return(A_(e)||j_(e))&&!wg(e)}function F_(e,t){let n=!1;for(let r=0;r<e.length;r++){if(t[r])continue;let i=Dg[e[r]];i&&(r===0||t[r-1])&&(r===e.length-1||t[r+1])&&(e[r]=i,t[r]=!0,n=!0)}return n}function I_(e){let t=e.graphemes().slice(),n=t.map(e=>e.codePointAt(0)),r=n.map(Rh),i=t=>!r[t]&&!yg(n[t])&&!(`imageName`in e.getSection(t));for(let e=0;e<n.length;e++){if(!i(e))continue;let t=e;for(;t+1<n.length&&i(t+1);)t++;if(N_(n.slice(e,t+1)))for(let i=e;i<=t;i++)r[i]=P_(n[i]);e=t}return F_(t,r)&&(e.text=t.join(``),e._graphemes=null),r}function L_(e,t,n,r,i,a,o,s,c,l,u,d){let f=0,p=0,m=0,h=0,g=s===`right`?1:s===`left`?0:.5,_=24/d,v=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[v]=s;let d=s.positionedGlyphs,y=0;if(!o.length()){p+=a,++v;continue}let b=E_(r,o,_),x=c===2&&!u?I_(o):null,S=o.graphemes();for(let a=0;a<S.length;a++){let s=o.getSection(a),m=S[a],h=m.codePointAt(0),g=x?x[a]:k_(c,u,h),v=`fontStack`in s&&vg(m)&&!t[s.fontStack]?.default?.[m]?[...m]:[m];for(let c of v){let u={glyph:c.codePointAt(0),grapheme:c,imageName:null,x:f,y:p+-17,vertical:g,scale:1,fontStack:``,sectionIndex:o.getSectionIndex(a),metrics:null,rect:null},m;if(`fontStack`in s){if(m=R_(s,c,g,b,t,n),!m)continue;u.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=_,m=z_(s,g,i,b,r),!m)continue;y=Math.max(y,m.imageOffset),u.imageName=s.imageName}let{rect:h,metrics:v,baselineOffset:x}=m;if(u.y+=x,u.scale=s.scale,u.metrics=v,u.rect=h,d.push(u),!g)f+=v.advance*s.scale+l;else{e.verticalizable=!0;let t=`imageName`in s?v.advance:24;f+=t*s.scale+l}}}if(d.length!==0){let e=f-l;m=Math.max(e,m),B_(d,0,d.length-1,g)}f=0;let C=(i-1)*24;s.lineOffset=Math.max(y,C);let w=a*i+y;p+=w,h=Math.max(w,h),++v}let{horizontalAlign:y,verticalAlign:b}=T_(o);V_(e.positionedLines,g,y,b,m,h,a,p,i.length),e.top+=-b*p,e.bottom=e.top+p,e.left+=-y*m,e.right=e.left+m}function R_(e,t,n,r,i,a){let o=a[e.fontStack]?.default?.[t],s=O_(o,i,e,t);if(s===null)return null;let c;if(n)c=r.verticalLineContentWidth-e.scale*24;else{let t=D_(e.verticalAlign);c=(r.horizontalLineContentHeight-e.scale*24)*t}return{rect:s.rect,metrics:s.metrics,baselineOffset:c}}function z_(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=D_(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}let u=(t?s[0]:s[1])*e.scale-24*n;return{rect:o,metrics:c,baselineOffset:l,imageOffset:u}}function B_(e,t,n,r){if(r===0)return;let i=e[n],a=i.metrics.advance*i.scale,o=(e[n].x+a)*r;for(let r=t;r<=n;r++)e[r].x-=o}function V_(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u}function H_(e,t,n){let{horizontalAlign:r,verticalAlign:i}=T_(n),a=t[0],o=t[1],s=a-e.displaySize[0]*r,c=s+e.displaySize[0],l=o-e.displaySize[1]*i;return{image:e,top:l,bottom:l+e.displaySize[1],left:s,right:c}}function U_(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.content[2]-e.image.content[0],o=e.image.content[3]-e.image.content[1],s=e.image.textFitWidth??`stretchOrShrink`,c=e.image.textFitHeight??`stretchOrShrink`,l=a/o;if(c===`proportional`){if(s===`stretchOnly`&&r/i<l||s===`proportional`){let e=Math.ceil(i*l);t*=e/r,r=e}}else if(s===`proportional`&&c===`stretchOnly`&&l!==0&&r/i>l){let e=Math.ceil(r/l);
vendor: 22,986 bytes, line 1
1n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function W_(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}var G_=32640;function K_(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new pl(e+1))};if(n.kind===`source`)return{kind:`source`};if(n.kind===`composite`){let{minZoom:t,maxZoom:r}=q_(n.zoomStops,e);return{kind:`composite`,minZoom:t,maxZoom:r,interpolationType:n.interpolationType}}{let t=J_(n),r=n.evaluate(new pl(e+1));return{kind:`camera`,zoomStops:n.zoomStops,sizes:t,layoutSize:r,interpolationType:n.interpolationType}}}function q_(e,t){let n=0;for(;n<e.length&&e[n]<=t;)n++;n=Math.max(0,n-1);let r=n;for(;r<e.length&&e[r]<t+1;)r++;return r=Math.min(e.length-1,r),{minZoom:e[n],maxZoom:e[r]}}function J_(e){return e.zoomStops.map(t=>e.evaluate(new pl(t===-1/0?e.zoomStops[1]-1:t)))}function Y_(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?Vi.number(r/128,i/128,n):t}function X_(e,t){let n=0,r=0;return e.kind===`constant`?r=e.layoutSize:e.kind===`camera`?r=Z_(e,t):e.kind===`composite`&&(n=Q_(e,t)),{uSizeT:n,uSize:r}}function Z_({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},i){let a=e.length-1;for(;a>0&&e[a]>i;)a--;let o=Math.min(a+1,e.length-1),s=r?F(zi.interpolationFactor(r,i,e[a],e[o]),0,1):0;return Math.min(Vi.number(t[a],t[o],s),n)}function Q_({interpolationType:e,minZoom:t,maxZoom:n},r){return e?F(zi.interpolationFactor(e,r,t,n),0,1):0}var $_=class e extends M{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new e(this.x,this.y,this.angle,this.segment)}};W(`Anchor`,$_);function ev(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o-1],n=e[o],a=e[o+1];if(!a)return!1;let u=t.angleTo(n)-n.angleTo(a);for(u=Math.abs((u+3*Math.PI)%(Math.PI*2)-Math.PI),c.push({distance:s,angleDelta:u}),l+=u;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=n.dist(a)}return!0}function tv(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function nv(e,t,n){return e?3/5*t*n:0}function rv(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function iv(e,t,n,r,i,a){let o=nv(n,i,a),s=rv(n,r)*a,c=0,l=tv(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=new $_(Vi.number(r.x,i.x,u),Vi.number(r.y,i.y,u),i.angleTo(r),n);return d._round(),!o||ev(e,d,s,o,t)?d:void 0}c+=a}}function av(e,t,n,r,i,a,o,s,c){let l=nv(r,a,o),u=rv(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;t-d<t/4&&(t=d+t/4);let p=a*2;return ov(e,f?t/2*s%t:(u/2+p)*o*s%t,t,l,n,d,f,!1,c)}function ov(e,t,n,r,i,a,o,s,c){let l=a/2,u=tv(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=Vi.number(o.x,s.x,g),v=Vi.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new $_(_,v,h,t);n._round(),(!r||ev(e,n,a,r,i))&&p.push(n)}}d+=m}return!s&&!p.length&&!o&&(p=ov(e,d/2,n,r,i,a,o,!0,c)),p}function sv(e,t,n,r,i){let a=[];for(let o of e){let e;for(let s=0;s<o.length-1;s++){let c=o[s],l=o[s+1];c.x<t&&l.x<t||(c.x<t?c=new M(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round():l.x<t&&(l=new M(t,c.y+(l.y-c.y)*((t-c.x)/(l.x-c.x)))._round()),!(c.y<n&&l.y<n)&&(c.y<n?c=new M(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round():l.y<n&&(l=new M(c.x+(l.x-c.x)*((n-c.y)/(l.y-c.y)),n)._round()),!(c.x>=r&&l.x>=r)&&(c.x>=r?c=new M(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round():l.x>=r&&(l=new M(r,c.y+(l.y-c.y)*((r-c.x)/(l.x-c.x)))._round()),!(c.y>=i&&l.y>=i)&&(c.y>=i?c=new M(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round():l.y>=i&&(l=new M(c.x+(l.x-c.x)*((i-c.y)/(l.y-c.y)),i)._round()),(!e||!c.equals(e[e.length-1]))&&(e=[c],a.push(e)),e.push(l)))))}}return a}function cv(e,t,n,r){let i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,c=a.paddedRect.h-2,l={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=u.reduce(f,0),m=d.reduce(f,0),h=s-p,g=c-m,_=0,v=p,y=0,b=m,x=0,S=h,C=0,w=g;if(a.content&&r){let t=a.content,n=t[2]-t[0],r=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(l=U_(e)),_=lv(u,0,t[0]),y=lv(d,0,t[1]),v=lv(u,t[0],t[2]),b=lv(d,t[1],t[3]),x=t[0]-_,C=t[1]-y,S=n-v,w=r-b}let T=l.x1,E=l.y1,D=l.x2-T,O=l.y2-E,k=(e,r,i,s)=>{let c=dv(e.stretch-_,v,D,T),l=fv(e.fixed-x,S,e.stretch,p),u=dv(r.stretch-y,b,O,E),d=fv(r.fixed-C,w,r.stretch,m),f=dv(i.stretch-_,v,D,T),h=fv(i.fixed-x,S,i.stretch,p),g=dv(s.stretch-y,b,O,E),k=fv(s.fixed-C,w,s.stretch,m),A=new M(c,u),j=new M(f,u),ee=new M(f,g),te=new M(c,g),ne=new M(l/o,d/o),re=new M(h/o,k/o),ie=t*Math.PI/180;if(ie){let e=Math.sin(ie),t=Math.cos(ie),n=[t,-e,e,t];A._matMult(n),j._matMult(n),te._matMult(n),ee._matMult(n)}let ae=e.stretch+e.fixed,oe=i.stretch+i.fixed,se=r.stretch+r.fixed,ce=s.stretch+s.fixed;return{tl:A,tr:j,bl:te,br:ee,tex:{x:a.paddedRect.x+1+ae,y:a.paddedRect.y+1+se,w:oe-ae,h:ce-se},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ne,pixelOffsetBR:re,minFontScaleX:S/o/D,minFontScaleY:w/o/O,isSDF:n}};if(!r||!a.stretchX&&!a.stretchY)i.push(k({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:c+1}));else{let e=uv(u,h,p),t=uv(d,g,m);for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];for(let e=0;e<t.length-1;e++){let n=t[e],o=t[e+1];i.push(k(r,n,a,o))}}}return i}function lv(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function uv(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function dv(e,t,n,r){return e/t*n+r}function fv(e,t,n,r){return e-t*n/r}function pv(e,t,n,r,i,a,o,s){let c=r.layout.get(`text-rotate`).evaluate(a,{})*Math.PI/180,l=[];for(let e of t.positionedLines)for(let r of e.positionedGlyphs){if(!r.rect)continue;let a=r.rect||{},u=4,d=!0,f=1,p=0,m=(i||s)&&r.vertical,h=r.metrics.advance*r.scale/2;if(s&&t.verticalizable){let t=(r.scale-1)*24,n=(24-r.metrics.width*r.scale)/2;p=e.lineOffset/2-(r.imageName?-n:t)}if(r.imageName){let e=o[r.imageName];d=e.sdf,f=e.pixelRatio,u=1/f}let g=i?[r.x+h,r.y]:[0,0],_=i?[0,0]:[r.x+h+n[0],r.y+n[1]-p],v=[0,0];m&&(v=_,_=[0,0]);let y=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-h+_[0],x=(-r.metrics.top-u)*r.scale+_[1],S=b+a.w/y*r.scale/f,C=x+a.h/y*r.scale/f,w=new M(b,x),T=new M(S,x),E=new M(b,C),D=new M(S,C);if(m){let e=new M(-h,h- -17),t=-Math.PI/2,n=12-h,i=r.imageName?n:0,a=new M(22-n,-i),o=new M(...v);w._rotateAround(t,e)._add(a)._add(o),T._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),n=[t,-e,e,t];w._matMult(n),T._matMult(n),E._matMult(n),D._matMult(n)}let O=new M(0,0),k=new M(0,0);l.push({tl:w,tr:T,bl:E,br:D,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return l}var mv=class{constructor(e,t,n,r,i,a,o,s,c,l){if(this.boxStartIndex=e.length,c){let e=a.top,t=a.bottom,n=a.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let c=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?U_(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-s[0],c.y2=c.y2*o+s[2],c.x1=c.x1*o-s[3],c.x2=c.x2*o+s[1];let u=a.collisionPadding;if(u&&(c.x1-=u[0]*o,c.y1-=u[1]*o,c.x2+=u[2]*o,c.y2+=u[3]*o),l){let e=new M(c.x1,c.y1),t=new M(c.x2,c.y1),n=new M(c.x1,c.y2),r=new M(c.x2,c.y2),i=l*Math.PI/180;e._rotate(i),t._rotate(i),n._rotate(i),r._rotate(i),c.x1=Math.min(e.x,t.x,n.x,r.x),c.x2=Math.max(e.x,t.x,n.x,r.x),c.y1=Math.min(e.y,t.y,n.y,r.y),c.y2=Math.max(e.y,t.y,n.y,r.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,n,r,i)}this.boxEndIndex=e.length}},hv=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=(e<<1)+1,a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}};function gv(e,t=1){let n=um.fromPoints(e[0]),r=Math.min(n.width(),n.height()),i=r/2,a=new hv([],_v),{minX:o,minY:s,maxX:c,maxY:l}=n;if(r===0)return new M(o,s);for(let t=o;t<c;t+=r)for(let n=s;n<l;n+=r)a.push(new vv(t+i,n+i,i,e));let u=bv(e),d=u;for(;a.length;){let n=a.pop();(n.d>d.d||!d.d)&&(d=n),!(n.max-d.d<=t)&&(i=n.h/2,a.push(new vv(n.p.x-i,n.p.y-i,i,e)),a.push(new vv(n.p.x+i,n.p.y-i,i,e)),a.push(new vv(n.p.x-i,n.p.y+i,i,e)),a.push(new vv(n.p.x+i,n.p.y+i,i,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function _v(e,t){return t.max-e.max}var vv=class{constructor(e,t,n,r){this.p=new M(e,t),this.h=n,this.d=yv(this.p,r),this.max=this.d+this.h*Math.SQRT2}};function yv(e,t){let n=!1,r=1/0;for(let i of t)for(let t=0,a=i.length,o=a-1;t<a;o=t++){let a=i[t],s=i[o];a.y>e.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(n=!n),r=Math.min(r,zd(e,a,s))}return(n?1:-1)*Math.sqrt(r)}function bv(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=c*3}return new vv(n/t,r/t,0,e)}var xv=function(e){return e[e.center=1]=`center`,e[e.left=2]=`left`,e[e.right=3]=`right`,e[e.top=4]=`top`,e[e.bottom=5]=`bottom`,e[e[`top-left`]=6]=`top-left`,e[e[`top-right`]=7]=`top-right`,e[e[`bottom-left`]=8]=`bottom-left`,e[e[`bottom-right`]=9]=`bottom-right`,e}({}),Sv=1/0;function Cv(e,t){function n(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=-i+7;break;case`bottom`:r=-t+7;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}function r(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=-n+7}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}return t[1]===Sv?n(e,t[0]):r(e,t[0],t[1])}function wv(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map(e=>e*24);r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new Ti(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map(e=>e*24):[r.get(`text-radial-offset`).evaluate(t,{},n)*24,Sv];let o=[];for(let e of a)o.push(e,Cv(e,i));return new Ti(o)}return null}function Tv(e){e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=P/t,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let n=e.bucket.layers[0],r=n.layout,i=n._unevaluatedLayout._values,a={layoutIconSize:i[`icon-size`].possiblyEvaluate(new pl(e.bucket.zoom+1),e.canonical),layoutTextSize:i[`text-size`].possiblyEvaluate(new pl(e.bucket.zoom+1),e.canonical),textMaxSize:i[`text-size`].possiblyEvaluate(new pl(18))};if(e.bucket.textSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.textSizeData;a.compositeTextSizes=[i[`text-size`].possiblyEvaluate(new pl(t),e.canonical),i[`text-size`].possiblyEvaluate(new pl(n),e.canonical)]}if(e.bucket.iconSizeData.kind===`composite`){let{minZoom:t,maxZoom:n}=e.bucket.iconSizeData;a.compositeIconSizes=[i[`icon-size`].possiblyEvaluate(new pl(t),e.canonical),i[`icon-size`].possiblyEvaluate(new pl(n),e.canonical)]}let o=r.get(`text-line-height`)*24,s=r.get(`text-rotation-alignment`)!==`viewport`&&r.get(`symbol-placement`)!==`point`,c=r.get(`text-keep-upright`),l=r.get(`text-size`);for(let t of e.bucket.features){let i=r.get(`text-font`).evaluate(t,{},e.canonical).join(`,`),u=l.evaluate(t,{},e.canonical),d=a.layoutTextSize.evaluate(t,{},e.canonical),f=a.layoutIconSize.evaluate(t,{},e.canonical),p={horizontal:{},vertical:void 0},m=t.text,h=[0,0];if(m){let a=m.toString(),l=r.get(`text-letter-spacing`).evaluate(t,{},e.canonical)*24,f=xg(a)?l:0,g=r.get(`text-anchor`).evaluate(t,{},e.canonical),_=wv(n,t,e.canonical);if(!_){let n=r.get(`text-radial-offset`).evaluate(t,{},e.canonical);h=n?Cv(g,[n*24,Sv]):r.get(`text-offset`).evaluate(t,{},e.canonical).map(e=>e*24)}let v=s?`center`:r.get(`text-justify`).evaluate(t,{},e.canonical),y=r.get(`symbol-placement`)===`point`?r.get(`text-max-width`).evaluate(t,{},e.canonical)*24:1/0,b=()=>{e.bucket.allowVerticalPlacement&&bg(a)&&(p.vertical=w_(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,`left`,f,h,2,!0,d,u))};if(!s&&_){let t=new Set;if(v===`auto`)for(let e=0;e<_.values.length;e+=2)t.add(Ev(_.values[e]));else t.add(v);let n=!1;for(let r of t)if(!p.horizontal[r]){if(n)p.horizontal[r]=p.horizontal[0];else{let t=w_(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,`center`,r,f,h,1,!1,d,u);t&&(p.horizontal[r]=t,n=t.positionedLines.length===1)}}b()}else{v===`auto`&&(v=Ev(g));let t=w_(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,1,!1,d,u);t&&(p.horizontal[v]=t),b(),bg(a)&&s&&c&&(p.vertical=w_(m,e.glyphMap,e.glyphPositions,e.imagePositions,i,y,o,g,v,f,h,2,!1,d,u))}}let g,_=!1;if(t.icon?.name){let n=e.imageMap[t.icon.name];n&&(g=H_(e.imagePositions[t.icon.name],r.get(`icon-offset`).evaluate(t,{},e.canonical),r.get(`icon-anchor`).evaluate(t,{},e.canonical)),_=!!n.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=_:e.bucket.sdfIcons!==_&&En(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),n.pixelRatio===e.bucket.pixelRatio?r.get(`icon-rotate`).constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let v=Av(p.horizontal)||p.vertical;e.bucket.iconsInText||=v?v.iconsInText:!1,(v||g)&&Dv(e.bucket,t,p,g,e.imageMap,a,d,f,h,_,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function Ev(e){switch(e){case`right`:case`top-right`:case`bottom-right`:return`right`;case`left`:case`top-left`:case`bottom-left`:return`left`}return`center`}function Dv(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=a.textMaxSize.evaluate(t,{});p===void 0&&(p=o);let m=e.layers[0].layout,h=m.get(`icon-offset`).evaluate(t,{},u),g=Av(n.horizontal),_=o/24,v=e.tilePixelRatio*_,y=e.tilePixelRatio*p/24,b=e.tilePixelRatio*s,x=e.tilePixelRatio*m.get(`symbol-spacing`),S=m.get(`text-padding`)*e.tilePixelRatio,C=Zv(m,t,u,e.tilePixelRatio),w=m.get(`text-max-angle`)/180*Math.PI,T=m.get(`text-rotation-alignment`)!==`viewport`&&m.get(`symbol-placement`)!==`point`,E=m.get(`icon-rotation-alignment`).constantOr(`viewport`)===`map`&&m.get(`symbol-placement`)!==`point`,D=m.get(`symbol-placement`),O=x/2,k=m.get(`icon-text-fit`),A;r&&k!==`none`&&(e.allowVerticalPlacement&&n.vertical&&(A=W_(r,n.vertical,k,m.get(`icon-text-fit-padding`),h,_)),g&&(r=W_(r,g,k,m.get(`icon-text-fit-padding`),h,_)));let j=u?d.line.getGranularityForZoomLevel(u.z):1,ee=(s,d)=>{d.x<0||d.x>=8192||d.y<0||d.y>=8192||jv(e,d,s,n,r,i,A,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,v,[S,S,S,S],T,c,b,C,E,h,t,a,l,u,o,f)};if(D===`line`)for(let i of sv(t.geometry,0,0,P,P)){let t=Up(i,j),a=av(t,x,w,n.vertical||g,r,24,y,e.overscaling,P);for(let n of a){let r=g;(!r||!Mv(e,r.text,O,n))&&ee(t,n)}}else if(D===`line-center`){for(let e of t.geometry)if(e.length>1){let t=Up(e,j),i=iv(t,w,n.vertical||g,r,24,y);i&&ee(t,i)}}else if(t.type===`Polygon`)for(let e of Ki(t.geometry,0)){let t=gv(e,16);ee(Up(e[0],j,!0),new $_(t.x,t.y,0))}else if(t.type===`LineString`)for(let e of t.geometry){let t=Up(e,j);ee(t,new $_(t[0].x,t[0].y,0))}else if(t.type===`Point`)for(let e of t.geometry)for(let t of e)ee([t],new $_(t.x,t.y,0))}function Ov(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let t=0;t<r.length;t+=2){let n=xv[r[t]],i=r[t+1];e.emplaceBack(n,i[0],i[1])}return[n,e.length]}function kv(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=pv(t,n,s,i,a,o,r,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*i.layout.get(`text-size`).evaluate(o,{})],v[0]>32640&&En(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(o,{},h),128*m.compositeTextSizes[1].evaluate(o,{},h)],(v[0]>32640||v[1]>32640)&&En(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,s,a,o,u,t,l.lineStartIndex,l.lineLength,p,h,c);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return g.length*4}function Av(e){for(let t in e)return e[t];return null}function jv(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){let E=e.addToLineVertexArray(t,n),D=s.layout.get(`symbol-height-offset`).evaluate(b,{},C);D>e.maxHeightOffset&&(e.maxHeightOffset=D);let O,k,A,j,ee=0,te=0,ne=0,re=0,ie=-1,ae=-1,oe={},se=(0,Qu.default)(``);if(e.allowVerticalPlacement&&r.vertical){let e=s.layout.get(`text-rotate`).evaluate(b,{},C)+90,n=r.vertical;A=new mv(c,t,l,u,d,n,f,p,m,e),o&&(j=new mv(c,t,l,u,d,o,g,_,m,e))}if(i){let n=s.layout.get(`icon-rotate`).evaluate(b,{}),r=s.layout.get(`icon-text-fit`)!==`none`,a=cv(i,n,S,r),f=o?cv(o,n,S,r):void 0;k=new mv(c,t,l,u,d,i,g,_,!1,n),ee=a.length*4;let p=e.iconSizeData,m=null;p.kind===`source`?(m=[128*s.layout.get(`icon-size`).evaluate(b,{})],m[0]>32640&&En(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):p.kind===`composite`&&(m=[128*x.compositeIconSizes[0].evaluate(b,{},C),128*x.compositeIconSizes[1].evaluate(b,{},C)],(m[0]>32640||m[1]>32640)&&En(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,y,v,b,0,t,E.lineStartIndex,E.lineLength,-1,C,D),ie=e.icon.placedSymbolArray.length-1,f&&(te=f.length*4,e.addSymbols(e.icon,f,m,y,v,b,2,t,E.lineStartIndex,E.lineLength,-1,C,D),ae=e.icon.placedSymbolArray.length-1)}let ce=Object.keys(r.horizontal);for(let n of ce){let i=r.horizontal[n];O||=(se=(0,Qu.default)(i.text),new mv(c,t,l,u,d,i,f,p,m,s.layout.get(`text-rotate`).evaluate(b,{},C)));let o=i.positionedLines.length===1;if(ne+=kv(e,t,i,a,s,m,b,h,D,E,r.vertical?1:3,o?ce:[n],oe,ie,x,C),o)break}r.vertical&&(re+=kv(e,t,r.vertical,a,s,m,b,h,D,E,2,[`vertical`],oe,ae,x,C));let le=O?O.boxStartIndex:e.collisionBoxArray.length,ue=O?O.boxEndIndex:e.collisionBoxArray.length,de=A?A.boxStartIndex:e.collisionBoxArray.length,fe=A?A.boxEndIndex:e.collisionBoxArray.length,pe=k?k.boxStartIndex:e.collisionBoxArray.length,me=k?k.boxEndIndex:e.collisionBoxArray.length,he=j?j.boxStartIndex:e.collisionBoxArray.length,ge=j?j.boxEndIndex:e.collisionBoxArray.length,_e=-1,ve=(e,t)=>e?.circleDiameter?Math.max(e.circleDiameter,t):t;_e=ve(O,_e),_e=ve(A,_e),_e=ve(k,_e),_e=ve(j,_e);let ye=+(_e>-1);ye&&(_e*=w/24),e.glyphOffsetArray.length>=e.maxGlyphs&&En(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),b.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);let be=wv(s,b,C),[xe,Se]=Ov(e.textAnchorOffsets,be);T&&(se=Nv(se,b)),e.symbolInstances.emplaceBack(t.x,t.y,oe.right>=0?oe.right:-1,oe.center>=0?oe.center:-1,oe.left>=0?oe.left:-1,oe.vertical||-1,ie,ae,se,le,ue,de,fe,pe,me,he,ge,l,ne,re,ee,te,ye,0,f,_e,xe,Se,D)}function Mv(e,t,n,r){let i=e.compareText;if(!(t in i))i[t]=[];else{let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}return i[t].push(r),!1}function Nv(e,t){return t.id==null||t.properties?.cluster?e:(0,Qu.default)(String(t.id),e)}function Pv(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}var Fv=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function Iv(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=s?Math.min(G_,Math.round(s[0])):0,h=s?Math.min(G_,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(r*32),Math.round(i*32),a,o,(m<<1)+ +!!c,h,l*16,u*16,d*256,f*256,p)}function Lv(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function Rv(e){for(let t of e.sections)if(Eg(t.text))return!0;return!1}var zv=class{constructor(e){this.layoutVertexArray=new Pu,this.indexArray=new Vu,this.programConfigurations=e,this.segments=new Ku,this.dynamicLayoutVertexArray=new Fu,this.opacityVertexArray=new Iu,this.hasVisibleVertices=!1,this.placedSymbolArray=new hu}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Oh.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,kh.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Fv,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}};W(`SymbolBuffers`,zv);var Bv=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Ku,this.collisionVertexArray=new zu}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Ah.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};W(`CollisionBuffers`,Bv);var Vv=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.s
vendor: 3,101 bytes, line 1
1ourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=K_(this.zoom,t[`text-size`]),this.iconSizeData=K_(this.zoom,t[`icon-size`]);let n=this.layers[0].layout,r=n.get(`symbol-sort-key`),i=n.get(`symbol-z-order`);this.canOverlap=Pv(n,`text-overlap`,`text-allow-overlap`)!==`never`||Pv(n,`icon-overlap`,`icon-allow-overlap`)!==`never`||n.get(`text-ignore-placement`)||n.get(`icon-ignore-placement`),this.sortFeaturesByKey=i!==`viewport-y`&&!r.isConstant();let a=i===`viewport-y`||i===`auto`&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,n.get(`symbol-placement`)===`point`&&(this.writingModes=n.get(`text-writing-mode`).map(e=>m_[e])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=e.sourceID}createArrays(){this.text=new zv(new bd(this.layers,this.zoom,e=>e.startsWith(`text`))),this.icon=new zv(new bd(this.layers,this.zoom,e=>e.startsWith(`icon`))),this.glyphOffsetArray=new vu,this.lineVertexArray=new yu,this.symbolInstances=new _u,this.textAnchorOffsets=new xu}calculateGlyphDependencies(e,t,n,r,i){let a=(r||this.allowVerticalPlacement)&&i,o=Lg.fromFeature(e,n),s=o.graphemes();for(let e=0;e<s.length;e++){let n=o.getSection(e);if(`imageName`in n)continue;let r=(t[n.fontStack]||={default:{}}).default,i=s[e];vg(i)&&(r[i]=!0);for(let e of i){if(r[e]=!0,!a)continue;let t=Dg[e];t&&(r[t]=!0)}}}populate(e,t,n){let r=this.layers[0],i=r.layout,a=i.get(`text-font`),o=i.get(`text-field`),s=i.get(`icon-image`),c=(o.value.kind!==`constant`||o.value.value instanceof yi&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(a.value.kind!==`constant`||a.value.value.length>0),l=s.value.kind!==`constant`||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(`symbol-sort-key`);if(this.features=[],!c&&!l)return;let d=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,m=new pl(this.zoom);for(let{feature:t,id:o,index:s,sourceLayerIndex:h}of e){let e=r._featureFilter.needGeometry,g=Dd(t,e);if(!r._featureFilter.filter(m,g,n))continue;e||(g.geometry=Ed(t));let _;if(c){let e=r.getValueAndResolveTokens(`text-field`,g,n,p),t=yi.factory(e);this.hasRTLText||=Rv(t),_=sg(t,r,g)}let v;if(l){let e=r.getValueAndResolveTokens(`icon-image`,g,n,p);v=e instanceof Ei?e:Ei.fromString(e)}if(!_&&!v)continue;let y=this.sortFeaturesByKey?u.evaluate(g,{},n):void 0,b={id:o,text:_,icon:v,index:s,sourceLayerIndex:h,geometry:g.geometry,properties:t.properties,type:mm.types[t.type],sortKey:y};if(this.features.push(b),v&&(d[v.name]=!0),_){let e=a.evaluate(g,{},n).join(`,`),t=i.get(`text-rotation-alignment`)!==`viewport`&&i.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes?.includes(2);let r=bg(_.toString());this.calculateGlyphDependencies(_,f,e,t,r);for(let e of _.sections)e.image&&(d[e.image.name]=!0)}}i.get(`symbol-placement`)===`line`&&(this.features=fg(this.features)),this.sortFeaturesByKey&&this.features.sort((e,t)=>
vendor: 10,283 bytes, line 1
1e.sortKey-t.sortKey)}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}addFeatures({options:e,canonical:t,glyphMap:n,glyphPositions:r,iconMap:i,iconPositions:a,showCollisionBoxes:o}){Tv({bucket:this,glyphMap:n,glyphPositions:r,imageMap:i,imagePositions:a,showCollisionBoxes:o,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.indexArray,m=e.layoutVertexArray,h=e.segments.prepareSegment(4*t.length,m,p,this.canOverlap?a.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&o===2?Math.PI/2:0,y=a.text&&a.text.sections;for(let r=0;r<t.length;r++){let{tl:i,tr:o,bl:c,br:l,tex:u,pixelOffsetTL:g,pixelOffsetBR:_,minFontScaleX:b,minFontScaleY:x,glyphOffset:S,isSDF:C,sectionIndex:w}=t[r],T=h.vertexLength,E=S[1];Iv(m,s.x,s.y,i.x,E+i.y,u.x,u.y,n,C,g.x,g.y,b,x,f),Iv(m,s.x,s.y,o.x,E+o.y,u.x+u.w,u.y,n,C,_.x,g.y,b,x,f),Iv(m,s.x,s.y,c.x,E+c.y,u.x,u.y+u.h,n,C,g.x,_.y,b,x,f),Iv(m,s.x,s.y,l.x,E+l.y,u.x+u.w,u.y+u.h,n,C,_.x,_.y,b,x,f),Lv(e.dynamicLayoutVertexArray,s,v),p.emplaceBack(T,T+2,T+1),p.emplaceBack(T+1,T+2,T+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(S[0]),(r===t.length-1||w!==t[r+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(m.length,a,a.index,{imagePositions:{},canonical:d,formattedSection:y?.[w]})}e.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,_,c,l,s.segment,n?n[0]:0,n?n[1]:0,r[0],r[1],o,0,!1,0,u,f)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,n,r,i,a,o){let s=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=s.vertexLength,l=i.layoutVertexArray,u=i.collisionVertexArray,d=o.anchorX,f=o.anchorY;this._addCollisionDebugVertex(l,u,a,d,f,new M(e,t)),this._addCollisionDebugVertex(l,u,a,d,f,new M(n,t)),this._addCollisionDebugVertex(l,u,a,d,f,new M(n,r)),this._addCollisionDebugVertex(l,u,a,d,f,new M(e,r)),s.vertexLength+=4;let p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.emplaceBack(c+3,c),s.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i),t=e.x1,a=e.y1,o=e.x2,s=e.y2;this.addCollisionDebugVertices(t,a,o,s,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Bv(Lu,jh.members,Hu),this.iconCollisionBox=new Bv(Lu,jh.members,Hu);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+n.numGlyphs*4;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(Math.round(t*o.anchorX+n*o.anchorY)|0),i.push(o.featureIndex)}return a.sort((e,t)=>r[e]-r[t]||i[t]-i[e]),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);let n=[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex];for(let e=0;e<n.length;e++){let t=n[e];t>=0&&n.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)}t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}};W(`SymbolBucket`,Vv,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]});function Hv(e,t){return t.replace(/{([^{}]+)}/g,(t,n)=>e&&n in e?String(e[n]):``)}var Uv,Wv=()=>Uv||=new Dl({"symbol-placement":new G(R.layout_symbol[`symbol-placement`],`symbol-placement`),"symbol-spacing":new G(R.layout_symbol[`symbol-spacing`],`symbol-spacing`),"symbol-avoid-edges":new G(R.layout_symbol[`symbol-avoid-edges`],`symbol-avoid-edges`),"symbol-sort-key":new K(R.layout_symbol[`symbol-sort-key`],`symbol-sort-key`),"symbol-z-order":new G(R.layout_symbol[`symbol-z-order`],`symbol-z-order`),"icon-allow-overlap":new G(R.layout_symbol[`icon-allow-overlap`],`icon-allow-overlap`),"icon-overlap":new G(R.layout_symbol[`icon-overlap`],`icon-overlap`),"icon-ignore-placement":new G(R.layout_symbol[`icon-ignore-placement`],`icon-ignore-placement`),"icon-optional":new G(R.layout_symbol[`icon-optional`],`icon-optional`),"icon-rotation-alignment":new K(R.layout_symbol[`icon-rotation-alignment`],`icon-rotation-alignment`),"icon-size":new K(R.layout_symbol[`icon-size`],`icon-size`),"icon-text-fit":new G(R.layout_symbol[`icon-text-fit`],`icon-text-fit`),"icon-text-fit-padding":new G(R.layout_symbol[`icon-text-fit-padding`],`icon-text-fit-padding`),"icon-image":new K(R.layout_symbol[`icon-image`],`icon-image`),"icon-rotate":new K(R.layout_symbol[`icon-rotate`],`icon-rotate`),"icon-padding":new K(R.layout_symbol[`icon-padding`],`icon-padding`),"icon-keep-upright":new G(R.layout_symbol[`icon-keep-upright`],`icon-keep-upright`),"icon-offset":new K(R.layout_symbol[`icon-offset`],`icon-offset`),"icon-anchor":new K(R.layout_symbol[`icon-anchor`],`icon-anchor`),"icon-pitch-alignment":new G(R.layout_symbol[`icon-pitch-alignment`],`icon-pitch-alignment`),"text-pitch-alignment":new G(R.layout_symbol[`text-pitch-alignment`],`text-pitch-alignment`),"text-rotation-alignment":new G(R.layout_symbol[`text-rotation-alignment`],`text-rotation-alignment`),"text-field":new K(R.layout_symbol[`text-field`],`text-field`),"text-font":new K(R.layout_symbol[`text-font`],`text-font`),"text-size":new K(R.layout_symbol[`text-size`],`text-size`),"text-max-width":new K(R.layout_symbol[`text-max-width`],`text-max-width`),"text-line-height":new G(R.layout_symbol[`text-line-height`],`text-line-height`),"text-letter-spacing":new K(R.layout_symbol[`text-letter-spacing`],`text-letter-spacing`),"text-justify":new K(R.layout_symbol[`text-ju
1stify`],`text-justify`),"text-radial-offset":new K(R.layout_symbol[`text-radial-offset`],`text-radial-offset`),"text-variable-anchor":new G(R.layout_symbol[`text-variable-anchor`],`text-variable-anchor`),"text-variable-anchor-offset":new K(R.layout_symbol[`text-variable-anchor-offset`],`text-variable-anchor-offset`),"text-anchor":new K(R.layout_symbol[`text-anchor`],`text-anchor`),"text-max-angle":new G(R.layout_symbol[`text-max-angle`],`text-max-angle`),"text-writing-mode":new G(R.layout_symbol[`text-writing-mode`],`text-writing-mode`),"text-rotate":new K(R.layout_symbol[`text-rotate`],`text-rotate`),"text-padding":new G(R.layout_symbol[`text-padding`],`text-padding`),"text-keep-upright":new G(R.layout_symbol[`text-keep-upright`],`text-keep-upright`),"text-transform":new K(R.layout_symbol[`text-transform`],`text-transform`),"text-offset":new K(R.layout_symbol[`text-offset`],`text-offset`),"text-allow-overlap":new G(R.layout_symbol[`text-allow-overlap`],`text-allow-overlap`),"text-overlap":new G(R.layout_symbol[`text-overlap`],`text-overlap`),"text-ignore-placement":new G(R.layout_symbol[`text-ignore-placement`],`text-ignore-placement`),"text-optional":new G(R.layout_symbol[`text-optional`],`text-optional`),"symbol-height-offset":new K(R.layout_symbol[`symbol-height-offset`],`symbol-height-offset`),"symbol-height-anchor":new G(R.layout_symbol[`symbol-height-anchor`],`symbol-height-anchor`)}),Gv,Kv=()=>Gv||=new Dl({"icon-opacity":new K(R.paint_symbol[`icon-opacity`],`icon-opacity`),"icon-color":new K(R.paint_symbol[`icon-color`],`icon-color`),"icon-halo-color":new K(R.paint_symbol[`icon-halo-color`],`icon-halo-color`),"icon-halo-width":new K(R.paint_symbol[`icon-halo-width`],`icon-halo-width`),"icon-halo-blur":new K(R.paint_symbol[`icon-halo-blur`],`icon-halo-blur`),"icon-translate":new G(R.paint_symbol[`icon-translate`],`icon-translate`),"icon-translate-anchor":new G(R.paint_symbol[`icon-translate-anchor`],`icon-translate-anchor`),"text-opacity":new K(R.paint_symbol[`text-opacity`],`text-opacity`),"text-color":new K(R.paint_symbol[`text-color`],`text-color`,{runtimeType:Tr,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new K(R.paint_symbol[`text-halo-color`],`text-halo-color`),"text-halo-width":new K(R.paint_symbol[`text-halo-width`],`text-halo-width`),"text-halo-blur":new K(R.paint_symbol[`text-halo-blur`],`text-halo-blur`),"text-translate":new G(R.paint_symbol[`text-translate`],`text-translate`),"text-translate-anchor":new G(R.paint_symbol[`text-translate-anchor`],`text-translate-anchor`)}),qv={get paint(){return Kv()},get layout(){return Wv()}},Jv=class{constructor(e){if(e.property.overrides===void 0)throw Error(`overrides must be provided to instantiate FormatSectionOverride class`);this.type=e.property.overrides?e.property.overrides.runtimeType:Cr,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}};W(`FormatSectionOverride`,Jv,{omit:[`defaultValue`]});var Yv=e=>e.type===`symbol`,Xv=class e extends Al{constructor(e,t){super(e,qv,t)}recalculate(e,t){super.recalculate(e,t);let n=this.layout.get(`icon-rotation-alignment`);if((n.value.kind!==`constant`||n.value.value===`auto`)&&(this.layout._values[`icon-rotation-alignment`]=new bl(n.property,{kind:`constant`,value:this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`},n.parameters)),this.layout.get(`text-rotation-alignment`)===`auto`&&(this.layout.get(`symbol-placement`)===`point`?this.layout._values[`text-rotation-alignment`]=`viewport`:this.layout._values[`text-rotation-alignment`]=`map`),this.layout.get(`text-pitch-alignment`)===`auto`&&(this.layout._values[`text-pitch-alignment`]=this.layout.get(`text-rotation-alignment`)===`map`?`map`:`viewport`),this.layout.get(`icon-pitch-alignment`)===`auto`&&(this.layout._values[`icon-pitch-alignment`]=this.layout.get(`icon-rotation-alignment`).constantOr(`viewport`)),this.layout.get(`symbol-placement`)===`point`){let e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.includes(n)||t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return!a.isDataDriven()&&!bs(a.value)&&i?Hv(t.properties,i):i}createBucket(e){return new Vv(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let t of qv.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new _s(new Jv(n),`layers[${this.id}].paint.${n.property.name}`,n.property.specification),i=null;i=n.value.kind===`constant`||n.value.kind===`source`?new Ss(`source`,r):new Cs(`composite`,r,n.value.zoomStops),this.paint._values[t]=new bl(n.property,i,n.parameters)}}_handleOverridablePaintPropertyUpdate(t,n,r){return!this.layout||n.isDataDriven()||r.isDataDriven()?!1:e.hasPaintOverride(this.layout,t)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=qv.paint.properties[t],i=!1,a=e=>{for(let t of e)if(r.overrides?.hasOverride(t)){i=!0;return}};if(n.value.kind===`constant`&&n.value.value instanceof yi)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{if(!i){if(t instanceof Ni&&ji(t.value)===Ar){let e=t.value;a(e.sections)}else t instanceof Hi?a(t.sections):t.eachChild(e)}},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}};function Zv(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n)?.values;return[i[0]*r,i[1]*r,i[2]*r,i[3]*r]}var Qv,$v=()=>Qv||=new Dl({"background-color":new G(R.paint_background[`background-color`],`background-color`),"background-pattern":new Tl(R.paint_background[`background-pattern`],`background-pattern`),"background-opacity":new G(R.paint_background[`background-opacity`],`background-opacity`)}),ey={get paint(){return $v()}},ty=e=>e.type===`background`,ny=class extends Al{constructor(e,t){super(e,ey,t)}};function ry(e){let t=[],n=e.id;return n===void 0&&t.push(new z(`layers.${n}`,null,`missing required property "id"`)),e.render===void 0&&t.push(new z(`layers.${n}`,null,`missing required method "render"`)),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push(new z(`layers.${n}`,null,`property "renderingMode" must be either "2d" or "3d"`)),t}var iy=e=>e.type===`custom`,ay=class extends Al{constructor(e,t){super(e,{},t),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}};function oy(e,t){if(e.type===`custom`)return new ay(e,t);switch(e.type){case`background`:return new ny(e,t);case`circle`:return new lf(e,t);case`color-relief`:return new Lf(e,t);case`fill`:return new om(e,t);case`fill-extrusion`:return new nh(e,t);case`heatmap`:return new Cf(e,t);case`hillshade`:return new Of(e,t);case`line`:return new Eh(e,t);case`raster`:return new Fl(e,t);case`symbol`:return new Xv(e,t)}}var sy=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){this._triggered||(this._triggered=!0,this._channel?.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},cy={once:!0},ly=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new sy(()=>this.process()),this.subscription=zn(this.target,`message`,e=>this.receive(e),!1),this.globalScope=An(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((n,r)=>{let i=Math.round(Math.random()*0xde0b6b3a7640000).toString(36).substring(0,10),a=t?zn(t.signal,`abort`,()=>{a?.unsubscribe(),delete this.resolveRejects[i];let n={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(n),r(new $n(t.signal.reason))},cy):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s={...e,id:i,sourceMapId:this.mapId,origin:location.origin,data:ul(e.data,o)};this.target.postMessage(s,{transfer:o})})}receive(e){let t=e.data,n=t.id,r=[`file://`,`resource://android`,`null`],i=[t.origin,location.origin],a=t.origin===location.origin,o=i.some(e=>r.includes(e));if((a||o)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(An(self)||t.mustQueue){this.tasks[n]=t,this.taskQueue.push(n),this.invoker.trigger();return}this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type===`<response>`){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(Wt(dl(t.error))):n.resolve(dl(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=dl(t.data),r=new AbortController;this.abortControllers[e]=r;try{let i=await this.messageHandlers[t.type](t.sourceMapId,n,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,Wt(t))}}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?ul(t):null,data:ul(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};
vendor: 6,472 bytes, line 1
1function uy(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function dy(e,t){let{x:n,y:r}=Am.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}var fy=class{constructor(e,t,n){if(!uy(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=hy(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=_y(this.x,this.y,this.z),i=yy(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new M((e.x*t-this.x)*P,(e.y*t-this.y)*P)}toString(){return`${this.z}/${this.x}/${this.y}`}},py=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=hy(e,t.z,t.z,t.x,t.y)}},my=class e{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new fy(n,+r,+i),this.key=hy(t,e,n,r,i)}clone(){return new e(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-t;return t>this.canonical.z?new e(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new e(t,this.wrap,t,this.canonical.x>>n,this.canonical.y>>n)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?hy(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):hy(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;let t=this.canonical.z-e.canonical.z;return t<0?!1:e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(t){if(this.overscaledZ>=t)return[new e(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let n=this.canonical.z+1,r=this.canonical.x*2,i=this.canonical.y*2;return[new e(n,this.wrap,n,r,i),new e(n,this.wrap,n,r+1,i),new e(n,this.wrap,n,r,i+1),new e(n,this.wrap,n,r+1,i+1)]}isLessThan(e){return this.wrap<e.wrap?!0:this.wrap>e.wrap?!1:this.overscaledZ<e.overscaledZ?!0:this.overscaledZ>e.overscaledZ?!1:this.canonical.x<e.canonical.x?!0:this.canonical.x>e.canonical.x?!1:this.canonical.y<e.canonical.y}wrapped(){return new e(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new e(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new py(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Am(e.x-this.wrap,e.y))}normalizeCoordinates(t,n,r=P){if(t>=0&&t<r&&n>=0&&n<r)return{tileID:this,x:t,y:n};let i=Math.floor(t/r),a=Math.floor(n/r),o=t-i*r,s=n-a*r,c=this.canonical.z,l=1<<c,u=this.canonical.y+a;if(u<0||u>=l)return null;let d=this.canonical.x+i,f=this.wrap;return d<0?(f-=Math.ceil(-d/l),d=(d%l+l)%l):d>=l&&(f+=Math.floor(d/l),d%=l),{tileID:new e(this.overscaledZ,f,c,d,u),x:o,y:s}}};function hy(e,t,n,r,i){e*=2,e<0&&(e=e*-1-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}var gy=Math.PI*6378137;function _y(e,t,n){t=2**n-t-1;let r=vy(e*256,t*256,n),i=vy((e+1)*256,(t+1)*256,n);return`${r[0]},${r[1]},${i[0]},${i[1]}`}function vy(e,t,n){let r=2*gy/256/2**n;return[e*r-gy,t*r-gy]}function yy(e,t,n){let r=``;for(let i=e;i>0;i--){let e=1<<i-1;r+=(t&e?1:0)+(n&e?2:0)}return r}function by(e,t){let n=Math.abs(e.wrap*2)-+(e.wrap<0),r=Math.abs(t.wrap*2)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}W(`CanonicalTileID`,fy),W(`OverscaledTileID`,my,{omit:[`terrainRttPosMatrix32f`]});var xy=`_geojsonTileLayer`,Sy=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},Cy=class{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t;for(let t in e.properties)typeof e.properties[t]==`string`&&e.properties[t].startsWith(`__$json__:`)&&(e.properties[t]=JSON.parse(e.properties[t].slice(10)));this.properties=e.properties,this.id=i}projectPoint(e,t,n,r){return[(e.x+t)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+n)*2/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map(e=>this.projectPoint(e,t,n,r))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,i=e.loadGeometry();switch(e.type){case 1:{let e=[];for(let t of i)e.push(t[0]);let a=this.projectLine(e,n,r,t);this._geometry=e.length===1?{type:`Point`,coordinates:a[0]}:{type:`MultiPoint`,coordinates:a};break}case 2:{let e=i.map(e=>this.projectLine(e,n,r,t));this._geometry=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e};break}case 3:{let e=hm(i),a=[];for(let i of e)a.push(i.map(e=>this.projectLine(e,n,r,t)));this._geometry=a.length===1?{type:`Polygon`,coordinates:a[0]}:{type:`MultiPolygon`,coordinates:a};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!==`_geometry`&&t!==`_vectorTileFeature`&&t!==`_x`&&t!==`_y`&&t!==`_z`&&(e[t]=this[t]);return e}},wy=class{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n==`
1number`?this._size=n:(this.nullabilityBuffer=n,this._size=n.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}},Ty=class extends wy{},Ey=class extends Ty{getValueFromBuffer(e){return this.dataBuffer[e]}},Dy=class extends Ty{getValueFromBuffer(e){return this.dataBuffer[e]}},Oy=class extends wy{constructor(e,t,n,r){super(e,t,r),this.delta=n}},ky=class extends Oy{constructor(e,t,n,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},Ay=class extends wy{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},jy=class{constructor(e,t,n,r,i=4096){if(this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=i,e.length===0)throw Error(`Missing layer name`)}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors??[]}getPropertyVector(e){return this.propertyVectorsMap||=new Map(this.propertyVectors.map(e=>[e.name,e])),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n<this.numFeatures;n++){let r;if(this.idVector){let e=this.idVector.getValue(n);e!==null&&(r=this.containsMaxSafeIntegerValues(this.idVector)?Number(e):e)}let i={coordinates:t[n],type:this.geometryVector.geometryType(n)},a={};for(let e of this.propertyVectors){if(!e)continue;let t=e.name,r=e.getValue(n);r!==null&&(a[t]=r)}e.push({id:r,geometry:i,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof Ey||e instanceof Ay||e instanceof ky||e instanceof Dy}},My={FEATURE:0,VERTEX:1},Ny={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},Py={GEOMETRY:0,STRUCT:1,MAP:2},Fy={ID:0},Iy=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},Z;(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`})(Z||={});var Ly;(function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`})(Ly||={});var Ry=new Uint32Array(33);Ry[0]=0;for(let e=1;e<=32;e++)Ry[e]=e===32?4294967295:4294967295>>>32-e;var zy=Ry,By=65536;function Vy(e,t){return e-e%t}function Hy(e){return Vy(e+31,32)}function Uy(e){if(!Number.isFinite(e)||e<=0)return By;let t=Vy(Math.floor(e),256);return t===0?256:t}function Wy(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function Gy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0;n[i++]=a>>>0&3,n[i++]=a>>>2&3,n[i++]=a>>>4&3,n[i++]=a>>>6&3,n[i++]=a>>>8&3,n[i++]=a>>>10&3,n[i++]=a>>>12&3,n[i++]=a>>>14&3,n[i++]=a>>>16&3,n[i++]=a>>>18&3,n[i++]=a>>>20&3,n[i++]=a>>>22&3,n[i++]=a>>>24&3,n[i++]=a>>>26&3,n[i++]=a>>>28&3,n[i++]=a>>>30&3,n[i++]=o>>>0&3,n[i++]=o>>>2&3,n[i++]=o>>>4&3,n[i++]=o>>>6&3,n[i++]=o>>>8&3,n[i++]=o>>>10&3,n[i++]=o>>>12&3,n[i++]=o>>>14&3,n[i++]=o>>>16&3,n[i++]=o>>>18&3,n[i++]=o>>>20&3,n[i++]=o>>>22&3,n[i++]=o>>>24&3,n[i++]=o>>>26&3,n[i++]=o>>>28&3,n[i]=o>>>30&3}function Ky(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0;n[i++]=a>>>0&7,n[i++]=a>>>3&7,n[i++]=a>>>6&7,n[i++]=a>>>9&7,n[i++]=a>>>12&7,n[i++]=a>>>15&7,n[i++]=a>>>18&7,n[i++]=a>>>21&7,n[i++]=a>>>24&7,n[i++]=a>>>27&7,n[i++]=(a>>>30|(o&1)<<2)&7,n[i++]=o>>>1&7,n[i++]=o>>>4&7,n[i++]=o>>>7&7,n[i++]=o>>>10&7,n[i++]=o>>>13&7,n[i++]=o>>>16&7,n[i++]=o>>>19&7,n[i++]=o>>>22&7,n[i++]=o>>>25&7,n[i++]=o>>>28&7,n[i++]=(o>>>31|(s&3)<<1)&7,n[i++]=s>>>2&7,n[i++]=s>>>5&7,n[i++]=s>>>8&7,n[i++]=s>>>11&7,n[i++]=s>>>14&7,n[i++]=s>>>17&7,n[i++]=s>>>20&7,n[i++]=s>>>23&7,n[i++]=s>>>26&7,n[i]=s>>>29&7}function qy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0;n[i++]=a>>>0&15,n[i++]=a>>>4&15,n[i++]=a>>>8&15,n[i++]=a>>>12&15,n[i++]=a>>>16&15,n[i++]=a>>>20&15,n[i++]=a>>>24&15,n[i++]=a>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15,n[i++]=c>>>0&15,n[i++]=c>>>4&15,n[i++]=c>>>8&15,n[i++]=c>>>12&15,n[i++]=c>>>16&15,n[i++]=c>>>20&15,n[i++]=c>>>24&15,n[i]=c>>>28&15}function Jy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0;n[i++]=a>>>0&31,n[i++]=a>>>5&31,n[i++]=a>>>10&31,n[i++]=a>>>15&31,n[i++]=a>>>20&31,n[i++]=a>>>25&31,n[i++]=(a>>>30|(o&7)<<2)&31,n[i++]=o>>>3&31,n[i++]=o>>>8&31,n[i++]=o>>>13&31,n[i++]=o>>>18&31,n[i++]=o>>>23&31,n[i++]=(o>>>28|(s&1)<<4)&31,n[i++]=s>>>1&31,n[i++]=s>>>6&31,n[i++]=s>>>11&31,n[i++]=s>>>16&31,n[i++]=s>>>21&31,n[i++]=s>>>26&31,n[i++]=(s>>>31|(c&15)<<1)&31,n[i++]=c>>>4&31,n[i++]=c>>>9&31,n[i++]=c>>>14&31,n[i++]=c>>>19&31,n[i++]=c>>>24&31,n[i++]=(c>>>29|(l&3)<<3)&31,n[i++]=l>>>2&31,n[i++]=l>>>7&31,n[i++]=l>>>12&31,n[i++]=l>>>17&31,n[i++]=l>>>22&31,n[i]=l>>>27&31}function Yy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0;n[i++]=a>>>0&63,n[i++]=a>>>6&63,n[i++]=a>>>12&63,n[i++]=a>>>18&63,n[i++]=a>>>24&63,n[i++]=(a>>>30|(o&15)<<2)&63,n[i++]=o>>>4&63,n[i++]=o>>>10&63,n[i++]=o>>>16&63,n[i++]=o>>>22&63,n[i++]=(o>>>28|(s&3)<<4)&63,n[i++]=s>>>2&63,n[i++]=s>>>8&63,n[i++]=s>>>14&63,n[i++]=s>>>20&63,n[i++]=s>>>26&63,n[i++]=c>>>0&63,n[i++]=c>>>6&63,n[i++]=c>>>12&63,n[i++]=c>>>18&63,n[i++]=c>>>24&63,n[i++]=(c>>>30|(l&15)<<2)&63,n[i++]=l>>>4&63,n[i++]=l>>>10&63,n[i++]=l>>>16&63,n[i++]=l>>>22&63,n[i++]=(l>>>28|(u&3)<<4)&63,n[i++]=u>>>2&63,n[i++]=u>>>8&63,n[i++]=u>>>14&63,n[i++]=u>>>20&63,n[i]=u>>>26&63}function Xy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[i++]=a>>>0&127,n[i++]=a>>>7&127,n[i++]=a>>>14&127,n[i++]=a>>>21&127,n[i++]=(a>>>28|(o&7)<<4)&127,n[i++]=o>>>3&127,n[i++]=o>>>10&127,n[i++]=o>>>17&127,n[i++]=o>>>24&127,n[i++]=(o>>>31|(s&63)<<1)&127,n[i++]=s>>>6&127,n[i++]=s>>>13&127,n[i++]=s>>>20&127,n[i++]=(s>>>27|(c&3)<<5)&127,n[i++]=c>>>2&127,n[i++]=c>>>9&127,n[i++]=c>>>16&127,n[i++]=c>>>23&127,n[i++]=(c>>>30|(l&31)<<2)&127,n[i++]=l>>>5&127,n[i++]=l>>>12&127,n[i++]=l>>>19&127,n[i++]=(l>>>26|(u&1)<<6)&127,n[i++]=u>>>1&127,n[i++]=u>>>8&127,n[i++]=u>>>15&127,n[i++]=u>>>22&127,n[i++]=(u>>>29|(d&15)<<3)&127,n[i++]=d>>>4&127,n[i++]=d>>>11&127,n[i++]=d>>>18&127,n[i]=d>>>25&127}function Zy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0;n[i++]=a>>>0&255,n[i++]=a>>>8&255,n[i++]=a>>>16&255,n[i++]=a>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255,n[i++]=f>>>0&255,n[i++]=f>>>8&255,n[i++]=f>>>16&255,n[i]=f>>>24&255}function Qy(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0;n[i++]=a>>>0&511,n[i++]=a>>>9&511,n[i++]=a>>>18&511,n[i++]=(a>>>27|(o&15)<<5)&511,n[i++]=o>>>4&511,n[i++]=o>>>13&511,n[i++]=o>>>22&511,n[i++]=(o>>>31|(s&255)<<1)&511,n[i++]=s>>>8&511,n[i++]=s>>>17&511,n[i++]=(s>>>26|(c&7)<<6)&511,n[i++]=c>>>3&511,n[i++]=c>>>12&511,n[i++]=c>>>21&511,n[i++]=(c>>>30|(l&127)<<2)&511,n[i++]=l>>>7&511,n[i++]=l>>>16&511,n[i++]=(l>>>25|(u&3)<<7)&511,n[i++]=u>>>2&511,n[i++]=u>>>11&511,n[i++]=u>>>20&511,n[i++]=(u>>>29|(d&63)<<3)&511,n[i++]=d>>>6&511,n[i++]=d>>>15&511,n[i++]=(d>>>24|(f&1)<<8)&511,n[i++]=f>>>1&511,n[i++]=f>>>10&511,n[i++]=f>>>19&511,n[i++]=(f>>>28|(p&31)<<4)&511,n[i++]=p>>>5&511,n[i++]=p>>>14&511,n[i]=p>>>23&511}
vendor: 65,253 bytes, line 1
1function $y(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0;n[i++]=a>>>0&1023,n[i++]=a>>>10&1023,n[i++]=a>>>20&1023,n[i++]=(a>>>30|(o&255)<<2)&1023,n[i++]=o>>>8&1023,n[i++]=o>>>18&1023,n[i++]=(o>>>28|(s&63)<<4)&1023,n[i++]=s>>>6&1023,n[i++]=s>>>16&1023,n[i++]=(s>>>26|(c&15)<<6)&1023,n[i++]=c>>>4&1023,n[i++]=c>>>14&1023,n[i++]=(c>>>24|(l&3)<<8)&1023,n[i++]=l>>>2&1023,n[i++]=l>>>12&1023,n[i++]=l>>>22&1023,n[i++]=u>>>0&1023,n[i++]=u>>>10&1023,n[i++]=u>>>20&1023,n[i++]=(u>>>30|(d&255)<<2)&1023,n[i++]=d>>>8&1023,n[i++]=d>>>18&1023,n[i++]=(d>>>28|(f&63)<<4)&1023,n[i++]=f>>>6&1023,n[i++]=f>>>16&1023,n[i++]=(f>>>26|(p&15)<<6)&1023,n[i++]=p>>>4&1023,n[i++]=p>>>14&1023,n[i++]=(p>>>24|(m&3)<<8)&1023,n[i++]=m>>>2&1023,n[i++]=m>>>12&1023,n[i]=m>>>22&1023}function eb(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0;n[i++]=a>>>0&2047,n[i++]=a>>>11&2047,n[i++]=(a>>>22|(o&1)<<10)&2047,n[i++]=o>>>1&2047,n[i++]=o>>>12&2047,n[i++]=(o>>>23|(s&3)<<9)&2047,n[i++]=s>>>2&2047,n[i++]=s>>>13&2047,n[i++]=(s>>>24|(c&7)<<8)&2047,n[i++]=c>>>3&2047,n[i++]=c>>>14&2047,n[i++]=(c>>>25|(l&15)<<7)&2047,n[i++]=l>>>4&2047,n[i++]=l>>>15&2047,n[i++]=(l>>>26|(u&31)<<6)&2047,n[i++]=u>>>5&2047,n[i++]=u>>>16&2047,n[i++]=(u>>>27|(d&63)<<5)&2047,n[i++]=d>>>6&2047,n[i++]=d>>>17&2047,n[i++]=(d>>>28|(f&127)<<4)&2047,n[i++]=f>>>7&2047,n[i++]=f>>>18&2047,n[i++]=(f>>>29|(p&255)<<3)&2047,n[i++]=p>>>8&2047,n[i++]=p>>>19&2047,n[i++]=(p>>>30|(m&511)<<2)&2047,n[i++]=m>>>9&2047,n[i++]=m>>>20&2047,n[i++]=(m>>>31|(h&1023)<<1)&2047,n[i++]=h>>>10&2047,n[i]=h>>>21&2047}function tb(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0;n[i++]=a>>>0&4095,n[i++]=a>>>12&4095,n[i++]=(a>>>24|(o&15)<<8)&4095,n[i++]=o>>>4&4095,n[i++]=o>>>16&4095,n[i++]=(o>>>28|(s&255)<<4)&4095,n[i++]=s>>>8&4095,n[i++]=s>>>20&4095,n[i++]=c>>>0&4095,n[i++]=c>>>12&4095,n[i++]=(c>>>24|(l&15)<<8)&4095,n[i++]=l>>>4&4095,n[i++]=l>>>16&4095,n[i++]=(l>>>28|(u&255)<<4)&4095,n[i++]=u>>>8&4095,n[i++]=u>>>20&4095,n[i++]=d>>>0&4095,n[i++]=d>>>12&4095,n[i++]=(d>>>24|(f&15)<<8)&4095,n[i++]=f>>>4&4095,n[i++]=f>>>16&4095,n[i++]=(f>>>28|(p&255)<<4)&4095,n[i++]=p>>>8&4095,n[i++]=p>>>20&4095,n[i++]=m>>>0&4095,n[i++]=m>>>12&4095,n[i++]=(m>>>24|(h&15)<<8)&4095,n[i++]=h>>>4&4095,n[i++]=h>>>16&4095,n[i++]=(h>>>28|(g&255)<<4)&4095,n[i++]=g>>>8&4095,n[i]=g>>>20&4095}function nb(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0,_=e[t+12]>>>0,v=e[t+13]>>>0,y=e[t+14]>>>0,b=e[t+15]>>>0;n[i++]=a>>>0&65535,n[i++]=a>>>16&65535,n[i++]=o>>>0&65535,n[i++]=o>>>16&65535,n[i++]=s>>>0&65535,n[i++]=s>>>16&65535,n[i++]=c>>>0&65535,n[i++]=c>>>16&65535,n[i++]=l>>>0&65535,n[i++]=l>>>16&65535,n[i++]=u>>>0&65535,n[i++]=u>>>16&65535,n[i++]=d>>>0&65535,n[i++]=d>>>16&65535,n[i++]=f>>>0&65535,n[i++]=f>>>16&65535,n[i++]=p>>>0&65535,n[i++]=p>>>16&65535,n[i++]=m>>>0&65535,n[i++]=m>>>16&65535,n[i++]=h>>>0&65535,n[i++]=h>>>16&65535,n[i++]=g>>>0&65535,n[i++]=g>>>16&65535,n[i++]=_>>>0&65535,n[i++]=_>>>16&65535,n[i++]=v>>>0&65535,n[i++]=v>>>16&65535,n[i++]=y>>>0&65535,n[i++]=y>>>16&65535,n[i++]=b>>>0&65535,n[i]=b>>>16&65535}function rb(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0;n[i++]=t>>>0&1,n[i++]=t>>>1&1,n[i++]=t>>>2&1,n[i++]=t>>>3&1,n[i++]=t>>>4&1,n[i++]=t>>>5&1,n[i++]=t>>>6&1,n[i++]=t>>>7&1,n[i++]=t>>>8&1,n[i++]=t>>>9&1,n[i++]=t>>>10&1,n[i++]=t>>>11&1,n[i++]=t>>>12&1,n[i++]=t>>>13&1,n[i++]=t>>>14&1,n[i++]=t>>>15&1,n[i++]=t>>>16&1,n[i++]=t>>>17&1,n[i++]=t>>>18&1,n[i++]=t>>>19&1,n[i++]=t>>>20&1,n[i++]=t>>>21&1,n[i++]=t>>>22&1,n[i++]=t>>>23&1,n[i++]=t>>>24&1,n[i++]=t>>>25&1,n[i++]=t>>>26&1,n[i++]=t>>>27&1,n[i++]=t>>>28&1,n[i++]=t>>>29&1,n[i++]=t>>>30&1,n[i++]=t>>>31&1}}function ib(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0;n[i++]=t>>>0&3,n[i++]=t>>>2&3,n[i++]=t>>>4&3,n[i++]=t>>>6&3,n[i++]=t>>>8&3,n[i++]=t>>>10&3,n[i++]=t>>>12&3,n[i++]=t>>>14&3,n[i++]=t>>>16&3,n[i++]=t>>>18&3,n[i++]=t>>>20&3,n[i++]=t>>>22&3,n[i++]=t>>>24&3,n[i++]=t>>>26&3,n[i++]=t>>>28&3,n[i++]=t>>>30&3,n[i++]=r>>>0&3,n[i++]=r>>>2&3,n[i++]=r>>>4&3,n[i++]=r>>>6&3,n[i++]=r>>>8&3,n[i++]=r>>>10&3,n[i++]=r>>>12&3,n[i++]=r>>>14&3,n[i++]=r>>>16&3,n[i++]=r>>>18&3,n[i++]=r>>>20&3,n[i++]=r>>>22&3,n[i++]=r>>>24&3,n[i++]=r>>>26&3,n[i++]=r>>>28&3,n[i++]=r>>>30&3}}function ab(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0;n[i++]=t>>>0&7,n[i++]=t>>>3&7,n[i++]=t>>>6&7,n[i++]=t>>>9&7,n[i++]=t>>>12&7,n[i++]=t>>>15&7,n[i++]=t>>>18&7,n[i++]=t>>>21&7,n[i++]=t>>>24&7,n[i++]=t>>>27&7,n[i++]=(t>>>30|(r&1)<<2)&7,n[i++]=r>>>1&7,n[i++]=r>>>4&7,n[i++]=r>>>7&7,n[i++]=r>>>10&7,n[i++]=r>>>13&7,n[i++]=r>>>16&7,n[i++]=r>>>19&7,n[i++]=r>>>22&7,n[i++]=r>>>25&7,n[i++]=r>>>28&7,n[i++]=(r>>>31|(o&3)<<1)&7,n[i++]=o>>>2&7,n[i++]=o>>>5&7,n[i++]=o>>>8&7,n[i++]=o>>>11&7,n[i++]=o>>>14&7,n[i++]=o>>>17&7,n[i++]=o>>>20&7,n[i++]=o>>>23&7,n[i++]=o>>>26&7,n[i++]=o>>>29&7}}function ob(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0;n[i++]=t>>>0&15,n[i++]=t>>>4&15,n[i++]=t>>>8&15,n[i++]=t>>>12&15,n[i++]=t>>>16&15,n[i++]=t>>>20&15,n[i++]=t>>>24&15,n[i++]=t>>>28&15,n[i++]=r>>>0&15,n[i++]=r>>>4&15,n[i++]=r>>>8&15,n[i++]=r>>>12&15,n[i++]=r>>>16&15,n[i++]=r>>>20&15,n[i++]=r>>>24&15,n[i++]=r>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15}}function sb(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0;n[i++]=t>>>0&31,n[i++]=t>>>5&31,n[i++]=t>>>10&31,n[i++]=t>>>15&31,n[i++]=t>>>20&31,n[i++]=t>>>25&31,n[i++]=(t>>>30|(r&7)<<2)&31,n[i++]=r>>>3&31,n[i++]=r>>>8&31,n[i++]=r>>>13&31,n[i++]=r>>>18&31,n[i++]=r>>>23&31,n[i++]=(r>>>28|(o&1)<<4)&31,n[i++]=o>>>1&31,n[i++]=o>>>6&31,n[i++]=o>>>11&31,n[i++]=o>>>16&31,n[i++]=o>>>21&31,n[i++]=o>>>26&31,n[i++]=(o>>>31|(s&15)<<1)&31,n[i++]=s>>>4&31,n[i++]=s>>>9&31,n[i++]=s>>>14&31,n[i++]=s>>>19&31,n[i++]=s>>>24&31,n[i++]=(s>>>29|(c&3)<<3)&31,n[i++]=c>>>2&31,n[i++]=c>>>7&31,n[i++]=c>>>12&31,n[i++]=c>>>17&31,n[i++]=c>>>22&31,n[i++]=c>>>27&31}}function cb(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0;n[i++]=t>>>0&63,n[i++]=t>>>6&63,n[i++]=t>>>12&63,n[i++]=t>>>18&63,n[i++]=t>>>24&63,n[i++]=(t>>>30|(r&15)<<2)&63,n[i++]=r>>>4&63,n[i++]=r>>>10&63,n[i++]=r>>>16&63,n[i++]=r>>>22&63,n[i++]=(r>>>28|(o&3)<<4)&63,n[i++]=o>>>2&63,n[i++]=o>>>8&63,n[i++]=o>>>14&63,n[i++]=o>>>20&63,n[i++]=o>>>26&63,n[i++]=s>>>0&63,n[i++]=s>>>6&63,n[i++]=s>>>12&63,n[i++]=s>>>18&63,n[i++]=s>>>24&63,n[i++]=(s>>>30|(c&15)<<2)&63,n[i++]=c>>>4&63,n[i++]=c>>>10&63,n[i++]=c>>>16&63,n[i++]=c>>>22&63,n[i++]=(c>>>28|(l&3)<<4)&63,n[i++]=l>>>2&63,n[i++]=l>>>8&63,n[i++]=l>>>14&63,n[i++]=l>>>20&63,n[i++]=l>>>26&63}}function lb(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;n[i++]=t>>>0&127,n[i++]=t>>>7&127,n[i++]=t>>>14&127,n[i++]=t>>>21&127,n[i++]=(t>>>28|(r&7)<<4)&127,n[i++]=r>>>3&127,n[i++]=r>>>10&127,n[i++]=r>>>17&127,n[i++]=r>>>24&127,n[i++]=(r>>>31|(o&63)<<1)&127,n[i++]=o>>>6&127,n[i++]=o>>>13&127,n[i++]=o>>>20&127,n[i++]=(o>>>27|(s&3)<<5)&127,n[i++]=s>>>2&127,n[i++]=s>>>9&127,n[i++]=s>>>16&127,n[i++]=s>>>23&127,n[i++]=(s>>>30|(c&31)<<2)&127,n[i++]=c>>>5&127,n[i++]=c>>>12&127,n[i++]=c>>>19&127,n[i++]=(c>>>26|(l&1)<<6)&127,n[i++]=l>>>1&127,n[i++]=l>>>8&127,n[i++]=l>>>15&127,n[i++]=l>>>22&127,n[i++]=(l>>>29|(u&15)<<3)&127,n[i++]=u>>>4&127,n[i++]=u>>>11&127,n[i++]=u>>>18&127,n[i++]=u>>>25&127}}function ub(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[i++]=t>>>0&255,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=r>>>0&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255}}function db(e,t,n,r){let i=r,a=t;for(let t=0;t<128;t++){let t=e[a++]>>>0;n[i++]=t&65535,n[i++]=t>>>16&65535}}function fb(e,t,n,r,i){let a=zy[i]>>>0,o=t,s=0,c=e[o]>>>0,l=r;for(let t=0;t<8;t++){for(let t=0;t<32;t++)if(s+i<=32){let r=c>>>s&a;n[l+t]=r|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let r=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=i-r,f=-1>>>32-d>>>0,p=(u|(c&f)<<r)&a;n[l+t]=p|0,s=d}l+=32,s=0,t<7&&(c=e[o]>>>0)}}var pb=Uy(By),mb=3*pb/256+pb|0;function hb(){let e=new Uint8Array(mb);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function gb(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:hb()}}function _b(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,t*2));return e.encodedWords=n,n}function vb(e,t,n,r){r.byteContainer.length<n&&(r.byteContainer=new Uint8Array(n*2),r.byteContainerI32=void 0);let i=r.byteContainer,a=n>>>2;if(i.byteOffset&3)for(let n=0;n<a;n=n+1|0){let r=e[t+n|0]|0,a=n<<2;i[a]=r&255,i[a+1|0]=r>>>8&255,i[a+2|0]=r>>>16&255,i[a+3|0]=r>>>24&255}else{let n=r.byteContainerI32;(!n||n.buffer!==i.buffer||n.byteOffset!==i.byteOffset||n.length<a)&&(n=r.byteContainerI32=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>>2)),n.set(e.subarray(t,t+a))}let o=n&3;if(o>0){let n=e[t+a|0]|0,r=a<<2;for(let e=0;e<o;e=e+1|0)i[r+e|0]=n>>>(e<<3)&255}return i}function yb(e,t,n){let r=e[t++]|0,i=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let o=e[t++]>>>0,s=Hy(o),c=o*a+31>>>5;if(t+c>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${o}, streamWordIndex=${t}, needWords=${c}, availableWords=${e.length-t}, encodedWords=${e.length})`);let l=i[a];(!l||l.length<s)&&(l=i[a]=new Uint32Array(s));let u=0;for(;u<o;u=u+32|0)kb(e,t,l,u,a),t=t+a|0;let d=u-o|0;t=t-(d*a>>>5)|0,n.exceptionSizes[a]=o}return t}function bb(e,t,n,r,i){switch(i){case 1:rb(e,t,n,r);break;case 2:ib(e,t,n,r);break;case 3:ab(e,t,n,r);break;case 4:ob(e,t,n,r);break;case 5:sb(e,t,n,r);break;case 6:cb(e,t,n,r);break;case 7:lb(e,t,n,r);break;case 8:ub(e,t,n,r);break;case 16:db(e,t,n,r);break;default:fb(e,t,n,r,i)}return t+(i<<3)|0}function xb(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let i=e[n++],a=e[n++];if(i>32)throw Error(`FastPFOR decode: invalid bitWidth=${i} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:i,exceptionCount:a,bytePosIn:n}}function Sb(e,t,n,r,i,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let o=e[n++];if(o<r||o>32)throw Error(`FastPFOR decode: invalid maxBits=${o} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=o-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${o})`);if(n+i>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${i}, have=${t-n})`);return{maxBits:o,exceptionBitWidth:s,bytePosIn:n}}function Cb(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=Sb(i,a,o,n,r,c);if(o=d,u===1){let a=1<<n;for(let n=0;n<r;n=n+1|0){let n=i[o++];e[n+t|0]|=a}return o}let f=s.dataToBePacked[u];if(!f)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${l}) at block ${c}`);let p=s.dataPointers,m=p[u]|0,h=s.exceptionSizes[u]|0;if(m+r>h)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${h}) at block ${c}`);for(let a=0;a<r;a=a+1|0){let r=i[o++],a=f[m++]|0;e[r+t|0]|=a<<n}return p[u]=m,o}function wb(e,t,n,r,i,a,o,s,c,l){let u=n|0,d=0;for(let t=0;t<o;t=t+1|0){let n=xb(s,c,d,t);d=n.bytePosIn;let r=n.bitWidth,o=n.exceptionCount,f=a+t*256|0;switch(r){case 0:i.fill(0,f,f+256);break;case 32:for(let t=0;t<256;t=t+1|0)i[f+t|0]=e[u+t|0]|0;u=u+256|0;break;default:u=bb(e,u,i,f,r)}o>0&&(d=Cb(i,f,r,o,s,c,d,l,t))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}function Tb(e,t,n,r,i,a){let o=n|0,s=e[o]|0;if(s<=0||o+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${o} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let c=o+1|0,l=o+s|0,u=e[l]>>>0,d=u+3>>>2,f=l+1,p=f+d;if(p>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${o}, packedEnd=${l}, byteContainerStart=${f}) causes bitmapPos=${p} out of bounds (encoded.length=${e.length})`);let m=vb(e,f,u,a),h=u,g=yb(e,p,a);return a.dataPointers.fill(0),wb(e,o,c,l,t,r|0,i/256|0,m,h,a),g}function Eb(e,t,n,r,i,a){let o=r+Vy(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(pb,o-s);c=Tb(e,t,c,s,n,a),s=s+n|0}return c}function Db(e,t,n,r,i,a){if(a===0)return t;let o=0,s=t,c=t+n,l=i,u=i,d=i+a,f=0,p=0;for(;s<c&&u<d;){let t=e[s]>>>o&255;if(o+=8,s+=o>>>5,o&=31,f|=(t&127)<<p,t&128)r[u++]=f|0,f=0,p=0;else if(p+=7,p>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${p}, partial=${f}, decoded=${u-l}/${a}, inPos=${s}, inEnd=${c})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-l}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${c})`);return s}function Ob(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??hb();if(e.length>0){let t=e[r]|0;if(r=r+1|0,t&255)throw Error(`FastPFOR decode: invalid alignedLength=${t} (expected multiple of 256)`);if(i+t>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${i}, alignedLength=${t}, out.length=${a.length})`);r=Eb(e,a,r,i,t,o),i=i+t|0}let s=e.length-r|0,c=t-i|0;return Db(e,r,s,a,i,c),a}function kb(e,t,n,r,i){switch(i){case 2:Gy(e,t,n,r);return;case 3:Ky(e,t,n,r);return;case 4:qy(e,t,n,r);return;case 5:Jy(e,t,n,r);return;case 6:Yy(e,t,n,r);return;case 7:Xy(e,t,n,r);return;case 8:Zy(e,t,n,r);return;case 9:Qy(e,t,n,r);return;case 10:$y(e,t,n,r);return;case 11:eb(e,t,n,r);return;case 12:tb(e,t,n,r);return;case 16:nb(e,t,n,r);return;case 32:for(let i=0;i<32;i=i+1|0)n[r+i|0]=e[t+i|0]|0;return}let a=zy[i]>>>0,o=t,s=0,c=e[o]>>>0;for(let t=0;t<32;t++)if(s+i<=32){let l=c>>>s&a;n[r+t]=l|0,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0))}else{let l=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=zy[i-l]>>>0,f=(u|(c&d)<<l)&a;n[r+t]=f|0,s=i-l}}function Ab(e,t,n,r){if(t<0||n<0||t+n>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let i=Math.floor(n/4),a=n%4!=0,o=a?i+1:i;if(r.length<o)throw RangeError(`decodeBigEndianInt32sInto: out.length=${r.length} < ${o}`);if(i>0){let n=e.byteOffset+t;if(n&3)for(let n=0;n<i;n++){let i=t+n*4;r[n]=e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]|0}else{let t=new Uint32Array(e.buffer,n,i);for(let e=0;e<i;e++)r[e]=Wy(t[e])|0}}if(a){let a=t+i*4,o=n-i*4,s=0;for(let t=0;t<o;t++)s|=e[a+t]<<24-t*8;r[i]=s|0}return o}function jb(e,t,n){let r=new Uint32Array(n),i=0,a=t.get();for(let t=0;t<r.length;t++){let t=e[a++],n=t&127;if(t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<7,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<14,t<128){r[i++]=n;continue}if(t=e[a++],n|=(t&127)<<21,t<128){r[i++]=n;continue}t=e[a++],n|=(t&15)<<28,r[i++]=n}return t.set(a),r}function Mb(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=Nb(e,t);return r}function Nb(e,t){let n=0n,r=0,i=t.get();for(;i<e.length;){let t=e[i++];if(n|=BigInt(t&127)<<BigInt(r),!(t&128))break;if(r+=7,r>=64)throw Error(`Varint too long`)}return t.set(i),n}function Pb(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=Fb(e,t);return r}function Fb(e,t){let n,r;return r=e[t.get()],t.increment(),n=r&127,r<128||(r=e[t.get()],t.increment(),n|=(r&127)<<7,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<14,r<128)||(r=e[t.get()],t.increment(),n|=(r&127)<<21,r<128)?n:(r=e[t.get()],n|=(r&15)<<28,Ib(n,e,t))}function Ib(e,t,n){let r,i;if(i=t[n.get()],n.increment(),r=(i&112)>>4,i<128||(i=t[n.get()],n.increment(),r|=(i&127)<<3,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<10,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<17,i<128)||(i=t[n.get()],n.increment(),r|=(i&127)<<24,i<128)||(i=t[n.get()],n.increment(),r|=(i&1)<<31,i<128))return r*4294967296+(e>>>0);throw Error(`Expected varint not more than 10 bytes`)}function Lb(e,t,n,r){return Rb(e,t,n,r,gb(n>>>2))}function Rb(e,t,n,r,i){let a=r.get();if(n&3)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let o=n>>>2,s=_b(i,o);Ab(e,a,n,s);let c=Ob(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}function zb(e){return e>>>1^-(e&1)}function Bb(e){return e>>1n^-(e&1n)}function Vb(e){return e%2==1?(e+1)/-2:e/2}function Hb(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=zb(e[n]);return t}function Ub(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=Bb(e[n]);return t}function Wb(e){for(let t=0;t<e.length;t++)e[t]=Vb(e[t])}function Gb(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Uint32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function Kb(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigUint64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function qb(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];r.fill(o,i,i+a),i+=a}return r}function Jb(e){let t=new Int32Array(e.length);t[0]=zb(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=zb(n)+t[r-1],t[r+1]=zb(i)+t[r],t[r+2]=zb(a)+t[r+1],t[r+3]=zb(o)+t[r+2]}for(;r!==e.length;++r)t[r]=zb(e[r])+t[r-1];return t}function Yb(e){let t=new BigInt64Array(e.length);t[0]=Bb(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=Bb(n)+t[r-1],t[r+1]=Bb(i)+t[r],t[r+2]=Bb(a)+t[r+1],t[r+3]=Bb(o)+t[r+2]}for(;r!==t.length;++r)t[r]=Bb(e[r])+t[r-1];return t}function Xb(e){e[0]=Vb(e[0]);let t=e.length/4*4,n=1;if(t>=4)for(;n<t-4;n+=4){let t=e[n],r=e[n+1],i=e[n+2],a=e[n+3];e[n]=Vb(t)+e[n-1],e[n+1]=Vb(r)+e[n],e[n+2]=Vb(i)+e[n+1],e[n+3]=Vb(a)+e[n+2]}for(;n!==e.length;++n)e[n]=Vb(e[n])+e[n-1]}function Zb(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Int32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=zb(o),r.fill(o,i,i+a),i+=a}return r}function Qb(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigInt64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];o=Bb(o),r.fill(o,i,i+a),i+=a}return r}function $b(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=Vb(o),r.fill(o,i,i+a),i+=a}return r}function ex(e){let t=e.length/4*4,n=1;if(t>=4)for(let r=e[0];n<t-4;n+=4)r=e[n]+=r,r=e[n+1]+=r,r=e[n+2]+=r,r=e[n+3]+=r;for(;n!==e.length;)e[n]+=e[n-1],++n}function tx(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]}function nx(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=zb(e[0]),t[1]=zb(e[1]);let n=e.length/4*4,r=2;if(n>=4)for(;r<n-4;r+=4){let n=e[r],i=e[r+1],a=e[r+2],o=e[r+3];t[r]=zb(n)+t[r-2],t[r+1]=zb(i)+t[r-1],t[r+2]=zb(a)+t[r],t[r+3]=zb(o)+t[r+1]}for(;r!==e.length;r+=2)t[r]=zb(e[r])+t[r-2],t[r+1]=zb(e[r+1])+t[r-1];return t}function rx(e,t,n,r){if(e.length<2)return new Int32Array(e);let i=new Int32Array(e.length),a=zb(e[0]),o=zb(e[1]);i[0]=ix(Math.round(a*t),n,r),i[1]=ix(Math.round(o*t),n,r);let s=e.length/16,c=2;if(s>=4)for(;c<s-4;c+=4){let s=e[c],l=e[c+1],u=zb(s)+a,d=zb(l)+o;i[c]=ix(Math.round(u*t),n,r),i[c+1]=ix(Math.round(d*t),n,r);let f=e[c+2],p=e[c+3];a=zb(f)+u,o=zb(p)+d,i[c+2]=ix(Math.round(a*t),n,r),i[c+3]=ix(Math.round(o*t),n,r)}for(;c!==e.length;c+=2)a+=zb(e[c]),o+=zb(e[c+1]),i[c]=ix(Math.round(a*t),n,r),i[c+1]=ix(Math.round(o*t),n,r);return i}function ix(e,t,n){return Math.min(n,Math.max(t,e))}function ax(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=zb(e[0]);let n=t[1];for(let r=2;r!==t.length;++r){let i=e[r-1],a=zb(i);n+=a,t[r]=t[r-1]+n}return new Uint32Array(t)}function ox(e,t,n){let r=new Int32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];s=zb(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function sx(e,t,n){let r=new Uint32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}function cx(e,t,n){let r=new Int32Array(n),i=0,a=0;for(let n=0;n<t;n++){let o=e[n],s=e[n+t],c=zb(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function lx(e,t,n){let r=new BigInt64Array(n),i=0,a=0n;for(let n=0;n<t;n++){let o=Number(e[n]),s=e[n+t],c=Bb(s);for(let e=0;e<o;e++)a+=c,r[i++]=a}return r}function ux(e){let t=new Uint32Array(e.length);t[0]=zb(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+zb(e[n])>>>0;return t}function dx(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,Bb(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+Bb(e[n]));return t}function fx(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=zb(e[0])>>>0,t[1]=zb(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+zb(e[n])>>>0,t[n+1]=t[n-1]+zb(e[n+1])>>>0;return t}function px(e,t,n,r){let i=rx(e,t,n,r);return new Uint32Array(i)}function mx(e){return e[1]}function hx(e){return zb(e[1])}function gx(e){if(e.length===2){let t=zb(e[1]);return[t,t]}return[zb(e[2]),zb(e[3])]}function _x(e){return e[1]}function vx(e){return Bb(e[1])}function yx(e){if(e.length===2){let t=Bb(e[1]);return[t,t]}return[Bb(e[2]),Bb(e[3])]}var bx;(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(bx||={});var xx;(function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`})(xx||={});var Sx;(function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`})(Sx||={});var Cx;(function(e){e.VAR_BINARY=`VAR_BINARY`,e.GEOMETRIES=`GEOMETRIES`,e.PARTS=`PARTS`,e.RINGS=`RINGS`,e.TRIANGLES=`TRIANGLES`,e.SYMBOL=`SYMBOL`,e.DICTIONARY=`DICTIONARY`})(Cx||={});var wx=[bx.PRESENT,bx.DATA,bx.OFFSET,bx.LENGTH],Tx=[Z.NONE,Z.DELTA,Z.COMPONENTWISE_DELTA,Z.RLE,Z.MORTON],Ex=[Ly.NONE,Ly.FAST_PFOR,Ly.VARINT],Dx=[xx.NONE,xx.SINGLE,xx.SHARED,xx.VERTEX,xx.MORTON,xx.FSST],Ox=[Sx.VERTEX,Sx.INDEX,Sx.STRING,Sx.KEY],kx=[Cx.VAR_BINARY,Cx.GEOMETRIES,Cx.PARTS,Cx.RINGS,Cx.TRIANGLES,Cx.SYMBOL,Cx.DICTIONARY];function Ax(e,t){let n=Nx(e,t);return n.logicalLevelTechnique1===Z.MORTON?jx(n,e,t):(Z.RLE===n.logicalLevelTechnique1||Z.RLE===n.logicalLevelTechnique2)&&Ly.NONE!==n.physicalLevelTechnique?Mx(n,e,t):n}function jx(e,t,n){let r=jb(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:r[0],coordinateShift:r[1]}}function Mx(e,t,n){let r=jb(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}function Nx(e,t){let n=e[t.get()],r=wx[n>>4],i={};switch(r){case bx.DATA:i={dictionaryType:Dx[n&15]};break;case bx.OFFSET:i={offsetType:Ox[n&15]};break;case bx.LENGTH:i={lengthType:kx[n&15]}}t.increment();let a=e[t.get()],o=Tx[a>>5],s=Tx[a>>2&7],c=Ex[a&3];t.increment();let l=jb(e,t,2),u=l[0],d=l[1];return{physicalStreamType:r,logicalStreamType:i,logicalLevelTechnique1:o,logicalLevelTechnique2:s,physicalLevelTechnique:c,numValues:u,byteLength:d,decompressedCount:u}}var Px;(function(e){e[e.FLAT=0]=`FLAT`,e[e.CONST=1]=`CONST`,e[e.SEQUENCE=2]=`SEQUENCE`,e[e.DICTIONARY=3]=`DICTIONARY`,e[e.FSST_DICTIONARY=4]=`FSST_DICTIONARY`})(Px||={});var Fx=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),n=e%8;return(this.values[t]>>n&1)==1}set(e,t){let n=Math.floor(e/8),r=e%8;this.values[n]=this.values[n]|+!!t<<r}getInt(e){let t=Math.floor(e/8),n=e%8;return this.values[t]>>n&1}size(){return this._size}getBuffer(){return this.values}};function Ix(e,t,n){if(!t)return e;let r=t.size(),i=e.constructor,a=new i(r),o=0;for(let i=0;i<r;i++)a[i]=t.get(i)?e[o++]:n;return a}function Lx(e,t,n){if(!n)return e;let r=n.size(),i=new Fx(e,t),a=new Fx(new Uint8Array(Math.ceil(r/8)),r),o=0;for(let e=0;e<r;e++){let t=n.get(e)?i.get(o++):!1;a.set(e,t)}return a.getBuffer()}function Rx(e,t,n){for(let r=0;r<e;r++){let e=Ax(t,n);n.add(e.byteLength)}}function zx(e,t,n,r,i){let a=Bx(e,Math.ceil(t/8),n,r);return i?Lx(a,t,i):a}function Bx(e,t,n,r){let i=new Uint8Array(t),a=0,o=r.get()+n;for(;a<t&&!(r.get()>=o);){let n=e[r.increment()];if(n<=127){let o=n+3,s=e[r.increment()],c=Math.min(a+o,t);i.fill(s,a,c),a=c}else{let o=256-n;for(let n=0;n<o&&a<t;n++)i[a++]=e[r.increment()]}}return r.set(o),i}function Vx(e,t,n,r){let i=t.get(),a=i+n*Float32Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float32Array(o);return t.set(a),r?Ix(s,r,0):s}function Hx(e,t,n,r){let i=t.get(),a=i+n*Float64Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float64Array(o);return t.set(a),r?Ix(s,r,0):s}function Ux(e,t,n){let r=t.get(),i=n*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new Uint32Array(n);for(let e=0;e<n;e++)o[e]=a.getUint32(r+e*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}function Wx(e,t,n){let r=t.get(),i=n*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),o=new BigUint64Array(n);for(let e=0;e<n;e++)o[e]=a.getBigUint64(r+e*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(i),o}var Gx=new TextDecoder;function Kx(e,t,n){return n-t>=12?Gx.decode(e.subarray(t,n)):qx(e,t,n)}function qx(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o>n)break;let s,c,l;o===1?t<128&&(a=t):o===2?(s=e[i+1],(s&192)==128&&(a=(t&31)<<6|s&63,a<=127&&(a=null))):o===3?(s=e[i+1],c=e[i+2],(s&192)==128&&(c&192)==128&&(a=(t&15)<<12|(s&63)<<6|c&63,(a<=2047||a>=55296&&a<=57343)&&(a=null))):o===4&&(s=e[i+1],c=e[i+2],l=e[i+3],(s&192)==128&&(c&192)==128&&(l&192)==128&&(a=(t&15)<<18|(s&63)<<12|(c&63)<<6|l&63,(a<=65535||a>=1114112)&&(a=null))),a===null?(a=65533,o=1):a>65535&&(a-=65536,r+=String.fromCharCode(a>>>10&1023|55296),a=56320|a&1023),r+=String.fromCharCode(a),i+=o}return r}function Jx(e,t,n,r,i){return lS(Zx(e,t,n),n,r,i)}function Yx(e,t,n,r,i){return uS(Zx(e,t,n),n,r,i)}function Xx(e,t,n){return mS(Zx(e,t,n),n)}function Zx(e,t,n){let r=n.physicalLevelTechnique;switch(r){case Ly.FAST_PFOR:return Lb(e,n.numValues,n.byteLength,t);case Ly.VARINT:return jb(e,t,n.numValues);case Ly.NONE:return Ux(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Qx(e,t,n){let r=n.physicalLevelTechnique;switch(r){case Ly.VARINT:return Mb(e,t,n.numValues);case Ly.NONE:return Wx(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function $x(e,t,n){let r=Zx(e,t,n);return r.length===1?zb(r[0]):hx(r)}function eS(e,t,n){let r=Zx(e,t,n);return r.length===1?n.logicalLevelTechnique1===Z.DELTA?zb(r[0]):r[0]:mx(r)}function tS(e,t,n){return gx(Zx(e,t,n))}function nS(e,t,n){return yx(Mb(e,t,n.numValues))}function rS(e,t,n,r){return dS(Qx(e,t,n),n,r)}function iS(e,t,n,r){return fS(Qx(e,t,n),n,r)}function aS(e,t,n,r){let i=oS(e,t,n,!1);return r?Ix(i,r,0):i}function oS(e,t,n,r){if(n.physicalLevelTechnique===Ly.VARINT)return pS(Pb(e,t,n.numValues),n,r);let i=Qx(e,t,n),a=r?dS(i,n):fS(i,n);return Float64Array.from(a,Number)}function sS(e,t,n){let r=Qx(e,t,n);return r.length===1?Bb(r[0]):vx(r)}function cS(e,t,n){let r=Qx(e,t,n);return r.length===1?n.logicalLevelTechnique1===Z.DELTA?Bb(r[0]):r[0]:_x(r)}function lS(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;if(!r)return cx(e,n.runs,n.numRleValues);e=Gb(e,n.runs,n.numRleValues),i=Jb(e)}else i=Jb(e);break;case Z.RLE:i=Zb(e,t.runs,t.numRleValues);break;case Z.MORTON:ex(e),i=new Int32Array(e);break;case Z.COMPONENTWISE_DELTA:if(n&&!r)return rx(e,n.scale,n.min,n.max);i=nx(e);break;case Z.NONE:i=Hb(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Ix(i,r,0):i}function uS(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;i=ux(Gb(e,n.runs,n.numRleValues))}else i=ux(e);break;case Z.RLE:i=Gb(e,t.runs,t.numRleValues);break;case Z.MORTON:ex(e),i=e;break;case Z.COMPONENTWISE_DELTA:i=n&&!r?px(e,n.scale,n.min,n.max):fx(e);break;case Z.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Ix(i,r,0):i}function dS(e,t,n){let r;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let i=t;if(!n)return lx(e,i.runs,i.numRleValues);e=Kb(e,i.runs,i.numRleValues),r=Yb(e)}else r=Yb(e);break;case Z.RLE:r=Qb(e,t.runs,t.numRleValues);break;case Z.NONE:r=Ub(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Ix(r,n,0n):r}function fS(e,t,n){let r;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;r=dx(Kb(e,n.runs,n.numRleValues))}else r=dx(e);break;case Z.RLE:r=Kb(e,t.runs,t.numRleValues);break;case Z.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Ix(r,n,0n):r}function pS(e,t,n){switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;e=qb(e,n.runs,n.numRleValues)}return Xb(e),e;case Z.RLE:return _S(e,t,n);case Z.NONE:return n&&Wb(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function mS(e,t){if(t.logicalLevelTechnique1===Z.DELTA&&t.logicalLevelTechnique2===Z.NONE)return ax(e);if(t.logicalLevelTechnique1===Z.RLE&&t.logicalLevelTechnique2===Z.NONE){let n=t;return sx(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===Z.NONE&&t.logicalLevelTechnique2===Z.NONE){tx(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===Z.DELTA&&t.logicalLevelTechnique2===Z.RLE){let n=t,r=ox(e,n.runs,n.numRleValues);return ex(r),new Uint32Array(r)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}function hS(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===Z.RLE)return e.runs===1?Px.CONST:Px.FLAT;if(a!==Z.DELTA||e.logicalLevelTechnique2!==Z.RLE)return e.numValues===1?Px.CONST:Px.FLAT;let o=t instanceof Fx?t.size():t,s=e;if(s.numRleValues!==o)return Px.FLAT;if(s.runs===1)return Px.SEQUENCE;if(s.runs!==2)return e.numValues===1?Px.CONST:Px.FLAT;let c=r.get();if(e.physicalLevelTechnique===Ly.VARINT)return gS(n,r,i)?Px.SEQUENCE:e.numValues===1?Px.CONST:Px.FLAT;let l=r.get(),u=new Int32Array(n.buffer,n.byteOffset+l,4);return r.set(c),u[2]===2&&u[3]===2?Px.SEQUENCE:e.numValues===1?Px.CONST:Px.FLAT}function gS(e,t,n){let r=new Iy(t.get());if(n===`int64`){let t=Mb(e,r,4);return t[2]===2n&&t[3]===2n}let i=jb(e,r,4);return i[2]===2&&i[3]===2}function _S(e,t,n){return n?$b(e,t.runs,t.numRleValues):qb(e,t.runs,t.numRleValues)}var vS=class extends Ty{getValueFromBuffer(e){return this.dataBuffer[e]}},yS=class extends Oy{constructor(e,t,n,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};function bS(e,t,n){return{x:xS(e,t)-n,y:xS(e>>1,t)-n}}function xS(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}var SS;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`,e[e.MULTIPOINT=3]=`MULTIPOINT`,e[e.MULTILINESTRING=4]=`MULTILINESTRING`,e[e.MULTIPOLYGON=5]=`MULTIPOLYGON`})(SS||={});var CS;(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`})(CS||={});var wS;(function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`})(wS||={});function TS(e){let t=Array(e.numGeometries),n=1,r=1,i=1,a=0,o=0,s=0,c=e.mortonSettings,l=e.topologyVector,u=l.geometryOffsets,d=l.partOffsets,f=l.ringOffsets,p=e.vertexOffsets,m=!p||p.length===0,h=e.containsPolygonGeometry(),g=e.vertexBuffer;for(let l=0;l<e.numGeometries;l++){let _=e.geometryType(l);switch(_){case SS.POINT:{let l,h;if(m)l=g[o++],h=g[o++];else if(e.vertexBufferType===wS.MORTON){let e=g[p[s++]],t=bS(e,c.numBits,c.coordinateShift);l=t.x,h=t.y}else{let e=p[s++]*2;l=g[e],h=g[e+1]}t[a++]=[[new M(l,h)]],u&&i++,d&&n++,f&&r++}break;case SS.MULTIPOINT:{let l=u[i]-u[i-1];i++;let d;if(m){d=Array(l);for(let e=0;e<l;e++){let t=g[o++],n=g[o++];d[e]=new M(t,n)}}else d=ES(e.vertexBufferType,g,p,s,l,!1,c),s+=l;t[a++]=d.map(e=>[e]),n+=l,r+=l}break;case SS.LINESTRING:{let l;h?(l=f[r]-f[r-1],r++):l=d[n]-d[n-1],n++;let _;m?(_=DS(g,o,l,!1),o+=l*2):(_=ES(e.vertexBufferType,g,p,s,l,!1,c),s+=l),t[a++]=[_],u&&i++}break;case SS.POLYGON:{let l=d[n]-d[n-1];n++;let h=Array(l-1),_,v=f[r]-f[r-1];if(r++,m){_=DS(g,o,v,!0),o+=v*2;for(let e=0;e<h.length;e++)v=f[r]-f[r-1],r++,h[e]=DS(g,o,v,!0),o+=v*2}else{_=ES(e.vertexBufferType,g,p,s,v,!0,c),s+=v;for(let t=0;t<h.length;t++)v=f[r]-f[r-1],r++,h[t]=ES(e.vertexBufferType,g,p,s,v,!0,c),s+=v}t[a++]=[_].concat(h),u&&i++}break;case SS.MULTILINESTRING:{let l=u[i]-u[i-1];i++;let _=Array(l);for(let t=0;t<l;t++){let i;if(h?(i=f[r]-f[r-1],r++):i=d[n]-d[n-1],n++,m)_[t]=DS(g,o,i,!1),o+=i*2;else{let n=ES(e.vertexBufferType,g,p,s,i,!1,c);_[t]=n,s+=i}}t[a++]=_}break;case SS.MULTIPOLYGON:{let l=u[i]-u[i-1];i++;let h=Array(l);for(let t=0;t<l;t++){let i=d[n]-d[n-1];n++;let a,l=Array(i-1),u=f[r]-f[r-1];r++,m?(a=DS(g,o,u,!0),o+=u*2):(a=ES(e.vertexBufferType,g,p,s,u,!0,c),s+=u);for(let t=0;t<l.length;t++){let n=f[r]-f[r-1];r++,m?(l[t]=DS(g,o,n,!0),o+=n*2):(l[t]=ES(e.vertexBufferType,g,p,s,n,!0,c),s+=n)}h[t]=[a].concat(l)}t[a++]=h.flat()}break;default:throw Error(`The specified geometry type (${_}) is currently not supported.`)}}return t}function ES(e,t,n,r,i,a,o){return e===wS.MORTON?kS(t,n,r,i,a,o):OS(t,n,r,i,a)}function DS(e,t,n,r){let i=Array(r?n+1:n);for(let r=0;r<n*2;r+=2){let n=e[t+r],a=e[t+r+1];i[r/2]=new M(n,a)}return r&&(i[i.length-1]=i[0]),i}function OS(e,t,n,r,i){let a=Array(i?r+1:r);for(let i=0;i<r*2;i+=2){let r=t[n+i/2]*2,o=e[r],s=e[r+1];a[i/2]=new M(o,s)}return i&&(a[a.length-1]=a[0]),a}function kS(e,t,n,r,i,a){let o=Array(i?r+1:r);for(let i=0;i<r;i++){let r=e[t[n+i]],s=bS(r,a.numBits,a.coordinateShift);o[i]=new M(s.x,s.y)}return i&&(o[o.length-1]=o[0]),o}var AS=class{constructor(e,t,n,r,i){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=i}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let t=this.vertexOffsets[e],n=this.vertexBuffer[t],r=bS(n,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[r.x,r.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return TS(this)}get mortonSettings(){return this._mortonSettings}};function jS(e,t,n,r,i){return new NS(e,t,wS.VEC_2,n,r,i)}function MS(e,t,n,r,i,a){return new NS(e,t,wS.MORTON,n,r,i,a)}var NS=class extends AS{constructor(e,t,n,r,i,a,o){super(n,r,i,a,o),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===SS.POLYGON||this._geometryType===SS.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function PS(e,t,n,r){return new IS(wS.VEC_2,e,t,n,r)}function FS(e,t,n,r,i){return new IS(wS.MORTON,e,t,n,r,i)}var IS=class extends AS{constructor(e,t,n,r,i,a){super(e,n,r,i,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===SS.POLYGON||this.geometryType(e)===SS.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},LS=class{constructor(e,t,n,r){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=n,this._topologyVector=r}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error(`Cannot convert GpuVector to coordinates without topology information`);let e=new Uint32Array(this.numGeometries);for(let t=0;t<this.numGeometries;t++)e[t]=this.geometryType(t);return PS(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function RS(e,t,n,r,i,a){return new zS(e,t,n,r,i,a)}var zS=class extends LS{constructor(e,t,n,r,i,a){super(n,r,i,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}};function BS(e,t,n,r,i){return new VS(e,t,n,r,i)}var VS=class extends LS{constructor(e,t,n,r,i){super(t,n,r,i),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}};function HS(e,t,n,r,i){let a=Ax(e,n),o=hS(a,r,e,n),s,c,l,u;if(o===Px.CONST){let o=eS(e,n,a),d,f,p,m;for(let r=0;r<t-1;r++){let t=Ax(e,n);switch(t.physicalStreamType){case bx.LENGTH:switch(t.logicalStreamType.lengthType){case Cx.GEOMETRIES:d=Xx(e,n,t);break;case Cx.PARTS:f=Xx(e,n,t);break;case Cx.RINGS:p=Xx(e,n,t);break;case Cx.TRIANGLES:m=Xx(e,n,t)}break;case bx.OFFSET:switch(t.logicalStreamType.offsetType){case Sx.VERTEX:s=Yx(e,n,t);break;case Sx.INDEX:u=Yx(e,n,t)}break;case bx.DATA:if(xx.VERTEX===t.logicalStreamType.dictionaryType)c=Jx(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Yx(e,n,t,i)}}}return u?d!==void 0||f!==void 0?RS(r,o,m,u,c,{geometryOffsets:d,partOffsets:f,ringOffsets:p}):RS(r,o,m,u,c):l===void 0?jS(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c):MS(r,o,{geometryOffsets:d,partOffsets:f,ringOffsets:p},s,c,l)}let d=Yx(e,n,a),f,p,m,h;for(let r=0;r<t-1;r++){let t=Ax(e,n);switch(t.physicalStreamType){case bx.LENGTH:switch(t.logicalStreamType.lengthType){case Cx.GEOMETRIES:f=Yx(e,n,t);break;case Cx.PARTS:p=Yx(e,n,t);break;case Cx.RINGS:m=Yx(e,n,t);break;case Cx.TRIANGLES:h=Xx(e,n,t)}break;case bx.OFFSET:switch(t.logicalStreamType.offsetType){case Sx.VERTEX:s=Yx(e,n,t);break;case Sx.INDEX:u=Yx(e,n,t)}break;case bx.DATA:if(xx.VERTEX===t.logicalStreamType.dictionaryType)c=Jx(e,n,t,i);else{let r=t;l={numBits:r.numBits,coordinateShift:r.coordinateShift},c=Yx(e,n,t,i)}}}let g,_,v;return f?(g=US(d,f,2),p&&m?(_=WS(d,g,p,!1),v=KS(d,g,_,m)):p&&(_=GS(d,g,p))):p&&m?(_=US(d,p,1),v=WS(d,_,m,!0)):p&&(_=US(d,p,0)),u&&!_?BS(d,h,u,c):u?BS(d,h,u,c,{geometryOffsets:g,partOffsets:_,ringOffsets:v}):l===void 0?PS(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c):FS(d,{geometryOffsets:g,partOffsets:_,ringOffsets:v},s,c,l)}function US(e,t,n){let r=new Uint32Array(e.length+1),i=0;r[0]=i;let a=0;for(let o=0;o<e.length;o++)i=r[o+1]=i+(e[o]>n?t[a++]:1);return r}function WS(e,t,n,r){let i=new Uint32Array(t[t.length-1]+1),a=0;i[0]=a;let o=1,s=0;for(let c=0;c<e.length;c++){let l=e[c],u=t[c+1]-t[c];if(l===5||l===2||r&&(l===4||l===1))for(let e=0;e<u;e++)a=i[o++]=a+n[s++];else for(let e=0;e<u;e++)i[o++]=++a}return i}function GS(e,t,n){let r=new Uint32Array(t[t.length-1]+1),i=0;r[0]=i;let a=1,o=0;for(let s=0;s<e.length;s++){let c=e[s],l=t[s+1]-t[s];if(c===4||c===1)for(let e=0;e<l;e++)i=r[a++]=i+n[o++];else for(let e=0;e<l;e++)r[a++]=++i}return r}function KS(e,t,n,r){let i=new Uint32Array(n[n.length-1]+1),a=0;i[0]=a;let o=1,s=1,c=0;for(let l=0;l<e.length;l++){let u=e[l],d=t[l+1]-t[l];if(u!==0&&u!==3)for(let e=0;e<d;e++){let e=n[o]-n[o-1];o++;for(let t=0;t<e;t++)a=i[s++]=a+r[c++]}else for(let e=0;e<d;e++)i[s++]=++a,o++}return i}var qS=class extends wy{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},JS=class extends Ty{getValueFromBuffer(e){return this.dataBuffer[e]}},YS=class extends wy{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},XS=class extends wy{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}},ZS=class extends XS{constructor(e,t,n,r){super(e,t,n,r??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],n=this.offsetBuffer[e+1];return Kx(this.dataBuffer,t,n)}},QS=class extends XS{constructor(e,t,n,r,i){super(e,n,r,i??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return Kx(this.dataBuffer,n,r)}};function $S(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];i===255?(n++,r++):n+=e[i]}return n}function eC(e,t,n){let r=new Uint32Array(t.length);for(let e=1;e<t.length;e++)r[e]=r[e-1]+t[e-1];let i=new Uint8Array($S(t,n)),a=0;for(let o=0;o<n.length;o++){let s=n[o];if(s===255)o++,i[a++]=n[o];else{let n=t[s],o=r[s];for(;n-->0;)i[a++]=e[o++]}}return i}var tC=class extends XS{constructor(e,t,n,r,i,a,o,s){super(e,n,r,o??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=i,this.symbolTableBuffer=a,this.sharedDictionaryCache=s}getValueFromBuffer(e){this.decodedDictionary??(this.decodedDictionary=this.sharedDictionaryCache?.decodedDictionary,this.decodedDictionary??(this.decodedDictionary=this.decodeDictionary(),this.sharedDictionaryCache&&(this.sharedDictionaryCache.decodedDictionary=this.decodedDictionary)));let t=this.indexBuffer[e],n=this.offsetBuffer[t],r=this.offsetBuffer[t+1];return Kx(this.decodedDictionary,n,r)}decodeDictionary(){return this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),eC(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t[r-1]=i-n,n=i}return t}};function nC(e,t,n,r,i){let a,o,s,c,l,u=i,d,f;for(let e=0;e<r;e++){let e=Ax(t,n);switch(e.physicalStreamType){case bx.PRESENT:{let r=new Fx(zx(t,e.numValues,e.byteLength,n),e.numValues);u=i??r;break}case bx.OFFSET:o=Yx(t,n,e,void 0,u);break;case bx.LENGTH:{let r=Xx(t,n,e);Cx.DICTIONARY===e.logicalStreamType.lengthType?a=r:Cx.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case bx.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;xx.FSST===i?l=r:xx.SINGLE===i||xx.SHARED===i?s=r:xx.NONE===i&&(f=r);break}}}return rC(e,l,o,a,s,c,u)??iC(e,s,o,a,u)??aC(e,d,f,o,u)}function rC(e,t,n,r,i,a,o){if(t){if(!n||!r||!i||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new tC(e,n,r,i,a,t,o)}}function iC(e,t,n,r,i){if(t){if(!n||!r)throw Error(`Incomplete dictionary string column "${e}"`);return i?new QS(e,n,r,t,i):new QS(e,n,r,t)}}function aC(e,t,n,r,i){if(t&&n){if(r)return i?new QS(e,r,t,n,i):new QS(e,r,t,n);if(i&&i.size()!==t.length-1){let r=new Uint32Array(i.size()),a=0;for(let e=0;e<i.size();e++)i.get(e)?r[e]=a++:r[e]=0;return new QS(e,r,t,n,i)}return i?new ZS(e,t,n,i):new ZS(e,t,n)}}function oC(e,t,n,r){let i,a,o,s,c=!1;for(;!c;){let n=Ax(e,t);switch(n.physicalStreamType){case bx.LENGTH:Cx.DICTIONARY===n.logicalStreamType.lengthType?i=Xx(e,t,n):o=Xx(e,t,n);break;case bx.DATA:xx.SINGLE===n.logicalStreamType.dictionaryType||xx.SHARED===n.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+n.byteLength),c=!0):s=e.subarray(t.get(),t.get()+n.byteLength),t.add(n.byteLength)}}if(n.type!==`complexType`)throw Error(`Shared dictionary column ${n.name} must be a complex (struct) column.`);if(!i||!a)throw Error(`Incomplete shared dictionary for column "${n.name}"`);let l=n.complexType.children,u=[],d=s?{}:void 0,f=0;for(let c of l){let l=jb(e,t,1)[0];if(l===0)continue;let p=c.name?`${n.name}${c.name}`:n.name;if(r&&!r.has(p)){Rx(l,e,t);continue}if(c.type!==`scalarField`||c.scalarField.physicalType!==Ny.STRING)throw Error(`Currently only scalar string fields are implemented for a struct.`);if(l>1&&!c.nullable||l===1&&c.nullable)throw Error(`The number of streams for the child field ${c.name} does not match its nullability. nullibilty: ${c.nullable}, numStreams: ${l}`);let m;if(c.nullable){let n=Ax(e,t);m=new Fx(zx(e,n.numValues,n.byteLength,t),n.numValues)}let h=Yx(e,t,Ax(e,t),void 0,m);if(s){if(!o)throw Error(`Incomplete shared FSST dictionary for column "${p}"`);u[f++]=new tC(p,h,i,a,o,s,m,d)}else u[f++]=new QS(p,h,i,a,m)}return u}var sC=class extends wy{constructor(e,t,n){super(e,new Uint8Array,n??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},cC;(function(e){e[e.STRING=1]=`STRING`,e[e.INT32=2]=`INT32`,e[e.UINT32=4]=`UINT32`,e[e.INT64=8]=`INT64`,e[e.UINT64=16]=`UINT64`,e[e.FLOAT=32]=`FLOAT`,e[e.DOUBLE=64]=`DOUBLE`,e[e.PRESENCE=128]=`PRESENCE`})(cC||={});var lC;(function(e){e[e.FALSE=0]=`FALSE`,e[e.TRUE=1]=`TRUE`,e[e.START_MAP=2]=`START_MAP`,e[e.START_LIST=3]=`START_LIST`,e[e.COUNT=4]=`COUNT`})(lC||={});function uC(e,t,n,r){let i=dC(n);if(r===0)return i.map(e=>new sC(e,[]));let a=fC(e,t,r),o=(a.presentStream?a.presentCount:a.lengthStream.length)/i.length,s=[],c=0,l=0;for(let e=0;e<i.length;e++){let t=_C(a,e,o,c,l);s.push(new sC(i[e],t.value,t.nullabilityBuffer)),c=t.countsEnd,l=t.valuesEnd}return s}function dC(e){let t=e.type===`complexType`?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(t=>e.name+(t.name??``))}function fC(e,t,n){let r=e[t.get()];t.add(1);let i=Yx(e,t,Ax(e,t)),a=n-1,o=[];r&cC.STRING&&(a-=pC(e,t,o)),a-=mC(e,t,r,o),a-=hC(e,t,r,o);let s,c=0;if(r&cC.PRESENCE){let n=gC(e,t);s=n.value,c=n.count,a--}let l=new Uint32Array;if(a>0&&(l=Yx(e,t,Ax(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:i,dictionary:o,presentStream:s,presentCount:c,flattenedValues:l}}function pC(e,t,n){let r=e[t.get()];t.add(1);let i=nC(``,e,t,r);if(i)for(let e=0;e<i.size;e++)n.push(i.getValue(e));return r}function mC(e,t,n,r){let i=0;return n&cC.INT32?(CC(r,Jx(e,t,Ax(e,t))),i++):n&cC.INT64&&(CC(r,rS(e,t,Ax(e,t))),i++),n&cC.UINT32?(CC(r,Yx(e,t,Ax(e,t))),i++):n&cC.UINT64&&(CC(r,iS(e,t,Ax(e,t))),i++),i}function hC(e,t,n,r){let i=0;return n&cC.FLOAT&&(CC(r,Vx(e,t,Ax(e,t).numValues)),i++),n&cC.DOUBLE&&(CC(r,Hx(e,t,Ax(e,t).numValues)),i++),i}function gC(e,t){let n=Ax(e,t);if(n.physicalStreamType!==bx.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${n.physicalStreamType}`);let r=n.numValues,i=t.get(),a=new Fx(zx(e,r,n.byteLength,t),r);return t.set(i+n.byteLength),{value:a,count:r}}function _C(e,t,n,r,i){let{lengthStream:a,flattenedValues:o,presentStream:s,dictionary:c}=e,l=t*n,u=n,d;if(s){d=new Fx(new Uint8Array(Math.ceil(n/8)),n),u=0;for(let e=0;e<n;e++)s.get(l+e)&&(d.set(e,!0),u++)}let f=r+u;if(f>a.length)throw Error(`Merged map counts underflow while decoding child streams`);let p=Array(n),m=r,h=i;for(let e=0;e<n;e++){if(s&&!s.get(l+e)){p[e]=null;continue}let t=h+a[m++];if(t>o.length)throw Error(`Map value stream underflow while decoding feature payload`);let n=vC(o,h,t,c);p[e]=n.value,h=n.nextIndex}let g=0;for(let e=r;e<f;e++)g+=a[e];let _=i+g;if(h!==_)throw Error(`Unused flattened map values remain after decode`);return{value:p,nullabilityBuffer:d,countsEnd:f,valuesEnd:_}}function vC(e,t,n,r){return n-t===1||e[t]===lC.START_LIST?bC(e,t,n,r):yC(e,t,n,r)}function yC(e,t,n,r){let i=Object.create(null),a=t;for(;a<n;){let t=SC(e[a++],r);if(typeof t!=`string`)throw Error(`Map key dictionary index does not resolve to a string: ${t}`);let o=bC(e,a,n,r);i[t]=o.value,a=o.nextIndex}return{value:i,nextIndex:a}}function bC(e,t,n,r){if(t>=n)throw Error(`Unexpected end of map value stream`);let i=e[t];if(i===lC.FALSE)return{value:!1,nextIndex:t+1};if(i===lC.TRUE)return{value:!0,nextIndex:t+1};if(i===lC.START_MAP){let i=xC(e,t,n);return{value:yC(e,t+2,i,r).value,nextIndex:i}}if(i===lC.START_LIST){let i=xC(e,t,n),a=[],o=t+2;for(;o<i;){let t=bC(e,o,i,r);a.push(t.value),o=t.nextIndex}return{value:a,nextIndex:i}}return{value:SC(i,r),nextIndex:t+1}}function xC(e,t,n){if(t+1>=n)throw Error(`Missing length for nested map/list payload`);let r=e[t+1];if(r<2)throw Error(`Invalid nested payload length: ${r}`);let i=t+r;if(i>n)throw Error(`Nested payload exceeds containing payload bounds`);return i}function SC(e,t){let n=e-lC.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function CC(e,t){for(let n of t)e.push(n)}function wC(e,t,n,r,i,a){return n.type===`scalarType`?a&&!a.has(n.name)?(Rx(r,e,t),null):TC(r,e,t,i,n.scalarType,n):n.complexType?.physicalType===Py.MAP?uC(e,t,n,r):r===0?null:oC(e,t,n,a)}function TC(e,t,n,r,i,a){let o;if(e===0)return null;if(a.nullable){let e=Ax(t,n),r=e.numValues,i=n.get(),a=zx(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new Fx(a,e.numValues)}let s=o??r;switch(i.physicalType){case Ny.UINT_32:case Ny.INT_32:return AC(t,n,a,i,s);case Ny.STRING:{let r=a.nullable?e-1:e;return nC(a.name,t,n,r,o)??null}case Ny.BOOLEAN:return EC(t,n,a,r,s);case Ny.UINT_64:case Ny.INT_64:return kC(t,n,a,s,i);case Ny.FLOAT:return DC(t,n,a,s);case Ny.DOUBLE:return OC(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}function EC(e,t,n,r,i){let a=Ax(e,t),o=a.numValues,s=t.get(),c=jC(i)?i:void 0,l=zx(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new Fx(l,o);return new qS(n.name,u,i)}function DC(e,t,n,r){let i=Ax(e,t),a=jC(r)?r:void 0,o=Vx(e,t,i.numValues,a);return new JS(n.name,o,r)}function OC(e,t,n,r){let i=Ax(e,t),a=jC(r)?r:void 0,o=Hx(e,t,i.numValues,a);return new Dy(n.name,o,r)}function kC(e,t,n,r,i){let a=Ax(e,t),o=hS(a,r,e,t,`int64`),s=i.physicalType===Ny.INT_64;if(o===Px.FLAT){let i=jC(r)?r:void 0,o=s?rS(e,t,a,i):iS(e,t,a,i);return new vS(n.name,o,r)}if(o===Px.SEQUENCE){let r=nS(e,t,a);return new yS(n.name,r[0],r[1],a.numRleValues,s)}let c=s?sS(e,t,a):cS(e,t,a);return new YS(n.name,c,r,s)}function AC(e,t,n,r,i){let a=Ax(e,t),o=hS(a,i,e,t),s=r.physicalType===Ny.INT_32;if(o===Px.FLAT){let r=jC(i)?i:void 0,o=s?Jx(e,t,a,void 0,r):Yx(e,t,a,void 0,r);return new Ey(n.name,o,i)}if(o===Px.SEQUENCE){let r=tS(e,t,a);return new ky(n.name,r[0],r[1],a.numRleValues,s)}let c=s?$x(e,t,a):eS(e,t,a);return new Ay(n.name,c,i,s)}function jC(e){return e instanceof Fx}var MC={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function NC(e){switch(e){case MC.ID:case MC.ID|MC.ID_NULLABLE:case MC.ID|MC.ID_LONG:case MC.ID|MC.ID_LONG|MC.ID_NULLABLE:return{nullable:(e&MC.ID_NULLABLE)!==0,columnScope:My.FEATURE,type:`scalarType`,scalarType:{longID:(e&MC.ID_LONG)!==0,type:`logicalType`,logicalType:Fy.ID}};case MC.GEOMETRY:return{nullable:!1,columnScope:My.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:Py.GEOMETRY,children:[]}};case MC.STRUCT:return{nullable:!1,columnScope:My.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:Py.STRUCT,children:[]}};case MC.MAP:return{nullable:!0,columnScope:My.FEATURE,type:`complexType`,complexType:{type:`physicalType`,physicalType:Py.MAP,children:[]}};default:return zC(e)}}function PC(e){return e>=MC.SCALAR_BASE}function FC(e){return e===MC.STRUCT||e===MC.MAP}function IC(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case Ny.BOOLEAN:case Ny.INT_8:case Ny.UINT_8:case Ny.INT_32:case Ny.UINT_32:case Ny.INT_64:case Ny.UINT_64:case Ny.FLOAT:case Ny.DOUBLE:return!1;case Ny.STRING:return!0;default:return!1}if(t.type===`logicalType`)return!1}else if(e.type===`complexType`){let t=e.complexType;if(t.type===`physicalType`)switch(t.physicalType){case Py.GEOMETRY:case Py.STRUCT:case Py.MAP:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function LC(e){return e.type===`scalarType`&&e.scalarType?.type===`logicalType`&&e.scalarType.logicalType===Fy.ID}function RC(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===Py.GEOMETRY}function zC(e){let t;switch(e){case 10:case 11:t=Ny.BOOLEAN;break;case 12:case 13:t=Ny.INT_8;break;case 14:case 15:t=Ny.UINT_8;break;case 16:case 17:t=Ny.INT_32;break;case 18:case 19:t=Ny.UINT_32;break;case 20:case 21:t=Ny.INT_64;break;case 22:case 23:t=Ny.UINT_64;break;case 24:case 25:t=Ny.FLOAT;break;case 26:case 27:t=Ny.DOUBLE;break;case 28:case 29:t=Ny.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:My.FEATURE,type:`scalarType`,scalarType:{longID:!1,type:`physicalType`,physicalType:t}}}var BC=new TextDecoder,VC=`0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)`;function HC(e,t){let n=jb(e,t,1)[0];if(n===0)return``;let r=t.get(),i=r+n,a=e.subarray(r,i);return t.add(n),BC.decode(a)}function UC(e){let t=e.name,n=e.nullable;return e.type===`scalarType`?{type:`scalarField`,scalarField:e.scalarType,name:t,nullable:n}:{type:`complexField`,complexField:e.complexType,name:t,nullable:n}}function WC(e,t){let n=jb(e,t,1)[0]>>>0,r=n>=MC.SCALAR_BASE?NC(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let i={...r,name:HC(e,t)};if(i.type===`complexType`&&FC(n)){let n=i.complexType,r=jb(e,t,1)[0]>>>0;n.children=Array(r);for(let i=0;i<r;i++)n.children[i]=WC(e,t)}return UC(i)}function GC(e,t){let n=jb(e,t,1)[0]>>>0,r=NC(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${VC}`);let i;if(PC(n))i=HC(e,t);else if(n<MC.GEOMETRY)i=`id`;else if(n===MC.GEOMETRY)i=`geometry`;else throw Error(`Unsupported column type code ${n}. Supported: ${VC}`);let a={...r,name:i};if(a.type===`complexType`&&FC(n)){let n=jb(e,t,1)[0]>>>0,r=a.complexType;r.children=Array(n);for(let i=0;i<n;i++)r.children[i]=WC(e,t)}return a}function KC(e,t){let n={};n.featureTables=[];let r={};if(r.name=HC(e,t),r.name.length===0)throw Error(`Missing layer name`);let i=jb(e,t,1)[0]>>>0,a=jb(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=GC(e,t);return n.featureTables.push(r),[n,i]}function qC(e,t,n=!0){let r=new Iy(0),i=[];for(;r.get()<e.length;){let a=jb(e,r,1)[0]>>>0,o=r.get()+a;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);let s=jb(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(o);continue}let[c,l]=KC(e,r),u=c.featureTables[0],d=null,f=null,p=[],m=0;for(let i of u.columns){let a=i.name;if(LC(i)){let t=null;if(i.nullable){let n=Ax(e,r),i=r.get(),a=zx(e,n.numValues,n.byteLength,r);r.set(i+n.byteLength),t=new Fx(a,n.numValues)}let o=Ax(e,r);m=t?t.size():o.decompressedCount,d=JC(e,i,r,a,o,t??m,n)}else if(RC(i)){let n=jb(e,r,1)[0];if(m===0){let t=r.get();m=Ax(e,r).decompressedCount,r.set(t)}t&&(t.scale=t.extent/l),f=HS(e,n,r,m,t)}else{let t=IC(i)?jb(e,r,1)[0]:1;if(t===0)continue;let n=wC(e,r,i,t,m,void 0);if(n){if(Array.isArray(n))for(let e of n)p.push(e);else p.push(n)}}}let h=new jy(u.name,f,d,p,l);i.push(h),r.set(o)}return i}function JC(e,t,n,r,i,a,o=!1){let s=t.scalarType?.longID?Ny.UINT_64:Ny.UINT_32,c=typeof a==`number`?void 0:a,l=hS(i,a,e,n,s===Ny.UINT_64?`int64`:`int32`);if(s===Ny.UINT_32)switch(l){case Px.FLAT:return new Ey(r,Yx(e,n,i,void 0,c),a);case Px.SEQUENCE:{let t=tS(e,n,i);return new ky(r,t[0],t[1],i.numRleValues,!1)}case Px.CONST:return new Ay(r,eS(e,n,i),a,!1)}switch(l){case Px.FLAT:return o?new Dy(r,aS(e,n,i,c),a):new vS(r,iS(e,n,i,c),a);case Px.SEQUENCE:{let t=nS(e,n,i);return new yS(r,t[0],t[1],i.numRleValues,!1)}case Px.CONST:return new YS(r,cS(e,n,i),a,!1)}throw Error(`Vector type not supported for id column.`)}var YC=Uy(By);YC/32*4,3*YC/256+YC|0;var XC=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case SS.POINT:case SS.MULTIPOINT:this.type=1;break;case SS.LINESTRING:case SS.MULTILINESTRING:this.type=2;break;case SS.POLYGON:case SS.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let n=[];for(let e of t)n.push(new M(e.x,e.y));e.push(n)}return e}},ZC=class{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new XC(this.features[e],this.extent)}},QC=class{constructor(e){this.layers={};let t=qC(new Uint8Array(e));this.layers=t.reduce((e,t)=>({...e,[t.name]:new ZC(t)}),{})}};W(`FeatureIndex`,class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new il(P,16,0),this.grid3D=new il(P,16,0),this.featureIndexArray=new Cu,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e of t){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)t[0]=Math.min(t[0],n.x),t[1]=Math.min(t[1],n.y),t[2]=Math.max(t[2],n.x),t[3]=Math.max(t[3],n.y);t[0]<8192&&t[1]<8192&&t[2]>=0&&t[3]>=0&&s.insert(o,t[0],t[1],t[2],t[3])}}loadVTLayers(){if(!this.vtLayers){switch(this.encoding){case`mlt`:this.vtLayers=new QC(this.rawTileData).layers;break;default:this.vtLayers=new ym(new t_(this.rawTileData)).layers}this.sourceLayerCoder=new Sy(this.vtLayers?Object.keys(this.vtLayers).sort():[xy])}return this.vtLayers}query(e,t,n,r){this.loadVTLayers();let i=e.params,a=P/e.tileSize/e.scale,o=Us(i.filter,`queryRenderedFeatures filter`,i.globalState),s=e.queryGeometry,c=e.queryPadding*a,l=um.fromPoints(s),u=this.grid.query(l.minX-c,l.minY-c,l.maxX+c,l.maxY+c),d=um.fromPoints(e.cameraQueryGeometry).expandBy(c),f=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(t,n,r,i)=>Hd(e.cameraQueryGeometry,t-c,n-c,r+c,i+c));for(let e of f)u.push(e);u.sort(tw);let p={},m;for(let c of u){if(c===m)continue;m=c;let l=this.featureIndexArray.get(c),u=null;this.loadMatchingFeature(p,l.bucketIndex,l.sourceLayerIndex,l.featureIndex,o,i.layers,i.availableImages,t,n,r,(t,n,r)=>(u||=Ed(t),n.queryIntersectsFeature({queryGeometry:s,feature:t,featureState:r,geometry:u,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return p}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some(e=>a.has(e)))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=Dd(p,!0);if(!i.filter(new pl(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new pl(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t of d){if(a&&!a.has(t))continue;let n=s[t];if(!n)continue;let i={};m&&l&&(i=l.getState(n.sourceLayer||`_geojsonTileLayer`,m));let d=I({},c[t]);d.paint=ew(d.paint,n.paint,p,i,o),d.layout=ew(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new Cy(p,this.z,this.x,this.y,m);h.layer=d;let g=e[t];g===void 0&&(g=e[t]=[]),g.push({featureIndex:r,feature:h,intersectionZ:f})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=Us(i.filterSpec,`queryRenderedFeatures symbol filter`,i.globalState);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){let n=e.id;if(this.promoteId){let r=typeof this.promoteId==`string`?this.promoteId:this.promoteId[t];n=e.properties[r],typeof n==`boolean`&&(n=Number(n)),n===void 0&&e.properties?.cluster&&this.promoteId&&(n=Number(e.properties.cluster_id))}return n}},{omit:[`rawTileData`,`sourceLayerCoder`]});function $C(e){return typeof e==`object`&&!!e&&`evaluate`in e}function ew(e,t,n,r,i){return xn(e,(e,a)=>{let o=t instanceof xl?t.get(a):null;return $C(o)?o.evaluate(n,r,void 0,i):o})}function tw(e,t){return t-e}var nw=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout(()=>{this.remove(e,i)},n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}},rw=e({AJAXError:()=>sr,AttributionControl:()=>dF,BoxZoomHandler:()=>yP,CanvasSource:()=>LE,CooperativeGesturesHandler:()=>rF,DoubleClickZoomHandler:()=>ZP,DragPanHandler:()=>eF,DragRotateHandler:()=>tF,EXTENT:()=>P,EdgeInsets:()=>GO,ErrorEvent:()=>L,Event:()=>yr,Evented:()=>br,FullscreenControl:()=>$F,FullscreenEvent:()=>QF,GPUInitializationError:()=>aP,GeoJSONSource:()=>vE,GeolocateControl:()=>GF,GeolocateErrorEvent:()=>WF,GeolocateEvent:()=>HF,GeolocatePositionEvent:()=>UF,GlobeControl:()=>tI,Hash:()=>sP,ImageSource:()=>AE,KeyboardHandler:()=>qP,LngLat:()=>X,LngLatBounds:()=>tE,LogoControl:()=>fF,Map:()=>xF,MapBoxZoomEvent:()=>Nw,MapContextEvent:()=>Iw,MapLibreEvent:()=>Ew,MapLibreMap:()=>xF,MapMouseEvent:()=>Aw,MapMovementEvent:()=>$,MapProjectionEvent:()=>Fw,MapSourceDataEvent:()=>kw,MapStyleDataEvent:()=>Ow,MapStyleImageMissingEvent:()=>Lw,MapStyleLoadEvent:()=>Dw,MapTerrainEvent:()=>Pw,MapTouchEvent:()=>jw,MapWheelEvent:()=>Mw,Marker:()=>RF,MarkerClickEvent:()=>LF,MarkerDragEvent:()=>IF,MercatorCoordinate:()=>Am,NavigationControl:()=>CF,Point:()=>M,Popup:()=>aI,PopupEvent:()=>iI,RasterDEMTileSource:()=>aE,RasterTileSource:()=>iE,ScaleControl:()=>qF,ScrollZoomHandler:()=>XP,Style:()=>oA,TerrainControl:()=>eI,TwoFingersTouchPitchHandler:()=>GP,TwoFingersTouchRotateHandler:()=>UP,TwoFingersTouchZoomHandler:()=>VP,TwoFingersTouchZoomRotateHandler:()=>nF,VectorTileSource:()=>rE,VideoSource:()=>IE,addProtocol:()=>ir,addSourceType:()=>HE,clearPrewarmedResources:()=>BT,config:()=>nr,createTileMesh:()=>kE,getGlobalDispatcher:()=>UT,getMaxParallelImageRequests:()=>mI,getRTLTextPluginStatus:()=>uI,getVersion:()=>dI,getWorkerCount:()=>fI,getWorkerUrl:()=>gI,importScriptInWorkers:()=>vI,isTimeFrozen:()=>_w,now:()=>mw,prewarm:()=>zT,removeProtocol:()=>ar,restoreNow:()=>
vendor: 22,309 bytes, line 1
1gw,setMaxParallelImageRequests:()=>hI,setNow:()=>hw,setRTLTextPlugin:()=>lI,setWorkerCount:()=>pI,setWorkerUrl:()=>_I}),iw=`6.11.2`;function aw(){var e=new Ae(4);return Ae!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function ow(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*a-i*r;return o?(o=1/o,e[0]=a*o,e[1]=-r*o,e[2]=-i*o,e[3]=n*o,e):null}function sw(e){return e[0]*e[3]-e[2]*e[1]}function cw(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(n),c=Math.cos(n);return e[0]=r*c+a*s,e[1]=i*c+o*s,e[2]=r*-s+a*c,e[3]=i*-s+o*c,e}var lw,uw,dw,fw={frame(e,t,n,r){let i=r||window,a=i.requestAnimationFrame(e=>{o(),t(e)}),{unsubscribe:o}=zn(e.signal,`abort`,()=>{o(),i.cancelAnimationFrame(a),n(new $n(e.signal.reason))},!1)},frameAsync(e,t){return new Promise((n,r)=>{this.frame(e,n,r,t)})},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t;if(De()&&!ke())t=new OffscreenCanvas(e.width,e.height).getContext(`2d`,{willReadFrequently:!0});else{let n=window.document.createElement(`canvas`);n.width=e.width,n.height=e.height,t=n.getContext(`2d`,{willReadFrequently:!0})}if(!t)throw Error(`failed to create canvas 2d context`);return t.drawImage(e,0,0,e.width,e.height),t},resolveURL(e){return lw||=document.createElement(`a`),lw.href=e,lw.href},get hardwareConcurrency(){return typeof navigator<`u`&&navigator.hardwareConcurrency||4},get prefersReducedMotion(){return dw===void 0?matchMedia?(uw??=matchMedia(`(prefers-reduced-motion: reduce)`),uw.matches):!1:dw},set prefersReducedMotion(e){dw=e}},pw=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt===null?performance.now():this._frozenAt}setNow(e){this._frozenAt=e}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function mw(){return pw.getCurrentTime()}function hw(e){pw.setNow(e)}function gw(){pw.restoreNow()}function _w(){return pw.isFrozen()}var vw=new Set(`a.abbr.b.bdi.bdo.br.cite.code.del.div.em.i.img.ins.kbd.li.mark.ol.p.q.s.samp.small.span.strong.sub.sup.time.u.ul.var.wbr`.split(`.`)),yw=new Set([`alt`,`class`,`datetime`,`dir`,`height`,`href`,`hreflang`,`lang`,`referrerpolicy`,`rel`,`role`,`src`,`target`,`title`,`translate`,`type`,`width`]),bw=new Set([`href`,`src`]),xw=new Set([`http:`,`https:`,`mailto:`]),Sw;function Cw(){return Sw??={getAttribute:Element.prototype.getAttribute,getAttributeNames:Element.prototype.getAttributeNames,querySelectorAll:Element.prototype.querySelectorAll,remove:Element.prototype.remove,removeAttribute:Element.prototype.removeAttribute,localName:Object.getOwnPropertyDescriptor(Element.prototype,`localName`).get,namespaceURI:Object.getOwnPropertyDescriptor(Element.prototype,`namespaceURI`).get},Sw}var Q=class e{static{this.docStyle=typeof window<`u`&&window.document?.documentElement.style}static{this.selectProp=!e.docStyle||`userSelect`in e.docStyle?`userSelect`:`webkitUserSelect`}static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){e.docStyle&&e.selectProp&&(e.userSelect=e.docStyle[e.selectProp],e.docStyle[e.selectProp]=`none`)}static enableDrag(){e.docStyle&&e.selectProp&&(e.docStyle[e.selectProp]=e.userSelect)}static suppressClickInternal(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(`click`,e.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,e.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(`click`,e.suppressClickInternal,!0)},0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,t,n){let r=t.boundingClientRect;return new M((n.clientX-r.left)/t.x-e.clientLeft,(n.clientY-r.top)/t.y-e.clientTop)}static mousePos(t,n){let r=e.getScale(t);return e.getPoint(t,r,n)}static touchPos(t,n){let r=[],i=e.getScale(t);for(let a of n)r.push(e.getPoint(t,i,a));return r}static sanitize(t){let n=new DOMParser().parseFromString(t,`text/html`).body,{querySelectorAll:r,remove:i}=Cw();for(let t of Array.from(r.call(n,`*`)))e.isAllowedElement(t)?e.removeDisallowedAttributes(t):i.call(t);let a=document.createDocumentFragment();return a.append(...n.childNodes),a}static isAllowedElement(e){let{namespaceURI:t,localName:n}=Cw();return t.call(e)===`http://www.w3.org/1999/xhtml`&&vw.has(n.call(e))}static removeDisallowedAttributes(t){let{getAttributeNames:n,getAttribute:r,removeAttribute:i}=Cw();for(let a of n.call(t))e.isAllowedAttribute(a,r.call(t,a))||i.call(t,a)}static isAllowedAttribute(e,t){if(!yw.has(e)&&!e.startsWith(`aria-`))return!1;if(!bw.has(e))return!0;try{return xw.has(new URL(t,`https://maplibre.invalid/`).protocol)}catch{return!1}}},ww;(function(e){let t,n,r,i;e.resetRequestQueue=()=>{t=[],n=0,r=0,i={}},e.addThrottleControl=e=>{let t=r++;return i[t]=e,t},e.removeThrottleControl=e=>{delete i[e],l()};let a=()=>{for(let e of Object.keys(i))if(i[e]())return!0;return!1};async function o(e,t,n,r,i=!0,a){let o=await e.transformRequest(t,n);return tr(r.signal),ww.getImage(o,r,i,a)}e.transformAndGetImage=o,e.getImage=(e,n,r=!0,i)=>new Promise((a,o)=>{e.headers||={},e.headers.accept=`image/webp,*/*`,I(e,{type:`image`});let s={abortController:n,requestParameters:e,supportImageRefresh:r,imageBitmapOptions:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}};t.push(s),l()});let s=(e,t)=>typeof createImageBitmap==`function`?Fn(e,t):In(e),c=async e=>{e.state=`running`;let{requestParameters:t,supportImageRefresh:r,imageBitmapOptions:i,onError:a,onSuccess:o,abortController:c}=e,d=r===!1&&!i&&!An(self)&&!rr(t.url)&&(!t.headers||Object.keys(t.headers).reduce((e,t)=>e&&t===`accept`,!0));n++;let f=d?u(t,c):fr(t,c);try{let t=await f;delete e.abortController,e.state=`completed`,t.data instanceof HTMLImageElement||Pn(t.data)?o(t):!t.data||t.data.byteLength===0?o({data:null,cacheControl:t.cacheControl,expires:t.expires}):o({data:await s(t.data,i),cacheControl:t.cacheControl,expires:t.expires})}catch(t){delete e.abortController,a(Wt(t))}finally{n--,l()}},l=()=>{let e=a()?nr.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:nr.MAX_PARALLEL_IMAGE_REQUESTS;for(let r=n;r<e&&t.length>0;r++){let e=t.shift();if(e.abortController.signal.aborted){r--;continue}c(e)}},u=(e,t)=>new Promise((n,r)=>{let i=new Image,a=e.url,o=e.credentials;o&&o===`include`?i.crossOrigin=`use-credentials`:(o&&o===`same-origin`||!hr(a))&&(i.crossOrigin=`anonymous`),t.signal.addEventListener(`abort`,()=>{i.src=``,r(new $n(t.signal.reason))}),i.fetchPriority=`high`,i.onload=()=>{i.onerror=i.onload=null,n({data:i})},i.onerror=()=>{i.onerror=i.onload=null,!t.signal.aborted&&r(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},i.src=a})})(ww||={}),ww.resetRequestQueue();var Tw=class{constructor(e){this._transformRequestFn=e??null}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}},Ew=class extends yr{},$=class extends Ew{},Dw=class extends Ew{constructor(e={}){super(`style.load`,e)}},Ow=class extends Ew{constructor(e,t={}){super(e,t),this.dataType=`style`}},kw=class extends Ew{constructor(e,t={}){super(e,t),this.dataType=`source`}},Aw=class extends Ew{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n,r={}){n=n instanceof MouseEvent?n:new MouseEvent(e,n);let i=Q.mousePos(t.getCanvas(),n),a=t.unproject(i);super(e,I({point:i,lngLat:a,originalEvent:n},r)),this._defaultPrevented=!1,this.target=t}},jw=class extends Ew{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){let r=e===`touchend`?n.changedTouches:n.touches,i=Q.touchPos(t.getCanvasContainer(),r),a=i.map(e=>t.unproject(e)),o=i.reduce((e,t,n,r)=>e.add(t.div(r.length)),new M(0,0)),s=t.unproject(o);super(e,{points:i,point:o,lngLats:a,lngLat:s,originalEvent:n}),this._defaultPrevented=!1}},Mw=class extends Ew{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t){super(`wheel`,{originalEvent:t}),this._defaultPrevented=!1}},Nw=class extends Ew{},Pw=class extends Ew{constructor(e={}){super(`terrain`,e)}},Fw=class extends Ew{constructor(e={}){super(`projectiontransition`,e)}},Iw=class extends Ew{},Lw=class extends Ew{constructor(e={}){super(`styleimagemissing`,e)}};function Rw(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return Sr.forEach(e=>{e in t&&(n[e]=t[e])}),n}function zw(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=Rw(e[n],t[e[n].ref]));return e}function Bw(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Bw(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!Bw(e[n],t[n]))return!1;return!0}return e===t}function Vw(e,t){e.push(t)}function Hw(e,t,n){Vw(n,{command:`addSource`,args:[e,t[e]]})}function Uw(e,t,n){Vw(t,{command:`removeSource`,args:[e]}),n[e]=!0}function Ww(e,t,n,r){Uw(e,n,r),Hw(e,t,n)}function Gw(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!Bw(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!Bw(e[n][r],t[n][r]))return!1;return!0}function Kw(e,t,n,r){e||={},t||={};let i;for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||Uw(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?Bw(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&Gw(e,t,i)?Vw(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):Ww(i,t,n,r)):Hw(i,t,n))}function qw(e,t,n,r,i){Vw(t,{command:i,args:[n,r,e[r]]})}function Jw(e,t,n,r,i){e||={},t||={};for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(Bw(e[a],t[a])||qw(t,n,r,a,i));for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&!Object.prototype.hasOwnProperty.call(e,a)&&(Bw(e[a],t[a])||qw(t,n,r,a,i))}function Yw(e){return e.id}function Xw(e,t){return e[t.id]=t,e}function Zw(e,t,n){e||=[],t||=[];let r=e.map(Yw),i=t.map(Yw),a=e.reduce(Xw,{}),o=t.reduce(Xw,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(Vw(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(Vw(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],Vw(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!(c[l]||Bw(u,d))){if(!Bw(u.source,d.source)||!Bw(u[`source-layer`],d[`source-layer`])||!Bw(u.type,d.type)){Vw(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],Vw(n,{command:`addLayer`,args:[d,f]});continue}for(p in Jw(u.layout,d.layout,n,l,`setLayoutProperty`),Jw(u.paint,d.paint,n,l,`setPaintProperty`),Bw(u.filter,d.filter)||Vw(n,{command:`setFilter`,args:[l,d.filter]}),(!Bw(u.minzoom,d.minzoom)||!Bw(u.maxzoom,d.maxzoom))&&Vw(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Jw(u[p],d[p],n,l,`setPaintProperty`):Bw(u[p],d[p])||Vw(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Jw(u[p],d[p],n,l,`setPaintProperty`):Bw(u[p],d[p])||Vw(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}}function Qw(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!Bw(e.version,t.version))return[{command:`setStyle`,args:[t]}];Bw(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),Bw(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),Bw(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),Bw(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),Bw(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),Bw(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),Bw(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),Bw(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),Bw(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),Bw(e[`font-faces`],t[`font-faces`])||n.push({command:`setFontFaces`,args:[t[`font-faces`]]}),Bw(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),Bw(e.light,t.light)||n.push({command:`setLight`,args:[t.light]});let r=!Bw(e.terrain,t.terrain);r&&!t.terrain&&n.push({command:`setTerrain`,args:[void 0]}),Bw(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),Bw(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let i={},a=[];Kw(e.sources,t.sources,a,i);let o=[];e.layers&&e.layers.forEach(e=>{`source`in e&&i[e.source]?n.push({command:`removeLayer`,args:[e.id]}):o.push(e)}),n=n.concat(a),Zw(o,t.layers,n),r&&t.terrain&&n.push({command:`setTerrain`,args:[t.terrain]})}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n}function $w(){let e={},t=R.$version;for(let n in R.$root){let r=R.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e}function eT(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function tT(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}async function nT(e,t,n,r){let i=eT(e),a=n>1?`@2x`:``,o={},s={};for(let{id:e,url:n}of i){o[e]=pr(await t.transformRequest(tT(n,a,`.json`),`SpriteJSON`),r);let i=await t.transformRequest(tT(n,a,`.png`),`SpriteImage`);s[e]=ww.getImage(i,r)}return await Promise.all([...Object.values(o),...Object.values(s)]),rT(o,s)}async function rT(e,t){let n={};for(let r in e){n[r]={};let i=(await t[r]).data;if(!i)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=fw.getImageCanvasContext(i),o=(await e[r]).data;for(let e in o){let{width:t,height:i,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=o[e],g={width:t,height:i,x:s,y:c,context:a};n[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:g}}}return n}var iT=class extends br{constructor(){super(),this.images={},this.updateVersion=0,this.loaded=!1,this.requestors=[],this.missingImageResolver=null,this._spriteImagesIds={},this._imagesIds=null,this._renderCallbacksDispatchedThisFrame={}}destroy(){for(let e of Object.keys(this.images))this.removeImage(e);this._spriteImagesIds={}}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let t=this.images[e];if(t&&!t.data&&t.spriteData){let e=t.spriteData;t.data=new vf({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),t.spriteData=null}return t}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t,this._imagesIds=null,t.isWebGLImage&&this.updateImage(e,t,!1))}_validate(e,t){let n=!0,r=t.data||t.spriteData;return this._validateStretch(t.stretchX,r?.width)||(this.fire(new L(Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(t.stretchY,r?.height)||(this.fire(new L(Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(t.content,t)||(this.fire(new L(Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n?.width||t.data.width,i=n?.height||t.data.height;return e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]?!1:e[3]>=e[1]}updateImage(e,t,n=!0){let r=this.images[e];if(n){let e=r.data||r.spriteData;if(e.width!==t.data.width||e.height!==t.data.height)throw Error(`size mismatch between old image (${e.width}x${e.height}) and new image (${t.data.width}x${t.data.height}).`)}t.version=(r.version??0)+1,this.images[e]=t,this.updateVersion++}removeImage(e){let t=this.images[e];t&&(delete this.images[e],this._imagesIds=null,t.userImage?.onRemove&&t.userImage.onRemove())}listImages(){return this._imagesIds??=Object.keys(this.images),this._imagesIds}_getSpriteImageId(e,t){return e==="default"?t:`${e}:${t}`}setSpriteImages(e,t){let n=this._spriteImagesIds[e]??[],r=[];for(let n in t){let i=this._getSpriteImageId(e,n);r.push(i),i in this.images?this.updateImage(i,t[n],!1):this.addImage(i,t[n])}let i=new Set(r),a=n.filter(e=>!i.has(e));for(let e of a)this.removeImage(e);return this._spriteImagesIds[e]=r,{loaded:r,removed:a}}removeSpriteImages(e){let t=this._spriteImagesIds[e]??[];for(let e of t)this.removeImage(e);return delete this._spriteImagesIds[e],t}removeAllSpriteImages(){let e=Object.values(this._spriteImagesIds).flat();for(let t of e)this.removeImage(t);return this._spriteImagesIds={},e}setMissingImageResolver(e){this.missingImageResolver=e}getImages(e){return new Promise((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})})}async _getImagesForIds(e){let t=new Set(e.filter(e=>!this.getImage(e))),n=this.missingImageResolver;n&&await Promise.allSettled(Array.from(t,e=>n(e)));let r={};for(let n of e){let e=this.getImage(n);e&&(t.delete(n),r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!e.userImage?.render,isWebGLImage:e.isWebGLImage})}for(let e of t)this.fire(new Lw({id:e})),En(`Image "${e}" could not be loaded. Please make sure you have added the image before it is needed with map.addImage(), resolved it with map.setMissingStyleImageResolver(), or included it in a "sprite" property in your style.`);return r}beginFrame(){this._renderCallbacksDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let t of e){if(this._renderCallbacksDispatchedThisFrame[t])continue;this._renderCallbacksDispatchedThisFrame[t]=!0;let e=this.getImage(t);e||En(`Image with ID: "${t}" was not found`),u_(e)&&this.updateImage(t,e)}}cloneImages(){let e={};for(let t in this.images){let n=this.images[t];e[t]={...n,data:n.data?n.data.clone():null}}return e}},aT=class{constructor(e){this._imageManager=e,this._entries={},this._image=new vf({width:1,height:1}),this._dirty=!0}destroy(){this._texture&&=(this._texture.destroy(),null),this._entries={},this._image=new vf({width:1,height:1}),this._dirty=!0}getPixelSize(){let{width:e,height:t}=this._image;return{width:e,height:t}}getPattern(e){let t=this._imageManager.getImage(e);if(!t)return null;let n=this._entries[e];if(n?.image!==t){let n={w:t.data.width+2,h:t.data.height+2,x:0,y:0};this._entries[e]={bin:n,position:new f_(n,t),image:t}}else if(n.position.version!==t.version)n.position.version=t.version;else return n.position;return this._update(),this._entries[e].position}bind(e){let t=e.gl;this._texture?this._dirty&&=(this._texture.update(this._image),!1):(this._texture=new Nf(e,this._image,t.RGBA),this._dirty=!1),this._texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_update(){for(let e in this._entries)this._imageManager.getImage(e)||delete this._entries[e];let e=[];for(let t in this._entries)e.push(this._entries[t].bin);let{w:t,h:n}=d_(e),r=this._image;r.resize({width:t||1,height:n||1});for(let e in this._entries){let{bin:t}=this._entries[e],n=t.x+1,i=t.y+1,a=this._entries[e].image.data,o=a.width,s=a.height;vf.copy(a,r,{x:0,y:0},{x:n,y:i},{width:o,height:s}),vf.copy(a,r,{x:0,y:s-1},{x:n,y:i-1},{width:o,height:1}),vf.copy(a,r,{x:0,y:0},{x:n,y:i+s},{width:o,height:1}),vf.copy(a,r,{x:o-1,y:0},{x:n-1,y:i},{width:1,height:s}),vf.copy(a,r,{x:0,y:0},{x:n+o,y:i},{width:1,height:s})}this._dirty=!0}},oT=1114111,sT={start:0,end:oT},cT=0;function lT(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,e,n]=t;return e.length+n.length>6?null:uT(parseInt(`${e}${`0`.repeat(n.length)}`,16),parseInt(`${e}${`f`.repeat(n.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return uT(r,n[2]===void 0?r:parseInt(n[2],16))}function uT(e,t){return e>t||e>oT?null:{start:e,end:Math.min(t,oT)}}function dT(e,t){return e.ranges.some(({start:e,end:n})=>t>=e&&t<=n)}var fT=class{constructor(e){this.requestManager=e,this._faces={},this._registered=new Set}setFontFaces(e){this._unregisterAll(),this._faces={};for(let[t,n]of Object.entries(e??{})){let e=Array.isArray(n)?n:[n];this._faces[t]=e.map(e=>this._declareFontFace(t,e)).filter(e=>e!==null)}}hasFontFaces(){return Object.keys(this._faces).length>0}async getFontFamily(e,t){for(let n of e.split(`,`))for(let e of this._faces[n.trim()]??[])if(dT(e,t)&&(e.loaded??=this._loadFontFace(e),await e.loaded))return e.family;return null}_declareFontFace(e,t){let n=typeof t==`string`?{url:t}:t;if(typeof n?.url!=`string`)return En(`Ignoring the font face declared for "${e}": it has no URL.`),null;let r=`maplibre-gl-font-face-${cT++}`,i=n[`unicode-range`];if(!i?.length)return{url:n.url,ranges:[sT],family:r};let a=[];for(let e of i){let t=lT(e);
vendor: 7,880 bytes, line 1
1if(!t){En(`Ignoring the unicode range "${e}" of the font face at ${n.url}: it is not a valid range.`);continue}a.push(t)}return a.length?{url:n.url,ranges:a,family:r}:null}async _loadFontFace(e){if(typeof FontFace>`u`||typeof document>`u`||!document.fonts)return En(`Ignoring the font face at ${e.url}: this environment has no CSS Font Loading API.`),!1;let t;try{return t=new FontFace(e.family,await this._downloadFontFile(e.url)),Object.values(this._faces).some(t=>t.includes(e))?(document.fonts.add(t),this._registered.add(t),await t.load(),!0):!1}catch(n){return t&&this._unregister(t),En(`Ignoring the font face at ${e.url}: ${Wt(n).message}`),!1}}async _downloadFontFile(e){let t=await mr(await this.requestManager.transformRequest(e,`Glyphs`),new AbortController);if(!t?.data)throw Error(`the response was empty for the font file at ${e}`);return t.data}_unregister(e){document.fonts?.delete(e),this._registered.delete(e)}_unregisterAll(){for(let e of this._registered)document.fonts?.delete(e);this._registered.clear()}destroy(){this._unregisterAll(),this._faces={}}},pT=0x56bc75e2d63100000,mT=new Float64Array(256);for(let e=0;e<256;e++){let t=.5-(e/255)**(1/2.2);mT[e]=t*Math.abs(t)}mT[255]=-0x56bc75e2d63100000;var hT=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`,lang:s=null}={}){this.buffer=t,this.radius=n,this.cutoff=r,this.lang=s;let c=this.size=e+t*4,l=this._createCanvas(c),u=this.ctx=l.getContext(`2d`,{willReadFrequently:!0});u.font=`${o} ${a} ${e}px ${i}`,u.textBaseline=`alphabetic`,u.textAlign=`left`,u.fillStyle=`black`,this.gridOuter=new Float64Array(c*c),this.gridInner=new Float64Array(c*c),this.f=new Float64Array(c),this.z=new Float64Array(c+1),this.v=new Uint16Array(c)}_createCanvas(e){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,e);let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.floor(-i),c=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a)-s)),l=Math.max(0,Math.min(this.size-this.buffer,o+Math.ceil(r))),u=c+2*this.buffer,d=l+2*this.buffer,f=Math.max(u*d,0),p=new Uint8ClampedArray(f),m={data:p,width:u,height:d,glyphWidth:c,glyphHeight:l,glyphTop:o,glyphLeft:s,glyphAdvance:t};if(c===0||l===0)return m;let{ctx:h,buffer:g,gridInner:_,gridOuter:v}=this;this.lang&&(h.lang=this.lang),h.clearRect(g,g,c,l),h.fillText(e,g-s,g+o);let y=h.getImageData(g,g,c,l);v.fill(pT,0,f),_.fill(0,0,f);let b=3;for(let e=0;e<l;e++){let t=(e+g)*u+g;for(let e=0;e<c;e++,b+=4,t++){let e=y.data[b];if(e===0)continue;let n=mT[e];v[t]=Math.max(0,n),_[t]=Math.max(0,-n)}}gT(v,0,0,u,d,u,this.f,this.v,this.z);let x=Math.min(g,1);gT(_,g-x,g-x,c+2*x,l+2*x,u,this.f,this.v,this.z);let S=255/this.radius,C=255*(1-this.cutoff);for(let e=0;e<f;e++){let t=Math.sqrt(v[e])-Math.sqrt(_[e]);p[e]=Math.round(C-S*t)}return m}};function gT(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)_T(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)_T(e,l*a+t,1,r,o,s,c)}function _T(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=pT,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=pT}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}var vT=R.layout_symbol[`text-font`].default.join(`,`),yT=(e,t)=>{let n=new hT(e);return n.buffer=t,n},bT=class{constructor(e,t,n,r=yT){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={},this.lang=n,this.fontFaceManager=new fT(e),this.createRasterizer=r}setURL(e){this.url=e}setFontFaces(e){this.fontFaceManager.setFontFaces(e),this.entries={}}async getGlyphs(e){let t=[];for(let n in e)for(let r in e[n])for(let i of e[n][r])t.push(this._getAndCacheGlyphsPromise(n,i,r));let n=await Promise.all(t),r={};for(let{stack:e,id:t,variant:i,glyph:a}of n)r[e]||={},r[e][i]||={},r[e][i][t]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};return r}async _getAndCacheGlyphsPromise(e,t,n){this.entries[e]??={glyphs:{default:{}},requests:{},ranges:{}};let r=this.entries[e],i=r.glyphs[n]||={},a=i[t];if(a!==void 0)return{stack:e,id:t,variant:n,glyph:a};if(n!=="default")return i[t]=null,{stack:e,id:t,variant:n,glyph:null};let o=t.codePointAt(0),s=this.fontFaceManager.hasFontFaces()?await this.fontFaceManager.getFontFamily(e,o):null;return s?(a=i[t]=await this._drawGlyph(r,e,t,s),{stack:e,id:t,variant:n,glyph:a}):!this.url||vg(t)||this._charUsesLocalIdeographFontFamily(o)?(a=i[t]=await this._drawGlyph(r,e,t),{stack:e,id:t,variant:n,glyph:a}):{...await this._downloadAndCacheRangePromise(e,t),variant:n}}async _downloadAndCacheRangePromise(e,t){let n=t.codePointAt(0),r=this.entries[e],i=Math.floor(n/256);if(r.ranges[i])return{stack:e,id:t,glyph:null};r.requests[i]||=this._loadGlyphRange(e,i);try{let a=await r.requests[i];for(let e in a)r.glyphs.default[String.fromCodePoint(+e)]=a[+e];return r.ranges[i]=!0,{stack:e,id:t,glyph:a[n]||null}}catch(a){let o=r.glyphs.default[t]=await this._drawGlyph(r,e,t);return this._warnOnMissingGlyphRange(o,i,n,Wt(a)),{stack:e,id:t,glyph:o}}}async _loadGlyphRange(e,t){let n=t*256,r=n+255,i=await mr(await this.requestManager.transformRequest(this.url.replace(`{fontstack}`,e).replace(`{range}`,`${n}-${r}`),`Glyphs`),new AbortController);if(!i?.data)throw Error(`Could not load glyph range. range: ${t}, ${n}-${r}`);let a={};for(let e of c_(i.data))a[e.id]=e;return a}_warnOnMissingGlyphRange(e,t,n,r){let i=t*256;En(`Unable to load glyph range ${t}, ${i}-${i+255}. Rendering codepoint U+${n.toString(16).padStart(4,`0`).toUpperCase()} locally instead. ${r}`)}_charUsesLocalIdeographFontFamily(e){return!!this.localIdeographFontFamily&&Ih(e)}async _drawGlyph(e,t,n,r){let i=(await this._getTinySDF(e,t,n,r)).draw(n),a=/^\p{gc=Cf}+$/u.test(n);return{id:n.codePointAt(0),bitmap:new _f({width:i.width||60,height:i.height||60},i.data),metrics:{width:a?0:i.glyphWidth/2||24,height:i.glyphHeight/2||24,left:i.glyphLeft/2+.5||0,top:i.glyphTop/2-27.5||-8,advance:a?0:i.glyphAdvance/2||24,isDoubleResolution:!0}}}_getTinySDF(e,t,n,r){let i=vg(n);if(r){let t=i?`clusterTinySDFs`:`fontFaceTinySDFs`;return e[t]??={},e[t][r]||=this._createTinySDF(r,!1,i?3:1),e[t][r]}let a=t===vT&&this.localIdeographFontFamily!==``&&this._charUsesLocalIdeographFontFamily(n.codePointAt(0)),o=a?this.localIdeographFontFamily:t;if(i)return e.clusterTinySDFs??={},e.clusterTinySDFs[o]||=this._createTinySDF(o,!0,3),e.clusterTinySDFs[o];let s=a?`ideographTinySDF`:`tinySDF`;return e[s]||=this._createTinySDF(o),e[s]}async _createTinySDF(e,t=!0,n=1){let r=e?e.split(`,`):[];r.push(`sans-serif`);let i=r.map(e=>/[-\w]+/.test(e)?e:`'${CSS.escape(e)}'`).join(`,`),a=t?this._fontWeight(r[0]):void 0,o=t?this._fontStyle(r[0]):`normal`;if(typeof document<`u`&&document.fonts?.load)try{await document.fonts.load(`${o} ${a||`normal`} 48px ${i}`)}catch(e){En(`Failed to load font "${i}": ${Wt(e).message}`)}return this.createRasterizer({fontSize:48,buffer:Math.max(6,Math.ceil(48*(n-1)/4)),radius:16,cutoff:.25,fontFamily:i,fontWeight:a,fontStyle:o,lang:this.lang},6)}_fontStyle(e){return/italic/i.test(e)?`italic`:/oblique/i.test(e)?`oblique`:`normal`}_fontWeight(e){let t={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},n;for(let[r,i]of Object.entries(t))RegExp(`\\b${r}\\b`,`i`).test(e)&&(n=`${i}`);return n}destroy(){for(let e in this.entries){let t=this.entries[e];t.tinySDF=null,t.ideographTinySDF=null,t.fontFaceTinySDFs={},t.glyphs={default:{}},t.requests={},t.ranges={}}this.entries={},this.fontFaceManager.destroy()}},xT,ST=()=>
vendor: 46,559 bytes, line 1
1xT||=new Dl({anchor:new G(R.light.anchor,`anchor`),position:new G(R.light.position,`position`),color:new G(R.light.color,`color`),intensity:new G(R.light.intensity,`intensity`)}),CT=class extends br{constructor(e,t){super(),this._transitionable=new gl(ST(),`light`,t),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}getCartesianPosition(){return kn(this.properties.get(`position`))}setLight(e,t={}){this._validate(Qc.light,e,t)||this._transitionable.setValues(e)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n){return rl(this,e,{value:t},n)}},wT,TT=()=>wT||=new Dl({"sky-color":new G(R.sky[`sky-color`],`sky-color`),"horizon-color":new G(R.sky[`horizon-color`],`horizon-color`),"fog-color":new G(R.sky[`fog-color`],`fog-color`),"fog-ground-blend":new G(R.sky[`fog-ground-blend`],`fog-ground-blend`),"horizon-fog-blend":new G(R.sky[`horizon-fog-blend`],`horizon-fog-blend`),"sky-horizon-blend":new G(R.sky[`sky-horizon-blend`],`sky-horizon-blend`),"atmosphere-blend":new G(R.sky[`atmosphere-blend`],`atmosphere-blend`)}),ET=class extends br{constructor(e,t){super(),this._transitionable=new gl(TT(),`sky`,t),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new pl(0))}setSky(e,t={}){return!this._validate(Qc.sky,e,t)&&(e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0},this._transitionable.setValues(e),!0)}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n={}){return rl(this,e,{value:t},n)}calculateFogBlendOpacity(e){return e<60?0:e<70?(e-60)/10:1}},DT=class{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(`,`)+String(t);return this.dashEntry[n]||=this.addDash(e,t),this.dashEntry[n]}getDashRanges(e,t,n){let r=e.length%2==1,i=[],a=r?-e[e.length-1]*n:0,o=e[0]*n,s=!0;i.push({left:a,right:o,isDash:s,zeroLength:e[0]===0});let c=e[0];for(let t=1;t<e.length;t++){s=!s;let r=e[t];a=c*n,c+=r,o=c*n,i.push({left:a,right:o,isDash:s,zeroLength:r===0})}return i}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.nextRow+n+t,a=this.width*i,o=0,s=e[o];for(let i=0;i<this.width;i++){i/s.right>1&&(s=e[++o]);let c=Math.abs(i-s.left),l=Math.abs(i-s.right),u=Math.min(c,l),d,f=t/n*(r+1);if(s.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r?.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o),c=a.isDash?s:-s;this.data[r+t]=Math.max(0,Math.min(255,c+128))}}addDash(e,t){let n=t?7:0,r=2*n+1;if(this.nextRow+r>this.height)return En(`LineAtlas out of space`),null;let i=0;for(let t of e)i+=t;if(i!==0){let r=this.width/i,a=this.getDashRanges(e,this.width,r);t?this.addRoundDash(a,r,n):this.addRegularDash(a)}let a={y:this.nextRow+n,height:2*n,width:i};return this.nextRow+=r,this.dirty=!0,a}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}};function OT(e){if(!e)return!1;let t=globalThis.location;if(!t)return!1;try{return new URL(e,t.href).origin!==t.origin}catch{return!1}}function kT(){let e=import.meta.url;if(!/^https?:/.test(e))return``;let t=e.endsWith(`-dev.mjs`)?`maplibre-gl-worker-dev.mjs`:`maplibre-gl-worker.mjs`;return new URL(`./${t}`,e).href}function AT(e,t){if(t)try{return new Worker(e,{type:`module`})}catch(e){console.warn(`Module worker not supported, falling back to classic worker`,e)}return new Worker(e)}async function jT(e){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch worker script (${t.status}): ${e}`);let n=await t.text(),r=new Blob([n],{type:`text/javascript`});return URL.createObjectURL(r)}function MT(e){let t=new Blob([`import ${JSON.stringify(new URL(e,import.meta.url).href)}`],{type:`text/javascript`});return URL.createObjectURL(t)}async function NT(){let e=nr.WORKER_URL||kT(),t=!e?.endsWith(`.cjs`);if(!OT(e))return AT(e,t);if(t){let n=MT(e);try{return AT(n,t)}finally{URL.revokeObjectURL(n)}}let n=await jT(e);try{return AT(n,t)}finally{URL.revokeObjectURL(n)}}var PT=`maplibre_preloaded_worker_pool`,FT=class e{constructor(){this.active={},this.workersPromise=null}async acquire(t){if(this.active[t]=!0,!this.workersPromise){let t=[];for(;t.length<e.workerCount;)t.push(NT());this.workersPromise=Promise.all(t)}return(await this.workersPromise).slice()}release(e){if(delete this.active[e],this.numActive()===0&&this.workersPromise){let e=this.workersPromise;this.workersPromise=null,e.then(e=>{for(let t of e)t.terminate()})}}isPreloaded(){return!!this.active[PT]}numActive(){return Object.keys(this.active).length}},IT=Math.floor(fw.hardwareConcurrency/2);FT.workerCount=Nn(globalThis)?Math.max(Math.min(IT,3),1):1;var LT;function RT(){return LT||=new FT,LT}function zT(){RT().acquire(PT)}function BT(){let e=LT;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(PT),LT=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))}var VT=class extends br{constructor(e,t){super(),this.workerPool=e,this.actors=[],this.currentActor=0,this.id=t,this.removed=!1,this.workerErrorSubscriptions=[],this.actorsPromise=this.initActors(t)}async initActors(e){let t=await this.workerPool.acquire(e);if(this.removed)return[];if(this.actors=t.map((t,n)=>{this.workerErrorSubscriptions.push(zn(t,`error`,()=>{this.fire(new L(Error(`Worker failed to load. Check that the worker URL is correct.`)))},!1));let r=new ly(t,e);return r.name=`Worker ${n}`,r}),!this.actors.length)throw Error(`No actors found`);return this.actors}async broadcast(e,t){let n=await this.actorsPromise;return Promise.all(n.map(n=>n.sendAsync({type:e,data:t})))}async getActor(){let e=await this.actorsPromise;return this.currentActor=(this.currentActor+1)%e.length,e[this.currentActor]}async waitForInitComplete(){this.actors.length===0&&await this.actorsPromise}getReadyActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(e=!0){this.removed=!0;for(let e of this.actors)e.remove();for(let e of this.workerErrorSubscriptions)e.unsubscribe();this.actors=[],this.workerErrorSubscriptions=[],this.setEventedParent(null),e&&this.workerPool.release(this.id)}async registerMessageHandler(e,t){let n=await this.actorsPromise;for(let r of n)r.registerMessageHandler(e,t)}async unregisterMessageHandler(e){let t=await this.actorsPromise;for(let n of t)n.unregisterMessageHandler(e)}},HT;function UT(){return HT||(HT=new VT(RT(),or),HT.registerMessageHandler(`GR`,(e,t,n)=>fr(t,n))),HT}function WT(e,t){let n=Fe();return Ve(n,n,[1,1,0]),He(n,n,[e.width*.5,e.height*.5,1]),e.calculatePosMatrix?Be(n,n,e.calculatePosMatrix(t.toUnwrapped())):n}function GT(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}function KT(e,t,n,r,i,a,o){let s=GT(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(YT);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,WT(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return ZT(XT(u),e)}function qT(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(YT);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||=[];let t=r[e];t.sort((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex});for(let n of t)s[e].push(n)}}return QT(s,e,n)}function JT(e,t){let n=e.getRenderableIds().map(t=>e.getTileByID(t)),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}function YT(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function XT(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||={};let e=n[i];for(let n in r){let i=r[n];e[n]||={};let a=e[n];t[n]||=[];for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}function ZT(e,t){for(let n in e)for(let r of e[n])$T(r,t);return e}function QT(e,t,n){for(let r in e)for(let i of e[r]){let e=n[t[r].source];$T(i,e)}return e}function $T(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}async function eE(e,t,n,r){let i=e;if(e.url?i=(await pr(await t.transformRequest(e.url,`Source`),n)).data:await fw.frameAsync(n,r),!i)return null;let a=pn(I(i,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a}var tE=class e{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof X?new X(e.lng,e.lat):X.convert(e),this}setSouthWest(e){return this._sw=e instanceof X?new X(e.lng,e.lat):X.convert(e),this}extend(t){let n=this._sw,r=this._ne,i,a;if(t instanceof X)i=t,a=t;else if(t instanceof e){if(i=t._sw,a=t._ne,!i||!a)return this}else{if(Array.isArray(t)){if(t.length===4||t.every(Array.isArray)){let n=t;return this.extend(e.convert(n))}{let e=t;return this.extend(X.convert(e))}}return t&&(`lng`in t||`lon`in t)&&`lat`in t?this.extend(X.convert(t)):this}return!n&&!r?(this._sw=new X(i.lng,i.lat),this._ne=new X(a.lng,a.lat)):(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)),this}getCenter(){return new X((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new X(this.getWest(),this.getNorth())}getSouthEast(){return new X(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:t,lat:n}=X.convert(e),r=this._sw.lat<=n&&n<=this._ne.lat,i=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=t&&t>=this._ne.lng),r&&i}intersects(t){if(t=e.convert(t),!(t.getNorth()>=this.getSouth()&&t.getSouth()<=this.getNorth()))return!1;let n=Math.abs(this.getEast()-this.getWest()),r=Math.abs(t.getEast()-t.getWest());if(n>=360||r>=360)return!0;let i=fn(this.getWest(),-180,180),a=fn(this.getEast(),-180,180),o=fn(t.getWest(),-180,180),s=fn(t.getEast(),-180,180),c=i>a,l=o>s;return c&&l?!0:c?s>=i||o<=a:l?a>=o||i<=s:o<=a&&s>=i}static convert(t){return t instanceof e||!t?t:new e(t)}static fromLngLat(t,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*t.lat);return new e(new X(t.lng-i,t.lat-r),new X(t.lng+i,t.lat+r))}adjustAntiMeridian(){let t=new X(this._sw.lng,this._sw.lat),n=new X(this._ne.lng,this._ne.lat);return t.lng>n.lng?new e(t,new X(n.lng+360,n.lat)):new e(t,n)}},nE=class{constructor(e,t,n){this.bounds=tE.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}validateBounds(e){return!Array.isArray(e)||e.length!==4?[-180,-90,180,90]:[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]}contains(e){let t=2**e.z,n={minX:Math.floor(Cm(this.bounds.getWest())*t),minY:Math.floor(wm(this.bounds.getNorth())*t),maxX:Math.ceil(Cm(this.bounds.getEast())*t),maxY:Math.ceil(wm(this.bounds.getSouth())*t)};return e.x>=n.minX&&e.x<n.maxX&&e.y>=n.minY&&e.y<n.maxY}},rE=class extends br{constructor(e,t,n,r){if(super(),this.id=e,this.dispatcher=n,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,I(this,pn(t,[`url`,`scheme`,`tileSize`,`promoteId`,`encoding`])),this._options=I({type:`vector`},t),this._collectResourceTiming=t.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(r)}async load(e=!1){this._loaded=!1,this.fire(new kw(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await eE(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(I(this,t),t.bounds&&(this.tileBounds=new nE(t.bounds,this.minzoom,this.maxzoom)),this.fire(new kw(`data`,{sourceDataType:`metadata`})),this.fire(new kw(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,er(e)||this.fire(new L(Wt(e)))}}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return I({},this._options)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:await this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:await this._getOverzoomParameters(e),etag:e.etag};if(n.request.collectResourceTiming=this._collectResourceTiming,await this.dispatcher.waitForInitComplete(),e.aborted)return;let r=`RT`;if(!e.actor||e.state===`expired`)e.actor=this.dispatcher.getReadyActor(),r=`LT`;else if(e.state===`loading`)return new Promise((t,n)=>{e.reloadPromise={resolve:t,reject:n}});e.abortController=new AbortController;try{let t=await e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t);let i={};return t?.etagUnmodified&&(i.unmodified=!0),i}catch(t){if(delete e.abortController,e.aborted||er(t))return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}async _getOverzoomParameters(e){if(e.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let t=e.tileID.scaledTo(this.maxzoom).canonical,n=t.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:t,overzoomRequest:await this.map._requestManager.transformRequest(n,`Tile`)}}_afterTileLoadWorkerResponse(e,t){if(t?.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.etag=t?.etag,e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&await e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.type,source:this.id}})}async unloadTile(e){e.unloadVectorData(),e.actor&&await e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}hasTransition(){return!1}},iE=class extends br{constructor(e,t,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._premultiplyAlpha=!0,this._options=I({type:`raster`},t),I(this,pn(t,[`url`,`scheme`,`tileSize`]))}async load(e=!1){this._loaded=!1,this.fire(new kw(`dataloading`)),this._tileJSONRequest=new AbortController;try{let t=await eE(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(I(this,t),t.bounds&&(this.tileBounds=new nE(t.bounds,this.minzoom,this.maxzoom)),this.fire(new kw(`data`,{sourceDataType:`metadata`})),this.fire(new kw(`data`,{sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,er(e)||this.fire(new L(Wt(e)))}}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return I({},this._options)}setPremultiplyAlpha(e){return this._premultiplyAlpha===e||this.setSourceProperty(()=>{this._premultiplyAlpha=e}),this}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this._premultiplyAlpha,r=n?void 0:{premultiplyAlpha:`none`};e.abortController=new AbortController;try{let i=await ww.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,r);if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(i){this.map._refreshExpiredTiles&&(i.cacheControl||i.expires)&&e.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});let t=this.map.painter.context,r=t.gl,a=i.data??new vf({width:1,height:1},new Uint8Array(4));e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0,premultiply:n}):(e.texture=new Nf(t,a,r.RGBA,{useMipmap:!0,premultiply:n}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController)}async unloadTile(e){e.texture&&this.map.painter.saveTileTexture(e.texture)}hasTransition(){return!1}},aE=class extends iE{constructor(e,t,n,r){super(e,t,n,r),this.type=`raster-dem`,this.maxzoom=22,this._options=I({type:`raster-dem`},t),this.encoding=t.encoding||`mapbox`,this.redFactor=t.redFactor,this.greenFactor=t.greenFactor,this.blueFactor=t.blueFactor,this.baseShift=t.baseShift}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=await ww.transformAndGetImage(this.map._requestManager,t,`Tile`,e.abortController,this.map._refreshExpiredTiles,{colorSpaceConversion:`none`});if(delete e.abortController,e.aborted){e.state=`unloaded`;return}if(n){if(this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires}),!n.data){e.state=`loaded`;return}let t=n.data,r=Pn(t)&&De()?t:await this.readImageNow(t),i={type:this.type,uid:e.uid,source:this.id,rawImageData:r,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(e.actor&&e.state!==`expired`&&e.state!==`reloading`)return;await this.dispatcher.waitForInitComplete(),(!e.actor||e.state===`expired`)&&(e.actor=this.dispatcher.getReadyActor()),e.dem=await e.actor.sendAsync({type:`LDT`,data:i}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0,e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}async readImageNow(e){if(typeof VideoFrame<`u`&&ke()){let t=e.width+4,n=e.height+4;try{return new vf({width:t,height:n},await Rn(e,-2,-2,t,n))}catch{}}return fw.getImageData(e,2)}_getNeighboringTiles(e){let t=e.canonical,n=2**t.z,r=(t.x-1+n)%n,i=t.x===0?e.wrap-1:e.wrap,a=(t.x+1+n)%n,o=t.x+1===n?e.wrap+1:e.wrap,s={};return s[new my(e.overscaledZ,i,t.z,r,t.y).key]={backfilled:!1},s[new my(e.overscaledZ,o,t.z,a,t.y).key]={backfilled:!1},t.y>0&&(s[new my(e.overscaledZ,i,t.z,r,t.y-1).key]={backfilled:!1},s[new my(e.overscaledZ,e.wrap,t.z,t.x,t.y-1).key]={backfilled:!1},s[new my(e.overscaledZ,o,t.z,a,t.y-1).key]={backfilled:!1}),t.y+1<n&&(s[new my(e.overscaledZ,i,t.z,r,t.y+1).key]={backfilled:!1},s[new my(e.overscaledZ,e.wrap,t.z,t.x,t.y+1).key]={backfilled:!1},s[new my(e.overscaledZ,o,t.z,a,t.y+1).key]={backfilled:!1}),s}async unloadTile(e){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&await e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}})}};function oE(e,t){return t?e.properties[t]:e.id}function sE(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=oE(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=oE(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}function cE(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=oE(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o={...t};if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:{...o.properties||{}},n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}function lE(e,t,n){if(!e)return t||{};if(!t)return e||{};let r=fE(e,n),i=fE(t,n);uE(r,i);let a={};if((r.removeAll||i.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...i.remove]),a.add=new Map([...r.add,...i.add]),a.update=new Map([...r.update,...i.update]),a.remove.size&&a.add.size)for(let e of a.add.keys())a.remove.delete(e);return pE(a)}function uE(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,dE(i,r)),e.update.delete(n))}}function dE(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let n=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter(e=>!n.has(e.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function fE(e,t){if(!e)return{};let n={};return n.removeAll=e.removeAll,n.remove=new Set(e.remove||[]),n.add=new Map(e.add?.map(e=>[oE(e,t),e])),n.update=new Map(e.update?.map(e=>[e.id,e])),n}function pE(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function mE(e){return!e||e.length===0?[]:typeof e[0]==`number`?[e]:e.flatMap(e=>mE(e))}function hE(e){return e.type===`GeometryCollection`?e.geometries.flatMap(e=>hE(e)):mE(e.coordinates)}function gE(e){let t=new tE,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap(e=>hE(e.geometry));break;case`Feature`:n=hE(e.geometry);break;default:n=hE(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}function _E({x:e,y:t,z:n},r=0){let i=Em((e-r)/2**n),a=Dm((t+1+r)/2**n),o=Em((e+1+r)/2**n),s=Dm((t-r)/2**n);return new tE([i,a],[o,s])}var vE=class extends br{constructor(e,t,n,r){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._isUpdatingWorker=!1,this._pendingWorkerUpdate={data:t.data},this.actorPromise=n.getActor(),this.setEventedParent(r),this._data=typeof t.data==`string`?{url:t.data}:{geojson:t.data},this._options=I({},t),this._collectResourceTiming=t.collectResourceTiming,t.maxzoom!==void 0&&(this.maxzoom=t.maxzoom),t.type&&(this.type=t.type),t.attribution&&(this.attribution=t.attribution),this.promoteId=t.promoteId,t.clusterMaxZoom!==void 0&&this.maxzoom<=t.clusterMaxZoom&&En(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${t.clusterMaxZoom}".`),this.workerOptions=I({source:this.id,geojsonVtOptions:{buffer:this._pixelsToTileUnits(t.buffer===void 0?128:t.buffer),tolerance:this._pixelsToTileUnits(t.tolerance===void 0?.375:t.tolerance),extent:P,maxZoom:this.maxzoom,lineMetrics:t.lineMetrics||!1,generateId:t.generateId||!1,promoteId:this._promoteIdKey,cluster:t.cluster||!1,clusterOptions:{maxZoom:this._getClusterMaxZoom(t.clusterMaxZoom),minPoints:Math.max(2,t.clusterMinPoints||2),extent:P,radius:this._pixelsToTileUnits(t.clusterRadius||50),log:!1,generateId:t.generateId||!1}},clusterProperties:t.clusterProperties,filter:t.filter},t.workerOptions)}get _promoteIdKey(){return typeof this.promoteId==`string`?this.promoteId:void 0}_hasPendingWorkerUpdate(){return this._pendingWorkerUpdate.data!==void 0||this._pendingWorkerUpdate.diff!==void 0||this._pendingWorkerUpdate.updateCluster}_pixelsToTileUnits(e){return e*(P/this.tileSize)}_tileUnitsToPixels(e){return e/(P/this.tileSize)}_getClusterMaxZoom(e){let t=e?Math.round(e):this.maxzoom-1;return Number.isInteger(e)||e===void 0||En(`Integer expected for option 'clusterMaxZoom': provided value "${e}" rounded to "${t}"`),t}async load(){await this._updateWorkerData()}onAdd(e){this.map=e,this.load()}setData(e){return this._data=typeof e==`string`?{url:e}:{geojson:e},this._pendingWorkerUpdate={data:e},this._updateWorkerData()}updateData(e){return this._pendingWorkerUpdate.diff=lE(this._pendingWorkerUpdate.diff,e,this._promoteIdKey),this._updateWorkerData()}async getData(){return this._data.url&&await this.once(`data`),this._data.geojson?this._data.geojson:{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}}async getBounds(){return gE(await this.getData())}setClusterOptions(e){return this.workerOptions.geojsonVtOptions.cluster=e.cluster,e.clusterRadius!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom=this._getClusterMaxZoom(e.clusterMaxZoom)),this._pendingWorkerUpdate.updateCluster=!0,this._updateWorkerData()}getClusterOptions(){let{cluster:e,clusterOptions:t}=this.workerOptions.geojsonVtOptions;return{cluster:e,clusterMaxZoom:t.maxZoom,clusterRadius:this._tileUnitsToPixels(t.radius)}}async getClusterExpansionZoom(e){return(await this.actorPromise).sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterChildren(e){return(await this.actorPromise).sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}async getClusterLeaves(e,t,n){return(await this.actorPromise).sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}async _updateWorkerData(){if(this._isUpdatingWorker)return this._updatePromise;if(!this._hasPendingWorkerUpdate()){En(`No pending worker updates for GeoJSONSource ${this.id}.`);return}let{data:e,diff:t,updateCluster:n}=this._pendingWorkerUpdate,r=this._getLoadGeoJSONParameters(e,t,n);e===void 0?t?this._pendingWorkerUpdate.diff=void 0:n&&(this._pendingWorkerUpdate.updateCluster=void 0):this._pendingWorkerUpdate.data=void 0,this._updatePromise=this._dispatchWorkerUpdate(r),await this._updatePromise}async _getLoadGeoJSONParameters(e,t,n){let r=I({type:this.type,source:this.id},this.workerOptions);if(typeof e==`string`)return r.request=await this.map._requestManager.transformRequest(fw.resolveURL(e),`Source`),r.request.collectResourceTiming=this._collectResourceTiming,r;if(e!==void 0)return r.data=e,r;if(t)return r.dataDiff=t,r;if(n)return r.updateCluster=!0,r}async _dispatchWorkerUpdate(e){this._isUpdatingWorker=!0,this.fire(new kw(`dataloading`));try{let t=await e,n=await(await this.actorPromise).sendAsync({type:`LD`,data:t});if(this._isUpdatingWorker=!1,this._removed||n.abandoned){this.fire(new kw(`dataabort`));return}n.data&&(this._data={geojson:n.data});let r=this._applyDiffToSource(t.dataDiff),i=this._getShouldReloadTileOptions(r),a={};this._applyResourceTiming(a,n),this.fire(new kw(`data`,{...a,sourceDataType:`metadata`})),this.fire(new kw(`data`,{...a,sourceDataType:`content`,shouldReloadTileOptions:i}))}catch(e){if(this._isUpdatingWorker=!1,this._removed){this.fire(new kw(`dataabort`));return}this.fire(new L(Wt(e)))}finally{this._hasPendingWorkerUpdate()&&await this._updateWorkerData()}}_applyResourceTiming(e,t){if(!this._collectResourceTiming)return;let n=t.resourceTiming?.[this.id];if(!n)return;let r=n.slice(0);r?.length&&I(e,{resourceTiming:r})}_applyDiffToSource(e){if(!e)return;let t=this._promoteIdKey;if(!this._data.url&&!this._data.updateable){let e=sE(this._data.geojson,t);if(!e)throw Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:e}}if(!this._data.updateable)return;let n=cE(this._data.updateable,e,t);if(!(e.removeAll||this._options.cluster))return n}_getShouldReloadTileOptions(e){if(e)return{affectedBounds:e.filter(Boolean).map(e=>gE(e))}}shouldReloadTile(e,{affectedBounds:t}){if(e.state===`loading`)return!0;if(e.state===`unloaded`)return!1;let{buffer:n,extent:r}=this.workerOptions.geojsonVtOptions,i=_E(e.tileID.canonical,n/r);for(let e of t)if(i.intersects(e))return!0;return!1}loaded(){return!this._isUpdatingWorker&&!this._hasPendingWorkerUpdate()}async loadTile(e){let t=e.actor?`RT`:`LT`;e.actor=await this.actorPromise;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;try{let r=await(await this.actorPromise).sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.painter,t===`RT`)}catch(t){if(delete e.abortController,e.aborted||er(t))return;throw t}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}async unloadTile(e){e.unloadVectorData(),await(await this.actorPromise).sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}onRemove(){this._removed=!0,this.actorPromise.then(e=>e.sendAsync({type:`RS`,data:{type:this.type,source:this.id}}))}serialize(){return I({},this._options,{type:this.type,data:this._data.updateable?{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}},yE=[0,0,1],bE=(e,t)=>({u_tl_parent:new Y(e,t.u_tl_parent),u_scale_parent:new J(e,t.u_scale_parent),u_buffer_scale:new J(e,t.u_buffer_scale),u_image_warp:new id(e,t.u_image_warp),u_fade_t:new J(e,t.u_fade_t),u_opacity:new J(e,t.u_opacity),u_image0:new q(e,t.u_image0),u_image1:new q(e,t.u_image1),u_brightness_low:new J(e,t.u_brightness_low),u_brightness_high:new J(e,t.u_brightness_high),u_saturation_factor:new J(e,t.u_saturation_factor),u_contrast_factor:new J(e,t.u_contrast_factor),u_spin_weights:new id(e,t.u_spin_weights),u_coords_top:new ad(e,t.u_coords_top),u_coords_bottom:new ad(e,t.u_coords_bottom)}),xE=(e,t,n,r,i,a)=>({u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_image_warp:a,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:wE(r.paint.get(`raster-saturation`)),u_contrast_factor:CE(r.paint.get(`raster-contrast`)),u_spin_weights:SE(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]});function SE(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function CE(e){return e>0?1/(1-e):1+e}function wE(e){return e>0?1-1/(1.001-e):-e}var TE=class{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}},EE=zl([{name:`a_pos`,type:`Int16`,components:2}]),DE=P/128;function OE(e,t){let n=kE(t,`16bit`),r=wu.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),i=Vu.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new TE(e.createVertexBuffer(r,EE.members),e.createIndexBuffer(i),Ku.simpleSegment(0,0,r.length,i.length))}function kE(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),i=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,o=i+1,s=e.generateBorders?-1:0,c=e.generateBorders||e.extendToNorthPole?-1:0,l=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*o,f=r*i*6,p=a*o>65536;if(p&&t===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let m=p||t===`32bit`,h=new Int16Array(d*2),g=0;for(let t=c;t<=u;t++)for(let r=s;r<=l;r++){let i=r/n*P;r===-1&&(i=-DE),r===n+1&&(i=8192+DE);let a=t/n*P;t===-1&&(a=e.extendToNorthPole?-32768:-DE),t===n+1&&(a=e.extendToSouthPole?32767:8192+DE),h[g++]=i,h[g++]=a}let _=m?new Uint32Array(f):new Uint16Array(f),v=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let n=t+e*a,r=t+1+e*a,i=t+(e+1)*a,o=t+1+(e+1)*a;_[v++]=n,_[v++]=i,_[v++]=r,_[v++]=r,_[v++]=i,_[v++]=o}return{vertices:h.buffer.slice(0),indices:_.buffer.slice(0),uses32bitIndices:m}}var AE=class extends br{constructor(e,t,n,r){super(),this.imageWarp=yE,this.flippedWindingOrder=!1,this._warp=`auto`,this._imageDirty=!1,this._subdividedQuad=!1,this._subdividedMesh=null,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}async load(e){if(this.options.url===void 0){this._loaded=!0,this._finishLoading();return}this._loaded=!1,this.fire(new kw(`dataloading`)),this.url=this.options.url,this._abortController=new AbortController;try{let t=await ww.transformAndGetImage(this.map._requestManager,this.url,`Image`,this._abortController);this._abortController=null,this._loaded=!0,t?.data?(this._setImage(t.data),e&&(this.coordinates=e),this._finishLoading()):this.fire(new L(Error(`Could not load image ${this.url}: the response is empty`)))}catch(e){if(er(e))return;this._abortController=null,this._loaded=!0,this.fire(new L(Wt(e)))}}loaded(){return this._loaded}updateImage(e){return this._abortController&&=(this._abortController.abort(),null),`image`in e?(this._loaded=!0,this._setImage(e.image),e.coordinates&&(this.coordinates=e.coordinates),this._finishLoading(),this):e.url?(this.options.url=e.url,this.load(e.coordinates),this):this}_setImage(e){this.image=e,this._imageDirty=!0}getMesh(e,t){return!this._subdividedQuad||t?null:(this._subdividedMesh??=OE(e,{granularity:16}),this._subdividedMesh)}_disposeTexture(){this.texture?.destroy(),this.texture=null}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new kw(`data`,{sourceDataType:`metadata`})))}onAdd(e){this.map=e,this.load()}onRemove(){this._abortController&&=(this._abortController.abort(),null),this._disposeTexture(),this._subdividedMesh?.destroy(),this._subdividedMesh=null,this.image=null,this.tiles={}}setWarp(e){return this._warp===e?this:(this._warp=e,this.tileCoords&&this.setCoordinates(this.coordinates),this)}getWarp(){return this._warp}setCoordinates(e){this.coordinates=e;let t=e.map(Am.fromLngLat);return this.tileID=jE(t),this.terrainTileRanges=this._getOverlappingTileRanges(t),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=t.map(e=>this.tileID.getTilePoint(e)._round()),this.imageWarp=NE(this.tileCoords,this._warp),this._subdividedQuad=this.imageWarp[2]>0&&!FE(this.tileCoords),this.flippedWindingOrder=ME(this.tileCoords),this.fire(new kw(`data`,{sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,t=e.gl;this.texture?this._imageDirty&&(this.texture.update(this.image),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)):(this.texture=new Nf(e,this.image,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this._imageDirty=!1;let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new kw(`data`,{sourceDataType:`idle`,sourceId:this.id}))}async loadTile(e){this.tileID?.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}serialize(){let e={type:`image`,coordinates:this.coordinates};return this.options.url!==void 0&&(e.url=this.options.url),e}hasTransition(){return!1}_getOverlappingTileRanges(e){let{minX:t,minY:n,maxX:r,maxY:i}=um.fromPoints(e),a={};for(let e=0;e<=25;e++){let o=2**e,s=Math.floor(t*o),c=Math.floor(n*o),l=Math.floor(r*o),u=Math.floor(i*o),d=(s%o+o)%o,f=l%o,p=Math.floor(s/o),m=Math.floor(l/o);a[e]={minWrap:p,maxWrap:m,minTileXWrapped:d,maxTileXWrapped:f,minTileY:c,maxTileY:u}}return a}};function jE(e){let t=um.fromPoints(e),n=t.width(),r=t.height(),i=Math.max(0,Math.floor(-Math.log(Math.max(n,r))/Math.LN2)),a=2**i;return new fy(i,Math.floor((t.minX+t.maxX)/2*a),Math.floor((t.minY+t.maxY)/2*a))}function ME(e){let t=e[1].x-e[0].x,n=e[1].y-e[0].y,r=e[2].x-e[0].x;return t*(e[2].y-e[0].y)-n*r<0}function NE(e,t){if(t===`flat`||FE(e))return yE;let[n,r,i,a]=e,o=n.x-r.x+i.x-a.x,s=n.y-r.y+i.y-a.y,c=[r.x-i.x,r.y-i.y,a.x-i.x,a.y-i.y],[l,u,d,f]=c,p=sw(c),m=(o*f-d*s)/p,h=(l*s-o*u)/p,g=[1,1+m,1+m+h,1+h],_=Math.max(...g)/Math.min(...g),v=t===`perspective`?0:PE(_);return!(_>=1&&_<=512)||v>=1?yE:[m,h,v]}function PE(e){let t=(1-4/e)/(1-4/512);return Math.max(0,t)}function FE(e){let[t,n,r,i]=e;return t.x+r.x===n.x+i.x&&t.y+r.y===n.y+i.y}var IE=class extends AE{constructor(e,t,n,r){super(e,t,n,r),this._onPlayingHandler=()=>{this.map?.triggerRepaint()},this.roundZoom=!0,this.type=`video`,this.options=t}async load(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push((await this.map._requestManager.transformRequest(t,`Source`)).url);try{let e=await gr(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new L(Wt(e)))}}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let t=this.video.seekable;e<t.start(0)||e>t.end(0)?this.fire(new L(new z(`sources.${this.id}`,null,`Playback for this video can be set only between the ${t.start(0)} and ${t.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener(`playing`,this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,t=e.gl;this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new Nf(e,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,n=!0)}n&&this.fire(new kw(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},LE=class extends AE{constructor(e,t,n,r){super(e,t,n,r),t.coordinates?(!Array.isArray(t.coordinates)||t.coordinates.length!==4||t.coordinates.some(e=>!Array.isArray(e)||e.length!==2||e.some(e=>typeof e!=`number`)))&&this.fire(new L(new z(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new L(new z(`sources.${e}`,null,`missing required property "coordinates"`))),t.animate&&typeof t.animate!=`boolean`&&this.fire(new L(new z(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),t.canvas?typeof t.canvas!=`string`&&!(t.canvas instanceof HTMLCanvasElement)&&this.fire(new L(new z(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new L(new z(`sources.${e}`,null,`missing required property "canvas"`))),this.options=t,this.animate=t.animate===void 0||t.animate}async load(){if(this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new L(Error(`Canvas dimensions cannot be less than or equal to zero.`)));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading()}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this._playing=!1,super.onRemove()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let t=this.map.painter.context,n=t.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new Nf(t,this.canvas,n.RGBA,{premultiply:!0}),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new kw(`data`,{sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},RE={},zE=(e,t,n,r)=>{let i=new(BE(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i},BE=e=>{switch(e){case`geojson`:return vE;case`image`:return AE;case`raster`:return iE;case`raster-dem`:return aE;case`vector`:return rE;case`video`:return IE;case`canvas`:return LE}return RE[e]},VE=(e,t)=>{RE[e]=t},HE=async(e,t)=>{if(BE(e))throw Error(`A source type called "${e}" already exists.`);VE(e,t)};function UE(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map(e=>t.getLayer(e)).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0]));for(let t of e)n[t.id]=r}}return n}var WE=`RTLPluginLoaded`,GE=class extends br{constructor(...e){super(...e),this.status=`unavailable`,this.url=null,this.dispatcher=UT()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch(e=>{throw this.status=`error`,e})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}async setRTLTextPlugin(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=fw.resolveURL(e),!this.url)throw Error(`requested url ${e}
1 is invalid`);if(this.status===`unavailable`){if(t)this.status=`deferred`,this._syncState(this.status);else return this._requestImport()}else if(this.status===`requested`)return this._requestImport()}async _requestImport(){await this._syncState(`loading`),this.status=`loaded`,this.fire(new yr(WE))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}},KE=null;function qE(){return KE||=new GE,KE}var JE=class{constructor(e,t){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=e,this.uid=hn(),this.uses=0,this.tileSize=t,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rttObjects=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state=`loading`,this.featureStateRevision=-1}isRenderable(e){return this.hasData()&&(!this.fadeEndTime||this.fadingDirection!==0||this.fadeOpacity>0)&&(e||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:e,fadingDirection:t,fadingParentID:n,fadeEndTime:r}){this.resetFadeLogic(),this.fadingRole=e,this.fadingDirection=t,this.fadingParentID=n,this.fadeEndTime=r}setSelfFadeLogic(e){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=e}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=mw(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}getRTT(e){return this.rttObjects[e]}acquireRTT(e,t,n){return this.rttObjects[t]=e.acquireRTT(n)}releaseRTT(e){if(this.rttObjects.length!==0){for(let t of this.rttObjects)t&&e.releaseRTT(t);this.rttObjects.length=0}}loadVectorData(e,t,n){if(e?.etagUnmodified===!0){this.state=`loaded`;return}if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,!e){this.collisionBoxArray=new pu;return}e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestEncoding=e.encoding,this.latestFeatureIndex.rawTileData=e.rawTileData,this.latestFeatureIndex.encoding=e.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=UE(e.buckets,t?.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Vv){if(this.hasSymbolBuckets=!0,n)t.justReloaded=!0;else break}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let t=this.buckets[e];if(t instanceof Vv&&t.hasRTLText){this.hasRTLText=!0,qE().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let n=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(e).queryRadius(n))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),this.dashPositions=e.dashPositions}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Nf(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new Nf(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex?.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,t){let n=this.latestFeatureIndex;if(!n?.rawTileData)return;let r=n.loadVTLayers(),i=t?.sourceLayer?t.sourceLayer:``,a=r._geojsonTileLayer||r[i];if(!a)return;let o=Us(t?.filter,`querySourceFeatures[${i}].filter`,t?.globalState),{z:s,x:c,y:l}=this.tileID.canonical,u={z:s,x:c,y:l};for(let t=0;t<a.length;t++){let r=a.feature(t);if(o.needGeometry){let e=Dd(r,!0);
vendor: 65,799 bytes, line 1
1if(!o.filter(new pl(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!o.filter(new pl(this.tileID.overscaledZ),r))continue;let d=new Cy(r,s,c,l,n.getId(r,i));d.tile=u,e.push(d)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let t=this.expirationTime;if(e.cacheControl){let t=jn(e.cacheControl);t[`max-age`]&&(this.expirationTime=Date.now()+t[`max-age`]*1e3)}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),n=!1;if(this.expirationTime>e)n=!1;else if(!t)n=!0;else if(this.expirationTime<t)n=!0;else{let r=this.expirationTime-t;r?this.expirationTime=e+Math.max(r,3e4):n=!0}n?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,t,n){if(!this.latestFeatureIndex?.rawTileData||Object.keys(e).length===0||this.featureStateRevision===n)return;this.featureStateRevision=n;let r=this.latestFeatureIndex.loadVTLayers();for(let n in this.buckets){if(!t.style.hasLayer(n))continue;let i=this.buckets[n],a=i.layers[0].sourceLayer||`_geojsonTileLayer`,o=r[a],s=e[a];if(!o||!s||s.length===0)continue;i.update(s,o,this.imageAtlas?.patternPositions||{},this.dashPositions||{});let c=t?.style?.getLayer(n);c&&(this.queryPadding=Math.max(this.queryPadding,c.queryRadius(i)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<mw()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(e){this.symbolFadeHoldUntil=mw()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}};function YE(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}var XE=class{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(e,t,n){let r=String(t);if(this.stateChanges[e]||={},this.stateChanges[e][r]||={},I(this.stateChanges[e][r],n),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])if(t===r){this.deletedStates[e][r]={};for(let i in this.state[e][t])n[i]===void 0&&(this.deletedStates[e][r][i]=null)}else this.deletedStates[e][t]=null}else if(this.deletedStates[e]?.[r]===null){this.deletedStates[e][r]={};for(let t in this.state[e][r])n[t]===void 0&&(this.deletedStates[e][r][t]=null)}else for(let t in n)this.deletedStates[e]?.[r]?.[t]===null&&delete this.deletedStates[e][r][t]}removeFeatureState(e,t,n){if(this.deletedStates[e]===null)return;let r=String(t);if(this.deletedStates[e]||={},n&&t!==void 0)this.deletedStates[e][r]!==null&&(this.deletedStates[e][r]||={},this.deletedStates[e][r][n]=null);else if(t!==void 0){if(this.stateChanges[e]?.[r])for(n in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][n]=null;else this.deletedStates[e][r]=null}else this.deletedStates[e]=null}getState(e,t){let n=String(t),r=this.state[e]||{},i=this.stateChanges[e]||{},a=I({},r[n],i[n]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let n=this.deletedStates[e][t];if(n===null)return{};for(let e in n)delete a[e]}return a}initializeTileState(e,t){let n={};for(let e in this.state)n[e]=YE(this.state[e]);e.setFeatureState(n,t,this.revision)}coalesceChanges(e,t){let n={};for(let e in this.stateChanges){this.state[e]||={},n[e]||={};for(let t in this.stateChanges[e])this.state[e][t]||={},I(this.state[e][t],this.stateChanges[e][t]),n[e][t]=this.state[e][t]}for(let e in this.deletedStates)if(this.state[e]||={},n[e]||={},this.deletedStates[e]===null)for(let t in this.state[e])this.state[e][t]={},n[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];n[e][t]=this.state[e][t]}if(this.stateChanges={},this.deletedStates={},Object.keys(n).length===0)return;this.revision++;let r={};for(let e in n)r[e]=YE(n[e]);e.setFeatureState(r,t,this.revision)}},ZE=class e{constructor(e,t){this.min=e,this.max=t,this.center=it([],nt([],this.min,this.max),.5)}quadrant(t){let n=[t%2==0,t<2],r=$e(this.min),i=$e(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new e(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n of e.planes){let e=this.intersectsPlane(n);if(e===0)return 0;e===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}},QE=class e{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(t,n=1,r=0,i,a){let o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],s=a?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],c=2**r,l=o.map(e=>$E(e,t,n,c));i&&eD(l,s[0],i,a);let u=s.map(e=>{let t=ct([],ut([],vt([],l[e[0]],l[e[1]]),vt([],l[e[2]],l[e[1]]))),n=-lt(t,l[e[1]]);return t.concat(n)}),d=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0];for(let e of l)for(let t=0;t<3;t++)d[t]=Math.min(d[t],e[t]),f[t]=Math.max(f[t],e[t]);return new e(l,u,new ZE(d,f))}};function $E(e,t,n,r){let i=Tt([],e,t),a=1/i[3]/n*r;return Et(i,i,[a,a,1/i[3],a])}function eD(e,t,n,r){let i=r?4:0,a=r?0:4,o=0,s=[],c=[];for(let t=0;t<4;t++){let n=vt([],e[t+a],e[t+i]),r=et(n);it(n,n,1/r),s.push(r),c.push(n)}for(let t=0;t<4;t++){let r=$t(e[t+i],c[t],n);o=r!==null&&r>=0?Math.max(o,r):Math.max(o,s[t])}let l=tD(e,t),u=nD(n,l);if(u!==null){let e=u/lt(c[0],l);o=Math.min(o,e)}for(let t=0;t<4;t++){let n=Math.min(o,s[t]);e[t+a]=[e[t+i][0]+c[t][0]*n,e[t+i][1]+c[t][1]*n,e[t+i][2]+c[t][2]*n,1]}}function tD(e,t){let n=vt([],e[t[0]],e[t[1]]),r=vt([],e[t[2]],e[t[1]]),i=[0,0,0,0];return ct(i,ut([],n,r)),i[3]=-lt(i,e[t[0]]),i}function nD(e,t){let n=Ct([],e,1/yt(e)),r=vt([],t,it([],n,lt(t,n))),i=yt(r);if(i>0){let e=Math.sqrt(1-n[3]*n[3]);return Zt(t,nt([],it([],n,-n[3]),it([],r,e/i)))}return null}function rD(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function iD(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++){let o=t+(a+.5)/10*(n-t);r+=i*Math.cos(o)**+e}return r}function aD(e,t){return function(n,r,i,a,o){let s=2*((e-1)/yn(Math.cos(Bn(jm-o))/Math.cos(Bn(jm)))-1),c=Math.acos(i/a),l=2*iD(s-1,0,Bn(o/2)),u=Math.min(Bn(jm),c+Bn(o/2)),d=Math.min(u,c-Bn(o/2)),f=iD(s-1,d,u),p=Math.atan(r/i),m=Math.hypot(r,i),h=n;return h+=yn(a/m/Math.max(.5,Math.cos(Bn(o/2)))),h+=s*yn(Math.cos(p))/2,h-=yn(Math.max(1,f/l/t))/2,h}}var oD=aD(9.314,3);function sD(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+yn(e.tileSize/t.tileSize));return Math.max(0,n)}function cD(e,t){let n=F((15-(jm-e.pitch-e.fov/2))/15,0,1),r=Math.max(500,t??0);return e.elevation+n*r}function lD(e,t,n){let r=e.planes[1],i=e.points.map(e=>{let i=r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3];if(Math.abs(i)>1e-6)return e;let a=[e[0]-n[0],e[1]-n[1],e[2]-n[2]],o=r[0]*a[0]+r[1]*a[1]+r[2]*a[2];if(o>=-1e-9)return e;let s=t/-o;return[e[0]+a[0]*s,e[1]+a[1]*s,e[2]+a[2]*s,e[3]]}),a=e.planes.map((e,n)=>n===1?[e[0],e[1],e[2],e[3]+t]:e),o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let e of i)for(let t=0;t<3;t++)o[t]=Math.min(o[t],e[t]),s[t]=Math.max(s[t],e[t]);return new QE(i,a,new ZE(o,s))}function uD(e,t,n,r){let i=Math.hypot(t[0],t[1],t[2]);if(i===0)return{frustum:e,plane:t};let a=1+r/bm,o=F(-t[3]/i,-1,1),s=Math.cos(Math.acos(o)+Math.acos(1/a));return{frustum:lD(e,Math.sqrt(a*a-1),n),plane:[t[0],t[1],t[2],-s*i]}}function dD(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();r&&t.maxContentElevation>0&&({frustum:n,plane:r}=uD(n,r,e.cameraPosition,t.maxContentElevation));let i=zm(e),a=Am.fromLngLat(e.center,e.elevation),o=cD(e,t.maxContentElevation),s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,t),l=sD(e,t),u=t.minzoom||0,d=t.maxzoom===void 0?e.maxZoom:t.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*i.x,p*i.y,0],h=[p*a.x,p*a.y,0],g=Math.hypot(a.x-i.x,a.y-i.y),_=Math.abs(a.z-i.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileBoundingVolume(C,p.wrap,o,t);if(!S){let e=rD(n,w,r);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(i.x,i.y,C,w),E=l;c&&(E=(t.calculateTileZoom||oD)(e.zoom+yn(e.tileSize/t.tileSize),T,_,v,e.fov)),E=(t.roundZoom?Math.round:Math.floor)(E),E=Math.max(0,E);let D=Math.min(E,d);if(p.wrap=s.getWrap(a,C,p.wrap),p.zoom>=D){if(p.zoom<u)continue;let e=f-p.zoom,n=m[0]-.5-(g<<e),r=m[1]-.5-(y<<e),i=t.reparseOverscaled?Math.max(p.zoom,E):p.zoom;x.push({tileID:new my(p.zoom===d?i:p.zoom,p.wrap,p.zoom,g,y),distanceSq:Ht([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(n*n+r*r)});continue}for(let e=0;e<4;e++){let t=(g<<1)+e%2,n=(y<<1)+(e>>1),r=p.zoom+1;b.push({zoom:r,x:t,y:n,wrap:p.wrap,fullyVisible:S})}}return x.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}function fD(e){return e===`raster`||e===`image`||e===`video`}function pD(e,t,n,r,i,a,o){let s=mw(),c=cn(t);for(let l of t){let t=e.getTileById(l.key);(t.fadingDirection===0||t.fadeOpacity===0)&&t.resetFadeLogic(),!mD(e,t,n,s,r,i,o)&&(hD(e,t,n,s,a,o)||_D(t,c,s,o)||t.resetFadeLogic())}}function mD(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===0&&l===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function hD(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=gD(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)gD(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function gD(e,t,n,r,i,a,o){if(n[0].overscaledZ>=a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;(c!==0||l!==0||!u)&&(n.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function _D(e,t,n,r){let i=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(i)){let t=n+r;return e.setSelfFadeLogic(t),!0}return!1}function vD(e,t){if(t<=0)return!1;let n=mw();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}function yD(e,t){let n=t.getRenderableIds();for(let r of n){if(!e.neighboringTiles?.[r])continue;let n=t.getTileById(r);e.neighboringTiles[r].backfilled||bD(e,n),!n.neighboringTiles?.[e.tileID.key]?.backfilled&&bD(n,e)}}function bD(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,i=2**e.tileID.canonical.z,a=t.tileID.key;(n!==0||r!==0)&&(Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+i)===1?n+=i:Math.abs(n-i)===1&&(n-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles?.[a]&&(e.neighboringTiles[a].backfilled=!0))))}var xD=class{constructor(){this._tiles={}}handleWrapJump(e){let t={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t}setFeatureState(e,t,n){for(let r in this._tiles)this._tiles[r].setFeatureState(e,t,n)}getAllTiles(){return Object.values(this._tiles)}getAllIds(e=!1){return e?Object.values(this._tiles).map(e=>e.tileID).sort(by).map(e=>e.key):Object.keys(this._tiles)}getTileById(e){return this._tiles[e]}setTile(e,t){this._tiles[e]=t}deleteTileById(e){delete this._tiles[e]}getLoadedTile(e){let t=this.getTileById(e.key);return t?.hasData()?t:null}isIdRenderable(e,t=!1){return this.getTileById(e)?.isRenderable(t)}getRenderableIds(e=0,t){let n=[];for(let e of this.getAllIds())this.isIdRenderable(e,t)&&n.push(this.getTileById(e));return t?n.sort((t,n)=>{let r=t.tileID,i=n.tileID,a=new M(r.canonical.x,r.canonical.y)._rotate(-e),o=new M(i.canonical.x,i.canonical.y)._rotate(-e);return r.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x}).map(e=>e.tileID.key):n.map(e=>e.tileID).sort(by).map(e=>e.key)}},SD=class e extends br{static{this.maxUnderzooming=10}static{this.maxOverzooming=3}constructor(e,t,n){super(),this._maxContentElevationSeen=0,this.id=e,this.dispatcher=n,this.on(`data`,e=>{this._dataHandler(e)}),this.on(`dataloading`,()=>{this._sourceErrored=!1}),this.on(`error`,()=>{this._sourceErrored=this._source.loaded()}),this._source=zE(e,t,n,this),this._inViewTiles=new xD,this._outOfViewCache=new nw(0,e=>this._unloadTile(e)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new XE,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source?.onAdd&&this._source.onAdd(e)}onRemove(e){for(let e of this._inViewTiles.getAllTiles())e.unloadVectorData();this.clearTiles(),this._source?.onRemove&&this._source.onRemove(e),this._inViewTiles=new xD}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if((this.used!==void 0||this.usedForTerrain!==void 0)&&!this.used&&!this.usedForTerrain)return!0;if(!this._updated)return!1;for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}async _loadTile(e,t,n,r){try{let i=await this._source.loadTile(e);this._tileLoaded(e,t,n,r,i)}catch(t){e.state=`errored`,t.status===404?this.update(this.transform,this.terrain):this._source.fire(new L(Wt(t),{tile:e}))}}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new kw(`dataabort`,{tile:e,coord:e.tileID}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(let t of this._inViewTiles.getAllTiles())t.upload(e),t.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(e){return this._inViewTiles.getRenderableIds(this.transform?.bearingInRadians,e)}hasRenderableParent(e){let t=e.overscaledZ-1;if(t>=this._source.minzoom){let n=this.getLoadedTile(e.scaledTo(t));if(n)return this._inViewTiles.isIdRenderable(n.tileID.key)}return!1}reload(e,t=void 0){if(this._paused){this._shouldReloadOnResume=!0;return}this._outOfViewCache.reset();for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);(!t||this._source.shouldReloadTile(r,t))&&(e?this._reloadTile(n,r.state===`errored`?`loading`:`expired`):r.state!==`errored`&&this._reloadTile(n,`reloading`))}}async _reloadTile(e,t){let n=this._inViewTiles.getTileById(e);if(!n)return;let r=n.hasData();n.state!==`loading`&&(n.state=t),await this._loadTile(n,e,t,r)}_tileLoaded(e,t,n,r,i){r||(e.timeAdded=mw(),e.selfFading&&(e.fadeEndTime=e.timeAdded+this._rasterFadeDuration)),n===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(t,e),!i?.unmodified&&(this.getSource().type===`raster-dem`&&e.dem&&yD(e,this._inViewTiles),e.featureStateRevision=-1,this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new kw(`data`,{tile:e,coord:e.tileID})))}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._inViewTiles.getTileById(e)}_retainLoadedChildren(t,n){let r=this._getLoadedDescendents(n),i=new Set;for(let a of n){let n=r[a.key];if(!n?.length){i.add(a);continue}let o=a.overscaledZ+e.maxOverzooming,s=n.filter(e=>e.tileID.overscaledZ<=o);if(!s.length){i.add(a);continue}let c=Math.min(...s.map(e=>e.tileID.overscaledZ)),l=s.filter(e=>e.tileID.overscaledZ===c).map(e=>e.tileID);for(let e of l)t[e.key]=e;this._areDescendentsComplete(l,c,a.overscaledZ)||i.add(a)}return i}_getLoadedDescendents(e){let t={};for(let n of this._inViewTiles.getAllTiles().filter(e=>e.hasData()))for(let r of e)n.tileID.isChildOf(r)&&(t[r.key]||=[],t[r.key].push(n));return t}_areDescendentsComplete(e,t,n){return e.length===1&&e[0].isOverscaled()?e[0].overscaledZ===t:4**(t-n)===e.length}getLoadedTile(e){return this._inViewTiles.getLoadedTile(e)}updateCacheSize(e){let t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),n=this._maxTileCacheZoomLevels===null?nr.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,r=Math.floor(t*n),i=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,r):r;this._outOfViewCache.setMaxSize(i)}handleWrapJump(e){let t=(e-(this._prevLng===void 0?e:this._prevLng))/360,n=Math.round(t);this._prevLng=e,n&&(this._inViewTiles.handleWrapJump(n),this._resetTileReloadTimers())}_updateMaxContentElevation(){let e=this._maxContentElevationSeen,t=this.map?.style?._layers;if(!t)return e;let n=this._inViewTiles.getAllTiles();for(let r in t){let i=t[r];if(i.type!==`symbol`||i.source!==this.id||i.isHidden(this.transform.zoom))continue;let a=i;if(!a.layout)continue;let o=a.layout.get(`symbol-height-offset`);if(e=Math.max(e,o.constantOr(0)),!o.isConstant())for(let t of n){let n=t.getBucket(i);n&&n.maxHeightOffset>e&&(e=n.maxHeightOffset)}}return this._maxContentElevationSeen=e,e}update(e,t){if(!this._sourceLoaded||this._paused)return;this.transform=e,this.terrain=t,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng);let n;!this.used&&!this.usedForTerrain?n=[]:this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(e=>new my(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)):(n=dD(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type===`vector`&&this.map._zoomLevelsToOverscale!==void 0?Math.max(this._source.maxzoom,e.maxZoom-this.map._zoomLevelsToOverscale):this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:t,calculateTileZoom:this._source.calculateTileZoom,maxContentElevation:this._updateMaxContentElevation()}),this._source.hasTile&&(n=n.filter(e=>this._source.hasTile(e)))),this.usedForTerrain&&(n=this._addTerrainIdealTiles(n));let r=n.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,r&&this.fire(new kw(`data`,{sourceDataType:`idle`,sourceId:this.id}));let i=sD(e,this._source),a=this._updateRetainedTiles(n,i),o=fD(this._source.type);o&&this._rasterFadeDuration>0&&!t&&pD(this._inViewTiles,n,a,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),o?this._cleanUpRasterTiles(a):this._cleanUpVectorTiles(a)}_cleanUpRasterTiles(e){for(let t of this._inViewTiles.getAllIds())e[t]||this._removeTile(t)}_cleanUpVectorTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);if(e[t]){n.clearSymbolFadeHold();continue}if(!n.hasSymbolBuckets){this._removeTile(t);continue}n.holdingForSymbolFade()?n.symbolFadeFinished()&&this._removeTile(t):n.setSymbolHoldDuration(this.map._fadeDuration)}}_addTerrainIdealTiles(e){let t=[];for(let n of e)if(n.canonical.z>this._source.minzoom){let e=n.scaledTo(n.canonical.z-1);t.push(e);let r=n.scaledTo(Math.max(this._source.minzoom,Math.min(n.canonical.z,5)));t.push(r)}return e.concat(t)}releaseSymbolFadeTiles(){for(let e of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(e).holdingForSymbolFade()&&this._removeTile(e)}_updateRetainedTiles(t,n){let r=new Set;for(let e of t)this._addTile(e).hasData()||r.add(e);let i=t.reduce((e,t)=>(e[t.key]=t,e),{}),a=this._retainLoadedChildren(i,r),o={},s=Math.max(n-e.maxUnderzooming,this._source.minzoom);for(let e of a){let t=this._inViewTiles.getTileById(e.key),n=t?.wasRequested();for(let r=e.overscaledZ-1;r>=s;--r){let a=e.scaledTo(r);if(o[a.key])break;if(o[a.key]=!0,t=this.getTile(a),!t&&n&&(t=this._addTile(a)),t){let e=t.hasData();if((e||!this.map?.cancelPendingTileRequestsWhileZooming||n)&&(i[a.key]=a),n=t.wasRequested(),e)break}}}return i}_addTile(e){let t=this._inViewTiles.getTileById(e.key);if(t)return t;t=this._outOfViewCache.getAndRemove(e),t&&(t.resetFadeLogic(),this._setTileReloadTimer(e.key,t),t.tileID=e,this._state.initializeTileState(t,this.map?this.map.painter:null));let n=t;return t||(t=new JE(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(t,e.key,t.state,!1)),t.uses++,this._inViewTiles.setTile(e.key,t),n||this._source.fire(new kw(`dataloading`,{tile:t,coord:t.tileID})),t}_setTileReloadTimer(e,t){this._clearTileReloadTimer(e);let n=t.getExpiryTimeout();if(n){let t=()=>{this._reloadTile(e,`expired`),delete this._timers[e]};this._timers[e]=setTimeout(t,n)}}_clearTileReloadTimer(e){let t=this._timers[e];t&&(clearTimeout(t),delete this._timers[e])}_resetTileReloadTimers(){for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e of this._inViewTiles.getAllIds()){let t=this._inViewTiles.getTileById(e);this._setTileReloadTimer(e,t)}}refreshTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);(this._inViewTiles.isIdRenderable(t)||n.state==`errored`)&&e.some(e=>e.equals(n.tileID.canonical))&&this._reloadTile(t,`expired`)}}_removeTile(e){let t=this._inViewTiles.getTileById(e);t&&(t.uses--,this._inViewTiles.deleteTileById(e),this._clearTileReloadTimer(e),!(t.uses>0)&&(t.hasData()&&t.state!==`reloading`?this._outOfViewCache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){if(e.dataType===`source`){if(e.sourceDataType===`metadata`){this._sourceLoaded=!0;return}e.sourceDataType===`content`&&this._sourceLoaded&&!this._paused&&(this.reload(e.sourceDataChanged,e.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}}resetMaxContentElevation(){this._maxContentElevationSeen=0}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1,this.resetMaxContentElevation();for(let e of this._inViewTiles.getAllIds())this._removeTile(e);this._outOfViewCache.reset()}tilesIn(e,t,n){let r=[],i=this.transform;if(!i)return r;let a=i.getCoveringTilesDetailsProvider().allowWorldCopies(),o=n?i.getCameraQueryGeometry(e):e,s=e=>i.screenPointToMercatorCoordinate(e,this.terrain),c=this.transformBbox(e,s,!a),l=this.transformBbox(o,s,!a),u=this.getIds(),d=um.fromPoints(l);for(let e of u){let n=this._inViewTiles.getTileById(e);if(n.holdingForSymbolFade())continue;let o=a?[n.tileID]:[n.tileID.unwrapTo(-1),n.tileID.unwrapTo(0)],s=2**(i.zoom-n.tileID.overscaledZ),u=t*n.queryPadding*P/n.tileSize/s;for(let e of o){let t=d.map(t=>e.getTilePoint(new Am(t.x,t.y)));if(t.expandBy(u),t.intersects(dm)){let t=c.map(t=>e.getTilePoint(t)),i=l.map(t=>e.getTilePoint(t));r.push({tile:n,tileID:a?e:e.unwrapTo(0),queryGeometry:t,cameraQueryGeometry:i,scale:s})}}}return r}transformBbox(e,t,n){let r=e.map(t);if(n){let n=um.fromPoints(e);n.shrinkBy(Math.min(n.width(),n.height())*.001);let i=n.map(t);um.fromPoints(r).covers(i)||(r=r.map(e=>e.x>.5?new Am(e.x-1,e.y,e.z):e))}return r}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map(e=>this._inViewTiles.getTileById(e).tileID);return this.transform&&this.transform.populateCache(t),t}hasTransition(){return this._source.hasTransition()?!0:fD(this._source.type)&&vD(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(e){this._rasterFadeDuration=e}setFeatureState(e,t,n){e||=xy,this._state.updateState(e,t,n)}removeFeatureState(e,t,n){e||=xy,this._state.removeFeatureState(e,t,n)}getFeatureState(e,t){return e||=xy,this._state.getState(e,t)}setDependencies(e,t,n){let r=this._inViewTiles.getTileById(e);r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(n).hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._outOfViewCache.filter(n=>!n.hasDependency(e,t))}areTilesLoaded(){for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}},CD=class{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,this.length*.5),this.paddedLength=this.length-this.padding*2}lerp(e){if(this.points.length===1)return this.points[0];e=F(e,0,1);let t=1,n=this._distances[t],r=e*this.paddedLength+this.padding;for(;n<r&&t<this._distances.length;)n=this._distances[++t];let i=t-1,a=this._distances[i],o=n-a,s=o>0?(r-a)/o:0;return this.points[i].mult(1-s).add(this.points[t].mult(s))}};function wD(e,t,n,r,i){return i?e?e(t,n)+r:r===0?void 0:r:r}function TD(e,t){let n=!0;return e===`always`||(e===`never`||t===`never`)&&(n=!1),n}var ED=class{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[e*4],y1:this.bboxes[e*4+1],x2:this.bboxes[e*4+2],y2:this.bboxes[e*4+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[e*3],n=this.circles[e*3+1],r=this.circles[e*3+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else{let c={hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}};this._forEachCell(e,t,n,r,this._queryCell,s,c,o)}return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[],u={hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,c,this._queryCellCircle,l,u,i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i],f=1e-6;if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=o*4,p=this.boxKeys[o];if(e<=i[d+2]+f&&t<=i[d+3]+f&&n>=i[d+0]-f&&r>=i[d+1]-f&&(!s||s(p))&&(!l||!TD(u,p.overlapMode))&&(a.push({key:p,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let p=this.circleCells[i];if(p!==null){let i=this.circles;for(let o of p)if(!c.circle[o]){c.circle[o]=!0;let d=o*3,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!TD(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=t*4,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!TD(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=t*3,r=this.circleKeys[t];if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!TD(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.xCellCount*c+f;if(i.call(this,e,t,n,r,l,a,o,s))return}}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}};function DD(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function OD(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function kD(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}var AD=Fe();function jD(e,t,n){let r=Fe();if(!e){let{vecSouth:e,vecEast:n}=ND(t),i=aw();i[0]=n[0],i[1]=n[1],i[2]=e[0],i[3]=e[1],ow(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return He(r,r,[1/n,1/n,1]),r}function MD(e,t,n,r){if(e){let e=Fe();if(!t){let{vecSouth:t,vecEast:r}=ND(n);e[0]=r[0],e[1]=r[1],e[4]=t[0],e[5]=t[1]}return He(e,e,[r,r,1]),e}return n.pixelsToClipSpaceMatrix}function ND(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),i=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),o=Ft();o[0]=-i*r*n-a*t,o[1]=-a*r*n+i*t;let s=Rt(o);s<1e-9?Vt(o):Lt(o,o,1/s);let c=Ft();c[0]=i*r*t-a*n,c[1]=a*r*t+i*n;let l=Rt(c);return l<1e-9?Vt(c):Lt(c,c,1/l),{vecEast:c,vecSouth:o}}function PD(e,t,n){return wD(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function FD(e,t,n,r){let i;r==null?(i=[e,t,0,1],QD(i,i,n)):(i=[e,t,r,1],Tt(i,i,n));let a=i[3];return{point:new M(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function ID(e,t){return .5+e/t*.5}function LD(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function RD(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=n?e.textSizeData:e.iconSizeData,m=X_(p,t.transform.zoom),h=[256/t.width*2+1,256/t.height*2+1],g=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;g.clear();let _=e.lineVertexArray,v=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,y=t.transform.width/t.transform.height,b=!1;for(let n=0;n<v.length;n++){let x=v.get(n);if(x.hidden||x.writingMode===2&&!b){ZD(x.numGlyphs,g);continue}b=!1;let S=new M(x.anchorX,x.anchorY),C={getElevation:f,pitchedLabelPlaneMatrix:r,lineVertexArray:_,pitchWithMap:a,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:t.transform,tileAnchorPoint:S,unwrappedTileID:c,width:l,height:u,translation:d},w=KD(x.anchorX,x.anchorY,C);if(!LD(w.point,h)){ZD(x.numGlyphs,g);continue}let T=w.signedDistanceFromCamera,E=ID(t.transform.cameraToCenterDistance,T),D=Y_(p,m,x),O=a?D*t.transform.getPitchedTextCorrection(x.anchorX,x.anchorY,c)/E:D*E,k=VD({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!1,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s});b=k.useVertical,(k.notEnoughRoom||b||k.needsFlipping&&VD({projectionContext:C,pitchedLabelPlaneMatrixInverse:i,symbol:x,fontSize:O,flip:!0,keepUpright:o,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:g,aspectRatio:y,rotateToLine:s}).notEnoughRoom)&&ZD(x.numGlyphs,g)}n?e.text.dynamicLayoutVertexBuffer.updateData(g):e.icon.dynamicLayoutVertexBuffer.updateData(g)}function zD(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=YD(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=YD(e*f,n,r,i,a.segment,l,u,s,o);return!m||s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}}function BD(e,t,n,r){return e===1&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function VD(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:i,flip:a,keepUpright:o,glyphOffsetArray:s,dynamicLayoutVertexArray:c,aspectRatio:l,rotateToLine:u}=e,d=i/24,f=r.lineOffsetX*d,p=r.lineOffsetY*d,m;if(r.numGlyphs>1){let e=r.glyphStartIndex+r.numGlyphs,i=r.lineStartIndex,c=r.lineStartIndex+r.lineLength,h=zD(d,s,f,p,a,r,u,t);if(!h)return{notEnoughRoom:!0};let g=GD(h.first.point.x,h.first.point.y,t,n),_=GD(h.last.point.x,h.last.point.y,t,n);if(o&&!a){let e=BD(r.writingMode,g,_,l);if(e)return e}m=[h.first];for(let n=r.glyphStartIndex+1;n<e-1;n++){let e=YD(d*s.getoffsetX(n),f,p,a,r.segment,i,c,t,u);if(!e)return{notEnoughRoom:!0};m.push(e)}m.push(h.last)}else{if(o&&!a){let e=WD(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,i=r.lineStartIndex+r.segment+1,a=new M(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),o=WD(a.x,a.y,t),s=o.signedDistanceFromCamera>0?o.point:HD(t.tileAnchorPoint,a,e,1,t),c=GD(e.x,e.y,t,n),u=GD(s.x,s.y,t,n),d=BD(r.writingMode,c,u,l);if(d)return d}let e=YD(d*s.getoffsetX(r.glyphStartIndex),f,p,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!e||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[e]}for(let e of m)Lv(c,e.point,e.angle);return{}}function HD(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=WD(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function UD(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let i=new M(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=WD(i.x,i.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let o=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new M(t.lineVertexArray.getx(o),t.lineVertexArray.gety(o)),c=n.absOffsetX-n.distanceFromAnchor+1;return HD(s,i,n.previousVertex,c,t)}function WD(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=FD(r,i,n.pitchedLabelPlaneMatrix,PD(n,r,i)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,PD(n,r,i)),a.point.x=(a.point.x*.5+.5)*n.width,a.point.y=(-a.point.y*.5+.5)*n.height),a}function GD(e,t,n,r){if(n.pitchWithMap){let i=[e,t,0,1];Tt(i,i,r);let a=i[0]/i[3],o=i[1]/i[3];return n.transform.projectTileCoordinates(a,o,n.unwrappedTileID,PD(n,a,o)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function KD(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,PD(n,e,t))}function qD(e,t,n){return e._unit()._perp()._mult(t*n)}function JD(e,t,n,r,i,a,o,s,c){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let l=n.add(t);if(e+c.direction<r||e+c.direction>=i)return s.projectionCache.offsets[e]=l,l;let u=UD(e+c.direction,s,c),d=qD(u.sub(n),o,c.direction),f=n.add(d),p=u.add(d);return s.projectionCache.offsets[e]=On(a,l,f,p)||l,s.projectionCache.offsets[e]}function YD(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f=u>0?a+i:a+i+1,p;s.projectionCache.cachedAnchorPoint?p=s.projectionCache.cachedAnchorPoint:(p=WD(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=p);let m=p,h=p,g,_,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(f+=u,f<a||f>=o)return null;v+=y,h=m,_=g;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:h};if(m=UD(f,s,e),n===0)x.push(h),S=m.sub(h);else{let t,r=m.sub(h);t=r.mag()===0?qD(UD(f+u,s,e).sub(m),n,u):qD(r,n,u),_||=h.add(t),g=JD(f,t,m,a,o,_,n,s,e),x.push(_),S=g.sub(_)}y=S.mag()}let C=(b-v)/y,w=S._mult(C)._add(_||h),T=d+Math.atan2(m.y-h.y,m.x-h.x);return x.push(w),{point:w,angle:c?T:0,path:x}}var XD=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ZD(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(XD,e*3)}}function QD(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}function $D(e,t){let n=AD;return kD(n,t.pitchedLabelPlaneMatrix),e.map(e=>{let r=FD(e.x,e.y,n,PD(t,e.x,e.y)),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,PD(t,r.point.x,r.point.y));return i.point.x=(i.point.x*.5+.5)*t.width,i.point.y=(-i.point.y*.5+.5)*t.height,i})}function eO(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}var tO=class{constructor(e,t=new ED(e.width+200,e.height+200,25),n=new ED(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d,f=0,p=!0){let m=e.anchorPointX+s[0],h=e.anchorPointY+s[1],g=this.projectAndGetPerspectiveRatio(m,h,i,wD(l,m,h,f,p),d),_=n*g.perspectiveRatio,v;if(!a&&!o){let t=g.x+(u?u.x*_:0),n=g.y+(u?u.y*_:0);v={allPointsOccluded:!1,box:[t+e.x1*_,n+e.y1*_,t+e.x2*_,n+e.y2*_]}}else v=this._projectCollisionBox(e,_,r,i,a,o,s,g,l,u,d,f,p);let[y,b,x,S]=v.box,C=a?v.allPointsOccluded:g.isOccluded,w=C;return w||=g.perspectiveRatio<this.perspectiveRatioCutoff,w||=!this.isInsideGrid(y,b,x,S),w||t!==`always`&&this.grid.hitTest(y,b,x,S,t,c)?{box:[y,b,x,S],placeable:!1,offscreen:!1,occluded:C}:{box:[y,b,x,S],placeable:!0,offscreen:this.isOffscreen(y,b,x,S),occluded:C}}placeCollisionCircles(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=[],h=new M(t.anchorX,t.anchorY),g=this.getPerspectiveRatio(h.x,h.y,a,p?.(h.x,h.y)),_=(c?i*this.transform.getPitchedTextCorrection(t.anchorX,t.anchorY,a)/g:i*g)/24,v={projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},y=t.lineOffsetX*_,b=t.lineOffsetY*_,x={getElevation:p,pitchedLabelPlaneMatrix:o,lineVertexArray:n,pitchWithMap:c,projectionCache:v,transform:this.transform,tileAnchorPoint:h,unwrappedTileID:a,width:this.transform.width,height:this.transform.height,translation:f},S=zD(_,r,y,b,!1,t,!1,x),C=!1,w=!1,T=!0;if(S){let t=u*.5*g+d,n=new M(-100,-100),r=new M(this.screenRightBoundary,this.screenBottomBoundary),i=new CD,a=S.first,o=S.last,f=[];for(let e=a.path.length-1;e>=1;e--)f.push(a.path[e]);for(let e=1;e<o.path.length;e++)f.push(o.path[e]);let p=t*2.5;if(c){let e=this.projectPathToScreenSpace(f,x);f=e.some(e=>e.signedDistanceFromCamera<=0)?[]:e.map(e=>e.point)}let h=[];if(f.length>0){let e=f[0].clone(),t=f[0].clone();for(let n=1;n<f.length;n++)e.x=Math.min(e.x,f[n].x),e.y=Math.min(e.y,f[n].y),t.x=Math.max(t.x,f[n].x),t.y=Math.max(t.y,f[n].y);h=e.x>=n.x&&t.x<=r.x&&e.y>=n.y&&t.y<=r.y?[f]:t.x<n.x||e.x>r.x||t.y<n.y||e.y>r.y?[]:sv([f],n.x,n.y,r.x,r.y)}for(let n of h){i.reset(n,t*.25);let r=0;r=i.length<=.5*t?1:Math.ceil(i.paddedLength/p)+1;for(let n=0;n<r;n++){let a=n/Math.max(r-1,1),o=i.lerp(a),c=o.x+100,u=o.y+100;m.push(c,u,t,0);let d=c-t,f=u-t,p=c+t,h=u+t;if(T&&=this.isOffscreen(d,f,p,h),w||=this.isInsideGrid(d,f,p,h),e!==`always`&&this.grid.hitTestCircle(c,u,t,e,l)&&(C=!0,!s))return{circles:[],offscreen:!1,collisionDetected:C}}}}return{circles:!s&&C||!w||g<this.perspectiveRatioCutoff?[]:m,offscreen:T,collisionDetected:C}}projectPathToScreenSpace(e,t){return eO($D(e,t))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let t=[],n=new um;for(let r of e){let e=new M(r.x+100,r.y+100);n.extend(e),t.push(e)}let{minX:r,minY:i,maxX:a,maxY:o}=n,s=this.grid.query(r,i,a,o).concat(this.ignoredGrid.query(r,i,a,o)),c={},l={};for(let e of s){let n=e.key;c[n.bucketInstanceId]===void 0&&(c[n.bucketInstanceId]={}),!c[n.bucketInstanceId][n.featureIndex]&&jd(t,[new M(e.x1,e.y1),new M(e.x2,e.y1),new M(e.x2,e.y2),new M(e.x1,e.y2)])&&(c[n.bucketInstanceId][n.featureIndex]=!0,l[n.bucketInstanceId]===void 0&&(l[n.bucketInstanceId]=[]),l[n.bucketInstanceId].push(n.featureIndex))}return l}insertCollisionBox(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};o.insert(s,e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,t,n,r,i){if(i){let n;r==null?(n=[e,t,0,1],QD(n,n,i)):(n=[e,t,r,1],Tt(n,n,i));let a=n[3];return{x:(n[0]/a+1)/2*this.transform.width+100,y:(-n[1]/a+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/a),isOccluded:!1,signedDistanceFromCamera:a}}{let i=this.transform.projectTileCoordinates(e,t,n,r);return{x:(i.point.x+1)/2*this.transform.width+100,y:(-i.point.y+1)/2*this.transform.height+100,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera),isOccluded:i.isOccluded,signedDistanceFromCamera:i.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+.5*(this.transform.cameraToCenterDistance/i.signedDistanceFromCamera)}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=Re([]);return Ve(e,e,[-100,-100,0]),e}_projectCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d=0,f=!0){let p=1,m=0,h=0,g=1,_=e.anchorPointX+o[0],v=e.anchorPointY+o[1];if(a&&!i){let e=this.projectAndGetPerspectiveRatio(_+1,v,r,wD(c,_+1,v,d,f),u),t=e.x-s.x,n=e.y-s.y,i=Math.atan(n/t)+(t<0?Math.PI:0),a=Math.sin(i),o=Math.cos(i);p=o,m=a,h=-a,g=o}else if(!a&&i){let e=ND(this.transform);p=e.vecEast[0],m=e.vecEast[1],h=e.vecSouth[0],g=e.vecSouth[1]}let y=s.x,b=s.y,x=t;if(i&&(y=_,b=v,x=2**-(this.transform.zoom-n.overscaledZ),x*=this.transform.getPitchedTextCorrection(_,v,r),!l)){let e=F(.5+.5*(s.signedDistanceFromCamera/this.transform.cameraToCenterDistance),0,4);x*=e}l&&(y+=p*l.x*x+h*l.y*x,b+=m*l.x*x+g*l.y*x);let S=e.x1*x,C=e.x2*x,w=(S+C)/2,T=e.y1*x,E=e.y2*x,D=(T+E)/2,O=[{offsetX:S,offsetY:T},{offsetX:w,offsetY:T},{offsetX:C,offsetY:T},{offsetX:C,offsetY:D},{offsetX:C,offsetY:E},{offsetX:w,offsetY:E},{offsetX:S,offsetY:E},{offsetX:S,offsetY:D}],k=[];for(let{offsetX:e,offsetY:t}of O)k.push(new M(y+p*e+h*t,b+m*e+g*t));let A=!1;if(i){let e=k.map(e=>this.projectAndGetPerspectiveRatio(e.x,e.y,r,wD(c,e.x,e.y,d,f),u));A=e.some(e=>!e.isOccluded),k=e.map(e=>new M(e.x,e.y))}else A=!0;return{box:sn(k),allPointsOccluded:!A}}},nO=class{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}},rO=class{constructor(e,t,n,r,i){this.text=new nO(e?e.text:null,t,n,i),this.icon=new nO(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}},iO=class{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}},aO=class{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}},oO=class{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}};function sO(e,t,n,r,i){let{horizontalAlign:a,verticalAlign:o}=T_(e),s=-(a-.5)*t,c=-(o-.5)*n;return new M(s+r[0]*i,c+r[1]*i)}var cO=class{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new tO(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new oO(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;if(t)return(n,r)=>t.getElevation(e,n,r)}getBucketParts(e,t,n,r){let i=n.getBucket(t),a=n.latestFeatureIndex;if(!i||!a||t.id!==i.layerIds[0])return;let o=n.collisionBoxArray,s=i.layers[0].layout,c=i.layers[0].paint,l=2**(this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/P,d=n.tileID.toUnwrapped(),f=s.get(`text-rotation-alignment`)===`map`,p=Ut(n,1,this.transform.zoom),m=Xt(this.collisionIndex.transform,n,c.get(`text-translate`),c.get(`text-translate-anchor`)),h=Xt(this.collisionIndex.transform,n,c.get(`icon-translate`),c.get(`icon-translate-anchor`)),g=jD(f,this.transform,p);this.retainedQueryData[i.bucketInstanceId]=new aO(i.bucketInstanceId,a,i.sourceLayerIndex,i.index,n.tileID);let _={bucket:i,layout:s,translationText:m,translationIcon:h,unwrappedTileID:d,pitchedLabelPlaneMatrix:g,scale:l,textPixelRatio:u,holdingForFade:n.holdingForSymbolFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:X_(i.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(i.sourceID)};if(r)for(let t of i.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:i.symbolInstances.length,parameters:_})}attemptAnchorPlacement(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=xv[e.textAnchor],C=[e.textOffset0,e.textOffset1],w=sO(S,n,r,C,i),T=this.collisionIndex.placeCollisionBox(t,d,s,c,l,o,a,h,u.predicate,v,w,y,b,x);if((!_||this.collisionIndex.placeCollisionBox(_,d,s,c,l,o,a,g,u.predicate,v,w,y,b,x).placeable)&&T.placeable){let e;if(this.prevPlacement?.variableOffsets[f.crossTileID]&&this.prevPlacement?.placements[f.crossTileID]?.text&&(e=this.prevPlacement.variableOffsets[f.crossTileID].anchor),f.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[f.crossTileID]={textOffset:C,width:n,height:r,anchor:S,textBoxScale:i,prevAnchor:e},this.markUsedJustification(p,S,f,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,f),this.placedOrientations[f.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,t,n){let{bucket:r,layout:i,translationText:a,translationIcon:o,unwrappedTileID:s,pitchedLabelPlaneMatrix:c,textPixelRatio:l,holdingForFade:u,collisionBoxArray:d,partiallyEvaluatedTextSize:f,collisionGroup:p}=e.parameters,m=i.get(`text-optional`),h=i.get(`icon-optional`),g=Pv(i,`text-overlap`,`text-allow-overlap`),_=g===`always`,v=Pv(i,`icon-overlap`,`icon-allow-overlap`),y=v===`always`,b=i.get(`text-rotation-alignment`)===`map`,x=i.get(`text-pitch-alignment`)===`map`,S=i.get(`icon-text-fit`)!==`none`,C=i.get(`symbol-z-order`)===`viewport-y`,w=i.get(`symbol-height-anchor`)===`ground`,T=_&&(y||!r.hasIconData()||h),E=y&&(_||!r.hasTextData()||m);!r.collisionArrays&&d&&r.deserializeCollisionBoxes(d);let D=this.retainedQueryData[r.bucketInstanceId].tileID,O=this._getTerrainElevationFunc(D),k=this.transform.getFastPathSimpleProjectionMatrix(D),A=(e,d,y)=>{if(t[e.crossTileID])return;if(u){this.placements[e.crossTileID]=new iO(!1,!1,!1);return}let C=e.heightOffset,A=!1,j=!1,ee=!0,te=null,ne={box:null,placeable:!1,offscreen:null,occluded:!1},re={box:null,placeable:!1,offscreen:null},ie=null,ae=null,oe=null,se=0,ce=0,le=0;d.textFeatureIndex?se=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(se=e.featureIndex),d.verticalTextFeatureIndex&&(ce=d.verticalTextFeatureIndex);let ue=d.textBox;if(ue){let t=t=>{let n=1;if(r.allowVerticalPlacement&&!t&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(r,n,e))}return n},i=(t,n)=>{if(r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of r.writingModes)if(e===2?(ne=n(),re=ne):ne=t(),ne?.placeable)break}else ne=t()},c=e.textAnchorOffsetStartIndex,u=e.textAnchorOffsetEndIndex;if(u===c){let n=(t,n)=>{let i=this.collisionIndex.placeCollisionBox(t,g,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w);return i?.placeable&&(this.markUsedOrientation(r,n,e),this.placedOrientations[e.crossTileID]=n),i};i(()=>n(ue,1),()=>{let t=d.verticalTextBox;return r.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&t?n(t,2):{box:null,offscreen:null}}),t(ne?.placeable)}else{let f=xv[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],m=(t,i,d)=>{let m=t.x2-t.x1,h=t.y2-t.y1,_=e.textBoxScale,y=S&&v===`never`?i:null,T=null,E=g===`never`?1:2,j=`never`;f&&E++;for(let n=0;n<E;n++){for(let n=c;n<u;n++){let i=r.textAnchorOffsets.get(n);if(f&&i.textAnchor!==f)continue;let c=this.attemptAnchorPlacement(i,t,m,h,_,b,x,l,D,s,p,j,e,r,d,a,o,y,O,k,C,w);if(c&&(T=c.placedGlyphBoxes,T?.placeable))return A=!0,te=c.shift,T}f?f=null:j=g}return n&&!T&&(T={box:this.collisionIndex.placeCollisionBox(ue,`always`,l,D,s,x,b,a,p.predicate,O,void 0,k,C,w).box,offscreen:!1,placeable:!1,occluded:!1}),T};i(()=>m(ue,d.iconBox,1),()=>{let t=d.verticalTextBox,n=ne?.placeable;return r.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&t?m(t,d.verticalIconBox,2):{box:null,occluded:!0,offscreen:null}}),ne&&(A=ne.placeable,ee=ne.offscreen);let h=t(ne?.placeable);if(!A&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(r,t.anchor,e,h))}}}if(ie=ne,A=ie?.placeable,ee=ie?.offscreen,e.useRuntimeCollisionCircles&&e.centerJustifiedTextSymbolIndex>=0){let t=r.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),o=Y_(r.textSizeData,f,t),l=i.get(`text-padding`),u=e.collisionCircleDiameter;ae=this.collisionIndex.placeCollisionCircles(g,t,r.lineVertexArray,r.glyphOffsetArray,o,s,c,n,x,p.predicate,u,l,a,O),ae.circles.length&&ae.collisionDetected&&!n&&En(`Collisions detected, but collision boxes are not shown`),A=_||ae.circles.length>0&&!ae.collisionDetected,ee&&=ae.offscreen}if(d.iconFeatureIndex&&(le=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,v,l,D,s,x,b,o,p.predicate,O,S&&te?te:void 0,k,C,w);re&&re.placeable&&d.verticalIconBox?(oe=e(d.verticalIconBox),j=oe.placeable):(oe=e(d.iconBox),j=oe.placeable),ee&&=oe.offscreen}let de=m||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,fe=h||e.numIconVertices===0;!de&&!fe?j=A=j&&A:fe?de||(j&&=A):A=j&&A;let pe=A&&ie.placeable,me=j&&oe.placeable;if(pe&&(re&&re.placeable&&ce?this.collisionIndex.insertCollisionBox(ie.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,ce,p.ID):this.collisionIndex.insertCollisionBox(ie.box,g,i.get(`text-ignore-placement`),r.bucketInstanceId,se,p.ID)),me&&this.collisionIndex.insertCollisionBox(oe.box,v,i.get(`icon-ignore-placement`),r.bucketInstanceId,le,p.ID),ae&&A&&this.collisionIndex.insertCollisionCircles(ae.circles,g,i.get(`text-ignore-placement`),r.bucketInstanceId,se,p.ID),n&&this.storeCollisionData(r.bucketInstanceId,y,d,ie,oe,ae),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(r.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);let he=(A||T)&&!ie?.occluded,ge=(j||E)&&!oe?.occluded;this.placements[e.crossTileID]=new iO(he,ge,ee||r.justReloaded),t[e.crossTileID]=!0};if(C){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=r.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];A(r.symbolInstances.get(n),r.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)A(r.symbolInstances.get(t),r.collisionArrays[t],t);r.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a));let o;a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,t,n,r){let i={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex},a;a=r===2?n.verticalPlacedTextSymbolIndex:i[Ev(t)];let o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(a>=0&&t!==a?e.text.placedSymbolArray.get(t).crossTileID=0:e.text.placedSymbolArray.get(t).crossTileID=n.crossTileID)}markUsedOrientation(e,t,n){let r=t===1||t===3?t:0,i=t===2?t:0,a=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of a)e.text.placedSymbolArray.get(t).placedOrientation=r;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new rO(a,r,t.text,t.icon),n||=t.text!==a.text.placed,n||=t.icon!==a.icon.placed):(this.opacities[e]=new rO(null,r,t.text,t.icon,t.skipFade),n||=t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new rO(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n||=t.text.placed,n||=t.icon.placed)}}for(let e in a)!this.variableOffsets[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.variableOffsets[e]=a[e]);for(let e in o)!this.placedOrientations[e]&&this.opacities[e]&&!this.opacities[e].isHidden()&&(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);t&&r.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,r.tileID,n,r.collisionBoxArray)}}updateBucketOpacities(e,t,n,r){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let i=e.layers[0],a=i.layout,o=new rO(null,0,!1,!1,!0),s=a.get(`text-allow-overlap`),c=a.get(`icon-allow-overlap`),l=i._unevaluatedLayout.hasValue(`text-variable-anchor`)||i._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),u=a.get(`text-rotation-alignment`)===`map`,d=a.get(`text-pitch-alignment`)===`map`,f=a.get(`icon-text-fit`)!==`none`,p=new rO(null,0,s&&(c||!e.hasIconData()||a.get(`icon-optional`)),c&&(s||!e.hasTextData()||a.get(`text-optional`)),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);let m=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices||=n!==hO},h=this.collisionBoxArrays.get(e.bucketInstanceId);for(let t=0;t<e.symbolInstances.length;t++){let r=e.symbolInstances.get(t),{numHorizontalGlyphVertices:i,numVerticalGlyphVertices:a,crossTileID:s}=r,c=n[s],g=this.opacities[s];c?g=o:g||(g=p,this.opacities[s]=g),n[s]=!0;let _=i>0||a>0,v=r.numIconVertices>0,y=this.placedOrientations[r.crossTileID],b=y===2,x=y===1||y===3;if(_){let t=mO(g.text),n=b?hO:t;m(e.text,i,n);let o=x?hO:t;m(e.text,a,o);let s=g.text.isHidden(),c=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let t of c)t>=0&&(e.text.placedSymbolArray.get(t).hidden=s||b?1:0);r.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).hidden=s||x?1:0);let l=this.variableOffsets[r.crossTileID];l&&this.markUsedJustification(e,l.anchor,r,y);let u=this.placedOrientations[r.crossTileID];u&&(this.markUsedJustification(e,`left`,r,u),this.markUsedOrientation(e,u,r))}if(v){let t=mO(g.icon),n=!(f&&r.verticalPlacedIconSymbolIndex&&b);if(r.placedIconSymbolIndex>=0){let i=n?t:hO;m(e.icon,r.numIconVertices,i),e.icon.placedSymbolArray.get(r.placedIconSymbolIndex).hidden=g.icon.isHidden()}if(r.verticalPlacedIconSymbolIndex>=0){let i=n?hO:t;m(e.icon,r.numVerticalIconVertices,i),e.icon.placedSymbolArray.get(r.verticalPlacedIconSymbolIndex).hidden=g.icon.isHidden()}}let S=h?.has(t)?h.get(t):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[t];if(n){let t=new M(0,0);if(n.textBox||n.verticalTextBox){let r=!0;if(l){let e=this.variableOffsets[s];e?(t=sO(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),u&&t._rotate(d?-this.transform.bearingInRadians:this.transform.bearingInRadians)):r=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=x),lO(e.textCollisionBox.collisionVertexArray,g.text.placed,!r||i,S.text,t.x,t.y)}}if(n.iconBox||n.verticalIconBox){let r=!(x||!n.verticalIconBox),i;n.iconBox&&(i=r),n.verticalIconBox&&(i=!r),lO(e.iconCollisionBox.collisionVertexArray,g.icon.placed,i,S.icon,f?t.x:0,f?t.y:0)}}}}if(e.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}};function lO(e,t,n,r,i,a){(!r||r.length===0)&&(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}var uO=2**25,dO=2**24,fO=2**17,pO=2**16;function mO(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*uO+t*dO+n*fO+t*pO+n*512+t*256+n*2+t}var hO=0,gO=class{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;){let n=e[this._currentTileIndex];if(t.getBucketParts(a,r,n,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((e,t)=>e.sortKey-t.sortKey));this._currentPartIndex<a.length;){let e=a[this._currentPartIndex];if(t.placeLayerBucketPart(e,this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0}return!1}},_O=class{constructor(e,t,n,r,i,a,o,s){this.placement=new cO(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,t,n){let r=mw(),i=()=>!this._forceFullPlacement&&mw()-r>2;for(;this._currentPlacementIndex>=0;){let r=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(Yv(r)&&r.layout&&(!r.minzoom||r.minzoom<=a)&&(!r.maxzoom||r.maxzoom>a)){if(this._inProgressLayer||=new gO(r),this._inProgressLayer.continuePlacement(n[r.source],this.placement,this._showCollisionBoxes,r,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}},vO=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],yO=new Uint32Array(96),bO=class e{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error(`Data must be an instance of ArrayBuffer or SharedArrayBuffer.`);let[n,r]=new Uint8Array(t,0,2);if(n!==219)throw Error(`Data does not appear to be in a KDBush format.`);let i=r>>4;if(i!==1)throw Error(`Got v${i} data when expected v1.`);let a=vO[r&15];if(!a)throw Error(`Unrecognized array type.`);let[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new e(s,o,a,void 0,t)}constructor(e,t=64,n=Float64Array,r=ArrayBuffer,i){if(isNaN(e)||e<0)throw Error(`Unexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let a=vO.indexOf(this.ArrayType),o=e*2*this.ArrayType.BYTES_PER_ELEMENT,s=e*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-s%8)%8;if(a<0)throw Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this.ids=new this.IndexArrayType(i,8,e),this.coords=new n(i,8+s+c,e*2),this._pos=e*2,this._finished=!0;else{let i=this.data=new r(8+o+s+c);this.ids=new this.IndexArrayType(i,8,e),this.coords=new n(i,8+s+c,e*2),this._pos=0,this._finished=!1,new Uint8Array(i,0,2).set([219,16+a]),new Uint16Array(i,2,1)[0]=t,new Uint32Array(i,4,1)[0]=e}}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return xO(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;yO[0]=0,yO[1]=i.length-1,yO[2]=0;let s=3,c=[];for(;s>0;){let l=yO[--s],u=yO[--s],d=yO[--s];if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(yO[s++]=d,yO[s++]=f-1,yO[s++]=1-l),(l===0?n>=p:r>=m)&&(yO[s++]=f+1,yO[s++]=u,yO[s++]=1-l)}return c}within(e,t,n){let r=[];return this.withinInto(e,t,n,r),r}withinInto(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this;yO[0]=0,yO[1]=i.length-1,yO[2]=0;let s=3,c=0,l=n*n;for(;s>0;){let u=yO[--s],d=yO[--s],f=yO[--s];if(d-f<=o){for(let n=f;n<=d;n++)TO(a[2*n],a[2*n+1],e,t)<=l&&(r[c++]=i[n]);continue}let p=f+d>>1,m=a[2*p],h=a[2*p+1];TO(m,h,e,t)<=l&&(r[c++]=i[p]),(u===0?e-n<=m:t-n<=h)&&(yO[s++]=f,yO[s++]=p-1,yO[s++]=1-u),(u===0?e+n>
vendor: 2,069 bytes, line 1
1=m:t+n>=h)&&(yO[s++]=p+1,yO[s++]=d,yO[s++]=1-u)}return c}};function xO(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;SO(e,t,o,r,i,a),xO(e,t,n,r,o-1,1-a),xO(e,t,n,o+1,i,1-a)}function SO(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);SO(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(CO(e,t,r,n),t[2*i+a]>o&&CO(e,t,r,i);s<c;){for(CO(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?CO(e,t,r,c):(c++,CO(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function CO(e,t,n,r){wO(e,n,r),wO(t,2*n,2*r),wO(t,2*n+1,2*r+1)}function wO(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function TO(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}var EO=512/P/2,DO=class{constructor(e,t,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let r=new Map;for(let e=0;e<t.length;e++){let n=t.get(e),i=n.key,a=r.get(i);a?a.push(n):r.set(i,[n])}for(let[e,t]of r){let n={positions:t.map(e=>({x:Math.floor(e.anchorX*EO),y:Math.floor(e.anchorY*EO)})),crossTileIDs:t.map(e=>e.crossTileID)};if(n.positions.length>128){let e=new bO(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,t){let{x:n,y:r,z:i}=this.tileID.canonical,{x:a,y:o,z:s}=t.canonical,c=EO/2**(s-i),l=(a*P+e.anchorX)*c,u=(o*P+e.anchorY)*c,d=n*P*EO,f=r*P*EO;return{x:Math.floor(l-d),y:Math.floor(u-f)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);o.index?this.findMatchesForIndexedEntry(o,a,s,r,n):o.positions&&this.findMatchesForNonIndexedEntry(o,a,s,r,n)}}findMatchesForIndexedEntry(e,t,n,r,i){let a=e.index.range(n.x-r,n.y-r,n.x+r,n.y+r),o=1/0;for(let t of a)t<o&&!i[e.crossTileIDs[t]]&&(o=t);if(o!==1/0){let n=e.crossTileIDs[o];i[n]=!0,t.crossTileID=n}}
vendor: 4,531 bytes, lines 1-28
1findMatchesForNonIndexedEntry(e,t,n,r,i){for(let a=0;a<e.positions.length;a++){let o=e.positions[a],s=e.crossTileIDs[a];if(Math.abs(o.x-n.x)<=r&&Math.abs(o.y-n.y)<=r&&!i[s]){i[s]=!0,t.crossTileID=s;break}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:e})=>e)}},OO=class{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}},kO=class{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]?.[e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++){let n=t.symbolInstances.get(e);n.crossTileID=0}this.usedCrossTileIDs[e.overscaledZ]||={};let r=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let i=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in i){let a=i[n];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,r)}else{let a=i[e.scaledTo(Number(n)).key];a&&a.findMatches(t.symbolInstances,e,r)}}for(let e=0;e<t.symbolInstances.length;e++){let i=t.symbolInstances.get(e);i.crossTileID||(i.crossTileID=n.generate(),r[i.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new DO(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}},AO=class{constructor(){this.layerIndexes={},this.crossTileIDs=new OO,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new kO);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);e.id===t?.layerIds[0]&&(t.bucketInstanceId||=(this.maxBucketInstanceId+=1,this.maxBucketInstanceId),r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};for(let n of e)t[n]=!0;for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}},jO=`#ifdef GL_ES 2precision mediump float; 3#else 4#if !defined(lowp) 5#define lowp 6#endif 7#if !defined(mediump) 8#define mediump 9#endif 10#if !defined(highp) 11#define highp 12#endif 13#endif 14out highp vec4 fragColor;layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`,MO=`#ifdef GL_ES 15precision highp float; 16#else 17#if !defined(lowp) 18#define lowp 19#endif 20#if !defined(mediump) 21#define mediump 22#endif 23#if !defined(highp) 24#define highp 25#endif 26#endif 27vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const uint packedOpacity) {return vec2(float(packedOpacity >> 1u)/127.0,float(packedOpacity & 1u));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 28);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);
28return (tile_units_to_pixels*pos+offset)/pattern_size;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+ c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+ c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+ c 29);} 30#ifdef TERRAIN3D 31uniform sampler2D u_terrain;uniform highp sampler2D u_depth;layout(std140) uniform TerrainUBO {highp mat4 u_terrain_matrix;highp vec4 u_terrain_unpack;highp float u_terrain_dim;highp float u_terrain_exaggeration;}; 32#endif 33const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { 34#ifdef TERRAIN3D 35highp float d=unpack(texture(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); 36#else 37return 1.0; 38#endif 39}float calculate_visibility(vec4 pos) { 40#ifdef TERRAIN3D 41vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; 42#else 43return 1.0; 44#endif 45}float ele(ivec2 pos) { 46#ifdef TERRAIN3D 47vec4 rgb=(texelFetch(u_terrain,pos,0)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; 48#else 49return 0.0; 50#endif 51}float get_elevation(vec2 pos) { 52#ifdef TERRAIN3D 53#ifdef GLOBE 54if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;} 55#endif 56vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.5;vec2 f=fract(coord);ivec2 c=ivec2(floor(coord));ivec2 hi=textureSize(u_terrain,0)-1;float tl=ele(clamp(c,ivec2(0),hi));float tr=ele(clamp(c+ivec2(1,0),ivec2(0),hi));float bl=ele(clamp(c+ivec2(0,1),ivec2(0),hi));float br=ele(clamp(c+ivec2(1,1),ivec2(0),hi));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; 57#else 58return 0.0; 59#endif 60}const float PI=3.141592653589793; 61#define PROJECTION_UBO 62layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`,NO=`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; 63#ifdef OVERDRAW_INSPECTOR 64fragColor=vec4(1.0); 65#endif 66}`,PO=`layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`,FO=`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; 67#ifdef OVERDRAW_INSPECTOR 68fragColor=vec4(1.0); 69#endif 70}`,IO=`uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}`,LO=`in vec3 v_data;flat in float v_visibility; 71#pragma maplibre: define highp vec4 color 72#pragma maplibre: define mediump float radius 73#pragma maplibre: define lowp float blur 74#pragma maplibre: define lowp float opacity 75#pragma maplibre: define highp vec4 stroke_color 76#pragma maplibre: define mediump float stroke_width 77#pragma maplibre: define lowp float stroke_opacity 78void main() { 79#pragma maplibre: initialize highp vec4 color 80#pragma maplibre: initialize mediump float radius 81#pragma maplibre: initialize lowp float blur 82#pragma maplibre: initialize lowp float opacity 83#pragma maplibre: initialize highp vec4 stroke_color 84#pragma maplibre: initialize mediump float stroke_width 85#pragma maplibre: initialize lowp float stroke_opacity 86vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius
86/(radius+stroke_width));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;} 87#ifdef OVERDRAW_INSPECTOR 88fragColor=vec4(1.0); 89#endif 90}`,RO=`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform vec2 u_translate;layout(location=0) in ivec2 a_pos;out vec3 v_data;flat out float v_visibility; 91#pragma maplibre: define highp vec4 color 92#pragma maplibre: define mediump float radius 93#pragma maplibre: define lowp float blur 94#pragma maplibre: define lowp float opacity 95#pragma maplibre: define highp vec4 stroke_color 96#pragma maplibre: define mediump float stroke_width 97#pragma maplibre: define lowp float stroke_opacity 98void main(void) { 99#pragma maplibre: initialize highp vec4 color 100#pragma maplibre: initialize mediump float radius 101#pragma maplibre: initialize lowp float blur 102#pragma maplibre: initialize lowp float opacity 103#pragma maplibre: initialize highp vec4 stroke_color 104#pragma maplibre: initialize mediump float stroke_width 105#pragma maplibre: initialize lowp float stroke_opacity 106ivec2 pos_raw=a_pos+32768;vec2 extrude=vec2(pos_raw & 7)/7.0*2.0-1.0;vec2 circle_center=vec2(pos_raw >> 3)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) { 107#ifdef GLOBE 108vec3 center_vector=projectToSphere(circle_center); 109#endif 110float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else { 111#ifdef GLOBE 112vec4 projected_center=interpolateProjection(circle_center,center_vector,ele); 113#else 114vec4 projected_center=projectTileWithElevation(circle_center,ele); 115#endif 116corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);} 117#ifdef GLOBE 118vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele); 119#else 120gl_Position=projectTileWithElevation(corner_position,ele); 121#endif 122} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,zO=`void main() {fragColor=vec4(1.0);}`,BO={prelude:VO(jO,MO),projectionMercator:VO(` 123void clipAntimeridian() {}`,`float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}`),projectionGlobe:VO(`in highp float v_projection_tile_x;void clipAntimeridian() {if (u_projection_clip_antimeridian !=0 && (v_projection_tile_x < 0.0 || v_projection_tile_x >=8192.0)) {discard;}}`,`#define GLOBE_RADIUS 6371008.8 124#ifndef PROJECTION_UBO 125uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix; 126#endif 127out highp float v_projection_tile_x;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos 128);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float t=exp(PI-(mercator_pos_y*PI*2.0));return (2.0*t)/(t*t+1.0);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY);if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;float spherical_x=mercator_pos.x*PI*2.0+PI;float t=exp(PI-(mercator_pos.y*PI*2.0));
128float t2=t*t;float denom=t2+1.0;float sin_sy=(t2-1.0)/denom;float cos_sy=(2.0*t)/denom;vec3 pos=vec3(sin(spherical_x)*cos_sy,sin_sy,cos(spherical_x)*cos_sy 129);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:VO(NO,PO),backgroundPattern:VO(FO,IO),circle:VO(LO,RO),clippingMask:VO(zO,`layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),heatmap:VO(`uniform highp float u_intensity;in vec2 v_extrude; 130#pragma maplibre: define highp float weight 131#define GAUSS_COEF 0.3989422804014327 132void main() { 133#pragma maplibre: initialize highp float weight 134float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);fragColor=vec4(val,1.0,1.0,1.0); 135#ifdef OVERDRAW_INSPECTOR 136fragColor=vec4(1.0); 137#endif 138}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;layout(location=0) in ivec2 a_pos;out vec2 v_extrude; 139#pragma maplibre: define highp float weight 140#pragma maplibre: define mediump float radius 141const highp float ZERO=1.0/255.0/16.0; 142#define GAUSS_COEF 0.3989422804014327 143void main(void) { 144#pragma maplibre: initialize highp float weight 145#pragma maplibre: initialize mediump float radius 146ivec2 pos_raw=a_pos+32768;vec2 unscaled_extrude=vec2(pos_raw & 7)/7.0*2.0-1.0;float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 circle_center=vec2(pos_raw >> 3); 147#ifdef GLOBE 148vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0); 149#else 150gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); 151#endif 152}`),heatmapTexture:VO(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; 153#ifdef OVERDRAW_INSPECTOR 154fragColor=vec4(0.0); 155#endif 156}`,`uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world_size,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}`),collisionBox:VO(`flat in float v_placed;flat in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}`,`layout(location=0) in vec2 a_anchor_pos;layout(location=1) in vec2 a_placed;layout(location=2) in vec2 a_box_real;flat out float v_placed;flat out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}`),collisionCircle:VO(`flat in float v_radius;in vec2 v_extrude;flat in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}`,`layout(location=0) in vec2 a_pos;layout(location=1) in float a_radius;layout(location=2) in vec2 a_flags;flat out float v_radius;out vec2 v_extrude;flat out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}`),colorRelief:VO(`#ifdef GL_ES 157precision highp float; 158#endif 159uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_stops;uniform sampler2D u_color_stops;uniform int u_color_ramp_size;uniform float u_opacity;in vec2 v_pos;float getElevation(vec2 coord) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}float getElevationStop(int stop) {vec4 data=texelFetch(u_elevation_stops,ivec2(stop,0),0)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {float el=getElevation(v_pos);int r=(u_color_ramp_size-1);int l=0;float el_l=getElevationStop(l);float el_r=getElevationStop(r);while(r-l > 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else 160{l=m;el_l=el_m;}}float x=(float(l)+(el-el_l)/(el_r-el_l)+0.5)/float(u_color_ramp_size);fragColor=u_opacity*texture(u_color_stops,vec2(x,0)); 161#ifdef OVERDRAW_INSPECTOR 162fragColor=vec4(1.0); 163#endif 164}`,`uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=2.0/u_dimension;float scale=(u_dimension.x-4.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),debug:VO(`uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}`,`layout(location=0) in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}`),depth:VO(zO,`layout(location=0) in vec2 a_pos;void main() { 165#ifdef GLOBE 166gl_Position=projectTileFor3D(a_pos,0.0); 167#else 168gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); 169#endif 170}`),fill:VO(`#pragma maplibre: define highp vec4 color 171#pragma maplibre: define lowp float opacity 172void main() { 173#pragma maplibre: initialize highp vec4 color 174#pragma maplibre: initialize lowp float opacity 175fragColor=color*opacity; 176#ifdef OVERDRAW_INSPECTOR 177fragColor=vec4(1.0); 178#endif 179}`,`uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos; 180#pragma maplibre: define highp vec4 color 181#pragma maplibre: define lowp float opacity 182void main() { 183#pragma maplibre: initialize highp vec4 color 184#pragma maplibre: initialize lowp float opacity 185if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:VO(`in vec2 v_pos; 186#ifdef GLOBE 187in float v_depth; 188#endif 189#pragma maplibre: define highp vec4 outline_color 190#pragma maplibre: define lowp float opacity 191void main() { 192#pragma maplibre: initialize highp vec4 outline_color 193#pragma maplibre: initialize lowp float opacity 194float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=outline_color*(alpha*opacity); 195#ifdef GLOBE 196if (v_depth > 1.0) {discard;} 197#endif 198#ifdef OVERDRAW_INSPECTOR 199fragColor=vec4(1.0); 200#endif 201}`,`uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos; 202#ifdef GLOBE 203out float v_depth; 204#endif 205#pragma maplibre: define highp vec4 outline_color 206#pragma maplibre: define lowp float opacity 207void main() { 208#pragma maplibre: initialize highp vec4 outline_color 209#pragma maplibre: initialize lowp float opacity 210if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world_size; 211#ifdef GLOBE 212v_depth=gl_Position.z/gl_Position.w; 213#endif 214}`),fillOutlinePattern:VO(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;uniform bool u_sdf_pattern;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; 215#ifdef GLOBE 216in float v_depth; 217#endif 218#pragma maplibre: define lowp float opacity 219#pragma maplibre: define highp vec4 color 220#pragma maplibre: define lowp vec4 pattern_from 221#pragma maplibre: define lowp vec4 pattern_to 222void main() { 223#pragma maplibre: initialize lowp float opacity 224#pragma maplibre: initialize highp vec4 color 225#pragma maplibre: initialize mediump vec4 pattern_from 226#pragma maplibre: initialize mediump vec4 pattern_to 227vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);if (u_sdf_pattern) {highp float sdf_edge=(256.0-64.0)/256.0;highp float sdf_gamma_a=max(fwidth(color1.a)*0.5,1.0/255.0/16.0);highp float sdf_gamma_b=max(fwidth(color2.a)*0.5,1.0/255.0/16.0);float sdf_alpha_a=smoothstep(sdf_edge-sdf_gamma_a,sdf_edge+sdf_gamma_a,color1.a);float sdf_alpha_b=smoothstep(sdf_edge-sdf_gamma_b,sdf_edge+sdf_gamma_b,color2.a);fragColor=mix(color*sdf_alpha_a,color*sdf_alpha_b,u_fade)*alpha*opacity;} else {fragColor=mix(color1,color2,u_fade)*alpha*opacity;} 228#ifdef GLOBE 229if (v_depth > 1.0) {discard;} 230#endif 231#ifdef OVERDRAW_INSPECTOR 232fragColor=vec4(1.0); 233#endif 234}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; 235#ifdef GLOBE 236out float v_depth; 237#endif 238#pragma maplibre: define lowp float opacity 239#pragma maplibre: define highp vec4 color 240#pragma maplibre: define lowp vec4 pattern_from 241#pragma maplibre: define lowp vec4 pattern_to 242#pragma maplibre: define lowp float pixel_ratio_from 243#pragma maplibre: define lowp float pixel_ratio_to 244void main() { 245#pragma maplibre: initialize lowp float opacity 246#pragma maplibre: initialize highp vec4 color 247#pragma maplibre: initialize mediump vec4 pattern_from 248#pragma maplibre: initialize mediump vec4 pattern_to 249#pragma maplibre: initialize lowp float pixel_ratio_from 250#pragma maplibre: initialize lowp float pixel_ratio_to 251if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world_size; 252#ifdef GLOBE 253v_depth=gl_Position.z/gl_Position.w; 254#endif 255}`),fillPattern:VO(`#ifdef GL_ES 256precision highp float; 257#endif 258uniform vec2 u_texsize;uniform float u_fade;uniform bool u_sdf_pattern;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b; 259#pragma maplibre: define lowp float opacity 260#pragma maplibre: define highp vec4 color 261#pragma maplibre: define lowp vec4 pattern_from 262#pragma maplibre: define lowp vec4 pattern_to 263void main() { 264#pragma maplibre: initialize lowp float opacity 265#pragma maplibre: initialize highp vec4 color 266#pragma maplibre: initialize mediump vec4 pattern_from 267#pragma maplibre: initialize mediump vec4 pattern_to 268vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);if (u_sdf_pattern) {highp float sdf_edge=(256.0-64.0)/256.0;highp float sdf_gamma_a=max(fwidth(color1.a)*0.5,1.0/255.0/16.0);highp float sdf_gamma_b=max(fwidth(color2.a)*0.5,1.0/255.0/16.0);float sdf_alpha_a=smoothstep(sdf_edge-sdf_gamma_a,sdf_edge+sdf_gamma_a,color1.a);float sdf_alpha_b=smoothstep(sdf_edge-sdf_gamma_b,sdf_edge+sdf_gamma_b,color2.a);fragColor=mix(color*sdf_alpha_a,color*sdf_alpha_b,u_fade)*opacity;} else {fragColor=mix(color1,color2,u_fade)*opacity;} 269#ifdef OVERDRAW_INSPECTOR 270fragColor=vec4(1.0); 271#endif 272}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b; 273#pragma maplibre: define lowp float opacity 274#pragma maplibre: define highp vec4 color 275#pragma maplibre: define lowp vec4 pattern_from 276#pragma maplibre: define lowp vec4 pattern_to 277#pragma maplibre: define lowp float pixel_ratio_from 278#pragma maplibre: define lowp float pixel_ratio_to 279void main() { 280#pragma maplibre: initialize lowp float opacity 281#pragma maplibre: initialize highp vec4 color 282#pragma maplibre: initialize mediump vec4 pattern_from 283#pragma maplibre: initialize mediump vec4 pattern_to 284#pragma maplibre: initialize lowp float pixel_ratio_from 285#pragma maplibre: initialize lowp float pixel_ratio_to 286if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:VO(`in vec4 v_color;void main() {fragColor=v_color; 287#ifdef OVERDRAW_INSPECTOR 288fragColor=vec4(1.0); 289#endif 290}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform l
290owp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; 291#ifdef TERRAIN3D 292layout(location=2) in vec2 a_centroid; 293#endif 294out vec4 v_color; 295#pragma maplibre: define highp float base 296#pragma maplibre: define highp float height 297#pragma maplibre: define highp vec4 color 298void main() { 299#pragma maplibre: initialize highp float base 300#pragma maplibre: initialize highp float height 301#pragma maplibre: initialize highp vec4 color 302vec3 normal=vec3(a_normal_ed.xyz);float gradient_base=max(0.0,base);float gradient_height=max(0.0,height); 303#ifdef TERRAIN3D 304float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); 305#else 306float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 307#endif 308base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=float(a_normal_ed.x & 1);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 309#ifdef GLOBE 310vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 311#else 312gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 313#endif 314float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0); 315#ifdef GLOBE 316mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); 317#endif 318directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:VO(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting; 319#pragma maplibre: define lowp float base 320#pragma maplibre: define lowp float height 321#pragma maplibre: define lowp vec4 pattern_from 322#pragma maplibre: define lowp vec4 pattern_to 323#pragma maplibre: define lowp float pixel_ratio_from 324#pragma maplibre: define lowp float pixel_ratio_to 325void main() { 326#pragma maplibre: initialize lowp float base 327#pragma maplibre: initialize lowp float height 328#pragma maplibre: initialize mediump vec4 pattern_from 329#pragma maplibre: initialize mediump vec4 pattern_to 330#pragma maplibre: initialize lowp float pixel_ratio_from 331#pragma maplibre: initialize lowp float pixel_ratio_to 332vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting; 333#ifdef OVERDRAW_INSPECTOR 334fragColor=vec4(1.0); 335#endif 336}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; 337#ifdef TERRAIN3D 338layout(location=2) in vec2 a_centroid; 339#endif 340#ifdef GLOBE 341out vec3 v_sphere_pos; 342#endif 343out vec2 v_pos_a;out vec2 v_pos_b;out vec4 v_lighting; 344#pragma maplibre: define lowp float base 345#pragma maplibre: define lowp float height 346#pragma maplibre: define lowp vec4 pattern_from 347#pragma maplibre: define lowp vec4 pattern_to 348#pragma maplibre: define lowp float pixel_ratio_from 349#pragma maplibre: define lowp float pixel_ratio_to 350void main() { 351#pragma maplibre: initialize lowp float base 352#pragma maplibre: initialize lowp float height 353#pragma maplibre: initialize mediump vec4 pattern_from 354#pragma maplibre: initialize mediump vec4 pattern_to 355#pragma maplibre: initialize lowp float pixel_ratio_from 356#pragma maplibre: initialize lowp float pixel_ratio_to 357vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=vec3(a_normal_ed.xyz);float edgedistance=float(a_normal_ed.w);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;float gradient_base=max(0.0,base);float gradient_height=max(0.0,height); 358#ifdef TERRAIN3D 359float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); 360#else 361float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 362#endif 363base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=float(a_normal_ed.x & 1);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 364#ifdef GLOBE 365vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 366#else 367gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 368#endif 369vec2 pos=a_normal_ed.x==1 && a_normal_ed.y==0 && a_normal_ed.z==16384 370? a_pos 371: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:VO(`#ifdef GL_ES 372precision highp float; 373#endif 374uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(ivec2 texel) {vec4 data=texelFetch(u_image,texel,0)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {ivec2 pos=ivec2(gl_FragCoord.xy)+ivec2(1);float tileSize=u_dimension.x-4.0;float a=getElevation(pos+ivec2(-1,-1));float b=getElevation(pos+ivec2(0,-1));float c=getElevation(pos+ivec2(1,-1));float d=getElevation(pos+ivec2(-1,0));float e=getElevation(pos);float f=getElevation(pos+ivec2(1,0));float g=getElevation(pos+ivec2(-1,1));float h=getElevation(pos+ivec2(0,1));float i=getElevation(pos+ivec2(1,1));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/p
374ow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+128.0/255.0,deriv.y/8.0+128.0/255.0,1.0,1.0),0.0,1.0); 375#ifdef OVERDRAW_INSPECTOR 376fragColor=vec4(1.0); 377#endif 378}`,`uniform mat4 u_matrix;uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;layout(location=1) in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}`),hillshade:VO(`uniform sampler2D u_image;in highp vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; 379#define PI 3.141592653589793 380#define STANDARD 0 381#define COMBINED 1 382#define IGOR 2 383#define MULTIDIRECTIONAL 3 384#define BASIC 4 385float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else 386{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else 387{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {highp vec2 size=vec2(textureSize(u_image,0));highp vec2 texturePos=(v_pos*(size-2.0)+1.0)/size;vec4 pixel=texture(u_image,texturePos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=(pixel.rg-128.0/255.0)*8.0/scaleFactor;if (u_method==BASIC) {basic_hillshade(deriv);} else if (u_method==COMBINED) {combined_hillshade(deriv);} else if (u_method==IGOR) {igor_hillshade(deriv);} else if (u_method==MULTIDIRECTIONAL) {multidirectional_hillshade(deriv);} else if (u_method==STANDARD) {standard_hillshade(deriv);} else {standard_hillshade(deriv);} 388#ifdef OVERDRAW_INSPECTOR 389fragColor=vec4(1.0); 390#endif 391}`,`uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),line:VO(`flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; 392#ifdef GLOBE 393in float v_depth; 394#endif 395#pragma maplibre: define highp vec4 color 396#pragma maplibre: define lowp float blur 397#pragma maplibre: define lowp float opacity 398void main() { 399#pragma maplibre: initialize highp vec4 color 400#pragma maplibre: initialize lowp float blur 401#pragma maplibre: initialize lowp float opacity 402clipAntimeridian();float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);fragColor=color*(alpha*opacity); 403#ifdef GLOBE 404if (v_depth > 1.0) {discard;} 405#endif 406#ifdef OVERDRAW_INSPECTOR 407fragColor=vec4(1.0); 408#endif 409}`,` 410#define scale 0.015873016 411layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; 412#ifdef GLOBE 413out float v_depth; 414#endif 415#pragma maplibre: define highp vec4 color 416#pragma maplibre: define lowp float blur 417#pragma maplibre: define lowp float opacity 418#pragma maplibre: define mediump float gapwidth 419#pragma maplibre: define lowp float offset 420#pragma maplibre: define mediump float width 421void main() { 422#pragma maplibre: initialize highp vec4 color 423#pragma maplibre: initialize lowp float blur 424#pragma maplibre: initialize lowp float opacity 425#pragma maplibre: initialize mediump float gapwidth 426#pragma maplibre: initialize lowp float offset 427#pragma maplibre: initialize mediump float width 428if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=vec2(ivec2(a_data.xy)-128);float a_direction=float(int(a_data.z & 3u)-1);v_linesofar=float((a_data.z >> 2u)+a_data.w*64u)*2.0;vec2 pos=vec2(a_pos_normal >> 1);mediump vec2 normal=vec2(a_pos_normal & 1);normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
428float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 429#ifdef GLOBE 430v_depth=gl_Position.z/gl_Position.w; 431#endif 432#ifdef TERRAIN3D 433v_gamma_scale=1.0; 434#else 435float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 436#endif 437v_width2=vec2(outset,inset);}`),lineGradient:VO(`uniform sampler2D u_image;flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; 438#ifdef GLOBE 439in float v_depth; 440#endif 441#pragma maplibre: define lowp float blur 442#pragma maplibre: define lowp float opacity 443void main() { 444#pragma maplibre: initialize lowp float blur 445#pragma maplibre: initialize lowp float opacity 446clipAntimeridian();float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);fragColor=color*(alpha*opacity); 447#ifdef GLOBE 448if (v_depth > 1.0) {discard;} 449#endif 450#ifdef OVERDRAW_INSPECTOR 451fragColor=vec4(1.0); 452#endif 453}`,` 454#define scale 0.015873016 455layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;layout(location=2) in float a_uv_x;layout(location=3) in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_image_height;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; 456#ifdef GLOBE 457out float v_depth; 458#endif 459#pragma maplibre: define lowp float blur 460#pragma maplibre: define lowp float opacity 461#pragma maplibre: define mediump float gapwidth 462#pragma maplibre: define lowp float offset 463#pragma maplibre: define mediump float width 464void main() { 465#pragma maplibre: initialize lowp float blur 466#pragma maplibre: initialize lowp float opacity 467#pragma maplibre: initialize mediump float gapwidth 468#pragma maplibre: initialize lowp float offset 469#pragma maplibre: initialize mediump float width 470if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=vec2(ivec2(a_data.xy)-128);float a_direction=float(int(a_data.z & 3u)-1);highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=vec2(a_pos_normal >> 1);mediump vec2 normal=vec2(a_pos_normal & 1);normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 471#ifdef GLOBE 472v_depth=gl_Position.z/gl_Position.w; 473#endif 474#ifdef TERRAIN3D 475v_gamma_scale=1.0; 476#else 477float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 478#endif 479v_width2=vec2(outset,inset);}`),linePattern:VO(`#ifdef GL_ES 480precision highp float; 481#endif 482uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;flat in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;flat in float v_width; 483#ifdef GLOBE 484in float v_depth; 485#endif 486#pragma maplibre: define lowp vec4 pattern_from 487#pragma maplibre: define lowp vec4 pattern_to 488#pragma maplibre: define lowp float pixel_ratio_from 489#pragma maplibre: define lowp float pixel_ratio_to 490#pragma maplibre: define lowp float blur 491#pragma maplibre: define lowp float opacity 492void main() { 493#pragma maplibre: initialize mediump vec4 pattern_from 494#pragma maplibre: initialize mediump vec4 pattern_to 495#pragma maplibre: initialize lowp float pixel_ratio_from 496#pragma maplibre: initialize lowp float pixel_ratio_to 497#pragma maplibre: initialize lowp float blur 498#pragma maplibre: initialize lowp float opacity 499clipAntimeridian();vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity; 500#ifdef GLOBE 501if (v_depth > 1.0) {discard;} 502#endif 503#ifdef OVERDRAW_INSPECTOR 504fragColor=vec4(1.0); 505#endif 506}`,` 507#define scale 0.015873016 508#define LINE_DISTANCE_SCALE 2.0 509layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;out vec2 v_normal;flat out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;flat out float v_width; 510#ifdef GLOBE 511out float v_depth; 512#endif 513#pragma maplibre: define lowp float blur 514#pragma maplibre: define lowp float opacity 515#pragma maplibre: define lowp float offset 516#pragma maplibre: define mediump float gapwidth 517#pragma maplibre: define mediump float width 518#pragma maplibre: define lowp float floorwidth 519#pragma maplibre: define lowp vec4 pattern_from 520#pragma maplibre: define lowp vec4 pattern_to 521#pragma maplibre: define lowp float pixel_ratio_from 522#pragma maplibre: define lowp float pixel_ratio_to 523void main() { 524#pragma maplibre: initialize lowp float blur 525#pragma maplibre: initialize lowp float opacity 526#pragma maplibre: initialize lowp float offset 527#pragma maplibre: initialize mediump float gapwidth 528#pragma maplibre: initialize mediump float width 529#pragma maplibre: initialize lowp float floorwidth 530#pragma maplibre: initialize mediump vec4 pattern_from 531#pragma maplibre: initialize mediump vec4 pattern_to 532#pragma maplibre: initialize lowp float pixel_ratio_from 533#pragma maplibre: initialize lowp float pixel_ratio_to 534if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=vec2(ivec2(a_data.xy)-128);float a_direction=float(int(a_data.z & 3u)-1);float a_linesofar=float((a_data.z >> 2u)+a_data.w*64u)*LINE_DISTANCE_SCALE;vec2 pos=vec2(a_pos_normal >> 1);mediump vec2 normal=vec2(a_pos_normal & 1);normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
534float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 535#ifdef GLOBE 536v_depth=gl_Position.z/gl_Position.w; 537#endif 538#ifdef TERRAIN3D 539v_gamma_scale=1.0; 540#else 541float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 542#endif 543v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:VO(`uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; 544#ifdef GLOBE 545in float v_depth; 546#endif 547#pragma maplibre: define highp vec4 color 548#pragma maplibre: define lowp float blur 549#pragma maplibre: define lowp float opacity 550#pragma maplibre: define mediump float width 551#pragma maplibre: define lowp float floorwidth 552#pragma maplibre: define mediump vec4 dasharray_from 553#pragma maplibre: define mediump vec4 dasharray_to 554void main() { 555#pragma maplibre: initialize highp vec4 color 556#pragma maplibre: initialize lowp float blur 557#pragma maplibre: initialize lowp float opacity 558#pragma maplibre: initialize mediump float width 559#pragma maplibre: initialize lowp float floorwidth 560#pragma maplibre: initialize mediump vec4 dasharray_from 561#pragma maplibre: initialize mediump vec4 dasharray_to 562clipAntimeridian();float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);
562float sdfgamma=(u_lineatlas_width/256.0/u_device_pixel_ratio)/min(dasharray_from.w,dasharray_to.w);alpha*=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity); 563#ifdef GLOBE 564if (v_depth > 1.0) {discard;} 565#endif 566#ifdef OVERDRAW_INSPECTOR 567fragColor=vec4(1.0); 568#endif 569}`,` 570#define scale 0.015873016 571#define LINE_DISTANCE_SCALE 2.0 572layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;flat out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; 573#ifdef GLOBE 574out float v_depth; 575#endif 576#pragma maplibre: define highp vec4 color 577#pragma maplibre: define lowp float blur 578#pragma maplibre: define lowp float opacity 579#pragma maplibre: define mediump float gapwidth 580#pragma maplibre: define lowp float offset 581#pragma maplibre: define mediump float width 582#pragma maplibre: define lowp float floorwidth 583#pragma maplibre: define mediump vec4 dasharray_from 584#pragma maplibre: define mediump vec4 dasharray_to 585void main() { 586#pragma maplibre: initialize highp vec4 color 587#pragma maplibre: initialize lowp float blur 588#pragma maplibre: initialize lowp float opacity 589#pragma maplibre: initialize mediump float gapwidth 590#pragma maplibre: initialize lowp float offset 591#pragma maplibre: initialize mediump float width 592#pragma maplibre: initialize lowp float floorwidth 593#pragma maplibre: initialize mediump vec4 dasharray_from 594#pragma maplibre: initialize mediump vec4 dasharray_to 595if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=vec2(ivec2(a_data.xy)-128);float a_direction=float(int(a_data.z & 3u)-1);float a_linesofar=float((a_data.z >> 2u)+a_data.w*64u)*LINE_DISTANCE_SCALE;vec2 pos=vec2(a_pos_normal >> 1);mediump vec2 normal=vec2(a_pos_normal & 1);normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 596#ifdef GLOBE 597v_depth=gl_Position.z/gl_Position.w; 598#endif 599#ifdef TERRAIN3D 600v_gamma_scale=1.0; 601#else 602float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 603#endif 604float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:VO(`uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; 605#ifdef GLOBE 606in float v_depth; 607#endif 608#pragma maplibre: define lowp float blur 609#pragma maplibre: define lowp float opacity 610#pragma maplibre: define mediump float width 611#pragma maplibre: define lowp float floorwidth 612#pragma maplibre: define mediump vec4 dasharray_from 613#pragma maplibre: define mediump vec4 dasharray_to 614void main() { 615#pragma maplibre: initialize lowp float blur 616#pragma maplibre: initialize lowp float opacity 617#pragma maplibre: initialize mediump float width 618#pragma maplibre: initialize lowp float floorwidth 619#pragma maplibre: initialize mediump vec4 dasharray_from 620#pragma maplibre: initialize mediump vec4 dasharray_to 621clipAntimeridian();float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);float sdfdist_a=texture(u_image_dash,v_tex_a).a;float sdfdist_b=texture(u_image_dash,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);
621float sdfgamma=(u_lineatlas_width/256.0)/min(dasharray_from.w,dasharray_to.w);float dash_alpha=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*dash_alpha*opacity); 622#ifdef GLOBE 623if (v_depth > 1.0) {discard;} 624#endif 625#ifdef OVERDRAW_INSPECTOR 626fragColor=vec4(1.0); 627#endif 628}`,` 629#define scale 0.015873016 630#define LINE_DISTANCE_SCALE 2.0 631layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;layout(location=2) in float a_uv_x;layout(location=3) in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b; 632#ifdef GLOBE 633out float v_depth; 634#endif 635#pragma maplibre: define lowp float blur 636#pragma maplibre: define lowp float opacity 637#pragma maplibre: define mediump float gapwidth 638#pragma maplibre: define lowp float offset 639#pragma maplibre: define mediump float width 640#pragma maplibre: define lowp float floorwidth 641#pragma maplibre: define mediump vec4 dasharray_from 642#pragma maplibre: define mediump vec4 dasharray_to 643void main() { 644#pragma maplibre: initialize lowp float blur 645#pragma maplibre: initialize lowp float opacity 646#pragma maplibre: initialize mediump float gapwidth 647#pragma maplibre: initialize lowp float offset 648#pragma maplibre: initialize mediump float width 649#pragma maplibre: initialize lowp float floorwidth 650#pragma maplibre: initialize mediump vec4 dasharray_from 651#pragma maplibre: initialize mediump vec4 dasharray_to 652if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=vec2(ivec2(a_data.xy)-128);float a_direction=float(int(a_data.z & 3u)-1);float a_linesofar=float((a_data.z >> 2u)+a_data.w*64u)*LINE_DISTANCE_SCALE;float texel_height=1.0/u_image_height;float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=vec2(a_pos_normal >> 1);mediump vec2 normal=vec2(a_pos_normal & 1);normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 653#ifdef GLOBE 654v_depth=gl_Position.z/gl_Position.w; 655#endif 656#ifdef TERRAIN3D 657v_gamma_scale=1.0; 658#else 659float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 660#endif 661float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),layerOpacity:VO(`uniform sampler2D u_image;uniform float u_opacity;in vec2 v_pos;void main() {fragColor=texture(u_image,v_pos)*u_opacity; 662#ifdef OVERDRAW_INSPECTOR 663fragColor=vec4(0.0); 664#endif 665}`,`layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=vec4(a_pos.x*2.0-1.0,1.0-a_pos.y*2.0,0.0,1.0);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}`),raster:VO(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec3 v_pos0;in vec3 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0.xy/v_pos0.z);vec4 color1=texture(u_image1,v_pos1.xy/v_pos1.z);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); 666#ifdef OVERDRAW_INSPECTOR 667fragColor=vec4(1.0); 668#endif 669}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec3 u_image_warp;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;layout(location=0) in vec2 a_pos;out vec3 v_pos0;out vec3 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 topLeft=u_coords_top.xy;vec2 topRight=u_coords_top.zw;vec2 bottomLeft=u_coords_bottom.xy;vec2 bottomRight=u_coords_bottom.zw;
669vec2 bilinearPos=mix(mix(topLeft,topRight,fractionalPos.x),mix(bottomLeft,bottomRight,fractionalPos.x),fractionalPos.y);float denominator=dot(u_image_warp.xy,fractionalPos)+1.0;vec2 acrossTop=topRight-topLeft+u_image_warp.x*topRight;vec2 downLeft=bottomLeft-topLeft+u_image_warp.y*bottomLeft;vec2 projectivePos=(acrossTop*fractionalPos.x+downLeft*fractionalPos.y+topLeft)/denominator;vec2 position=mix(projectivePos,bilinearPos,u_image_warp.z);gl_Position=projectTile(position,position);vec2 texturePos=((fractionalPos-0.5)/u_buffer_scale)+0.5; 670#ifdef GLOBE 671if (a_pos.y <-32767.5) {texturePos.y=0.0;}if (a_pos.y > 32766.5) {texturePos.y=1.0;} 672#endif 673float perspectiveRatio=mix(1.0/denominator,1.0,u_image_warp.z);v_pos0=vec3(texturePos*perspectiveRatio,perspectiveRatio);vec2 parentPos=(texturePos*u_scale_parent)+u_tl_parent;v_pos1=vec3(parentPos*perspectiveRatio,perspectiveRatio);}`),symbolIcon:VO(`uniform sampler2D u_texture;in vec2 v_tex;flat in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity; 674#ifdef OVERDRAW_INSPECTOR 675fragColor=vec4(1.0); 676#endif 677}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform bool u_rotate_symbol;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_tex;flat out float v_total_opacity; 678#pragma maplibre: define lowp float opacity 679void main() { 680#pragma maplibre: initialize lowp float opacity 681vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=vec2(a_data.xy);vec2 a_size=vec2(a_data.zw);float a_size_min=float(a_data.z >> 1u);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=a_height_offset+(u_height_anchor_ground ? get_elevation(a_pos) : 0.0);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_symbol_fade_change :-u_symbol_fade_change;float visibility=calculate_visibility(projectedPoint);v_total_opacity=opacity*max(0.0,min(visibility,fade_opacity[0]+fade_change));if (v_total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 682camera_to_anchor_distance/u_camera_to_center_distance : 683u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);if (!u_is_offset) {size*=perspective_ratio;}float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 684#ifdef GLOBE 685if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 686#endif 687vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;}`),symbolSDF:VO(`#define SDF_PX 8.0 688uniform bool u_is_halo;uniform bool u_is_plain;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1; 689#pragma maplibre: define highp vec4 fill_color 690#pragma maplibre: define highp vec4 halo_color 691#pragma maplibre: define lowp float halo_width 692#pragma maplibre: define lowp float halo_blur 693void main() { 694#pragma maplibre: initialize highp vec4 fill_color 695#pragma maplibre: initialize highp vec4 halo_color 696#pragma maplibre: initialize lowp float halo_width 697#pragma maplibre: initialize lowp float halo_blur 698float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float total_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out_text,color_alpha_out_halo;if (u_is_plain){highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);color_alpha_out_text=total_opacity*alpha*fill_color;}if (u_is_halo) {float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);float inner_edge_halo=inner_edge+gamma_halo*gamma_scale;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(inner_edge_halo-gamma_scaled_halo,inner_edge_halo+gamma_scaled_halo,dist);highp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha_halo= min(smoothstep(halo_edge-gamma_scaled_halo,halo_edge+gamma_scaled_halo,dist),1.0-alpha_halo);color_alpha_out_halo=total_opacity*alpha_halo*halo_color;}if (u_is_plain && u_is_halo) {fragColor=color_alpha_out_text+(1.-color_alpha_out_text.a)*color_alpha_out_halo;} else if (u_is_halo){fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out_text;} 699#ifdef OVERDRAW_INSPECTOR 700fragColor=vec4(1.0); 701#endif 702}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_data0;out vec3 v_data1; 703#pragma maplibre: define highp vec4 fill_color 704#pragma maplibre: define highp vec4 halo_color 705#pragma maplibre: define lowp float opacity 706#pragma maplibre: define lowp float halo_width 707#pragma maplibre: define lowp float halo_blur 708void main() { 709#pragma maplibre: initialize highp vec4 fill_color 710#pragma maplibre: initialize highp vec4 halo_color 711#pragma maplibre: initialize lowp float opacity 712#pragma maplibre: initialize lowp float halo_width 713#pragma maplibre: initialize lowp float halo_blur 714vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=vec2(a_data.xy);vec2 a_size=vec2(a_data.zw);float a_size_min=float(a_data.z >> 1u);vec2 a_pxoffset=a_pixeloffset.xy/16.0;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=a_height_offset+(u_height_anchor_ground ? get_elevation(a_pos) : 0.0);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_symbol_fade_change :-u_symbol_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 715camera_to_anchor_distance/u_camera_to_center_distance : 716u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);if (!u_is_offset) {size*=perspective_ratio;}float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 717#ifdef GLOBE 718if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 719#endif 720vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,total_opacity);}`),symbolTextAndIcon:VO(`#define SDF_PX 8.0 721#define SDF 1.0 722#define ICON 0.0 723uniform bool u_is_halo;uniform bool u_is_text;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;in vec4 v_data0;in vec3 v_data1;flat in float v_is_sdf; 724#pragma maplibre: define highp vec4 fill_color 725#pragma maplibre: define highp vec4 halo_color 726#pragma maplibre: define lowp float halo_width 727#pragma maplibre: define lowp float halo_blur 728void main() { 729#pragma maplibre: initialize highp vec4 fill_color 730#pragma maplibre: initialize highp vec4 halo_color 731#pragma maplibre: initialize lowp float halo_width 732#pragma maplibre: initialize lowp float halo_blur 733float total_opacity=v_data1[2];if (v_is_sdf==ICON) {vec2 tex_icon=v_data0.zw;
733fragColor=texture(u_texture_icon,tex_icon)*total_opacity; 734#ifdef OVERDRAW_INSPECTOR 735fragColor=vec4(1.0); 736#endif 737return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out,color_alpha_out_halo;if (u_is_text) {highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);color_alpha_out=fill_color*(alpha*total_opacity);}if (u_is_halo) {highp float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);lowp float buff_halo=(6.0-halo_width/fontScale)/SDF_PX;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(buff_halo-gamma_scaled_halo,buff_halo+gamma_scaled_halo,dist);color_alpha_out_halo=halo_color*(alpha_halo*total_opacity);}if (u_is_text && u_is_halo) {fragColor=color_alpha_out+(1.-color_alpha_out.a)*color_alpha_out_halo;} else if (u_is_halo) {fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out;} 738#ifdef OVERDRAW_INSPECTOR 739fragColor=vec4(1.0); 740#endif 741}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec3 a_projected_pos;layout(location=3) in uint a_fade_opacity;layout(location=4) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec4 v_data0;out vec3 v_data1;flat out float v_is_sdf; 742#pragma maplibre: define highp vec4 fill_color 743#pragma maplibre: define highp vec4 halo_color 744#pragma maplibre: define lowp float opacity 745#pragma maplibre: define lowp float halo_width 746#pragma maplibre: define lowp float halo_blur 747void main() { 748#pragma maplibre: initialize highp vec4 fill_color 749#pragma maplibre: initialize highp vec4 halo_color 750#pragma maplibre: initialize lowp float opacity 751#pragma maplibre: initialize lowp float halo_width 752#pragma maplibre: initialize lowp float halo_blur 753vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=vec2(a_data.xy);vec2 a_size=vec2(a_data.zw);float a_size_min=float(a_data.z >> 1u);float is_sdf=float(a_data.z & 1u);float ele=a_height_offset+(u_height_anchor_ground ? get_elevation(a_pos) : 0.0);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_symbol_fade_change :-u_symbol_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 754camera_to_anchor_distance/u_camera_to_center_distance : 755u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);if (!u_is_offset) {size*=perspective_ratio;}float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 756#ifdef GLOBE 757if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 758#endif 759vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec3(gamma_scale,size,total_opacity);v_is_sdf=is_sdf;}`),terrain:VO(`uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && u_fog_ground_blend_opacity > 0.0 && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);
759float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}`,`layout(location=0) in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}`),terrainDepth:VO(`in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}`,`layout(location=0) in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}`),atmosphere:VO(`#ifdef GL_ES 760precision highp float; 761#endif 762in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758 763);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,`layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}`),sky:VO(`uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;in vec3 v_view_direction;const float ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS=100000.0/6371000.0;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;float opacity=1.0;if (u_sky_blend > 0.0) {vec3 ray=normalize(v_view_direction);float globe_distance=length(u_globe_position);float angle_to_globe_center=acos(clamp(dot(ray,u_globe_position)/globe_distance,-1.0,1.0));float horizon_angle=asin(min(u_globe_radius/globe_distance,1.0));blend=mix(blend,((angle_to_globe_center-horizon_angle)*u_camera_to_center_distance+1.0)*u_device_pixel_ratio,u_sky_blend);float closest_approach=max(dot(ray,u_globe_position),0.0);
763float lowest_altitude=sqrt(max(globe_distance*globe_distance-closest_approach*closest_approach,0.0))-u_globe_radius;float atmosphere_height=u_globe_radius*ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS;float inside_atmosphere=1.0-smoothstep(atmosphere_height,10.0*atmosphere_height,globe_distance-u_globe_radius);float through_atmosphere=1.0-smoothstep(0.0,atmosphere_height,lowest_altitude);opacity=inside_atmosphere*through_atmosphere*(1.0-u_atmosphere_blend);}if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor*=mix(1.0,opacity,u_sky_blend);}`,`layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 v_view_direction;void main() {v_view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,1.0,1.0);}`)};function VO(e,t){let n=/#pragma maplibre: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s=r?r.length:0,c={};return e=e.replace(n,(e,t,n,r,i)=>(c[i]=!0,t===`define`?` 764#ifndef HAS_UNIFORM_u_${i} 765in ${n} ${r} ${i}; 766#else 767uniform ${n} ${r} u_${i}; 768#endif 769`:` 770#ifdef HAS_UNIFORM_u_${i} 771 ${n} ${r} ${i} = u_${i}; 772#endif 773`)),t=t.replace(n,(e,t,n,r,i)=>{let a=r===`float`?`vec2`:`vec4`,o=i.match(/color/)?`color`:a;return c[i]?t===`define`?` 774#ifndef HAS_UNIFORM_u_${i} 775uniform lowp float u_${i}_t; 776layout(location = ${s++}) in ${n} ${a} a_${i}; 777out ${n} ${r} ${i}; 778#else 779uniform ${n} ${r} u_${i}; 780#endif 781`:o===`vec4`?` 782#ifndef HAS_UNIFORM_u_${i} 783 ${i} = a_${i}; 784#else 785 ${n} ${r} ${i} = u_${i}; 786#endif 787`:` 788#ifndef HAS_UNIFORM_u_${i} 789 ${i} = unpack_mix_${o}(a_${i}, u_${i}_t); 790#else 791 ${n} ${r} ${i} = u_${i}; 792#endif 793`:t===`define`?` 794#ifndef HAS_UNIFORM_u_${i} 795uniform lowp float u_${i}_t; 796layout(location = ${s++}) in ${n} ${a} a_${i}; 797#else 798uniform ${n} ${r} u_${i}; 799#endif 800`:o===`vec4`?` 801#ifndef HAS_UNIFORM_u_${i} 802 ${n} ${r} ${i} = a_${i}; 803#else 804 ${n} ${r} ${i} = u_${i}; 805#endif 806`:` 807#ifndef HAS_UNIFORM_u_${i} 808 ${n} ${r} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t); 809#else 810 ${n} ${r} ${i} = u_${i}; 811#endif 812`}),{fragmentSource:e,vertexSource:t,staticAttributes:r,staticUniforms:o}}var HO=`#define PROJECTION_MERCATOR`,UO=`mercator`,WO=class{constructor(){this._cachedMesh=null}get name(){return`mercator`}get useSubdivision(){return!1}get shaderVariantName(){return UO}get shaderDefine(){return HO}get shaderPreludeCode(){return BO.projectionMercator}get vertexShaderPreludeCode(){return BO.projectionMercator.vertexSource}get subdivisionGranularity(){return Rp.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}destroy(){}getMeshFromTileID(e,t,n,r,i){if(this._cachedMesh)return this._cachedMesh;let a=new wu;a.emplaceBack(0,0),a.emplaceBack(P,0),a.emplaceBack(0,P),a.emplaceBack(P,P);let o=e.createVertexBuffer(a,EE.members),s=Ku.simpleSegment(0,0,4,2),c=new Vu;c.emplaceBack(1,0,2),c.emplaceBack(1,2,3);let l=e.createIndexBuffer(c);return this._cachedMesh=new TE(o,l,s),this._cachedMesh}recalculate(){}hasTransition(){return!1}},GO=class e{constructor(e=0,t=0,n=0,r=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(r)||r<0)throw Error(`Invalid value for edge-insets, top, bottom, left and right must all be numbers`);this.top=e,this.bottom=t,this.left=n,this.right=r}interpolate(e,t,n){return t.top!=null&&e.top!=null&&(this.top=Vi.number(e.top,t.top,n)),t.bottom!=null&&e.bottom!=null&&(this.bottom=Vi.number(e.bottom,t.bottom,n)),t.left!=null&&e.left!=null&&(this.left=Vi.number(e.left,t.left,n)),t.right!=null&&e.right!=null&&(this.right=Vi.number(e.right,t.right,n)),this}getCenter(e,t){return new M(F((this.left+e-this.right)/2,0,e),F((this.top+t-this.bottom)/2,0,t))}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new e(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}};function KO(e,t){if(!e.renderWorldCopies||e.lngRange)return;let n=t.lng-e.center.lng;t.lng+=n>180?-360:n<-180?360:0}function qO(e){return Math.max(0,Math.floor(e))}var JO=class{constructor(e,t){this.applyConstrain=(e,t)=>this._constrainOverride===null?this._callbacks.defaultConstrain(e,t):this._constrainOverride(e,t),this._callbacks=e,this._tileSize=512,this._renderWorldCopies=t?.renderWorldCopies===void 0||!!t?.renderWorldCopies,this._minZoom=t?.minZoom||0,this._maxZoom=t?.maxZoom||22,this._minPitch=t?.minPitch===void 0||t?.minPitch===null?0:t?.minPitch,this._maxPitch=t?.maxPitch===void 0||t?.maxPitch===null?60:t?.maxPitch,this._constrainOverride=t?.constrainOverride??null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new X(0,0),this._elevation=0,this._zoom=0,this._tileZoom=qO(this._zoom),this._scale=vn(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new GO,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(e,t){this._constrainOverride=e.constrainOverride,this._latRange=e.latRange,this._lngRange=e.lngRange,this._width=e.width,this._height=e.height,this._center=e.center,this._elevation=e.elevation,this._minElevationForCurrentTile=e.minElevationForCurrentTile,this._zoom=e.zoom,this._tileZoom=qO(this._zoom),this._scale=vn(this._zoom),this._bearingInRadians=e.bearingInRadians,this._fovInRadians=e.fovInRadians,this._pitchInRadians=e.pitchInRadians,this._rollInRadians=e.rollInRadians,this._unmodified=e.unmodified,this._edgeInsets=new GO(e.padding.top,e.padding.bottom,e.padding.left,e.padding.right),this._minZoom=e.minZoom,this._maxZoom=e.maxZoom,this._minPitch=e.minPitch,this._maxPitch=e.maxPitch,this._renderWorldCopies=e.renderWorldCopies,this._cameraToCenterDistance=e.cameraToCenterDistance,this._nearZ=e.nearZ,this._farZ=e.farZ,this._autoCalculateNearFarZ=e.autoCalculateNearFarZ,t&&this.constrainInternal(),this._calcMatrices()}
vendor: 6,865 bytes, line 812
812get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(e){this._minElevationForCurrentTile=e}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(e){if(this._minZoom===e)return;this._minZoom=e;let t=this._unmodified;this.setZoom(this.applyConstrain(this._center,this.zoom).zoom),this._unmodified=t}get maxZoom(){return this._maxZoom}setMaxZoom(e){if(this._maxZoom===e)return;this._maxZoom=e;let t=this._unmodified;this.setZoom(this.applyConstrain(this._center,this.zoom).zoom),this._unmodified=t}get minPitch(){return this._minPitch}setMinPitch(e){if(this._minPitch===e)return;this._minPitch=e;let t=this._unmodified;this.setPitch(Math.max(this.pitch,e)),this._unmodified=t}get maxPitch(){return this._maxPitch}setMaxPitch(e){if(this._maxPitch===e)return;this._maxPitch=e;let t=this._unmodified;this.setPitch(Math.min(this.pitch,e)),this._unmodified=t}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get constrainOverride(){return this._constrainOverride}setConstrainOverride(e){e===void 0&&(e=null),this._constrainOverride!==e&&(this._constrainOverride=e,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new M(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(e){let t=fn(e,-180,180)*Math.PI/180;this._bearingInRadians!==t&&(this._unmodified=!1,this._bearingInRadians=t,this._calcMatrices(),this._rotationMatrix=aw(),cw(this._rotationMatrix,this._rotationMatrix,-this._bearingInRadians))}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(e){let t=F(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==t&&(this._unmodified=!1,this._pitchInRadians=t,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(e){let t=e/180*Math.PI;this._rollInRadians!==t&&(this._unmodified=!1,this._rollInRadians=t,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return Vn(this._fovInRadians)}setFov(e){e=F(e,.1,150),this.fov!==e&&(this._unmodified=!1,this._fovInRadians=Bn(e),this._calcMatrices())}get zoom(){return this._zoom}setZoom(e){let t=this.applyConstrain(this._center,e).zoom;this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this._tileZoom=Math.max(0,Math.floor(t)),this._scale=vn(t),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(e){(e.lat!==this._center.lat||e.lng!==this._center.lng)&&(this._unmodified=!1,this._center=e,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(e){e!==this._elevation&&(this._elevation=e,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(e,t){this._autoCalculateNearFarZ=!1,this._nearZ=e,this._farZ=t,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this.constrainInternal(),this._calcMatrices()}resize(e,t,n=!0){this._width=e,this._height=t,n&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){return this._latRange?.length!==2||this._lngRange?.length!==2?null:new tE([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]])}setMaxBounds(e){e?(this._lngRange=[e.getWest(),e.getEast()],this._latRange=[e.getSouth(),e.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-Kn,Kn])}getCameraQueryGeometry(e,t){if(t.length===1)return[t[0],e];{let{minX:n,minY:r,maxX:i,maxY:a}=um.fromPoints(t).extend(e);return[new M(n,r),new M(i,r),new M(i,a),new M(n,a),new M(n,r)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.applyConstrain(this.center,this.zoom);this.setCenter(t),this.setZoom(n),this._unmodified=e,this._constraining=!1}_calcMatrices(){if(this._pixelPerMeter=Tm(1,this.center.lat)*this.worldSize,!this._width||!this._height)return;this._pixelsToGLUnits=[2/this._width,-2/this._height];let e=Re(new Float64Array(16));He(e,e,[this._width/2,-this._height/2,1]),Ve(e,e,[1,-1,0]),this._clipSpaceToPixelsMatrix=e,e=Re(new Float64Array(16)),He(e,e,[1,-1,1]),Ve(e,e,[-1,-1,0]),He(e,e,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=e;let t=this.fovInRadians/2;this._cameraToCenterDistance=.5/Math.tan(t)*this._height,this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(e,t,n,r){let i=n===void 0?this.bearing:n,a=r=r===void 0?this.pitch:r,{distanceToCenter:o,clampedElevation:s}=this._distanceToCenterFromAltElevationPitch(t,this.elevation,a),{x:c,y:l}=Bm(a,i),u=Am.fromLngLat(e,t),d=Om(1,u.y),f,p,m=0;do{if(m+=1,m>10)break;p=o/d;let e=c*p,t=l*p;f=new Am(u.x+e,u.y+t),d=1/f.meterInMercatorCoordinateUnits()}while(Math.abs(o-p*d)>1e-12);return{center:f.toLngLat(),elevation:s,zoom:yn(this.height/2/Math.tan(this.fovInRadians/2)/p/this.tileSize)}}recalculateZoomAndCenter(e){if(this.elevation-e===0)return;let t=1/this.worldSize,n=Tm(1,this.center.lat)*this.worldSize,r=Am.fromLngLat(this.center,this.elevation),i=r.x/t,a=r.y/t,o=r.z/t,s=this.pitch,c=this.bearing,{x:l,y:u,z:d}=Bm(s,c),f=this.cameraToCenterDistance,p=i+f*-l,m=a+f*-u,h=o+f*d,{distanceToCenter:g,clampedElevation:_}=this._distanceToCenterFromAltElevationPitch(h/n,e,s),v=g*n,y=p+l*v,b=m+u*v,x=new Am(y*t,b*t,0).toLngLat(),S=Tm(1,x.lat),C=yn(this.height/2/Math.tan(this.fovInRadians/2)/g/S/this.tileSize);this._elevation=_,this._center=x,this.setZoom(C)}
vendor: 5,349 bytes, line 812
812_distanceToCenterFromAltElevationPitch(e,t,n){let r=-Math.cos(Bn(n)),i=e-t,a,o=t;return r*i>=0||Math.abs(r)<Math.cos(Bn(89.25))?(a=1e4,o=e+a*r):a=-i/r,{distanceToCenter:a,clampedElevation:o}}getCameraPoint(){let e=this.pitchInRadians,t=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new M(t*Math.sin(this.rollInRadians),t*Math.cos(this.rollInRadians)))}getMercatorTileCoordinates(e){if(!e)return[0,0,1,1];let t=e.canonical.z>=0?1<<e.canonical.z:2**e.canonical.z;return[e.canonical.x/t,e.canonical.y/t,1/t/P,1/t/P]}},YO=class{distanceToTile2d(e,t,n,r){let i=r,a=i.distanceX([e,t]),o=i.distanceY([e,t]);return Math.hypot(a,o)}getWrap(e,t,n){return n}getTileBoundingVolume(e,t,n,r){let i=Math.min(0,n),a=Math.max(0,n);if(r?.terrain){let n=new my(e.z,t,e.z,e.x,e.y),o=r.terrain.getMinMaxElevation(n);i=o.minElevation??i,a=o.maxElevation??a}let o=1<<e.z;return new ZE([t+e.x/o,e.y/o,i],[t+(e.x+1)/o,(e.y+1)/o,a])}allowVariableZoom(e,t){let n=F(78.5-e.fov*(Math.abs(Math.cos(e.rollInRadians))*e.height+Math.abs(Math.sin(e.rollInRadians))*e.width)/e.height/2,0,60);return!!t.terrain||e.pitch>n}allowWorldCopies(){return!0}prepareNextFrame(){}},XO=zl([{name:`a_pos3d`,type:`Int16`,components:3}]),ZO=class extends br{constructor(e){super(),this._lastTilesetChange=mw(),this.tileManager=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.tileManager.usedForTerrain=!1,this.tileManager.tileSize=null,this.releaseAllRTT()}getSource(){return this.tileManager._source}update(e,t){this.tileManager.update(e,t),this._renderableTilesKeys=[];let n={},r=!1;for(let i of dD(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:t}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.terrainRttPosMatrix32f=new Float32Array(16),Xe(i.terrainRttPosMatrix32f,0,8192,8192,0,0,1),this._tiles[i.key]=new JE(i,this.tileSize),this._lastTilesetChange=mw(),r=!0);for(let e in this._tiles)n[e]||(this._tiles[e].releaseRTT(this.tileManager.map.painter),delete this._tiles[e],r=!0);return r}releaseRTT(e){for(let t in this._tiles){let n=this._tiles[t];(n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&n.releaseRTT(this.tileManager.map.painter)}}releaseAllRTT(){for(let e in this._tiles)this._tiles[e].releaseRTT(this.tileManager.map.painter)}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,t){return t?this._getTerrainCoordsForTileRanges(e,t):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){let t={};for(let n of this._renderableTilesKeys){let r=this._tiles[n].tileID,i=e.clone(),a=qt();if(r.canonical.equals(e.canonical))Xe(a,0,P,P,0,0,1);else if(r.canonical.isChildOf(e.canonical)){let t=r.canonical.z-e.canonical.z,n=r.canonical.x-(r.canonical.x>>t<<t),i=r.canonical.y-(r.canonical.y>>t<<t),o=P>>t;Xe(a,0,o,o,0,0,1),Ve(a,a,[-n*o,-i*o,0])}else if(e.canonical.isChildOf(r.canonical)){let t=e.canonical.z-r.canonical.z,n=e.canonical.x-(e.canonical.x>>t<<t),i=e.canonical.y-(e.canonical.y>>t<<t),o=P>>t;Xe(a,0,P,P,0,0,1),Ve(a,a,[n*o,i*o,0]),He(a,a,[1/2**t,1/2**t,0])}else continue;i.terrainRttPosMatrix32f=new Float32Array(a),t[n]=i}return t}_getTerrainCoordsForTileRanges(e,t){let n={};for(let r of this._renderableTilesKeys){let i=this._tiles[r].tileID;if(!this._isWithinTileRanges(i,t))continue;let a=e.clone(),o=qt();if(i.canonical.z===e.canonical.z){let t=e.canonical.x-i.canonical.x+e.wrap*(1<<e.canonical.z),n=e.canonical.y-i.canonical.y;Xe(o,0,P,P,0,0,1),Ve(o,o,[t*P,n*P,0])}else if(i.canonical.z>e.canonical.z){let t=i.canonical.z-e.canonical.z,n=i.canonical.x-(i.canonical.x>>t<<t)+e.wrap*(1<<i.canonical.z),r=i.canonical.y-(i.canonical.y>>t<<t),a=e.canonical.x-(i.canonical.x>>t),s=e.canonical.y-(i.canonical.y>>t),c=P>>t;Xe(o,0,c,c,0,0,1),Ve(o,o,[-n*c+a*P,-r*c+s*P,0])}else{let t=e.canonical.z-i.canonical.z,n=e.canonical.x-(e.canonical.x>>t<<t)+e.wrap*(1<<e.canonical.z),r=e.canonical.y-(e.canonical.y>>t<<t),a=(e.canonical.x>>t)-i.canonical.x,s=(e.canonical.y>>t)-i.canonical.y,c=P<<t;Xe(o,0,c,c,0,0,1),Ve(o,o,[n*P+a*c,r*P+s*c,0])}a.terrainRttPosMatrix32f=new Float32Array(o),n[r]=a}return n}getSourceTile(e,t){let n=this.tileManager._source,r=e.overscaledZ-this.deltaZoom;if(r>n.maxzoom&&(r=n.maxzoom),r<n.minzoom)return;this._sourceTileCache[e.key]||=e.scaledTo(r).key;let i=this.findTileInCaches(this._sourceTileCache[e.key]);if(!i?.dem&&t)for(;r>=n.minzoom&&!i?.dem;)i=this.findTileInCaches(e.scaledTo(r--).key);return i}findTileInCaches(e){let t=this.tileManager.getTileByID(e);return t||(t=this.tileManager._outOfViewCache.getByKey(e),t)}anyTilesAfterTime(e=mw()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,t){let n=t[e.canonical.z];return!!n&&(e.wrap>n.minWrap||e.wrap<n.maxWrap||e.canonical.x>=n.minTileXWrapped&&e.canonical.x<=n.maxTileXWrapped&&e.canonical.y>=n.minTileY&&e.canonical.y<=n.maxTileY)}},QO=P*(1-1e-12),$O=-.5,ek=class{constructor(e,t,n,r=`auto`){this._meshCache={},this.painter=e,this.tileManager=new ZO(t),this.options=n,this.exaggeration=typeof n.exaggeration==`number`?n.exaggeration:1,this._terrainSkirtLength=r,this.qual
vendor: 6,906 bytes, line 812
812ityFactor=2,this.meshSize=128,this._demMatrixCache=new Map,this._elevationSamplerCache=new Map}destroy(){this._fbo&&=(this._fbo.destroy(),null),this._fboDepthTexture&&=(this._fboDepthTexture.destroy(),null),this._emptyDemTexture&&=(this._emptyDemTexture.destroy(),null),this._emptyDepthTexture&&=(this._emptyDepthTexture.destroy(),null);for(let e in this._meshCache)this._meshCache[e].destroy();this._meshCache={},this.tileManager.destruct()}getDEMElevation(e,t,n,r=P){let i=e.normalizeCoordinates(t,n,r);if(!i)return 0;let a=this.getElevationSampler(i.tileID);return a?a(i.x,i.y,r):0}getElevationForLngLatZoom(e,t){if(!dy(t,e.wrap()))return 0;let{tileID:n,mercatorX:r,mercatorY:i}=this._getOverscaledTileIDFromLngLatZoom(e,t);return this.getElevation(n,r%P,i%P,P)}getElevationForLngLat(e,t){let n=this.getCoverageIndex();if(n){let t=Am.fromLngLat(e),r=nk(n,this.exaggeration,t.x,t.y);if(r.demLoaded)return r.elevation}let r=dD(t,{maxzoom:this.tileManager.maxzoom,minzoom:this.tileManager.minzoom,tileSize:512,terrain:this}),i=0;for(let e of r)e.canonical.z>i&&(i=Math.min(e.canonical.z,this.tileManager.maxzoom));return this.getElevationForLngLatZoom(e,i)}getElevation(e,t,n,r=P){return this.getDEMElevation(e,t,n,r)*this.exaggeration}resetElevationCache(){this._elevationSamplerCache.clear(),this._coverageIndex=void 0}getCoverageIndex(){return this._coverageIndex===void 0&&(this._coverageIndex=this._buildCoverageIndex()),this._coverageIndex}_buildCoverageIndex(){let e=[],t=new Map,n=0,r=0;for(let i of this.tileManager.getRenderableTiles()){if(!i)continue;let{canonical:a,wrap:o}=i.tileID;e.includes(a.z)||e.push(a.z);let s=this.getElevationSampler(i.tileID);t.set(`${o}/${a.z}/${a.x}/${a.y}`,s);let{minElevation:c,maxElevation:l}=this.getMinMaxElevation(i.tileID);n=Math.min(n,c??0),r=Math.max(r,l??0)}return t.size===0?null:(e.sort((e,t)=>t-e),{zooms:e,samplerPerTile:t,minElevation:n-10,maxElevation:r+10})}getElevationSampler(e){let t=e.key,n=this._elevationSamplerCache.get(t);if(n)return n;let r=this.tileManager.getSourceTile(e,!0),i=r?.dem;if(!r||!i)return null;let a=this._getDEMTileMatrix(e,r),o=a[0]*i.dim,s=a[5]*i.dim,c=a[12]*i.dim+$O,l=a[13]*i.dim+$O,u=(e,t,n)=>{let r=n===8192?1:P/n;return i.sampleBilinear(e*r*o+c,t*r*s+l)};return this._elevationSamplerCache.set(t,u),u}_getDEMTileMatrix(e,t){let n=`${t.tileID.key}/${e.key}`,r=this._demMatrixCache.get(n);if(r)return r;let i=e.canonical.z-t.tileID.canonical.z,a=e.canonical.x-(e.canonical.x>>i<<i),o=e.canonical.y-(e.canonical.y>>i<<i),s=Ke(new Float64Array(16),[1/(P<<i),1/(P<<i),0]);return Ve(s,s,[a*P,o*P,0]),this._demMatrixCache.set(n,s),s}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,t=new vf({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new Nf(e,t,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new Nf(e,new vf({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=Re([])}let t=this.tileManager.getSourceTile(e,!0);if(t?.dem&&(!t.demTexture||t.needsTerrainPrepare)){let e=this.painter.context;t.demTexture||=this.painter.getTileTexture(t.dem.stride),t.demTexture?t.demTexture.update(t.dem.getPixels(),{premultiply:!1}):t.demTexture=new Nf(e,t.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),t.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),t.needsTerrainPrepare=!1}let n=t?this._getDEMTileMatrix(e,t):this._emptyDemMatrix;return{u_depth:2,u_terrain:3,u_terrain_dim:t?.dem?.dim||1,u_terrain_matrix:n,u_terrain_unpack:t?.dem?.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(t?.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:t}}getFramebuffer(){let e=this.painter,t=e.width/devicePixelRatio,n=e.height/devicePixelRatio;return this._fbo&&(this._fbo.width!==t||this._fbo.height!==n)&&(this._fbo.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture),this._fboDepthTexture||(this._fboDepthTexture=new Nf(e.context,{width:t,height:n,data:null},e.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(e.context.gl.NEAREST,e.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=e.context.createFramebuffer(t,n,!0,!1),this._fbo.depthAttachment.set(e.context.createRenderbuffer(e.context.gl.DEPTH_COMPONENT16,t,n))),this._fbo.colorAttachment.set(this._fboDepthTexture.texture),this._fbo}getTerrainMesh(e){let t=this.painter.style.projection?.transitionState>0,n=t&&e.canonical.y===0,r=t&&e.canonical.y===(1<<e.canonical.z)-1,i=`m_${n?`n`:``}_${r?`s`:``}`;if(this._meshCache[i])return this._meshCache[i];let a=this.painter.context,o=new Tu,s=new Vu,c=this.meshSize,l=P/c,u=c*c;for(let e=0;e<=c;e++)for(let t=0;t<=c;t++)o.emplaceBack(t*l,e*l,0);for(let e=0;e<u;e+=c+1)for(let t=0;t<c;t++)s.emplaceBack(t+e,c+t+e+1,c+t+e+2),s.emplaceBack(t+e,c+t+e+2,t+e+1);this._terrainSkirtLength!==`none`&&this._buildSkirts(o,s,c,l,n,r);let d=new TE(a.createVertexBuffer(o,XO.members),a.createIndexBuffer(s),Ku.simpleSegment(0,0,o.length,s.length));return this._meshCache[i]=d,d}getSkirtLength(e){return 2*Math.PI*bm/2**Math.max(e,0)/5}getMinTileElevationForLngLatZoom(e,t){if(!dy(t,e.wrap()))return 0;let{tileID:n}=this._getOverscaledTileIDFromLngLatZoom(e,t);return this.getMinMaxElevation(n).minElevation??0}getMinMaxElevation(e){let t=this.tileManager.getSourceTile(e,!0),n={minElevation:null,maxElevation:null};return t?.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,t){let n=Am.fromLngLat(e.wrap()),r=(1<<t)*P,i=n.x*r,a=n.y*r;return{tileID:new my(t,0,t,Math.floor(i/P),Math.floor(a/P)),mercatorX:i,mercatorY:a}}_buildSkirts(e,t,n,r,i,a){let o=e.length,s=o+(n+1),c=(n+1)*n,l=i?zp:0,u=+!i,d=a?Bp:P,f=+!a;for(let t=0;t<=n;t++)e.emplaceBack(t*r,l,u);for(let t=0;t<=n;t++)e.emplaceBack(t*r,d,f);for(let e=0;e<n;e++)t.emplaceBack(c+e,s+e,s+e+1),t.emplaceBack(c+e,s+e+1,c+e+1),t.emplaceBack(0+e,o+e+1,o+e),t.emplaceBack(0+e,0+e+1,o+e+1);let p=e.length,m=p+(n+1)*2;for(let t of[0,1])for(let i=0;i<=n;i++)for(let n of[0,1])e.emplaceBack(t*P,i*r,n);for(let e=0;e<n*2;e+=2)t.emplaceBack(p+e,p+e+1,p+e+3),t.emplaceBack(p+e,p+e+3,p+e+2),t.emplaceBack(m+e,m+e+3,m+e+1),t.emplaceBack(m+e,m+e+2,m+e+3)}},tk={covered:!1,demLoaded:!1,elevation:0};function nk(e,t,n,r){if(r<0||r>=1)return tk;let i=Math.floor(n),a=n-i;for(let n of e.zooms){let o=1<<n,s=a*o,c=r*o,l=Math.floor(s),u=Math.floor(c),d=`${i}/${n}/${l}/${u}`;if(!e.samplerPerTile.has(d))continue;let f=e.samplerPerTile.get(d);return f?{covered:!0,demLoaded:!0,elevation:f(Math.min((s-l)*P,QO),Math.min((c-u)*P,QO),P)*t}:{covered:!0,demLoaded:!1,elevation:0}}return tk}function rk(e,t){return e.covered&&t<=e.elevation+1e-6}function ik(e,t,n,r,i){for(let a=0;a<40&&r-n>i;a++){let i=(n+r)/2;t(e,i)?r=i:n=i}return{lo:n,hi:r}}
812var ak=class e{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e){}constructor(e,t){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this.defaultConstrain=(e,t)=>{t=F(+t,this.minZoom,this.maxZoom);let n={center:new X(e.lng,e.lat),zoom:t},r=this._helper._lngRange;!this._helper._renderWorldCopies&&r===null&&(r=[-179.9999999999,180-1e-10]);let i=this.tileSize*vn(n.zoom),a=0,o=i,s=0,c=i,l=0,u=0,{x:d,y:f}=this.size;if(this._helper._latRange){let e=this._helper._latRange;a=wm(e[1])*i,o=wm(e[0])*i,o-a<f&&(l=f/(o-a))}r&&(s=fn(Cm(r[0])*i,0,i),c=fn(Cm(r[1])*i,0,i),c<s&&(c+=i),c-s<d&&(u=d/(c-s)));let{x:p,y:m}=Pm(i,e),h,g,_=Math.max(u||0,l||0);if(_)return n.center=Fm(i,new M(u?(c+s)/2:p,l?(o+a)/2:m)).wrap(),n.zoom+=yn(_),n;if(this._helper._latRange){let e=f/2;m-e<a&&(g=a+e),m+e>o&&(g=o-e)}if(r){let e=(s+c)/2,t=p;
vendor: 4,616 bytes, line 812
812this._helper._renderWorldCopies&&(t=fn(p,e-i/2,e+i/2));let n=d/2;t-n<s&&(h=s+n),t+n>c&&(h=c-n)}return(h!==void 0||g!==void 0)&&(n.center=Fm(i,new M(h??p,g??m)).wrap()),n},this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=t??new JO({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._coveringTilesDetailsProvider=new YO}clone(){let t=new e;return t.apply(this,!1),t}apply(e,t){this._helper.apply(e,t)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(e){let t=[new py(0,e)];if(this._helper._renderWorldCopies){let n=this.screenPointToMercatorCoordinate(new M(0,0)),r=this.screenPointToMercatorCoordinate(new M(this._helper._width,0)),i=this.screenPointToMercatorCoordinate(new M(this._helper._width,this._helper._height)),a=this.screenPointToMercatorCoordinate(new M(0,this._helper._height)),o=Math.floor(Math.min(n.x,r.x,i.x,a.x)),s=Math.floor(Math.max(n.x,r.x,i.x,a.x));for(let n=o-1;n<=s+1;n++)n!==0&&t.push(new py(n,e))}return t}getCameraFrustum(){return QE.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){let t=this.screenPointToLocation(this.centerPoint,e),n=e?e.getElevationForLngLat(t,this):0;this._helper.recalculateZoomAndCenter(n)}setLocationAtPoint(e,t,n=this.elevation){let r=n-this.elevation,i=this.screenPointToMercatorCoordinateAtZ(t,r),a=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,0),o=Am.fromLngLat(e),s=new Am(o.x-(i.x-a.x),o.y-(i.y-a.y));this.setCenter(s?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(e,t){return t?this.coordinatePoint(Am.fromLngLat(e),t.getElevationForLngLat(e,this),this._pixelMatrix3D):this.coordinatePoint(Am.fromLngLat(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}screenPointToLocationAtElevation(e,t){return this.screenPointToMercatorCoordinateAtZ(e,t-this.elevation)?.toLngLat()}screenPointToMercatorCoordinate(e,t){if(t){let n=this.screenTerrainPointToMercatorCoordinate(e,t);if(n!=null)return n}return this.screenPointToMercatorCoordinateAtZ(e)}screenTerrainPointToMercatorCoordinate(e,t){let n=t.getCoverageIndex();if(!n)return null;let{near:r,far:i}=this.getRaySegmentFromPixel(e),a=this.worldSize,o=i[0]-r[0],s=i[1]-r[1],c=i[2]-r[2],l={index:n,exaggeration:t.exaggeration,near:r,dx:o,dy:s,dz:c,worldSize:a},u=0,d=1;if(c===0){if(r[2]>n.maxElevation||r[2]<n.minElevation)return null}else{let e=(n.maxElevation-r[2])/c,t=(n.minElevation-r[2])/c;if(u=Math.max(u,Math.min(e,t)),d=Math.min(d,Math.max(e,t)),u>d)return null}let f=Math.hypot(o,s),p=F(Math.ceil(f*(d-u)/4),1,512),m=0,h=!sk(l,0);for(let e=0;e<=p;e++){let t=u+(d-u)*e/p;if(!h)h=!sk(l,t);else if(sk(l,t)){let{lo:e,hi:n}=ik(l,sk,m,t,.001/f),i=ok(l,e),u=ok(l,n),d=r[2]+e*c-i.elevation,p=r[2]+n*c-u.elevation,h=i.covered&&d>p?F(e+d*(n-e)/(d-p),e,n):n;return new Am((r[0]+h*o)/a,(r[1]+h*s)/a,ok(l,h).elevation)}m=t}return null}getRaySegmentFromPixel(e){let t=[e.x,e.y,0,1],n=[e.x,e.y,1,1];Tt(t,t,this._pixelMatrixInverse),Tt(n,n,this._pixelMatrixInverse);let r=t[3],i=n[3],a=this.elevation;return{near:[t[0]/r,t[1]/r,t[2]/r+a],far:[n[0]/i,n[1]/i,n[2]/i+a]}}screenPointToMercatorCoordinateAtZ(e,t){let n=t||0,{near:r,far:i}=this.getRaySegmentFromPixel(e),a=r[2]===i[2]?0:(n+this.elevation-r[2])/(i[2]-r[2]);return new Am(Vi.number(r[0],i[0],a)/this.worldSize,Vi.number(r[1],i[1],a)/this.worldSize,n)}coordinatePoint(e,t=0,n=this._pixelMatrix){let r=this._coordinateClipPoint(e,t,n),i=r[3];return i>0?new M(r[0]/i,r[1]/i):this._offScreenPointBehindCamera(r[0],r[1],i)}_coordinateClipPoint(e,t,n){let r=[e.x*this.worldSize,e.y*this.worldSize,t,1];return Tt(r,r,n)}_offScreenPointBehindCamera(e,t,n){let r=this.width/2,i=this.height/2,a=e-r*n,o=t-i*n;a===0&&o===0&&(o=1);let s=r+this.width,c=i+this.height,l=Math.min(a===0?1/0:s/Math.abs(a),o===0?1/0:c/Math.abs(o));return new M(r+a*l,i+o*l)}getBounds(){let e=Math.max(0,this._helper._height/2-Im(this));return new tE().extend(this.screenPointToLocation(new M(0,e))).extend(this.screenPointToLocation(new M(this._helper._width,e))).extend(this.screenPointToLocation(new M(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new M(0,this._helper._height)))}
vendor: 19,324 bytes, line 812
812isPointOnMapSurface(e,t){return t?this.screenTerrainPointToMercatorCoordinate(e,t)!=null:e.y>this.centerPoint.y-Im(this)}calculatePosMatrix(e,t=!1,n=!1){let r=e.key??hy(e.wrap,e.canonical.z,e.canonical.z,e.canonical.x,e.canonical.y),i=t?this._alignedPosMatrixCache:this._posMatrixCache;if(i.has(r)){let e=i.get(r);return n?e.f32:e.f64}let a=Lm(e,this.worldSize);Be(a,t?this._alignedProjMatrix:this._viewProjMatrix,a);let o={f64:a,f32:new Float32Array(a)};return i.set(r,o),n?o.f32:o.f64}calculateFogMatrix(e){let t=e.key,n=this._fogMatrixCacheF32;if(n.has(t))return n.get(t);let r=Lm(e,this.worldSize);return Be(r,this._fogMatrix,r),n.set(t,new Float32Array(r)),n.get(t)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}calculateCameraOptionsFromTo(e,t,n,r){let i=Am.fromLngLat(e,t),a=Am.fromLngLat(n,r),o=a.x-i.x,s=a.y-i.y,c=a.z-i.z,l=Math.hypot(o,s,c);if(l===0)throw Error(`Can't calculate camera options with same From and To`);let u=Math.hypot(o,s),d=yn(this.cameraToCenterDistance/l/this.tileSize),f=Vn(Math.atan2(o,-s)),p=Vn(Math.acos(u/l));return p=c<0?90-p:90+p,{center:a.toLngLat(),elevation:r,zoom:d,pitch:p,bearing:f}}_calculateNearFarZ(e,t,n){let r=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),i=e-r*this._helper._pixelPerMeter/Math.cos(t),a=r<0?i:e,o=Math.PI/2+this.pitchInRadians,s=Bn(this.fov)*(Math.abs(Math.cos(Bn(this.roll)))*this.height+Math.abs(Math.sin(Bn(this.roll)))*this.width)/this.height*(.5+n.y/this.height),c=Math.sin(s)*a/Math.sin(F(Math.PI-o-s,.01,Math.PI-.01)),l=Im(this),u=Math.atan(l/this._helper.cameraToCenterDistance),d=Bn(90-jm),f=u>d?2*u*(.5+n.y/(l*2)):d,p=Math.sin(f)*a/Math.sin(F(Math.PI-o-f,.01,Math.PI-.01)),m=Math.min(c,p);this._helper._farZ=(Math.cos(Math.PI/2-t)*m+a)*1.01,this._helper._nearZ=this._helper._height/50}_calcMatrices(e=this._helper.autoCalculateNearFarZ){let t=this.centerOffset,n=Pm(this.worldSize,this.center),r=n.x,i=n.y,a=Bn(Math.min(this.pitch,jm)),o=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(a));e&&this._calculateNearFarZ(o,a,t);let s;s=new Float64Array(16),Je(s,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),OD(this._invProjMatrix,s),s[8]=-t.x*2/this._helper._width,s[9]=t.y*2/this._helper._height,this._projectionMatrix=Ie(s),He(s,s,[1,-1,1]),Ve(s,s,[0,0,-this._helper.cameraToCenterDistance]),Ge(s,s,-this.rollInRadians),Ue(s,s,this.pitchInRadians),Ge(s,s,-this.bearingInRadians),Ve(s,s,[-r,-i,0]),this._mercatorMatrix=He([],s,[this.worldSize,this.worldSize,this.worldSize]),He(s,s,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=Be(new Float64Array(16),this.clipSpaceToPixelsMatrix,s),Ve(s,s,[0,0,-this.elevation]),this._viewProjMatrix=s,this._invViewProjMatrix=ze([],s);let c=[0,0,-1,1];Tt(c,c,this._invViewProjMatrix),this._cameraPosition=[c[0]/c[3],c[1]/c[3],c[2]/c[3]],this._fogMatrix=new Float64Array(16),Je(this._fogMatrix,this.fovInRadians,this.width/this.height,o,this._helper._farZ),this._fogMatrix[8]=-t.x*2/this.width,this._fogMatrix[9]=t.y*2/this.height,He(this._fogMatrix,this._fogMatrix,[1,-1,1]),Ve(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),Ge(this._fogMatrix,this._fogMatrix,-this.rollInRadians),Ue(this._fogMatrix,this._fogMatrix,this.pitchInRadians),Ge(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),Ve(this._fogMatrix,this._fogMatrix,[-r,-i,0]),He(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),Ve(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=Be(new Float64Array(16),this.clipSpaceToPixelsMatrix,s);let l=this._helper._width%2/2,u=this._helper._height%2/2,d=Math.cos(this.bearingInRadians),f=Math.sin(-this.bearingInRadians),p=r-Math.round(r)+d*l+f*u,m=i-Math.round(i)+d*u+f*l,h=new Float64Array(s);if(Ve(h,h,[p>.5?p-1:p,m>.5?m-1:m,0]),this._alignedProjMatrix=h,s=ze(new Float64Array(16),this._pixelMatrix),!s)throw Error(`failed to invert matrix`);this._pixelMatrixInverse=s,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let e=this.screenPointToMercatorCoordinate(new M(0,0)),t=[e.x*this.worldSize,e.y*this.worldSize,0,1];return Tt(t,t,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this.cameraToCenterDistance/this.pixelsPerMeter+this.elevation}getCameraLngLat(){let e=Tm(1,this.center.lat)*this.worldSize,t=this._helper.cameraToCenterDistance/e;return Rm(this.center,this.elevation,this.pitch,this.bearing,t).toLngLat()}getProjectionData(e){let{overscaledTileID:t,aligned:n,applyTerrainMatrix:r}=e,i=this._helper.getMercatorTileCoordinates(t),a=t?this.calculatePosMatrix(t,n,!0):null,o;return o=t?.terrainRttPosMatrix32f&&r?t.terrainRttPosMatrix32f:a||Yt(),{mainMatrix:o,tileMercatorCoords:i,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:o,clipAntimeridian:!1}}isLocationOccluded(e,t,n){if(!t?.getCoverageIndex())return!1;let r=Am.fromLngLat(e);n??=t.getElevationForLngLat(e,this);let i=this._coordinateClipPoint(r,n,this._pixelMatrix3D),a=i[3];if(a<=0||i[2]>a)return!0;let o=new M(i[0]/a,i[1]/a),s=this.screenTerrainPointToMercatorCoordinate(o,t);if(s==null)return!1;let c=this.getRaySegmentFromPixel(o),l=ck(c,r.x*this.worldSize,r.y*this.worldSize,n);return ck(c,s.x*this.worldSize,s.y*this.worldSize,s.z)<l*.99}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(e,t,n){return 1}transformLightDirection(e){return $e(e)}getRayDirectionFromPixel(e){throw Error(`Not implemented.`)}projectTileCoordinates(e,t,n,r){let i=this.calculatePosMatrix(n),a;r==null?(a=[e,t,0,1],QD(a,a,i)):(a=[e,t,r,1],Tt(a,a,i));let o=a[3];return{point:new M(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}populateCache(e){for(let t of e)this.calculatePosMatrix(t)}getProjectionDataForCustomLayer(e=!0){let t=new my(0,0,0,0,0),n=this.getProjectionData({overscaledTileID:t,applyGlobeMatrix:e}),r=Lm(t,this.worldSize);Be(r,this._viewProjMatrix,r);let i=[P,P,this.worldSize/this._helper.pixelsPerMeter],a=qt();return He(a,r,i),{...n,tileMercatorCoords:[0,0,1,1],fallbackMatrix:a,mainMatrix:a}}getFastPathSimpleProjectionMatrix(e){return this.calculatePosMatrix(e)}};function ok(e,t){return nk(e.index,e.exaggeration,(e.near[0]+t*e.dx)/e.worldSize,(e.near[1]+t*e.dy)/e.worldSize)}function sk(e,t){return rk(ok(e,t),e.near[2]+t*e.dz)}function ck({near:e,far:t},n,r,i){let a=t[0]-e[0],o=t[1]-e[1],s=t[2]-e[2];return((n-e[0])*a+(r-e[1])*o+(i-e[2])*s)/(a*a+o*o+s*s)}function lk(){En(`Map cannot fit within canvas with the given bounds, padding, and/or offset.`)}function uk(e){if(e.useSlerp){if(e.k<1){let t=Gn(e.startEulerAngles.roll,e.startEulerAngles.pitch,e.startEulerAngles.bearing),n=Gn(e.endEulerAngles.roll,e.endEulerAngles.pitch,e.endEulerAngles.bearing),r=new Float64Array(4);At(r,t,n,e.k);let i=Un(r);e.tr.setRoll(i.roll),e.tr.setPitch(i.pitch),e.tr.setBearing(i.bearing)}else e.tr.setRoll(e.endEulerAngles.roll),e.tr.setPitch(e.endEulerAngles.pitch),e.tr.setBearing(e.endEulerAngles.bearing)}else e.tr.setRoll(Vi.number(e.startEulerAngles.roll,e.endEulerAngles.roll,e.k)),e.tr.setPitch(Vi.number(e.startEulerAngles.pitch,e.endEulerAngles.pitch,e.k)),e.tr.setBearing(Vi.number(e.startEulerAngles.bearing,e.endEulerAngles.bearing,e.k))}function dk(e,t,n,r,i){let a=i.padding,o=Pm(i.worldSize,n.getNorthWest()),s=Pm(i.worldSize,n.getNorthEast()),c=Pm(i.worldSize,n.getSouthEast()),l=Pm(i.worldSize,n.getSouthWest()),u=Bn(-r),d=o.rotate(u),f=s.rotate(u),p=c.rotate(u),m=l.rotate(u),h=new M(Math.max(d.x,f.x,m.x,p.x),Math.max(d.y,f.y,m.y,p.y)),g=new M(Math.min(d.x,f.x,m.x,p.x),Math.min(d.y,f.y,m.y,p.y)),_=h.sub(g),v=i.width-(a.left+a.right+t.left+t.right),y=i.height-(a.top+a.bottom+t.top+t.bottom),b=v/_.x,x=y/_.y;if(x<0||b<0){lk();return}let S=Math.min(yn(i.scale*Math.min(b,x)),e.maxZoom),C=M.convert(e.offset),w=new M((t.left-t.right)/2,(t.top-t.bottom)/2).rotate(Bn(r)),T=C.add(w).mult(i.scale/vn(S));return{center:Fm(i.worldSize,o.add(c).div(2).sub(T)),zoom:S,bearing:r}}var fk=class{get useGlobeControls(){return!1}handlePanInertia(e,t){let n=e.mag(),r=Math.abs(Im(t));return{easingOffset:e.mult(Math.min(r*.75/n,1)),easingCenter:t.center}}handleMapControlsRollPitchBearingZoom(e,t){e.bearingDelta&&t.setBearing(t.bearing+e.bearingDelta),e.pitchDelta&&t.setPitch(t.pitch+e.pitchDelta),e.rollDelta&&t.setRoll(t.roll+e.rollDelta),e.zoomDelta&&t.setZoom(t.zoom+e.zoomDelta)}handleMapControlsPan(e,t,n){e.around.distSqr(t.centerPoint)<.01||t.setLocationAtPoint(n,e.around,e.aroundElevation)}cameraForBoxAndBearing(e,t,n,r,i){return dk(e,t,n,r,i)}handleJumpToCenterZoom(e,t){let n=t.zoom===void 0?e.zoom:+t.zoom;e.zoom!==n&&e.setZoom(+t.zoom),t.center!==void 0&&e.setCenter(X.convert(t.center))}handleEaseTo(e,t){let n=e.zoom,r=e.padding,i={roll:e.roll,pitch:e.pitch,bearing:e.bearing},a={roll:t.roll===void 0?e.roll:t.roll,pitch:t.pitch===void 0?e.pitch:t.pitch,bearing:t.bearing===void 0?e.bearing:t.bearing},o=t.zoom!==void 0,s=!e.isPaddingEqual(t.padding),c=!1,l=o?+t.zoom:e.zoom,u=e.centerPoint.add(t.offsetAsPoint),d=e.screenPointToLocation(u),{center:f,zoom:p}=e.applyConstrain(X.convert(t.center||d),l??n);KO(e,f);let m=Pm(e.worldSize,d),h=Pm(e.worldSize,f).sub(m),g=vn(p-n);c=p!==n;let _=o=>{if(c&&e.setZoom(Vi.number(n,p,o)),Hn(i,a)||uk({startEulerAngles:i,endEulerAngles:a,tr:e,k:o,useSlerp:i.roll!=a.roll}),s&&(e.interpolatePadding(r,t.padding,o),u=e.centerPoint.add(t.offsetAsPoint)),t.around)e.setLocationAtPoint(t.around,t.aroundPoint);else{let t=vn(e.zoom-n),r=(p>n?Math.min(2,g):Math.max(.5,g))**(1-o),i=Fm(e.worldSize,m.add(h.mult(o*r)).mult(t));e.setLocationAtPoint(e.renderWorldCopies?i.wrap():i,u)}},v=this._transformAtAnimationEnd(e,p,a,t.padding);return t.around?v.setLocationAtPoint(t.around,t.aroundPoint):v.setLocationAtPoint(f,v.centerPoint.add(t.offsetAsPoint)),{easeFunc:_,isZooming:c,elevationCenter:v.center}}handleFlyTo(e,t){let n=t.zoom!==void 0,r=e.zoom,i=e.applyConstrain(X.convert(t.center||t.locationAtOffset),n?+t.zoom:r),a=i.center,o=i.zoom;KO(e,a);let s=e.worldSize,c=Pm(s,t.locationAtOffset),l=Pm(s,a).sub(c),u=l.mag(),d=vn(o-r),f=t.minZoom===void 0?e.minZoom:+t.minZoom,p=Math.max(f,e.minZoom),m=Math.min(p,r,o),h=e.applyConstrain(a,m).zoom,g=vn(h-r),_=(t,n,i,u)=>{e.setZoom(t===1?o:r+yn(n));let d=t===1?a:Fm(s,c.add(l.mult(i)));e.setLocationAtPoint(e.renderWorldCopies?d.wrap():d,u)},v=this._transformAtAnimationEnd(e,o,{roll:t.roll,pitch:t.pitch,bearing:t.bearing},t.padding);return v.setLocationAtPoint(a,v.centerPoint.add(t.offsetAsPoint)),{easeFunc:_,scaleOfZoom:d,targetCenter:v.center,scaleOfMinZoom:g,pixelPathLength:u}}_transformAtAnimationEnd(e,t,n,r){let i=e.clone();return i.setZoom(t),i.setRoll(n.roll),i.setPitch(n.pitch),i.setBearing(n.bearing),i.setPadding(r),i}},pk,mk=()=>pk||=new Dl({type:new G(R.projection.type,`type`)}),hk=new Rp({fill:new Lp(128,2),line:new Lp(512,0),tile:new Lp(128,32),stencil:new Lp(128,1),circle:3}),gk=class{constructor(){this._tileMeshCache={}}get name(){return`vertical-perspective`}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return`globe`}get shaderDefine(){return`#define GLOBE`}get shaderPreludeCode(){return BO.projectionGlobe}get vertexShaderPreludeCode(){return BO.projectionMercator.vertexSource}get subdivisionGranularity(){return hk}get useGlobeControls(){return!0}destroy(){}_getMeshKey(e){return`${e.granularity.toString(36)}_${e.generateBorders?`b`:``}${e.extendToNorthPole?`n`:``}${e.extendToSouthPole?`s`:``}`}getMeshFromTileID(e,t,n,r,i){let a=(i===`stencil`?hk.stencil:hk.tile).getGranularityForZoomLevel(t.z),o=t.y===0&&r,s=t.y===(1<<t.z)-1&&r;return this._getMesh(e,{granularity:a,generateBorders:n,extendToNorthPole:o,extendToSouthPole:s})}_getMesh(e,t){let n=this._getMeshKey(t);if(n in this._tileMeshCache)return this._tileMeshCache[n];let r=OE(e,t);return this._tileMeshCache[n]=r,r}recalculate(e){}hasTransition(){return!1}},_k=class extends br{constructor(e,t){super(),this._transitionable=new gl(mk(),`projection`,t),this.setProjection(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new pl(0)),this._mercatorProjection=new WO,this._verticalPerspectiveProjection=new gk}get transitionState(){let e=this.properties.get(`type`);if(typeof e==`string`&&e===`mercator`)return 0;if(typeof e==`string`&&e===`vertical-perspective`)return 1;if(e instanceof Di){if(e.from===e.to)return e.from===`mercator`?0:1;if(e.from===`vertical-perspective`&&e.to===`mercator`)return 1-e.transition;if(e.from===`mercator`&&e.to===`vertical-perspective`)return e.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return`globe`}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}getMeshFromTileID(e,t,n,r,i){return this.currentProjection.getMeshFromTileID(e,t,n,r,i)}setProjection(e){this._transitionable.setValue(`type`,e?.type||`mercator`)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}};function vk(e){let t=wk(e.worldSize,e.center.lat);return 2*Math.PI*t}function yk(e,t,n){let r=lt(Ck(t),Ck(n)),i=Math.acos(r),a=vk(e);return i/(2*Math.PI)*a}function bk(e,t){return[rn(e*Math.PI*2+Math.PI,Math.PI*2),2*Math.atan(Math.exp(Math.PI-t*Math.PI*2))-Math.PI*.5]}function xk(e,t){let n=Math.cos(t),r=new Float64Array(3);return r[0]=Math.sin(e)*n,r[1]=Math.sin(t),r[2]=Math.cos(e)*n,r}function Sk(e,t,n,r,i){let a=1/(1<<i),o=e/P*a+n*a,s=t/P*a+r*a,c=rn(o*Math.PI*2+Math.PI,Math.PI*2),l=2*Math.atan(Math.exp(Math.PI-s*Math.PI*2))-Math.PI*.5,u=Math.cos(l),d=new Float64Array(3);return d[0]=Math.sin(c)*u,d[1]=Math.sin(l),d[2]=Math.cos(c)*u,d}function Ck(e){return xk(e.lng*Math.PI/180,e.lat*Math.PI/180)}function wk(e,t){return e/(2*Math.PI)/Math.cos(t*Math.PI/180)}function Tk(e){let t=Tt(Gt(),[0,0,0,1],e.modelViewProjectionMatrix);return Tt(t,t,e.inverseProjectionMatrix),[t[0]/t[3],t[1]/t[3],t[2]/t[3]]}function Ek(e){let t=Math.asin(e[1])/Math.PI*180,n=Math.sqrt(e[0]*e[0]+e[2]*e[2]);if(n>1e-6){let r=e[0]/n,i=e[2]/n,a=Math.acos(i);return new X(fn((r>0?a:-a)/Math.PI*180,-180,180),t)}return new X(0,t)}function Dk(e,t){return Mt(Gt(),-e.lng,-e.lat,t)}function Ok(e){let t=e[0],n=e[1],r=e[2],i=e[3];return{lng:-Math.atan2(2*(i*t+n*r),1-2*(t*t+n*n))*180/Math.PI,lat:-Math.asin(F(2*(i*n-r*t),-1,1))*180/Math.PI,bearing:Math.atan2(2*(i*r+t*n),1-2*(n*n+r*r))*180/Math.PI}}var kk=Math.PI*.98;function Ak(e,t){let n=e.cameraPosition,r=et(n);if(r<=1)return e.screenPointToLocation(t);let i=Kt();ct(i,n);let a=e.getRayDirectionFromPixel(t),o=-lt(a,i),s=Kt();at(s,a,i,o);let c=et(s);if(c<1e-9)return e.screenPointToLocation(t);let l=Math.atan2(c,o),u=Math.asin(1/r)*.9;if(l<u)return e.screenPointToLocation(t);let d=r*Math.sin(u),f=Math.asin(F(d,-1,1))-u,p=r*Math.cos(u)/Math.sqrt(Math.max(1-d*d,1e-12))-1,m=kk-f,h=l-u,g=f+p*h*m/(m+p*h),_=Kt();it(_,s,1/c);let v=Kt();return it(v,i,Math.cos(F(g,0,kk))),at(v,v,_,Math.sin(F(g,0,kk))),ct(v,v),Ek(v)}function jk(e,t,n,r,i=!0){let a=Ak(e,n),o=t;if(r)o=Ak(e,n.sub(r));else if(!e.isPointOnMapSurface(n))return;let s=Ck(a),c=Ck(o),l=Dk(e.center,e.bearing),u=ut(Kt(),c,s),d=Math.sqrt(lt(u,u)),f=Math.acos(F(lt(c,s),-1,1))/2,p=Math.sin(f),m=d?Nt(u[1]/d*p,-u[0]/d*p,u[2]/d*p,Math.cos(f)):Nt(0,0,0,1),{lng:h,lat:g,bearing:_}=Ok(kt(Gt(),l,m)),v=e.center.lat,y=e.zoom,b=F(g,-90,90),x=i?Mk(e,n,r,h):h;e.setCenter(new X(fn(x,-180,180),b)),i||e.setBearing(_),e.setZoom(y+Ik(v,e.center.lat))}function Mk(e,t,n,r){let i=e.center.lng,a=e.center.lat,o=a>=0?90:-90,s=e.locationToScreenPoint(new X(0,o)),c=t.x-s.x,l=t.y-s.y,u=c*c+l*l,d=F(1-(Kn-Math.abs(a))/12,0,1),f=d*d*(3-2*d),p=rn(r-i+180,360)-180,m=0;if(f>0&&n){let e=(c*n.y-l*n.x)/Math.max(u,400);m=(o>0?1:-1)*e*180/Math.PI}return i+(1-f)*p+f*m}function Nk(e){let t=Kt();return t[0]=e[0]*-e[3],t[1]=e[1]*-e[3],t[2]=e[2]*-e[3],{center:t,radius:Math.sqrt(1-e[3]*e[3])}}function Pk(e,t,n){let r=Kt();vt(r,n,e);let i=Kt();return at(i,e,r,t/yt(r)),i}function Fk(e){return Math.cos(e*Math.PI/180)}function Ik(e,t){let n=Fk(e);return yn(Fk(t)/n)}function Lk(e,t){return 360/vk({worldSize:e,center:{lat:t}})}function Rk(e,t){let n=e.rotate(t.bearingInRadians),r=t.zoom+Ik(t.center.lat,0),i=on(1/Fk(t.center.lat),1/Fk(Math.min(Math.abs(t.center.lat),60)),an(r,7,3,0,1)),a=Lk(t.worldSize,t.center.lat);return new X(t.center.lng-n.x*a*i,F(t.center.lat+n.y*a,-Kn,Kn))}function zk(e){let t=.5*e,n=Math.sin(t),r=Math.cos(t);return Math.log(n+r)-Math.log(r-n)}function Bk(e,t,n,r){let i=e.lat+n*r;if(Math.abs(n)>1){let a=e.lat+n,o=(Math.sign(a)===Math.sign(e.lat)?Math.abs(e.lat):-Math.abs(e.lat))*Math.PI/180,s=Math.abs(e.lat+n)*Math.PI/180,c=zk(o+r*(s-o)),l=zk(o),u=zk(s),d=(c-l)/(u-l);return new X(e.lng+t*d,i)}return new X(e.lng+t*r,i)}function Vk(e,t,n=1){let r=lt(e,t),i=n*n,a=Kt(),o=Kt();it(o,t,r),vt(a,e,o);let s=i-lt(a,a);if(s<0)return null;let c=lt(e,e)-i,l=-r+(r<0?1:-1)*Math.sqrt(s),u=c/l,d=l,f=Math.max(u,d);return f<0?null:{tMin:Math.min(u,d),tMax:f}}function Hk(e,t){let n=t*.01569612305760477,r=F((e-n)/(9*n),0,1);return r*r*(3-2*r)}var Uk=class{constructor(e){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._boundingVolumeFactory=e}swapBuffers(){if(!this._hadAnyChanges)return;let e=this._cachePrevious;this._cachePrevious=this._cache,this._cache=e,this._cache.clear(),this._hadAnyChanges=!1}getTileBoundingVolume(e,t,n,r){let i=`${e.z}_${e.x}_${e.y}_${r?.terrain?`t`:``}_${Math.round(n)}`,a=this._cache.get(i);if(a)return a;let o=this._cachePrevious.get(i);if(o)return this._cache.set(i,o),o;let s=this._boundingVolumeFactory(e,t,n,r);return this._cache.set(i,s),this._hadAnyChanges=!0,s}},Wk=class e{constructor(e,t,n,r){this.min=n,this.max=r,this.points=e,this.planes=t}static fromAabb(t,n){let r=[];for(let e=0;e<8;e++)r.push([(e>>0&1)==1?n[0]:t[0],(e>>1&1)==1?n[1]:t[1],(e>>2&1)==1?n[2]:t[2]]);return new e(r,[[-1,0,0,n[0]],[1,0,0,-t[0]],[0,-1,0,n[1]],[0,1,0,-t[1]],[0,0,-1,n[2]],[0,0,1,-t[2]]],t,n)}static fromCenterSizeAngles(t,n,r){let i=Mt([],r[0],r[1],r[2]),a=pt([],[n[0],0,0],i),o=pt([],[0,n[1],0],i),s=pt([],[0,0,n[2]],i),c=[...t],l=[...t];for(let e=0;e<8;e++)for(let n=0;n<3;n++){let r=t[n]+a[n]*((e>>0&1)==1?1:-1)+o[n]*((e>>1&1)==1?1:-1)+s[n]*((e>>
vendor: 17,005 bytes, line 812
8122&1)==1?1:-1);c[n]=Math.min(c[n],r),l[n]=Math.max(l[n],r)}let u=[];for(let e=0;e<8;e++){let n=[...t];nt(n,n,it([],a,(e>>0&1)==1?1:-1)),nt(n,n,it([],o,(e>>1&1)==1?1:-1)),nt(n,n,it([],s,(e>>2&1)==1?1:-1)),u.push(n)}return new e(u,[[...a,-lt(a,u[0])],[...o,-lt(o,u[0])],[...s,-lt(s,u[0])],[-a[0],-a[1],-a[2],-lt(a,u[7])],[-o[0],-o[1],-o[2],-lt(o,u[7])],[-s[0],-s[1],-s[2],-lt(s,u[7])]],c,l)}intersectsFrustum(e){let t=!0,n=this.points.length,r=this.planes.length,i=e.planes.length,a=e.points.length;for(let r=0;r<i;r++){let i=e.planes[r],a=0;for(let e=0;e<n;e++){let t=this.points[e];i[0]*t[0]+i[1]*t[1]+i[2]*t[2]+i[3]>=0&&a++}if(a===0)return 0;a<n&&(t=!1)}if(t)return 2;for(let t=0;t<r;t++){let n=this.planes[t],r=0;for(let t=0;t<a;t++){let i=e.points[t];n[0]*i[0]+n[1]*i[1]+n[2]*i[2]+n[3]>=0&&r++}if(r===0)return 0}return 1}intersectsPlane(e){let t=this.points.length,n=0;for(let r=0;r<t;r++){let t=this.points[r];e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]>=0&&n++}return n===t?2:n===0?0:1}};function Gk(e,t,n){let r=e-t;return r<0?-r:Math.max(0,r-n)}function Kk(e,t,n,r,i){let a=e-n,o;return o=a<0?Math.min(-a,1+a-i):a>i?Math.min(Math.max(a-i,0),1-a):0,Math.max(o,Gk(t,r,i))}var qk=class{constructor(){this._boundingVolumeCache=new Uk(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(e,t,n,r){let i=1<<n.z,a=1/i,o=n.x/i,s=n.y/i,c=.5,l=2;return l=Math.min(l,Kk(e,t,o,s,a)),l=Math.min(l,Kk(e,t,o+c,-s-a,a)),l=Math.min(l,Kk(e,t,o+c,2-s-a,a)),l}getWrap(e,t,n){let r=1<<t.z,i=1/r,a=t.x/r,o=Gk(e.x,a,i),s=Gk(e.x,a-1,i),c=Gk(e.x,a+1,i),l=Math.min(o,s,c);return l===c?1:l===s?-1:0}allowVariableZoom(e,t){return sD(e,t)>4}allowWorldCopies(){return!1}getTileBoundingVolume(e,t,n,r){return this._boundingVolumeCache.getTileBoundingVolume(e,t,n,r)}_computeTileBoundingVolume(e,t,n,r){let i=Math.min(0,n),a=Math.max(0,n);if(r?.terrain){let n=new my(e.z,t,e.z,e.x,e.y),o=r.terrain.getMinMaxElevation(n);i=o.minElevation??i,a=Math.max(o.maxElevation??a,a)}if(i/=6371008.8,a/=6371008.8,i+=1,a+=1,e.z<=0)return Wk.fromAabb([-a,-a,-a],[a,a,a]);if(e.z===1)return Wk.fromAabb([e.x===0?-a:0,e.y===0?0:-a,-a],[e.x===0?0:a,e.y===0?a:0,a]);{let t=[Sk(0,0,e.x,e.y,e.z),Sk(P,0,e.x,e.y,e.z),Sk(P,P,e.x,e.y,e.z),Sk(0,P,e.x,e.y,e.z)],n=[];for(let e of t)n.push(it([],e,a));if(a!==i)for(let e of t)n.push(it([],e,i));e.y===0&&n.push([0,1,0]),e.y===(1<<e.z)-1&&n.push([0,-1,0]);let r=[1,1,1],o=[-1,-1,-1];for(let e of n)for(let t=0;t<3;t++)r[t]=Math.min(r[t],e[t]),o[t]=Math.max(o[t],e[t]);let s=Sk(P/2,P/2,e.x,e.y,e.z),c=ut([],[0,1,0],s);ct(c,c);let l=ut([],s,c);ct(l,l);let u=ut([],t[2],t[1]);ct(u,u);let d=ut([],t[0],t[3]);ct(d,d),n.push(it([],s,a)),e.y>=(1<<e.z)/2&&n.push(it([],Sk(4096,0,e.x,e.y,e.z),a)),e.y<(1<<e.z)/2&&n.push(it([],Sk(4096,8192,e.x,e.y,e.z),a));let f=Jk(s,n),p=Jk(l,n),m=[-s[0],-s[1],-s[2],f.max],h=[s[0],s[1],s[2],-f.min],g=[-l[0],-l[1],-l[2],p.max],_=[l[0],l[1],l[2],-p.min],v=[...u,0],y=[...d,0],b=[];return e.y===0?b.push(Qt(y,v,m),Qt(y,v,h)):b.push(Qt(g,v,m),Qt(g,v,h),Qt(g,y,m),Qt(g,y,h)),e.y===(1<<e.z)-1?b.push(Qt(y,v,m),Qt(y,v,h)):b.push(Qt(_,v,m),Qt(_,v,h),Qt(_,y,m),Qt(_,y,h)),new Wk(b,[m,h,g,_,v,y],r,o)}}};function Jk(e,t){let n=1/0,r=-1/0;for(let i of t){let t=lt(e,i);n=Math.min(n,t),r=Math.max(r,t)}return{min:n,max:r}}var Yk=1e-12,Xk=class e{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t){this._helper.resize(e,t)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e){}constructor(e,t){this._cachedClippingPlane=Gt(),this._projectionMatrix=Jt(),this._globeViewProjMatrix32f=Yt(),this._globeViewProjMatrixF64=Jt(),this._globeViewProjMatrixF64Inverted=Jt(),this._globeProjMatrixInverted=Jt(),this._cameraPosition=Kt(),this.defaultConstrain=(e,t)=>{let n=F(e.lat,-Kn,Kn),r=F(+t,this.minZoom+Ik(0,n),this.maxZoom);return{center:new X(e.lng,n),zoom:r}},this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=t??new JO({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._coveringTilesDetailsProvider=new qk}clone(){let t=new e;return t.apply(this,!1),t}apply(e,t){this._helper.apply(e,t)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixF64}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let e=Kt();return e[0]=this._cameraPosition[0],e[1]=this._cameraPosition[1],e[2]=this._cameraPosition[2],e}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(e){let{overscaledTileID:t,applyGlobeMatrix:n}=e,r=this._helper.getMercatorTileCoordinates(t);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:r,clippingPlane:this._cachedClippingPlane,projectionTransition:+!!n,fallbackMatrix:this._globeViewProjMatrix32f,clipAntimeridian:t?.canonical.z===0}}_computeClippingPlane(e){let t=this.pitchInRadians,n=this.cameraToCenterDistance/e,r=Math.sin(t)*n,i=Math.cos(t)*n+1,a=1/Math.sqrt(r*r+i*i)*1,o=-r,s=i,c=Math.sqrt(o*o+s*s);o/=c,s/=c;let l=[0,o,s];gt(l,l,[0,0,0],-this.bearingInRadians),mt(l,l,[0,0,0],-1*this.center.lat*Math.PI/180),ht(l,l,[0,0,0],this.center.lng*Math.PI/180);let u=1/et(l);return it(l,l,u),[...l,-a*u]}isLocationOccluded(e,t,n){let r=t?.getCoverageIndex();n??=r?t.getElevationForLngLat(e,this):0;let i=$k(e,n);if(!this.isSurfacePointVisible(i))return!0;if(!r)return!1;let a=this._projectSurfacePointToScreen(i),o=this.cameraPosition,s=this.getRayDirectionFromPixel(a),c=eA(o,s,i);if(c<=0)return!0;let l=this.screenTerrainPointToMercatorCoordinate(a,t);return l!=null&&eA(o,s,$k(l.toLngLat(),l.z))<c*.99}transformLightDirection(e){let t=this._helper._center.lng*Math.PI/180,n=this._helper._center.lat*Math.PI/180,r=Math.cos(n),i=[Math.sin(t)*r,Math.sin(n),Math.cos(t)*r],a=[i[2],0,-i[0]],o=[0,0,0];ut(o,a,i),ct(a,a),ct(o,o);let s=[a[0]*e[0]+o[0]*e[1]+i[0]*e[2],a[1]*e[0]+o[1]*e[1]+i[1]*e[2],a[2]*e[0]+o[2]*e[1]+i[2]*e[2]],c=[0,0,0];return ct(c,s),c}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(e,t,n){let r=Mm(e,t,n.canonical),i=bk(r.x,r.y);return this.getCircleRadiusCorrection()/Math.cos(i[1])}projectTileCoordinates(e,t,n,r){let i=n.canonical,a=Sk(e,t,i.x,i.y,i.z),o=1+(r??0)/bm,s=a[0]*o,c=a[1]*o,l=a[2]*o,u=[s,c,l,1];Tt(u,u,this._globeViewProjMatrixF64);let d;if(o<=1){let e=this._cachedClippingPlane;d=e[0]*a[0]+e[1]*a[1]+e[2]*a[2]+e[3]<0}else d=this._isLineOfSightBlocked(s,c,l);return{point:new M(u[0]/u[3],u[1]/u[3]),signedDistanceFromCamera:u[3],isOccluded:d}}_isLineOfSightBlocked(e,t,n){let r=this._cameraPosition,i=e-r[0],a=t-r[1],o=n-r[2],s=i*i+a*a+o*o;if(s===0)return!1;let c=F(-(r[0]*i+r[1]*a+r[2]*o)/s,0,1),l=r[0]+c*i,u=r[1]+c*a,d=r[2]+c*o;return l*l+u*u+d*d<1}_calcMatrices(e=this._helper.autoCalculateNearFarZ){let t=wk(this.worldSize,this.center.lat),n=qt();e&&(this._helper._nearZ=.5,this._helper._farZ=this.cameraToCenterDistance+t*2),Je(n,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);let r=this.centerOffset;n[8]=-r.x*2/this._helper._width,n[9]=r.y*2/this._helper._height,this._projectionMatrix=Ie(n),this._globeProjMatrixInverted=qt(),ze(this._globeProjMatrixInverted,n),Ve(n,n,[0,0,-this.cameraToCenterDistance]),Ge(n,n,this.rollInRadians),Ue(n,n,-this.pitchInRadians),Ge(n,n,this.bearingInRadians),Ve(n,n,[0,0,-t]);let i=Kt();i[0]=t,i[1]=t,i[2]=t,Ue(n,n,this.center.lat*Math.PI/180),We(n,n,-this.center.lng*Math.PI/180),He(n,n,i),this._globeViewProjMatrixF64=n,this._globeViewProjMatrix32f=new Float32Array(n),this._globeViewProjMatrixF64Inverted=qt(),ze(this._globeViewProjMatrixF64Inverted,n);let a=Kt();this._cameraPosition=Kt(),this._cameraPosition[2]=this.cameraToCenterDistance/t,gt(this._cameraPosition,this._cameraPosition,a,-this.rollInRadians),mt(this._cameraPosition,this._cameraPosition,a,this.pitchInRadians),gt(this._cameraPosition,this._cameraPosition,a,-this.bearingInRadians),nt(this._cameraPosition,this._cameraPosition,[0,0,1]),mt(this._cameraPosition,this._cameraPosition,a,-this.center.lat*Math.PI/180),ht(this._cameraPosition,this._cameraPosition,a,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(t);let o=Ie(this._globeViewProjMatrixF64Inverted);He(o,o,[1,1,-1]),this._cachedFrustum=QE.fromInvProjectionMatrix(o,1,0,this._cachedClippingPlane,!0)}calculateFogMatrix(e){En(`calculateFogMatrix is not supported on globe projection.`);let t=qt();return Re(t),t}getVisibleUnwrappedCoordinates(e){return[new py(0,e)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){if(e){En(`terrain is not fully supported on vertical perspective projection.`);return}this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return(et(this._cameraPosition)-1)*bm}getCameraLngLat(){let e=Kt();return ct(e,this._cameraPosition),Ek(e)}populateCache(e){}getBounds(){let e=this.width*.5,t=this.height*.5,n=[new M(0,0),new M(e,0),new M(this.width,0),new M(this.width,t),new M(this.width,this.height),new M(e,this.height),new M(0,this.height),new M(0,t)],r=[];for(let e of n)r.push(this.unprojectScreenPoint(e));let i=0,a=0,o=0,s=0,c=this.center;for(let e of r){let t=tn(c.lng,e.lng),n=tn(c.lat,e.lat);t<a&&(a=t),t>i&&(i=t),n<s&&(s=n),n>o&&(o=n)}let l=[c.lng+a,c.lat+s,c.lng+i,c.lat+o];return this.isSurfacePointOnScreen([0,1,0])&&(l[3]=90,l[0]=-180,l[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(l[1]=-90,l[0]=-180,l[2]=180),new tE(l)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}calculateCameraOptionsFromTo(e,t,n,r){let i=X.convert(n),a=Ck(X.convert(e));it(a,a,1+t/bm);let o=Ck(i),s=it(Kt(),o,1+r/bm),c=rt(Kt(),a,o),l=et(c);if(l<Yk||ot(a,s)<Yk)throw Error(`Can't calculate camera options with same From and To`);let u=Kt();ht(c,c,u,-Bn(i.lng)),mt(c,c,u,Bn(i.lat));let d=Vn(Math.acos(F(c[2]/l,-1,1))),f=Math.hypot(c[0],c[1])<l*1e-9?this.bearing:Vn(Math.atan2(-c[0],-c[1]));return{center:i,elevation:r,zoom:yn(this.cameraToCenterDistance/l/wk(this.tileSize,i.lat)),pitch:d,bearing:f}}setLocationAtPoint(e,t,n){let r=Ck(this.unprojectScreenPoint(t)),i=Ck(e),a=Kt();_t(a);let o=Kt();ht(o,r,a,-this.center.lng*Math.PI/180),mt(o,o,a,this.center.lat*Math.PI/180);let s=i[0]*i[0]+i[2]*i[2],c=o[0]*o[0];if(s<c)return;let l=Math.sqrt(s-c),u=-l,d=en(i[0],i[2],o[0],l),f=en(i[0],i[2],o[0],u),p=Kt();ht(p,i,a,-d);let m=en(p[1],p[2],o[1],o[2]),h=Kt();ht(h,i,a,-f);let g=en(h[1],h[2],o[1],o[2]),_=Math.PI*.5,v=m>=-_&&m<=_,y=g>=-_&&g<=_,b,x;if(v&&y){let e=this.center.lng*Math.PI/180,t=this.center.lat*Math.PI/180,n=nn(d,e),r=nn(m,t),i=nn(f,e),a=nn(g,t);n+r<i+a?(b=d,x=m):(b=f,x=g)}else if(v)b=d,x=m;else if(y)b=f,x=g;else return;let S=b/Math.PI*180,C=x/Math.PI*180,w=this.center.lat;this.setCenter(new X(S,F(C,-90,90))),this.setZoom(this.zoom+Ik(w,this.center.lat))}locationToScreenPoint(e,t){let n=Ck(e);return t&&it(n,n,1+t.getElevationForLngLatZoom(e,this._helper._tileZoom)/bm),this._projectSurfacePointToScreen(n)}_projectSurfacePointToScreen(e){let t=Gt();return Tt(t,[...e,1],this._globeViewProjMatrixF64),t[0]/=t[3],t[1]/=t[3],new M((t[0]*.5+.5)*this.width,(-t[1]*.5+.5)*this.height)}screenPointToMercatorCoordinate(e,t){if(t){let n=this.screenTerrainPointToMercatorCoordinate(e,t);if(n)return n}return Am.fromLngLat(this.unprojectScreenPoint(e))}screenTerrainPointToMercatorCoordinate(e,t){let n=t.getCoverageIndex();if(!n)return null;let r=this.cameraPosition,i=this.getRayDirectionFromPixel(e),a=Vk(r,i,1+n.maxElevation/bm);if(!a)return null;let o=Vk(r,i,1+n.minElevation/bm),s=Math.max(a.tMin,0),c=o?o.tMin:a.tMax;if(c<=s)return null;let l={index:n,exaggeration:t.exaggeration,origin:r,direction:i},u=0;for(let e=0;e<=256;e++){let t=s+(c-s)*e/256;if(Qk(l,t)){let{hi:e}=ik(l,Qk,u,t,1e-12),{sample:n,mercator:r}=Zk(l,e);return new Am(r.x,r.y,n.elevation)}u=t}return null}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}screenPointToLocationAtElevation(e,t){return this.screenPointToLocation(e)}isPointOnMapSurface(e,t){let n=this._cameraPosition;return!!Vk(n,this.getRayDirectionFromPixel(e))}getRayDirectionFromPixel(e){let t=Gt();t[0]=e.x/this.width*2-1,t[1]=(e.y/this.height*2-1)*-1,t[2]=1,t[3]=1,Tt(t,t,this._globeViewProjMatrixF64Inverted),t[0]/=t[3],t[1]/=t[3],t[2]/=t[3];let n=Kt();n[0]=t[0]-this._cameraPosition[0],n[1]=t[1]-this._cameraPosition[1],n[2]=t[2]-this._cameraPosition[2];let r=Kt();return ct(r,n),r}isSurfacePointVisible(e){let t=this._cachedClippingPlane;return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]>=0}isSurfacePointOnScreen(e){if(!this.isSurfacePointVisible(e))return!1;let t=Gt();return Tt(t,[...e,1],this._globeViewProjMatrixF64),t[0]/=t[3],t[1]/=t[3],t[2]/=t[3],t[0]>-1&&t[0]<1&&t[1]>-1&&t[1]<1&&t[2]>-1&&t[2]<1}unprojectScreenPoint(e){let t=this._cameraPosition,n=this.getRayDirectionFromPixel(e),r=Vk(t,n);if(r){let e=Kt();nt(e,t,[n[0]*r.tMin,n[1]*r.tMin,n[2]*r.tMin]);let i=Kt();return ct(i,e),Ek(i)}let i=this._cachedClippingPlane,a=i[0]*n[0]+i[1]*n[1]+i[2]*n[2],o=-Zt(i,t)/a,s=Kt();if(o>0)nt(s,t,[n[0]*o,n[1]*o,n[2]*o]);else{let e=Kt();nt(e,t,[n[0]*2,n[1]*2,n[2]*2]);let r=Zt(this._cachedClippingPlane,e);vt(s,e,[this._cachedClippingPlane[0]*r,this._cachedClippingPlane[1]*r,this._cachedClippingPlane[2]*r])}let c=Nk(i);return Ek(Pk(c.center,c.radius,s))}getProjectionDataForCustomLayer(e=!0){let t=this.getProjectionData({overscaledTileID:new my(0,0,0,0,0),applyGlobeMatrix:e});return t.tileMercatorCoords=[0,0,1,1],t}getFastPathSimpleProjectionMatrix(e){}};function Zk(e,t){let n=Kt();at(n,e.origin,e.direction,t);let r=et(n),i=Kt();it(i,n,1/r);let a=Ek(i),o=Am.fromLngLat(a),s=new Am(o.x,F(o.y,0,.999999999)),c=nk(e.index,e.exaggeration,s.x,s.y),l=Math.abs(a.lat)>85.051129?0:c.elevation;return{sample:{...c,elevation:l},radius:r,mercator:s}}function Qk(e,t){let{sample:n,radius:r}
vendor: 7,492 bytes, line 812
812=Zk(e,t);return rk(n,(r-1)*bm)}function $k(e,t){let n=Ck(e);return it(n,n,1+t/bm)}function eA(e,t,n){return lt(rt(Kt(),n,e),t)}var tA=class e{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(e){this._globeness=e,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(e){this._globeness=1,this.defaultConstrain=(e,t)=>this.currentTransform.defaultConstrain(e,t),this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=new JO({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._globeness=1,this._mercatorTransform=new ak(void 0,this._helper),this._verticalPerspectiveTransform=new Xk(void 0,this._helper)}clone(){let t=new e;return t._globeness=this._globeness,t.apply(this,!1),t}apply(e,t){this._helper.apply(e,t)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(e){let t=this._mercatorTransform.getProjectionData(e),n=this._verticalPerspectiveTransform.getProjectionData(e);return{mainMatrix:this.isGlobeRendering?n.mainMatrix:t.mainMatrix,clippingPlane:n.clippingPlane,tileMercatorCoords:n.tileMercatorCoords,projectionTransition:e.applyGlobeMatrix?this._globeness:0,fallbackMatrix:t.fallbackMatrix,clipAntimeridian:n.clipAntimeridian}}isLocationOccluded(e,t,n){return this.currentTransform.isLocationOccluded(e,t,n)}transformLightDirection(e){return this.currentTransform.transformLightDirection(e)}getPixelScale(){return on(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return on(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(e,t,n){return on(this._mercatorTransform.getPitchedTextCorrection(e,t,n),this._verticalPerspectiveTransform.getPitchedTextCorrection(e,t,n),this._globeness)}projectTileCoordinates(e,t,n,r){return this.currentTransform.projectTileCoordinates(e,t,n,r)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform._calcMatrices(),this._mercatorTransform._calcMatrices(this.autoCalculateNearFarZ&&!this.isGlobeRendering))}calculateFogMatrix(e){return this.currentTransform.calculateFogMatrix(e)}getVisibleUnwrappedCoordinates(e){return this.currentTransform.getVisibleUnwrappedCoordinates(e)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(e){this.currentTransform.recalculateZoomAndCenter(e)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this.currentTransform.getCameraAltitude()}getCameraLngLat(){return this.currentTransform.getCameraLngLat()}populateCache(e){this._mercatorTransform.populateCache(e),this._verticalPerspectiveTransform.populateCache(e)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}calculateCameraOptionsFromTo(e,t,n,r){return this.currentTransform.calculateCameraOptionsFromTo(e,t,n,r)}setLocationAtPoint(e,t,n){this.currentTransform.setLocationAtPoint(e,t,n)}locationToScreenPoint(e,t){return this.currentTransform.locationToScreenPoint(e,t)}screenPointToMercatorCoordinate(e,t){return this.currentTransform.screenPointToMercatorCoordinate(e,t)}screenTerrainPointToMercatorCoordinate(e,t){return this.currentTransform.screenTerrainPointToMercatorCoordinate(e,t)}screenPointToLocation(e,t){return this.currentTransform.screenPointToLocation(e,t)}screenPointToLocationAtElevation(e,t){return this.currentTransform.screenPointToLocationAtElevation(e,t)}
vendor: 2,447 bytes, line 812
812isPointOnMapSurface(e,t){return this.currentTransform.isPointOnMapSurface(e,t)}getRayDirectionFromPixel(e){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(e)}getProjectionDataForCustomLayer(e=!0){let t=this._mercatorTransform.getProjectionDataForCustomLayer(e);if(!this.isGlobeRendering)return t;let n=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(e);return n.fallbackMatrix=t.mainMatrix,n.projectionTransition=this._globeness,n}getFastPathSimpleProjectionMatrix(e){return this.currentTransform.getFastPathSimpleProjectionMatrix(e)}},nA=class e{get useGlobeControls(){return!0}handlePanInertia(e,t){let n=Rk(e,t);return Math.abs(n.lng-t.center.lng)>180&&(n.lng=t.center.lng+179.5*Math.sign(n.lng-t.center.lng)),{easingCenter:n,easingOffset:new M(0,0)}}handleMapControlsRollPitchBearingZoom(e,t){let n=e.around,r=t.screenPointToLocation(n);e.bearingDelta&&t.setBearing(t.bearing+e.bearingDelta),e.pitchDelta&&t.setPitch(t.pitch+e.pitchDelta),e.rollDelta&&t.setRoll(t.roll+e.rollDelta);let i=t.zoom;e.zoomDelta&&t.setZoom(t.zoom+e.zoomDelta);let a=t.zoom-i;if(a===0)return;let o=tn(t.center.lng,r.lng),s=o/(Math.abs(o/180)+1),c=tn(t.center.lat,r.lat),l=t.getRayDirectionFromPixel(n),u=t.cameraPosition,d=lt(u,l)*-1,f=Kt();nt(f,u,[l[0]*d,l[1]*d,l[2]*d]);let p=et(f),m=p-1,h=Math.exp(-Math.max(m-.3,0)*.5),g=an(p,.95,.999,0,1),_=an(wk(t.worldSize,t.center.lat)/Math.min(t.width,t.height),.9,.5,1,.25),v=Math.min(h,on(1,_,g)),y=(1-vn(-a))*v,b=t.center.lat,x=t.zoom,S=new X(t.center.lng+s*y,F(t.center.lat+c*y,-Kn,Kn));t.setLocationAtPoint(r,n);let C=t.center,w=an(Math.abs(o),45,85,0,1),T=Math.max(w,g)**.25,E=tn(C.lng,S.lng),D=tn(C.lat,S.lat);t.setCenter(new X(C.lng+E*T,C.lat+D*T).wrap()),t.setZoom(x+Ik(b,t.center.lat))}handleMapControlsPan(e,t,n){e.panDelta&&jk(t,n,t.isPointOnMapSurface(e.around)?e.around:t.centerPoint,e.panDelta)}cameraForBoxAndBearing(t,n,r,i,a){let o=dk(t,n,r,i,a);if(!o)return;let s=n.left/a.width*2-1,c=(a.width-n.right)/a.width*2-1,l=n.top/a.height*-2+1,u=(a.height-n.bottom)/a.height*-2+1,d=tn(r.getWest(),r.getEast())<0,f=d?r.getEast():r.getWest(),p=d?r.getWest():r.getEast(),m=Math.max(r.getNorth(),r.getSouth()),h=Math.min(r.getNorth(),r.getSouth()),g=f+tn(f,p)*.5,_=m+tn(m,h)*.5,v=a.clone();v.setCenter(o.center),v.setBearing(o.bearing),v.setPitch(0),v.setRoll(0),v.setZoom(o.zoom);let y=v.modelViewProjectionMatrix,b=[Ck(r.getNorthWest()),Ck(r.getNorthEast()),Ck(r.getSouthWest
vendor: 33,596 bytes, line 812
812()),Ck(r.getSouthEast()),Ck(new X(p,_)),Ck(new X(f,_)),Ck(new X(g,m)),Ck(new X(g,h))],x=Ck(o.center),S=1/0;for(let t of b)s<0&&(S=e.getLesserNonNegativeNonNull(S,e.solveVectorScale(t,x,y,`x`,s))),c>0&&(S=e.getLesserNonNegativeNonNull(S,e.solveVectorScale(t,x,y,`x`,c))),l>0&&(S=e.getLesserNonNegativeNonNull(S,e.solveVectorScale(t,x,y,`y`,l))),u<0&&(S=e.getLesserNonNegativeNonNull(S,e.solveVectorScale(t,x,y,`y`,u)));if(!Number.isFinite(S)||S===0){lk();return}return o.zoom=Math.min(v.zoom+yn(S),t.maxZoom),o}handleJumpToCenterZoom(e,t){let n=e.center.lat,r=e.applyConstrain(t.center?X.convert(t.center):e.center,e.zoom).center;e.setCenter(r.wrap());let i=t.zoom===void 0?e.zoom+Ik(n,r.lat):+t.zoom;e.zoom!==i&&e.setZoom(i)}handleEaseTo(e,t){let n=e.zoom,r=e.center,i=e.padding,a={roll:e.roll,pitch:e.pitch,bearing:e.bearing},o={roll:t.roll===void 0?e.roll:t.roll,pitch:t.pitch===void 0?e.pitch:t.pitch,bearing:t.bearing===void 0?e.bearing:t.bearing},s=t.zoom!==void 0,c=!e.isPaddingEqual(t.padding),l=!1,u=t.center?X.convert(t.center):r,d=e.applyConstrain(u,n).center;KO(e,d);let f=e.clone();f.setCenter(d),f.setZoom(s?+t.zoom:n+Ik(r.lat,u.lat)),f.setBearing(t.bearing);let p=new M(F(e.centerPoint.x+t.offsetAsPoint.x,0,e.width),F(e.centerPoint.y+t.offsetAsPoint.y,0,e.height));f.setLocationAtPoint(d,p);let m=(t.offset&&t.offsetAsPoint.mag())>0?f.center:d,h=s?+t.zoom:n+Ik(r.lat,m.lat),g=n+Ik(r.lat,0),_=h+Ik(m.lat,0),v=tn(r.lng,m.lng),y=tn(r.lat,m.lat),b=vn(_-g);return l=h!==n,{easeFunc:n=>{if(Hn(a,o)||uk({startEulerAngles:a,endEulerAngles:o,tr:e,k:n,useSlerp:a.roll!=o.roll}),c&&e.interpolatePadding(i,t.padding,n),t.around)En(`Easing around a point is not supported under globe projection.`),e.setLocationAtPoint(t.around,t.aroundPoint);else{let t=n*(_>g?Math.min(2,b):Math.max(.5,b))**(1-n),i=Bk(r,v,y,t);e.setCenter(i.wrap())}if(l){let t=Vi.number(g,_,n)+Ik(0,e.center.lat);e.setZoom(t)}},isZooming:l,elevationCenter:m}}handleFlyTo(e,t){let n=t.zoom!==void 0,r=e.center,i=e.zoom,a=e.padding,o=!e.isPaddingEqual(t.padding),s=e.applyConstrain(X.convert(t.center||t.locationAtOffset),i).center,c=n?+t.zoom:e.zoom+Ik(e.center.lat,s.lat),l=e.clone();l.setCenter(s),l.setZoom(c),l.setBearing(t.bearing);let u=new M(F(e.centerPoint.x+t.offsetAsPoint.x,0,e.width),F(e.centerPoint.y+t.offsetAsPoint.y,0,e.height));l.setLocationAtPoint(s,u);let d=l.center;KO(e,d);let f=yk(e,r,d),p=i+Ik(r.lat,0),m=c+Ik(d.lat,0),h=vn(m-p),g=typeof t.minZoom==`number`?+t.minZoom:e.minZoom,_=Math.max(g,e.minZoom)+Ik(d.lat,0),v=Math.min(_,p,m)+Ik(0,d.lat),y=vn(e.applyConstrain(d,v).zoom+Ik(d.lat,0)-p),b=tn(r.lng,d.lng),x=tn(r.lat,d.lat);return{easeFunc:(n,i,s,l)=>{let u=Bk(r,b,x,s);o&&e.interpolatePadding(a,t.padding,n);let f=n===1?d:u;e.setCenter(f.wrap());let m=p+yn(i);e.setZoom(n===1?c:m+Ik(0,f.lat))},scaleOfZoom:h,targetCenter:d,scaleOfMinZoom:y,pixelPathLength:f}}static solveVectorScale(e,t,n,r,i){let a=i,o=r===`x`?[n[0],n[4],n[8],n[12]]:[n[1],n[5],n[9],n[13]],s=[n[3],n[7],n[11],n[15]],c=e[0]*o[0]+e[1]*o[1]+e[2]*o[2],l=e[0]*s[0]+e[1]*s[1]+e[2]*s[2],u=t[0]*o[0]+t[1]*o[1]+t[2]*o[2],d=t[0]*s[0]+t[1]*s[1]+t[2]*s[2],f=(u+o[3]-a*d-a*s[3])/(u-c-a*d+a*l);return u+a*l===c+a*d||s[3]*(c-u)+o[3]*(d-l)+c*d===u*l?null:f}static getLesserNonNegativeNonNull(e,t){return t!==null&&t>=0&&t<e?t:e}},rA=class{constructor(e){this._globe=e,this._mercatorCameraHelper=new fk,this._verticalPerspectiveCameraHelper=new nA}get useGlobeControls(){return this._globe.useGlobeRendering}get currentHelper(){return this.useGlobeControls?this._verticalPerspectiveCameraHelper:this._mercatorCameraHelper}handlePanInertia(e,t){return this.currentHelper.handlePanInertia(e,t)}handleMapControlsRollPitchBearingZoom(e,t){this.currentHelper.handleMapControlsRollPitchBearingZoom(e,t)}handleMapControlsPan(e,t,n){this.currentHelper.handleMapControlsPan(e,t,n)}cameraForBoxAndBearing(e,t,n,r,i){return this.currentHelper.cameraForBoxAndBearing(e,t,n,r,i)}handleJumpToCenterZoom(e,t){this.currentHelper.handleJumpToCenterZoom(e,t)}handleEaseTo(e,t){return this.currentHelper.handleEaseTo(e,t)}handleFlyTo(e,t){return this.currentHelper.handleFlyTo(e,t)}};function iA(e,t,n){let r={constrainOverride:t};if(Array.isArray(e)){let t=new _k({type:e},n);return{projection:t,transform:new tA(r),cameraHelper:new rA(t)}}switch(e){case`mercator`:return{projection:new WO,transform:new ak(r),cameraHelper:new fk};case`globe`:{let e=new _k({type:[`interpolate`,[`linear`],[`zoom`],11,`vertical-perspective`,12,`mercator`]},{});return{projection:e,transform:new tA(r),cameraHelper:new rA(e)}}case`vertical-perspective`:return{projection:new gk,transform:new Xk(r),cameraHelper:new nA};default:return En(`Unknown projection name: ${e}. Falling back to mercator projection.`),{projection:new WO,transform:new ak(r),cameraHelper:new fk}}}var aA=$w(),oA=class extends br{constructor(e,t={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.tileManagers){let t=this.tileManagers[e].getSource().type;(t===`vector`||t===`geojson`)&&this.tileManagers[e].reload()}},this.map=e,this.dispatcher=new VT(RT(),e._getMapId()).setEventedParent(this),this.dispatcher.registerMessageHandler(`GG`,(e,t)=>this.getGlyphs(e,t)),this.dispatcher.registerMessageHandler(`GI`,(e,t)=>this.getImages(e,t)),this.dispatcher.registerMessageHandler(`GDA`,(e,t)=>this.getDashes(e,t)),this.imageManager=new iT,this.imageManager.setEventedParent(this),this.imageManager.setMissingImageResolver(e._missingStyleImageResolver),this.patternAtlas=new aT(this.imageManager);let n=e._container?.lang||typeof document<`u`&&document.documentElement?.lang||void 0;this.glyphManager=new bT(e._requestManager,t.localIdeographFontFamily,n),this.lineAtlas=new DT(256,512),this.crossTileSymbolIndex=new AO,this._setInitialValues(),this._resetUpdates(),this.dispatcher.broadcast(`SR`,cr()),qE().on(WE,this._rtlPluginLoaded),this.on(`data`,e=>{if(e.dataType!==`source`||e.sourceDataType!==`metadata`)return;let t=this.tileManagers[e.sourceId];if(!t)return;let n=t.getSource();if(n?.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===n.id&&this._validateLayer(t)}})}_setInitialValues(){this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new fl,this._imagesListDirty=!1,this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this._symbolPlacementTriggered=!1,this._placedProjectionTransition=void 0,this.crossTileSymbolIndex=new((this.crossTileSymbolIndex?.constructor)||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(e,t){this._checkLoaded();let n=t===null?this.stylesheet.state?.[e]?.default??null:t;return this._setGlobalStateValues({[e]:n}),this}getGlobalState(){return this._globalState}setGlobalState(e){this._checkLoaded();let t={};for(let n in e)t[n]=e[n].default;this._setGlobalStateValues(t)}_setGlobalStateValues(e){let t=[];for(let n in e)Cn(e[n],this._globalState[n])||t.push(n);if(t.length===0)return;let n={...this._globalState};for(let n of t)this._globalState[n]=e[n];this._applyGlobalStateChanges(t,n)}_applyGlobalStateChanges(e,t){let n=new Set,r={};for(let t of e)r[t]=this._globalState[t];for(let r in this._layers){let i=this._layers[r];i.retainPriorGlobalState(e,t);let a=i.getLayoutAffectingGlobalStateRefs(),o=i.getPaintAffectingGlobalStateRefs(),s=i.getVisibilityAffectingGlobalStateRefs();for(let t of e){if(a.has(t)&&n.add(i.source),o.has(t))for(let{name:e,value:n}of o.get(t))this._updatePaintProperty(i,e,n,{validate:!1});s?.has(t)&&(i.recalculateVisibility(),this._updateLayer(i))}}let i={now:mw(),transition:this.getTransition()};this.light?.applyGlobalStateChange(e,t,i),this.sky?.applyGlobalStateChange(e,t,i),this.dispatcher.broadcast(`UGS`,r);for(let e in this.tileManagers)n.has(e)&&(this._reloadSource(e),this._changed=!0)}async loadURL(e,t={},n){this.fire(new Ow(`dataloading`)),t.validate=typeof t.validate!=`boolean`||t.validate,this._loadStyleRequest=new AbortController;let r=this._loadStyleRequest;try{let i=await this.map._requestManager.transformRequest(e,`Style`);tr(r.signal);let a=await pr(i,r);this._loadStyleRequest===r&&(this._loadStyleRequest=null),this._load(a.data,t,n)}catch(e){this._loadStyleRequest===r&&(this._loadStyleRequest=null),e&&!r.signal.aborted&&this.fire(new L(Wt(e)))}}loadJSON(e,t={},n){this.fire(new Ow(`dataloading`)),this._frameRequest=new AbortController,fw.frameAsync(this._frameRequest,this.map._ownerWindow).then(()=>{this._frameRequest=null,t.validate=t.validate!==!1,this._load(e,t,n)}).catch(()=>{})}loadEmpty(){this.fire(new Ow(`dataloading`)),this._load(aA,{validate:!1})}_load(e,t,n){let r=t.transformStyle?t.transformStyle(n,e):e;if(!(t.validate&&tl(this,r))){r={...r},this._loaded=!0,this.stylesheet=r;for(let e in r.sources)this.addSource(e,r.sources[e],{validate:!1});r.sprite?this._loadSprite(r.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(r.glyphs),this.glyphManager.setFontFaces(r[`font-faces`]),this._createLayers(),this.light=new CT(this.stylesheet.light??{},this._globalState),this._setProjectionInternal(this.stylesheet.projection?.type||`mercator`),this.sky=new ET(this.stylesheet.sky,this._globalState),this.sky.setEventedParent(this),this.map.setTerrain(this.stylesheet.terrain??null,{validate:!1}),this.fire(new Ow(`data`)),this.fire(new Dw)}}_createLayers(){let e=zw(this.stylesheet.layers);this.setGlobalState(this.stylesheet.state??null),this.dispatcher.broadcast(`SL`,e),this._order=e.map(e=>e.id),this._layers={},this._serializedLayers=null;for(let t of e){let e=oy(t,this._globalState);if(e.setEventedParent(this,{layer:{id:t.id}}),this._layers[t.id]=e,Pl(e)&&this.tileManagers[e.source]){let n=t.paint?.[`raster-fade-duration`]??e.paint.get(`raster-fade-duration`);this.tileManagers[e.source].setRasterFadeDuration(n)}}}async _loadSprite(e,t=!1,n=void 0){this.imageManager.setLoaded(!1);let r=new AbortController;this._spriteRequest=r;let i;try{let n=await nT(e,this.map._requestManager,this.map.getPixelRatio(),r);if(!n)return;for(let e in n){let{loaded:r,removed:i}=this.imageManager.setSpriteImages(e,n[e]);this._markImagesChanged(i),t&&this._markImagesChanged(r)}}catch(e){i=e,r.signal.aborted||this.fire(new L(i))}finally{this._spriteRequest=null,this.imageManager.setLoaded(!0),t&&(this._changed=!0),this.dispatcher.broadcast(`SI`,this.imageManager.listImages()),this.fire(new Ow(`data`)),n?.(i)}}_unloadSprite(){this._markImagesChanged(this.imageManager.removeAllSpriteImages()),this._imagesListDirty=!0,this._changed=!0,this.fire(new Ow(`data`))}_validateLayer(e){let t=this.tileManagers[e.source];if(!t)return;let n=e.sourceLayer;if(!n)return;let r=t.getSource();(r.type===`geojson`||r.vectorLayerIds&&!r.vectorLayerIds.includes(n))&&this.fire(new L(Error(`Source layer "${n}" does not exist on source "${r.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.tileManagers)if(!this.tileManagers[e].loaded())return!1;return this.imageManager.isLoaded()}_serializeByIds(e,t=!1){let n=this._serializedAllLayers();if(!e||e.length===0)return Object.values(t?wn(n):n);let r=[];for(let i of e)if(n[i]){let e=t?wn(n[i]):n[i];r.push(e)}return r}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let n of t){let t=this._layers[n];t.type!==`custom`&&(e[n]=t.serialize())}return e}hasTransitions(){if(this.light?.hasTransition()||this.sky?.hasTransition()||this.projection?.hasTransition())return!0;for(let e in this.tileManagers)if(this.tileManagers[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error(`Style is not done loading.`)}update(e){if(!this._loaded)return;let t=this._changed;if(t){this._imagesListDirty&&=(this.dispatcher.broadcast(`SI`,this.imageManager.listImages()),!1);let t=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);(t.length||n.length)&&this._updateWorkerLayers(t,n);for(let e in this._updatedSources){let t=this._updatedSources[e];if(t===`reload`)this._reloadSource(e);else if(t===`clear`)this._clearSource(e);else throw Error(`Invalid action ${t}`)}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this._resetUpdates()}let n={};for(let e in this.tileManagers){let t=this.tileManagers[e];n[e]=t.used,t.used=!1}let r=this.imageManager.listImages();for(let t of this._order){let n=this._layers[t];n.recalculate(e,r),!n.isHidden(e.zoom)&&n.source&&(this.tileManagers[n.source].used=!0)}for(let e in n){let t=this.tileManagers[e];!!n[e]!=!!t.used&&t.fire(new kw(`data`,{sourceDataType:`visibility`,sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.projection.recalculate(e),this.z=e.zoom,t&&this.fire(new Ow(`data`))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.tileManagers)this.tileManagers[t].reloadTilesForDependencies([`icons`,`patterns`],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.tileManagers)this.tileManagers[e].reloadTilesForDependencies([`glyphs`],[``]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast(`UL`,{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,t={}){this._checkLoaded();let n=this.serialize();if(e=t.transformStyle?t.transformStyle(n,e):e,(t.validate??!0)&&tl(this,e))return!1;e=wn(e),e.layers=zw(e.layers);let r=Qw(n,e),i=this._getOperationsToPerform(r);if(i.unimplemented.length>0)throw Error(`Unimplemented: ${i.unimplemented.join(`, `)}.`);if(i.operations.length===0)return!1;for(let e of i.operations)e();return this.stylesheet=e,this._serializedLayers=null,this.fire(new Dw({style:this})),!0}_getOperationsToPerform(e){let t=[],n=[];for(let r of e)switch(r.command){case`setCenter`:case`setZoom`:case`setBearing`:case`setPitch`:case`setRoll`:continue;case`addLayer`:{let[e,n]=r.args;t.push(()=>this.addLayer(e,n));break}case`removeLayer`:{let[e]=r.args;t.push(()=>this.removeLayer(e));break}case`setPaintProperty`:{let[e,n,i]=r.args;t.push(()=>this.setPaintProperty(e,n,i));break}case`setLayoutProperty`:{let[e,n,i]=r.args;t.push(()=>this.setLayoutProperty(e,n,i));break}case`setFilter`:{let[e,n]=r.args;t.push(()=>this.setFilter(e,n));break}case`addSource`:{let[e,n]=r.args;t.push(()=>this.addSource(e,n));break}case`removeSource`:{let[e]=r.args;t.push(()=>this.removeSource(e));break}case`setLayerZoomRange`:{let[e,n,i]=r.args;t.push(()=>this.setLayerZoomRange(e,n,i));break}case`setLight`:{let[e]=r.args;t.push(()=>this.setLight(e));break}case`setGeoJSONSourceData`:{let[e,n]=r.args;t.push(()=>this.setGeoJSONSourceData(e,n));break}case`setGlyphs`:{let[e]=r.args;t.push(()=>this.setGlyphs(e));break}case`setFontFaces`:{let[e]=r.args;t.push(()=>this.setFontFaces(e));break}case`setSprite`:{let[e]=r.args;t.push(()=>this.setSprite(e));break}case`setTerrain`:{let[e]=r.args;t.push(()=>this.map.setTerrain(e));break}case`setSky`:{let[e]=r.args;t.push(()=>this.setSky(e));break}case`setProjection`:{let[e]=r.args;t.push(()=>this.setProjection(e));break}case`setGlobalState`:{let[e]=r.args;t.push(()=>this.setGlobalState(e));break}case`setTransition`:t.push(()=>{});break;default:n.push(r.command)}return{operations:t,unimplemented:n}}addImage(e,t){if(this.getImage(e)){this.fire(new L(Error(`An image named "${e}" already exists.`)));return}this.imageManager.addImage(e,t),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}setMissingImageResolver(e){this.imageManager.setMissingImageResolver(e)}removeImage(e){if(!this.getImage(e)){this.fire(new L(Error(`An image named "${e}" does not exist.`)));return}this.imageManager.removeImage(e),this._afterImageUpdated(e)}_markImagesChanged(e){for(let t of e)this._changedImages[t]=!0}_afterImageUpdated(e){this._changedImages[e]=!0,this._imagesListDirty=!0,this._changed=!0,this.fire(new Ow(`data`))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,t,n={}){if(this._checkLoaded(),this.tileManagers[e]!==void 0)throw Error(`Source "${e}" already exists.`);if(!t.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(t).join(`, `)}.`);if($c.has(t.type)&&this._validate(Qc.source,`sources.${e}`,t,null,n))return;this.map?._collectResourceTiming&&(t.collectResourceTiming=!0);let r=this.tileManagers[e]=new SD(e,t,this.dispatcher);r.style=this,r.setEventedParent(this,()=>({isSourceLoaded:r.loaded(),source:r.serialize(),sourceId:e})),r.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);for(let t in this._layers)if(this._layers[t].source===e)return this.fire(new L(Error(`Source "${e}" cannot be removed while layer "${t}" is using it.`)));let t=this.tileManagers[e];delete this.tileManagers[e],delete this._updatedSources[e],t.fire(new kw(`data`,{sourceDataType:`metadata`,sourceId:e})),t.setEventedParent(null),t.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);let n=this.tileManagers[e].getSource();if(n.type!==`geojson`)throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`);n.setData(t),this._changed=!0}getSource(e){return this.tileManagers[e]?.getSource()}addLayer(e,t,n={}){this._checkLoaded();let r=e.id;if(this.getLayer(r)){this.fire(new L(Error(`Layer "${r}" already exists on this map.`)));return}let i;if(e.type===`custom`){if(nl(this,ry(e)))return;i=oy(e,this._globalState)}else{if(`source`in e&&typeof e.source==`object`&&(this.addSource(r,e.source),e=wn(e),e=I(e,{source:r})),this._validate(Qc.layer,`layers.${r}`,e,{arrayIndex:-1},n))return;i=oy(e,this._globalState),this._validateLayer(i),i.setEventedParent(this,{layer:{id:r}})}let a=t?this._order.indexOf(t):this._order.length;if(t&&a===-1){this.fire(new L(Error(`Cannot add layer "${r}" before non-existing layer "${t}".`)));return}if(this._order.splice(a,0,r),this._layerOrderChanged=!0,this._layers[r]=i,this._removedLayers[r]&&i.source&&i.type!==`custom`){let e=this._removedLayers[r];delete this._removedLayers[r],e.type===i.type?(this._updatedSources[i.source]=`reload`,this.tileManagers[i.source].pause()):this._updatedSources[i.source]=`clear`}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}moveLayer(e,t){if(this._checkLoaded(),this._changed=!0,!this._layers[e]){this.fire(new L(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));return}if(e===t)return;if(t&&!this._order.includes(t)){this.fire(new L(Error(`Cannot move layer "${e}" before non-existing layer "${t}".`)));return}let n=this._order.indexOf(e);this._order.splice(n,1);let r=t?this._order.indexOf(t):this._order.length;this._order.splice(r,0,e),this._layerOrderChanged=!0}removeLayer(e){this._checkLoaded();let t=this._layers[e];if(!t){this.fire(new L(Error(`Cannot remove non-existing layer "${e}".`)));return}t.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],t.type===`symbol`&&t.source&&this.tileManagers[t.source]?.resetMaxContentElevation(),t.onRemove&&t.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,t,n){this._checkLoaded();let r=this.getLayer(e);if(!r){this.fire(new L(Error(`Cannot set the zoom range of non-existing layer "${e}".`)));return}(r.minzoom!==t||r.maxzoom!==n)&&(t!=null&&(r.minzoom=t),n!=null&&(r.maxzoom=n),this._updateLayer(r))}setFilter(e,t,n={}){this._checkLoaded();let r=this.getLayer(e);if(!r){this.fire(new L(Error(`Cannot filter non-existing layer "${e}".`)));return}if(!Cn(r.filter,t)){if(t==null){r.setFilter(void 0),this._updateLayer(r);return}this._validate(Qc.filter,`layers.${r.id}.filter`,t,null,n)||(r.setFilter(wn(t)),this._updateLayer(r))}}getFilter(e){return wn(this.getLayer(e).filter)}setLayoutProperty(e,t,n,r={}){this._checkLoaded();let i=this.getLayer(e);if(!i){this.fire(new L(Error(`Cannot style non-existing layer "${e}".`)));return}Cn(i.getLayoutProperty(t),n)||(i.setLayoutProperty(t,n,r),this._updateLayer(i))}getLayoutProperty(e,t){let n=this.getLayer(e);if(!n){this.fire(new L(Error(`Cannot get style of non-existing layer "${e}".`)));return}return n.getLayoutProperty(t)}setPaintProperty(e,t,n,r={}){this._checkLoaded();let i=this.getLayer(e);if(!i){this.fire(new L(Error(`Cannot style non-existing layer "${e}".`)));return}Cn(i.getPaintProperty(t),n)||this._updatePaintProperty(i,t,n,r)}_updatePaintProperty(e,t,n,r={}){e.setPaintProperty(t,n,r)&&this._updateLayer(e),Pl(e)&&t===`raster-fade-duration`&&this.tileManagers[e.source].setRasterFadeDuration(n),this._changed=!0,this._updatedPaintProps[e.id]=!0,e.type===`symbol`&&this.triggerSymbolPlacement(),this._serializedLayers=null}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,t){this._checkLoaded();let n=e.source,r=e.sourceLayer,i=this.tileManagers[n];if(i===void 0){this.fire(new L(Error(`The source '${n}' does not exist in the map's style.`)));return}let a=i.getSource().type;if(a===`geojson`&&r){this.fire(new L(Error(`GeoJSON sources cannot have a sourceLayer parameter.`)));return}if(a===`vector`&&!r){this.fire(new L(Error(`The sourceLayer parameter must be provided for vector source types.`)));return}if(e.id===void 0){this.fire(new L(Error(`The feature id parameter must be provided.`)));return}let o=[`__proto__`,`constructor`,`prototype`];if(t&&Object.keys(t).some(e=>o.includes(e))){this.fire(new L(Error(`The feature state should not include one of the following keys: ${o}`)));return}i.setFeatureState(r,e.id,t)}removeFeatureState(e,t){this._checkLoaded();let n=e.source,r=this.tileManagers[n];if(r===void 0){this.fire(new L(Error(`The source '${n}' does not exist in the map's style.`)));return}let i=r.getSource().type,a=i===`vector`?e.sourceLayer:void 0;if(i===`vector`&&!a){this.fire(new L(Error(`The sourceLayer parameter must be provided for vector source types.`)));return}if(t&&typeof e.id!=`string`&&typeof e.id!=`number`){this.fire(new L(Error(`A feature id is required to remove its specific state property.`)));return}r.removeFeatureState(a,e.id,t)}getFeatureState(e){this._checkLoaded();let t=e.source,n=e.sourceLayer,r=this.tileManagers[t];if(r===void 0){this.fire(new L(Error(`The source '${t}' does not exist in the map's style.`)));return}if(r.getSource().type===`vector`&&!n){this.fire(new L(Error(`The sourceLayer parameter must be provided for vector source types.`)));return}return e.id===void 0&&this.fire(new L(Error(`The feature id parameter must be provided.`))),r.getFeatureState(n,e.id)}getTransition(){return I({duration:300,delay:0},this.stylesheet?.transition)}serialize(){if(!this._loaded)return;let e=xn(this.tileManagers,e=>e.serialize()),t=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,r=this.stylesheet;return Sn({version:r.version,name:r.name,metadata:r.metadata,light:r.light,sky:r.sky,center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch,sprite:r.sprite,glyphs:r.glyphs,"font-faces":r[`font-faces`],transition:r.transition,projection:r.projection,state:r.state,sources:e,layers:t,terrain:n},e=>e!==void 0)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.tileManagers[e.source].getSource().type!==`raster`&&(this._updatedSources[e.source]=`reload`,this.tileManagers[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>this._layers[e].type===`fill-extrusion`,n={},r=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){n[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)r.push(t)}}}r.sort((e,t)=>t.intersectionZ-e.intersectionZ);let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=r.length-1;e>=0;e--){let t=r[e].feature;if(n[t.layer.id]<a)break;i.push(t),r.pop()}else for(let t of e){let e=t[o];if(e)for(let t of e)i.push(t.feature)}}return i}queryRenderedFeatures(e,t,n){t?.filter&&this._validate(Qc.filter,`queryRenderedFeatures.filter`,t.filter,null,t);let r={};if(t?.layers){if(!(Array.isArray(t.layers)||t.layers instanceof Set))return this.fire(new L(Error(`parameters.layers must be an Array or a Set of strings`))),[];for(let e of t.layers){let t=this._layers[e];if(!t)return this.fire(new L(Error(`The layer '${e}' does not exist in the map's style and cannot be queried for features.`))),[];r[t.source]=!0}}let i=[];t.availableImages=this.imageManager.listImages();let a=this._serializedAllLayers(),o=t.layers instanceof Set?t.layers:Array.isArray(t.layers)?new Set(t.layers):null,s={...t,layers:o,globalState:this._globalState};for(let o in this.tileManagers)(!t.layers||r[o])&&i.push(KT(this.tileManagers[o],this._layers,a,e,s,n,this.map.terrain?(e,t,n)=>this.map.terrain.getElevation(e,t,n):void 0));return this.placement&&i.push(qT(this._layers,a,this.tileManagers,e,s,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(i)}querySourceFeatures(e,t){t?.filter&&this._validate(Qc.filter,`querySourceFeatures.filter`,t.filter,null,t);let n=this.tileManagers[e];return n?JT(n,t?{...t,globalState:this._globalState}:{globalState:this._globalState}):[]}getLight(){return this.light.getLight()}setLight(e,t={}){this._checkLoaded();let n=this.light.getLight(),r=!1;for(let t in e)if(!Cn(e[t],n[t])){r=!0;break}if(!r)return;let i={now:mw(),transition:I({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,t),this.light.updateTransitions(i)}getProjection(){return this.stylesheet?.projection}setProjection(e){this._checkLoaded();let t=e??{type:`mercator`};if(this.stylesheet.projection=e,this.projection){if(this.projection.name===t.type)return;this.projection.destroy(),delete this.projection}this._setProjectionInternal(t.type)}getSky(){return this.stylesheet?.sky}setSky(e,t={}){this._checkLoaded();let n=this.getSky(),r=!1;if(!e&&!n)return;if(e&&!n)r=!0;else if(!e&&n)r=!0;else for(let t in e)if(!Cn(e[t],n[t])){r=!0;break}if(!r)return;let i={now:mw(),transition:I({duration:300,delay:0},this.stylesheet.transition)};this.sky.setSky(e,t)&&(this.stylesheet.sky=e,this.sky.updateTransitions(i))}_setProjectionInternal(e){let t=iA(e,this.map._camera?.transform.constrainOverride,this._globalState);this.projection=t.projection,this.map.migrateProjection(t.transform,t.cameraHelper);for(let e in this.tileManagers)this.tileManagers[e].reload()}_validate(e,t,n,r,i={}){return i.validate!==!1&&rl(this,e,{key:t,style:this.serialize(),value:n,...r},i)}_remove(e=!0){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null),qE().off(WE,this._rtlPluginLoaded);for(let e in this._layers)this._layers[e].setEventedParent(null);for(let e in this.tileManagers){let t=this.tileManagers[e];t.setEventedParent(null),t.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),e&&this.dispatcher.broadcast(`RM`,void 0),this.dispatcher.remove(e)}_clearSource(e){this.tileManagers[e].clearTiles()}_reloadSource(e){this.tileManagers[e].resume(),this.tileManagers[e].reload()}_updateSources(e){for(let t in this.tileManagers)this.tileManagers[t].update(e,this.map.terrain)}_generateCollisionBoxes(){for(let e in this.tileManagers)this._reloadSource(e)}triggerSymbolPlacement(){this._symbolPlacementTriggered=!0}_placementInputsChanged(e,t,n){let r=this.pauseablePlacement;return!r||this._symbolPlacementTriggered||this._placedProjectionTransition!==this.projection?.transitionState||r._showCollisionBoxes!==t||r.placement.collisionGroups.crossSourceCollisions!==n||r.placement.transform.renderWorldCopies!==e.renderWorldCopies||!N(r.placement.transform.modelViewProjectionMatrix,e.modelViewProjectionMatrix)}_updatePlacement(e,t,n,r,i=!1){let a=!1,o=!1,s={};for(let t of this._order){let n=this._layers[t];if(n.type!==`symbol`)continue;if(!s[n.source]){let e=this.tileManagers[n.source];s[n.source]=e.getRenderableIds(!0).map(t=>e.getTileByID(t)).sort((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1))}let r=this.crossTileSymbolIndex.addLayer(n,s[n.source],e.center.lng);a||=r}this.crossTileSymbolIndex.pruneUnusedLayers(this._order),i||=this._layerOrderChanged||n===0;let c=a||this._placementInputsChanged(e,t,r),l=this.pauseablePlacement?.isDone()&&!this.placement.stillRecent(mw(),e.zoom);if((i||!this.pauseablePlacement||l&&(c||this.placement.stale))&&(this._symbolPlacementTriggered=!1,this._placedProjectionTransition=this.projection?.transitionState,this.pauseablePlacement=new _O(e,this.map.terrain,this._order,i,t,n,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?c&&this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(mw()),o=!0),a&&this.pauseablePlacement.placement.setStale()),o||a)for(let e of this._order){let t=this._layers[e];t.type===`symbol`&&this.placement.updateLayerOpacities(t,s[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(mw())}_releaseSymbolFadeTiles(){for(let e in this.tileManagers)this.tileManagers[e].releaseSymbolFadeTiles()}async getImages(e,t){let n=await this.imageManager.getImages(t.icons);this._updateTilesForChangedImages();let r=this.tileManagers[t.source];return r&&r.setDependencies(t.tileID.key,t.type,t.icons),n}async getGlyphs(e,t){let n=await this.glyphManager.getGlyphs(t.stacks),r=this.tileManagers[t.source];return r&&r.setDependencies(t.tileID.key,t.type,[``]),n}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,t={}){this._checkLoaded(),!(e&&this._validate(Qc.glyphs,`glyphs`,e,null,t))&&(this._changed=!0,this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}getFontFaces(){return this.stylesheet[`font-faces`]||null}setFontFaces(e){this._checkLoaded(),this._changed=!0,this._glyphsDidChange=!0,this.stylesheet[`font-faces`]=e,this.glyphManager.setFontFaces(e)}async getDashes(e,t){let n={};for(let[e,r]of Object.entries(t.dashes))n[e]=this.lineAtlas.getDash(r.dasharray,r.round);return n}addSprite(e,t,n={},r){this._checkLoaded();let i=[{id:e,url:t}],a=[...eT(this.stylesheet.sprite),...i];this._validate(Qc.sprite,`sprite`,a,null,n)||(this.stylesheet.sprite=a,this._loadSprite(i,!0,r))}removeSprite(e){this._checkLoaded();let t=eT(this.stylesheet.sprite);if(!t.find(t=>t.id===e)){this.fire(new L(Error(`Sprite "${e}" doesn't exists on this map.`)));return}let n=this.imageManager.removeSpriteImages(e);this._markImagesChanged(n),t.splice(t.findIndex(t=>t.id===e),1),this.stylesheet.sprite=t.length>0?t:void 0,this._imagesListDirty=!0,this._changed=!0,this.fire(new Ow(`data`))}getSprite(){return eT(this.stylesheet.sprite)}setSprite(e,t={},n){this._checkLoaded(),!(e&&this._validate(Qc.sprite,`sprite`,e,null,t))&&(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}destroy(){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null);for(let e in this.tileManagers){let t=this.tileManagers[e];t.setEventedParent(null),t.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this.patternAtlas.destroy()),this.glyphManager&&this.glyphManager.destroy();for(let e in this._layers){let t=this._layers[e];t.setEventedParent(null),t.onRemove&&t.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler(`GG`),this.dispatcher.unregisterMessageHandler(`GI`),this.dispatcher.unregisterMessageHandler(`GDA`),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}},sA=zl([{name:`a_pos`,type:`Int16`,components:2},{name:`a_texture_pos`,type:`Int16`,components:2}]),cA=class{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,r,i,a,o,s,c){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let e=0;!l&&e<r.length;e++)this.boundPaintVertexBuffers[e]!==r[e]&&(l=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==c?this.freshBind(t,
vendor: 10,755 bytes, lines 812-814
812n,r,i,a,o,s,c):e.bindVertexArray.set(this.vao)}freshBind(e,t,n,r,i,a,o,s){let c=e.numAttributes,l=this.context,u=l.gl;this.vao&&this.destroy(),this.vao=l.createVertexArray(),l.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=r,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o,this.boundDynamicVertexBuffer3=s,t.enableAttributes(u,e);for(let t of n)t.enableAttributes(u,e);a&&a.enableAttributes(u,e),o&&o.enableAttributes(u,e),s&&s.enableAttributes(u,e),t.bind(),t.setVertexAttribPointers(u,e,i);for(let t of n)t.bind(),t.setVertexAttribPointers(u,e,i);a&&(a.bind(),a.setVertexAttribPointers(u,e,i)),r&&r.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,e,i)),s&&(s.bind(),s.setVertexAttribPointers(u,e,i)),l.currentNumAttributes=c}destroy(){this.vao&&=(this.context.deleteVertexArray(this.vao),null)}},lA=(e,t)=>({u_depth:new q(e,t.u_depth),u_terrain:new q(e,t.u_terrain)}),uA=(e,t)=>({u_texture:new q(e,t.u_texture),u_ele_delta:new J(e,t.u_ele_delta),u_fog_matrix:new ud(e,t.u_fog_matrix),u_fog_color:new od(e,t.u_fog_color),u_fog_ground_blend:new J(e,t.u_fog_ground_blend),u_fog_ground_blend_opacity:new J(e,t.u_fog_ground_blend_opacity),u_horizon_color:new od(e,t.u_horizon_color),u_horizon_fog_blend:new J(e,t.u_horizon_fog_blend),u_is_globe_mode:new J(e,t.u_is_globe_mode)}),dA=(e,t)=>({u_ele_delta:new J(e,t.u_ele_delta)}),fA=(e,t,n,r,i)=>({u_texture:0,u_ele_delta:e,u_fog_matrix:t,u_fog_color:n?n.properties.get(`fog-color`):U.white,u_fog_ground_blend:n?n.properties.get(`fog-ground-blend`):1,u_fog_ground_blend_opacity:i?0:n?n.calculateFogBlendOpacity(r):0,u_horizon_color:n?n.properties.get(`horizon-color`):U.white,u_horizon_fog_blend:n?n.properties.get(`horizon-fog-blend`):1,u_is_globe_mode:+!!i}),pA=e=>({u_ele_delta:e}),mA={ProjectionUBO:0,TerrainUBO:1,FrameUBO:2};function hA(e,t){for(let[n,r]of Object.entries(mA)){let i=e.getUniformBlockIndex(t,n);i!==e.INVALID_INDEX&&e.uniformBlockBinding(t,i,r)}}var gA={float:[1,1],int:[1,1],vec2:[2,2],vec4:[4,4],mat4:[16,4]};function _A(e){let t={},n=0;for(let{name:r,type:i}of e){let[e,a]=gA[i];n=Math.ceil(n/a)*a,t[r]=n,n+=e}return{offsets:t,contentWords:n,sizeWords:Math.ceil(n/4)*4}}var vA=class{constructor(e,t,n){this.context=e,this.binding=t,this.contentWords=n.contentWords;let r=e.gl;this.buffer=r.createBuffer(),r.bindBuffer(r.UNIFORM_BUFFER,this.buffer),r.bufferData(r.UNIFORM_BUFFER,n.sizeWords*4,r.DYNAMIC_DRAW),this.uploaded=new Float32Array(n.sizeWords),this.pending=new Float32Array(n.sizeWords),this.uploadedWords=new Uint32Array(this.uploaded.buffer),this.pendingWords=new Uint32Array(this.pending.buffer),this.hasData=!1}upload(){let e=this.context.gl,t=!this.hasData;if(!t){let e=this.pendingWords,n=this.uploadedWords;for(let r=0;r<this.contentWords;r++)if(e[r]!==n[r]){t=!0;break}}if(!t){this.bind();return}e.bindBufferBase(e.UNIFORM_BUFFER,this.binding,this.buffer),this.context.boundUniformBuffers[this.binding]=this.buffer,e.bufferData(e.UNIFORM_BUFFER,this.pending,e.DYNAMIC_DRAW),this.uploaded.set(this.pending),this.hasData=!0}bind(){let e=this.context.boundUniformBuffers;if(e[this.binding]===this.buffer)return;let t=this.context.gl;t.bindBufferBase(t.UNIFORM_BUFFER,this.binding,this.buffer),e[this.binding]=this.buffer}destroy(){let e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)}},yA=_A([{name:`u_projection_matrix`,type:`mat4`},{name:`u_projection_fallback_matrix`,type:`mat4`},{name:`u_projection_tile_mercator_coords`,type:`vec4`},{name:`u_projection_clipping_plane`,type:`vec4`},{name:`u_projection_transition`,type:`float`},{name:`u_projection_clip_antimeridian`,type:`int`}]),bA=yA.offsets;function xA(e){return new vA(e,mA.ProjectionUBO,yA)}function SA(e,t){let n=e.pending;n.set(t.mainMatrix,bA.u_projection_matrix),n.set(t.fallbackMatrix,bA.u_projection_fallback_matrix),n.set(t.tileMercatorCoords,bA.u_projection_tile_mercator_coords),n.set(t.clippingPlane,bA.u_projection_clipping_plane),n[bA.u_projection_transition]=t.projectionTransition,e.pendingWords[bA.u_projection_clip_antimeridian]=+!!t.clipAntimeridian,e.upload()}function CA(e,t){if(!t){e.projectionUniformBuffer.bind();return}let n=t.uniformBufferKey;if(n===void 0){SA(e.projectionUniformBuffer,t);return}let r=e.keyedProjectionUniformBuffers.get(n);if(r){r.bind();return}let i=e.freeProjectionUniformBuffers.pop()??xA(e);e.keyedProjectionUniformBuffers.set(n,i),SA(i,t)}function wA(e){e.freeProjectionUniformBuffers.push(...e.keyedProjectionUniformBuffers.values()),e.keyedProjectionUniformBuffers.clear()}function TA(e){e.projectionUniformBuffer.destroy();for(let t of e.keyedProjectionUniformBuffers.values())t.destroy();for(let t of e.freeProjectionUniformBuffers)t.destroy()}var EA=_A([{name:`u_terrain_matrix`,type:`mat4`},{name:`u_terrain_unpack`,type:`vec4`},{name:`u_terrain_dim`,type:`float`},{name:`u_terrain_exaggeration`,type:`float`}]),DA=EA.offsets;function OA(e){return new vA(e,mA.TerrainUBO,EA)}function kA(e,t){let n=e.pending;n.set(t.u_terrain_matrix,DA.u_terrain_matrix),n.set(t.u_terrain_unpack,DA.u_terrain_unpack),n[DA.u_terrain_dim]=t.u_terrain_dim,n[DA.u_terrain_exaggeration]=t.u_terrain_exaggeration,e.upload()}function AA(e){let t=[];for(let n of e){if(n===null)continue;let e=n.split(` `);t.push(e.pop())}return t}function jA(e,t){let n=new Set([e.INT,e.INT_VEC2,e.INT_VEC3,e.INT_VEC4,e.UNSIGNED_INT,e.UNSIGNED_INT_VEC2,e.UNSIGNED_INT_VEC3,e.UNSIGNED_INT_VEC4]),r=new Set,i=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let a=0;a<i;a++){let i=e.getActiveAttrib(t,a);i&&n.has(i.type)&&r.add(i.name)}return r}var MA=class{constructor(e,t,n,r,i,a,o,s,c=[]){let l=e.gl;this.program=l.createProgram();let u=AA(t.staticAttributes),d=n?n.getBinderAttributes():[],f=u.concat(d),p=BO.prelude.staticUniforms?AA(BO.prelude.staticUniforms):[],m=t.staticUniforms?AA(t.staticUniforms):[],h=n?n.getBinderUniforms():[],g=p.concat(m).concat(h),_=[];for(let e of g)_.includes(e)||_.push(e);let v=n?n.defines():[];v.unshift(`#version 300 es`),i&&v.push(`#define OVERDRAW_INSPECTOR;`),a&&v.push(`#define TERRAIN3D;`),s&&v.push(s),c&&v.push(...c);let y=v.concat(BO.prelude.fragmentSource,o.fragmentSource,t.fragmentSource).join(` 813`),b=v.concat(BO.prelude.vertexSource,o.vertexSource,t.vertexSource).join(` 814`),x=l.createShader(l.FRAGMENT_SHADER);if(l.isContextLost()){this.failedToCreate=!0;return}l.shaderSource(x,y),l.compileShader(x),l.attachShader(this.program,x);let S=l.createShader(l.VERTEX_SHADER);if(l.isContextLost()){this.failedToCreate=!0;return}l.shaderSource(S,b),l.compileShader(S),l.attachShader(this.program,S),this.attributes={};let C={};if(this.numAttributes=f.length,l.linkProgram(this.program),!l.getProgramParameter(this.program,l.LINK_STATUS)){if(l.isContextLost()){this.failedToCreate=!0;return}throw l.getShaderParameter(x,l.COMPILE_STATUS)?l.getShaderParameter(S,l.COMPILE_STATUS)?Error(`Program failed to link: ${l.getProgramInfoLog(this.program)}`):Error(`Could not compile vertex shader: ${l.getShaderInfoLog(S)}`):Error(`Could not compile fragment shader: ${l.getShaderInfoLog(x)}`)}hA(l,this.program);let w=jA(l,this.program);for(let e of f){if(!e)continue;let t=l.getAttribLocation(this.program,e);t>=0&&(this.attributes[e]={location:t,isInteger:w.has(e)})}l.deleteShader(S),l.deleteShader(x);for(let e of _)if(e&&!C[e]){let t=l.getUniformLocation(this.program,e);t&&(C[e]=t)}this.fixedUniforms=r(e,C),this.terrainUniforms=lA(e,C),this.binderUniforms=n?n.getUniforms(e,C):[]}draw(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.terrainUniformBuffer.bind(),e.frameUniformBuffer.bind(),e.setDepthMode(n),e.setStencilMode(r),e.setColorMode(i),e.setCullFace(a),s){e.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,s.depthTexture),e.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,s.texture);for(let e in this.terrainUniforms)this.terrainUniforms[e].set(s[e]);kA(e.terrainUniformBuffer,s)}if(CA(e,c),o)for(let e in this.fixedUniforms)this.fixedUniforms[e].set(o[e]);h&&h.setUniforms(e,this.binderUniforms,p,{zoom:m});let b=0;switch(t){case y.LINES:b=2;break;case y.TRIANGLES:b=3;break;case y.LINE_STRIP:b=1}for(let n of f.get())n.vaos||={},n.vaos[l]||=new cA,n.vaos[l].bind(e,this,u,h?h.getPaintVertexBuffers():[],d,n.vertexOffset,g,_,v),y.drawElements(t,n.primitiveLength*b,y.UNSIGNED_SHORT,n.primitiveOffset*b*2)}};function NA(e,t,n){let r=1/Ut(n,1,t.transform.tileZoom),i=2**n.tileID.overscaledZ,a=n.tileSize*2**t.transform.tileZoom/i,o=a*(n.tileID.canonical.x+n.tileID.wrap*i),s=a*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[r,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[o&65535,s&65535]}}function PA(e,t,n,r){let i=n.patternAtlas.getPattern(e.from.toString()),a=n.patternAtlas.getPattern(e.to.toString()),{width:o,height:s}=n.patternAtlas.getPixelSize(),c=2**r.tileID.overscaledZ,l=r.tileSize*2**n.transform.tileZoom/c,u=l*(r.tileID.canonical.x+r.tileID.wrap*c),d=l*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/Ut(r,1,n.transform.tileZoom),u_pixel_coord_upper:[u>>16,d>>16],u_pixel_coord_lower:[u&65535,d&65535]}}var FA=(e,t)=>({u_lightpos:new id(e,t.u_lightpos),u_lightpos_globe:new id(e,t.u_lightpos_globe),u_lightintensity:new J(e,t.u_lightintensity),u_lightcolor:new id(e,t.u_lightcolor),u_vertical_gradient:new J(e,t.u_vertical_gradient),u_opacity:new J(e,t.u_opacity),u_fill_translate:new Y(e,t.u_fill_translate)}),IA=(e,t)=>({u_lightpos:new id(e,t.u_lightpos),u_lightpos_globe:new id(e,t.u_lightpos_globe),u_lightintensity:new J(e,t.u_lightintensity),u_lightcolor:new id(e,t.u_lightcolor),u_vertical_gradient:new J(e,t.u_vertical_gradient),u_height_factor:new J(e,t.u_height_factor),u_opacity:new J(e,t.u_opacity),u_fill_translate:new Y(e,t.u_fill_translate),u_image:new q(e,t.u_image),u_texsize:new Y(e,t.u_texsize),u_pixel_coord_upper:new Y(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Y(e,t.u_pixel_coord_lower),u_scale:new id(e,t.u_scale),u_fade:new J(e,t.u_fade)}),LA=(e,t,n,r)=>{let i=e.style.light,a=i.getCartesianPosition(),o=je();i.properties.get(`anchor`)===`viewport`&&Ne(o,e.transform.bearingInRadians),ft(a,a,o);let s=e.transform.transformLightDirection(a),c=i.properties.get(`color`);return{u_lightpos:a,u_lightpos_globe:s,u_lightintensity:i.properties.get(`intensity`),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+t,u_opacity:n,u_fill_translate:r}},RA=(e,t,n,r,i,a,o)=>
vendor: 20,880 bytes, line 814
814I(LA(e,t,n,r),NA(a,e,o),{u_height_factor:-(2**i.overscaledZ)/o.tileSize/8}),zA=(e,t)=>({u_fill_translate:new Y(e,t.u_fill_translate)}),BA=(e,t)=>({u_image:new q(e,t.u_image),u_texsize:new Y(e,t.u_texsize),u_pixel_coord_upper:new Y(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Y(e,t.u_pixel_coord_lower),u_scale:new id(e,t.u_scale),u_fade:new J(e,t.u_fade),u_sdf_pattern:new q(e,t.u_sdf_pattern),u_fill_translate:new Y(e,t.u_fill_translate)}),VA=(e,t)=>({u_fill_translate:new Y(e,t.u_fill_translate)}),HA=(e,t)=>({u_image:new q(e,t.u_image),u_texsize:new Y(e,t.u_texsize),u_pixel_coord_upper:new Y(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Y(e,t.u_pixel_coord_lower),u_scale:new id(e,t.u_scale),u_fade:new J(e,t.u_fade),u_sdf_pattern:new q(e,t.u_sdf_pattern),u_fill_translate:new Y(e,t.u_fill_translate)}),UA=(e,t,n,r,i)=>I(NA(t,e,n),{u_fill_translate:r,u_sdf_pattern:+!!i}),WA=e=>({u_fill_translate:e}),GA=e=>({u_fill_translate:e}),KA=(e,t,n,r,i)=>UA(e,t,n,r,i),qA=(e,t)=>({u_scale_with_map:new q(e,t.u_scale_with_map),u_pitch_with_map:new q(e,t.u_pitch_with_map),u_extrude_scale:new Y(e,t.u_extrude_scale),u_globe_extrude_scale:new J(e,t.u_globe_extrude_scale),u_translate:new Y(e,t.u_translate)}),JA=(e,t,n,r,i)=>{let a=e.transform,o,s,c=0;if(n.paint.get(`circle-pitch-alignment`)===`map`){let e=Ut(t,1,a.zoom);o=!0,s=[e,e],c=e/(P*2**t.tileID.overscaledZ)*2*Math.PI*i}else o=!1,s=a.pixelsToGLUnits;return{u_scale_with_map:+(n.paint.get(`circle-pitch-scale`)===`map`),u_pitch_with_map:+o,u_extrude_scale:s,u_globe_extrude_scale:c,u_translate:r}},YA=(e,t)=>({u_color:new od(e,t.u_color),u_overlay:new q(e,t.u_overlay),u_overlay_scale:new J(e,t.u_overlay_scale)}),XA=(e,t=1)=>({u_color:e,u_overlay:0,u_overlay_scale:t}),ZA=(e,t)=>({u_extrude_scale:new J(e,t.u_extrude_scale),u_intensity:new J(e,t.u_intensity),u_globe_extrude_scale:new J(e,t.u_globe_extrude_scale)}),QA=(e,t)=>({u_matrix:new ud(e,t.u_matrix),u_image:new q(e,t.u_image),u_color_ramp:new q(e,t.u_color_ramp),u_opacity:new J(e,t.u_opacity)}),$A=(e,t,n,r)=>{let i=Ut(e,1,t)/(P*2**e.tileID.overscaledZ)*2*Math.PI*r;return{u_extrude_scale:Ut(e,1,t),u_intensity:n,u_globe_extrude_scale:i}},ej=(e,t,n,r)=>{let i=Fe();return Xe(i,0,e.width,e.height,0,0,1),{u_matrix:i,u_image:n,u_color_ramp:r,u_opacity:t.paint.get(`heatmap-opacity`)}},tj=(e,t)=>({u_image:new q(e,t.u_image),u_latrange:new Y(e,t.u_latrange),u_exaggeration:new J(e,t.u_exaggeration),u_altitudes:new cd(e,t.u_altitudes),u_azimuths:new cd(e,t.u_azimuths),u_accent:new od(e,t.u_accent),u_method:new q(e,t.u_method),u_shadows:new sd(e,t.u_shadows),u_highlights:new sd(e,t.u_highlights)}),nj=(e,t)=>({u_matrix:new ud(e,t.u_matrix),u_image:new q(e,t.u_image),u_dimension:new Y(e,t.u_dimension),u_zoom:new J(e,t.u_zoom),u_unpack:new ad(e,t.u_unpack)}),rj=(e,t,n)=>{let r=n.paint.get(`hillshade-accent-color`),i;switch(n.paint.get(`hillshade-method`)){case`basic`:i=4;break;case`combined`:i=1;break;case`igor`:i=2;break;case`multidirectional`:i=3;break;default:i=0}let a=n.getIlluminationProperties();for(let t=0;t<a.directionRadians.length;t++)n.paint.get(`hillshade-illumination-anchor`)===`viewport`&&(a.directionRadians[t]+=e.transform.bearingInRadians);return{u_image:0,u_latrange:aj(e,t.tileID),u_exaggeration:n.paint.get(`hillshade-exaggeration`),u_altitudes:a.altitudeRadians,u_azimuths:a.directionRadians,u_accent:r,u_method:i,u_highlights:a.highlightColor,u_shadows:a.shadowColor}},ij=(e,t)=>{let n=t.stride,r=Fe();return Xe(r,0,P,-P,0,0,1),Ve(r,r,[0,-P,0]),{u_matrix:r,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:t.getUnpackVector()}};function aj(e,t){let n=2**t.canonical.z,r=t.canonical.y;return[new Am(0,r/n).toLngLat().lat,new Am(0,(r+1)/n).toLngLat().lat]}var oj=(e,t)=>({u_image:new q(e,t.u_image),u_unpack:new ad(e,t.u_unpack),u_dimension:new Y(e,t.u_dimension),u_elevation_stops:new q(e,t.u_elevation_stops),u_color_stops:new q(e,t.u_color_stops),u_color_ramp_size:new q(e,t.u_color_ramp_size),u_opacity:new J(e,t.u_opacity)}),sj=(e,t,n=0)=>({u_image:0,u_unpack:t.getUnpackVector(),u_dimension:[t.stride,t.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:n,u_opacity:e.paint.get(`color-relief-opacity`)}),cj=(e,t)=>({u_translation:new Y(e,t.u_translation),u_ratio:new J(e,t.u_ratio)}),lj=(e,t)=>({u_translation:new Y(e,t.u_translation),u_ratio:new J(e,t.u_ratio),u_image:new q(e,t.u_image),u_image_height:new J(e,t.u_image_height)}),uj=(e,t)=>({u_translation:new Y(e,t.u_translation),u_texsize:new Y(e,t.u_texsize),u_ratio:new J(e,t.u_ratio),u_image:new q(e,t.u_image),u_scale:new id(e,t.u_scale),u_fade:new J(e,t.u_fade)}),dj=(e,t)=>({u_translation:new Y(e,t.u_translation),u_ratio:new J(e,t.u_ratio),u_image:new q(e,t.u_image),u_mix:new J(e,t.u_mix),u_tileratio:new J(e,t.u_tileratio),u_crossfade_from:new J(e,t.u_crossfade_from),u_crossfade_to:new J(e,t.u_crossfade_to),u_lineatlas_width:new J(e,t.u_lineatlas_width),u_lineatlas_height:new J(e,t.u_lineatlas_height)}),fj=(e,t)=>({u_translation:new Y(e,t.u_translation),u_ratio:new J(e,t.u_ratio),u_image:new q(e,t.u_image),u_image_height:new J(e,t.u_image_height),u_tileratio:new J(e,t.u_tileratio),u_crossfade_from:new J(e,t.u_crossfade_from),u_crossfade_to:new J(e,t.u_crossfade_to),u_image_dash:new q(e,t.u_image_dash),u_mix:new J(e,t.u_mix),u_lineatlas_width:new J(e,t.u_lineatlas_width),u_lineatlas_height:new J(e,t.u_lineatlas_height)}),pj=(e,t,n,r)=>{let i=e.transform;return{u_translation:yj(e,t,n),u_ratio:r/Ut(t,1,i.zoom)}},mj=(e,t,n,r,i)=>I(pj(e,t,n,r),{u_image:0,u_image_height:i}),hj=(e,t,n,r,i)=>{let a=e.transform,o=vj(t,a);return{u_translation:yj(e,t,n),u_texsize:t.imageAtlasTexture.size,u_ratio:r/Ut(t,1,a.zoom),u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t}},gj=(e,t,n,r,i)=>{let a=e.transform,o=vj(t,a);return I(pj(e,t,n,r),{u_tileratio:o,u_crossfade_from:i.fromScale,u_crossfade_to:i.toScale,u_image:0,u_mix:i.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})},_j=(e,t,n,r,i,a)=>{let o=e.transform,s=vj(t,o);return I(pj(e,t,n,r),{u_image:0,u_image_height:a,u_tileratio:s,u_crossfade_from:i.fromScale,u_crossfade_to:i.toScale,u_image_dash:1,u_mix:i.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})};function vj(e,t){return 1/Ut(e,1,t.tileZoom)}function yj(e,t,n){return Xt(e.transform,t,n.paint.get(`line-translate`),n.paint.get(`line-translate-anchor`))}var bj=(e,t)=>({u_image:new q(e,t.u_image),u_opacity:new J(e,t.u_opacity)}),xj=(e,t)=>({u_image:t,u_opacity:e}),Sj=(e,t)=>({u_is_size_zoom_constant:new q(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new q(e,t.u_is_size_feature_constant),u_size_t:new J(e,t.u_size_t),u_size:new J(e,t.u_size),u_rotate_symbol:new q(e,t.u_rotate_symbol),u_label_plane_matrix:new ud(e,t.u_label_plane_matrix),u_coord_matrix:new ud(e,t.u_coord_matrix),u_is_text:new q(e,t.u_is_text),u_pitch_with_map:new q(e,t.u_pitch_with_map),u_is_along_line:new q(e,t.u_is_along_line),u_is_variable_anchor:new q(e,t.u_is_variable_anchor),u_texsize:new Y(e,t.u_texsize),u_texture:new q(e,t.u_texture),u_translation:new Y(e,t.u_translation),u_pitched_scale:new J(e,t.u_pitched_scale),u_is_offset:new q(e,t.u_is_offset),u_height_anchor_ground:new q(e,t.u_height_anchor_ground)}),Cj=(e,t)=>({u_is_size_zoom_constant:new q(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new q(e,t.u_is_size_feature_constant),u_size_t:new J(e,t.u_size_t),u_size:new J(e,t.u_size),u_rotate_symbol:new q(e,t.u_rotate_symbol),u_label_plane_matrix:new ud(e,t.u_label_plane_matrix),u_coord_matrix:new ud(e,t.u_coord_matrix),u_is_text:new q(e,t.u_is_text),u_pitch_with_map:new q(e,t.u_pitch_with_map),u_is_along_line:new q(e,t.u_is_along_line),u_is_variable_anchor:new q(e,t.u_is_variable_anchor),u_texsize:new Y(e,t.u_texsize),u_texture:new q(e,t.u_texture),u_gamma_scale:new J(e,t.u_gamma_scale),u_is_halo:new q(e,t.u_is_halo),u_is_plain:new q(e,t.u_is_plain),u_translation:new Y(e,t.u_translation),u_pitched_scale:new J(e,t.u_pitched_scale),u_is_offset:new q(e,t.u_is_offset),u_height_anchor_ground:new q(e,t.u_height_anchor_ground)}),wj=(e,t)=>({u_is_size_zoom_constant:new q(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new q(e,t.u_is_size_feature_constant),u_size_t:new J(e,t.u_size_t),u_size:new J(e,t.u_size),u_rotate_symbol:new q(e,t.u_rotate_symbol),u_label_plane_matrix:new ud(e,t.u_label_plane_matrix),u_coord_matrix:new ud(e,t.u_coord_matrix),u_is_text:new q(e,t.u_is_text),u_pitch_with_map:new q(e,t.u_pitch_with_map),u_is_along_line:new q(e,t.u_is_along_line),u_is_variable_anchor:new q(e,t.u_is_variable_anchor),u_texsize:new Y(e,t.u_texsize),u_texsize_icon:new Y(e,t.u_texsize_icon),u_texture:new q(e,t.u_texture),u_texture_icon:new q(e,t.u_texture_icon),u_gamma_scale:new J(e,t.u_gamma_scale),u_is_halo:new q(e,t.u_is_halo),u_translation:new Y(e,t.u_translation),u_pitched_scale:new J(e,t.u_pitched_scale),u_is_offset:new q(e,t.u_is_offset),u_height_anchor_ground:new q(e,t.u_height_anchor_ground)}),Tj=(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m)=>({u_is_size_zoom_constant:+(e===`constant`||e===`source`),u_is_size_feature_constant:+(e===`constant`||e===`camera`),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_rotate_symbol:+n,u_label_plane_matrix:s,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:l,u_pitched_scale:f,u_is_offset:p,u_height_anchor_ground:+m}),Ej=(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)=>{let g=o.transform;return I(Tj(e,t,n,r,i,a,o,s,c,l,u,d,p,m,h),{u_gamma_scale:r?Math.cos(g.pitch*Math.PI/180)*g.cameraToCenterDistance:1,u_is_halo:+!!f,u_is_plain:1})},Dj=(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m)=>I(Ej(e,t,n,r,i,a,o,s,c,l,!0,u,!0,f,p,m),{u_texsize_icon:d,u_texture_icon:1}),Oj=(e,t)=>({u_opacity:new J(e,t.u_opacity),u_color:new od(e,t.u_color)}),kj=(e,t)=>({u_opacity:new J(e,t.u_opacity),u_image:new q(e,t.u_image),u_pattern_tl_a:new Y(e,t.u_pattern_tl_a),u_pattern_br_a:new Y(e,t.u_pattern_br_a),u_pattern_tl_b:new Y(e,t.u_pattern_tl_b),u_pattern_br_b:new Y(e,t.u_pattern_br_b),u_texsize:new Y(e,t.u_texsize),u_mix:new J(e,t.u_mix),u_pattern_size_a:new Y(e,t.u_pattern_size_a),u_pattern_size_b:new Y(e,t.u_pattern_size_b),u_scale_a:new J(e,t.u_scale_a),u_scale_b:new J(e,t.u_scale_b),u_pixel_coord_upper:new Y(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Y(e,t.u_pixel_coord_lower),u_tile_units_to_pixels:new J(e,t.u_tile_units_to_pixels)}),Aj=(e,t)=>({u_opacity:e,u_color:t}),jj=(e,t,n,r,i)=>I(PA(n,i,t,r),{u_opacity:e}),Mj=(e,t)=>({u_sun_pos:new id(e,t.u_sun_pos),u_atmosphere_blend:new J(e,t.u_atmosphere_blend),u_globe_position:new id(e,t.u_globe_position),u_globe_radius:new J(e,t.u_globe_radius),u_inv_proj_matrix:new ud(e,t.u_inv_proj_matrix)}),Nj=(e,t,n,r,i)=>({u_sun_pos:e,u_atmosphere_blend:t,u_globe_position:n,u_globe_radius:r,u_inv_proj_matrix:i}),Pj=(e,t)=>({u_sky_color:new od(e,t.u_sky_color),u_horizon_color:new od(e,t.u_horizon_color),u_horizon:new Y(e,t.u_horizon),u_horizon_normal:new Y(e,t.u_horizon_normal),u_sky_horizon_blend:new J(e,t.u_sky_horizon_blend),u_sky_blend:new J(e,t.u_sky_blend),u_inv_proj_matrix:new ud(e,t.u_inv_proj_matrix),u_globe_position:new id(e,t.u_globe_position),u_globe_radius:new J(e,t.u_globe_radius),u_atmosphere_blend:new J(e,t.u_atmosphere_blend)}),Fj=(e,t,n)=>{let r=Math.cos(t.rollInRadians),i=Math.sin(t.rollInRadians),a=Im(t),o=t.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition,s=Tk(t),c=wk(t.worldSize,t.center.lat);return{u_sky_color:e.properties.get(`sky-color`),u_horizon_color:e.properties.get(`horizon-color`),u_horizon:[(t.width/2-a*i)*n,(t.height/2+a*r)*n],u_horizon_normal:[-i,r],u_sky_horizon_blend:e.properties.get(`sky-horizon-blend`)*t.height/2*n,u_sky_blend:o,u_inv_proj_matrix:t.inverseProjectionMatrix,u_globe_position:s,u_globe_radius:c,u_atmosphere_blend:e.properties.get(`atmosphere-blend`)*Hk(et(s)-c,c)}},Ij=(e,t)=>({}),Lj={fillExtrusion:FA,fillExtrusionPattern:IA,fill:zA,fillPattern:BA,fillOutline:VA,fillOutlinePattern:HA,circle:qA,collisionBox:Ij,collisionCircle:Ij,debug:YA,depth:Ij,clippingMask:Ij,heatmap:ZA,heatmapTexture:QA,hillshade:tj,hillshadePrepare:nj,colorRelief:oj,line:cj,lineGradient:lj,linePattern:uj,lineSDF:dj,lineGradientSDF:fj,layerOpacity:bj,raster:bE,symbolIcon:Sj,symbolSDF:Cj,symbolTextAndIcon:wj,background:Oj,backgroundPattern:kj,terrain:uA,terrainDepth:dA,atmosphere:Mj,sky:Pj},Rj=class{constructor(e,t,n){this.context=e;let r=e.gl;this.buffer=r.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error(`Attempted to update data while not in dynamic mode.`);this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){let e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)}},zj={Int8:`BYTE`,Uint8:`UNSIGNED_BYTE`,Int16:`SHORT`,Uint16:`UNSIGNED_SHORT`,Int32:`INT`,Uint32:`UNSIGNED_INT`,Float32:`FLOAT`},Bj=class{constructor(e,t,n,r){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let n of this.attributes){let r=t.attributes[n.name];r!==void 0&&e.enableVertexAttribArray(r.location)}}setVertexAttribPointers(e,t,n){for(let r of this.attributes){let i=t.attributes[r.name];if(i!==void 0){let t=r.offset+this.itemSize*(n||0);i.isInteger?e.vertexAttribIPointer(i.location,r.components,e[zj[r.type]],this.itemSize,t):e.vertexAttribPointer(i.location,r.components,e[zj[r.type]],!1,this.itemSize,t)}}}destroy(){let e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)}},Vj=class{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}},Hj=class extends Vj{getDefault(){return U.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}},Uj=class extends Vj{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}},Wj=class extends Vj{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}},Gj=class extends Vj{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}},Kj=class extends Vj{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}},qj=class extends Vj{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}},Jj=class extends Vj{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}},Yj=class extends Vj{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}},Xj=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}},Zj=class extends Vj{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}},Qj=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}},$j=class extends Vj{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}},eM=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}},tM=class extends Vj{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}},nM=class extends Vj{getDefault(){return U.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}},rM=class extends Vj{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}},iM=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}},aM=class extends Vj{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}},oM=class extends Vj{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}},sM=class extends Vj{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}},cM=class extends Vj{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}},lM=class extends Vj{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}},uM=class extends Vj{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}},dM=class extends Vj{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},fM=class extends Vj{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}},pM=class extends Vj{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}},mM=class extends Vj{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}},hM=class extends Vj{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.bindVertexArray(e),this.current=e,this.dirty=!1)}},gM=class extends Vj{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}},_M=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}},vM=class extends Vj{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}},yM=class extends Vj{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}},bM=class extends yM{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}},xM=class extends yM{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},SM=class extends yM{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},CM=class{constructor(e,t,n,r,i){this.context=e,this.width=t,this.height=n;let a=e.gl,o=this.framebuffer=a.createFramebuffer();
vendor: 11,845 bytes, line 814
814if(this.colorAttachment=new bM(e,o),r)this.depthAttachment=i?new SM(e,o):new xM(e,o);else if(i)throw Error(`Stencil cannot be set without depth`)}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}},wM=_A([{name:`u_units_to_pixels`,type:`vec2`},{name:`u_world_size`,type:`vec2`},{name:`u_camera_to_center_distance`,type:`float`},{name:`u_symbol_fade_change`,type:`float`},{name:`u_aspect_ratio`,type:`float`},{name:`u_device_pixel_ratio`,type:`float`},{name:`u_viewport_size`,type:`vec2`},{name:`u_pixel_extrude_scale`,type:`vec2`},{name:`u_pitch`,type:`float`}]),TM=wM.offsets;function EM(e){return new vA(e,mA.FrameUBO,wM)}function DM(e,t){let n=e.pending,{transform:r}=t,i=t.context.gl;n[TM.u_units_to_pixels]=1/r.pixelsToGLUnits[0],n[TM.u_units_to_pixels+1]=1/r.pixelsToGLUnits[1],n[TM.u_world_size]=i.drawingBufferWidth,n[TM.u_world_size+1]=i.drawingBufferHeight,n[TM.u_camera_to_center_distance]=r.cameraToCenterDistance,n[TM.u_symbol_fade_change]=t.options.fadeDuration?t.symbolFadeChange:1,n[TM.u_aspect_ratio]=r.width/r.height,n[TM.u_device_pixel_ratio]=t.pixelRatio,n[TM.u_viewport_size]=r.width,n[TM.u_viewport_size+1]=r.height,n[TM.u_pixel_extrude_scale]=1/r.width,n[TM.u_pixel_extrude_scale+1]=1/r.height,n[TM.u_pitch]=r.pitch/360*2*Math.PI,e.upload()}var OM=class{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}};OM.Replace=[1,0],OM.disabled=new OM(OM.Replace,U.transparent,[!1,!1,!1,!1]),OM.unblended=new OM(OM.Replace,U.transparent,[!0,!0,!0,!0]),OM.alphaBlended=new OM([1,771],U.transparent,[!0,!0,!0,!0]);var kM=class{constructor(e){this.gl=e,this.clearColor=new Hj(this),this.clearDepth=new Uj(this),this.clearStencil=new Wj(this),this.colorMask=new Gj(this),this.depthMask=new Kj(this),this.stencilMask=new qj(this),this.stencilFunc=new Jj(this),this.stencilOp=new Yj(this),this.stencilTest=new Xj(this),this.depthRange=new Zj(this),this.depthTest=new Qj(this),this.depthFunc=new $j(this),this.blend=new eM(this),this.blendFunc=new tM(this),this.blendColor=new nM(this),this.blendEquation=new rM(this),this.cullFace=new iM(this),this.cullFaceSide=new aM(this),this.frontFace=new oM(this),this.program=new sM(this),this.activeTexture=new cM(this),this.viewport=new lM(this),this.bindFramebuffer=new uM(this),this.bindRenderbuffer=new dM(this),this.bindTexture=new fM(this),this.bindVertexBuffer=new pM(this),this.bindElementBuffer=new mM(this),this.bindVertexArray=new hM(this),this.pixelStoreUnpack=new gM(this),this.pixelStoreUnpackPremultiplyAlpha=new _M(this),this.pixelStoreUnpackFlipY=new vM(this),this.extTextureFilterAnisotropic=e.getExtension(`EXT_texture_filter_anisotropic`),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),e.getExtension(`EXT_color_buffer_half_float`),e.getExtension(`EXT_color_buffer_float`),this.boundUniformBuffers=[],this.projectionUniformBuffer=xA(this),this.keyedProjectionUniformBuffers=new Map,this.freeProjectionUniformBuffers=[],this.terrainUniformBuffer=OA(this),this.frameUniformBuffer=EM(this)}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0,this.boundUniformBuffers=[]}setCustomLayerDefaults(){this.unbindVAO(),this.cullFace.setDefault(),this.activeTexture.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}createIndexBuffer(e,t){return new Rj(this,e,t)}createVertexBuffer(e,t,n){return new Bj(this,e,t,n)}createRenderbuffer(e,t,n){let r=this.gl,i=r.createRenderbuffer();return this.bindRenderbuffer.set(i),r.renderbufferStorage(r.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),i}createFramebuffer(e,t,n,r){return new CM(this,e,t,n,r)}clear({color:e,depth:t,stencil:n}){let r=this.gl,i=0;e&&(i|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),t!==void 0&&(i|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),n!==void 0&&(i|=r.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),r.clear(i)}setCullFace(e){e.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func===this.gl.ALWAYS&&!e.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range))}setStencilMode(e){e.test.func===this.gl.ALWAYS&&!e.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask}))}setColorMode(e){Cn(e.blendFunction,OM.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){return this.gl.createVertexArray()}deleteVertexArray(e){this.gl.deleteVertexArray(e)}unbindVAO(){this.bindVertexArray.set(null)}},AM=class{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}};AM.ReadOnly=!1,AM.ReadWrite=!0,AM.disabled=new AM(519,AM.ReadOnly,[0,1]);var jM=7680,MM=class{constructor(e,t,n,r,i,a){this.test=e,this.ref=t,this.mask=n,this.fail=r,this.depthFail=i,this.pass=a}};MM.disabled=new MM({func:519,mask:0},0,0,jM,jM,jM);var NM=1029,PM=2305,FM=class{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}};FM.disabled=new FM(!1,NM,PM),FM.backCCW=new FM(!0,NM,PM),FM.frontCCW=new FM(!0,1028,PM);function IM(e,t,n){let r=t?.transitionState??0;return{currentPass:`offscreen`,currentLayer:0,opaquePassCutoff:1/0,depthRangeFor3D:[0,1],isRenderingToTexture:!1,transform:e,terrain:n,projectionTransition:r,isRenderingGlobe:r>0}}function LM(e,t,n={}){let r=e.transform.getProjectionData({overscaledTileID:t,aligned:n.aligned,applyGlobeMatrix:!e.isRenderingToTexture,applyTerrainMatrix:n.applyTerrainMatrix??!0});return e.isRenderingToTexture||(r.uniformBufferKey=n.aligned?`${t.key}/aligned`:t.key),r}function RM(e,t){return e.isRenderingToTexture?null:e.terrain?.getTerrainData(t)??null}var zM;function BM(e,t,n,r,i,a){let o=e.context,s=o.gl,c=e.useProgram(`collisionBox`),l=[],u=0,d=0;for(let f of r){let r=t.getTile(f).getBucket(n);if(!r)continue;let p=i?r.textCollisionBox:r.iconCollisionBox,m=r.collisionCircleArray;m.length>0&&(l.push({circleArray:m,circleOffset:d,coord:f}),u+=m.length/4,d=u),p&&c.draw(o,s.LINES,AM.disabled,MM.disabled,e.colorModeForRenderPass(),FM.disabled,null,RM(a,f),LM(a,f),n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,null,e.transform.zoom,null,null,p.collisionVertexBuffer)}if(!i||!l.length)return;let f=e.useProgram(`collisionCircle`),p=new Ru;p.resize(u*4),p._trim();let m=0;for(let e of l)for(let t=0;t<e.circleArray.length/4;t++){let n=t*4,r=e.circleArray[n+0],i=e.circleArray[n+1],a=e.circleArray[n+2],o=e.circleArray[n+3];p.emplace(m++,r,i,a,o,0),p.emplace(m++,r,i,a,o,1),p.emplace(m++,r,i,a,o,2),p.emplace(m++,r,i,a,o,3)}(!zM||zM.length<u*2)&&(zM=VM(u));let h=o.createIndexBuffer(zM,!0),g=o.createVertexBuffer(p,Mh.members,!0);for(let t of l)f.draw(o,s.TRIANGLES,AM.disabled,MM.disabled,e.colorModeForRenderPass(),FM.disabled,null,RM(a,t.coord),null,n.id,g,h,Ku.simpleSegment(0,t.circleOffset*2,t.circleArray.length,t.circleArray.length/2),null,e.transform.zoom,null,null,null);g.destroy(),h.destroy()}function VM(e){let t=e*2,n=new Bu;n.resize(t),n._trim();for(let e=0;e<t;e++){let t=e*6;n.uint16[t+0]=e*4+0,n.uint16[t+1]=e*4+1,n.uint16[t+2]=e*4+2,n.uint16[t+3]=e*4+2,n.uint16[t+4]=e*4+3,n.uint16[t+5]=e*4+0}return n}var HM=Re(new Float32Array(16));function UM(e,t,n,r,i,a){if(a.currentPass!==`translucent`)return;let o=MM.disabled,s=e.colorModeForRenderPass();(n._unevaluatedLayout.hasValue(`text-variable-anchor`)||n._unevaluatedLayout.hasValue(`text-variable-anchor-offset`))&&GM(r,e,n,t,n.layout.get(`text-rotation-alignment`),n.layout.get(`text-pitch-alignment`),n.paint.get(`text-translate`),n.paint.get(`text-translate-anchor`),i),n.paint.get(`icon-opacity`).constantOr(1)!==0&&YM(e,t,n,r,!1,n.paint.get(`icon-translate`),n.paint.get(`icon-translate-anchor`),n.layout.get(`icon-rotation-alignment`).constantOr(`viewport`),n.layout.get(`icon-pitch-alignment`),n.layout.get(`icon-keep-upright`),o,s,a),n.paint.get(`text-opacity`).constantOr(1)!==0&&YM(e,t,n,r,!0,n.paint.get(`text-translate`),n.paint.get(`text-translate-anchor`),n.layout.get(`text-rotation-alignment`),n.layout.get(`text-pitch-alignment`),n.layout.get(`text-keep-upright`),o,s,a),t.map.showCollisionBoxes&&(BM(e,t,n,r,!0,a),BM(e,t,n,r,!1,a))}function WM(e,t,n,r,i,a){let{horizontalAlign:o,verticalAlign:s}=T_(e),c=-(o-.5)*t,l=-(s-.5)*n;return new M((c/i+r[0])*a,(l/i+r[1])*a)}function GM(e,t,n,r,i,a,o,s,c){let l=t.transform,u=t.style.map.terrain,d=i===`map`,f=a===`map`;for(let i of e){let e=r.getTile(i),a=e.getBucket(n);if(!a?.text?.segments.get().length)continue;let p=a.textSizeData,m=X_(p,l.zoom),h=Ut(e,1,t.transform.zoom),g=jD(d,t.transform,h),_=n.layout.get(`icon-text-fit`)!==`none`&&a.hasIconData();if(m){let t=2**(l.zoom-e.tileID.overscaledZ),r=u?(e,t)=>u.getElevation(i,e,t):void 0;qM(a,d,f,c,l,g,t,m,_,Xt(l,e,o,s),i.toUnwrapped(),r,n.layout.get(`symbol-height-anchor`)===`ground`)}}}function KM(e,t,n,r,i,a){let o=t.tileAnchorPoint.add(new M(t.translation[0],t.translation[1]));if(t.pitchWithMap){let e=r.mult(a);n||(e=e.rotate(-i));let s=o.add(e);return FD(s.x,s.y,t.pitchedLabelPlaneMatrix,PD(t,s.x,s.y)).point}if(n){let n=WD(t.tileAnchorPoint.x+1,t.tileAnchorPoint.y,t).point.sub(e),i=Math.atan(n.y/n.x)+(n.x<0?Math.PI:0);return e.add(r.rotate(i))}return e.add(r)}function qM(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.text.placedSymbolArray,m=e.text.dynamicLayoutVertexArray,h=e.icon.dynamicLayoutVertexArray,g={};m.clear();for(let h=0;h<p.length;h++){let _=p.get(h),v=e.allowVerticalPlacement&&!_.placedOrientation,y=!_.hidden&&_.crossTileID&&!v?r[_.crossTileID]:null;if(!y)ZD(_.numGlyphs,m);else{let r=new M(_.anchorX,_.anchorY),p={getElevation:d,heightOffset:_.heightOffset,heightAnchorGround:f,width:i.width,height:i.height,pitchedLabelPlaneMatr
vendor: 35,901 bytes, line 814
814ix:a,lineVertexArray:null,pitchWithMap:n,transform:i,projectionCache:null,tileAnchorPoint:r,translation:l,unwrappedTileID:u},h=n?KD(r.x,r.y,p):WD(r.x,r.y,p),v=ID(i.cameraToCenterDistance,h.signedDistanceFromCamera),b=Y_(e.textSizeData,s,_)*v/24;n&&(b*=e.tilePixelRatio/o);let{width:x,height:S,anchor:C,textOffset:w,textBoxScale:T}=y,E=WM(C,x,S,w,T,b),D=i.getPitchedTextCorrection(r.x+l[0],r.y+l[1],u),O=KM(h.point,p,t,E,-i.bearingInRadians,D),k=e.allowVerticalPlacement&&_.placedOrientation===2?Math.PI/2:0;for(let e=0;e<_.numGlyphs;e++)Lv(m,O,k);c&&_.associatedIconIndex>=0&&(g[_.associatedIconIndex]={shiftedAnchor:O,angle:k})}}if(c){h.clear();let t=e.icon.placedSymbolArray;for(let e=0;e<t.length;e++){let n=t.get(e);if(n.hidden)ZD(n.numGlyphs,h);else{let t=g[e];if(!t)ZD(n.numGlyphs,h);else for(let e=0;e<n.numGlyphs;e++)Lv(h,t.shiftedAnchor,t.angle)}}e.icon.dynamicLayoutVertexBuffer.updateData(h)}e.text.dynamicLayoutVertexBuffer.updateData(m)}function JM(e,t,n){return n.iconsInText&&t?`symbolTextAndIcon`:e?`symbolSDF`:`symbolIcon`}function YM(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e.context,m=p.gl,h=e.transform,g=s===`map`,_=c===`map`,v=s!==`viewport`&&n.layout.get(`symbol-placement`)!==`point`,y=g&&!_&&!v,b=!n.layout.get(`symbol-sort-key`).isConstant(),x=!1,S=e.getDepthModeForSublayer(0,AM.ReadOnly),C=n._unevaluatedLayout.hasValue(`text-variable-anchor`)||n._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),w=[],T=h.getCircleRadiusCorrection();for(let s of r){let r=t.getTile(s),c=r.getBucket(n);if(!c)continue;let u=i?c.text:c.icon;if(!u?.segments.get().length||!u.hasVisibleVertices)continue;let d=u.programConfigurations.get(n.id),p=i||c.sdfIcons,S=i?c.textSizeData:c.iconSizeData,E=_||h.pitch!==0,D=e.useProgram(JM(p,i,c),d),O=X_(S,h.zoom),k=RM(f,s),A,j=[0,0],ee,te,ne=null,re;if(i){if(ee=r.glyphAtlasTexture,te=m.LINEAR,A=r.glyphAtlasTexture.size,c.iconsInText){j=r.imageAtlasTexture.size,ne=r.imageAtlasTexture;let t=S.kind===`composite`||S.kind===`camera`;re=E||e.options.rotating||e.options.zooming||t?m.LINEAR:m.NEAREST}}else{let t=n.layout.get(`icon-size`).constantOr(0)!==1||c.iconsNeedLinear;ee=r.imageAtlasTexture,te=p||e.options.rotating||e.options.zooming||t||E?m.LINEAR:m.NEAREST,A=r.imageAtlasTexture.size}let ie=Ut(r,1,e.transform.zoom),ae=jD(g,e.transform,ie),oe=MD(_,g,e.transform,ie),se=Xt(h,r,a,o),ce=LM(f,s),le=C&&c.hasTextData(),ue=n.layout.get(`icon-text-fit`)!==`none`&&le&&c.hasIconData(),de=n._unevaluatedLayout.hasValue(`icon-offset`),fe=n.layout.get(`symbol-height-anchor`)===`ground`;if(v){let t=Fe();DD(t,ae);let r=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(s,t,n):void 0;RD(c,e,i,ae,t,_,l,n.layout.get(`text-rotation-alignment`)===`map`,s.toUnwrapped(),h.width,h.height,se,r)}let pe=i&&C||ue,me=_?ae:e.transform.clipSpaceToPixelsMatrix,he=v||pe?HM:me,ge=p&&n.paint.get(i?`text-halo-width`:`icon-halo-width`).constantOr(1)!==0,_e;_e=p?c.iconsInText?Dj(S.kind,O,y,_,v,pe,e,he,oe,se,A,j,T,de,fe):Ej(S.kind,O,y,_,v,pe,e,he,oe,se,i,A,ge,T,de,fe):Tj(S.kind,O,y,_,v,pe,e,he,oe,se,i,A,T,de,fe);let ve={program:D,buffers:u,uniformValues:_e,projectionData:ce,atlasTexture:ee,atlasTextureIcon:ne,atlasInterpolation:te,atlasInterpolationIcon:re,isSDF:p,hasHalo:ge};if(b&&c.canOverlap){x=!0;let e=u.segments.get();for(let t of e)w.push({segments:new Ku([t]),sortKey:t.sortKey,state:ve,terrainData:k})}else w.push({segments:u.segments,sortKey:0,state:ve,terrainData:k})}x&&w.sort((e,t)=>e.sortKey-t.sortKey);let E=n.paint.get(i?`text-halo-width`:`icon-halo-width`).constantOr(null)??1/0,D=n.layout.get(`text-letter-spacing`).constantOr(0)*24<0||E>1;for(let t of w){let r=t.state;p.activeTexture.set(m.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,m.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(m.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,m.CLAMP_TO_EDGE));let i=r.isSDF&&r.hasHalo;if(i){let i=r.uniformValues;i.u_is_halo=1,D&&(i.u_is_plain=0,XM(r.buffers,t.segments,n,e,r.program,S,u,d,i,r.projectionData,t.terrainData),i.u_is_halo=0,i.u_is_plain=1)}XM(r.buffers,t.segments,n,e,r.program,S,u,d,r.uniformValues,r.projectionData,t.terrainData),i&&!D&&(r.uniformValues.u_is_halo=0)}}function XM(e,t,n,r,i,a,o,s,c,l,u){let d=r.context,f=d.gl;i.draw(d,f.TRIANGLES,a,o,s,FM.backCCW,c,u,l,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function ZM(e,t,n,r,i){if(i.currentPass!==`translucent`)return;let a=n.paint.get(`circle-opacity`),o=n.paint.get(`circle-stroke-width`),s=n.paint.get(`circle-stroke-opacity`),c=!n.layout.get(`circle-sort-key`).isConstant();if(a.constantOr(1)===0&&(o.constantOr(1)===0||s.constantOr(1)===0))return;let l=e.context,u=l.gl,d=e.transform,f=e.getDepthModeForSublayer(0,AM.ReadOnly),p=MM.disabled,m=e.colorModeForRenderPass(),h=[],g=d.getCircleRadiusCorrection();for(let a of r){let r=t.getTile(a),o=r.getBucket(n);if(!o)continue;let s=Xt(d,r,n.paint.get(`circle-translate`),n.paint.get(`circle-translate-anchor`)),l=o.programConfigurations.get(n.id),u=e.useProgram(`circle`,l),f=o.layoutVertexBuffer,p=o.indexBuffer,m=RM(i,a),_={programConfiguration:l,program:u,layoutVertexBuffer:f,indexBuffer:p,uniformValues:JA(e,r,n,s,g),terrainData:m,projectionData:LM(i,a)};if(c){let e=o.segments.get();for(let t of e)h.push({segments:new Ku([t]),sortKey:t.sortKey,state:_})}else h.push({segments:o.segments,sortKey:0,state:_})}c&&h.sort((e,t)=>e.sortKey-t.sortKey);for(let t of h){let{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:c,projectionData:d}=t.state,h=t.segments;i.draw(l,u.TRIANGLES,f,p,m,FM.backCCW,s,c,d,n.id,a,o,h,n.paint,e.transform.zoom,r)}}function QM(e,t,n,r,i){if(n.paint.get(`heatmap-opacity`)===0)return;let a=e.context;if(e.style.map.terrain){for(let a of r){let r=t.getTile(a);t.hasRenderableParent(a)||(i.currentPass===`offscreen`?tN(e,r,n,a,i):i.currentPass===`translucent`&&nN(e,n,a,i))}a.viewport.set([0,0,e.width,e.height])}else i.currentPass===`offscreen`?$M(e,t,n,r,i):i.currentPass===`translucent`&&eN(e,n)}function $M(e,t,n,r,i){let a=e.context,o=a.gl,s=e.transform,c=MM.disabled,l=new OM([o.ONE,o.ONE],U.transparent,[!0,!0,!0,!0]);rN(a,e,n),a.clear({color:U.transparent});for(let u of r){if(t.hasRenderableParent(u))continue;let r=t.getTile(u),d=r.getBucket(n);if(!d)continue;let f=d.programConfigurations.get(n.id),p=e.useProgram(`heatmap`,f),m=LM(i,u,{applyTerrainMatrix:!1}),h=s.getCircleRadiusCorrection();p.draw(a,o.TRIANGLES,AM.disabled,c,l,FM.backCCW,$A(r,s.zoom,n.paint.get(`heatmap-intensity`),h),null,m,n.id,d.layoutVertexBuffer,d.indexBuffer,d.segments,n.paint,s.zoom,f)}a.viewport.set([0,0,e.width,e.height])}function eN(e,t){let n=e.context,r=n.gl;n.setColorMode(e.colorModeForRenderPass());let i=t.heatmapFbos.get(xf);i&&(n.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.colorAttachment.get()),n.activeTexture.set(r.TEXTURE1),aN(n,t).bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram(`heatmapTexture`).draw(n,r.TRIANGLES,AM.disabled,MM.disabled,e.colorModeForRenderPass(),FM.disabled,ej(e,t,0,1),null,null,t.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,t.paint,e.transform.zoom))}function tN(e,t,n,r,i){let a=e.context,o=a.gl,s=MM.disabled,c=new OM([o.ONE,o.ONE],U.transparent,[!0,!0,!0,!0]),l=t.getBucket(n);if(!l)return;let u=r.key,d=n.heatmapFbos.get(u);d||(d=iN(a,t.tileSize,t.tileSize),n.heatmapFbos.set(u,d)),a.bindFramebuffer.set(d.framebuffer),a.viewport.set([0,0,t.tileSize,t.tileSize]),a.clear({color:U.transparent});let f=l.programConfigurations.get(n.id),p=e.useProgram(`heatmap`,f,!i.isRenderingGlobe),m=LM(i,t.tileID),h=RM(i,r);p.draw(a,o.TRIANGLES,AM.disabled,s,c,FM.disabled,$A(t,e.transform.zoom,n.paint.get(`heatmap-intensity`),1),h,m,n.id,l.layoutVertexBuffer,l.indexBuffer,l.segments,n.paint,e.transform.zoom,f)}function nN(e,t,n,r){let i=e.context,a=i.gl,o=e.transform;i.setColorMode(e.colorModeForRenderPass());let s=aN(i,t),c=n.key,l=t.heatmapFbos.get(c);if(!l)return;i.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,l.colorAttachment.get()),i.activeTexture.set(a.TEXTURE1),s.bind(a.LINEAR,a.CLAMP_TO_EDGE);let u=LM(r,n,{applyTerrainMatrix:r.isRenderingGlobe});e.useProgram(`heatmapTexture`).draw(i,a.TRIANGLES,AM.disabled,MM.disabled,e.colorModeForRenderPass(),FM.disabled,ej(e,t,0,1),null,u,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,o.zoom),l.destroy(),t.heatmapFbos.delete(c)}function rN(e,t,n){let r=e.gl;e.activeTexture.set(r.TEXTURE1),e.viewport.set([0,0,t.width/4,t.height/4]);let i=n.heatmapFbos.get(xf);i?(r.bindTexture(r.TEXTURE_2D,i.colorAttachment.get()),e.bindFramebuffer.set(i.framebuffer)):(i=iN(e,t.width/4,t.height/4),n.heatmapFbos.set(xf,i))}function iN(e,t,n){let r=e.gl,i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texStorage2D(r.TEXTURE_2D,1,r.RGBA16F,t,n);let a=e.createFramebuffer(t,n,!1,!1);return a.colorAttachment.set(i),a}function aN(e,t){return t.colorRampTexture||=new Nf(e,t.colorRamp,e.gl.RGBA),t.colorRampTexture}function oN(e,t,n){let r=e.context,i=r.bindFramebuffer.get(),a=r.viewport.get(),[,,o,s]=a;return sN(e,o,s),r.viewport.set([0,0,o,s]),r.clear({color:U.transparent,depth:1,stencil:0}),e.currentStencilSource=void 0,e.renderTileClippingMasks(t,n),{compositeTarget:i,compositeViewport:a}}function sN(e,t,n){let r=e.context.gl;if(!e.layerOpacityFbo){let i=e.context.createFramebuffer(t,n,!0,!0),a=r.createTexture();r.bindTexture(r.TEXTURE_2D,a),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t,n,0,r.RGBA,r.UNSIGNED_BYTE,null),i.colorAttachment.set(a),i.depthAttachment.set(e.context.createRenderbuffer(r.DEPTH_STENCIL,t,n)),e.layerOpacityFbo=i,e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer);return}if(e.layerOpacityFbo.width===t&&e.layerOpacityFbo.height===n){e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer);return}let i=e.layerOpacityFbo;r.bindTexture(r.TEXTURE_2D,i.colorAttachment.get()),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t,n,0,r.RGBA,r.UNSIGNED_BYTE,null),e.context.bindRenderbuffer.set(i.depthAttachment.get()),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t,n),e.context.bindRenderbuffer.set(null),i.width=t,i.height=n,e.context.bindFramebuffer.set(i.framebuffer)}function cN(e,t,n,r){let i=e.context,a=i.gl;i.bindFramebuffer.set(n.compositeTarget),i.viewport.set(n.compositeViewport),i.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.layerOpacityFbo.colorAttachment.get()),e.useProgram(`layerOpacity`).draw(i,a.TRIANGLES,AM.disabled,MM.disabled,e.colorModeForRenderPass(),FM.disabled,xj(t,0),null,null,r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom),e.currentStencilSource=void 0}function lN(e,t,n,r,i,a,o,s){let c=256;if(i.stepInterpolant){let r=t.getSource().maxzoom,i=o.canonical.z===r?Math.ceil(1<<e.transform.maxZoom-o.canonical.z):1;c=F(_n(a.maxLineLength/P*1024*i),256,n.maxTextureSize)}return s.gradient=bf({expression:i.gradientExpression(),evaluationKey:`lineProgress`,resolution:c,image:s.gradient||void 0,clips:a.lineClipsArray}),s.texture?s.texture.update(s.gradient):s.texture=new Nf(n,s.gradient,r.RGBA),s.version=i.gradientVersion,s.texture}function uN(e,t,n,r,i){e.activeTexture.set(t.TEXTURE0),n.imageAtlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE),r.updatePaintBuffers(i)}function dN(e,t,n,r,i,a){(i||e.lineAtlas.dirty)&&(t.activeTexture.set(n.TEXTURE0),e.lineAtlas.bind(t)),r.updatePaintBuffers(a)}function fN(e,t,n,r,i,a,o){let s=a.gradients[i.id],c=s.texture;i.gradientVersion!==s.version&&(c=lN(e,t,n,r,i,a,o,s)),n.activeTexture.set(r.TEXTURE0),c.bind(i.stepInterpolant?r.NEAREST:r.LINEAR,r.CLAMP_TO_EDGE)}function pN(e,t,n,r,i,a,o,s,c){let l=a.gradients[i.id],u=l.texture;i.gradientVersion!==l.version&&(u=lN(e,t,n,r,i,a,o,l)),n.activeTexture.set(r.TEXTURE0),u.bind(i.stepInterpolant?r.NEAREST:r.LINEAR,r.CLAMP_TO_EDGE),n.activeTexture.set(r.TEXTURE1),e.lineAtlas.bind(n),s.updatePaintBuffers(c)}function mN(e,t,n,r,i){if(i.currentPass!==`translucent`)return;let a=n.paint.get(`line-opacity`),o=n.paint.get(`line-width`),s=n.paint.get(`line-layer-opacity`);if(a.constantOr(1)!==0&&o.constantOr(1)!==0&&s!==0){if(s<1){let a=oN(e,n,r);hN(e,t,n,r,i),cN(e,s,a,n);return}hN(e,t,n,r,i)}}function hN(e,t,n,r,i){let a=e.getDepthModeForSublayer(0,AM.ReadOnly),o=e.colorModeForRenderPass(),s=n.paint.get(`line-dasharray`),c=s.constantOr(1),l=n.paint.get(`line-pattern`),u=l.constantOr(1),d=n.paint.get(`line-gradient`),f=n.getCrossfadeParameters(),p;p=u?`linePattern`:c&&d?`lineGradientSDF`:c?`lineSDF`:d?`lineGradient`:`line`;let m=e.context,h=m.gl,g=e.transform,_=!0;for(let v of r){let r=t.getTile(v);if(u&&!r.patternsLoaded())continue;let y=r.getBucket(n);if(!y)continue;let b=y.programConfigurations.get(n.id),x=e.context.program.get(),S=e.useProgram(p,b),C=_||S.program!==x,w=RM(i,v),T=l.constantOr(null),E=s?.constantOr(null);if(T&&r.imageAtlas){let e=r.imageAtlas,t=e.patternPositions[T.to.toString()],n=e.patternPositions[T.from.toString()];t&&n&&b.setConstantPatternPositions(t,n)}else if(E){let t=n.layout.get(`line-cap`).constantOr(null)===`round`,r=e.lineAtlas.getDash(E.to,t),i=e.lineAtlas.getDash(E.from,t);b.setConstantDashPositions(r,i)}let D=LM(i,v),O=g.getPixelScale(),k;u?(k=hj(e,r,n,O,f),uN(m,h,r,b,f)):c&&d?(k=_j(e,r,n,O,f,y.lineClipsArray.length),pN(e,t,m,h,n,y,v,b,f)):c?(k=gj(e,r,n,O,f),dN(e,m,h,b,C,f)):d?(k=mj(e,r,n,O,y.lineClipsArray.length),fN(e,t,m,h,n,y,v)):k=pj(e,r,n,O);let A=e.stencilModeForClipping(v);S.draw(m,h.TRIANGLES,a,A,o,FM.disabled,k,w,D,n.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,n.paint,e.transform.zoom,b,y.layoutVertexBuffer2),_=!1}}function gN(e,t,n,r,i){if(!n||!r?.imageAtlas)return;let a=r.imageAtlas.patternPositions,o=a[n.to.toString()],s=a[n.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function _N(e,t,n,r,i){let a=n.paint.get(`fill-color`),o=n.paint.get(`fill-opacity`),s=n.paint.get(`fill-layer-opacity`);if(o.constantOr(1)===0||s===0)return;if(s<1){if(i.currentPass!==`translucent`)return;let a=oN(e,n,r);vN(e,t,n,r,i),cN(e,s,a,n);return}let c=n.paint.get(`fill-pattern`),l=e.opaquePassEnabledForLayer()&&!c.constantOr(1)&&a.constantOr(U.transparent).a===1&&o.constantOr(0)===1;if(l&&i.currentPass===`opaque`){let a=e.colorModeForRenderPass();bN(e,t,n,r,e.getDepthModeForSublayer(1,AM.ReadWrite),a,!1,i);return}if(l&&i.currentPass===`translucent`){yN(e,t,n,r,i);return}i.currentPass===`translucent`&&vN(e,t,n,r,i)}function vN(e,t,n,r,i){let a=e.colorModeForRenderPass();bN(e,t,n,r,e.getDepthModeForSublayer(1,AM.ReadOnly),a,!1,i),yN(e,t,n,r,i)}function yN(e,t,n,r,i){if(!n.paint.get(`fill-antialias`))return;let a=e.colorModeForRenderPass();bN(e,t,n,r,e.getDepthModeForSublayer(n.getPaintProperty(`fill-outline-color`)?2:0,AM.ReadOnly),a,!0,i)}function bN(e,t,n,r,i,a,o,s){let c=e.context.gl,l=`fill-pattern`,u=n.paint.get(l),d=u?.constantOr(1),f=n.getCrossfadeParameters(),p,m,h,g,_,v=e.transform,y=n.paint.get(`fill-translate`),b=n.paint.get(`fill-translate-anchor`);o?(m=d&&!n.getPaintProperty(`fill-outline-color`)?`fillOutlinePattern`:`fillOutline`,p=c.LINES):(m=d?`fillPattern`:`fill`,p=c.TRIANGLES);let x=u.constantOr(null);for(let u of r){let r=t.getTile(u);if(d&&!r.patternsLoaded())continue;let S=r.getBucket(n);if(!S)continue;let C=S.sdfPatterns[n.id]??!1,w=S.programConfigurations.get(n.id),T=e.useProgram(m,w),E=RM(s,u);d&&(e.context.activeTexture.set(c.TEXTURE0),r.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),w.updatePaintBuffers(f)),gN(w,l,x,r,n);let D=LM(s,u),O=Xt(v,r,y,b);o?(g=S.indexBuffer2,_=S.segments2,h=m===`fillOutlinePattern`&&d?KA(e,f,r,O,C):GA(O)):(g=S.indexBuffer,_=S.segments,h=d?UA(e,f,r,O,C):WA(O));let k=e.stencilModeForClipping(u);T.draw(e.context,p,i,k,a,FM.backCCW,h,E,D,n.id,S.layoutVertexBuffer,g,_,n.paint,e.transform.zoom,w)}}function xN(e,t,n,r,i){let a=n.paint.get(`fill-extrusion-opacity`);if(a!==0&&i.currentPass===`translucent`){let o=new AM(e.context.gl.LEQUAL,AM.ReadWrite,i.depthRangeFor3D);if(a===1&&!n.paint.get(`fill-extrusion-pattern`).constantOr(1)){let a=e.colorModeForRenderPass();SN(e,t,n,r,o,MM.disabled,a,i)}else SN(e,t,n,r,o,MM.disabled,OM.disabled,i),SN(e,t,n,r,o,e.stencilModeFor3D(),e.colorModeForRenderPass(),i)}}function SN(e,t,n,r,i,a,o,s){let c=e.context,l=c.gl,u=`fill-extrusion-pattern`,d=n.paint.get(u),f=d.constantOr(1),p=n.getCrossfadeParameters(),m=n.paint.get(`fill-extrusion-opacity`),h=d.constantOr(null),g=e.transform;for(let d of r){let r=t.getTile(d),_=r.getBucket(n);if(!_)continue;let v=RM(s,d),y=_.programConfigurations.get(n.id),b=e.useProgram(f?`fillExtrusionPattern`:`fillExtrusion`,y);f&&(e.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(p));let x=LM(s,d);gN(y,u,h,r,n);let S=Xt(g,r,n.paint.get(`fill-extrusion-translate`),n.paint.get(`fill-extrusion-translate-anchor`)),C=n.paint.get(`fill-extrusion-vertical-gradient`),w=f?RA(e,C,m,S,d,p,r):LA(e,C,m,S);b.draw(c,c.gl.TRIANGLES,i,a,o,FM.backCCW,w,v,x,n.id,_.layoutVertexBuffer,_.indexBuffer,_.segments,n.paint,e.transform.zoom,y,e.style.map.terrain&&_.centroidVertexBuffer)}}function CN(e,t,n,r,i){if(i.currentPass!==`offscreen`&&i.currentPass!==`translucent`)return;let a=e.context,o=e.style.projection.useSubdivision,s=e.getDepthModeForSublayer(0,AM.ReadOnly),c=e.colorModeForRenderPass();if(i.currentPass===`offscreen`)TN(e,t,r,n,s,MM.disabled,c),a.viewport.set([0,0,e.width,e.height]);else if(i.currentPass===`translucent`){if(o){let[a,o,l]=e.stencilConfigForOverlapTwoPass(r);wN(e,t,n,l,a,s,c,!1,i),wN(e,t,n,l,o,s,c,!0,i)}else{let[a,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);wN(e,t,n,o,a,s,c,!1,i)}}}function wN(e,t,n,r,i,a,o,s,c){let l=e.style.projection,u=e.context,d=u.gl,f=[`#define NUM_ILLUMINATION_SOURCES ${n.paint.get(`hillshade-highlight-color`).values.length}`],p=e.useProgram(`hillshade`,null,!1,f),m=!e.options.moving;for(let f of r){let r=t.getTile(f),h=r.fbo;if(!h)continue;let g=l.getMeshFromTileID(u,f.canonical,s,!0,`raster`),_=RM(c,f);u.activeTexture.set(d.TEXTURE0),d.bindTexture(d.TEXTURE_2D,h.colorAttachment.get());let v=LM(c,f,{aligned:m});p.draw(u,d.TRIANGLES,a,i[f.overscaledZ],o,FM.backCCW,rj(e,r,n),_,v,n.id,g.vertexBuffer,g.indexBuffer,g.segments)}}function TN(e,t,n,r,i,a,o){let s=e.context,c=s.gl,l=r.paint.get(`resampling`)===`nearest`?c.NEAREST:c.LINEAR;for(let u of n){let n=t.getTile(u),d=n.dem;if(!d?.data||!n.needsHillshadePrepare)continue;let f=d.dim+2,p=d.stride,m=d.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),n.demTexture||=e.getTileTexture(p),n.demTexture){let e=n.demTexture;e.update(m,{premultiply:!1}),e.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else n.demTexture=new Nf(s,m,c.RGBA,{premultiply:!1}),n.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);let h=n.fbo;if(!h){let e=new Nf(s,{width:f,height:f,data:null},c.RGBA);e.bind(l,c.CLAMP_TO_EDGE),h=n.fbo=s.createFramebuffer(f,f,!0,!1),h.colorAttachment.set(e.texture)}s.bindFramebuffer.set(h.framebuffer),s.viewport.set([0,0,f,f]),e.useProgram(`hillshadePrepare`).draw(s,c.TRIANGLES,i,a,o,FM.disabled,ij(n.tileID,d),null,null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),n.needsHillshadePrepare=!1}}function EN(e,t,n,r,i){if(i.currentPass!==`translucent`||!r.length)return;let a=e.style.projection.useSubdivision,o=e.getDepthModeForSublayer(0,AM.ReadOnly),s=e.colorModeForRenderPass();if(a){let[a,c,l]=e.stencilConfigForOverlapTwoPass(r);ON(e,t,n,l,a,o,s,!1,i),ON(e,t,n,l,c,o,s,!0,i)}else{let[a,c]=e.getStencilConfigForOverlapAndUpdateStencilID(r);ON(e,t,n,c,a,o,s,!1,i)}}var DN=0;function ON(e,t,n,r,i,a,o,s,c){let l=e.style.projection,u=e.context,d=u.gl,f=e.useProgram(`colorRelief`),p=!e.options.moving,m=n.paint.get(`resampling`)===`nearest`?d.NEAREST:d.LINEAR,h=!0,g=0;for(let _ of r){let r=t.getTile(_),v=r.dem;if(!v?.data)continue;if(h){DN||=d.getParameter(d.MAX_TEXTURE_SIZE);let e=DN,{elevationTexture:t,colorTexture:r}=n.getColorRampTextures(u,e,v.getUnpackVector());u.activeTexture.set(d.TEXTURE1),t.bind(d.NEAREST,d.CLAMP_TO_EDGE),u.activeTexture.set(d.TEXTURE4),r.bind(d.LINEAR,d.CLAMP_TO_EDGE),h=!1,g=t.size[0]}let y=v.stride;u.activeTexture.set(d.TEXTURE0),(!r.demTexture||r.needsColorReliefPrepare)&&(u.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture||=e.getTileTexture(y)??new Nf(u,{width:y,height:y,data:null},d.RGBA),r.demTexture.update(v.getPixels(),{premultiply:!1}),r.needsColorReliefPrepare=!1),r.demTexture.bind(m,d.CLAMP_TO_EDGE);let b=l.getMeshFromTileID(u,_.canonical,s,!0,`raster`),x=RM(c,_),S=LM(c,_,{aligned:p});f.draw(u,d.TRIANGLES,a,i[_.overscaledZ],o,FM.backCCW,sj(n,r.dem,g),x,S,n.id,b.vertexBuffer,b.indexBuffer,b.segments)}}var kN=[new M(0,0),new M(P,0),new M(P,P),new M(0,P)];function AN(e,t,n,r,i){if(i.currentPass!==`translucent`||n.paint.get(`raster-opacity`)===0||!r.length)return;let a=t.getSource(),o=e.style.projection.useSubdivision;if(a instanceof AE)jN(e,t,n,r,null,!1,!1,a.tileCoords,a.imageWarp,a.flippedWindingOrder,i,a.getMesh(e.context,o));else if(o){let[a,o,s]=e.stencilConfigForOverlapTwoPass(r);jN(e,t,n,s,a,!1,!0,kN,yE,!1,i),jN(e,t,n,s,o,!0,!0,kN,yE,!1,i)}else{let[a,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);jN(e,t,n,o,a,!1,!0,kN,yE,!1,i)}}function jN(e,t,n,r,i,a,o,s,c,l=!1,u,d=null){let f=r[r.length-1].overscaledZ,p=e.context,m=p.gl,h=e.useProgram(`raster`),g=e.style.projection,_=e.colorModeForRenderPass(),v=!e.options.moving,y=n.paint.get(`raster-opacity`),b=n.paint.get(`resampling`)===`nearest`||n.paint.get(`raster-resampling`)===`nearest`?m.NEAREST:m.LINEAR,x=n.paint.get(`raster-fade-duration`),S=!!e.style.map.terrain;for(let C of r){let r=e.getDepthModeForSublayer(C.overscaledZ-f,y===1?AM.ReadWrite:AM.ReadOnly,m.LESS),w=t.getTile(C);p.activeTexture.set(m.TEXTURE0),w.texture.bind(b,m.CLAMP_TO_EDGE,m.LINEAR_MIPMAP_NEAREST),p.activeTexture.set(m.TEXTURE1);let{parentTile:T,parentScaleBy:E,parentTopLeft:D,fadeValues:O}=MN(w,t,x,S);w.fadeOpacity=O.tileOpacity,T?(T.fadeOpacity=O.parentTileOpacity,T.texture.bind(b,m.CLAMP_TO_EDGE,m.LINEAR_MIPMAP_NEAREST)):w.texture.bind(b,m.CLAMP_TO_EDGE,m.LINEAR_MIPMAP_NEAREST),w.texture.useMipmap&&p.extTextureFilterAnisotropic&&e.transform.pitch>e.options.anisotropicFilterPitch&&m.texParameterf(m.TEXTURE_2D,p.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,p.extTextureFilterAnisotropicMax);let k=RM(u,C),A=LM(u,C,{aligned:v}),j=xE(D,E,O.fadeMix,n,s,c),ee=d??g.getMeshFromTileID(p,C.canonical,a,o,`raster`),te=i?i[C.overscaledZ]:MM.disabled;h.draw(p,m.TRIANGLES,r,te,_,l?FM.frontCCW:FM.backCCW,j,k,A,n.id,ee.vertexBuffer,ee.indexBuffer,ee.segments)}}function MN(e,t,n,r){let i={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(n===0||r)return i;if(e.fadingParentID){let r=t.getLoadedTile(e.fadingParentID);if(!r)return i;let a=2**(r.tileID.overscaledZ-e.tileID.overscaledZ);return{parentTile:r,parentScaleBy:a,parentTopLeft:[e.tileID.canonical.x*a%1,e.tileID.canonical.y*a%1],fadeValues:NN(e,r,n)}}return e.selfFading?{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:PN(e,n)}:i}function NN(e,t,n){let r=mw(),i=(r-e.timeAdded)/n,a=(r-t.timeAdded)/n,o=e.fadingDirection===1,s=F(i,0,1),c=F(1-a,0,1),l=o?s:c;return{tileOpacity:l,parentTileOpacity:o?c:s,fadeMix:{opacity:1,mix:1-l}}}function PN(e,t){let n=F((mw()-e.timeAdded)/t,0,1);return{tileOpacity:n,fadeMix:{opacity:n,mix:0}}}function FN(e,t,n,r,i){let a=n.paint.get(`background-color`),o=n.paint.get(`background-opacity`);if(o===0)return;let s=e.context,c=s.gl,l=e.style.projection,u=e.transform,d=u.tileSize,f=n.paint.get(`background-pattern`);if(e.isPatternMissing(f))return;let p=!f&&a.a===1&&o===1&&e.opaquePassEnabledForLayer()?`opaque`:`translucent`;if(i.currentPass!==p)return;let m=MM.disabled,h=e.getDepthModeForSublayer(0,p===`opaque`?AM.ReadWrite:AM.ReadOnly),g=e.colorModeForRenderPass(),_=e.useProgram(f?`backgroundPattern`:`background`),v=r||dD(u,{tileSize:d,terrain:e.style.map.terrain});f&&(s.activeTexture.set(c.TEXTURE0),e.patternAtlas.bind(e.context));let y=n.getCrossfadeParameters();for(let t of v){let r=LM(i,t),u=f?jj(o,e,f,{tileID:t,tileSize:d},y):Aj(o,a),p=RM(i,t),v=l.getMeshFromTileID(s,t.canonical,!1,!0,`raster`);_.draw(s,c.TRIANGLES,h,m,g,FM.backCCW,u,p,r,n.id,v.vertexBuffer,v.indexBuffer,v.segments)}}var IN=new U(1,0,0,1),LN=new U(0,1,0,1),RN=new U(0,0,1,1),zN=new U(1,0,1,1),BN=new U(0,1,1,1);function VN(e){let t=e.transform.padding;UN(e,e.transform.height-(t.top||0),3,IN),UN(e,t.bottom||0,3,LN),WN(e,t.left||0,3,RN),WN(e,e.transform.width-(t.right||0),3,zN);let n=e.transform.centerPoint;HN(e,n.x,e.transform.height-n.y,BN)}function HN(e,t,n,r){GN(e,t-1,n-10,2,20,r),GN(e,t-10,n-1,20,2,r)}function UN(e,t,n,r){GN(e,0,t+n/2,e.transform.width,n,r)}function WN(e,t,n,r){GN(e,t-n/2,0,n,e.transform.height,r)}function GN(e,t,n,r,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,r*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function KN(e,t,n,r){for(let i of n)qN(e,t,i,r)}function qN(e,t,n,r){let i=e.context,a=i.gl,o=e.useProgram(`debug`),s=AM.disabled,c=MM.disabled,l=e.colorModeForRenderPass(),u=`$debug`,d=RM(r,n);i.activeTexture.set(a.TEXTURE0);let f=t.getTileByID(n.key).latestRawTileData?.byteLength||0,p=Math.floor(f/1024),m=t.getTile(n).tileSize,h=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=` => ${n.overscaledZ}`),JN(e,`${g} ${p}kB`);let _=LM(r,n);o.draw(i,a.TRIANGLES,s,c,OM.alphaBlended,FM.disabled,XA(U.transparent,h),null,_,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),o.draw(i,a.LINE_STRIP,s,c,l,FM.disabled,XA(U.red),d,_,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function JN(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,r=e.context.gl,i=e.debugOverlayCanvas.getContext(`2d`);i.clearRect(0,0,n.width,n.height),i.shadowColor=`white`,i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=`white`,i.textBaseline=`top`,i.font=`bold 36px Open Sans, sans-serif`,i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}function YN(e,t){let n=null,r=Object.values(e._layers).flatMap(n=>n.source&&!n.isHidden(t)?[e.tileManagers[n.source]]:[]),i=r.filter(e=>e.getSource().type===`vector`),a=r.filter(e=>e.getSource().type!==`vector`),o=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};for(let e of i)o(e);if(!n)for(let e of a)o(e);return n}function XN(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=n.implementation,s=e.style.projection,c=e.transform,l=c.getProjectionDataForCustomLayer(i),u={farZ:c.farZ,nearZ:c.nearZ,fov:c.fov*Math.PI/180,modelViewProjectionMatrix:c.modelViewProjectionMatrix,projectionMatrix:c.projectionMatrix,shaderData:{variantName:s.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793;\nuniform mat4 u_projection_matrix;\n${s.shaderPreludeCode.vertexSource}`,define:s.shaderDefine},defaultProjectionData:l,getProjectionData:e=>c.getProjectionData({overscaledTileID:new my(e.tileID.canonical.z,e.tileID.wrap??0,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),aligned:e.aligned,applyGlobeMatrix:e.applyGlobeMatrix,applyTerrainMatrix:e.applyTerrainMatrix})},d=o.renderingMode?o.renderingMode:`2d`;if(r.currentPass===`offscreen`){let t=o.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(o,a.gl,u),a.setDirty(),e.setBaseState())}else if(r.currentPass===`translucent`){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(MM.disabled);let t=d===`3d`?e.getDepthModeFor3D():e.getDepthModeForSublayer(0,AM.ReadOnly);a.setDepthMode(t),o.render(a.gl,u),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}function ZN(e,t){let n=e.context,r=n.gl,i=e.transform,a=OM.unblended,o=new AM(r.LEQUAL,AM.ReadWrite,[0,1]),s=t.tileManager.getRenderableTiles(),c=e.useProgram(`terrainDepth`);n.bindFramebuffer.set(t.getFramebuffer().framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:U.white,depth:1});for(let e of s){let s=t.getTerrainMesh(e.tileID),l=t.getTerrainData(e.tileID),u=i.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),d=pA(t.getSkirtLength(i.zoom));c.draw(n,r.TRIANGLES,o,MM.disabled,a,FM.backCCW,d,l,u,`terrain`,s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}function QN(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=a.gl,s=e.transform,c=e.colorModeForRenderPass(),l=e.getDepthModeFor3D(),u=e.useProgram(`terrain`);a.bindFramebuffer.set(null),a.viewport.set([0,0,e.width,e.height]);for(let d of n){let n=t.getTerrainMesh(d.tileID),f=e.renderToTexture.getTexture(d),p=t.getTerrainData(d.tileID);a.activeTexture.set(o.TEXTURE0),f.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_LINEAR);let m=fA(t.getSkirtLength(s.zoom),s.calculateFogMatrix(d.tileID.toUnwrapped()),e.style.sky,s.pitch,i),h=LM(r,d.tileID,{applyTerrainMatrix:!1});u.draw(a,o.TRIANGLES,l,MM.disabled,c,FM.backCCW,m,p,h,`terrain`,n.vertexBuffer,n.indexBuffer,n.segments)}}function $N(e,t){if(!t.mesh){let n=new wu;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(1,1),n.emplaceBack(-1,1);let r=new Vu;r.emplaceBack(0,1,2),r.emplaceBack(0,2,3),t.mesh=new TE(e.createVertexBuffer(n,EE.members),e.createIndexBuffer(r),Ku.simpleSegment(0,0,n.length,r.length))}return t.mesh}function eP(e,t){let n=e.context,r=n.gl,i=Fj(t,e.transform,e.pixelRatio),a=new AM(r.LEQUAL,AM.ReadWrite,[0,1]),o=MM.disabled,s=e.colorModeForRenderPass(),c=e.useProgram(`sky`),l=$N(n,t);c.draw(n,r.TRIANGLES,a,o,s,FM.disabled,i,null,void 0,`sky`,l.vertexBuffer,l.indexBuffer,l.segments)}function tP(e,t){let n=e.getCartesianPosition();st(n,n);let r=Re(new Float64Array(16));return e.properties.get(`anchor`)===`map`&&(Ge(r,r,t.rollInRadians),Ue(r,r,-t.pitchInRadians),Ge(r,r,t.bearingInRadians),Ue(r,r,t.center.lat*Math.PI/180),We(r,r,-t.center.lng*Math.PI/180)),dt(n,n,r),n}function nP(e,t,n){let r=e.context,i=r.gl,a=e.useProgram(`atmosphere`),o=new AM(i.LEQUAL,AM.ReadOnly,[0,1]),s=e.transform,c=tP(n,e.transform),l=s.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),u=wk(s.worldSize,s.center.lat),d=Tk(s),f=Hk(et(d)-u,u),p=t.properties.get(`atmosphere-blend`)*l.projectionTransition*f;if(p===0)return;let m=Nj(c,p,d,u,s.inverseProjectionMatrix),h=$N(r,t);a.draw(r,i.TRIANGLES,o,MM.disabled,OM.alphaBlended,FM.disabled,m,null,null,`atmosphere`,h.vertexBuffer,h.indexBuffer,h.segments)}var rP={symbol:UM,circle:ZM,heatmap:QM,line:mN,fill:_N,fillExtrusion:xN,hillshade:CN,colorRelief:EN,raster:AN,background:FN,sky:eP,atmosphere:nP,custom:XN,debug:KN,debugPadding:VN,terrainDepth:ZN},iP=class e{constructor(e,t){this.drawFunctions=rP,this.context=new kM(e),this.transform=t,this.layerOpacityFbo=null,this._tileTextures={},this._rttObjectRecyclePool=[],this._rttSharedFbo=null,this.terrainFacilitator={depthDirty:!0,matrix:Re(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=SD.maxOverzooming+SD.maxUnderzooming+1,this.depthEpsilon=1/2**16,this.crossTileSymbolIndex=new AO}resize(e,t,n){if(this.width=Math.round(e*n),this.height=Math.round(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,t=new wu;t.emplaceBack(0,0),t.emplaceBack(P,0),t.emplaceBack(0,P),t.emplaceBack(P,P),this.tileExtentBuffer=e.createVertexBuffer(t,EE.members),this.tileExtentSegments=Ku.simpleSegment(0,0,4,2);let n=new wu;n.emplaceBack(0,0),n.emplaceBack(P,0),n.emplaceBack(0,P),n.emplaceBack(P,P),this.debugBuffer=e.createVertexBuffer(n,EE.members),this.debugSegments=Ku.simpleSegment(0,0,4,5);let r=new Eu;r.emplaceBack(0,0,0,0),r.emplaceBack(P,0,P,0),r.emplaceBack(0,P,0,P),r.emplaceBack(P,P,P,P),this.rasterBoundsBuffer=e.createVertexBuffer(r,sA.members),this.rasterBoundsSegments=Ku.simpleSegment(0,0,4,2);let i=new wu;i.emplaceBack(0,0),i.emplaceBack(P,0),i.emplaceBack(0,P),i.emplaceBack(P,P),this.rasterBoundsBufferPosOnly=e.createVertexBuffer(i,EE.members),this.rasterBoundsSegmentsPosOnly=Ku.simpleSegment(0,0,4,5);let a=new wu;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,EE.members),this.viewportSegments=Ku.simpleSegment(0,0,4,2);let o=new Uu;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);let s=new Vu;s.emplaceBack(1,0,2),s.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let c=this.context.gl;this.stencilClearMode=new MM({func:c.ALWAYS,mask:0},0,255,c.ZERO,c.ZERO,c.ZERO),this.tileExtentMesh=new TE(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let e=this.context,t=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let n=Fe();Xe(n,0,this.width,this.height,0,0,1),He(n,n,[t.drawingBufferWidth,t.drawingBufferHeight,0]);let r={mainMatrix:n,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:n,clipAntimeridian:!1};this.useProgram(`clippingMask`,null,!0).draw(e,t.TRIANGLES,AM.disabled,this.stencilClearMode,OM.disabled,FM.disabled,null,null,r,`$clipping`,this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t?.length)return;this.currentStencilSource=e.source,this.nextStencilID+t.length>256&&this.clearStencil();let n=this.context;n.setColorMode(OM.disabled),n.setDepthMode(AM.disabled);let r={};for(let e of t)r[e.key]=this.nextStencilID++;this.style.projection.useSubdivision&&this._renderTileMasks(r,t,!0),this._renderTileMasks(r,t,!1),this._tileClippingMaskIDs=r}_renderTileMasks(e,t,n){let r=this.context,i=r.gl,a=this.style.projection,o=this.renderContext,s=this.useProgram(`clippingMask`);for(let c of t){let t=e[c.key],l=RM(o,c),u=a.getMeshFromTileID(this.context,c.canonical,n,!0,`stencil`),d=LM(o,c);s.draw(r,i.TRIANGLES,AM.disabled,new MM({func:i.ALWAYS,mask:0},t,255,i.KEEP,i.KEEP,i.REPLACE),OM.disabled,o.isRenderingToTexture?FM.disabled:FM.backCCW,null,l,d,`$clipping`,u.vertexBuffer,u.indexBuffer,u.segments)}}_renderTilesDepthBuffer(){let e=this.context,t=e.gl,n=this.style.projection,r=this.transform,i=this.useProgram(`depth`),a=this.getDepthModeFor3D(),o=dD(r,{tileSize:r.tileSize});for(let r of o){let o=RM(this.renderContext,r),s=n.getMeshFromTileID(this.context,r.canonical,!0,!0,`raster`),c=LM(this.renderContext,r);i.draw(e,t.TRIANGLES,a,MM.disabled,OM.disabled,FM.backCCW,null,o,c,`$clipping`,s.vertexBuffer,s.indexBuffer,s.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new MM({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new MM({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(e){let t=this.context.gl,n=e.sort((e,t)=>
vendor: 9,850 bytes, line 814
814t.overscaledZ-e.overscaledZ),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let n=0;n<i;n++)e[n+r]=new MM({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=i,[e,n]}return[{[r]:MM.disabled},n]}stencilConfigForOverlapTwoPass(e){let t=this.context.gl,n=e.sort((e,t)=>t.overscaledZ-e.overscaledZ),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(this.clearStencil(),i>1){let e={},a={};for(let n=0;n<i;n++)e[n+r]=new MM({func:t.GREATER,mask:255},i+1+n,255,t.KEEP,t.KEEP,t.REPLACE),a[n+r]=new MM({func:t.GREATER,mask:255},1+n,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID=i*2+1,[e,a,n]}return this.nextStencilID=3,[{[r]:new MM({func:t.GREATER,mask:255},2,255,t.KEEP,t.KEEP,t.REPLACE)},{[r]:new MM({func:t.GREATER,mask:255},1,255,t.KEEP,t.KEEP,t.REPLACE)},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let t=1/8;return new OM([e.CONSTANT_COLOR,e.ONE],new U(t,t,t,0),[!0,!0,!0,!0])}return this.renderContext.currentPass===`opaque`?OM.unblended:OM.alphaBlended}getDepthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return AM.disabled;let r=1-((1+this.renderContext.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new AM(n||this.context.gl.LEQUAL,t,[r,r])}getDepthModeFor3D(){return new AM(this.context.gl.LEQUAL,AM.ReadWrite,this.renderContext.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.renderContext.currentLayer<this.renderContext.opaquePassCutoff}render(e,t){this.style=e,this.options=t;let n=this.renderContext=IM(this.transform,e.projection,e.map.terrain??null);this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.patternAtlas=e.patternAtlas,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(mw()),DM(this.context.frameUniformBuffer,this),this.imageManager.beginFrame(),wA(this.context);let r=this.style._order,i=this.style.tileManagers,a={},o={},s={};for(let e in i){let t=i[e];t.used&&t.prepare(this.context),a[e]=t.getVisibleCoordinates(!1),o[e]=a[e].slice().reverse(),s[e]=t.getVisibleCoordinates(!0).reverse()}n.opaquePassCutoff=1/0;for(let e=0;e<r.length;e++){let t=r[e];if(this.style._layers[t].is3D()){n.opaquePassCutoff=e;break}}this.maybeDrawDepth(),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),n.opaquePassCutoff=0),n.currentPass=`offscreen`;for(let e of r){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let r=o[t.source];(t.type===`custom`||r.length)&&this.renderLayer(this,i[t.source],t,r,n)}if(this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:t.showOverdrawInspector?U.black:U.transparent,depth:1}),this.clearStencil(),this.style.sky&&this.drawFunctions.sky(this,this.style.sky),this._showOverdrawInspector=t.showOverdrawInspector,n.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(n.currentPass=`opaque`,n.currentLayer=r.length-1;n.currentLayer>=0;n.currentLayer--){let e=this.style._layers[r[n.currentLayer]];if(e.isHidden(this.transform.zoom))continue;let t=i[e.source],o=a[e.source];this.renderTileClippingMasks(e,o),this.renderLayer(this,t,e,o,n)}n.currentPass=`translucent`;let c=!1;for(n.currentLayer=0;n.currentLayer<r.length;n.currentLayer++){let e=this.style._layers[r[n.currentLayer]];if(e.isHidden(this.transform.zoom))continue;let t=i[e.source];if(this.renderToTexture?.renderLayer(e,n))continue;!this.opaquePassEnabledForLayer()&&!c&&(c=!0,n.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());let l=(e.type===`symbol`?s:o)[e.source];this.renderTileClippingMasks(e,a[e.source]),this.renderLayer(this,t,e,l,n)}if(n.isRenderingGlobe&&this.drawFunctions.atmosphere(this,this.style.sky,this.style.light),this.options.showTileBoundaries){let e=YN(this.style,this.transform.zoom);e&&this.drawFunctions.debug(this,e,e.getVisibleCoordinates(),n)}this.options.showPadding&&this.drawFunctions.debugPadding(this),this.renderToTexture&&!this.options.moving&&this.clearRTTPool(),this.context.setDefault()}markTerrainDepthDirty(){this.terrainFacilitator.depthDirty=!0}maybeDrawDepth(){if(!this.style?.projection||!this.style.map?.terrain)return;let e=this.terrainFacilitator.matrix,t=this.transform.modelViewProjectionMatrix,n=this.terrainFacilitator.depthDirty;n||=!Ze(e,t),n||=this.style.map.terrain.tileManager.anyTilesAfterTime(this.terrainFacilitator.renderTime),n&&(Le(e,t),this.terrainFacilitator.renderTime=mw(),this.terrainFacilitator.depthDirty=!1,this.drawFunctions.terrainDepth(this,this.style.map.terrain))}renderLayer(e,t,n,r,i){if(n.isHidden(this.transform.zoom)||n.type!==`background`&&n.type!==`custom`&&!(r||[]).length)return;this.id=n.id;let a=this.drawFunctions;Yv(n)?a.symbol(e,t,n,r,this.style.placement.variableOffsets,i):cf(n)?a.circle(e,t,n,r,i):Sf(n)?a.heatmap(e,t,n,r,i):Th(n)?a.line(e,t,n,r,i):am(n)?a.fill(e,t,n,r,i):th(n)?a.fillExtrusion(e,t,n,r,i):Df(n)?a.hillshade(e,t,n,r,i):If(n)?a.colorRelief(e,t,n,r,i):Pl(n)?a.raster(e,t,n,r,i):ty(n)?a.background(e,t,n,r,i):iy(n)&&a.custom(e,t,n,i)}static{this.MAX_TEXTURE_POOL_SIZE_PER_BUCKET=50}saveTileTexture(t){let n=this._tileTextures[t.size[0]];n?n.length<e.MAX_TEXTURE_POOL_SIZE_PER_BUCKET?n.push(t):t.destroy():this._tileTextures[t.size[0]]=[t]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}acquireRTT(e){let t=this.context.gl,n=this._rttObjectRecyclePool.pop();if(n)return n.size!==e&&(n.texture.update({width:e,height:e,data:null},{premultiply:!1,useMipmap:!0}),n.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE,t.LINEAR_MIPMAP_LINEAR),this.context.extTextureFilterAnisotropic&&t.texParameterf(t.TEXTURE_2D,this.context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this.context.extTextureFilterAnisotropicMax),n.size=e),n;let r=new Nf(this.context,{width:e,height:e,data:null},t.RGBA,{premultiply:!1,useMipmap:!0});return r.bind(t.LINEAR,t.CLAMP_TO_EDGE,t.LINEAR_MIPMAP_LINEAR),this.context.extTextureFilterAnisotropic&&t.texParameterf(t.TEXTURE_2D,this.context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this.context.extTextureFilterAnisotropicMax),{texture:r,size:e}}bindRTT(e){let t=this.context.gl,n=e.size;if(!this._rttSharedFbo){let e=this.context.createFramebuffer(n,n,!0,!0),r=this.context.createRenderbuffer(t.DEPTH_STENCIL,n,n);e.depthAttachment.set(r),this._rttSharedFbo={fbo:e,depthRenderbuffer:r,size:n}}this._rttSharedFbo.size!==n&&(this.context.bindRenderbuffer.set(this._rttSharedFbo.depthRenderbuffer),t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,n,n),this.context.bindRenderbuffer.set(null),this._rttSharedFbo.fbo.width=n,this._rttSharedFbo.fbo.height=n,this._rttSharedFbo.size=n),this._rttSharedFbo.fbo.colorAttachment.set(e.texture.texture),this.context.bindFramebuffer.set(this._rttSharedFbo.fbo.framebuffer)}releaseRTT(e){this._rttObjectRecyclePool.push(e)}clearRTTPool(){for(let e of this._rttObjectRecyclePool)e.texture.destroy();this._rttObjectRecyclePool.length=0}destroyRTTResources(){if(this.clearRTTPool(),!this._rttSharedFbo)return;this._rttSharedFbo.fbo.colorAttachment.set(null),this._rttSharedFbo.fbo.depthAttachment.set(null);let e=this.context.gl;e.deleteRenderbuffer(this._rttSharedFbo.depthRenderbuffer),e.deleteFramebuffer(this._rttSharedFbo.fbo.framebuffer),this._rttSharedFbo=null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.patternAtlas.getPattern(e.from.toString()),n=this.patternAtlas.getPattern(e.to.toString());return!t||!n}useProgram(e,t,n=!1,r=[]){this.cache||={};let i=!!this.style.map.terrain,a=this.style.projection,o=n?BO.projectionMercator:a.shaderPreludeCode,s=n?HO:a.shaderDefine,c=`/${n?UO:a.shaderVariantName}`,l=t?t.cacheKey:``,u=this._showOverdrawInspector?`/overdraw`:``,d=i?`/terrain`:``,f=r?`/${r.join(`/`)}`:``,p=e+l+c+u+d+f;return this.cache[p]||=new MA(this.context,BO[e],t,Lj[e],this._showOverdrawInspector,i,o,s,r),this.cache[p]}setCustomLayerDefaults(){this.context.setCustomLayerDefaults()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=document.createElement(`canvas`),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;let e=this.context.gl;this.debugOverlayTexture=new Nf(this.context,this.debugOverlayCanvas,e.RGBA)}}destroy(){if(this._tileTextures){for(let e in this._tileTextures){let t=this._tileTextures[e];if(t)for(let e of t)e.destroy()}this._tileTextures={}}if(this.destroyRTTResources(),this.layerOpacityFbo?.destroy(),this.layerOpacityFbo=null,this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&this.tileExtentMesh.vertexBuffer?.destroy(),this.tileExtentMesh&&this.tileExtentMesh.indexBuffer?.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),TA(this.context),this.context.terrainUniformBuffer.destroy(),this.context.frameUniformBuffer.destroy(),this.cache){for(let e in this.cache){let t=this.cache[e];t?.program&&this.context.gl.deleteProgram(t.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}
vendor: 11,530 bytes, line 814
814,aP=class extends Error{constructor(e,t){super(`WebGL2 is required to display this map. We are sorry, but it seems that your browser does not support WebGL2, a technology for rendering 3D graphics on the web. Read more on https://wiki.openstreetmap.org/wiki/This_map_requires_WebGL`),this.name=`GPUInitializationError`,this.requestedAttributes=e,this.statusMessage=t?.statusMessage??null}};function oP(e,t){let n=!1,r=null,i,a=()=>{r=null,n&&=(e(...i),r=setTimeout(a,t),!1)};return(...e)=>(n=!0,i=e,r||a(),r)}var sP=class{constructor(e){this._getHashParams=()=>new URLSearchParams(window.location.hash.replace(`#`,``)),this._getCurrentHash=()=>{let e=this._getHashParams();return this._hashName?(e.get(this._hashName)||``).split(`/`):([...e.keys()][0]??``).split(`/`)},this._onHashChange=()=>{let e=this._getCurrentHash();if(!this._isValidHash(e))return!1;let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getHashParams();if(this._hashName)e.delete(this._hashName);else{let t=Array.from(e.keys());t.length>0&&e.delete(t[0])}let t=decodeURIComponent(e.toString()).replace(/=&/g,`&`).replace(/=$/g,``),n=t?`#${t}`:``,r=window.location.href.replace(/(#.+)?$/,n);r=r.replace(`&&`,`&`),window.history.replaceState(window.history.state,null,r)},this._updateHash=oP(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener(`hashchange`,this._onHashChange,!1),this._map.on(`moveend`,this._updateHash),this}remove(){return removeEventListener(`hashchange`,this._onHashChange,!1),this._map.off(`moveend`,this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(this._map.getZoom()*100)/100,r=10**Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.round(t.lng*r)/r,a=Math.round(t.lat*r)/r,o=this._map.getBearing(),s=this._map.getPitch(),c=``;if(c+=e?`/${i}/${a}/${n}`:`${n}/${a}/${i}`,(o||s)&&(c+=`/${Math.round(o*10)/10}`),s&&(c+=`/${Math.round(s)}`),this._hashName){let e=this._getHashParams();return e.set(this._hashName,c),`#${decodeURIComponent(e.toString()).replace(/=&/g,`&`).replace(/=$/g,``)}`}return`#${c}`}_isValidHash(e){if(e.length<3||e.some(e=>isNaN(+e)))return!1;try{new X(+e[2],+e[1])}catch{return!1}let t=+e[0],n=+(e[3]||0),r=+(e[4]||0);return t>=this._map.getMinZoom()&&t<=this._map.getMaxZoom()&&n>=-180&&n<=180&&r>=this._map.getMinPitch()&&r<=this._map.getMaxPitch()}},cP={linearity:.3,easing:un(0,0,.3,1)},lP=I({deceleration:2500,maxSpeed:1400},cP),uP=I({deceleration:20,maxSpeed:1400},cP),dP=I({deceleration:1e3,maxSpeed:360},cP),fP=I({deceleration:1e3,maxSpeed:90},cP),pP=I({deceleration:1e3,maxSpeed:360},cP),mP=class{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:mw(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=mw();for(;e.length>0&&t-e[0].time>160;)e.shift()}_getVelocityEntries(){let e=this._inertiaBuffer,t=mw()-60,n=Math.max(0,e.length-2);for(;n>0&&e[n-1].time>=t;)n--;return e.slice(n)}_onMoveEnd(e){this._drainInertiaBuffer();let t=this._getVelocityEntries();if(t.length<2){this.clear();return}let n={zoom:0,bearing:0,pitch:0,roll:0,pan:new M(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of t)e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);for(let{settings:e}of t.slice(1))n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,n.roll+=e.rollDelta||0,e.panDelta&&n.pan._add(e.panDelta);if(!n.pan.mag()&&!n.zoom&&!n.bearing&&!n.pitch&&!n.roll){this.clear();return}let r=mw()-t[0].time,i={};if(n.pan.mag()){let t=gP(n.pan.mag(),r,I({},lP,e||{})),a=n.pan.mult(t.amount/n.pan.mag()),o=this._map._camera.cameraHelper.handlePanInertia(a,this._map._camera.transform);i.center=o.easingCenter,i.offset=o.easingOffset,hP(i,t)}if(n.zoom){let e=gP(n.zoom,r,uP);i.zoom=bn(this._map.getZoom()+e.amount,this._map.getZoomSnap(),e.amount),hP(i,e)}if(n.bearing){let e=gP(n.bearing,r,dP);i.bearing=this._map.getBearing()+F(e.amount,-179,179),hP(i,e)}if(n.pitch){let e=gP(n.pitch,r,fP);i.pitch=this._map.getPitch()+e.amount,hP(i,e)}if(n.roll){let e=gP(n.roll,r,pP);i.roll=this._map.getRoll()+F(e.amount,-179,179),hP(i,e)}if(i.zoom||i.bearing){let e=n.pinchAround===void 0?n.around:n.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),I(i,{noMoveStart:!0})}};function hP(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function gP(e,t,n){let{maxSpeed:r,linearity:i,deceleration:a}=n,o=F(e*i/(t/1e3),-r,r),s=Math.abs(o)/(a*i);return{easing:n.easing,duration:s*1e3,amount:s/2*o}}var _P=class{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Mw(this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Aw(e.type,this._map,e))}mouseup(e){this._map.fire(new Aw(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Aw(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Aw(e.type,this._map,e))}mouseover(e){this._map.fire(new Aw(e.type,this._map,e))}mouseout(e){this._map.fire(new Aw(e.type,this._map,e))}touchstart(e){return this._firePreventable(new jw(e.type,this._map,e))}touchmove(e){this._map.fire(new jw(e.type,this._map,e))}touchend(e){this._map.fire(new jw(e.type,this._map,e))}touchcancel(e){this._map.fire(new jw(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}},vP=class{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent,this._clearLongPress(),this._touchActive=!1}mousemove(e){this._map.fire(new Aw(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Aw(`contextmenu`,this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}touchstart(e,t,n){if(this._clearLongPress(),this._touchActive=n.length>0,n.length!==1)return;this._longPressStart=t[0];let r=n[0];this._longPressTimer=setTimeout(()=>{this._longPressTimer=void 0;let e=new MouseEvent(`contextmenu`,{clientX:r.clientX,clientY:r.clientY,button:2,bubbles:!0,cancelable:!0});this._map.fire(new Aw(`contextmenu`,this._map,e))},500)}touchmove(e,t,n){this._longPressTimer&&(n.length!==1||!this._longPressStart||t[0].dist(this._longPressStart)>this._clickTolerance)&&this._clearLongPress()}touchend(){this._touchActive=!1,this._clearLongPress()}touchcancel(){this._touchActive=!1,this._clearLongPress()}_clearLongPress(){this._longPressTimer&&=(clearTimeout(this._longPressTimer),void 0),this._longPressStart=void 0}contextmenu(e){if(this._touchActive){e.preventDefault();return}this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Aw(e.type,this._map,e)),this._map.listens(`contextmenu`)&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}},yP=class{constructor(e,t,n){this._map=e,this._tr=n,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1,t.boxZoom&&typeof t.boxZoom==`object`&&(this._boxZoomEnd=t.boxZoom.boxZoomEnd)}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&e.button===0&&(Q.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let n=t;if(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)return;let r=this._startPos;this._lastPos=n,this._box||(this._box=Q.create(`div`,`maplibregl-boxzoom`,this._container),this._container.classList.add(`maplibregl-crosshair`),this._fireEvent(`boxzoomstart`,e));let i=Math.min(r.x,n.x),a=Math.max(r.x,n.x),o=Math.min(r.y,n.y),s=Math.max(r.y,n.y);this._box.style.transform=`translate(${i}px,${o}px)`,this._box.style.width=`${a-i}px`,this._box.style.height=`${s-o}px`}mouseupWindow(e,t){if(!this._active||e.button!==0)return;let n=this._startPos,r=t;if(this.reset(),Q.suppressClick(),n.x===r.x&&n.y===r.y)this._fireEvent(`boxzoomcancel`,e);else{if(this._map.fire(new Nw(`boxzoomend`,{originalEvent:e})),this._boxZoomEnd){this._boxZoomEnd(this._map,n,r,e);return}return{cameraAnimation:e=>e.fitScreenCoordinates(n,r,this._tr.bearing,{linear:!0})}}}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent(`boxzoomcancel`,e))}reset(){this._active=!1,this._container.classList.remove(`maplibregl-crosshair`),this._box&&=(this._box.remove(),null),Q.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,t){return this._map.fire(new Nw(e,{originalEvent:t}))}};function bP(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let r=0;r<e.length;r++)n[e[r].identifier]=t[r];return n}function xP(e){let t=new M(0,0);for(let n of e)t._add(n);return t.div(e.length)}var SP=class{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,t,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=xP(t),this.touches=bP(n,t)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let r=bP(n,t);for(let e in this.touches){let t=this.touches[e],n=r[e];(!n||n.dist(t)>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),n.length===0){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}},CP=class{constructor(e){this.singleTap=new SP(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let r=this.singleTap.touchend(e,t,n);if(r){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||this.lastTap.dist(r)<30;if((!t||!n)&&this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}},wP=class{constructor(e,t){this._tr=t,this._zoomIn=new CP({numTouches:1,numTaps:2}),this._zoomOut=new CP({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let r=this._zoomIn.touchend(e,t,n),i=this._zoomOut.touchend(e,t,n),a=this._tr;if(r)return this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:bn(a.zoom+1,t.getZoomSnap()),around:a.transform.isPointOnM
vendor: 4,212 bytes, line 814
814apSurface(r)?a.unproject(r):void 0},{originalEvent:e})};if(i)return this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:bn(a.zoom-1,t.getZoomSnap()),around:a.transform.isPointOnMapSurface(i)?a.unproject(i):void 0},{originalEvent:e})}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},TP=class{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.rollDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(t)?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e)){this.reset(e);return}let r=Array.isArray(t)?t[0]:t;if(!(!this._moved&&r.dist(n)<this._clickTolerance))return this._moved=!0,this._lastPoint=r,this._move(n,r)}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&Q.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}},EP={0:1,2:2};function DP(e,t){let n=EP[t];return e.buttons===void 0||(e.buttons&n)!==n}var OP=class{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){this._eventButton=e.button}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!DP(e,this._eventButton)}isValidEndEvent(e){return e.button===this._eventButton}},kP=class{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}},AP=class{constructor(e=new OP({checkCorrectEvent:()=>!0}),t=new kP){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=t}_executeRelevantHandler(e,t,n){if(e instanceof MouseEvent)return t(e);if(typeof TouchEvent<`u`&&e instanceof TouchEvent)return n(e)}startMove(e){this._executeRelevantHandler(e,e=>{this.mouseMoveStateManager.startMove(e)},e=>{this.oneFingerTouchMoveStateManager.startMove(e)})}endMove(e){this._executeRelevantHandler(e,e=>{this.mouseMoveStateManager.endMove(e)},e=>{this.oneFingerTouchMoveStateManager.endMove(e)})}isValidStartEvent(e){return!!this._executeRelevantHandler(e,e=>this.mouseMoveStateManager.isValidStartEvent(e),e=>this.oneFingerTouchMoveStateManager.isValidStartEvent(e))}isValidMoveEvent(e){return!!this._executeRelevantHandler(e,e=>this.mouseMoveStateManager.isValidMoveEvent(e),e=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(e))}isValidEndEvent(e){return!!this._executeRelevantHandler(e,e=>this.mouseMoveStateManager.isValidEndEvent(e),e=>this.oneFingerTouchMoveStateManager.isValidEndEvent(e))}},jP=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}};function MP({enable:e,clickTolerance:t}){return new TP({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new OP({checkCorrectEvent:e=>e.button===0&&!e.ctrlKey}),enable:e,assignEvents:jP})}function NP({enable:e,clickTolerance:t,aroundCenter:n=!0,minPixelCenterThreshold:r=100,rotateSpeed:i=.8},a){return new TP({clickTolerance:t,move:(e,t)=>
vendor: 8,243 bytes, line 814
814{let o=a();if(n&&Math.abs(o.y-e.y)>r)return{bearingDelta:Wn(new M(e.x,t.y),t,o)};let s=(t.x-e.x)*i;return n&&t.y<o.y&&(s=-s),{bearingDelta:s}},moveStateManager:new OP({checkCorrectEvent:e=>e.button===0&&e.ctrlKey||e.button===2&&!e.ctrlKey}),enable:e,assignEvents:jP})}function PP({enable:e,clickTolerance:t,pitchSpeed:n=-.5}){return new TP({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new OP({checkCorrectEvent:e=>e.button===0&&e.ctrlKey||e.button===2}),enable:e,assignEvents:jP})}function FP({enable:e,clickTolerance:t,rollDegreesPerPixelMoved:n=.3},r){return new TP({clickTolerance:t,move:(e,t)=>{let i=r(),a=(t.x-e.x)*n;return t.y<i.y&&(a=-a),{rollDelta:a}},moveStateManager:new OP({checkCorrectEvent:e=>e.button===2&&e.ctrlKey}),enable:e,assignEvents:jP})}var IP=class{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new M(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active){if(this._shouldBePrevented(n.length)){this._map.cooperativeGestures.notifyGestureBlocked(`touch_pan`,e);return}return e.preventDefault(),this._calculateTransform(e,t,n)}}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&this._shouldBePrevented(n.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,t,n){n.length>0&&(this._active=!0);let r=bP(n,t),i=new M(0,0),a=new M(0,0),o=0;for(let e in r){let t=r[e],n=this._touches[e];n&&(i._add(t),a._add(t.sub(n)),o++,r[e]=t)}if(this._touches=r,this._shouldBePrevented(o)||!a.mag())return;let s=a.div(o);if(this._sum._add(s),!(this._sum.mag()<this._clickTolerance))return{around:i.div(o),panDelta:s}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},LP=class{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[r,i]=this._firstTwoTouches,a=RP(n,t,r),o=RP(n,t,i);if(!a||!o)return;let s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[r,i]=this._firstTwoTouches,a=RP(n,t,r),o=RP(n,t,i);a&&o||(this._active&&Q.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}};function RP(e,t,n){for(let r=0;r<e.length;r++)if(e[r].identifier===n)return t[r]}var zP=.1;function BP(e,t){return Math.log(e/t)/Math.LN2}var VP=class extends LP{constructor(){super(),this._zoomRate=1,this._zoomThreshold=zP}setZoomRate(e){this._zoomRate=e??1}setZoomThreshold(e){this._zoomThreshold=e??zP}reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),!(!this._active&&Math.abs(BP(this._distance,this._startDistance))<this._zoomThreshold))return this._active=!0,{zoomDelta:BP(this._distance,n)*this._zoomRate,pinchAround:t}}};function HP(e,t){return e.angleWith(t)*180/Math.PI}var UP=class extends LP{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let r=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:HP(this._vector,r),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360,n=HP(e,this._startVector);return Math.abs(n)<t}};function WP(e){return Math.abs(e.y)>Math.abs(e.x)}var GP=class extends LP{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,WP(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let r=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(r,i,n.timeStamp),this._valid)return this._lastPoints=e,this._active=!0,{pitchDelta:(r.y+i.y)/2*-.5}}gestureBeginsVertically(e,t,n){if(this._valid!==void 0)return this._valid;let r=e.mag()>=2,i=t.mag()>=2;if(!r&&!i)return;if(!r||!i)return this._firstMove===void 0&&(this._firstMove=n),n-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return WP(e)&&WP(t)&&a}},KP={panStep:100,bearingStep:15,pitchStep:10},qP=class{constructor(e,t){this._tr=t;let n=KP;this._panStep=n.panStep,this._bearingStep=n.bearingStep,this._pitchStep=n.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,n=0,r=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(n=0,r=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:`keyboardHandler`,easing:JP,zoom:t?bn(s.zoom+t*(e.shiftKey?2:1),o.getZoomSnap()):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+r*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}};function JP(e){return e*(2-e)}var YP=4.000244140625,XP=class{constructor(e,t,n){this._onTimeout=e=>{this._type=`wheel`,this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=n,this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return this._map.cooperativeGestures.isEnabled()?!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e)):!1}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e)){this._map.cooperativeGestures.notifyGestureBlocked(`wheel_zoom`,e);return}let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?e.deltaY*40:e.deltaY,n=mw(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,t!==0&&t%YP==0?this._type=`wheel`:t!==0&&Math.abs(t)<4?this._type=`trackpad`:r>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*t)<200?`trackpad`:`wheel`,this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._needsRerender=!1,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let t=Q.mousePos(this._map.getCanvas(),e),n=this._tr;this._aroundPoint=this._aroundCenter?n.transform.locationToScreenPoint(X.convert(n.center)):t,this._needsRerender||(this._needsRerender=!0,this._triggerRenderFrame())}renderFrame(){if(!this._needsRerender||(this._needsRerender=!1,!this.isActive()))return;let e=this._tr.transform;if(typeof this._lastExpectedZoom==`number`){let t=e.zoom-this._lastExpectedZoom;
vendor: 4,995 bytes, line 814
814typeof this._startZoom==`number`&&(this._startZoom+=t),typeof this._targetZoom==`number`&&(this._targetZoom+=t)}if(this._delta!==0){let t=this._type===`wheel`&&Math.abs(this._delta)>YP?this._wheelZoomRate:this._defaultZoomRate,n=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&n!==0&&(n=1/n);let r=typeof this._targetZoom==`number`?vn(this._targetZoom):e.scale,i=e.applyConstrain(e.getCameraLngLat(),yn(r*n)).zoom,a=this._map.getZoomSnap();if(this._type===`wheel`&&a>0){let t=bn(e.zoom,a);this._targetZoom=bn(i,a,i-t)}else this._targetZoom=i;this._type===`wheel`&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let t=typeof this._targetZoom==`number`?this._targetZoom:e.zoom,n=this._startZoom,r=this._easing,i=!1,a;if(this._type===`wheel`&&n&&r){let e=mw()-this._lastWheelEventTime,o=Math.min((e+5)/200,1),s=r(o);a=Vi.number(n,t,s),o<1?this._needsRerender=!0:i=!0}else a=t,i=!0;return this._active=!0,i&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=a,{noInertia:!0,needsRenderFrame:!i,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let t=dn;if(this._prevEase){let e=this._prevEase,n=(mw()-e.start)/e.duration,r=e.easing(n+.01)-e.easing(n),i=.27/Math.sqrt(r*r+1e-4)*.01;t=un(i,Math.sqrt(.0729-i*i),.25,1)}return this._prevEase={start:mw(),duration:e,easing:t},t}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}},ZP=class{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}},QP=class{constructor(e,t){this._tr=t,this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:n=>{n.easeTo({duration:300,zoom:bn(this._tr.zoom+(e.shiftKey?-1:1),n.getZoomSnap()),around:this._tr.transform.isPointOnMapSurface(t)?this._tr.unproject(t):void 0},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},$P=class{constructor(){this._tap=new CP({numTouches:1,numTaps:1}),this._zoomRate=1,this.reset()}setZoomRate(e){this._zoomRate=e??1}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint){if(!this._tapTime)this._tap.touchstart(e,t,n);else{let r=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(r)<30;!i||!a?this.reset():n.length>0&&(this._swipePoint=r,this._swipeTouch=n[0].identifier)}}}touchmove(e,t,n){if(!this._tapTime)this._tap.touchmove(e,t,n);else if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let r=t[0],i=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:i/128*this._zoomRate}}}touchend(e,t,n){if(this._tapTime)this._swipePoint&&n.length===0&&this.reset();else{let r=this._tap.touchend(e,t,n);r&&(this._tapTime=e.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},eF=class{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(`maplibregl-touch-drag-pan`)}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(`maplibregl-touch-drag-pan`)}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}},tF=class{constructor(e,t,n,r){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=t,this._mousePitch=n,this._mouseRoll=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}},nF=class{constructor(e,t,n,r){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(`maplibregl-touch-zoom-rotate`)}
vendor: 8,768 bytes, line 814
814disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(`maplibregl-touch-zoom-rotate`)}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}setZoomRate(e){this._touchZoom.setZoomRate(e),this._tapDragZoom.setZoomRate(e)}setZoomThreshold(e){this._touchZoom.setZoomThreshold(e)}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}},rF=class{constructor(e,t){this._bypassKey=navigator.userAgent.includes(`Mac`)?`metaKey`:`ctrlKey`,this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add(`maplibregl-cooperative-gestures`),this._container=Q.create(`div`,`maplibregl-cooperative-gesture-screen`,e);let t=this._map._getUIString(`CooperativeGesturesHandler.WindowsHelpText`);this._bypassKey===`metaKey`&&(t=this._map._getUIString(`CooperativeGesturesHandler.MacHelpText`));let n=this._map._getUIString(`CooperativeGesturesHandler.MobileHelpText`),r=document.createElement(`div`);r.className=`maplibregl-desktop-message`,r.textContent=t,this._container.appendChild(r);let i=document.createElement(`div`);i.className=`maplibregl-mobile-message`,i.textContent=n,this._container.appendChild(i),this._container.setAttribute(`aria-hidden`,`true`)}_destroyUI(){this._container&&(this._container.remove(),this._map.getCanvasContainer().classList.remove(`maplibregl-cooperative-gestures`)),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,t){this._enabled&&(this._map.fire(new Ew(`cooperativegestureprevented`,{gestureType:e,originalEvent:t})),this._container.classList.add(`maplibregl-show`),setTimeout(()=>{this._container.classList.remove(`maplibregl-show`)},100))}},iF=class{constructor(e){this._camera=e}get transform(){return this._camera._requestedCameraState||this._camera.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(M.convert(e),this._camera.terrain)}},aF=e=>e.zoom||e.drag||e.roll||e.pitch||e.rotate,oF=class extends yr{};function sF(e){return e.panDelta?.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta||e.rollDelta}var cF=class{get _ownerDocument(){return this._el?.ownerDocument||document}get _ownerWindow(){return this._el?.ownerDocument?.defaultView||window}constructor(e,t,n){this._terrainGesture={inFlight:!1,anchorElevation:null},this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if(e.type===`blur`){this.stop(!0);return}this._updatingCamera=!0;let n=e.type===`renderFrame`?void 0:e,r={needsRenderFrame:!1},i={},a={};for(let{handlerName:o,handler:s,allowed:c}of this._handlers){if(!s.isEnabled())continue;let l;if(this._blockedByActive(a,c,o))s.reset();else if(s[t||e.type]){if(Xn(e,t||e.type)){let n=Q.mousePos(this._map.getCanvas(),e);l=s[t||e.type](e,n)}else if(Yn(e,t||e.type)){let n=e.touches,r=this._getMapTouches(n),i=Q.touchPos(this._map.getCanvas(),r);l=s[t||e.type](e,i,r)}else Zn(t||e.type)||(l=s[t||e.type](e));this.mergeHandlerResult(r,i,l,o,n),l?.needsRenderFrame&&this._triggerRenderFrame()}(l||s.isActive())&&(a[o]=s)}let o={};for(let e in this._previousActiveHandlers)a[e]||(o[e]=n);this._previousActiveHandlers=a,(Object.keys(o).length||sF(r))&&(this._changes.push([r,i,o]),this._triggerRenderFrame()),(Object.keys(a).length||sF(r))&&this._camera.stop(!0),this._updatingCamera=!1;let{cameraAnimation:s}=r;s&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],s(this._map))},this._map=e,this._camera=t,this._transformProvider=new iF(this._camera),this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new mP(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);let r=this._el;this._listeners=[[r,`touchstart`,{passive:!0}],[r,`touchmove`,{passive:!1}],[r,`touchend`,void 0],[r,`touchcancel`,void 0],[r,`mousedown`,void 0],[r,`mousemove`,void 0],[r,`mouseup`,void 0],[this._ownerDocument,`mousemove`,{capture:!0}],[this._ownerDocument,`mouseup`,void 0],[r,`mouseover`,void 0],[r,`mouseout`,void 0],[r,`dblclick`,void 0],[r,`click`,void 0],[r,`keydown`,{capture:!1}],[r,`keyup`,void 0],[r,`wheel`,{passive:!1}],[r,`contextmenu`,void 0],[this._ownerWindow,`blur`,void 0]];for(let[e,t,n]of this._listeners)e.addEventListener(t,e===this._ownerDocument?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(let[e,t,n]of this._listeners)e.removeEventListener(t,e===this._ownerDocument?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let t=this._map,n=t.getCanvasContainer();this._add(`mapEvent`,new _P(t,e));let r=t.boxZoom=new yP(t,e,this._transformProvider);this._add(`boxZoom`,r),e.interactive&&e.boxZoom&&r.enable();let i=t.cooperativeGestures=new rF(t,e.cooperativeGestures);this._add(`cooperativeGestures`,i),e.cooperativeGestures&&i.enable();let a=new wP(t,this._transformProvider),o=new QP(t,this._transformProvider);t.doubleClickZoom=new ZP(o,a),this._add(`tapZoom`,a),this._add(`clickZoom`,o),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let s=new $P;this._add(`tapDragZoom`,s);let c=t.touchPitch=new GP(t);this._add(`touchPitch`,c),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let l=()=>this._camera.transform.centerPoint,u=NP(e,l),d=PP(e),f=FP(e,l);t.dragRotate=new tF(e,u,d,f),this._add(`mouseRotate`,u,[`mousePitch`]),this._add(`mousePitch`,d,[`mouseRotate`,`mouseRoll`]),this._add(`mouseRoll`,f,[`mousePitch`]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let p=MP(e),m=new IP(e,t);t.dragPan=new eF(n,p,m),this._add(`mousePan`,p),this._add(`touchPan`,m,[`touchZoom`,`touchRotate`]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let h=new UP,g=new VP;t.touchZoomRotate=new nF(n,g,h,s),this._add(`touchRotate`,h,[`touchPan`,`touchZoom`]),this._add(`touchZoom`,g,[`touchPan`,`touchRotate`]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate),this._add(`blockableMapEvent`,new vP(t,e),[`touchPan`]);let _=t.scrollZoom=new XP(t,()=>this._triggerRenderFrame(),this._transformProvider);this._add(`scrollZoom`,_,[`mousePan`]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let v=t.keyboard=new qP(t,this._transformProvider);this._add(`keyboard`,v),e.interactive&&e.keyboard&&t.keyboard.enable()}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!aF(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let r in e)if(r!==n&&!t?.includes(r))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e){let e=n.target;this._el.contains(e)&&t.push(n)}return t}mergeHandlerResult(e,t,n,r,i){if(!n)return;I(e,n);let a={handlerName:r,originalEvent:n.originalEvent||i};n.zoomDelta!==void 0&&(t.zoom=a),n.panDelta!==void 0&&(t.drag=a),n.rollDelta!==void 0&&(t.roll=a),n.pitchDelta!==void 0&&(t.pitch=a),n.bearingDelta!==void 0&&(t.rotate=a)}_applyChanges(){let e={},t={},n={};for(let[r,i,a]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new M(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),r.rollDelta&&(e.rollDelta=(e.rollDelta||0)+r.rollDelta),r.around!==void 0&&(e.around=r.around),r.pinchAround!==void 0&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),I(t,i),I(n,a);this._updateMapTransform(e,t,n),this._changes=[]}_updateMapTransform(e,t,n){let r=this._map.terrain;if(!sF(e)){this._fireEvents(t,n,!0);return}let i=this._camera.getTransformForUpdate();this._camera.stop(!0);let{panDelta:a,zoomDelta:o,bearingDelta:s,pitchDelta:c,rollDelta:l}=e,{around:u,aroundOnSurface:d}
vendor: 20,056 bytes, line 814
814=this._resolveAround(e,r,i),f=r?this._terrainGestureElevation(r,u,d,i,t):void 0,p={panDelta:a,zoomDelta:o,rollDelta:l,pitchDelta:c,bearingDelta:s,around:u,aroundElevation:f};this._camera.cameraHelper.useGlobeControls&&!i.isPointOnMapSurface(u)&&(u=i.centerPoint);let m=this._computePreZoomAroundLoc(i,u,a,f);this._handleMapControls({terrain:r,tr:i,deltasForHelper:p,preZoomAroundLoc:m,combinedEventsInProgress:t,panDelta:a}),this._camera.applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_resolveAround(e,t,n){let r=e.pinchAround===void 0?e.around:e.pinchAround;return r||=this._camera.transform.centerPoint,t&&!n.isPointOnMapSurface(r)?{around:n.centerPoint,aroundOnSurface:!1}:{around:r,aroundOnSurface:!0}}_terrainGestureElevation(e,t,n,r,i){if(!n)return;if(this._terrainGesture.anchorElevation===null&&(i.drag||i.zoom)){let n=r.screenTerrainPointToMercatorCoordinate(t,e);this._terrainGesture.anchorElevation=n?n.z:void 0}let a=this._terrainGesture.anchorElevation;if(a!=null&&!(t.distSqr(r.centerPoint)<.01)&&!(a-r.elevation>=.9*(r.getCameraAltitude()-r.elevation)))return a}_computePreZoomAroundLoc(e,t,n,r){if(t.distSqr(e.centerPoint)<.01)return e.center;let i=n?t.sub(n):t;return r===void 0?e.screenPointToLocation(i):e.screenPointToLocationAtElevation(i,r)}_handleMapControls({terrain:e,tr:t,deltasForHelper:n,preZoomAroundLoc:r,combinedEventsInProgress:i,panDelta:a}){let o=this._camera.cameraHelper;if(o.handleMapControlsRollPitchBearingZoom(n,t),!e&&!o.useGlobeControls&&!t.isPointOnMapSurface(n.around)){a&&t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a)));return}if(!e){o.handleMapControlsPan(n,t,r);return}if(!this._terrainGesture.inFlight){this._terrainGesture.inFlight=!0,this._camera.elevationFreeze=!0,o.handleMapControlsPan(n,t,r);return}if(!o.useGlobeControls&&n.aroundElevation===void 0&&i.drag&&a){t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a)));return}o.handleMapControlsPan(n,t,r)}_fireEvents(e,t,n){let r=aF(this._eventsInProgress),i=aF(e),a={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(a[`${t}start`]=n),this._eventsInProgress[t]=e[t]}!r&&i&&this._fireEvent(`movestart`,i.originalEvent);for(let e in a)this._fireEvent(e,a[e]);i&&this._fireEvent(`move`,i.originalEvent);for(let t in e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let o={},s;for(let e in this._eventsInProgress){let{handlerName:n,originalEvent:r}=this._eventsInProgress[e];this._handlersById[n].isActive()||(delete this._eventsInProgress[e],s=t[n]||r,o[`${e}end`]=s)}for(let e in o)this._fireEvent(e,o[e]);let c=aF(this._eventsInProgress),l=(r||i)&&!c;if(l&&this._terrainGesture.inFlight){this._camera.elevationFreeze=!1,this._terrainGesture={inFlight:!1,anchorElevation:null};let e=this._camera.getTransformForUpdate();this._map.getCenterClampedToGround()&&e.recalculateZoomAndCenter(this._map.terrain),this._camera.applyUpdatedTransform(e)}if(n&&l){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),t=e=>e!==0&&-this._bearingSnap<e&&e<this._bearingSnap;e&&(e.essential||!fw.prefersReducedMotion)?(t(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:s})):(this._fireEvent(`moveend`,s),t(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}}_fireEvent(e,t){this._camera.fire(new $(e,t?{originalEvent:t}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(e=>{delete this._frameId,this.handleEvent(new oF(`renderFrame`,{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}},lF=class extends br{constructor(e){super(),this._renderFrameCallback=()=>{let e=Math.min((mw()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this.transform=new ak,this.cameraHelper=new fk,e.minZoom!==void 0&&this.transform.setMinZoom(e.minZoom),e.maxZoom!==void 0&&this.transform.setMaxZoom(e.maxZoom),e.minPitch!==void 0&&this.transform.setMinPitch(e.minPitch),e.maxPitch!==void 0&&this.transform.setMaxPitch(e.maxPitch),e.renderWorldCopies!==void 0&&this.transform.setRenderWorldCopies(e.renderWorldCopies),e.transformConstrain!==null&&this.transform.setConstrainOverride(e.transformConstrain),this._moving=!1,this._zooming=!1,this._bearingSnap=e.bearingSnap,this._zoomSnap=e.zoomSnap,this._requestRenderFrame=e.requestRenderFrame,this._cancelRenderFrame=e.cancelRenderFrame,this.terrain=e.terrain,this._centerClampedToGround=e.centerClampedToGround??!0,this.transformCameraUpdate=e.transformCameraUpdate??null,this._stopHandlers=e.stopHandlers??(()=>{}),this.on(`moveend`,()=>{delete this._requestedCameraState})}setTerrain(e){this.terrain=e,this.applyTerrainChange()}migrateProjection(e,t){if(e.apply(this.transform,!0),this.transform=e,this.cameraHelper=t,this._requestedCameraState){let t=e.clone();t.apply(this._requestedCameraState,!0),this._requestedCameraState=t}}getCenter(){return new X(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,t){return this.jumpTo({elevation:e},t),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,t,n){return e=M.convert(e).mult(-1),this.panTo(this.transform.center,I({offset:e},t),n)}panTo(e,t,n){return this.easeTo(I({center:e},t),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,t,n){return this.easeTo(I({zoom:e},t),n)}zoomIn(e,t){return this.zoomTo(bn(this.getZoom()+1,this._zoomSnap),e,t),this}zoomOut(e,t){return this.zoomTo(bn(this.getZoom()-1,this._zoomSnap),e,t),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,t){return e!=this.transform.fov&&(this.applyTransformChange(t=>t.setFov(e)),this.fire(new $(`movestart`,t)).fire(new $(`move`,t)).fire(new $(`moveend`,t))),this}getBearing(){return this.transform.bearing}setZoomSnap(e){return this._zoomSnap=e,this}getZoomSnap(){return this._zoomSnap}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,t,n){return this.easeTo(I({bearing:e},t),n)}resetNorth(e,t){return this.rotateTo(0,I({duration:1e3},e),t),this}resetNorthPitch(e,t){return this.easeTo(I({bearing:0,pitch:0,roll:0,duration:1e3},e),t),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}getRoll(){return this.transform.roll}setRoll(e,t){return this.jumpTo({roll:e},t),this}cameraForBounds(e,t){e=tE.convert(e).adjustAntiMeridian();let n=t?.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,t,n,r){let i={top:0,bottom:0,right:0,left:0};if(r=I({padding:i,offset:[0,0],maxZoom:this.transform.maxZoom},r),typeof r.padding==`number`){let e=r.padding;r.padding={top:e,bottom:e,right:e,left:e}}let a=I(i,r.padding);r.padding=a;let o=this.transform,s=new tE(e,t),c=this.cameraHelper.cameraForBoxAndBearing(r,a,s,n,o);return c&&this._zoomSnap&&(c.zoom=bn(c.zoom,this._zoomSnap,-1)),c}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,t,n,r,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(M.convert(e)),this.transform.screenPointToLocation(M.convert(t)),n,r),r,i)}_fitInternal(e,t,n){return e?(t=I(e,t),delete t.padding,t.linear?this.easeTo(t,n):this.flyTo(t,n)):this}jumpTo(e,t){this.stop(),e.zoom!==void 0&&this._zoomSnap&&(e.zoom=bn(e.zoom,this._zoomSnap));let n=this.getTransformForUpdate(),r=!1,i=!1,a=!1,o=n.zoom;this.terrain&&n.setElevation(this.terrain.getElevationForLngLat(e.center?X.convert(e.center):n.center,n)),this.cameraHelper.handleJumpToCenterZoom(n,e);let s=n.zoom!==o;return e.elevation!==void 0&&n.elevation!==+e.elevation&&n.setElevation(+e.elevation),e.bearing!==void 0&&n.bearing!==+e.bearing&&(r=!0,n.setBearing(+e.bearing)),e.pitch!==void 0&&n.pitch!==+e.pitch&&(i=!0,n.setPitch(+e.pitch)),e.roll!==void 0&&n.roll!==+e.roll&&(a=!0,n.setRoll(+e.roll)),e.padding!=null&&!n.isPaddingEqual(e.padding)&&n.setPadding(e.padding),this.applyUpdatedTransform(n),this.fire(new $(`movestart`,t)).fire(new $(`move`,t)),s&&this.fire(new $(`zoomstart`,t)).fire(new $(`zoom`,t)).fire(new $(`zoomend`,t)),r&&this.fire(new $(`rotatestart`,t)).fire(new $(`rotate`,t)).fire(new $(`rotateend`,t)),i&&this.fire(new $(`pitchstart`,t)).fire(new $(`pitch`,t)).fire(new $(`pitchend`,t)),a&&this.fire(new $(`rollstart`,t)).fire(new $(`roll`,t)).fire(new $(`rollend`,t)),this.fire(new $(`moveend`,t))}calculateAnchoredCameraOptions(e){let t=this.transform.clone(),n=X.convert(e.anchorLocation),r=M.convert(e.anchorScreenPoint),i={panDelta:r.sub(this.transform.locationToScreenPoint(n,this.terrain)),zoomDelta:e.zoom===void 0?0:e.zoom-t.zoom,bearingDelta:0,pitchDelta:0,rollDelta:0,around:r,aroundElevation:this.terrain?.getElevationForLngLat(n,t)};return this.cameraHelper.handleMapControlsRollPitchBearingZoom(i,t),this.cameraHelper.handleMapControlsPan(i,t,n),{center:t.center,zoom:t.zoom}}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i){let a=this.transform.calculateCenterFromCameraLngLatAlt(e,t,n,r);return{center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:n,pitch:r,roll:i}}easeTo(e,t){this._stop(!1,e.easeId),e=I({offset:[0,0],duration:500,easing:dn},e),e.zoom!==void 0&&this._zoomSnap&&(e.zoom=bn(e.zoom,this._zoomSnap)),(e.animate===!1||!e.essential&&fw.prefersReducedMotion)&&(e.duration=0);let n=this.getTransformForUpdate(),r=this.getBearing(),i=n.pitch,a=n.roll,o=e.bearing===void 0?r:this._normalizeBearing(e.bearing,r),s=e.pitch===void 0?i:+e.pitch,c=e.roll===void 0?a:this._normalizeBearing(e.roll,a),l=e.padding===void 0?n.padding:e.padding,u=M.convert(e.offset),d,f;e.around&&(d=X.convert(e.around),f=n.locationToScreenPoint(d));let p={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},m=this.cameraHelper.handleEaseTo(n,{bearing:o,pitch:s,roll:c,padding:l,around:d,aroundPoint:f,offsetAsPoint:u,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating||=r!==o,this._pitching||=s!==i,this._rolling||=c!==a,this._padding=!n.isPaddingEqual(l),this._zooming||=m.isZooming,this._easeId=e.easeId,this._prepareEase(t,e.noMoveStart,p),this.terrain&&this._prepareElevation(m.elevationCenter,n),this._ease(r=>{m.easeFunc(r),this.terrain&&!e.freezeElevation&&this._updateElevation(r,n),this.applyUpdatedTransform(n),this._fireMoveEvents(t)},n=>{this.terrain&&e.freezeElevation?this._finalizeElevation():this.elevationFreeze=!1,this._afterEase(t,n)},e),this}_prepareEase(e,t,n={}){this._moving=!0,!t&&!n.moving&&this.fire(new $(`movestart`,e)),this._zooming&&!n.zooming&&this.fire(new $(`zoomstart`,e)),this._rotating&&!n.rotating&&this.fire(new $(`rotatestart`,e)),this._pitching&&!n.pitching&&this.fire(new $(`pitchstart`,e)),this._rolling&&!n.rolling&&this.fire(new $(`rollstart`,e))}_prepareElevation(e,t){this._elevationCenter=e,this._elevationStart=t.elevation,this._elevationTarget=this.terrain.getElevationForLngLat(e,t),this.elevationFreeze=!0}_updateElevation(e,t){(this._elevationStart===void 0||this._elevationCenter===void 0)&&this._prepareElevation(t.center,t),t.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,t.tileZoom));let n=this.terrain.getElevationForLngLat(this._elevationCenter,t);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart,r=(n-(t*e+this._elevationStart))/(1-e);this._elevationStart+=e*(t-r),this._elevationTarget=n}t.setElevation(Vi.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this.elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}applyTerrainChange(){if(this.elevationFreeze)return;let e=this.transform;e.setMinElevationForCurrentTile(this.terrain?this.terrain.getMinTileElevationForLngLatZoom(e.center,e.tileZoom):0),this.getCenterClampedToGround()&&e.setElevation(this.terrain?this.terrain.getElevationForLngLat(e.center,e):0)}getTransformForUpdate(){return!this.transformCameraUpdate&&!this.terrain?this.transform:(this._requestedCameraState||=this.transform.clone(),this._requestedCameraState)}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};let t=e.getCameraLngLat(),n=e.getCameraAltitude(),r=this.terrain?this.terrain.getElevationForLngLatZoom(t,e.zoom):0;if(n<r){let n=e.calculateCameraOptionsFromTo(t,r,e.center,e.elevation);return{pitch:n.pitch,zoom:n.zoom}}return{}}applyUpdatedTransform(e){let t=[];if(t.push(e=>this._elevateCameraIfInsideTerrain(e)),this.transformCameraUpdate&&t.push(e=>this.transformCameraUpdate(e)),!t.length)return;let n=e.clone();for(let e of t){let t=n.clone(),{center:r,zoom:i,roll:a,pitch:o,bearing:s,elevation:c}=e(t);r&&t.setCenter(r),c!==void 0&&t.setElevation(c),i!==void 0&&t.setZoom(i),a!==void 0&&t.setRoll(a),o!==void 0&&t.setPitch(o),s!==void 0&&t.setBearing(s),n.apply(t,!1)}this.transform.apply(n,!1)}applyTransformChange(e){let t=this._requestedCameraState!==void 0,n=this.getTransformForUpdate();e(n),this.applyUpdatedTransform(n),t||delete this._requestedCameraState}_fireMoveEvents(e){this.fire(new $(`move`,e)),this._zooming&&this.fire(new $(`zoom`,e)),this._rotating&&this.fire(new $(`rotate`,e)),this._pitching&&this.fire(new $(`pitch`,e)),this._rolling&&this.fire(new $(`roll`,e))}_afterEase(e,t){if(this._easeId&&t&&this._easeId===t)return;delete this._easeId;let n=this._zooming,r=this._rotating,i=this._pitching,a=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,n&&this.fire(new $(`zoomend`,e)),r&&this.fire(new $(`rotateend`,e)),i&&this.fire(new $(`pitchend`,e)),a&&this.fire(new $(`rollend`,e)),this.fire(new $(`moveend`,e))}flyTo(e,t){if(!e.essential&&fw.prefersReducedMotion){let n=pn(e,[`center`,`zoom`,`bearing`,`pitch`,`roll`,`elevation`,`padding`]);return this.jumpTo(n,t)}this.stop(),e=I({offset:[0,0],speed:1.2,curve:1.42,easing:dn},e),e.zoom!==void 0&&this._zoomSnap&&(e.zoom=bn(e.zoom,this._zoomSnap));let n=this.getTransformForUpdate(),r=n.bearing,i=n.pitch,a=n.roll,o=n.padding,s=e.bearing===void 0?r:this._normalizeBearing(e.bearing,r),c=e.pitch===void 0?i:+e.pitch,l=e.roll===void 0?a:this._normalizeBearing(e.roll,a),u=e.padding===void 0?n.padding:e.padding,d=M.convert(e.offset),f=n.centerPoint.add(d),p=n.screenPointToLocation(f),m=this.cameraHelper.handleFlyTo(n,{bearing:s,pitch:c,roll:l,padding:u,locationAtOffset:p,offsetAsPoint:d,center:e.center,minZoom:e.minZoom,zoom:e.zoom}),h=e.curve,g=Math.max(n.width,n.height),_=g/m.scaleOfZoom,v=m.pixelPathLength,y=g/m.scaleOfMinZoom;h=Math.min(h,Math.sqrt(y/v*2));let b=h*h;function x(e){let t=(_*_-g*g+(e?-1:1)*b*b*v*v)/(2*(e?_:g)*b*v);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function C(e){return(Math.exp(e)+Math.exp(-e))/2}function w(e){return S(e)/C(e)}let T=x(!1),E=function(e){return C(T)/C(T+h*e)},D=function(e){return g*((C(T)*w(T+h*e)-S(T))/b)/v},O=(x(!0)-T)/h;if(Math.abs(v)<2e-6||!isFinite(O)){if(Math.abs(g-_)<1e-6)return this.easeTo(e,t);let n=_<g?-1:1;O=Math.abs(Math.log(_/g))/h,D=()=>0,E=e=>Math.exp(n*h*e)}if(e.duration!==void 0)e.duration=+e.duration;else{let t=e.screenSpeed===void 0?+e.speed:+e.screenSpeed/h;e.duration=1e3*O/t}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=r!==s,this._pitching=c!==i,this._rolling=l!==a,this._padding=!n.isPaddingEqual(u),this._prepareEase(t,!1),this.terrain&&this._prepareElevation(m.targetCenter,n),this._ease(p=>{let h=p*O,g=1/E(h),_=D(h);this._rotating&&n.setBearing(Vi.number(r,s,p)),this._pitching&&n.setPitch(Vi.number(i,c,p)),this._rolling&&n.setRoll(Vi.number(a,l,p)),this._padding&&(n.interpolatePadding(o,u,p),f=n.centerPoint.add(d)),m.easeFunc(p,g,_,f),this.terrain&&!e.freezeElevation&&this._updateElevation(p,n),this.applyUpdatedTransform(n),this._fireMoveEvents(t)},()=>{this.terrain&&e.freezeElevation?this._finalizeElevation():this.elevationFreeze=!1,this._afterEase(t)},e),this}isEasing(){return!!this._easeFrameId}stop(e){return this._stop(e)}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||this._stopHandlers(),this}_ease(e,t,n){n.animate===!1||n.duration===0?(e(1),t()):(this._easeStart=mw(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,t){e=fn(e,-180,180);let n=Math.abs(e-t);return Math.abs(e-360-t)<n&&(e-=360),Math.abs(e+360-t)<n&&(e+=360),e}isMoving(){return this._moving}isZooming(){return this._zooming}isRotating(){return this._rotating}},uF={compact:!0,customAttribution:`<a href="https://maplibre.org/" target="_blank">MapLibre</a>`},dF=class{constructor(e=uF){this._toggleAttribution=()=>{this._container.classList.contains(`maplibregl-compact`)&&(this._container.classList.contains(`maplibregl-compact-show`)?(this._container.setAttribute(`open`,``),this._container.classList.remove(`maplibregl-compact-show`)):(this._container.classList.add(`maplibregl-compact-show`),this._container.removeAttribute(`open`)))},this._updateData=e=>{e&&(e.type===`terrain`||e.dataType===`style`||e.dataType===`source`&&(e.sourceDataType===`metadata`||e.sourceDataType===`visibility`))&&this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(`open`,``):!this._container.classList.contains(`maplibregl-compact`)&&!this._container.classList.contains(`maplibregl-attrib-empty`)&&(this._container.setAttribute(`open`,``),this._container.classList.add(`maplibregl-compact`,`maplibregl-compact-show`)):(this._container.setAttribute(`open`,``),this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.remove(`maplibregl-compact`,`maplibregl-compact-show`))},this._updateCompactMinimize=()=>{this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.contains(`maplibregl-compact-show`)&&this._container.classList.remove(`maplibregl-compact-show`)},this.options=e}getDefaultPosition(){return`bottom-right`}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=Q.create(`details`,`maplibregl-ctrl maplibregl-ctrl-attrib`),this._compactButton=Q.create(`summary`,`maplibregl-ctrl-attrib-button`,this._container),this._compactButton.addEventListener(`click`,this._toggleAttribution),this._setElementTitle(this._compactButton,`ToggleAttribution`),this._innerContainer=Q.create(`div`,`maplibregl-ctrl-attrib-inner`,this._container),this._updateAttributions(),this._updateCompact(),this._map.on(`styledata`,this._updateData),this._map.on(`sourcedata`,this._updateData),this._map.on(`terrain`,this._updateData),this._map.on(`resize`,this._updateCompact),this._map.on(`drag`,this._updateCompactMinimize),this._container}onRemove(){this._container.remove(),this._map.off(`styledata`,this._updateData),this._map.off(`sourcedata`,this._updateData),this._map.off(`terrain`,this._updateData),this._map.off(`resize`,this._updateCompact),this._map.off(`drag`,this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)}_updateAttributions(){if(!this._map.style)return;let e=[];
vendor: 3,256 bytes, line 814
814if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(e=>typeof e==`string`?e:``)):typeof this.options.customAttribution==`string`&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.tileManagers;for(let n in t){let r=t[n];if(r.used||r.usedForTerrain){let t=r.getSource();t.attribution&&!e.includes(t.attribution)&&e.push(t.attribution)}}e=e.filter(e=>String(e).trim()),e.sort((e,t)=>e.length-t.length),e=e.filter((t,n)=>{for(let r=n+1;r<e.length;r++)if(e[r].includes(t))return!1;return!0});let n=e.join(` | `);n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.replaceChildren(Q.sanitize(n)),this._container.classList.remove(`maplibregl-attrib-empty`)):this._container.classList.add(`maplibregl-attrib-empty`),this._updateCompact(),this._editLink=null)}},fF=class{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&t.classList.add(`maplibregl-compact`):t.classList.remove(`maplibregl-compact`)}},this.options=e}getDefaultPosition(){return`bottom-left`}onAdd(e){this._map=e,this._compact=this.options?.compact,this._container=Q.create(`div`,`maplibregl-ctrl`);let t=Q.create(`a`,`maplibregl-ctrl-logo`);return t.target=`_blank`,t.rel=`noopener nofollow`,t.href=`https://maplibre.org/`,t.setAttribute(`aria-label`,this._map._getUIString(`LogoControl.Title`)),t.setAttribute(`rel`,`noopener nofollow`),this._container.appendChild(t),this._container.style.display=`block`,this._map.on(`resize`,this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off(`resize`,this._updateCompact),this._map=void 0,this._compact=void 0}},pF=class{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,n=t?this._queue.concat(t):this._queue;for(let t of n)if(t.id===e){t.cancelled=!0;return}}run(e=0){if(this._currentlyRunning)throw Error(`Attempting to run(), but is already running.`);let t=this._currentlyRunning=this._queue;this._queue=[];let n=!1,r;for(let i of t)if(!i.cancelled){try{i.callback(e)}catch(e){n||(n=!0,r=e)}if(this._cleared)break}if(this._cleared=!1,this._currentlyRunning=!1,n)throw r}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}},mF=[`none`,`zoom`,`sourceTiles`,`visibleLayers`,`revision`],hF=class{constructor(e,t,n,r){this._tileKeys=e.map(e=>e.key).sort().join(),this._revision=t,this._zoom=n,this._visibleLayerIds=r}difference(e){return this._revision===e?._revision?this._visibleLayerIds===e._visibleLayerIds?this._tileKeys===e._tileKeys?this._zoom===e._zoom?`none`:`zoom`:`sourceTiles`:`visibleLayers`:`revision`}},gF={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0},_F=class{constructor(e,t){this.needsFollowUpFrame=!1,this.painter=e,this.terrain=t,this.rttSize=t.tileManager.tileSize*t.qualityFactor}getTexture(e){return e.getRTT(this._stacks.length-1).texture}
vendor: 13,900 bytes, line 814
814prepareForRender(e,t){let n=t!==this._lastPrepareZoom;this._lastPrepareZoom=t,this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=e._order.filter(n=>!e._layers[n].isHidden(t));let r=this._renderableLayerIds.join(),i=new Set;for(let t of this._renderableLayerIds){let n=e._layers[t],r=n.source;r&&gF[n.type]&&i.add(r)}this._coordsAscending={},this._rttFingerprints={};for(let n of i){let i=e.tileManagers[n];if(!i)continue;this._coordsAscending[n]={};let a=this._coordsAscending[n],o=i.getSource(),s=o instanceof AE?o.terrainTileRanges:null;for(let e of i.getVisibleCoordinates()){let t=this.terrain.tileManager.getTerrainCoords(e,s);for(let e in t)a[e]||=[],a[e].push(t[e])}this._rttFingerprints[n]={};let c=this._rttFingerprints[n],l=i.getState().revision;for(let e in a)c[e]=new hF(a[e],l,t,r)}this.needsFollowUpFrame=!1;let a=n||this.painter.options.moving,o=!1;for(let e of this._renderableTiles){let t=this._textureDifference(e);t!==`none`&&(t===`zoom`&&a||t===`visibleLayers`&&n?this.needsFollowUpFrame=!0:t===`zoom`||t===`sourceTiles`?(o?this.needsFollowUpFrame=!0:e.releaseRTT(this.painter),o=!0):e.releaseRTT(this.painter))}}_textureDifference(e){let t=`none`;for(let n in this._rttFingerprints){let r=this._rttFingerprints[n][e.tileID.key];if(!r)continue;let i=r.difference(e.rttFingerprint[n]);mF.indexOf(i)>mF.indexOf(t)&&(t=i)}return t}renderLayer(e,t){if(e.isHidden(this.painter.transform.zoom))return!1;let n=e.type,r=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(gF[n]&&((!this._prevType||!gF[this._prevType])&&this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!i))return!0;if(gF[this._prevType]||gF[n]&&i){this._prevType=n;let e=this._stacks.length-1,i=this._stacks[e]||[];t.isRenderingToTexture=!0;for(let n of this._renderableTiles){if(this._rttTiles.push(n),n.getRTT(e))continue;let a=n.acquireRTT(r,e,this.rttSize);r.bindRTT(a),r.context.clear({color:U.transparent,stencil:0}),r.currentStencilSource=void 0;for(let e of i){let i=r.style._layers[e],a=i.source?this._coordsAscending[i.source][n.tileID.key]:[n.tileID];r.context.viewport.set([0,0,this.rttSize,this.rttSize]),r.renderTileClippingMasks(i,a),r.renderLayer(r,r.style.tileManagers[i.source],i,a,t),i.source&&(n.rttFingerprint[i.source]=this._rttFingerprints[i.source][n.tileID.key])}a.texture.generateMipmap()}return t.isRenderingToTexture=!1,QN(this.painter,this.terrain,this._rttTiles,t),this._rttTiles=[],gF[n]}return!1}},vF={"AttributionControl.ToggleAttribution":`Toggle attribution`,"AttributionControl.MapFeedback":`Map feedback`,"FullscreenControl.Enter":`Enter fullscreen`,"FullscreenControl.Exit":`Exit fullscreen`,"GeolocateControl.FindMyLocation":`Find my location`,"GeolocateControl.LocationNotAvailable":`Location not available`,"LogoControl.Title":`MapLibre logo`,"Map.Title":`Map`,"Marker.Title":`Map marker`,"NavigationControl.ResetBearing":`Drag to rotate map, click to reset north`,"NavigationControl.ZoomIn":`Zoom in`,"NavigationControl.ZoomOut":`Zoom out`,"Popup.Close":`Close popup`,"ScaleControl.Feet":`ft`,"ScaleControl.Meters":`m`,"ScaleControl.Kilometers":`km`,"ScaleControl.Miles":`mi`,"ScaleControl.NauticalMiles":`nm`,"GlobeControl.Enable":`Enable globe`,"GlobeControl.Disable":`Disable globe`,"TerrainControl.Enable":`Enable terrain`,"TerrainControl.Disable":`Disable terrain`,"CooperativeGesturesHandler.WindowsHelpText":`Use Ctrl + scroll to zoom the map`,"CooperativeGesturesHandler.MacHelpText":`Use â + scroll to zoom the map`,"CooperativeGesturesHandler.MobileHelpText":`Use two fingers to move the map`},yF=iw,bF={hash:!1,interactive:!0,bearingSnap:7,zoomSnap:0,attributionControl:uF,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:`high-performance`,failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:nr.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,transformConstrain:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:`sans-serif`,pitchWithRotate:!0,rollEnabled:!1,rotateSpeed:.8,pitchSpeed:-.5,reduceMotion:void 0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0,terrainSkirtLength:`auto`,zoomLevelsToOverscale:4,anisotropicFilterPitch:20},xF=class extends br{get _ownerWindow(){return this._container?.ownerDocument?.defaultView||window}constructor(e){super(),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new pF,this._controls=[],this._mapId=hn(),this._styleUrl=null,this._missingStyleImageResolver=null,this._lostContextStyle={style:null,images:null},this._contextLost=e=>{if(e.preventDefault(),this._frameRequest&&=(this._frameRequest.abort(),null),this.painter.destroy(),this._lostContextStyle=this._getStyleAndImages(),!this.style){this.fire(new Iw(`webglcontextlost`,{originalEvent:e}));return}for(let e of Object.values(this.style._layers))if(e.type===`custom`&&console.warn(`Custom layer with id '${e.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`),e._listeners)for(let[t]of Object.entries(e._listeners))console.warn(`Custom layer with id '${e.id}' had event listeners for event '${t}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`);this.style.destroy(),this.style=null,this.fire(new Iw(`webglcontextlost`,{originalEvent:e}))},this._contextRestored=e=>{if(this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&this.style){this.style.imageManager.images=this._lostContextStyle.images;for(let e in this._lostContextStyle.images){let t=this._lostContextStyle.images[e];t.isWebGLImage&&this.style.imageManager.updateImage(e,t,!1)}}this._lostContextStyle={style:null,images:null};try{this._setupPainter()}catch(e){this.fire(new L(e));return}this.resize(),this._update(),this._resizeInternal(),this.fire(new Iw(`webglcontextrestored`,{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()};let t={...bF,...e,canvasContextAttributes:{...bF.canvasContextAttributes,...e.canvasContextAttributes}};if(t.minZoom!=null&&t.maxZoom!=null&&t.minZoom>t.maxZoom)throw Error(`maxZoom must be greater than or equal to minZoom`);if(t.minPitch!=null&&t.maxPitch!=null&&t.minPitch>t.maxPitch)throw Error(`maxPitch must be greater than or equal to minPitch`);if(t.minPitch!=null&&t.minPitch<0)throw Error(`minPitch must be greater than or equal to 0`);if(t.maxPitch!=null&&t.maxPitch>180)throw Error(`maxPitch must be less than or equal to 180`);this._camera=new lF({minZoom:t.minZoom,maxZoom:t.maxZoom,minPitch:t.minPitch,maxPitch:t.maxPitch,bearingSnap:t.bearingSnap,zoomSnap:t.zoomSnap,renderWorldCopies:t.renderWorldCopies,centerClampedToGround:t.centerClampedToGround,terrain:this.terrain,transformConstrain:t.transformConstrain,requestRenderFrame:e=>this._requestRenderFrame(e),cancelRenderFrame:e=>this._cancelRenderFrame(e),transformCameraUpdate:t.transformCameraUpdate,stopHandlers:()=>this._handlers?.stop(!1)}),this._camera.setEventedParent(this),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._maxTileCacheZoomLevels=t.maxTileCacheZoomLevels,this._canvasContextAttributes={...t.canvasContextAttributes},this._trackResize=t.trackResize===!0,this._terrainSkirtLength=t.terrainSkirtLength,this._refreshExpiredTiles=t.refreshExpiredTiles===!0,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions===!0,this._collectResourceTiming=t.collectResourceTiming===!0,this._locale={...vF,...t.locale},this._clickTolerance=t.clickTolerance,this._overridePixelRatio=t.pixelRatio,this._maxCanvasSize=t.maxCanvasSize,this._zoomLevelsToOverscale=t.zoomLevelsToOverscale,this.cancelPendingTileRequestsWhileZooming=t.cancelPendingTileRequestsWhileZooming===!0,this.setAnisotropicFilterPitch(t.anisotropicFilterPitch),t.reduceMotion!==void 0&&(fw.prefersReducedMotion=t.reduceMotion),this._requestManager=new Tw(t.transformRequest),this._container=this._resolveContainer(t.container),t.maxBounds&&this.setMaxBounds(t.maxBounds),this._setupContainer();try{this._setupPainter()}catch(e){throw this._cleanupContainer(),e}this._imageQueueHandle=ww.addThrottleControl(()=>this.isMoving()),this.on(`move`,()=>this._update(!1)),this.on(`moveend`,()=>this._update(!1)),this.on(`zoom`,()=>this._update(!0)),this.on(`terrain`,()=>{this.painter.markTerrainDepthDirty(),this._update(!0)}),this.once(`idle`,()=>this._idleTriggered=!0),this._handlers=new cF(this,this._camera,t),typeof window<`u`&&(this._ownerWindow.addEventListener(`online`,this._onWindowOnline,!1),this._setupResizeObserver());let n=typeof t.hash==`string`&&t.hash||void 0;this._hash=t.hash?new sP(n).addTo(this):void 0,this._hash?._onHashChange()||(this.jumpTo({center:t.center,elevation:t.elevation,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch,roll:t.roll}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,I({},t.fitBoundsOptions,{duration:0}))));let r=typeof t.style==`string`||t.style?.projection?.type!==`globe`;this.resize(null,r),this._localIdeographFontFamily=t.localIdeographFontFamily,this._validateStyle=t.validateStyle,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new dF(typeof t.attributionControl==`boolean`?void 0:t.attributionControl)),t.maplibreLogo&&this.addControl(new fF,t.logoPosition),this.on(`style.load`,()=>{if(r||this._resizeTransform(),this._camera.transform.unmodified){let e=pn(this.style.stylesheet,[`center`,`zoom`,`bearing`,`pitch`,`roll`]);this.jumpTo(e)}}),this.on(`data`,e=>{this._update(e.dataType===`style`),this.fire(e.dataType===`style`?new Ow(`styledata`,e):new kw(`sourcedata`,e))}),this.on(`dataloading`,e=>{this.fire(e.dataType===`style`?new Ow(`styledataloading`,e):new kw(`sourcedataloading`,e))}),this.on(`dataabort`,e=>{this.fire(new kw(`sourcedataabort`,e))})}_getMapId(){return this._mapId}setGlobalStateProperty(e,t){return this.style.setGlobalStateProperty(e,t),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(e,t){if(t===void 0&&(t=e.getDefaultPosition?e.getDefaultPosition():`top-right`),!e?.onAdd)return this.fire(new L(Error(`Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.`)));let n=e.onAdd(this);this._controls.push(e);let r=this._controlPositions[t];return t.includes(`bottom`)?r.insertBefore(n,r.firstChild):r.appendChild(n),this}removeControl(e){if(!e?.onRemove)return this.fire(new L(Error(`Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.`)));let t=this._controls.indexOf(e);return t>-1&&this._controls.splice(t,1),e.onRemove(this),this}hasControl(e){return this._controls.includes(e)}coveringTiles(e){return dD(this._camera.transform,e)}setTransformCameraUpdate(e){this._camera.transformCameraUpdate=e}getCenter(){return new X(this._camera.transform.center.lng,this._camera.transform.center.lat)}setCenter(e,t){return this._camera.setCenter(e,t),this}getCenterElevation(){return this._camera.transform.elevation}setCenterElevation(e,t){return this._camera.setCenterElevation(e,t),this}setCenterClampedToGround(e){this._camera.setCenterClampedToGround(e)}panBy(e,t,n){return this._camera.panBy(e,t,n),this}panTo(e,t,n){return this._camera.panTo(e,t,n),this}getZoom(){return this._camera.transform.zoom}setZoom(e,t){return this._camera.setZoom(e,t),this}zoomTo(e,t,n){return this._camera.zoomTo(e,t,n),this}zoomIn(e,t){return this._camera.zoomIn(e,t),this}zoomOut(e,t){return this._camera.zoomOut(e,t),this}getVerticalFieldOfView(){return this._camera.transform.fov}setVerticalFieldOfView(e,t){return this._camera.setVerticalFieldOfView(e,t),this}getBearing(){return this._camera.transform.bearing}setBearing(e,t){return this._camera.setBearing(e,t),this}getZoomSnap(){return this._camera.getZoomSnap()}setZoomSnap(e){return this._camera.setZoomSnap(e),this}getPadding(){return this._camera.transform.padding}setPadding(e,t){return this._camera.setPadding(e,t),this}rotateTo(e,t,n){return this._camera.rotateTo(e,t,n),this}resetNorth(e,t){return this._camera.resetNorth(e,t),this}resetNorthPitch(e,t){return this._camera.resetNorthPitch(e,t),this}snapToNorth(e,t){return this._camera.snapToNorth(e,t),this}getPitch(){return this._camera.transform.pitch}setPitch(e,t){return this._camera.setPitch(e,t),this}getRoll(){return this._camera.transform.roll}setRoll(e,t){return this._camera.setRoll(e,t),this}cameraForBounds(e,t){return this._camera.cameraForBounds(e,t)}fitBounds(e,t,n){return this._camera.fitBounds(e,t,n),this}fitScreenCoordinates(e,t,n,r,i){return this._camera.fitScreenCoordinates(e,t,n,r,i),this}jumpTo(e,t){return this._camera.jumpTo(e,t),this}calculateAnchoredCameraOptions(e){return this._camera.calculateAnchoredCameraOptions(e)}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i){return this._camera.calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i)}easeTo(e,t){return this._camera.easeTo(e,t),this}flyTo(e,t){return this._camera.flyTo(e,t),this}stop(){return this._camera.stop(),this}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLat(X.convert(e),this._camera.transform):null}
vendor: 7,303 bytes, line 814
814getCenterClampedToGround(){return this._camera.getCenterClampedToGround()}calculateCameraOptionsFromTo(e,t,n,r){return r==null&&this.terrain&&(r=this.terrain.getElevationForLngLat(n,this._camera.transform)),this._camera.transform.calculateCameraOptionsFromTo(e,t,n,r??0)}resize(e,t=!0){if(this._lostContextStyle.style!==null)return this;this._resizeInternal(t);let n=!this._camera._moving;return n&&(this.stop(),this.fire(new $(`movestart`,e)).fire(new $(`move`,e))),this.fire(new Ew(`resize`,e)),n&&this.fire(new $(`moveend`,e)),this}_resizeInternal(e=!0){let[t,n]=this._containerDimensions(),r=this._getClampedPixelRatio(t,n);if(this._resizeCanvas(t,n,r),this.painter.resize(t,n,r),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let r=this._getClampedPixelRatio(t,n);this._resizeCanvas(t,n,r),this.painter.resize(t,n,r)}this._resizeTransform(e)}_resizeTransform(e=!0){let[t,n]=this._containerDimensions();this._camera.transform.resize(t,n,e),this._camera._requestedCameraState?.resize(t,n,e)}_getClampedPixelRatio(e,t){let{0:n,1:r}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i,s=a>n?n/a:1,c=o>r?r/o:1,l=Math.min(s,c);return l<1&&En(`The canvas is larger than maxCanvasSize and is rendered at a lower pixel ratio to fit. Increase maxCanvasSize, within MAX_TEXTURE_SIZE, to render at full resolution.`),l*i}getPixelRatio(){return this._overridePixelRatio??devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this._camera.transform.getBounds()}getMaxBounds(){return this._camera.transform.getMaxBounds()}setMaxBounds(e){return this._camera.applyTransformChange(t=>t.setMaxBounds(tE.convert(e))),this._update()}setMinZoom(e){if(e??=-2,e>=-2&&e<=this._camera.transform.maxZoom){let t=this._camera.transform.zoom;return this._camera.applyTransformChange(t=>t.setMinZoom(e)),this._update(),t!==this._camera.transform.zoom&&this.fire(new $(`zoomstart`)).fire(new $(`zoom`)).fire(new $(`zoomend`)).fire(new $(`movestart`)).fire(new $(`move`)).fire(new $(`moveend`)),this}throw Error(`minZoom must be between -2 and the current maxZoom, inclusive`)}getMinZoom(e=!1){let t=this._camera.transform;return e?t.applyConstrain(t.center,t.minZoom).zoom:t.minZoom}setMaxZoom(e){if(e??=22,e>=this._camera.transform.minZoom){let t=this._camera.transform.zoom;return this._camera.applyTransformChange(t=>t.setMaxZoom(e)),this._update(),t!==this._camera.transform.zoom&&this.fire(new $(`zoomstart`)).fire(new $(`zoom`)).fire(new $(`zoomend`)).fire(new $(`movestart`)).fire(new $(`move`)).fire(new $(`moveend`)),this}throw Error(`maxZoom must be greater than the current minZoom`)}getMaxZoom(){return this._camera.transform.maxZoom}setMinPitch(e){if(e??=0,e<0)throw Error(`minPitch must be greater than or equal to 0`);if(e>=0&&e<=this._camera.transform.maxPitch){let t=this._camera.transform.pitch;return this._camera.applyTransformChange(t=>t.setMinPitch(e)),this._update(),t!==this._camera.transform.pitch&&this.fire(new $(`pitchstart`)).fire(new $(`pitch`)).fire(new $(`pitchend`)).fire(new $(`movestart`)).fire(new $(`move`)).fire(new $(`moveend`)),this}throw Error(`minPitch must be between 0 and the current maxPitch, inclusive`)}getMinPitch(){return this._camera.transform.minPitch}setMaxPitch(e){if(e??=60,e>180)throw Error(`maxPitch must be less than or equal to 180`);if(e>=this._camera.transform.minPitch){let t=this._camera.transform.pitch;return this._camera.applyTransformChange(t=>t.setMaxPitch(e)),this._update(),t!==this._camera.transform.pitch&&this.fire(new $(`pitchstart`)).fire(new $(`pitch`)).fire(new $(`pitchend`)).fire(new $(`movestart`)).fire(new $(`move`)).fire(new $(`moveend`)),this}throw Error(`maxPitch must be greater than the current minPitch`)}getMaxPitch(){return this._camera.transform.maxPitch}getAnisotropicFilterPitch(){return this._anisotropicFilterPitch}setAnisotropicFilterPitch(e){if(e??=20,e>180)throw Error(`anisotropicFilterPitch must be less than or equal to 180`);if(e<0)throw Error(`anisotropicFilterPitch must be greater than or equal to 0`);return this._anisotropicFilterPitch=e,this._update()}getRenderWorldCopies(){return this._camera.transform.renderWorldCopies}setRenderWorldCopies(e){return this._camera.applyTransformChange(t=>t.setRenderWorldCopies(e)),this._update()}setTransformConstrain(e){return this._camera.applyTransformChange(t=>t.setConstrainOverride(e)),this._update()}project(e){return this._camera.transform.locationToScreenPoint(X.convert(e),this.style&&this.terrain)}unproject(e){return this._camera.transform.screenPointToLocation(M.convert(e),this.terrain)}isMoving(){return this._camera.isMoving()||this._handlers?.isMoving()||!1}isZooming(){return this._camera.isZooming()||this._handlers?.isZooming()||!1}isRotating(){return this._camera.isRotating()||this._handlers?.isRotating()||!1}_createDelegates(e,t,n){if(e===`mouseenter`||e===`mouseover`){let r=!1;return{mousemove:i=>{let a=t.filter(e=>this.getLayer(e)),o=a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a});o.length?r||(r=!0,n.call(this,new Aw(e,this,i.originalEvent,{features:o}))):r=!1},mouseout:()=>{r=!1}}}if(e===`mouseleave`||e===`mouseout`){let r=!1;return{mousemove:i=>{let a=t.filter(e=>this.getLayer(e));(a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a})).length?r=!0:r&&(r=!1,n.call(this,new Aw(e,this,i.originalEvent)))},mouseout:t=>{r&&(r=!1,n.call(this,new Aw(e,this,t.originalEvent)))}}}{let r=e=>{let r=t.filter(e=>this.getLayer(e)),i=r.length===0?[]:this.queryRenderedFeatures(e.point,{layers:r});i.length&&(e.features=i,n.call(this,e),delete e.features)};return{[e]:r}}}_addDelegatedListener(e,t){this._delegatedListeners||={},this._delegatedListeners[e]||=[],this._delegatedListeners[e].push(t);for(let e in t.delegates)this.on(e,t.delegates[e])}_removeDelegatedListener(e,t,n){if(!this._delegatedListeners?.[e])return;let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.listener===n&&i.layers.length===t.length&&i.layers.every(e=>t.includes(e))){for(let e in i.delegates)this.off(e,i.delegates[e]);r.splice(e,1);return}}}on(e,t,n){if(n===void 0)return super.on(e,t);let r=typeof t==`string`?[t]:t,i={layers:r,listener:n,delegates:this._createDelegates(e,r,n)};return this._addDelegatedListener(e,i),{unsubscribe:()=>{this._removeDelegatedListener(e,r,n)}}}once(e,t,n){if(n===void 0)return super.once(e,t);let r=typeof t==`string`?[t]:t,i={layers:r,listener:n,delegates:this._createDelegates(e,r,t=>{this._removeDelegatedListener(e,r,n),n.call(this,t)})};return this._addDelegatedListener(e,i),this}off(e,t,n){if(n===void 0)return super.off(e,t);let r=typeof t==`string`?[t]:t;return this._removeDelegatedListener(e,r,n),this}queryRenderedFeatures(e,t){if(!this.style)return[];let n,r=e instanceof M||Array.isArray(e),i=r?e:[[0,0],[this._camera.transform.width,this._camera.transform.height]];if(t||=(r?{}:e)||{},i instanceof M||typeof i[0]==`number`)n=[M.convert(i)];else{let e=M.convert(i[0]),t=M.convert(i[1]);n=[e,new M(t.x,e.y),t,new M(e.x,t.y),e]}return this.style.queryRenderedFeatures(n,t,this._camera.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,t){return t=I({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._val
vendor: 6,238 bytes, line 814
814idateStyle},t),this._styleUrl=typeof e==`string`?e:null,t.diff!==!1&&t.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,t),this):(this._localIdeographFontFamily=t.localIdeographFontFamily,this._updateStyle(e,t))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(t==null)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(this._diffStyleRequest?.abort(),this._diffStyleRequest=null,t.transformStyle&&this.style&&!this.style._loaded){this.style.once(`style.load`,()=>this._updateStyle(e,t));return}let n=this.style&&t.transformStyle?this.style.serialize():void 0;if(this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e)this.style=new oA(this,t||{});else return this._frameRequest&&=(this._frameRequest.abort(),null),this.style?.projection?.destroy(),delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof e==`string`?this.style.loadURL(e,t,n):this.style.loadJSON(e,t,n),this}_lazyInitEmptyStyle(){this.style||(this.style=new oA(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}async _diffStyle(e,t){if(this._diffStyleRequest?.abort(),typeof e==`string`){let n=e;this._diffStyleRequest=new AbortController;let r=this._diffStyleRequest;try{let e=await this._requestManager.transformRequest(n,`Style`);if(r.signal.aborted){this._diffStyleRequest=null;return}let i=await pr(e,r);this._diffStyleRequest=null,this._updateDiff(i.data,t)}catch(e){this._diffStyleRequest=null,er(e)||this.fire(new L(Wt(e)))}}else typeof e==`object`&&(this._diffStyleRequest=null,this._updateDiff(e,t))}_updateDiff(e,t){try{this.style.setState(e,t)&&this._update(!0)}catch(n){En(`Unable to perform style diff: ${Wt(n).message}. Rebuilding the style from scratch.`),this._updateStyle(e,t)}}getStyle(){if(this.style)return this.style.serialize()}getStyleUrl(){return this._styleUrl}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){if(!this.style){En(`There is no style added to the map.`);return}return this.style.loaded()}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let t=this.style?.tileManagers[e];if(t===void 0){this.fire(new L(Error(`There is no tile manager with ID '${e}'`)));return}return t.loaded()}setTerrain(e,t={}){if(this.style._checkLoaded(),e&&rl(this,Qc.terrain,{value:e},t))return this;if(this._terrainDataCallback&&this.style.off(`data`,this._terrainDataCallback),!e)this.terrain&&this.terrain.destroy(),this.terrain=null,this.painter.renderToTexture=null,this.painter.destroyRTTResources(),this._camera.setTerrain(null);else{let t=this.style.tileManagers[e.source];if(!t)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain===null&&t.reload();for(let t in this.style._layers){let n=this.style._layers[t];n.type===`hillshade`&&n.source===e.source&&En(`You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`),n.type===`color-relief`&&n.source===e.source&&En(`You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`)}this.terrain&&this.terrain.destroy(),this.terrain=new ek(this.painter,t,e,this._terrainSkirtLength),this.painter.renderToTexture=new _F(this.painter,this.terrain),this._camera.setTerrain(this.terrain),this._terrainDataCallback=t=>this._handleTerrainDataEvent(t,e.source),this.style.on(`data`,this._terrainDataCallback)}return this.style.triggerSymbolPlacement(),this.fire(new Pw({terrain:e})),this}_handleTerrainDataEvent(e,t){if(e.dataType===`style`){this.terrain.tileManager.releaseAllRTT();return}let n=e.sourceId===t;if(n&&(this.terrain.resetElevationCache(),this.style.triggerSymbolPlacement()),n&&e.tile&&(this.painter.markTerrainDepthDirty(),this._camera.applyTerrainChange()),e.tile){if(e.source?.type===`image`){this.terrain.tileManager.releaseAllRTT();return}this.terrain.tileManager.releaseRTT(e.tile.tileID)}}getTerrain(){return this.terrain?.options??null}areTilesLoaded(){let e=this.style?.tileManagers;for(let t of Object.values(e))if(!t.areTilesLoaded())return!1;return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style?.getSource(e)}setSourceTileLodParams(e,t,n){if(n){let r=this.getSource(n);if(!r)throw Error(`There is no source with ID "${n}", cannot set LOD parameters`);r.calculateTileZoom=aD(Math.max(1,e),Math.max(1,t))}else for(let n in this.style.tileManagers)this.style.tileManagers[n].getSource().calculateTileZoom=aD(Math.max(1,e),Math.max(1,t));return this._update(!0),this}refreshTiles(e,t){let n=this.style.tileManagers[e];if(!n)throw Error(`There is no tile manager with ID "${e}", cannot refresh tile`);t===void 0?n.reload(!0):n.refreshTiles(t.map(e=>new fy(e.z,e.x,e.y)))}addImage(e,t,n={}){this._lazyInitEmptyStyle();let r=this._createStyleImage(t,n);return r?(this.style.addImage(e,r),r.userImage?.onAdd&&r.userImage.onAdd(this,e),this):this}setMissingStyleImageResolver(e){return this._missingStyleImageResolver=e,this.style?.setMissingImageResolver(e),this}_createStyleImage(e,t={}){let{pixelRatio:n=1,sdf:r=!1,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c}=t;if(e instanceof HTMLImageElement||Pn(e)){let{width:t,height:l,data:u}=fw.getImageData(e);return{data:new vf({width:t,height:l},u),pixelRatio:n,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c,sdf:r,version:0}}if(e.width===void 0||e.height===void 0)return this.fire(new L(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"))),null;{let{width:t,height:l,data:u}=e,d=e,f=l_(d.data);return{data:f?new vf({width:t,height:l}):new vf({width:t,height:l},new Uint8Array(u)),pixelRatio:n,stretchX:i,stretchY:a,content:o,textFitWidth:s,textFitHeight:c,sdf:r,version:0,isWebG
vendor: 6,749 bytes, line 814
814LImage:f,userImage:d}}}updateImage(e,t){let n=this.style.getImage(e);if(!n)return this.fire(new L(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:r,height:i,data:a}=t instanceof HTMLImageElement||Pn(t)?fw.getImageData(t):t;if(r===void 0||i===void 0)return this.fire(new L(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(r!==n.data.width||i!==n.data.height)return this.fire(new L(Error(`The width and height of the updated image must be that same as the previous version of the image`)));if(n.isWebGLImage=l_(a),n.isWebGLImage)n.userImage=t;else{let e=!(t instanceof HTMLImageElement||Pn(t));n.data.replace(a,e)}return this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new L(Error(`Missing required image id`))),!1)}removeImage(e){this.style.removeImage(e)}async loadImage(e){let t=await ww.getImage(await this._requestManager.transformRequest(e,`Image`),new AbortController);if(!t.data)throw Error(`Could not load image ${e}: the response is empty`);return t}listImages(){return this.style?.listImages()??[]}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style?.getLayer(e)}getLayersOrder(){return this.style?.getLayersOrder()??[]}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style?.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,r={}){return this.style?.setPaintProperty(e,t,n,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,r={}){return this.style.setLayoutProperty(e,t,n,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}setFontFaces(e){return this._lazyInitEmptyStyle(),this.style.setFontFaces(e),this._update(!0)}getFontFaces(){return this.style.getFontFaces()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,e=>{e||this._update(!0)}),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,e=>{e||this._update(!0)}),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(e,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=Math.floor(this._container.clientWidth)||400,t=Math.floor(this._container.clientHeight)||300),[e,t]}_shouldHandleInitialResize(){if(!this._container?.clientWidth||!this._container.clientHeight)return!1;let[e,t]=this._containerDimensions();return e!==this._camera.transform.width||t!==this._camera.transform.height}_setupResizeObserver(){let e=!1,t=oP(e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())},50),n=this._ownerWindow.ResizeObserver??ResizeObserver;this._resizeObserver=new n(n=>{!e&&(e=!0,!this._shouldHandleInitialResize())||t(n)}),this._resizeObserver.observe(this._container)}_resolveContainer(e){if(typeof e==`string`){let t=document.getElementById(e);if(!t)throw Error(`Container '${e}' not found.`);return t}if(e instanceof HTMLElement||e&&typeof e==`object`&&e.nodeType===1)return e;throw Error(`Invalid type: 'container' must be a String or HTMLElement.`)}_setupContainer(){let e=this._containerDimensions(),t=this._getClampedPixelRatio(e[0],e[1]),n=this._container;n.classList.add(`maplibregl-map`);let r=this._canvasContainer=Q.create(`div`,`maplibregl-canvas-container`,n);this._interactive&&r.classList.add(`maplibregl-interactive`),this._canvas=Q.create(`canvas`,`maplibregl-canvas`,r),this._canvas.addEventListener(`webglcontextlost`,this._contextLost,!1),this._canvas.addEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.setAttribute(`tabindex`,this._interactive?`0`:`-1`),this._canvas.setAttribute(`aria-label`,this._getUIString(`Map.Title`)),this._canvas.setAttribute(`role`,`region`),this._resizeCanvas(e[0],e[1],t);let i=this._controlContainer=Q.create(`div`,`maplibregl-control-container`,n),a=this._controlPositions={};for(let e of[`top-left`,`top-right`,`bottom-left`,`bottom-right`])a[e]=Q.create(`div`,`maplibregl-ctrl-${e} `,i);this._container.addEventListener(`scroll`,this._onMapScroll,!1)}_cleanupContainer(){this._canvas.removeEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.removeEventListener(`webglcontextlost`,this._contextLost,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._container.removeEventListener(`scroll`,this._onMapScroll,!1),this._container.classList.remove(`maplibregl-map`)}_resizeCanvas(e,t,n){let r=Math.round(n*e),i=Math.round(n*t);this._canvas.width=r,this._canvas.height=i,this._canvas.style.width=`${r/n}px`,this._canvas.style.height=`${i/n}px`}_setupPainter(){let e={...this._canvasContextAttributes,alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0},t=null;this._canvas.addEventListener(`webglcontextcreationerror`,e=>{t=e},{once:!0});let n=this._canvas.getContext(`webgl2`,e);if(!n)throw new aP(e,t);this.painter=new iP(n,this._camera.transform)}migrateProjection(e,t){this._camera.migrateProjection(e,t),this.painter.transform=e,this.fire(new Fw({newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?._loaded?(this._styleDirty||=e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let t=this._idleTriggered?this._fadeDuration:0,n=this.style.projection?.transitionState>0;
vendor: 18,719 bytes, line 814
814if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let r=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this._camera.transform.zoom,n=mw();this.style.zoomHistory.update(e,n);let i=new pl(e,{now:n,fadeDuration:t,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=i.crossFadingFactor();(a!==1||a!==this._crossFadingFactor)&&(r=!0,this._crossFadingFactor=a),this.style.update(i)}let i=this.style.projection?.transitionState>0!==n;this._camera.transform.setTransitionState(this.style.projection?.transitionState),this.style&&(this._sourcesDirty||i)&&(this._sourcesDirty=!1,this.style._updateSources(this._camera.transform)),this.terrain?(this.terrain.tileManager.update(this._camera.transform,this.terrain)&&this.terrain.resetElevationCache(),this._camera.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._camera.transform.center,this._camera.transform.tileZoom)),!this._camera.elevationFreeze&&this.getCenterClampedToGround()&&this._camera.transform.setElevation(this.terrain.getElevationForLngLat(this._camera.transform.center,this._camera.transform))):(this._camera.transform.setMinElevationForCurrentTile(0),this.getCenterClampedToGround()&&this._camera.transform.setElevation(0)),this._placementDirty=this.style?._updatePlacement(this._camera.transform,this.showCollisionBoxes,t,this._crossSourceCollisions,i),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:t,showPadding:this.showPadding,anisotropicFilterPitch:this.getAnisotropicFilterPitch()}),this.fire(new Ew(`render`)),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new Ew(`load`))),this.style&&(this.style.hasTransitions()||r)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let a=this._sourcesDirty||this._styleDirty||this._placementDirty||this.painter.renderToTexture?.needsFollowUpFrame;return a||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new Ew(`idle`)),this._loaded&&!this._fullyLoaded&&!a&&(this._fullyLoaded=!0),this}redraw(){return this.style&&(this._frameRequest&&=(this._frameRequest.abort(),null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(let e of this._controls)e.onRemove(this);this._controls=[],this._frameRequest&&=(this._frameRequest.abort(),null),this._renderTaskQueue.clear(),this._diffStyleRequest?.abort(),this.painter.destroy(),this._handlers.destroy(),this.setStyle(null),typeof window<`u`&&this._ownerWindow.removeEventListener(`online`,this._onWindowOnline,!1),ww.removeThrottleControl(this._imageQueueHandle),this._resizeObserver?.disconnect();let e=this.painter.context.gl.getExtension(`WEBGL_lose_context`);e?.loseContext&&e.loseContext(),this._cleanupContainer(),this._removed=!0,this.fire(new Ew(`remove`))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,fw.frame(this._frameRequest,e=>{this._frameRequest=null;try{this._render(e)}catch(e){if(!er(e))throw e}},()=>{},this._ownerWindow))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return yF}getCameraTargetElevation(){return this._camera.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(e){return this._lazyInitEmptyStyle(),this.style.setProjection(e),this._update(!0)}},SF={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0},CF=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom(!0);this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute(`aria-disabled`,t.toString()),this._zoomOutButton.setAttribute(`aria-disabled`,n.toString())},this._rotateCompassArrow=()=>{let e=this._map.getPitch(),t=this._map.getRoll(),n=this._map.getBearing(),r=1/Math.cos(Bn(e))**.5;if(this.options.visualizePitch&&this.options.visualizeRoll){this._compassIcon.style.transform=`scale(${r}) rotateZ(${-t}deg) rotateX(${e}deg) rotateZ(${-n}deg)`;return}if(this.options.visualizePitch){this._compassIcon.style.transform=`scale(${r}) rotateX(${e}deg) rotateZ(${-n}deg)`;return}if(this.options.visualizeRoll){this._compassIcon.style.transform=`rotate(${-n-t}deg)`;return}this._compassIcon.style.transform=`rotate(${-n}deg)`},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)},this.options=I({},SF,e),this._container=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._container.addEventListener(`contextmenu`,e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(`maplibregl-ctrl-zoom-in`,e=>this._map.zoomIn({},{originalEvent:e})),Q.create(`span`,`maplibregl-ctrl-icon`,this._zoomInButton).setAttribute(`aria-hidden`,`true`),this._zoomOutButton=this._createButton(`maplibregl-ctrl-zoom-out`,e=>this._map.zoomOut({},{originalEvent:e})),Q.create(`span`,`maplibregl-ctrl-icon`,this._zoomOutButton).setAttribute(`aria-hidden`,`true`)),this.options.showCompass&&(this._compass=this._createButton(`maplibregl-ctrl-compass`,e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=Q.create(`span`,`maplibregl-ctrl-icon`,this._compass),this._compassIcon.setAttribute(`aria-hidden`,`true`))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,`ZoomIn`),this._setButtonTitle(this._zoomOutButton,`ZoomOut`),this._map.on(`move`,this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,`ResetBearing`),this.options.visualizePitch&&this._map.on(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on(`roll`,this._rotateCompassArrow),this._map.on(`rotate`,this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new wF(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){this._container.remove(),this.options.showZoom&&this._map.off(`move`,this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off(`roll`,this._rotateCompassArrow),this._map.off(`rotate`,this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=Q.create(`button`,e,this._container);return n.type=`button`,n.addEventListener(`click`,t),n}},wF=class{constructor(e,t,n=!1){this.mousedown=e=>{this.startMove(e,Q.mousePos(this.element,e)),window.addEventListener(`mousemove`,this.mousemove),window.addEventListener(`mouseup`,this.mouseup)},this.mousemove=e=>{this.move(e,Q.mousePos(this.element,e))},this.mouseup=e=>{this._rotatePitchHandler.dragEnd(e),this.offTemp()},this.touchstart=e=>{e.targetTouches.length===1?(this._startPos=this._lastPos=Q.touchPos(this.element,e.targetTouches)[0],this.startMove(e,this._startPos),window.addEventListener(`touchmove`,this.touchmove,{passive:!1}),window.addEventListener(`touchend`,this.touchend)):this.reset()},this.touchmove=e=>{e.targetTouches.length===1?(this._lastPos=Q.touchPos(this.element,e.targetTouches)[0],this.move(e,this._lastPos)):this.reset()},this.touchend=e=>{e.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHandler.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=t;let r=new AP;this._rotatePitchHandler=new TP({clickTolerance:3,move:(e,r)=>{let i=t.getBoundingClientRect(),a=new M((i.bottom-i.top)/2,(i.right-i.left)/2);return{bearingDelta:Wn(new M(e.x,r.y),r,a),pitchDelta:n?(r.y-e.y)*-.5:void 0}},moveStateManager:r,enable:!0,assignEvents:()=>{}}),this.map=e,t.addEventListener(`mousedown`,this.mousedown),t.addEventListener(`touchstart`,this.touchstart,{passive:!1}),t.addEventListener(`touchcancel`,this.reset)}startMove(e,t){this._rotatePitchHandler.dragStart(e,t),Q.disableDrag()}move(e,t){let n=this.map,{bearingDelta:r,pitchDelta:i}=this._rotatePitchHandler.dragMove(e,t)||{};r&&n.setBearing(n.getBearing()+r),i&&n.setPitch(n.getPitch()+i)}off(){let e=this.element;e.removeEventListener(`mousedown`,this.mousedown),e.removeEventListener(`touchstart`,this.touchstart),window.removeEventListener(`touchmove`,this.touchmove),window.removeEventListener(`touchend`,this.touchend),e.removeEventListener(`touchcancel`,this.reset),this.offTemp()}offTemp(){Q.enableDrag(),window.removeEventListener(`mousemove`,this.mousemove),window.removeEventListener(`mouseup`,this.mouseup),window.removeEventListener(`touchmove`,this.touchmove),window.removeEventListener(`touchend`,this.touchend)}},TF;async function EF(e=!1){if(TF!==void 0&&!e)return TF;if(window.navigator.permissions===void 0)return TF=!!window.navigator.geolocation,TF;try{TF=(await window.navigator.permissions.query({name:`geolocation`})).state!==`denied`}catch{TF=!!window.navigator.geolocation}return TF}function DF(e,t,n,r=!1){if(r||!n.getCoveringTilesDetailsProvider().allowWorldCopies())return e?.wrap();let i=new X(e.lng,e.lat);if(e=new X(e.lng,e.lat),t){let r=new X(e.lng-360,e.lat),i=new X(e.lng+360,e.lat),a=n.locationToScreenPoint(e).distSqr(t);n.locationToScreenPoint(r).distSqr(t)<a?e=r:n.locationToScreenPoint(i).distSqr(t)<a&&(e=i)}for(;Math.abs(e.lng-n.center.lng)>180;){let t=n.locationToScreenPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==i.lng&&n.isPointOnMapSurface(n.locationToScreenPoint(e))?e:i}var OF={center:`translate(-50%,-50%)`,top:`translate(-50%,0)`,"top-left":`translate(0,0)`,"top-right":`translate(-100%,0)`,bottom:`translate(-50%,-100%)`,"bottom-left":`translate(0,-100%)`,"bottom-right":`translate(-100%,-100%)`,left:`translate(0,-50%)`,right:`translate(-100%,-50%)`};function kF(e,t,n){let r=e.classList;for(let e in OF)r.remove(`maplibregl-${n}-anchor-${e}`);r.add(`maplibregl-${n}-anchor-${t}`)}var AF={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]},jF=`#3FB1CE`;function MF(e,t,n=[]){let r=Q.createNS(`http://www.w3.org/2000/svg`,e);for(let e in t)r.setAttributeNS(null,e,t[e]);for(let e of n)r.appendChild(e);return r}var NF;function PF(){return NF||(NF=MF(`svg`,{display:`block`,height:`41px`,width:`27px`,viewBox:`0 0 27 41`},[MF(`g`,{"fill-rule":`nonzero`},[MF(`g`,{transform:`translate(3.0, 29.0)`,fill:`#000000`},[[`10.5`,`5.25002273`],[`10.5`,`5.25002273`],[`9.5`,`4.77275007`],[`8.5`,`4.29549936`],[`7.5`,`3.81822308`],[`6.5`,`3.34094679`],[`5.5`,`2.86367051`],[`4.5`,`2.38636864`]].map(([e,t])=>MF(`ellipse`,{opacity:`0.04`,cx:`10.5`,cy:`5.80029008`,rx:e,ry:t}))),MF(`g`,{fill:jF},[MF(`path`,{d:`M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z`})]),MF(`g`,{opacity:`0.25`,fill:`#000000`},[MF(`path`,{d:`M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z`})]),MF(`g`,{transform:`translate(6.0, 7.0)`,fill:`#FFFFFF`}),MF(`g`,{transform:`translate(8.0, 8.0)`},[MF(`circle`,{fill:`#000000`,opacity:`0.25`,cx:`5.5`,cy:`5.5`,r:`5.4999962`}),MF(`circle`,{fill:`#FFFFFF`,cx:`5.5`,cy:`5.5`,r:`5.4999962`})])])]),NF)}function FF(e){return e.firstElementChild.children[1]}var IF=class extends yr{},LF=class extends yr{},RF=class extends br{constructor(e){if(super(),this._onClick=e=>{this.fire(new LF(`click`,{originalEvent:e}))},this._onKeyPress=e=>{(e.code===`Space`||e.code===`Enter`)&&this.togglePopup()},this._onKeyDown=e=>{if(!this._defaultMarker||!this._draggable||!this._map||!this._lngLat||e.composedPath()[0]!==this._element||e.altKey||e.ctrlKey||e.metaKey)return;let t=AF[e.key];if(!t)return;e.preventDefault(),e.stopPropagation();let n=e.shiftKey?10:1,r=this._map.project(this._lngLat);this.setLngLat(this._map.unproject(new M(r.x+t[0]*n,r.y+t[1]*n))),this._keyboardDragActive||(this._keyboardDragActive=!0,this.fire(new IF(`dragstart`))),this.fire(new IF(`drag`))},this._onKeyUp=e=>{AF[e.key]&&this._endKeyboardDrag()},this._onBlur=()=>{this._endKeyboardDrag()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._updateCoveredUnthrottled=()=>{let e=this._map?.terrain;if(!e||!this._isInViewport())return;let t=this._isCovered(e);t&&this._popup?.isOpen()&&this._popup.remove(),this._element.style.opacity=t?this._opacityWhenCovered:this._opacity,this._element.classList.toggle(`maplibregl-marker-covered`,t)},this._updateCovered=oP(this._updateCoveredUnthrottled,100),this._update=e=>{if(!this._map)return;this._lngLat=DF(this._lngLat,this._flatPos,this._map._camera.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map._camera.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let t=``;this._rotationAlignment===`viewport`||this._rotationAlignment===`auto`?t=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===`map`&&(t=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let n=``;this._pitchAlignment===`viewport`||this._pitchAlignment===`auto`?n=`rotateX(0deg)`:this._pitchAlignment===`map`&&(n=`rotateX(${this._map.getPitch()}deg)`),!this._subpixelPositioning&&e?.type!==`move`&&(this._pos=this._pos.round()),this._element.style.transform=`${OF[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${n} ${t}`,this._updateOpacity()},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=`none`,this._state===`pending`&&(this._state=`active`,this.fire(new IF(`dragstart`))),this.fire(new IF(`drag`)))},this._onUp=()=>{this._element.style.pointerEvents=`auto`,this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),this._state===`active`&&this.fire(new IF(`dragend`)),this._state=`inactive`},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state=`pending`,this._map.on(`mousemove`,this._onMove),this._map.on(`touchmove`,this._onMove),this._map.once(`mouseup`,this._onUp),this._map.once(`touchend`,this._onUp))},this._anchor=e?.anchor||`center`,this._color=e?.color||jF,this._scale=e?.scale||1,this._draggable=e?.draggable||!1,this._clickTolerance=e?.clickTolerance||0,this._subpixelPositioning=e?.subpixelPositioning||!1,this._isDragging=!1,this._roleManaged=!1,this._tabIndexManaged=!1,this._keyboardDragActive=!1,this._state=`inactive`,this._rotation=e?.rotation||0,this._rotationAlignment=e?.rotationAlignment||`auto`,this._pitchAlignment=e?.pitchAlignment&&e.pitchAlignment!==`auto`?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e?.opacity,e?.opacityWhenCovered),e?.element)this._element=e.element,this._offset=M.convert(e?.offset||[0,0]);else{this._defaultMarker=!0,this._element=Q.create(`div`);let t=PF().cloneNode(!0);t.setAttributeNS(null,`height`,`${41*this._scale}px`),t.setAttributeNS(null,`width`,`${27*this._scale}px`),FF(t).setAttributeNS(null,`fill`,this._color),this._element.appendChild(t),this._offset=M.convert(e?.offset||[0,-14])}if(this._element.classList.add(`maplibregl-marker`),this._element.addEventListener(`dragstart`,e=>{e.preventDefault()}),this._element.addEventListener(`mousedown`,e=>{e.preventDefault()}),kF(this._element,this._anchor,`marker`),e?.className)for(let t of e.className.split(` `))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._defaultMarker&&!this._element.hasAttribute(`aria-label`)&&this._element.setAttribute(`aria-label`,e._getUIString(`Marker.Title`)),this._updateAccessibilityRole(),e.getCanvasContainer().appendChild(this._element),e.on(`move`,this._update),e.on(`moveend`,this._update),e.on(`terrain`,this._update),e.on(`projectiontransition`,this._update),e.on(`idle`,this._update),this._element.addEventListener(`click`,this._onClick),this.setDraggable(this._draggable),this._update(),this._map.on(`click`,this._onMapClick),this}remove(){return this._map&&(this._map.off(`click`,this._onMapClick),this._map.off(`move`,this._update),this._map.off(`moveend`,this._update),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`idle`,this._update),this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler),this._map.off(`mouseup`,this._onUp),this._map.off(`touchend`,this._onUp),this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),delete this._map),this._element.removeEventListener(`click`,this._onClick),this._element.removeEventListener(`ke
814ydown`,this._onKeyDown),this._element.removeEventListener(`keyup`,this._onKeyUp),this._element.removeEventListener(`blur`,this._onBlur),this._element.removeEventListener(`keypress`,this._onKeyPress),this._keyboardDragActive=!1,this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=X.convert(e),this._pos=null,this._update(),this._popup&&this._popup.setLngLat(this._lngLat),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(`keypress`,this._onKeyPress)),e){if(!(`offset`in e.options)){let t=13.5/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,(24.6+t)*-1],"bottom-right":[-t,(24.6+t)*-1],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._element.addEventListener(`keypress`,this._onKeyPress)}return this._updateTabIndex(),this._updateAccessibilityRole(),this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}_endKeyboardDrag(){this._keyboardDragActive&&(this._keyboardDragActive=!1,this.fire(new IF(`dragend`)))}getPopup(){return this._popup}togglePopup(){let e=this._popup;if(this._element.style.opacity===this._opacityWhenCovered)return this;if(e)e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map));else return this;return this}_updateOpacity(){if(!this._isInViewport())return;let e=this._map?.terrain,t=this._map._camera.transform.isLocationOccluded(this._lngLat);if(!e||t){let e=t?this._opacityWhenCovered:this._opacity;this._element.style.opacity!==e&&(this._element.style.opacity=e,this._element.classList.toggle(`maplibregl-marker-covered`,t));return}this._updateCovered()}_isInViewport(){let{width:e,height:t}=this._map._camera.transform;return!!this._pos&&this._pos.x>=0&&this._pos.y>=0&&this._pos.x<=e&&this._pos.y<=t}_isCovered(e){let t=this._map._camera.transform,n=e.getElevationForLngLat(this._lngLat,t),r=Math.max(0,-this._offset.y)/t.pixelsPerMeter,i=Math.sin(this._map.getPitch()*Math.PI/180)*r;return t.isLocationOccluded(this._lngLat,e,n+i)}getOffset(){return this._offset}setOffset(e){return this._offset=M.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._element.classList.toggle(`maplibregl-marker-draggable`,this._draggable),this._map&&(e?(this._map.on(`mousedown`,this._addDragHandler),this._map.on(`touchstart`,this._addDragHandler)):(this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler))),this._defaultMarker&&(this._draggable?(this._element.addEventListener(`keydown`,this._onKeyDown),this._element.addEventListener(`keyup`,this._onKeyUp),this._element.addEventListener(`blur`,this._onBlur)):(this._element.removeEventListener(`keydown`,this._onKeyDown),this._element.removeEventListener(`keyup`,this._onKeyUp),this._element.removeEventListener(`blur`,this._onBlur),this._endKeyboardDrag())),this._updateTabIndex(),this._updateAccessibilityRole(),this}isDraggable(){return this._draggable}_updateTabIndex(){this._popup||this._defaultMarker&&this._draggable?this._element.hasAttribute(`tabindex`)||(this._element.setAttribute(`tabindex`,`0`),this._tabIndexManaged=!0):this._tabIndexManaged&&=(this._element.getAttribute(`tabindex`)===`0`&&this._element.removeAttribute(`tabindex`),!1)}_updateAccessibilityRole(){if(!this._defaultMarker||this._element.hasAttribute(`role`)&&!this._roleManaged)return;let e=this._draggable||this._popup?`button`:`img`;this._element.setAttribute(`role`,e),this._roleManaged=!0}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||`auto`,this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!==`auto`?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return(this._opacity===void 0||e===void 0&&t===void 0)&&(this._opacity=`1`,this._opacityWhenCovered=`0.2`),e!==void 0&&(this._opacity=String(e)),t!==void 0&&(this._opacityWhenCovered=String(t)),this._map&&this._updateOpacity(),this}},zF={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0}
vendor: 6,200 bytes, line 814
814,BF=0,VF=!1,HF=class extends yr{},UF=class extends yr{},WF=class extends yr{},GF=class extends br{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e)){this._setErrorState(),this.fire(new UF(`outofmaxbounds`,e)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`BACKGROUND`:case`BACKGROUND_ERROR`:this._watchState=`BACKGROUND`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`);break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==`OFF`&&this._updateMarker(e),(!this.options.trackUserLocation||this._watchState===`ACTIVE_LOCK`)&&this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(`maplibregl-user-location-dot-stale`),this.fire(new UF(`geolocate`,e)),this._finish()}},this._updateCamera=e=>{let t=new X(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,r=I({bearing:this._map.getBearing()},this.options.fitBoundsOptions),i=tE.fromLngLat(t,n);this._map.fitBounds(i,r,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let t=new X(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(t).addTo(this._map),this._userLocationDotMarker.setLngLat(t).addTo(this._map),this._accuracy=e.coords.accuracy,this._updateCircleRadiusIfNeeded()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onUpdate=()=>{this._updateCircleRadiusIfNeeded()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.disabled=!0;let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e),this._geolocationWatchID!==void 0&&this._clearWatch()}else if(e.code===3&&VF)return;else this._setErrorState();this._watchState!==`OFF`&&this.options.showUserLocation&&this._dotElement.classList.add(`maplibregl-user-location-dot-stale`),this.fire(new WF(`error`,e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._onMoveStart=e=>{if(!this._map)return;let t=e?.[0]instanceof ResizeObserverEntry;!e.geolocateSource&&this._watchState===`ACTIVE_LOCK`&&!t&&!this._map.isZooming()&&(this._watchState=`BACKGROUND`,this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this.fire(new HF(`trackuserlocationend`)),this.fire(new HF(`userlocationlostfocus`)))},this._setupUI=()=>{this._map&&(this._container.addEventListener(`contextmenu`,e=>{e.preventDefault()}),this._geolocateButton=Q.create(`button`,`maplibregl-ctrl-geolocate`,this._container),Q.create(`span`,`maplibregl-ctrl-icon`,this._geolocateButton).setAttribute(`aria-hidden`,`true`),this._geolocateButton.type=`button`,this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(e===!1){En(`Geolocation support is not available so the GeolocateControl will be disabled.`);let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}else{let e=this._map._getUIString(`GeolocateControl.FindMyLocation`);this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(`aria-pressed`,`false`),this._watchState=`OFF`),this.options.showUserLocation&&(this._dotElement=Q.create(`div`,`maplibregl-user-location-dot`),this._userLocationDotMarker=new RF({element:this._dotElement}),this._circleElement=Q.create(`div`,`maplibregl-user-location-accuracy-circle`),this._accuracyCircleMarker=new RF({element:this._circleElement,pitchAlignment:`map`}),this.options.trackUserLocation&&(this._watchState=`OFF`),this._map.on(`zoom`,this._onUpdate),this._map.on(`move`,this._onUpdate),this._map.on(`rotate`,this._onUpdate),this._map.on(`pitch`,this._onUpdate)),this._geolocateButton.addEventListener(`click`,()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on(`movestart`,this._onMoveStart)}},this.options=I({},zF,e)}onAdd(e){return this._map=e,this._container=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),EF().then(e=>this._finishSetupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off(`movestart`,this._onMoveStart),this._map.off(`zoom`,this._onUpdate),this._map.off(`move`,this._onUpdate),this._map.off(`rotate`,this._onUpdate),this._map.off(`pitch`,this._onUpdate),this._map=void 0,BF=0,VF=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case`WAITING_ACTIVE`:this._watchState=`ACTIVE_E
814RROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`);break;case`ACTIVE_LOCK`:this._watchState=`ACTIVE_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`BACKGROUND`:this._watchState=`BACKGROUND_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:break;case`OFF`:case void 0:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadiusIfNeeded(){let e=this._userLocationDotMarker.getLngLat();if(!this.options.showUserLocation||!this.options.showAccuracyCircle||!this._accuracy||!e)return;let t=this._map.project(e),n=this._map.unproject([t.x+100,t.y]),r=e.distanceTo(n)/100,i=2*this._accuracy/r;this._circleElement.style.width=`${i.toFixed(2)}px`,this._circleElement.style.height=`${i.toFixed(2)}px`}trigger(){if(!this._setup)return En(`Geolocate control triggered before added to a map`),!1;if(this.options.trackUserLocation){switch(this._watchState){case`OFF`:this._watchState=`WAITING_ACTIVE`,this.fire(new HF(`trackuserlocationstart`));break;case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:BF--,VF=!1,this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this.fire(new HF(`trackuserlocationend`));break;case`BACKGROUND`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new HF(`trackuserlocationstart`)),this.fire(new HF(`userlocationfocus`));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case`WAITING_ACTIVE`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`ACTIVE_LOCK`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`OFF`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===`OFF`&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`true`),BF++;let e;BF>1?(e={maximumAge:6e5,timeout:0},VF=!0):(e=this.options.positionOptions,VF=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`false`),this.options.showUserLocation&&this._updateMarker(null)}},KF={maxWidth:100,unit:`metric`},qF=class{constructor(e){this._onMove=()=>{JF(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,JF(this._map,this._container,this.options)},this.options={...KF,...e}}getDefaultPosition(){return`bottom-left`}onAdd(e){return this._map=e,this._container=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-scale`,e.getContainer()),this._map.on(`move`,this._onMove),this._onMove(),this._container}onRemove(){this._container.remove(),this._map.off(`move`,this._onMove),this._map=void 0}};function JF(e,t,n){let r=n?.maxWidth||100,{width:i,height:a}=e._camera.transform,o=a/2,s=i/2,c=e.unproject([s-r/2,o]),l=e.unproject([s+r/2,o]),u=Math.round(e.project(l).x-e.project(c).x),d=Math.min(r,u,i),f=c.distanceTo(l);if(n?.unit===`imperial`){let n=3.2808*f;n>5280?YF(t,d,n/5280,e._getUIString(`ScaleControl.Miles`)):YF(t,d,n,e._getUIString(`ScaleControl.Feet`))}
vendor: 9,039 bytes, line 814
814else n?.unit===`nautical`?YF(t,d,f/1852,e._getUIString(`ScaleControl.NauticalMiles`)):f>=1e3?YF(t,d,f/1e3,e._getUIString(`ScaleControl.Kilometers`)):YF(t,d,f,e._getUIString(`ScaleControl.Meters`))}function YF(e,t,n,r){let i=ZF(n),a=i/n;e.style.width=`${t*a}px`;let o=`${i}\u00a0${r}`;e.textContent!==o&&(e.textContent=o)}function XF(e){let t=10**Math.ceil(-Math.log(e)/Math.LN10);return Math.round(e*t)/t}function ZF(e){let t=10**(`${Math.floor(e)}`.length-1),n=e/t;return n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:XF(n),t*n}var QF=class extends yr{},$F=class extends br{constructor(e={}){super(),this._onFullscreenChange=()=>{let e=window.document.fullscreenElement||window.document.webkitFullscreenElement;for(;e?.shadowRoot?.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,this._pseudo=e.pseudo??!1,e?.container&&(e.container instanceof HTMLElement?this._container=e.container:En(`Full screen control 'container' must be a DOM element.`)),`onfullscreenchange`in document?this._fullscreenchange=`fullscreenchange`:`onmozfullscreenchange`in document?this._fullscreenchange=`mozfullscreenchange`:`onwebkitfullscreenchange`in document?this._fullscreenchange=`webkitfullscreenchange`:`onmsfullscreenchange`in document&&(this._fullscreenchange=`MSFullscreenChange`)}onAdd(e){return this._map=e,this._container||=this._map.getContainer(),this._controlContainer=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=Q.create(`button`,`maplibregl-ctrl-fullscreen`,this._controlContainer);Q.create(`span`,`maplibregl-ctrl-icon`,e).setAttribute(`aria-hidden`,`true`),e.type=`button`,this._updateTitle(),this._fullscreenButton.addEventListener(`click`,this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute(`aria-label`,e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?`FullscreenControl.Exit`:`FullscreenControl.Enter`)}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(`maplibregl-ctrl-shrink`),this._fullscreenButton.classList.toggle(`maplibregl-ctrl-fullscreen`),this._updateTitle(),this._fullscreen?(this.fire(new QF(`fullscreenstart`)),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new QF(`fullscreenend`)),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){this._pseudo?this._togglePseudoFullScreen():window.document.exitFullscreen?window.document.exitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._pseudo?this._togglePseudoFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(`maplibregl-pseudo-fullscreen`),this._handleFullscreenChange(),this._map.resize()}},eI=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(`maplibregl-ctrl-terrain`),this._terrainButton.classList.remove(`maplibregl-ctrl-terrain-enabled`),this._map.terrain?(this._terrainButton.classList.add(`maplibregl-ctrl-terrain-enabled`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Disable`)):(this._terrainButton.classList.add(`maplibregl-ctrl-terrain`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Enable`))},this.options=e}onAdd(e){return this._map=e,this._container=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._terrainButton=Q.create(`button`,`maplibregl-ctrl-terrain`,this._container),Q.create(`span`,`maplibregl-ctrl-icon`,this._terrainButton).setAttribute(`aria-hidden`,`true`),this._terrainButton.type=`button`,this._terrainButton.addEventListener(`click`,this._toggleTerrain),this._updateTerrainIcon(),this._map.on(`terrain`,this._updateTerrainIcon),this._container}onRemove(){this._container.remove(),this._map.off(`terrain`,this._updateTerrainIcon),this._map=void 0}},tI=class{constructor(){this._toggleProjection=()=>{let e=this._map.getProjection()?.type;e===`mercator`||!e?this._map.setProjection({type:`globe`}):this._map.setProjection({type:`mercator`}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{this._globeButton.classList.remove(`maplibregl-ctrl-globe`),this._globeButton.classList.remove(`maplibregl-ctrl-globe-enabled`),this._map.getProjection()?.type===`globe`?(this._globeButton.classList.add(`maplibregl-ctrl-globe-enabled`),this._globeButton.title=this._map._getUIString(`GlobeControl.Disable`)):(this._globeButton.classList.add(`maplibregl-ctrl-globe`),this._globeButton.title=this._map._getUIString(`GlobeControl.Enable`))}}onAdd(e){return this._map=e,this._container=Q.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._globeButton=Q.create(`button`,`maplibregl-ctrl-globe`,this._container),Q.create(`span`,`maplibregl-ctrl-icon`,this._globeButton).setAttribute(`aria-hidden`,`true`),this._globeButton.type=`button`,this._globeButton.addEventListener(`click`,this._toggleProjection),this._updateGlobeIcon(),this._map.on(`styledata`,this._updateGlobeIcon),this._map.on(`projectiontransition`,this._updateGlobeIcon),this._container}onRemove(){this._container.remove(),this._map.off(`styledata`,this._updateGlobeIcon),this._map.off(`projectiontransition`,this._updateGlobeIcon),this._globeButton.removeEventListener(`click`,this._toggleProjection),this._map=void 0}},nI={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:``,maxWidth:`240px`,subpixelPositioning:!1,locationOccludedOpacity:void 0,padding:void 0},rI=[`a[href]`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable]:not([contenteditable='false'])`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].join(`, `),iI=class extends yr{},aI=class extends br{constructor(e){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._map._camera.transform.isLocationOccluded(this.getLngLat())?this._container.style.opacity=`${this.options.locationOccludedOpacity}`:this._container.style.opacity=``)},this.remove=()=>(this._content&&this._content.remove(),this._container&&(this._container.remove(),delete this._container),this._map&&(this._map.off(`move`,this._update),this._map.off(`move`,this._onClose),this._map.off(`click`,this._onClose),this._map.off(`remove`,this.remove),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`idle`,this._update),this._map.off(`mousemove`,this._update),this._map.off(`mouseup`,this._update),this._map.off(`drag`,this._update),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`),delete this._map,this.fire(new iI(`close`))),this),this._update=e=>{let t=this._lngLat||this._trackPointer;if(!this._map||!t||!this._content)return;if(!this._container){if(this._container=Q.create(`div`,`maplibregl-popup`,this._map.getContainer()),this._tip=Q.create(`div`,`maplibregl-popup-tip`,this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(` `))this._container.classList.add(e);this._closeButton&&this._closeButton.setAttribute(`aria-label`,this._map._getUIString(`Popup.Close`)),this._trackPointer&&this._container.classList.add(`maplibregl-popup-track-pointer`)}this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=DF(this._lngLat,this._flatPos,this._map._camera.transform,this._trackPointer);let n;if(e&&`point`in e&&e.point&&(n=e.point),this._trackPointer&&!n)return;let r=this._flatPos=this._pos=this._trackPointer&&n?n:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&n?n:this._map._camera.transform.locationToScreenPoint(this._lngLat));let i=this.options.anchor,a=oI(this.options.offset);if(!i){let e=this._container.offsetWidth,t=this._container.offsetHeight,n=sI(this.options.padding),o;o=r.y+a.bottom.y<t+n.top?[`top`]:r.y>this._map._camera.transform.height-t-n.bottom?[`bottom`]:[],r.x<e/2+n.left?o.push(`left`):r.x>this._map._camera.transform.width-e/2-n.right&&o.push(`right`),i=o.length===0?`bottom`:o.join(`-`)}let o=r.add(a[i]);
814this.options.subpixelPositioning||(o=o.round()),this._container.style.transform=`${OF[i]} translate(${o.x}px,${o.y}px)`,kF(this._container,i,`popup`),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=I(Object.create(nI),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(`click`,this._onClose),this.options.closeOnMove&&this._map.on(`move`,this._onClose),this._map.on(`remove`,this.remove),this._map.on(`terrain`,this._update),this._map.on(`projectiontransition`,this._update),this._map.on(`idle`,this._update),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(`mousemove`,this._update),this._map.on(`mouseup`,this._update),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)):this._map.on(`move`,this._update),this.fire(new iI(`open`)),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=X.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(`move`,this._update),this._map.off(`mousemove`,this._update),this._container&&this._container.classList.remove(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`)),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(`move`,this._update),this._map.on(`mousemove`,this._update),this._map.on(`drag`,this._update),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t=document.createDocumentFragment(),n=document.createElement(`body`),r;for(n.innerHTML=e;r=n.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container?.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=Q.create(`div`,`maplibregl-popup-content`,this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}setPadding(e){this.options.padding=e,this._update()}_createCloseButton(){this.options.closeButton&&(this._closeButton=Q.create(`button`,`maplibregl-popup-close-button`,this._content),this._closeButton.type=`button`,this._closeButton.innerHTML=`×`,this._closeButton.addEventListener(`click`,this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector(rI);e&&e.focus()}};function oI(e){if(!e)return oI(new M(0,0));if(typeof e==`number`){let t=Math.round(Math.abs(e)/Math.SQRT2);return{center:new M(0,0),top:new M(0,e),"top-left":new M(t,t),"top-right":new M(-t,t),bottom:new M(0,-e),"bottom-left":new M(t,-t),"bottom-right":new M(-t,-t),left:new M(e,0),right:new M(-e,0)}}if(e instanceof M||Array.isArray(e)){let t=M.convert(e);return{center:t,top:t,"top-left":t,"top-right":t,bottom:t,"bottom-left":t,"bottom-right":t,left:t,right:t}}return{center:M.convert(e.center||[0,0]),top:M.convert(e.top||[0,0]),"top-left":M.convert(e[`top-left`]||[0,0]),"top-right":M.convert(e[`top-right`]||[0,0]),bottom:M.convert(e.bottom||[0,0]),"bottom-left":M.convert(e[`bottom-left`]||[0,0]),"bottom-right":M.convert(e[`bottom-right`]||[0,0]),left:M.convert(e.left||[0,0]),right:M.convert(e.right||[0,0])}}function sI(e){return e?{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}:{top:0,right:0,bottom:0,left:0}}var cI=iw;function lI(e,t){return qE().setRTLTextPlugin(e,t)}function uI(){return qE().getRTLTextPluginStatus()}function dI(){return cI}function fI(){return FT.workerCount}function pI(e){FT.workerCount=e}function mI(){return nr.MAX_PARALLEL_IMAGE_REQUESTS}function hI(e){nr.MAX_PARALLEL_IMAGE_REQUESTS=e}function gI(){return nr.WORKER_URL}function _I(e){nr.WORKER_URL=e}async function vI(e){await UT().broadcast(`IS`,e)}s(),w(),t(),x();var yI={class:`p-1 text-white text-lg font-black`},bI={class:`h-6 w-6 text-sm rounded-full inline-flex items-center justify-center border-2 border-white`},xI={key:0,class:`p-1 bg-zinc-100 text-gray-900 text-sm font-medium italic text-center`},SI={key:1},CI=[`src`],wI=Object.assign(re(c({__name:`PerspectiveTooltip`,props:{feature:{}},setup(e){let{getLineColor:t}=se(),{getRevName:i}=ce(),a=t(Number(e.feature.properties.line)),s=b(!1),c=e=>{typeof document<`u`&&(document.body.style.overflow=e)},l=()=>{s.value=!0,c(`hidden`)},h=()=>{s.value=!1,c(``)};return ie(`Escape`,()=>{s.value&&h()}),p(()=>{c(``)}),(t,c)=>{let p=ae,y=ne;return o(),n(E,null,[g(`div`,{class:`bg-white not-prose flex items-center justify-center`,style:D(`background-color: ${d(a)}`)},[g(`div`,yI,[f(m(d(i)(`singular`))+` `,1),g(`span`,bI,m(e.feature.properties.line),1)])],4),r(p,{"image-class":``,"image-url":e.feature.properties.imgUrl,class:`my-0`},null,8,[`image-url`]),e.feature.properties.name?(o(),n(`div`,xI,m(e.feature.properties.name),1)):u(``,!0),e.feature.properties.panoramaxUrl?(o(),n(`div`,SI,[g(`button`,{type:`button`,class:`px-1 pb-1 hover:underline text-lvv-blue-600 bg-zinc-100 text-sm font-medium italic text-center flex w-full items-center justify-center space-x-1`,onClick:l},[r(y,{name:`mdi:panorama`,class:`h-4 w-4`}),c[1]||=g(`span`,null,`Voir Panoramax`,-1)])])):u(``,!0),(o(),A(v,{to:`body`},[r(O,{name:`fade`},{default:S(()=>[s.value?(o(),n(`div`,{key:0,class:`fixed inset-0 z-[1000] bg-black/90 flex items-center justify-center p-4`,role:`dialog`,"aria-modal":`true`,"aria-label":`Vue Panoramax`,onClick:h},[g(`button`,{type:`button`,class:`absolute top-4 right-4 text-white hover:text-gray-300 transition-colors z-10`,"aria-label":`Fermer la vue Panoramax`,onClick:_(h,[`stop`])},[r(y,{name:`mdi:close`,class:`h-8 w-8`,"aria-hidden":`true`})]),g(`div`,{class:`w-[80vw] h-[80vh] rounded-lg overflow-hidden shadow-2xl bg-black/40`,onClick:c[0]||=_(()=>{},[`stop`])},[g(`iframe`,{src:e.feature.properties.panoramaxUrl,title:`Panoramax`,class:`w-[80vw] h-[80vh]`,style:{border:`none`},allowfullscreen:``,referrerpolicy:`no-referrer`},null,8,CI)])])):u(``,!0)]),_:1})]))],64)}}}),[[`__scopeId`,`data-v-9b54ff60`]]),{__name:`TooltipsPerspectiveTooltip`});s(),w(),t();var TI={class:`bg-white not-prose w-52`},EI={class:`py-1 bg-lvv-blue-600 flex flex-col items-center justify-center text-center text-white`},DI={class:`font-bold text-base hover:underline`},OI=[`href`],kI={class:`divide-y`},AI={class:`py-1 flex items-center justify-around bg-zinc-100`},jI={class:`text-base text-black w-8`},MI={class:`text-base text-black w-8`},NI={key:0,class:`py-1 flex items-center justify-center text-black`},PI={class:`text-base font-bold`},FI={class:`px-2 text-3xl flex items-center`},II={key:1,class:`ml-1 w-2.5 h-2.5 rounded-full bg-pink-400 inline-block`,title:`Record du mois`},LI={key:1,class:`py-1 flex items-center justify-center text-black`},RI={class:`text-base font-bold`},zI={class:`px-2 text-3xl flex items-center`},BI={key:1,class:`ml-1 w-2.5 h-2.5 rounded-full bg-pink-400 inline-block`,title:`Record du mois`},VI={key:2,class:`py-1 flex items-center justify-center text-black`},HI={class:`text-base font-bold`},UI={class:`px-2 text-3xl flex items-center`}
814,WI={key:1,class:`ml-1 w-2.5 h-2.5 rounded-full bg-pink-400 inline-block`,title:`Record du mois`},GI=Object.assign(c({__name:`CounterTooltip`,props:{feature:{}},setup(e){let t=e.feature.properties.counts,i=j(()=>e.feature.properties.type===`compteur-comparaison`?`Compteur trafic`:e.feature.properties.type===`compteur-velo`?`Compteur vélo`:`Compteur voiture`),a=j(()=>e.feature.properties.type===`compteur-comparaison`),s=j(()=>e.feature.properties.type===`compteur-velo`?`game-icons:dutch-bike`:`fluent:vehicle-car-profile-ltr-16-regular`),c=b(`monthly`),l=b(t.length-1),f=j(()=>{let e=new Map;for(let n of t){let t=new Date(n.month).getFullYear();e.has(t)||e.set(t,[]),e.get(t).push(n)}return Array.from(e.entries()).sort(([e],[t])=>e-t).map(([e,t])=>({year:e,months:t}))}),p=b(f.value.length-1);function h(){if(c.value===`monthly`){c.value=`annual`;let e=t[l.value],n=e?new Date(e.month).getFullYear():0;p.value=f.value.findIndex(e=>e.year===n),p.value<0&&(p.value=f.value.length-1)}else c.value=`monthly`}let _=j(()=>c.value===`monthly`?l.value>0:p.value>0),v=j(()=>c.value===`monthly`?l.value<t.length-1:p.value<f.value.length-1);function y(e){c.value===`monthly`?l.value=Math.max(0,Math.min(t.length-1,l.value+e)):p.value=Math.max(0,Math.min(f.value.length-1,p.value+e))}let x=j(()=>{if(c.value===`monthly`){let e=t[l.value];return e?new Date(e.month).toLocaleString(`fr-FR`,{month:`long`,year:`numeric`}):``}return`Année ${f.value[p.value]?.year??``}`});function S(e){return Math.round(e/25)*25}let C=new Intl.NumberFormat(`fr-FR`,{maximumFractionDigits:0});function w(e,t){return t===`count`&&`count`in e?e.count:t===`veloCount`&&`veloCount`in e?e.veloCount:t===`voitureCount`&&`voitureCount`in e?e.voitureCount:0}function T(e,t){let n=w(e,t),r=new Date(e.month);return n/new Date(r.getFullYear(),r.getMonth()+1,0).getDate()}function E(e,t){let n=0,r=0;for(let i of e.months){n+=w(i,t);let e=new Date(i.month),a=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();r+=a}return r>0?n/r:0}function D(e){let n=e===`velo`?`veloCount`:e===`voiture`?`voitureCount`:`count`,r;if(c.value===`monthly`){let e=t[l.value];r=e?T(e,n):0}else{let e=f.value[p.value];r=e?E(e,n):0}return C.format(S(r))}function O(e){let n=e===`velo`?`veloCount`:e===`voiture`?`voitureCount`:`count`;if(c.value===`annual`){let e=f.value[p.value];if(!e)return null;let t=E(e,n),r=f.value.map(e=>E(e,n));return t>0&&t>=Math.max(...r)?`absolute`:null}let r=t[l.value];if(!r)return null;let i=T(r,n);if(i===0)return null;let a=t.map(e=>T(e,n));if(i>=Math.max(...a))return`absolute`;let o=new Date(r.month).getMonth(),s=t.filter(e=>new Date(e.month).getMonth()===o).map(e=>T(e,n));return i>=Math.max(...s)?`relative`:null}return(t,c)=>{let l=ne;return o(),n(`div`,TI,[g(`div`,EI,[g(`div`,DI,[g(`a`,{href:e.feature.properties.link},m(e.feature.properties.name),9,OI)]),g(`div`,null,m(d(i)),1)]),g(`div`,kI,[g(`div`,AI,[g(`div`,jI,[d(_)?(o(),A(l,{key:0,name:`mdi:chevron-left`,class:`cursor-pointer`,onClick:c[0]||=e=>y(-1)})):u(``,!0)]),g(`div`,{class:`text-base text-black cursor-pointer select-none hover:underline`,onClick:h},m(d(x)),1),g(`div`,MI,[d(v)?(o(),A(l,{key:0,name:`mdi:chevron-right`,class:`cursor-pointer`,onClick:c[1]||=e=>y(1)})):u(``,!0)])]),d(a)?(o(),n(`div`,NI,[g(`div`,PI,m(D(`velo`)),1),g(`div`,FI,[r(l,{name:`game-icons:dutch-bike`})]),c[2]||=g(`div`,{class:`text-left leading-3`},[g(`div`,{class:`font-bold`},`vélos/jour`),g(`div`,null,`en moyenne`)],-1),O(`velo`)===`absolute`?(o(),A(l,{key:0,name:`noto:1st-place-medal`,class:`text-base ml-1`,title:`Record absolu !`})):O(`velo`)===`relative`?(o(),n(`span`,II)):u(``,!0)])):u(``,!0),d(a)?(o(),n(`div`,LI,[g(`div`,RI,m(D(`voiture`)),1),g(`div`,zI,[r(l,{name:`fluent:vehicle-car-profile-ltr-16-regular`})]),c[3]||=g(`div`,{class:`text-left leading-3`},[g(`div`,{class:`font-bold`},`voitures/jour`),g(`div`,null,`en moyenne`)],-1),O(`voiture`)===`absolute`?(o(),A(l,{key:0,name:`noto:1st-place-medal`,class:`text-base ml-1`,title:`Record absolu !`})):O(`voiture`)===`relative`?(o(),n(`span`,BI)):u(``,!0)])):u(``,!0),d(a)?u(``,!0):(o(),n(`div`,VI,[g(`div`,HI,m(D(`single`)),1),g(`div`,UI,[r(l,{name:d(s)},null,8,[`name`])]),c[4]||=g(`div`,{class:`text-left leading-3`},[g(`div`,{class:`font-bold`},`par jour`),g(`div`,null,`en moyenne`)],-1),O(`single`)===`absolute`?(o(),A(l,{key:0,name:`noto:1st-place-medal`,class:`text-base ml-1`,title:`Record absolu !`})):O(`single`)===`relative`?(o(),n(`span`,WI)):u(``,!0)]))])])}}}),{__name:`TooltipsCounterTooltip`});s(),t();var KI={class:`shadow-lg bg-white max-w-48`},qI={class:`px-3 py-2 bg-lvv-pink flex flex-col items-center`},JI={class:`px-3 py-2 text-center text-base font-medium`},YI={class:`px-3 py-2 text-center leading-normal`},XI={class:`bg-gray-100`},ZI={class:`px-3 py-2 text-center italic leading-normal`},QI=Object.assign(c({__name:`DangerTooltip`,props:{feature:{}},setup(e){return(t,i)=>{let a=ne;return o(),n(`div`,KI,[g(`div`,qI,[r(a,{name:`cyclopolis:danger`,class:`h-6 w-6 text-white`}),i[0]||=g(`div`,{class:`text-center text-white text-lg font-medium`},`Zone problématique`,-1)]),g(`div`,JI,m(e.feature.properties.name),1),i[1]||=g(`div`,{class:`px-3`},[g(`hr`,{class:`px-3 h-px bg-gray-200 border-0`})],-1),g(`div`,YI,m(e.feature.properties.description),1),g(`div`,XI,[g(`div`,ZI,m(e.feature.properties.danger),1)])])}}}),{__name:`TooltipsDangerTooltip`});s(),w(),t();var $I={class:`bg-white not-prose text-gray-900 w-48`},eL={class:`py-1 bg-zinc-100 flex flex-col items-center justify-center`},tL={class:`font-bold text-base`},nL={class:`flex flex-row space-x-1`},rL=[`href`],iL={class:`px-2 divide-y`},aL={class:`py-1 flex flex-col items-center`},oL={class:`text-sm text-center`},sL={class:`py-1 flex items-center justify-between`},cL={key:0,class:`italic`},lL={class:`py-1 flex items-center justify-between`},uL={class:`text-sm`},dL={class:`py-1 flex items-center justify-between`},fL={class:`text-sm text-right`}
814,pL={key:0,class:`py-1 flex items-center justify-between`},mL={key:0,class:`bg-lvv-blue-600 flex justify-center`},hL=[`href`],gL=Object.assign(c({__name:`LineTooltip`,props:{feature:{},lines:{},hasDetailsPanel:{type:Boolean}},setup(e){let{getLineColor:t}=se(),{getRevName:i,displayQuality:s}=ce(),{getDistance:c,typologyNames:l,qualityNames:p}=he(),{getSectionDetailsUrl:_}=le(),v=j(()=>e.lines.length>1?i():i(`singular`));function y(e){let[t,n,r]=e.split(`/`);return new Date(Number(r),Number(n)-1,Number(t)).getTime()<new Date(2021,0,1).getTime()?`avant 2021`:`le ${e}`}function b(e){return{done:{label:`terminé`,date:e.doneAt&&y(e.doneAt),class:`text-white bg-lvv-blue-600 rounded-xl px-2 w-fit`},wip:{label:`en travaux`,class:`text-lvv-blue-600 rounded-xl px-2 border border-dashed border-lvv-blue-600`},planned:{label:`prévu`,class:`text-lvv-blue-600 rounded-xl px-2 border border-lvv-blue-600`},tested:{label:`en test`,class:`text-lvv-blue-600 rounded-xl px-2 border border-dashed border-lvv-blue-600`},postponed:{label:`reporté`,date:`après 2026`,class:`text-white bg-lvv-pink rounded-xl px-2`},variante:{label:`variante`,class:``},"variante-postponed":{label:`variante reportée`,date:`après 2026`,class:`text-white bg-lvv-pink rounded-xl px-2`},unknown:{label:`à définir`,class:`text-gray-900 bg-gray-200 rounded-xl px-2`}}[e.status]}function x(e){return{unsatisfactory:{label:p.unsatisfactory,class:`rounded-xl px-1 border border-red-600`,classIcon:`text-red-600`,icon:`mdi:close`},satisfactory:{label:p.satisfactory,class:`rounded-xl px-1 border border-green-600`,classIcon:`text-green-600`,icon:`mdi:check`}}[e]}return(i,p)=>{let y=ne;return o(),n(`div`,$I,[g(`div`,eL,[g(`div`,tL,m(d(v)),1),g(`div`,nL,[(o(!0),n(E,null,h(e.lines,e=>(o(),n(`div`,{key:e,class:`h-8 w-8 rounded-full flex items-center justify-center text-white text-base font-bold`,style:D(`background-color: ${d(t)(e)}`)},[g(`a`,{href:`/voie-lyonnaise-${e}`},m(e),9,rL)],4))),128))])]),g(`div`,iL,[g(`div`,aL,[p[0]||=g(`div`,{class:`text-sm font-bold`},`Tronçon`,-1),g(`div`,oL,m(e.feature.properties.name),1)]),g(`div`,sL,[p[1]||=g(`div`,{class:`text-base font-bold`},`Statut`,-1),g(`div`,null,[g(`div`,{class:a([`text-sm`,b(e.feature.properties).class])},m(b(e.feature.properties).label),3),b(e.feature.properties).date?(o(),n(`div`,cL,m(b(e.feature.properties).date),1)):u(``,!0)])]),g(`div`,lL,[p[2]||=g(`div`,{class:`text-base font-bold`},`Longueur`,-1),g(`div`,uL,m(Math.round(d(c)({features:[e.feature]})/25)*25)+`m`,1)]),g(`div`,dL,[p[3]||=g(`div`,{class:`text-base font-bold`},`Type`,-1),g(`div`,fL,m(d(l)[e.feature.properties.type]??`Inconnu`),1)]),d(s)()&&e.feature.properties.quality?(o(),n(`div`,pL,[p[4]||=g(`div`,{class:`text-base font-bold`},`Qualité`,-1),g(`div`,{class:a([`text-xs`,x(e.feature.properties.quality).class])},[r(y,{name:x(e.feature.properties.quality).icon,class:a([`h-4 w-4 align-middle`,x(e.feature.properties.quality).classIcon])},null,8,[`name`,`class`]),f(` `+m(x(e.feature.properties.quality).label),1)],2)])):u(``,!0)]),e.hasDetailsPanel?u(``,!0):(o(),n(`div`,mL,[g(`a`,{class:`p-1 text-white text-base italic hover:underline`,href:d(_)(e.feature.properties)},[p[5]||=f(` voir le détail `,-1),r(y,{name:`mdi:link-variant`,class:`h-4 w-4 text-white`})],8,hL)]))])}}}),{__name:`TooltipsLineTooltip`});s(),w(),t();var _L={class:`bg-white not-prose text-gray-900 w-48`},vL={class:`py-1 bg-zinc-100 flex flex-col items-center justify-center`},yL={class:`flex flex-row space-x-1`},bL={class:`divide-y`},xL={class:`py-1 flex flex-col items-center px-2`},SL={class:`text-sm text-center`},CL={class:`py-1 flex flex-col gap-1 items-center justify-center px-2 bg-lvv-blue-100`},wL={class:`text-xs text-center`},TL={key:0,class:`text-xm`},EL={class:`text-xs justify-center items-center flex`},DL={key:0,class:`flex justify-center`},OL=[`href`],kL=Object.assign(c({__name:`LineHoverTooltip`,props:{feature:{},lines:{},hasDetailsPanel:{type:Boolean}},setup(e){let{getLineColor:t}=se(),{getDistance:i,typologyNames:s,qualityNames:c}=he(),{getSectionDetailsUrl:l}=le(),p=j(()=>y(e.feature.properties.quality));function _(e){let[t,n,r]=e.split(`/`);return new Date(Number(r),Number(n)-1,Number(t)).getTime()<new Date(2021,0,1).getTime()?`avant 2021`:`le ${e}`}function v(e){return{done:{label:`terminée`,date:e.doneAt&&_(e.doneAt),class:`text-white bg-lvv-blue-600 rounded-xl px-2 w-fit`},wip:{label:`en travaux`,class:`text-lvv-blue-600 rounded-xl px-2 border border-dashed border-lvv-blue-600`},planned:{label:`prévue`,class:`text-lvv-blue-600 rounded-xl px-2 border border-lvv-blue-600`},tested:{label:`en test`,class:`text-lvv-blue-600 rounded-xl px-2 border border-dashed border-lvv-blue-600`},postponed:{label:`reportée`,date:`après 2026`,class:`text-white bg-lvv-pink rounded-xl px-2`},variante:{label:`variante`,class:``},"variante-postponed":{label:`variante reportée`,date:`après 2026`,class:`text-white bg-lvv-pink rounded-xl px-2`},unknown:{label:`à définir`,class:`text-gray-900 bg-gray-200 rounded-xl px-2`}}[e.status]}function y(e){return{unsatisfactory:{label:c.unsatisfactory,class:`rounded-xl px-1 border border-red-600`,classIcon:`text-red-600`,icon:`mdi:close`},satisfactory:{label:c.satisfactory,class:`rounded-xl px-1 border border-green-600`,classIcon:`text-green-600`,icon:`mdi:check`}}[e]}return(c,_)=>{let y=ne;return o(),n(`div`,_L,[g(`div`,vL,[g(`div`,yL,[(o(!0),n(E,null,h(e.lines,e=>(o(),n(`div`,{key:e,class:`h-8 w-8 rounded-full flex items-center justify-center text-white text-base font-bold`,style:D(`background-color: ${d(t)(e)}`)},m(e),5))),128))])]),g(`div`,bL,[g(`div`,xL,[g(`div`,SL,m(e.feature.properties.name),1)]),g(`div`,CL,[g(`div`,wL,[g(`span`,null,[f(m(e.feature.properties.type===`bandes-cyclables`?`Bande cyclable`:[`inconnu`,`aucun`].includes(e.feature.properties.type)?`Voie`:d(s)[e.feature.properties.type])+` de `+m(Math.round(d(i)({features:[e.feature]}
814)/25)*25)+`m `,1),_[0]||=g(`br`,null,null,-1)]),v(e.feature.properties).label?(o(),n(`span`,TL,m(v(e.feature.properties).label)+` `+m(v(e.feature.properties).date),1)):u(``,!0)]),g(`div`,EL,[g(`div`,{class:a(d(p).class)},[r(y,{name:d(p).icon,class:a([`h-4 w-4 align-middle`,d(p).classIcon])},null,8,[`name`,`class`]),f(` `+m(d(p).label),1)],2)])]),e.hasDetailsPanel?u(``,!0):(o(),n(`div`,DL,[g(`a`,{class:`p-1 text-lvv-blue-600 text-xs text-base italic hover:underline`,href:d(l)(e.feature.properties)},` voir le détail `,8,OL)]))])])}}}),{__name:`TooltipsLineHoverTooltip`}),AL=[1,3,2,4,5,6,7,12,8,9,10,11].reverse();function jL(e,t){let n=e.properties.line,r=t.properties.line;return AL.indexOf(n)-AL.indexOf(r)}function ML(e=1,t=3){let n=document.createElement(`canvas`);n.width=8*e,n.height=8*e;let r=n.getContext(`2d`);return r?(r.beginPath(),r.moveTo(0,0),r.lineTo(n.width,n.height),r.lineWidth=t*e,r.stroke(),r.beginPath(),r.moveTo(0,n.height),r.lineTo(n.width,0),r.lineWidth=t*e,r.stroke(),n.toDataURL()):``}function NL(e,t,n=1){let r=document.createElement(`canvas`);r.width=64*n,r.height=64*n;let i=r.getContext(`2d`);return i?(i.scale(n,n),i.fillStyle=t,i.beginPath(),i.arc(32,32,28,0,2*Math.PI),i.fill(),i.strokeStyle=`#ffffff`,i.lineWidth=3,i.stroke(),i.fillStyle=`#ffffff`,i.font=`bold 28px sans-serif`,i.textAlign=`center`,i.textBaseline=`middle`,i.fillText(String(e),32,35),r):r}function PL(e,t,n=1){let r=document.createElement(`canvas`),i=44.8;r.width=(64+i*(e.length-1))*n,r.height=64*n;let a=r.getContext(`2d`);return a?(a.scale(n,n),e.forEach((e,n)=>{let r=t[n],o=n*i+32;a.fillStyle=r||`#000000`,a.beginPath(),a.arc(o,32,28,0,2*Math.PI),a.fill(),a.strokeStyle=`#ffffff`,a.lineWidth=3,a.beginPath(),a.arc(o,32,28,0,2*Math.PI),a.stroke(),a.fillStyle=`#ffffff`,a.font=`bold 28px sans-serif`,a.textAlign=`center`,a.textBaseline=`middle`,a.fillText(String(e),o,35)}),r):r}function FL(e){if(e.length<2)return e;let t=e[0],n=e[e.length-1];if(!t||!n)return e;let[r,i]=t,[a,o]=n,s=o-i,c=a-r;return(Math.abs(c)>1e-7?c<0:s>0)?[...e].reverse():e}function IL(e){let t=new Map;e.forEach((e,n)=>{if(e.geometry.type!==`LineString`||!(`id`in e.properties)||!e.properties.id)return;let r=e.properties.id;t.has(r)||t.set(r,[]),t.get(r).push({line:e.properties.line,feature:e,index:n})});let n=new Map;return t.forEach(e=>{let t=[...new Set(e.map(e=>e.line))].sort((e,t)=>e-t);if(t.length<=1)return;let r=`line-shield-${t.join(`-`)}`;e.forEach(e=>{n.set(e.index,r)})}),e.map((e,t)=>{let r=n.get(t);return r?{...e,properties:{...e.properties,compositeIconName:r}}:e})}function LL(e){let t=new Map;for(let n of e){if(n.geometry.type!==`LineString`||!(`id`in n.properties)||!n.properties.id)continue;let e=n.properties.id;t.has(e)||t.set(e,[]),t.get(e).push(n.properties.line)}let n=new Set;for(let e of t.values()){let t=[...new Set(e)].sort((e,t)=>e-t);t.length>1&&n.add(t.join(`-`))}return n}function RL(e){let t={};for(let n of e){let e=n.properties.color;t[e]?t[e].push(n):t[e]=[n]}return t}function zL(e=1){let t=document.createElement(`canvas`);t.width=48*e,t.height=48*e;let n=t.getContext(`2d`);return n?(n.scale(2*e,2*e),n.lineWidth=2,n.lineCap=`round`,n.lineJoin=`round`,n.fillStyle=`#FFCC00`,n.strokeStyle=`#000000`,n.beginPath(),n.roundRect(2,6,20,8,1),n.fill(),n.stroke(),[[[17,3],[17,6]],[[7,3],[7,6]],[[17,14],[17,21]],[[7,14],[7,21]],[[10,14],[2.3,6.3]],[[14,6],[21.7,13.7]],[[8,6],[16,14]]].forEach(([e,t])=>{n.beginPath(),n.moveTo(e[0],e[1]),n.lineTo(t[0],t[1]),n.stroke()}),t):t}var BL=class{map;canvas;ctx;animationFrameId=null;features=[];iconCache=new Map;projectionCache=new Map;needsProjectionUpdate=!0;selectedLines=null;boundUpdateProjection;constructor(e,t){this.map=e,this.features=this.prepareFeatures(t),this.canvas=document.createElement(`canvas`),Object.assign(this.canvas.style,{position:`absolute`,top:`0`,left:`0`,pointerEvents:`none`,width:`100%`,height:`100%`}),this.map.getCanvasContainer().appendChild(this.canvas);let n=this.canvas.getContext(`2d`,{alpha:!0});if(!n)throw Error(`Could not get 2D context`);this.ctx=n,this.boundUpdateProjection=()=>{this.needsProjectionUpdate=!0},this.map.on(`resize`,this.handleResize.bind(this)),this.map.on(`move`,this.boundUpdateProjection),this.map.on(`zoom`,this.boundUpdateProjection),this.handleResize(),this.start()}prepareFeatures(e){return[...e].sort((e,t)=>
814(e.properties.line??1/0)-(t.properties.line??1/0)).map(e=>{if(!e.bbox&&e.geometry.coordinates.length>0){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let[a,o]of e.geometry.coordinates)a<t&&(t=a),o<n&&(n=o),a>r&&(r=a),o>i&&(i=o);e.bbox=[t,n,r,i]}return e})}handleResize(){let e=this.map.getCanvas(),t=e.clientWidth,n=e.clientHeight,r=window.devicePixelRatio||1;this.canvas.width=t*r,this.canvas.height=n*r,this.ctx.resetTransform(),this.ctx.scale(r,r),this.needsProjectionUpdate=!0}setFeatures(e){this.features=this.prepareFeatures(e),this.projectionCache.clear(),this.needsProjectionUpdate=!0}setImages(e){this.iconCache=e}setSelectedLines(e){this.selectedLines=e?new Set(e):null,this.needsProjectionUpdate=!0}start(){this.animationFrameId||this.loop()}stop(){this.animationFrameId&&=(cancelAnimationFrame(this.animationFrameId),null)}setVisible(e){this.canvas.style.display=e?`block`:`none`,e?this.start():this.stop()}destroy(){this.stop(),this.map.off(`resize`,this.handleResize),this.map.off(`move`,this.boundUpdateProjection),this.map.off(`zoom`,this.boundUpdateProjection),this.canvas.remove()}loop(){this.render(),this.animationFrameId=requestAnimationFrame(this.loop.bind(this))}isVisible(e,t){return!e||e[2]>=t.getWest()&&e[0]<=t.getEast()&&e[3]>=t.getSouth()&&e[1]<=t.getNorth()}updateProjections(e){this.projectionCache.clear();let t=new Set;for(let n of this.features){if(!this.isVisible(n.bbox,e))continue;let r=n.geometry.coordinates;if(r.length<2)continue;let i=n.properties.line,a=this.selectedLines&&i!==void 0&&this.selectedLines.has(i),o=new Path2D,s=0,c=0,l=r[0],u=this.map.project(l),d=!1;for(let e=1;e<r.length;e++){let n=r[e],i=[l,n].sort().map(e=>e.join(`,`)).join(`|`);if(a||!t.has(i)){a||t.add(i);let e=this.map.project(n);d||=(o.moveTo(u.x,u.y),!0),o.lineTo(e.x,e.y);let r=e.x-u.x,l=e.y-u.y;s+=Math.sqrt(r*r+l*l),u=e,c++}else d=!1,u=this.map.project(n);l=n}if(c>0){let e=this.map.project(r[Math.floor(r.length/2)]);this.projectionCache.set(n,{path:o,length:s,center:e,isVisible:!0})}}this.needsProjectionUpdate=!1}render(){if(!this.map||!this.ctx||!this.canvas.isConnected)return;let e=window.devicePixelRatio||1,t=this.canvas.width/e,n=this.canvas.height/e,r=this.map.getBounds(),i=this.map.getZoom();this.needsProjectionUpdate&&this.updateProjections(r),this.ctx.clearRect(0,0,t,n);let a=performance.now()/1e3*20%16;this.ctx.lineCap=`butt`,this.ctx.lineJoin=`round`,this.ctx.lineWidth=4,this.ctx.setLineDash([8,8]);let o=null,s=0;for(let e of this.features){let t=e.properties.line;t!==o&&(o=t,s=0);let n=this.projectionCache.get(e);if(!n)continue;let r=!this.selectedLines||t!==void 0&&this.selectedLines.has(t);this.ctx.globalAlpha=r?1:.2,this.ctx.strokeStyle=e.properties.color||`#000`,this.ctx.lineDashOffset=-(a+s),this.ctx.stroke(n.path),s+=n.length}this.ctx.setLineDash([]);let c=.35;for(let e of this.features){let t=this.projectionCache.get(e);if(!t||!t.center)continue;let n=e.properties,r=n.distance||0;if(i<13&&r<730||i>=13&&i<17&&r<300)continue;let a=e.properties.line,o=!this.selectedLines||a!==void 0&&this.selectedLines.has(a),s=n.compositeIconName||`line-shield-${a}`,l=this.iconCache.get(s);if(!l)continue;this.ctx.globalAlpha=o?1:.2;let u=l.width*c,d=l.height*c;this.ctx.drawImage(l,t.center.x-u/2,t.center.y-d/2,u,d)}this.ctx.globalAlpha=1}};function VL(e,t){return new BL(e,t)}var HL={title:`Les Voies Lyonnaises`,message:`Une initiative de l'association La Ville à Vélo pour suivre le développement du nouveau réseau vélo sécurisé lyonnais.`,showOverviewPlan:!0,overviewPlan:{default:`reel`,plans:[{id:`reel`,label:`Réel`,caption:`Réseau 2026 · réel`,url:`https://cyclopolis.lavilleavelo.org/Carte_VL2026_reel.png`},{id:`prevu`,label:`Prévu`,caption:`Réseau 2026 · prévu`,url:`https://cyclopolis.lavilleavelo.org/Carte_VL2026_prevu.png`}],widthMm:110,imageSize:{width:2400,height:2560},crop:{x:660,y:52,width:1712,height:2464}},format:`A2`,orientation:`landscape`,marginMm:2,scaleDenominator:5e4,center:[4.84419,45.76398],dpi:300,symbolScale:1,lineWidthScale:.9,crossIconSize:.85,crossLineWidth:2.2,constructionIconSize:.38,statusTextSize:6.5,detailZoomOffset:.5,extraTileZoom:1,paperBasemap:!0,labelFonts:{street:`Roboto Condensed Bold`,commune:`Roboto Bold`,neighbourhood:`Roboto Condensed Bold`},neighbourhoodTextSize:6.5,streetTextSize:6,hiddenPlaces:[`Charmettes`,`Cité Internationale`,`Les Brotteaux`,`Cuire-le-Haut`,`Gare`,`Bellecour`,`Bonnevay`,`Charpennes`,`Cordeliers`,`Cusset`,`Gorge de Loup`,`Grange Blanche`,`Gratte-Ciel`,`Jean-Macé`,`La Croix-Rousse`,`La Guillotière`,`Laënnec`,`Mermoz`,`Part-Dieu`,`Sans Souci`,`Vaise`,`Valmy`,`Vieux Lyon`,`Saint-Just`,`La Soie`],placeOffsets:{Préfecture:[1.7,.9],"Saint-Clair":[-2.5,-1.4],"Le Mas du Taureau":[3,-1.2],Cyprian:[0,-1.6],"Pré de l'Herpe":[-3,1.6],"Les Brosses":[1.4,0],"Les Sept Chemins":[-2.5,2.2],"6e Arrondissement":[1.5,0],"Point du Jour":[0,1.4],"5e Arrondissement":[0,1.4],"Champagne-au-Mont-d'Or":[-5,.3],Oullins:[-3.2,-.4],"Poleymieux-au-Mont-d'Or":[0,1.7],"Caluire-et-Cuire":[-5.8,5.4],"Rillieux-la-Pape":[-.5,-1.3],"3e Arrondissement":[1.2,0],"La Balme":[-2.2,0],"Cité Tase":[-1,0]},streetOffsets:{"Cours Lafayette":[5.5,1],"Rue Vauban":[0,-1],"Av. Barthélémy Buyer":[0,-1.2],"Rue Grenette":[0,-1],"Rue Garibaldi":[3,1.2],"Cours Albert Thomas":[0,-1.7],"Av. Lacassagne":[0,-1],"Rue de Bonnel":[1,-1.2],"Bd Vivier-Merle":[0,-1.2],"Bd du 11 Nov. 1918":[0,1.2],"Av. Jean Mermoz":[0,-1.6],"Route de Genas":[0,1.1],"Quai Victor Augagneur":[0,-1.2],"Av. des Frères Lumière":[0,1],"Cours Ãmile Zola":[0,1],"Bd Charles de Gaulle":[0,-1.2]},priorityStreets:[`Cours Gambetta`],hiddenStreets:[`Autoroute du Soleil`,`Bd du 11 Novembre 1918`,`Av. de la Table de Pierre`],extraStreetLabels:[{name:`Rue Francis de Pressensé`,coordinates:[[4.868,45.7724],[4.87,45.7718],[4.8778,45.7719],[4.8872,45.7712],[4.8899,45.7699],[4.8966,45.7693]]},{name:`Rue Grenette`,coordinates:[[4.8311,45.76314],[4.8381,45.76364]]},{name:`Av. des Frères Lumière`,coordinates:[[4.8595,45.7471],[4.8653,45.7454],[4.8712,45.7439],[4.8785,45.7427]]},{name:`Av. Rockefeller`,coordinates:[[4.8791,45.7427],[4.885,45.7413],[4.892,45.739]]}
814,{name:`Cours Albert Thomas`,coordinates:[[4.8693,45.74622],[4.8757,45.74402],[4.8791,45.7427],[4.8821,45.742]]},{name:`Av. Lacassagne`,coordinates:[[4.8745,45.7505],[4.87782,45.74893],[4.88676,45.74637]]},{name:`Rue de Bonnel`,coordinates:[[4.8418,45.76135],[4.8462,45.76168],[4.8503,45.762]]},{name:`Bd Vivier-Merle`,coordinates:[[4.85945,45.752],[4.8591,45.7552],[4.85865,45.7584]]},{name:`Bd du 11 Nov. 1918`,coordinates:[[4.8683,45.77892],[4.87162,45.77891],[4.87307,45.77919],[4.8793,45.7799]]},{name:`Cours Ãmile Zola`,coordinates:[[4.86863,45.77101],[4.87091,45.771],[4.87339,45.77064],[4.87656,45.77005],[4.8793,45.76956]]},{name:`Av. Jean Mermoz`,coordinates:[[4.8752,45.7345],[4.8806,45.7327],[4.8861,45.731]]},{name:`Route de Genas`,coordinates:[[4.9045,45.75166],[4.90938,45.75068],[4.915,45.74928]]},{name:`Bd de la Bataille de Stalingrad`,coordinates:[[4.86006,45.78204],[4.85979,45.77962],[4.85907,45.77624],[4.85887,45.77437],[4.85871,45.77283],[4.85859,45.77088],[4.85846,45.77007]]},{name:`Rue Garibaldi`,coordinates:[[4.85106,45.76573],[4.85123,45.76481],[4.85141,45.76367],[4.85167,45.76274],[4.85194,45.76137],[4.85218,45.76007],[4.85241,45.75872],[4.85261,45.75756]]},{name:`Av. Félix Faure`,coordinates:[[4.86319,45.75415],[4.86397,45.75425],[4.86656,45.75456],[4.86787,45.75473],[4.87083,45.75508],[4.87267,45.75531]]},{name:`Allée Achille Lignon`,coordinates:[[4.84441,45.77776],[4.84472,45.77795],[4.84469,45.77806],[4.84539,45.77899],[4.84622,45.77991],[4.8475,45.78105],[4.84927,45.78227],[4.85096,45.7832],[4.85266,45.78399]]},{name:`Quai Victor Augagneur`,coordinates:[[4.84138,45.76321],[4.84118,45.76136],[4.841,45.76001],[4.84084,45.75838],[4.84078,45.75766],[4.84073,45.75726],[4.84067,45.7569],[4.84057,45.75664],[4.84051,45.75652]]},{name:`Avenue Leclerc`,coordinates:[[4.82442,45.73756],[4.82414,45.73711],[4.82378,45.73629],[4.82361,45.73544],[4.8236,45.73524],[4.82368,45.7344],[4.82371,45.73373],[4.82371,45.7324]]},{name:`Av. Tony Garnier`,coordinates:[[4.8262,45.72654],[4.82868,45.72658],[4.83076,45.7266],[4.83147,45.7266],[4.83368,45.72646],[4.8368,45.72626]]},{name:`Av. Albert Einstein`,coordinates:[[4.87499,45.77952],[4.87523,45.7798],[4.87605,45.78126],[4.87654,45.78193],[4.87691,45.78217],[4.87732,45.78229],[4.87909,45.78271],[4.88379,45.78376]]},{name:`Av. Barthélémy Buyer`,coordinates:[[4.80859,45.75931],[4.80621,45.76008],[4.80503,45.76033],[4.80468,45.76052],[4.80401,45.76124],[4.80222,45.76264],[4.80145,45.76307],[4.80026,45.7635]]},{name:`Quai Joseph Gillet`,coordinates:[[4.81033,45.77626],[4.81052,45.77721],[4.8118,45.78029],[4.81245,45.7813],[4.81349,45.78252]]}]};s(),x();var UL={lineWidth:4,contourWidth:1,wipDasharray:[2,2],plannedDasharray:[2,4],unsatisfactory:{gapWidth:5,color:`#c84271`,dasharray:[.8,.8]}},WL=.2,GL=1,KL=1,{getNbVoiesCyclables:qL}=ce(),JL=4,YL=({updateUrlOnFeatureClick:e,print:t=!1}={})=>{let n=t?JL:1,r=t?HL.crossIconSize:1.2,a=t?HL.crossLineWidth:void 0,o=t?HL.constructionIconSize:.5,s=t?HL.statusTextSize:14,{getLineColor:u}=se(),{getLineStringDistance:d}=he(),f=te(),p=ee(),{extractLineAndAnchorFromPath:m}=le(),h=null,g=null,_=null,v=null,b=!1,x=null,S=null,w=new Map;function E(e){return{...e,properties:{color:u(e.properties.line),...e.properties}}}function D(e,t,n){if(!e||!e.getSource)return!1;let r=e.getSource(t);return r?(r.setData({type:`FeatureCollection`,features:n}),!0):(e.addSource(t,{type:`geojson`,data:{type:`FeatureCollection`,features:n}}),!1)}async function O({map:e,features:t,force:r=!1}){let i=[{id:`camera-icon`,url:`/icons/camera.png`,sdf:!0},{id:`pump-icon`,url:`/icons/pump.png`,sdf:!0},{id:`danger-icon`,url:`/icons/danger.png`,sdf:!1},{id:`cross-icon`,url:ML(n,a),sdf:!0,pixelRatio:n}];await Promise.all(i.map(async({id:t,url:n,sdf:r,pixelRatio:i})=>{if(e.hasImage(t))return;let a=await e.loadImage(n);a&&e.addImage(t,a.data,{sdf:r,pixelRatio:i})}));let o=`construction-icon`;if(!e.hasImage(o)||r){r&&e.hasImage(o)&&e.removeImage(o);let t=zL(n),i=t.getContext(`2d`)?.getImageData(0,0,t.width,t.height);i&&e.addImage(o,i,{sdf:!1,pixelRatio:n})}let s=qL();for(let t=1;t<=s;t++){let i=`line-shield-${t}`;
814if(e.hasImage(i)){if(!r)continue;e.removeImage(i)}let a=u(t),o=NL(t,a,n),s=o.getContext(`2d`)?.getImageData(0,0,o.width,o.height);s&&(e.addImage(i,s,{pixelRatio:n}),w.set(i,o))}LL(t).forEach(t=>{let i=`line-shield-${t}`;if(e.hasImage(i)){if(!r)return;e.removeImage(i)}let a=t.split(`-`).map(Number),o=PL(a,a.map(e=>u(e)),n),s=o.getContext(`2d`)?.getImageData(0,0,o.width,o.height);s&&(e.addImage(i,s,{pixelRatio:n}),w.set(i,o))})}function A({map:e,features:t}){(t.length!==0||e.getLayer(`unsatisfactory-sections`))&&(D(e,`unsatisfactory-sections`,t)||e.addLayer({id:`unsatisfactory-sections`,type:`line`,source:`unsatisfactory-sections`,minzoom:13,paint:{"line-gap-width":UL.unsatisfactory.gapWidth,"line-width":UL.lineWidth,"line-color":UL.unsatisfactory.color,"line-dasharray":UL.unsatisfactory.dasharray}}))}function j({map:e,features:t}){if(t.length===0&&!e.getLayer(`highlight-layer`))return;let n=t.filter(e=>e.properties.status!==`wip`&&e.properties.status!==`tested`);if(D(e,`all-but-wip-sections`,n),D(e,`all-but-wip-sections-low-zoom`,n.filter(e=>d(e)>=900)),D(e,`all-but-wip-sections-high-zoom`,n.filter(e=>e.properties.showLabel)),D(e,`all-sections`,t))return;e.addLayer({id:`selected-layer`,type:`line`,source:`all-sections`,layout:{"line-cap":`round`},paint:{"line-gap-width":5,"line-width":UL.lineWidth,"line-color":`rgba(0, 0, 0, 0.0)`}}
814),e.addLayer({id:`highlight-layer`,type:`line`,source:`all-sections`,layout:{"line-cap":`round`},paint:{"line-gap-width":5,"line-width":UL.lineWidth,"line-color":[`case`,[`boolean`,[`feature-state`,`hover`],!1],`#433E61`,`rgba(255,255,255,0)`]}}),e.addLayer({id:`contour-layer`,type:`line`,source:`all-sections`,layout:{"line-cap":`round`},paint:{"line-gap-width":UL.lineWidth,"line-width":UL.contourWidth,"line-color":`rgba(0, 0, 0, 0.0)`}}),e.addLayer({id:`underline-layer`,type:`line`,source:`all-sections`,paint:{"line-width":UL.lineWidth,"line-color":`#ffffff`}}),new Set(t.map(e=>`line`in e.properties?e.properties.line:null).filter(Boolean)).size>2&&(e.addLayer({id:`section-names-low-zoom`,type:`symbol`,source:`all-but-wip-sections-low-zoom`,maxzoom:13,layout:{"icon-image":[`coalesce`,[`get`,`compositeIconName`],[`concat`,`line-shield-`,[`get`,`line`]]],"icon-size":.3,"symbol-spacing":1e6,"symbol-placement":`line-center`,"symbol-sort-key":[`-`,[`get`,`line`]],"icon-rotation-alignment":`viewport`}}),e.addLayer({id:`section-names`,type:`symbol`,source:`all-but-wip-sections-high-zoom`,minzoom:13,maxzoom:17,layout:{"icon-image":[`coalesce`,[`get`,`compositeIconName`],[`concat`,`line-shield-`,[`get`,`line`]]],"icon-size":[`interpolate`,[`linear`],[`zoom`],13,.3,15,.3,17,.4],"symbol-spacing":1e6,"symbol-placement":`line-center`,"symbol-sort-key":[`-`,[`get`,`line`]]}}),e.addLayer({id:`section-names-high-zoom`,type:`symbol`,source:`all-but-wip-sections`,minzoom:17,layout:{"icon-image":[`coalesce`,[`get`,`compositeIconName`],[`concat`,`line-shield-`,[`get`,`line`]]],"icon-size":.4,"symbol-spacing":1e6,"symbol-placement":`line-center`,"symbol-sort-key":[`-`,[`get`,`line`]]}})),e.setPaintProperty(`contour-layer`,`line-color`,`#000`);let r=null;e.on(`mousemove`,`highlight-layer`,t=>{e.getCanvas().style.cursor=`pointer`;let n=e.queryRenderedFeatures(t.point,{layers:[`highlight-layer`]});n.length>0&&(r!==null&&e.setFeatureState({source:`all-sections`,id:r},{hover:!1}),n[0]?.id!==void 0&&(r=n[0].id,r!==null&&e.setFeatureState({source:`all-sections`,id:r},{hover:!0})))}),e.on(`mouseleave`,`highlight-layer`,()=>{e.getCanvas().style.cursor=``,r!==null&&e.setFeatureState({source:`all-sections`,id:r},{hover:!1}),r=null})}function ne({map:e,features:t}){(t.length!==0||e.getLayer(`done-sections`))&&(D(e,`done-sections`,t)||e.addLayer({id:`done-sections`,type:`line`,source:`done-sections`,paint:{"line-width":UL.lineWidth,"line-color":[`get`,`color`]}}))}function re({map:e,features:n}){if(S=e,n.length===0&&!e.getLayer(`wip-sections`)||(t||(x?x.setFeatures(n):x=VL(e,n),x.setImages(w),x.setVisible(!ie.value)),D(e,`wip-sections`,n)))return;let r=t||ie.value?`visible`:`none`;e.addLayer({id:`wip-sections`,type:`line`,source:`wip-sections`,layout:{visibility:r},paint:{"line-width":UL.lineWidth,"line-color":[`get`,`color`],"line-dasharray":UL.wipDasharray}}),e.addLayer({id:`wip-node-icons`,type:`symbol`,source:`wip-sections`,layout:{"icon-image":`construction-icon`,"icon-size":o,"symbol-placement":`line`,"symbol-spacing":[`interpolate`,[`linear`],[`zoom`],13,80,16,250],"icon-allow-overlap":!0,"icon-anchor":`bottom`,visibility:r}}),e.addLayer({id:`wip-shields`,type:`symbol`,source:`wip-sections`,layout:{"icon-image":[`coalesce`,[`get`,`compositeIconName`],[`concat`,`line-shield-`,[`get`,`line`]]],"icon-size":[`interpolate`,[`linear`],[`zoom`],13,.3,15,.3,17,.4],"symbol-placement":`line-center`,"symbol-spacing":1e6,visibility:r}})}let{reduceMotion:ie}=oe();k(ie,e=>{if(!S||t)return;let n=e?`visible`:`none`;S.getLayer(`wip-node-icons`)&&S.setLayoutProperty(`wip-node-icons`,`visibility`,n),S.getLayer(`wip-shields`)&&S.setLayoutProperty(`wip-shields`,`visibility`,n),S.getLayer(`wip-sections`)&&S.setLayoutProperty(`wip-sections`,`visibility`,n),x&&x.setVisible(!e)},{immediate:!0}),i(()=>{x&&x.destroy()});function ae({map:e,features:t}){(t.length!==0||e.getLayer(`planned-sections`))&&(D(e,`planned-sections`,t)||e.addLayer({id:`planned-sections`,type:`line`,source:`planned-sections`,paint:{"line-width":UL.lineWidth,"line-color":[`get`,`color`],"line-dasharray":UL.plannedDasharray}}))}function ge({map:e,features:t}){(t.length!==0||e.getLayer(`variante-sections`))&&(D(e,`variante-sections`,t)||(e.addLayer({id:`variante-sections`,type:`line`,source:`variante-sections`,paint:{"line-width":UL.lineWidth,"line-color":[`get`,`color`],"line-dasharray":[2,2],"line-opacity":.5}}),e.addLayer({id:`variante-symbols`,type:`symbol`,source:`variante-sections`,paint:{"text-halo-color":`#fff`,"text-halo-width":4},layout:{"symbol-placement":`line`,"symbol-spacing":120,"text-font":[`Open Sans Regular`],"text-field":[`coalesce`,[`get`,`text`],`variante`],"text-size":s}}),e.on(`mouseenter`,`variante-sections`,()=>e.getCanvas().style.cursor=`pointer`),e.on(`mouseleave`,`variante-sections`,()=>e.getCanvas().style.cursor=``)))}function _e({map:e,features:t}){(t.length!==0||e.getLayer(`variante-postponed-sections`))&&(D(e,`variante-postponed-sections`,t)||(e.addLayer({id:`variante-postponed-sections`,type:`line`,source:`variante-postponed-sections`,paint:{"line-width":UL.lineWidth,"line-color":[`get`,`color`],"line-dasharray":[2,2],"line-opacity":.5}}),e.addLayer({id:`variante-postponed-symbols`,type:`symbol`,source:`variante-postponed-sections`,paint:{"text-halo-color":`#fff`,"text-halo-width":4},layout:{"symbol-placement":`line`,"symbol-spacing":120,"text-font":[`Open Sans Regular`],"text-field":[`coalesce`,[`get`,`text`],`variante reportée`],"text-size":s}}),e.on(`mouseenter`,`variante-postponed-sections`,()=>e.getCanvas().style.cursor=`pointer`),e.on(`mouseleave`,`variante-postponed-sections`,()=>e.getCanvas().style.cursor=``)))}function ve({map:e,features:t}){let n=RL(t);for(let t=1;t<=qL();t++){let r=u(t);n[r]||D(e,`postponed-sections-${r}`,[])}for(let[t,i]of Object.entries(n))D(e,`postponed-sections-${t}`,i),!e.getLayer(`postponed-symbols-${t}`)&&(e.addLayer({id:`postponed-symbols-${t}`,type:`symbol`,source:`postponed-sections-${t}`,layout:{"symbol-placement":`line`,"symbol-spacing":1,"icon-image":`cross-icon`,"icon-size":r},paint:{"icon-color":t}}),e.addLayer({id:`postponed-text-${t}`,type:`symbol`,source:`postponed-sections-${t}`,paint:{"text-halo-color":`#fff`,"text-halo-width":3},layout:{"symbol-placement":`line`,"symbol-spacing":150,"text-font":[`Open Sans Regular`],"text-field":`reporté`,"text-size":s}}),e.on(`mouseenter`,`postponed-symbols-${t}`,()=>e.getCanvas().style.cursor=`pointer`),e.on(`mouseleave`,`postponed-symbols-${t}`,()=>e.getCanvas().style.cursor=``))}function ye({map:e,features:t}){let n=t.filter(de).map(e=>({...e,properties:{color:u(e.properties.line),...e.properties}}));n.length!==0&&(D(e,`perspectives`,n)||(e.addLayer({id:`perspectives`,source:`perspectives`,type:`symbol`,minzoom:14,layout:{"icon-image":`camera-icon`,"icon-size":.5,"icon-offset":[-25,-25]},paint:{"icon-color":[`get`,`color`]}}),e.on(`mouseenter`,`perspectives`,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,`perspectives`,()=>{e.getCanvas().style.cursor=``})))}function be({map:e,features:t}){let n=t.filter(fe);n.length!==0&&(D(e,`dangers`,n)||(e.addLayer({id:`dangers`,source:`dangers`,type:`symbol`,minzoom:14,layout:{"icon-image":`danger-icon`,"icon-size":.7}}),e.on(`mousemove`,`dangers`,()=>{e.getCanvas().style.cursor=`pointer`}),e.on(`mouseleave`,`dangers`,()=>{e.getCanvas().style.cursor=``})))}function xe(e,t){let n=document.createElement(`canvas`),r=(e+t)*2*2;n.width=r,n.height=r;let i=n.getContext(`2d`),a=r/2,o=r/2,s=e*2;return t>0&&(i.beginPath(),i.arc(a,o,s+t*2*.5,0,Math.PI*2),i.fillStyle=`#fff`,i.fill()),i.save(),i.beginPath(),i.moveTo(a,o),i.lineTo(a+s*1.5,o-s*1.5),i.lineTo(a-s*1.5,o-s*1.5),i.lineTo(a-s*1.5,o+s*1.5),i.closePath(),i.clip(),i.beginPath(),i.arc(a,o,s,0,Math.PI*2),i.fillStyle=`#C84271`,i.fill(),i.restore(
814),i.save(),i.beginPath(),i.moveTo(a,o),i.lineTo(a+s*1.5,o-s*1.5),i.lineTo(a+s*1.5,o+s*1.5),i.lineTo(a-s*1.5,o+s*1.5),i.closePath(),i.clip(),i.beginPath(),i.arc(a,o,s,0,Math.PI*2),i.fillStyle=`#152B68`,i.fill(),i.restore(),n}function Se({map:e,features:t}){let n=(t||[]).sort((e,t)=>{let n=e.properties.counts.at(-1),r=t.properties.counts.at(-1),i=n&&`count`in n?n.count:0;return(r&&`count`in r?r.count:0)-i}).map((e,t)=>(e.properties.circleSortKey=+(t<10),e.properties.circleRadius=t<10?10:7,e.properties.circleStrokeWidth=t<10?3:2,e)),r=n.filter(e=>!e.properties.isMixed),i=n.filter(e=>e.properties.isMixed);if(D(e,`compteurs`,r),e.getLayer(`compteurs`)||(e.addLayer({id:`compteurs`,source:`compteurs`,type:`circle`,layout:{"circle-sort-key":[`get`,`circleSortKey`]},paint:{"circle-color":[`match`,[`get`,`type`],`compteur-velo`,`#C84271`,`compteur-voiture`,`#152B68`,`#152B68`],"circle-stroke-color":`#fff`,"circle-stroke-width":[`get`,`circleStrokeWidth`],"circle-radius":[`get`,`circleRadius`]}}),e.on(`mouseenter`,`compteurs`,()=>e.getCanvas().style.cursor=`pointer`),e.on(`mouseleave`,`compteurs`,()=>e.getCanvas().style.cursor=``),e.addLayer({id:`compteurs-labels`,source:`compteurs`,type:`symbol`,minzoom:13,layout:{"text-field":[`get`,`name`],"text-size":11,"text-offset":[0,1.5],"text-anchor":`top`,"text-max-width":10,"text-allow-overlap":!1},paint:{"text-color":`#333`,"text-halo-color":`#fff`,"text-halo-width":1.5}})),i.length>0){for(let{name:t,radius:n,stroke:r}of[{name:`bicolor-circle-large`,radius:10,stroke:3},{name:`bicolor-circle-small`,radius:7,stroke:2}])if(!e.hasImage(t)){let i=xe(n,r),a=i.getContext(`2d`)?.getImageData(0,0,i.width,i.height);a&&e.addImage(t,a,{sdf:!1})}}(i.length>0||e.getSource(`compteurs-mixed`))&&(D(e,`compteurs-mixed`,i),!e.getLayer(`compteurs-mixed`)&&i.length>0&&(e.addLayer({id:`compteurs-mixed`,source:`compteurs-mixed`,type:`symbol`,layout:{"icon-image":[`case`,[`==`,[`get`,`circleRadius`],10],`bicolor-circle-large`,`bicolor-circle-small`],"icon-size":.5,"icon-allow-overlap":!0,"symbol-sort-key":[`get`,`circleSortKey`]}}),e.on(`mouseenter`,`compteurs-mixed`,()=>e.getCanvas().style.cursor=`pointer`),e.on(`mouseleave`,`compteurs-mixed`,()=>e.getCanvas().style.cursor=``),e.addLayer({id:`compteurs-mixed-labels`,source:`compteurs-mixed`,type:`symbol`,minzoom:13,layout:{"text-field":[`get`,`name`],"text-size":11,"text-offset":[0,1.5],"text-anchor":`top`,"text-max-width":10,"text-allow-overlap":!1},paint:{"text-color":`#333`,"text-halo-color":`#fff`,"text-halo-width":1.5}})))}function Ce({counters:e,type:t,isMixed:n=!1}){return!e||e.length===0?[]:e.map(e=>({type:`Feature`,properties:{type:t,isMixed:n,name:e.name,link:e.path,counts:e.counts||[]},geometry:{type:`Point`,coordinates:[e.coordinates[0],e.coordinates[1]]}}))}function we({map:e,features:t,padding:n=20}){let r=t.filter(pe).flatMap(e=>e.geometry.coordinates),i=t.filter(ue).map(e=>e.geometry.coordinates);if(r.length!==0||i.length!==0){if(t.length===1&&i.length===1&&r.length===0)e.flyTo({center:i[0],zoom:14,duration:300});else{let t=[...r,...i],a=new tE(t[0],t[0]);for(let e of t)a.extend(e);e.fitBounds(a,{padding:n,maxZoom:14})}}}function M({map:e,features:t}){let n=IL(t.filter(pe).sort(jL).map(E).map(e=>{let t=d(e);return{...e,properties:{...e.properties,distance:t},geometry:{...e.geometry,coordinates:FL(e.geometry.coordinates)}}})).map((e,t)=>({...e,id:t})),r=[],i=[],a=[],o=[],s=[],c=[],l=[];for(let e of n)switch(e.properties.quality===`unsatisfactory`&&e.properties.status!==`postponed`&&r.push(e),e.properties.status){case`done`:i.push(e);break;case`wip`:case`tested`:a.push(e);break;case`planned`:o.push(e);break;case`variante`:s.push(e);break;case`variante-postponed`:c.push(e);break;case`postponed`:l.push(e)}j({map:e,features:n}),A({map:e,features:r}),ne({map:e,features:i}),ae({map:e,features:o}),ge({map:e,features:s}),_e({map:e,features:c}),re({map:e,features:a}),ve({map:e,features:l}),Se({map:e,features:t.filter(me)}),be({map:e,features:t.filter(fe)}),ye({map:e,features:t.filter(de)})}function Te({map:t,features:n,event:r,hasDetailsPanel:i,isHover:a=!1}){if(!t||t.getZoom()<11&&a)return;let o=[{id:`compteurs`,isClicked:()=>t.getLayer(`compteurs`)?t.queryRenderedFeatures(r.point,{layers:[`compteurs`]}).length>0:!1,getTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`compteurs`]}
814)[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name&&me(t))}},component:GI,hoverComponent:GI,getHoverTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`compteurs`]})[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name&&me(t))}}},{id:`compteurs-mixed`,isClicked:()=>t.getLayer(`compteurs-mixed`)?t.queryRenderedFeatures(r.point,{layers:[`compteurs-mixed`]}).length>0:!1,getTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`compteurs-mixed`]})[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name&&me(t))}},component:GI,hoverComponent:GI,getHoverTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`compteurs-mixed`]})[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name&&me(t))}}},{id:`dangers`,isClicked:()=>t.getLayer(`dangers`)?t.queryRenderedFeatures(r.point,{layers:[`dangers`]}).length>0:!1,getTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`dangers`]})[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name)}},component:QI,hoverComponent:QI,getHoverTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`dangers`]})[0];if(e)return{feature:n.find(t=>t.properties.name===e.properties.name)}}},{id:`perspectives`,isClicked:()=>t.getLayer(`perspectives`)?t.queryRenderedFeatures(r.point,{layers:[`perspectives`]}).length>0:!1,getTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`perspectives`]})[0];if(e)return{feature:n.find(t=>t.properties.type===`perspective`&&t.properties.line===e.properties.line&&t.properties.imgUrl===e.properties.imgUrl)}},component:wI,hoverComponent:wI,getHoverTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{layers:[`perspectives`]})[0];if(e)return{feature:n.find(t=>t.properties.type===`perspective`&&t.properties.line===e.properties.line&&t.properties.imgUrl===e.properties.imgUrl)}}},{id:`linestring`,isClicked:()=>t.queryRenderedFeatures(r.point,{filter:[`all`,[`==`,[`geometry-type`],`LineString`],[`!=`,[`get`,`source`],`openmaptiles`],[`has`,`status`]]}).length>0,getTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{filter:[`all`,[`==`,[`geometry-type`],`LineString`],[`!=`,[`get`,`source`],`openmaptiles`],[`has`,`status`]]})[0];if(!e)return;let a=e.properties.line,o=e.properties.name,s=n.filter(pe),c=s.find(e=>e.properties.line===a&&e.properties.name===o);if(c)return{feature:c,lines:c.properties.id?[...new Set(s.filter(e=>e.properties.id===c.properties.id).map(e=>e.properties.line))]:[c.properties.line],hasDetailsPanel:i}},component:window.innerWidth>1024?gL:kL,getHoverTooltipProps:()=>{let e=t.queryRenderedFeatures(r.point,{filter:[`all`,[`==`,[`geometry-type`],`LineString`],[`!=`,[`get`,`source`],`openmaptiles`],[`has`,`status`]]})[0];if(!e)return;let a=e.properties.line,o=e.properties.name,s=n.filter(pe),c=s.find(e=>e.properties.line===a&&e.properties.name===o);if(c)return{feature:c,lines:c.properties.id?[...new Set(s.filter(e=>e.properties.id===c.properties.id).map(e=>e.properties.line))]:[c.properties.line],hasDetailsPanel:i}},hoverComponent:kL}].find(e=>e.isClicked());if(!o){if(a&&h&&(h.remove(),h=null,_=null),!a&&(b=!0,g&&(g.remove(),g=null,v=null),Ee({map:t,selections:null}),Oe({map:t,counterName:null}),e&&(p.query.modal===`counter`||p.query.modal===`details`))){let e=p.query.modal===`counter`||sessionStorage.getItem(`wasFiltersOpen`)===`true`;f.replace({query:{...p.query,modal:e?`filters`:void 0,line:void 0,sectionName:void 0,sectionAnchor:void 0,counterLink:void 0}})}return}let s=a?o.getHoverTooltipProps?.():o.getTooltipProps();if(!s)return;let u=s.feature?`${o.id}-${JSON.stringify(s.feature.properties)}`:null;if(a){if(u===v)return;if(u===_&&h){h.setLngLat(r.lngLat);return}h&&=(h.remove(),null),_=u}else v=u;if(!a&&e&&s.feature&&![`danger`,`perspective`].includes(s.feature.properties.type)&&`name`in s.feature.properties&&`line`in s.feature.properties){let e=s.feature?.properties.link,n={...p.query,line:String(s.feature.properties.line),sectionName:s.feature.properties.name},i=t.queryRenderedFeatures(r.point,{filter:[`all`,[`==`,[`geometry-type`],`LineString`],[`!=`,[`get`,`source`],`openmaptiles`],[`has`,`status`]]}),a=[];for(let e of i){let t=e.properties.line;a.push({line:+t,sectionName:e.properties.name})}if(Ee({map:t,selections:n.line?a:null}),e){let{line:t,anchor:r}=m(e);n.modal===`filters`&&sessionStorage.setItem(`wasFiltersOpen`,`true`),n.modal=`details`,n.line=t??n.line,n.sectionAnchor=r??null}f.replace({query:n})}if(!a&&e&&s.feature&&me(s.feature)&&s.feature.properties.link){Oe({map:t,counterName:s.feature.properties.name});let e={...p.query,modal:`counter`,counters:`1`,counterLink:s.feature.properties.link};p.query.modal===`filters`&&sessionStorage.setItem(`wasFiltersOpen`,`true`),delete e.line,delete e.sectionName,delete e.sectionAnchor,f.replace({query:e})}let d=`${o.id}-tooltip-${a?`hover`:`click`}-${Date.now()}`,x=new aI({closeButton:!1,closeOnClick:!a,closeOnMove:a}).setLngLat(r.lngLat).setHTML(`<div class="transition-all duration-100 ${a?`delay-100`:``}" style="opacity: 0; min-height: 200px; min-width: 100px" id="${d}"></div>`).addTo(t);a?h=x:g=x,x.on(`close`,()=>{a&&h===x?(h=null,_=null):!a&&g===x&&(g=null,v=null),!a&&setTimeout(()=>{if(b){b=!1;return}if(!g&&document.querySelectorAll(`.maplibregl-popup`).length===0){S&&Oe({map:S,counterName:null});let t=e&&(p.query.modal===`counter`||sessionStorage.getItem(`wasFiltersOpen`)===`true`);f.replace({query:{...p.query,modal:t?`filters`:void 0,line:void 0,sectionName:void 0,counterLink:void 0}})}},50)});let w=c(a?o.hoverComponent:o.component);w&&l(()=>{T({render:()=>C(y,null,{default:C(w,s),fallback:`Chargement...`})}).mount(`#${d}`);let e=document.getElementById(d);e&&(e.style.minHeight=`initial`,e.style.minWidth=`initial`,e.style.opacity=`1`)})}function Ee({map:e,selections:t}){let n=[`done-sections`,`wip-sections`,`wip-node-icons`,`planned-sections`,`variante-sections`,`variante-symbols`,`variante-postponed-sections`,`variante-postponed-symbols`,`unsatisfactory-sections`,`section-names`,`section-names-low-zoom`,`section-names-high-zoom`,`selected-layer`,`contour-layer`,`underline-layer`,`perspectives`,`dangers`],r=t=>{e.getLayer(t)&&e.moveLayer(t)},{getLineColor:i}=se(),{getNbVoiesCyclables:a}=ce(),o=[];for(let e=1;e<=a();e++){let t=i(e);o.push(`postponed-symbols-${t}`,`postponed-text-${t}`)}let s=[...n,...o];if(!t||t.length===0){x&&x.setSelectedLines(null);for(let t of s){if(!e.getLayer(t))continue;let n=e.getLayer(t)?.type;if(n===`line`)e.setPaintProperty(t,`line-opacity`,[`variante-sections`,`variante-postponed-sections`].includes(t)?.5:GL),t===`selected-layer`&&e.setPaintProperty(t,`line-color`,`rgba(255,255,255,0)`),t===`contour-layer`&&e.setLayoutProperty(t,`line-cap`,`round`);else if(n===`symbol`){let n=e.getFilter(t);n&&Array.isArray(n)&&n.length>2&&n[0]===`all`?e.setFilter(t,n[1]):n&&Array.isArray(n)&&n[0]===`in`&&JSON.stringify(n[1])===JSON.stringify([`get`,`line`])&&e.setFilter(t,null),e.setPaintProperty(t,`icon-opacity`,GL),e.setPaintProperty(t,`text-opacity`,GL)}else n===`circle`&&(e.setPaintProperty(t,`circle-opacity`,GL),e.setPaintProperty(t,`circle-stroke-opacity`,GL))}let t=Array.from({length:a()},(e,t)=>i(t+1)).reverse();for(let n of t)e.getLayer(`postponed-text-${n}`)&&(e.moveLayer(`postponed-symbols-${n}`),e.moveLayer(`postponed-text-${n}`))}else{let n=[...new Set(t.map(e=>e.line))];x&&x.setSelectedLines(n);let r=[`in`,[`get`,`line`],[`literal`,n]];for(let n of s){if(!e.getLayer(n))continue;let i=e.getLayer(n)?.type;if(i===`line`){let i=e.getPaintProperty(n,`line-opacity`),a=typeof i==`number`?i:GL;if(n===`selected-layer`){let i=t.filter(e=>e.sectionName),o=i.length>0?[`any`,...i.map(e=>[`all`,[`==`,[`get`,`line`],e.line],[`==`,[`get`,`name`],e.sectionName]])]:null;o&&(e.setPaintProperty(n,`line-opacity`,[`case`,o,KL,r,a,WL]),e.setPaintProperty(n,`line-color`,[`case`,o,`#665E7B`,`#FFFFFF`]))}else if(n===`contour-layer`)e.setLayoutProperty(n,`line-cap`,null),e.setPaintProperty(n,`line-opacity`,[`case`,r,KL,[`case`,[`has`,`id`],.2,.4]]);else{let t=[`case`,[`has`,`id`],WL/2,WL];e.setPaintProperty(n,`line-opacity`,[`case`,r,a,t])}}else if(i===`symbol`){let t=e.getPaintProperty(n,`icon-opacity`),i=typeof t==`number`?t:GL,a=e.getPaintProperty(n,`text-opacity`),o=typeof a==`number`?a:GL;e.setPaintProperty(n,`icon-opacity`,[`case`,r,i,0]),e.setPaintProperty(n,`text-opacity`,[`case`,r,o,0])}else i===`circle`&&(e.setPaintProperty(n,`circle-opacity`,[`case`,r,GL,WL]),e.setPaintProperty(n,`circle-stroke-opacity`,[`case`,r,GL,WL]))}let a=n.map(e=>i(e));for(let t of a.reverse())e.getLayer(`postponed-text-${t}`)&&(e.moveLayer(`postponed-symbols-${t}`),e.moveLayer(`postponed-text-${t}`))}r(`dangers`),r(`perspectives`),r(`section-names`),r(`section-names-low-zoom`),r(`section-names-high-zoom`),r(`compteurs`),r(`compteurs-labels`),r(`compteurs-mixed`),r(`compteurs-mixed-labels`)}function De({map:e,layerIds:t}){e.getLayer(`wip-shields`)&&e.moveLayer(`wip-shields`);let n=[`section-names`,`section-names-low-zoom`,`section-names-high-zoom`,`wip-shields`],r=e.getStyle().layers.map(e=>e.id).find(e=>n.includes(e));for(let n of t)e.moveLayer(n,r)}function Oe({map:e,counterName:t}){e.getLayer(`compteurs`)&&(t?(e.setPaintProperty(`compteurs`,`circle-radius`,[`case`,[`==`,[`get`,`name`],t],14,[`get`,`circleRadius`]]),e.setPaintProperty(`compteurs`,`circle-stroke-width`,[`case`,[`==`,[`get`,`name`],t],4,[`get`,`circleStrokeWidth`]]),e.setPaintProperty(`compteurs`,`circle-stroke-color`,[`case`,[`==`,[`get`,`name`],t],`#FFD700`,`#fff`]),e.setLayoutProperty(`compteurs`,`circle-sort-key`,[`case`,[`==`,[`get`,`name`],t],2,[`get`,`circleSortKey`]])):(e.setPaintProperty(`compteurs`,`circle-radius`,[`get`,`circleRadius`]),e.setPaintProperty(`compteurs`,`circle-stroke-width`,[`get`,`circleStrokeWidth`]),e.setPaintProperty(`compteurs`,`circle-stroke-color`,`#fff`),e.setLayoutProperty(`compteurs`,`circle-sort-key`,[`get`,`circleSortKey`]))),e.getSource(`compteurs-mixed`)&&(e.getLayer(`compteurs-mixed-highlight`)||e.addLayer({id:`compteurs-mixed-highlight`,source:`compteurs-mixed`,type:`circle`,filter:[`==`,[`get`,`name`],``],paint:{"circle-radius":16,"circle-color":`transparent`,"circle-stroke-color":`#FFD700`,"circle-stroke-width":4}},`compteurs-mixed`),t?(e.setFilter(`compteurs-mixed-highlight`,[`==`,[`get`,`name`],t]),e.getLayer(`compteurs-mixed`)&&(e.setLayoutProperty(`compteurs-mixed`,`icon-size`,[`case`,[`==`,[`get`,`name`],t],.75,.5]),e.setLayoutProperty(`compteurs-mixed`,`symbol-sort-key`,[`case`,[`==`,[`get`,`name`],t],2,[`get`,`circleSortKey`]]))):(e.setFilter(`compteurs-mixed-highlight`,[`==`,[`get`,`name`],``]),e.getLayer(`compteurs-mixed`)&&(e.setLayoutProperty(`compteurs-mixed`,`icon-size`,.5),e.setLayoutProperty(`compteurs-mixed`,`symbol-sort-key`,[`get`,`circleSortKey`]))))}
814function ke({map:e,features:t,clickEvent:n,hasDetailsPanel:r}){Te({map:e,features:t,event:n,hasDetailsPanel:r,isHover:!1})}function Ae({map:e,features:t,hoverEvent:n,hasDetailsPanel:r}){Te({map:e,features:t,event:n,hasDetailsPanel:r,isHover:!0})}function je({map:e,feature:t,allFeatures:n,hasDetailsPanel:r}){if(t.geometry.type!==`LineString`)return;g&&=(g.remove(),null);let i=n.filter(pe),a=t.properties.id?[...new Set(i.filter(e=>e.properties.id===t.properties.id).map(e=>e.properties.line))]:[t.properties.line],o=t.geometry.coordinates,s=o[Math.floor(o.length/2)],u=`search-tooltip-${Date.now()}`;g=new aI({closeButton:!1,closeOnClick:!0}).setLngLat(s).setHTML(`<div style="opacity: 0; min-height: 200px; min-width: 100px" id="${u}"></div>`).addTo(e),v=`search-${t.properties.name}`;let d=c(window.innerWidth>1024?gL:kL);l(()=>{T({render:()=>C(y,null,{default:C(d,{feature:t,lines:a,hasDetailsPanel:r}),fallback:`Chargement...`})}).mount(`#${u}`);let e=document.getElementById(u);e&&(e.style.minHeight=`initial`,e.style.minWidth=`initial`,e.style.opacity=`1`)})}return{loadImages:O,plotFeatures:M,getCompteursFeatures:Ce,fitBounds:we,handleMapClick:ke,handleMapHover:Ae,highlightLines:Ee,raiseLayersBelowShields:De,highlightCounter:Oe,showFeatureTooltip:je}},XL=new URL(`maplibre-gl-worker-CRiIRpYb.js`,import.meta.url).href;s(),t();var ZL=Object.assign(c({__name:`MapPlaceholder`,props:{additionalClass:{},customStyle:{}},setup(e){return(t,i)=>{let s=ne;return o(),n(`div`,{class:a([`flex-1 flex items-center justify-center bg-[#F8F4F0]`,e.additionalClass]),style:D(e.customStyle)},[r(s,{name:`svg-spinners:ring-resize`,class:`w-16 h-16 text-lvv-blue-600`})],6)}}}),{__name:`MapPlaceholder`});export{HL as a,aI as c,GF as d,RF as f,X as g,tE as h,YL as i,CF as l,rw as m,XL as n,zL as o,dF as p,UL as r,_I as s,ZL as t,xF as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.