@loaders.gl/geotiff 4.4.0-alpha.2 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +2699 -2857
- package/dist/dist.min.js +10 -13
- package/dist/geotiff-loader.d.ts +3 -1
- package/dist/geotiff-loader.d.ts.map +1 -1
- package/dist/geotiff-loader.js +5 -2
- package/dist/geotiff-loader.js.map +1 -0
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/load-geotiff.js +1 -0
- package/dist/lib/load-geotiff.js.map +1 -0
- package/dist/lib/ome/load-ome-tiff.d.ts.map +1 -1
- package/dist/lib/ome/load-ome-tiff.js +1 -0
- package/dist/lib/ome/load-ome-tiff.js.map +1 -0
- package/dist/lib/ome/ome-indexers.js +1 -0
- package/dist/lib/ome/ome-indexers.js.map +1 -0
- package/dist/lib/ome/ome-utils.js +1 -0
- package/dist/lib/ome/ome-utils.js.map +1 -0
- package/dist/lib/ome/omexml.js +1 -0
- package/dist/lib/ome/omexml.js.map +1 -0
- package/dist/lib/ome/utils.d.ts.map +1 -1
- package/dist/lib/ome/utils.js +1 -0
- package/dist/lib/ome/utils.js.map +1 -0
- package/dist/lib/tiff-pixel-source.js +1 -0
- package/dist/lib/tiff-pixel-source.js.map +1 -0
- package/dist/lib/utils/tiff-utils.js +1 -0
- package/dist/lib/utils/tiff-utils.js.map +1 -0
- package/dist/loaders.d.ts +6 -2
- package/dist/loaders.d.ts.map +1 -1
- package/dist/loaders.js +6 -3
- package/dist/loaders.js.map +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/package.json +4 -4
- package/src/geotiff-loader.ts +3 -1
- package/src/loaders.ts +7 -3
package/dist/dist.min.js
CHANGED
|
@@ -4,20 +4,17 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
6
|
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var
|
|
8
|
-
>/]`,
|
|
9
|
-
>]`),u+=Zr(B,"</"+t+">"),u>=h)break;f=g}}else g=ri(s,"[ /]"+t+">",0);let a=l+t.length+g+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let I=e.slice(l,a),c;return o?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:l,end:a}}ni.exports=Xr;ni.exports.default=Xr});var Wr=Z((Ch,oi)=>{var Ha=jr();function $r(e,t,A){let i=[],r=A&&A.debug||!1,n=A&&typeof A.nested=="boolean"?A.nested:!0,l=A&&A.startIndex||0,s;for(;s=Ha(e,t,{debug:r,startIndex:l});)n?l=s.start+1+t.length:l=s.end,i.push(s);return r&&console.log("findTagsByName found",i.length,"tags"),i}oi.exports=$r;oi.exports.default=$r});var nA,Qe,en,si,M,se,An,tn,ot,pA,Ja,st=he(()=>{nA={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},Qe={};for(let e in nA)nA.hasOwnProperty(e)&&(Qe[nA[e]]=parseInt(e,10));en=[Qe.BitsPerSample,Qe.ExtraSamples,Qe.SampleFormat,Qe.StripByteCounts,Qe.StripOffsets,Qe.StripRowCounts,Qe.TileByteCounts,Qe.TileOffsets,Qe.SubIFDs],si={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},M={};for(let e in si)si.hasOwnProperty(e)&&(M[si[e]]=parseInt(e,10));se={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},An={Unspecified:0,Assocalpha:1,Unassalpha:2},tn={Version:0,AddCompression:1},ot={None:0,Deflate:1,Zstandard:2},pA={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Ja={};for(let e in pA)pA.hasOwnProperty(e)&&(Ja[pA[e]]=parseInt(e,10))});function za(e,t){let A=e.length-t,i=0;do{for(let r=t;r>0;r--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Za(e,t,A){let i=0,r=e.length,n=r/A;for(;r>t;){for(let s=t;s>0;--s)e[i+t]+=e[i],++i;r-=t}let l=e.slice();for(let s=0;s<n;++s)for(let g=0;g<A;++g)e[A*s+g]=l[(A-g-1)*n+s]}function ln(e,t,A,i,r,n){if(!t||t===1)return e;for(let g=0;g<r.length;++g){if(r[g]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[g]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let l=r[0]/8,s=n===2?1:r.length;for(let g=0;g<i&&!(g*s*A*l>=e.byteLength);++g){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(e,g*s*A*l,s*A*l);break;case 16:o=new Uint16Array(e,g*s*A*l,s*A*l/2);break;case 32:o=new Uint32Array(e,g*s*A*l,s*A*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}za(o,s,l)}else t===3&&(o=new Uint8Array(e,g*s*A*l,s*A*l),Za(o,s,l))}return e}var fn=he(()=>{});var Ae,Ge=he(()=>{fn();Ae=class{async decode(t,A){let i=await this.decodeBlock(A),r=t.Predictor||1;if(r!==1){let n=!t.StripOffsets,l=n?t.TileWidth:t.ImageWidth,s=n?t.TileLength:t.RowsPerStrip||t.ImageLength;return ln(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var cn={};Te(cn,{default:()=>at});var at,In=he(()=>{Ge();at=class extends Ae{decodeBlock(t){return t}}});var un={};Te(un,{default:()=>gt});function ja(e,t,A){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+A-(r+1)*8,s=8*(r+2)-(t+A),g=(r+2)*8-t;if(s=Math.max(0,s),r>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),li;let o=e[r]&2**(8-i)-1;o<<=A-n;let a=o;if(r+1<e.length){let I=e[r+1]>>>s;I<<=Math.max(0,A-g),a+=I}if(l>8&&r+2<e.length){let I=(r+3)*8-(t+A),c=e[r+2]>>>I;a+=c}return a}function gi(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function $a(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,r=hn,n=0;function l(){i=258,r=hn}function s(h){let u=ja(h,n,r);return n+=r,u}function g(h,u){return A[i]=u,t[i]=h,i++,i-1}function o(h){let u=[];for(let B=h;B!==4096;B=t[B])u.push(A[B]);return u}let a=[];l();let I=new Uint8Array(e),c=s(I),f;for(;c!==li;){if(c===ai){for(l(),c=s(I);c===ai;)c=s(I);if(c===li)break;if(c>ai)throw new Error(`corrupted code at scanline ${c}`);{let h=o(c);gi(a,h),f=c}}else if(c<i){let h=o(c);gi(a,h),g(f,h[h.length-1]),f=c}else{let h=o(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${n}`);gi(a,h),a.push(h[h.length-1]),g(f,h[h.length-1]),f=c}i+1>=2**r&&(r===Xa?f=void 0:r++),c=s(I)}return new Uint8Array(a)}var hn,ai,li,Xa,gt,Bn=he(()=>{Ge();hn=9,ai=256,li=257,Xa=12;gt=class extends Ae{decodeBlock(t){return $a(t,!1).buffer}}});var Cn={};Te(Cn,{default:()=>Et});function En(e,t){let A=0,i=[],r=16;for(;r>0&&!e[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let g=0;g<e[s];g++){for(n=i.pop(),n.children[n.index]=t[A];n.index>0;)n=i.pop();for(n.index++,i.push(n);i.length<=s;)i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l;A++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Wa(e,t,A,i,r,n,l,s,g){let{mcusPerLine:o,progressive:a}=A,I=t,c=t,f=0,h=0;function u(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let U=e[c++];if(U)throw new Error(`unexpected marker: ${(f<<8|U).toString(16)}`)}return h=7,f>>>7}function B(U){let v=U,G;for(;(G=u())!==null;){if(v=v[G],typeof v=="number")return v;if(typeof v!="object")throw new Error("invalid huffman sequence")}return null}function Q(U){let v=U,G=0;for(;v>0;){let V=u();if(V===null)return;G=G<<1|V,--v}return G}function C(U){let v=Q(U);return v>=1<<U-1?v:v+(-1<<U)+1}function p(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G);U.pred+=V,v[0]=U.pred;let P=1;for(;P<64;){let $=B(U.huffmanTableAC),j=$&15,ie=$>>4;if(j===0){if(ie<15)break;P+=16}else{P+=ie;let ce=wA[P];v[ce]=C(j),P++}}}function w(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G)<<g;U.pred+=V,v[0]=U.pred}function d(U,v){v[0]|=u()<<g}let E=0;function m(U,v){if(E>0){E--;return}let G=n,V=l;for(;G<=V;){let P=B(U.huffmanTableAC),$=P&15,j=P>>4;if($===0){if(j<15){E=Q(j)+(1<<j)-1;break}G+=16}else{G+=j;let ie=wA[G];v[ie]=C($)*(1<<g),G++}}}let y=0,b;function x(U,v){let G=n,V=l,P=0;for(;G<=V;){let $=wA[G],j=v[$]<0?-1:1;switch(y){case 0:{let ie=B(U.huffmanTableAC),ce=ie&15;if(P=ie>>4,ce===0)P<15?(E=Q(P)+(1<<P),y=4):(P=16,y=1);else{if(ce!==1)throw new Error("invalid ACn encoding");b=C(ce),y=P?2:3}continue}case 1:case 2:v[$]?v[$]+=(u()<<g)*j:(P--,P===0&&(y=y===2?3:0));break;case 3:v[$]?v[$]+=(u()<<g)*j:(v[$]=b<<g,y=0);break;case 4:v[$]&&(v[$]+=(u()<<g)*j);break;default:break}G++}y===4&&(E--,E===0&&(y=0))}function D(U,v,G,V,P){let $=G/o|0,j=G%o,ie=$*U.v+V,ce=j*U.h+P;v(U,U.blocks[ie][ce])}function k(U,v,G){let V=G/U.blocksPerLine|0,P=G%U.blocksPerLine;v(U,U.blocks[V][P])}let O=i.length,S,_,N,L,F,T;a?n===0?T=s===0?w:d:T=s===0?m:x:T=p;let R=0,Y,J;O===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=o*A.mcusPerColumn;let z=r||J;for(;R<J;){for(_=0;_<O;_++)i[_].pred=0;if(E=0,O===1)for(S=i[0],F=0;F<z;F++)k(S,T,R),R++;else for(F=0;F<z;F++){for(_=0;_<O;_++){S=i[_];let{h:U,v}=S;for(N=0;N<v;N++)for(L=0;L<U;L++)D(S,T,R,N,L)}if(R++,R===J)break}if(h=0,Y=e[c]<<8|e[c+1],Y<65280)throw new Error("marker was not found");if(Y>=65488&&Y<=65495)c+=2;else break}return c-I}function eg(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function g(o,a,I){let c=t.quantizationTable,f,h,u,B,Q,C,p,w,d,E=I,m;for(m=0;m<64;m++)E[m]=o[m]*c[m];for(m=0;m<8;++m){let y=8*m;if(E[1+y]===0&&E[2+y]===0&&E[3+y]===0&&E[4+y]===0&&E[5+y]===0&&E[6+y]===0&&E[7+y]===0){d=oA*E[0+y]+512>>10,E[0+y]=d,E[1+y]=d,E[2+y]=d,E[3+y]=d,E[4+y]=d,E[5+y]=d,E[6+y]=d,E[7+y]=d;continue}f=oA*E[0+y]+128>>8,h=oA*E[4+y]+128>>8,u=E[2+y],B=E[6+y],Q=Bt*(E[1+y]-E[7+y])+128>>8,w=Bt*(E[1+y]+E[7+y])+128>>8,C=E[3+y]<<4,p=E[5+y]<<4,d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+128>>8,u=u*ht-B*ut+128>>8,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0+y]=f+w,E[7+y]=f-w,E[1+y]=h+p,E[6+y]=h-p,E[2+y]=u+C,E[5+y]=u-C,E[3+y]=B+Q,E[4+y]=B-Q}for(m=0;m<8;++m){let y=m;if(E[1*8+y]===0&&E[2*8+y]===0&&E[3*8+y]===0&&E[4*8+y]===0&&E[5*8+y]===0&&E[6*8+y]===0&&E[7*8+y]===0){d=oA*I[m+0]+8192>>14,E[0*8+y]=d,E[1*8+y]=d,E[2*8+y]=d,E[3*8+y]=d,E[4*8+y]=d,E[5*8+y]=d,E[6*8+y]=d,E[7*8+y]=d;continue}f=oA*E[0*8+y]+2048>>12,h=oA*E[4*8+y]+2048>>12,u=E[2*8+y],B=E[6*8+y],Q=Bt*(E[1*8+y]-E[7*8+y])+2048>>12,w=Bt*(E[1*8+y]+E[7*8+y])+2048>>12,C=E[3*8+y],p=E[5*8+y],d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+2048>>12,u=u*ht-B*ut+2048>>12,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0*8+y]=f+w,E[7*8+y]=f-w,E[1*8+y]=h+p,E[6*8+y]=h-p,E[2*8+y]=u+C,E[5*8+y]=u-C,E[3*8+y]=B+Q,E[4*8+y]=B-Q}for(m=0;m<64;++m){let y=128+(E[m]+8>>4);y<0?a[m]=0:y>255?a[m]=255:a[m]=y}}for(let o=0;o<r;o++){let a=o<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(n));for(let I=0;I<i;I++){g(t.blocks[o][I],s,l);let c=0,f=I<<3;for(let h=0;h<8;h++){let u=A[a+h];for(let B=0;B<8;B++)u[f+B]=s[c++]}}}return A}var wA,lt,ft,ct,It,ht,ut,oA,Bt,fi,Et,dn=he(()=>{Ge();wA=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),lt=4017,ft=799,ct=3406,It=2276,ht=1567,ut=3784,oA=5793,Bt=2896;fi=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let s=t[A]<<8|t[A+1];return A+=2,s}function r(){let s=i(),g=t.subarray(A,A+s-2);return A+=g.length,g}function n(s){let g=0,o=0,a,I;for(I in s.components)s.components.hasOwnProperty(I)&&(a=s.components[I],g<a.h&&(g=a.h),o<a.v&&(o=a.v));let c=Math.ceil(s.samplesPerLine/8/g),f=Math.ceil(s.scanLines/8/o);for(I in s.components)if(s.components.hasOwnProperty(I)){a=s.components[I];let h=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/g),u=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),B=c*a.h,Q=f*a.v,C=[];for(let p=0;p<Q;p++){let w=[];for(let d=0;d<B;d++)w.push(new Int32Array(64));C.push(w)}a.blocksPerLine=h,a.blocksPerColumn=u,a.blocks=C}s.maxH=g,s.maxV=o,s.mcusPerLine=c,s.mcusPerColumn=f}let l=i();if(l!==65496)throw new Error("SOI not found");for(l=i();l!==65497;){switch(l){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{let s=r();l===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),l===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let g=i()+A-2;for(;A<g;){let o=t[A++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let I=0;I<64;I++){let c=wA[I];a[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=wA[I];a[c]=t[A++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},g=t[A++],o;for(let a=0;a<g;a++){o=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];s.componentsOrder.push(o),s.components[o]={h:I,v:c,quantizationIdx:f},A+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let g=2;g<s;){let o=t[A++],a=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)a[f]=t[A],I+=a[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];g+=17+I,o>>4?this.huffmanTablesAC[o&15]=En(a,c):this.huffmanTablesDC[o&15]=En(a,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[A++],g=[],o=this.frames[0];for(let h=0;h<s;h++){let u=o.components[t[A++]],B=t[A++];u.huffmanTableDC=this.huffmanTablesDC[B>>4],u.huffmanTableAC=this.huffmanTablesAC[B&15],g.push(u)}let a=t[A++],I=t[A++],c=t[A++],f=Wa(t,A,o,g,this.resetInterval,a,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${l.toString(16)}`)}l=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let a=0;a<this.frames.length;a++){let I=this.frames[a].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:r}=A,n=[],l=A.samplesPerLine,s=A.scanLines;for(let a=0;a<r.length;a++){let I=i[r[a]];n.push({lines:eg(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let g=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let I=0;I<l;++I)for(let c=0;c<n.length;++c){let f=n[c];g[o]=f.lines[0|a*f.scaleY][0|I*f.scaleX],++o}return g}},Et=class extends Ae{constructor(t){super(),this.reader=new fi,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function cA(e){let t=e.length;for(;--t>=0;)e[t]=0}function Ii(e,t,A,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function hi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pe(e,t,A,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=r}function tl(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Dt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Pg*2),this.dyn_dtree=new Uint16Array((2*Kg+1)*2),this.bl_tree=new Uint16Array((2*Vg+1)*2),Ue(this.dyn_ltree),Ue(this.dyn_dtree),Ue(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(zg+1),this.heap=new Uint16Array(2*Si+1),Ue(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Si+1),Ue(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ml(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function MA(e){this.options=bt.assign({level:kl,method:Nl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=DA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==_t)throw new Error(Xe[A]);if(t.header&&DA.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=vA.string2buf(t.dictionary):Do.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=DA.deflateSetDictionary(this.strm,i),A!==_t)throw new Error(Xe[A]);this._dict_set=!0}}function Oi(e,t){let A=new MA(t);if(A.push(e,!0),A.err)throw A.msg||Xe[A.err];return A.result}function Rl(e,t){return t=t||{},t.raw=!0,Oi(e,t)}function Tl(e,t){return t=t||{},t.gzip=!0,Oi(e,t)}function rf(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function pf(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function OA(e){this.options=bt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=be.inflateInit2(this.strm,t.windowBits);if(A!==GA)throw new Error(Xe[A]);if(this.header=new wf,be.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=vA.string2buf(t.dictionary):Mo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=be.inflateSetDictionary(this.strm,t.dictionary),A!==GA)))throw new Error(Xe[A])}function qi(e,t){let A=new OA(t);if(A.push(e),A.err)throw A.msg||Xe[A.err];return A.result}function Df(e,t){return t=t||{},t.raw=!0,qi(e,t)}var Ag,ro,tg,ig,rg,vi,UA,SA,gA,Gi,no,Pe,ci,ng,Ui,oo,so,ao,xi,yt,og,go,sg,De,xA,kA,FA,Li,mt,lo,fo,co,Io,NA,ae,we,ho,ag,gg,uo,lg,Bo,Eo,Qn,ui,pn,Di,wn,yn,fg,cg,Ig,mn,hg,Co,ug,Bg,Eg,Cg,dg,Qg,pg,wg,yg,mg,RA,_g,xg,Dg,ee,Xe,IA,bg,bi,Sg,Me,kg,Oe,Fg,Ng,ue,_n,te,xn,ye,Rg,Bi,Tg,vg,Ct,Gg,Ug,Lg,Mg,Dt,Og,qg,Yg,Hg,Jg,Si,Kg,Vg,Pg,zg,q,Le,me,Zg,lA,Mi,ki,Fi,Ni,Ri,ze,mA,ne,hA,je,uA,Xg,Ze,Dn,Ue,jg,$g,qe,ge,le,H,yA,Ti,Qo,fA,po,Ei,sA,Wg,el,_A,Al,LA,wo,yo,il,mo,rl,nl,ol,sl,al,gl,ll,fl,cl,Il,hl,ul,Bl,DA,El,Cl,dl,bt,_o,TA,Ql,pl,wl,yl,vA,xo,Do,_l,xl,Dl,bl,_t,Sl,kl,Fl,Nl,vl,Gl,Ul,Ll,Ml,Ol,dt,ql,Yl,aA,bn,Sn,kn,Ci,Fn,Hl,Jl,Kl,Vl,Pl,bA,zl,bo,So,Nn,Zl,Qt,$e,Xl,jl,Be,ko,Fo,$l,Rn,St,Tn,vn,Gn,Un,Ln,Mn,On,qn,Yn,xt,xe,di,Hn,Qi,Jn,Kn,Vn,Pn,pt,wt,zn,Zn,Xn,jn,$n,pi,Wn,eo,X,No,Ro,Wl,ef,Af,tf,Ao,We,To,vo,Go,Uo,nf,to,wi,yi,of,Lo,sf,af,gf,lf,ff,cf,If,hf,uf,Bf,Ef,Cf,df,Qf,be,wf,Mo,yf,mf,GA,mi,_i,_f,io,xf,bf,Sf,kf,Ff,Nf,Rf,Dh,bh,Sh,kh,Fh,Tf,Nh,Rh,kt,Yi=he(()=>{Ag=0,ro=1,tg=2,ig=3,rg=258,vi=29,UA=256,SA=UA+1+vi,gA=30,Gi=19,no=2*SA+1,Pe=15,ci=16,ng=7,Ui=256,oo=16,so=17,ao=18,xi=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),yt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),og=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),go=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),sg=512,De=new Array((SA+2)*2);cA(De);xA=new Array(gA*2);cA(xA);kA=new Array(sg);cA(kA);FA=new Array(rg-ig+1);cA(FA);Li=new Array(vi);cA(Li);mt=new Array(gA);cA(mt);Io=e=>e<256?kA[e]:kA[256+(e>>>7)],NA=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},ae=(e,t,A)=>{e.bi_valid>ci-A?(e.bi_buf|=t<<e.bi_valid&65535,NA(e,e.bi_buf),e.bi_buf=t>>ci-e.bi_valid,e.bi_valid+=A-ci):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},we=(e,t,A)=>{ae(e,A[t*2],A[t*2+1])},ho=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ag=e=>{e.bi_valid===16?(NA(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},gg=(e,t)=>{let A=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,g=t.stat_desc.max_length,o,a,I,c,f,h,u=0;for(c=0;c<=Pe;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,o=e.heap_max+1;o<no;o++)a=e.heap[o],c=A[A[a*2+1]*2+1]+1,c>g&&(c=g,u++),A[a*2+1]=c,!(a>i)&&(e.bl_count[c]++,f=0,a>=s&&(f=l[a-s]),h=A[a*2],e.opt_len+=h*(c+f),n&&(e.static_len+=h*(r[a*2+1]+f)));if(u!==0){do{for(c=g-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[g]--,u-=2}while(u>0);for(c=g;c!==0;c--)for(a=e.bl_count[c];a!==0;)I=e.heap[--o],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),a--)}},uo=(e,t,A)=>{let i=new Array(Pe+1),r=0,n,l;for(n=1;n<=Pe;n++)r=r+A[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=e[l*2+1];s!==0&&(e[l*2]=ho(i[s]++,s))}},lg=()=>{let e,t,A,i,r,n=new Array(Pe+1);for(A=0,i=0;i<vi-1;i++)for(Li[i]=A,e=0;e<1<<xi[i];e++)FA[A++]=i;for(FA[A-1]=i,r=0,i=0;i<16;i++)for(mt[i]=r,e=0;e<1<<yt[i];e++)kA[r++]=i;for(r>>=7;i<gA;i++)for(mt[i]=r<<7,e=0;e<1<<yt[i]-7;e++)kA[256+r++]=i;for(t=0;t<=Pe;t++)n[t]=0;for(e=0;e<=143;)De[e*2+1]=8,e++,n[8]++;for(;e<=255;)De[e*2+1]=9,e++,n[9]++;for(;e<=279;)De[e*2+1]=7,e++,n[7]++;for(;e<=287;)De[e*2+1]=8,e++,n[8]++;for(uo(De,SA+1,n),e=0;e<gA;e++)xA[e*2+1]=5,xA[e*2]=ho(e,5);lo=new Ii(De,xi,UA+1,SA,Pe),fo=new Ii(xA,yt,0,gA,Pe),co=new Ii(new Array(0),og,0,Gi,ng)},Bo=e=>{let t;for(t=0;t<SA;t++)e.dyn_ltree[t*2]=0;for(t=0;t<gA;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Gi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ui*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Eo=e=>{e.bi_valid>8?NA(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Qn=(e,t,A,i)=>{let r=t*2,n=A*2;return e[r]<e[n]||e[r]===e[n]&&i[t]<=i[A]},ui=(e,t,A)=>{let i=e.heap[A],r=A<<1;for(;r<=e.heap_len&&(r<e.heap_len&&Qn(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!Qn(t,i,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=i},pn=(e,t,A)=>{let i,r,n=0,l,s;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+n++]&255,i+=(e.pending_buf[e.sym_buf+n++]&255)<<8,r=e.pending_buf[e.sym_buf+n++],i===0?we(e,r,t):(l=FA[r],we(e,l+UA+1,t),s=xi[l],s!==0&&(r-=Li[l],ae(e,r,s)),i--,l=Io(i),we(e,l,A),s=yt[l],s!==0&&(i-=mt[l],ae(e,i,s)));while(n<e.sym_next);we(e,Ui,t)},Di=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,g=-1,o;for(e.heap_len=0,e.heap_max=no,l=0;l<n;l++)A[l*2]!==0?(e.heap[++e.heap_len]=g=l,e.depth[l]=0):A[l*2+1]=0;for(;e.heap_len<2;)o=e.heap[++e.heap_len]=g<2?++g:0,A[o*2]=1,e.depth[o]=0,e.opt_len--,r&&(e.static_len-=i[o*2+1]);for(t.max_code=g,l=e.heap_len>>1;l>=1;l--)ui(e,A,l);o=n;do l=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ui(e,A,1),s=e.heap[1],e.heap[--e.heap_max]=l,e.heap[--e.heap_max]=s,A[o*2]=A[l*2]+A[s*2],e.depth[o]=(e.depth[l]>=e.depth[s]?e.depth[l]:e.depth[s])+1,A[l*2+1]=A[s*2+1]=o,e.heap[1]=o++,ui(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],gg(e,t),uo(A,g,e.bl_count)},wn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)&&(s<o?e.bl_tree[n*2]+=s:n!==0?(n!==r&&e.bl_tree[n*2]++,e.bl_tree[oo*2]++):s<=10?e.bl_tree[so*2]++:e.bl_tree[ao*2]++,s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4))},yn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),i=0;i<=A;i++)if(n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)){if(s<o)do we(e,n,e.bl_tree);while(--s!==0);else n!==0?(n!==r&&(we(e,n,e.bl_tree),s--),we(e,oo,e.bl_tree),ae(e,s-3,2)):s<=10?(we(e,so,e.bl_tree),ae(e,s-3,3)):(we(e,ao,e.bl_tree),ae(e,s-11,7));s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4)}},fg=e=>{let t;for(wn(e,e.dyn_ltree,e.l_desc.max_code),wn(e,e.dyn_dtree,e.d_desc.max_code),Di(e,e.bl_desc),t=Gi-1;t>=3&&e.bl_tree[go[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},cg=(e,t,A,i)=>{let r;for(ae(e,t-257,5),ae(e,A-1,5),ae(e,i-4,4),r=0;r<i;r++)ae(e,e.bl_tree[go[r]*2+1],3);yn(e,e.dyn_ltree,t-1),yn(e,e.dyn_dtree,A-1)},Ig=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<UA;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},mn=!1,hg=e=>{mn||(lg(),mn=!0),e.l_desc=new hi(e.dyn_ltree,lo),e.d_desc=new hi(e.dyn_dtree,fo),e.bl_desc=new hi(e.bl_tree,co),e.bi_buf=0,e.bi_valid=0,Bo(e)},Co=(e,t,A,i)=>{ae(e,(Ag<<1)+(i?1:0),3),Eo(e),NA(e,A),NA(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},ug=e=>{ae(e,ro<<1,3),we(e,Ui,De),ag(e)},Bg=(e,t,A,i)=>{let r,n,l=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=Ig(e)),Di(e,e.l_desc),Di(e,e.d_desc),l=fg(e),r=e.opt_len+3+7>>>3,n=e.static_len+3+7>>>3,n<=r&&(r=n)):r=n=A+5,A+4<=r&&t!==-1?Co(e,t,A,i):e.strategy===4||n===r?(ae(e,(ro<<1)+(i?1:0),3),pn(e,De,xA)):(ae(e,(tg<<1)+(i?1:0),3),cg(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),pn(e,e.dyn_ltree,e.dyn_dtree)),Bo(e),i&&Eo(e)},Eg=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(FA[A]+UA+1)*2]++,e.dyn_dtree[Io(t)*2]++),e.sym_next===e.sym_end),Cg=hg,dg=Co,Qg=Bg,pg=Eg,wg=ug,yg={_tr_init:Cg,_tr_stored_block:dg,_tr_flush_block:Qg,_tr_tally:pg,_tr_align:wg},mg=(e,t,A,i)=>{let r=e&65535|0,n=e>>>16&65535|0,l=0;for(;A!==0;){l=A>2e3?2e3:A,A-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},RA=mg,_g=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},xg=new Uint32Array(_g()),Dg=(e,t,A,i)=>{let r=xg,n=i+A;e^=-1;for(let l=i;l<n;l++)e=e>>>8^r[(e^t[l])&255];return e^-1},ee=Dg,Xe={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},IA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:bg,_tr_stored_block:bi,_tr_flush_block:Sg,_tr_tally:Me,_tr_align:kg}=yg,{Z_NO_FLUSH:Oe,Z_PARTIAL_FLUSH:Fg,Z_FULL_FLUSH:Ng,Z_FINISH:ue,Z_BLOCK:_n,Z_OK:te,Z_STREAM_END:xn,Z_STREAM_ERROR:ye,Z_DATA_ERROR:Rg,Z_BUF_ERROR:Bi,Z_DEFAULT_COMPRESSION:Tg,Z_FILTERED:vg,Z_HUFFMAN_ONLY:Ct,Z_RLE:Gg,Z_FIXED:Ug,Z_DEFAULT_STRATEGY:Lg,Z_UNKNOWN:Mg,Z_DEFLATED:Dt}=IA,Og=9,qg=15,Yg=8,Hg=29,Jg=256,Si=Jg+1+Hg,Kg=30,Vg=19,Pg=2*Si+1,zg=15,q=3,Le=258,me=Le+q+1,Zg=32,lA=42,Mi=57,ki=69,Fi=73,Ni=91,Ri=103,ze=113,mA=666,ne=1,hA=2,je=3,uA=4,Xg=3,Ze=(e,t)=>(e.msg=Xe[t],t),Dn=e=>e*2-(e>4?9:0),Ue=e=>{let t=e.length;for(;--t>=0;)e[t]=0},jg=e=>{let t,A,i,r=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=r?A-r:0;while(--t);t=r,i=t;do A=e.prev[--i],e.prev[i]=A>=r?A-r:0;while(--t)},$g=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,qe=$g,ge=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},le=(e,t)=>{Sg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ge(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},yA=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Ti=(e,t,A,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),e.state.wrap===1?e.adler=RA(e.adler,t,r,A):e.state.wrap===2&&(e.adler=ee(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},Qo=(e,t)=>{let A=e.max_chain_length,i=e.strstart,r,n,l=e.prev_length,s=e.nice_match,g=e.strstart>e.w_size-me?e.strstart-(e.w_size-me):0,o=e.window,a=e.w_mask,I=e.prev,c=e.strstart+Le,f=o[i+l-1],h=o[i+l];e.prev_length>=e.good_match&&(A>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(o[r+l]!==h||o[r+l-1]!==f||o[r]!==o[i]||o[++r]!==o[i+1])){i+=2,r++;do;while(o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&i<c);if(n=Le-(c-i),i=c-Le,n>l){if(e.match_start=t,l=n,n>=s)break;f=o[i+l-1],h=o[i+l]}}while((t=I[t&a])>g&&--A!==0);return l<=e.lookahead?l:e.lookahead},fA=e=>{let t=e.w_size,A,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-me)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),jg(e),i+=t),e.strm.avail_in===0)break;if(A=Ti(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=q)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=qe(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=qe(e,e.ins_h,e.window[r+q-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<q)););}while(e.lookahead<me&&e.strm.avail_in!==0)},po=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,n,l=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_out<n||(n=e.strm.avail_out-n,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>n&&(i=n),i<A&&(i===0&&t!==ue||t===Oe||i!==r+e.strm.avail_in)))break;l=t===ue&&i===r+e.strm.avail_in?1:0,bi(e,0,0,l),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,ge(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(Ti(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(l===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),l?uA:t!==Oe&&t!==ue&&e.strm.avail_in===0&&e.strstart===e.block_start?hA:(n=e.window_size-e.strstart,e.strm.avail_in>n&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(Ti(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water<e.strstart&&(e.high_water=e.strstart),n=e.bi_valid+42>>3,n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n,A=n>e.w_size?e.w_size:n,r=e.strstart-e.block_start,(r>=A||(r||t===ue)&&t!==Oe&&e.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===ue&&e.strm.avail_in===0&&i===r?1:0,bi(e,e.block_start,i,l),e.block_start+=i,ge(e.strm)),l?je:ne)},Ei=(e,t)=>{let A,i;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A)),e.match_length>=q)if(i=Me(e,e.strstart-e.match_start,e.match_length-q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=q){e.match_length--;do e.strstart++,e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=qe(e,e.ins_h,e.window[e.strstart+1]);else i=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},sA=(e,t)=>{let A,i,r;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=q-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A),e.match_length<=5&&(e.strategy===vg||e.match_length===q&&e.strstart-e.match_start>4096)&&(e.match_length=q-1)),e.prev_length>=q&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-q,i=Me(e,e.strstart-1-e.prev_match,e.prev_length-q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=q-1,e.strstart++,i&&(le(e,!1),e.strm.avail_out===0))return ne}else if(e.match_available){if(i=Me(e,0,e.window[e.strstart-1]),i&&le(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ne}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},Wg=(e,t)=>{let A,i,r,n,l=e.window;for(;;){if(e.lookahead<=Le){if(fA(e),e.lookahead<=Le&&t===Oe)return ne;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=q&&e.strstart>0&&(r=e.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=e.strstart+Le;do;while(i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&r<n);e.match_length=Le-(n-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=q?(A=Me(e,1,e.match_length-q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},el=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(fA(e),e.lookahead===0)){if(t===Oe)return ne;break}if(e.match_length=0,A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA};_A=[new pe(0,0,0,0,po),new pe(4,4,8,4,Ei),new pe(4,5,16,8,Ei),new pe(4,6,32,32,Ei),new pe(4,4,16,16,sA),new pe(8,16,32,32,sA),new pe(8,16,128,128,sA),new pe(8,32,128,256,sA),new pe(32,128,258,1024,sA),new pe(32,258,258,4096,sA)],Al=e=>{e.window_size=2*e.w_size,Ue(e.head),e.max_lazy_match=_A[e.level].max_lazy,e.good_match=_A[e.level].good_length,e.nice_match=_A[e.level].nice_length,e.max_chain_length=_A[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=q-1,e.match_available=0,e.ins_h=0};LA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==lA&&t.status!==Mi&&t.status!==ki&&t.status!==Fi&&t.status!==Ni&&t.status!==Ri&&t.status!==ze&&t.status!==mA?1:0},wo=e=>{if(LA(e))return Ze(e,ye);e.total_in=e.total_out=0,e.data_type=Mg;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Mi:t.wrap?lA:ze,e.adler=t.wrap===2?0:1,t.last_flush=-2,bg(t),te},yo=e=>{let t=wo(e);return t===te&&Al(e.state),t},il=(e,t)=>LA(e)||e.state.wrap!==2?ye:(e.state.gzhead=t,te),mo=(e,t,A,i,r,n)=>{if(!e)return ye;let l=1;if(t===Tg&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Og||A!==Dt||i<8||i>15||t<0||t>9||n<0||n>Ug||i===8&&l!==1)return Ze(e,ye);i===8&&(i=9);let s=new tl;return e.state=s,s.strm=e,s.status=lA,s.wrap=l,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+q-1)/q),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=n,s.method=A,yo(e)},rl=(e,t)=>mo(e,t,Dt,qg,Yg,Lg),nl=(e,t)=>{if(LA(e)||t>_n||t<0)return e?Ze(e,ye):ye;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===mA&&t!==ue)return Ze(e,e.avail_out===0?Bi:ye);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(ge(e),e.avail_out===0)return A.last_flush=-1,te}else if(e.avail_in===0&&Dn(t)<=Dn(i)&&t!==ue)return Ze(e,Bi);if(A.status===mA&&e.avail_in!==0)return Ze(e,Bi);if(A.status===lA&&A.wrap===0&&(A.status=ze),A.status===lA){let r=Dt+(A.w_bits-8<<4)<<8,n=-1;if(A.strategy>=Ct||A.level<2?n=0:A.level<6?n=1:A.level===6?n=2:n=3,r|=n<<6,A.strstart!==0&&(r|=Zg),r+=31-r%31,yA(A,r),A.strstart!==0&&(yA(A,e.adler>>>16),yA(A,e.adler&65535)),e.adler=1,A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===Mi){if(e.adler=0,H(A,31),H(A,139),H(A,8),A.gzhead)H(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),H(A,A.gzhead.time&255),H(A,A.gzhead.time>>8&255),H(A,A.gzhead.time>>16&255),H(A,A.gzhead.time>>24&255),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(H(A,A.gzhead.extra.length&255),H(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=ee(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=ki;else if(H(A,0),H(A,0),H(A,0),H(A,0),H(A,0),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,Xg),A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===ki){if(A.gzhead.extra){let r=A.pending,n=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+n>A.pending_buf_size;){let s=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+s),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex+=s,ge(e),A.pending!==0)return A.last_flush=-1,te;r=0,n-=s}let l=new Uint8Array(A.gzhead.extra);A.pending_buf.set(l.subarray(A.gzindex,A.gzindex+n),A.pending),A.pending+=n,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Fi}if(A.status===Fi){if(A.gzhead.name){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.name.length?n=A.gzhead.name.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Ni}if(A.status===Ni){if(A.gzhead.comment){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.comment.length?n=A.gzhead.comment.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r))}A.status=Ri}if(A.status===Ri){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(ge(e),A.pending!==0))return A.last_flush=-1,te;H(A,e.adler&255),H(A,e.adler>>8&255),e.adler=0}if(A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(e.avail_in!==0||A.lookahead!==0||t!==Oe&&A.status!==mA){let r=A.level===0?po(A,t):A.strategy===Ct?el(A,t):A.strategy===Gg?Wg(A,t):_A[A.level].func(A,t);if((r===je||r===uA)&&(A.status=mA),r===ne||r===je)return e.avail_out===0&&(A.last_flush=-1),te;if(r===hA&&(t===Fg?kg(A):t!==_n&&(bi(A,0,0,!1),t===Ng&&(Ue(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),ge(e),e.avail_out===0))return A.last_flush=-1,te}return t!==ue?te:A.wrap<=0?xn:(A.wrap===2?(H(A,e.adler&255),H(A,e.adler>>8&255),H(A,e.adler>>16&255),H(A,e.adler>>24&255),H(A,e.total_in&255),H(A,e.total_in>>8&255),H(A,e.total_in>>16&255),H(A,e.total_in>>24&255)):(yA(A,e.adler>>>16),yA(A,e.adler&65535)),ge(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?te:xn)},ol=e=>{if(LA(e))return ye;let t=e.state.status;return e.state=null,t===ze?Ze(e,Rg):te},sl=(e,t)=>{let A=t.length;if(LA(e))return ye;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==lA||i.lookahead)return ye;if(r===1&&(e.adler=RA(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){r===0&&(Ue(i.head),i.strstart=0,i.block_start=0,i.insert=0);let g=new Uint8Array(i.w_size);g.set(t.subarray(A-i.w_size,A),0),t=g,A=i.w_size}let n=e.avail_in,l=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,fA(i);i.lookahead>=q;){let g=i.strstart,o=i.lookahead-(q-1);do i.ins_h=qe(i,i.ins_h,i.window[g+q-1]),i.prev[g&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=g,g++;while(--o);i.strstart=g,i.lookahead=q-1,fA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=q-1,i.match_available=0,e.next_in=l,e.input=s,e.avail_in=n,i.wrap=r,te},al=rl,gl=mo,ll=yo,fl=wo,cl=il,Il=nl,hl=ol,ul=sl,Bl="pako deflate (from Nodeca project)",DA={deflateInit:al,deflateInit2:gl,deflateReset:ll,deflateResetKeep:fl,deflateSetHeader:cl,deflate:Il,deflateEnd:hl,deflateSetDictionary:ul,deflateInfo:Bl},El=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Cl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)El(A,i)&&(e[i]=A[i])}}return e},dl=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,r=0,n=e.length;i<n;i++){let l=e[i];A.set(l,r),r+=l.length}return A},bt={assign:Cl,flattenChunks:dl},_o=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{_o=!1}TA=new Uint8Array(256);for(let e=0;e<256;e++)TA[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;TA[254]=TA[254]=1;Ql=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,r,n,l=e.length,s=0;for(r=0;r<l;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),s+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),A<128?t[n++]=A:A<2048?(t[n++]=192|A>>>6,t[n++]=128|A&63):A<65536?(t[n++]=224|A>>>12,t[n++]=128|A>>>6&63,t[n++]=128|A&63):(t[n++]=240|A>>>18,t[n++]=128|A>>>12&63,t[n++]=128|A>>>6&63,t[n++]=128|A&63);return t},pl=(e,t)=>{if(t<65534&&e.subarray&&_o)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},wl=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,n=new Array(A*2);for(r=0,i=0;i<A;){let l=e[i++];if(l<128){n[r++]=l;continue}let s=TA[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<A;)l=l<<6|e[i++]&63,s--;if(s>1){n[r++]=65533;continue}l<65536?n[r++]=l:(l-=65536,n[r++]=55296|l>>10&1023,n[r++]=56320|l&1023)}return pl(n,r)},yl=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+TA[e[A]]>t?A:t},vA={string2buf:Ql,buf2string:wl,utf8border:yl};xo=ml,Do=Object.prototype.toString,{Z_NO_FLUSH:_l,Z_SYNC_FLUSH:xl,Z_FULL_FLUSH:Dl,Z_FINISH:bl,Z_OK:_t,Z_STREAM_END:Sl,Z_DEFAULT_COMPRESSION:kl,Z_DEFAULT_STRATEGY:Fl,Z_DEFLATED:Nl}=IA;MA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?bl:_l,typeof e=="string"?A.input=vA.string2buf(e):Do.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(n===xl||n===Dl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(r=DA.deflate(A,n),r===Sl)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),r=DA.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===_t;if(A.avail_out===0){this.onData(A.output);continue}if(n>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};MA.prototype.onData=function(e){this.chunks.push(e)};MA.prototype.onEnd=function(e){e===_t&&(this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};vl=MA,Gl=Oi,Ul=Rl,Ll=Tl,Ml=IA,Ol={Deflate:vl,deflate:Gl,deflateRaw:Ul,gzip:Ll,constants:Ml},dt=16209,ql=16191,Yl=function(t,A){let i,r,n,l,s,g,o,a,I,c,f,h,u,B,Q,C,p,w,d,E,m,y,b,x,D=t.state;i=t.next_in,b=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(A-t.avail_out),s=n+(t.avail_out-257),g=D.dmax,o=D.wsize,a=D.whave,I=D.wnext,c=D.window,f=D.hold,h=D.bits,u=D.lencode,B=D.distcode,Q=(1<<D.lenbits)-1,C=(1<<D.distbits)-1;e:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=u[f&Q];A:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w===0)x[n++]=p&65535;else if(w&16){d=p&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),d+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=B[f&C];t:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w&16){if(E=p&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),E+=f&(1<<w)-1,E>g){t.msg="invalid distance too far back",D.mode=dt;break e}if(f>>>=w,h-=w,w=n-l,E>w){if(w=E-w,w>a&&D.sane){t.msg="invalid distance too far back",D.mode=dt;break e}if(m=0,y=c,I===0){if(m+=o-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}else if(I<w){if(m+=o+I-w,w-=I,w<d){d-=w;do x[n++]=c[m++];while(--w);if(m=0,I<d){w=I,d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}}else if(m+=I-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}for(;d>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],d-=3;d&&(x[n++]=y[m++],d>1&&(x[n++]=y[m++]))}else{m=n-E;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],d-=3;while(d>2);d&&(x[n++]=x[m++],d>1&&(x[n++]=x[m++]))}}else if(w&64){t.msg="invalid distance code",D.mode=dt;break e}else{p=B[(p&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){D.mode=ql;break e}else{t.msg="invalid literal/length code",D.mode=dt;break e}else{p=u[(p&65535)+(f&(1<<w)-1)];continue A}break}}while(i<r&&n<s);d=h>>3,i-=d,h-=d<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=n,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=n<s?257+(s-n):257-(n-s),D.hold=f,D.bits=h},aA=15,bn=852,Sn=592,kn=0,Ci=1,Fn=2,Hl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Jl=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Kl=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Vl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Pl=(e,t,A,i,r,n,l,s)=>{let g=s.bits,o=0,a=0,I=0,c=0,f=0,h=0,u=0,B=0,Q=0,C=0,p,w,d,E,m,y=null,b,x=new Uint16Array(aA+1),D=new Uint16Array(aA+1),k=null,O,S,_;for(o=0;o<=aA;o++)x[o]=0;for(a=0;a<i;a++)x[t[A+a]]++;for(f=g,c=aA;c>=1&&x[c]===0;c--);if(f>c&&(f=c),c===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(I=1;I<c&&x[I]===0;I++);for(f<I&&(f=I),B=1,o=1;o<=aA;o++)if(B<<=1,B-=x[o],B<0)return-1;if(B>0&&(e===kn||c!==1))return-1;for(D[1]=0,o=1;o<aA;o++)D[o+1]=D[o]+x[o];for(a=0;a<i;a++)t[A+a]!==0&&(l[D[t[A+a]]++]=a);if(e===kn?(y=k=l,b=20):e===Ci?(y=Hl,k=Jl,b=257):(y=Kl,k=Vl,b=0),C=0,a=0,o=I,m=n,h=f,u=0,d=-1,Q=1<<f,E=Q-1,e===Ci&&Q>bn||e===Fn&&Q>Sn)return 1;for(;;){O=o-u,l[a]+1<b?(S=0,_=l[a]):l[a]>=b?(S=k[l[a]-b],_=y[l[a]-b]):(S=32+64,_=0),p=1<<o-u,w=1<<h,I=w;do w-=p,r[m+(C>>u)+w]=O<<24|S<<16|_|0;while(w!==0);for(p=1<<o-1;C&p;)p>>=1;if(p!==0?(C&=p-1,C+=p):C=0,a++,--x[o]===0){if(o===c)break;o=t[A+l[a]]}if(o>f&&(C&E)!==d){for(u===0&&(u=f),m+=I,h=o-u,B=1<<h;h+u<c&&(B-=x[h+u],!(B<=0));)h++,B<<=1;if(Q+=1<<h,e===Ci&&Q>bn||e===Fn&&Q>Sn)return 1;d=C&E,r[d]=f<<24|h<<16|m-n|0}}return C!==0&&(r[m+C]=o-u<<24|64<<16|0),s.bits=f,0},bA=Pl,zl=0,bo=1,So=2,{Z_FINISH:Nn,Z_BLOCK:Zl,Z_TREES:Qt,Z_OK:$e,Z_STREAM_END:Xl,Z_NEED_DICT:jl,Z_STREAM_ERROR:Be,Z_DATA_ERROR:ko,Z_MEM_ERROR:Fo,Z_BUF_ERROR:$l,Z_DEFLATED:Rn}=IA,St=16180,Tn=16181,vn=16182,Gn=16183,Un=16184,Ln=16185,Mn=16186,On=16187,qn=16188,Yn=16189,xt=16190,xe=16191,di=16192,Hn=16193,Qi=16194,Jn=16195,Kn=16196,Vn=16197,Pn=16198,pt=16199,wt=16200,zn=16201,Zn=16202,Xn=16203,jn=16204,$n=16205,pi=16206,Wn=16207,eo=16208,X=16209,No=16210,Ro=16211,Wl=852,ef=592,Af=15,tf=Af,Ao=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);We=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<St||t.mode>Ro?1:0},To=e=>{if(We(e))return Be;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=St,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Wl),t.distcode=t.distdyn=new Int32Array(ef),t.sane=1,t.back=-1,$e},vo=e=>{if(We(e))return Be;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,To(e)},Go=(e,t)=>{let A;if(We(e))return Be;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Be:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,vo(e))},Uo=(e,t)=>{if(!e)return Be;let A=new rf;e.state=A,A.strm=e,A.window=null,A.mode=St;let i=Go(e,t);return i!==$e&&(e.state=null),i},nf=e=>Uo(e,tf),to=!0,of=e=>{if(to){wi=new Int32Array(512),yi=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(bA(bo,e.lens,0,288,wi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;bA(So,e.lens,0,32,yi,0,e.work,{bits:5}),to=!1}e.lencode=wi,e.lenbits=9,e.distcode=yi,e.distbits=5},Lo=(e,t,A,i)=>{let r,n=e.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),i>=n.wsize?(n.window.set(t.subarray(A-n.wsize,A),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(A-i,A-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(A-i,A),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=r))),0},sf=(e,t)=>{let A,i,r,n,l,s,g,o,a,I,c,f,h,u,B=0,Q,C,p,w,d,E,m,y,b=new Uint8Array(4),x,D,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(We(e)||!e.output||!e.input&&e.avail_in!==0)return Be;A=e.state,A.mode===xe&&(A.mode=di),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,I=s,c=g,y=$e;e:for(;;)switch(A.mode){case St:if(A.wrap===0){A.mode=di;break}for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&2&&o===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0),o=0,a=0,A.mode=Tn;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){e.msg="incorrect header check",A.mode=X;break}if((o&15)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(o>>>=4,a-=4,m=(o&15)+8,A.wbits===0&&(A.wbits=m),m>15||m>A.wbits){e.msg="invalid window size",A.mode=X;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=o&512?Yn:xe,o=0,a=0;break;case Tn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.flags=o,(A.flags&255)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=X;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=vn;case vn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.time=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,b[2]=o>>>16&255,b[3]=o>>>24&255,A.check=ee(A.check,b,4,0)),o=0,a=0,A.mode=Gn;case Gn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=Un;case Un:if(A.flags&1024){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0}else A.head&&(A.head.extra=null);A.mode=Ln;case Ln:if(A.flags&1024&&(f=A.length,f>s&&(f=s),f&&(A.head&&(m=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(n,n+f),m)),A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,A.length-=f),A.length))break e;A.length=0,A.mode=Mn;case Mn:if(A.flags&2048){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.name+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=On;case On:if(A.flags&4096){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.comment+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.comment=null);A.mode=qn;case qn:if(A.flags&512){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.check&65535)){e.msg="header crc mismatch",A.mode=X;break}o=0,a=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=xe;break;case Yn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}e.adler=A.check=Ao(o),o=0,a=0,A.mode=xt;case xt:if(A.havedict===0)return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,jl;e.adler=A.check=1,A.mode=xe;case xe:if(t===Zl||t===Qt)break e;case di:if(A.last){o>>>=a&7,a-=a&7,A.mode=pi;break}for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}switch(A.last=o&1,o>>>=1,a-=1,o&3){case 0:A.mode=Hn;break;case 1:if(of(A),A.mode=pt,t===Qt){o>>>=2,a-=2;break e}break;case 2:A.mode=Kn;break;case 3:e.msg="invalid block type",A.mode=X}o>>>=2,a-=2;break;case Hn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){e.msg="invalid stored block lengths",A.mode=X;break}if(A.length=o&65535,o=0,a=0,A.mode=Qi,t===Qt)break e;case Qi:A.mode=Jn;case Jn:if(f=A.length,f){if(f>s&&(f=s),f>g&&(f=g),f===0)break e;r.set(i.subarray(n,n+f),l),s-=f,n+=f,g-=f,l+=f,A.length-=f;break}A.mode=xe;break;case Kn:for(;a<14;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.nlen=(o&31)+257,o>>>=5,a-=5,A.ndist=(o&31)+1,o>>>=5,a-=5,A.ncode=(o&15)+4,o>>>=4,a-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=X;break}A.have=0,A.mode=Vn;case Vn:for(;A.have<A.ncode;){for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.lens[k[A.have++]]=o&7,o>>>=3,a-=3}for(;A.have<19;)A.lens[k[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,x={bits:A.lenbits},y=bA(zl,A.lens,0,19,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid code lengths set",A.mode=X;break}A.have=0,A.mode=Pn;case Pn:for(;A.have<A.nlen+A.ndist;){for(;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(p<16)o>>>=Q,a-=Q,A.lens[A.have++]=p;else{if(p===16){for(D=Q+2;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(o>>>=Q,a-=Q,A.have===0){e.msg="invalid bit length repeat",A.mode=X;break}m=A.lens[A.have-1],f=3+(o&3),o>>>=2,a-=2}else if(p===17){for(D=Q+3;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=3+(o&7),o>>>=3,a-=3}else{for(D=Q+7;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=11+(o&127),o>>>=7,a-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=X;break}for(;f--;)A.lens[A.have++]=m}}if(A.mode===X)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=X;break}if(A.lenbits=9,x={bits:A.lenbits},y=bA(bo,A.lens,0,A.nlen,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid literal/lengths set",A.mode=X;break}if(A.distbits=6,A.distcode=A.distdyn,x={bits:A.distbits},y=bA(So,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,x),A.distbits=x.bits,y){e.msg="invalid distances set",A.mode=X;break}if(A.mode=pt,t===Qt)break e;case pt:A.mode=wt;case wt:if(s>=6&&g>=258){e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,Yl(e,c),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,A.mode===xe&&(A.back=-1);break}for(A.back=0;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(C&&!(C&240)){for(w=Q,d=C,E=p;B=A.lencode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,A.length=p,C===0){A.mode=$n;break}if(C&32){A.back=-1,A.mode=xe;break}if(C&64){e.msg="invalid literal/length code",A.mode=X;break}A.extra=C&15,A.mode=zn;case zn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Zn;case Zn:for(;B=A.distcode[o&(1<<A.distbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(!(C&240)){for(w=Q,d=C,E=p;B=A.distcode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,C&64){e.msg="invalid distance code",A.mode=X;break}A.offset=p,A.extra=C&15,A.mode=Xn;case Xn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=X;break}A.mode=jn;case jn:if(g===0)break e;if(f=c-g,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=X;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),u=A.window}else u=r,h=l-A.offset,f=A.length;f>g&&(f=g),g-=f,A.length-=f;do r[l++]=u[h++];while(--f);A.length===0&&(A.mode=wt);break;case $n:if(g===0)break e;r[l++]=A.length,g--,A.mode=wt;break;case pi:if(A.wrap){for(;a<32;){if(s===0)break e;s--,o|=i[n++]<<a,a+=8}if(c-=g,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,l-c):RA(A.check,r,c,l-c)),c=g,A.wrap&4&&(A.flags?o:Ao(o))!==A.check){e.msg="incorrect data check",A.mode=X;break}o=0,a=0}A.mode=Wn;case Wn:if(A.wrap&&A.flags){for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=X;break}o=0,a=0}A.mode=eo;case eo:y=Xl;break e;case X:y=ko;break e;case No:return Fo;case Ro:default:return Be}return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,(A.wsize||c!==e.avail_out&&A.mode<X&&(A.mode<pi||t!==Nn))&&Lo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,e.next_out-c):RA(A.check,r,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===xe?128:0)+(A.mode===pt||A.mode===Qi?256:0),(I===0&&c===0||t===Nn)&&y===$e&&(y=$l),y},af=e=>{if(We(e))return Be;let t=e.state;return t.window&&(t.window=null),e.state=null,$e},gf=(e,t)=>{if(We(e))return Be;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,$e):Be},lf=(e,t)=>{let A=t.length,i,r,n;return We(e)||(i=e.state,i.wrap!==0&&i.mode!==xt)?Be:i.mode===xt&&(r=1,r=RA(r,t,A,0),r!==i.check)?ko:(n=Lo(e,t,A,A),n?(i.mode=No,Fo):(i.havedict=1,$e))},ff=vo,cf=Go,If=To,hf=nf,uf=Uo,Bf=sf,Ef=af,Cf=gf,df=lf,Qf="pako inflate (from Nodeca project)",be={inflateReset:ff,inflateReset2:cf,inflateResetKeep:If,inflateInit:hf,inflateInit2:uf,inflate:Bf,inflateEnd:Ef,inflateGetHeader:Cf,inflateSetDictionary:df,inflateInfo:Qf};wf=pf,Mo=Object.prototype.toString,{Z_NO_FLUSH:yf,Z_FINISH:mf,Z_OK:GA,Z_STREAM_END:mi,Z_NEED_DICT:_i,Z_STREAM_ERROR:_f,Z_DATA_ERROR:io,Z_MEM_ERROR:xf}=IA;OA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r=this.options.dictionary,n,l,s;if(this.ended)return!1;for(t===~~t?l=t:l=t===!0?mf:yf,Mo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),n=be.inflate(A,l),n===_i&&r&&(n=be.inflateSetDictionary(A,r),n===GA?n=be.inflate(A,l):n===io&&(n=_i));A.avail_in>0&&n===mi&&A.state.wrap>0&&e[A.next_in]!==0;)be.inflateReset(A),n=be.inflate(A,l);switch(n){case _f:case io:case _i:case xf:return this.onEnd(n),this.ended=!0,!1}if(s=A.avail_out,A.next_out&&(A.avail_out===0||n===mi))if(this.options.to==="string"){let g=vA.utf8border(A.output,A.next_out),o=A.next_out-g,a=vA.buf2string(A.output,g);A.next_out=o,A.avail_out=i-o,o&&A.output.set(A.output.subarray(g,g+o),0),this.onData(a)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(n===GA&&s===0)){if(n===mi)return n=be.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};OA.prototype.onData=function(e){this.chunks.push(e)};OA.prototype.onEnd=function(e){e===GA&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};bf=OA,Sf=qi,kf=Df,Ff=qi,Nf=IA,Rf={Inflate:bf,inflate:Sf,inflateRaw:kf,ungzip:Ff,constants:Nf},{Deflate:Dh,deflate:bh,deflateRaw:Sh,gzip:kh}=Ol,{Inflate:Fh,inflate:Tf,inflateRaw:Nh,ungzip:Rh}=Rf,kt=Tf});var Oo={};Te(Oo,{default:()=>Ft});var Ft,qo=he(()=>{Yi();Ge();Ft=class extends Ae{decodeBlock(t){return kt(new Uint8Array(t)).buffer}}});var Yo={};Te(Yo,{default:()=>Nt});var Nt,Ho=he(()=>{Ge();Nt=class extends Ae{decodeBlock(t){let A=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=A.getInt8(r);if(n<0){let l=A.getUint8(r+1);n=-n;for(let s=0;s<=n;++s)i.push(l);r+=1}else{for(let l=0;l<=n;++l)i.push(A.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var Jo=Z((Lh,Rt)=>{(function(){var e=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=g(a,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:r.defaultNoDataValue,u=n(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),B={width:f.width,height:f.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return u.resultMask&&(B.maskData=u.resultMask),I.returnEncodedMask&&f.mask&&(B.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(B.fileInfo=l(f),I.computeUsedBitDepths&&(B.fileInfo.bitDepths=s(f))),B};var n=function(a,I,c,f,h){var u=0,B=a.pixels.numBlocksX,Q=a.pixels.numBlocksY,C=Math.floor(a.width/B),p=Math.floor(a.height/Q),w=2*a.maxZError,d=Number.MAX_VALUE,E;c=c||(a.mask?a.mask.bitset:null);var m,y;m=new I(a.width*a.height),h&&c&&(y=new Uint8Array(a.width*a.height));for(var b=new Float32Array(C*p),x,D,k=0;k<=Q;k++){var O=k!==Q?p:a.height%Q;if(O!==0)for(var S=0;S<=B;S++){var _=S!==B?C:a.width%B;if(_!==0){var N=k*a.width*p+S*C,L=a.width-_,F=a.pixels.blocks[u],T,R,Y;F.encoding<2?(F.encoding===0?T=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,a.pixels.maxValue),T=b),R=0):F.encoding===2?Y=0:Y=F.offset;var J;if(c)for(D=0;D<O;D++){for(N&7&&(J=c[N>>3],J<<=N&7),x=0;x<_;x++)N&7||(J=c[N>>3]),J&128?(y&&(y[N]=1),E=F.encoding<2?T[R++]:Y,d=d>E?E:d,m[N++]=E):(y&&(y[N]=0),m[N++]=f),J<<=1;N+=L}else if(F.encoding<2)for(D=0;D<O;D++){for(x=0;x<_;x++)E=T[R++],d=d>E?E:d,m[N++]=E;N+=L}else for(d=d>Y?Y:d,D=0;D<O;D++){for(x=0;x<_;x++)m[N++]=Y;N+=L}if(F.encoding===1&&R!==F.numValidPixels)throw"Block and Mask do not match";u++}}}return{resultPixels:m,resultMask:y,minValue:d}},l=function(a){return{fileIdentifierString:a.fileIdentifierString,fileVersion:a.fileVersion,imageType:a.imageType,height:a.height,width:a.width,maxZError:a.maxZError,eofOffset:a.eofOffset,mask:a.mask?{numBlocksX:a.mask.numBlocksX,numBlocksY:a.mask.numBlocksY,numBytes:a.mask.numBytes,maxValue:a.mask.maxValue}:null,pixels:{numBlocksX:a.pixels.numBlocksX,numBlocksY:a.pixels.numBlocksY,numBytes:a.pixels.numBytes,maxValue:a.pixels.maxValue,noDataValue:a.noDataValue}}},s=function(a){for(var I=a.pixels.numBlocksX*a.pixels.numBlocksY,c={},f=0;f<I;f++){var h=a.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},g=function(a,I,c){var f={},h=new Uint8Array(a,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var u=new DataView(a,I,24);if(f.fileVersion=u.getInt32(0,!0),f.imageType=u.getInt32(4,!0),f.height=u.getUint32(8,!0),f.width=u.getUint32(12,!0),f.maxZError=u.getFloat64(16,!0),I+=24,!c)if(u=new DataView(a,I,16),f.mask={},f.mask.numBlocksY=u.getUint32(0,!0),f.mask.numBlocksX=u.getUint32(4,!0),f.mask.numBytes=u.getUint32(8,!0),f.mask.maxValue=u.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var B=new Uint8Array(Math.ceil(f.width*f.height/8));u=new DataView(a,I,f.mask.numBytes);var Q=u.getInt16(0,!0),C=2,p=0;do{if(Q>0)for(;Q--;)B[p++]=u.getUint8(C++);else{var w=u.getUint8(C++);for(Q=-Q;Q--;)B[p++]=w}Q=u.getInt16(C,!0),C+=2}while(C<f.mask.numBytes);if(Q!==-32768||p<B.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=B,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));u=new DataView(a,I,16),f.pixels={},f.pixels.numBlocksY=u.getUint32(0,!0),f.pixels.numBlocksX=u.getUint32(4,!0),f.pixels.numBytes=u.getUint32(8,!0),f.pixels.maxValue=u.getFloat32(12,!0),I+=16;var d=f.pixels.numBlocksX,E=f.pixels.numBlocksY,m=d+(f.width%d>0?1:0),y=E+(f.height%E>0?1:0);f.pixels.blocks=new Array(m*y);for(var b=0,x=0;x<y;x++)for(var D=0;D<m;D++){var k=0,O=a.byteLength-I;u=new DataView(a,I,Math.min(10,O));var S={};f.pixels.blocks[b++]=S;var _=u.getUint8(0);if(k++,S.encoding=_&63,S.encoding>3)throw"Invalid block encoding ("+S.encoding+")";if(S.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,S.offsetType=_,_===2)S.offset=u.getInt8(1),k++;else if(_===1)S.offset=u.getInt16(1,!0),k+=2;else if(_===0)S.offset=u.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(S.encoding===1)if(_=u.getUint8(k),k++,S.bitsPerPixel=_&63,_>>=6,S.numValidPixelsType=_,_===2)S.numValidPixels=u.getUint8(k),k++;else if(_===1)S.numValidPixels=u.getUint16(k,!0),k+=2;else if(_===0)S.numValidPixels=u.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(I+=k,S.encoding!==3){var N,L;if(S.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";N=new ArrayBuffer(F*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,F*4));var T=new Float32Array(N);S.rawData=T,I+=F*4}else if(S.encoding===1){var R=Math.ceil(S.numValidPixels*S.bitsPerPixel/8),Y=Math.ceil(R/4);N=new ArrayBuffer(Y*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,R)),S.stuffedData=new Uint32Array(N),I+=R}}}return f.eofOffset=I,f},o=function(a,I,c,f,h,u,B){var Q=(1<<I)-1,C=0,p,w=0,d,E,m=Math.ceil((B-f)/h),y=a.length*4-Math.ceil(I*c/8);for(a[a.length-1]<<=8*y,p=0;p<c;p++){if(w===0&&(E=a[C++],w=32),w>=I)d=E>>>w-I&Q,w-=I;else{var b=I-w;d=(E&Q)<<b&Q,E=a[C++],w=32-b,d+=E>>>w}u[p]=d<m?f+d*h:B}return u};return r}(),t=function(){"use strict";var r={unstuff:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w,d,E,m,y=g.length*4-Math.ceil(a*I/8);if(g[g.length-1]<<=8*y,c)for(C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=c[w];else for(m=Math.ceil((u-f)/h),C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=w<m?f+w*h:u},unstuffLUT:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w,d=[],E=g.length*4-Math.ceil(o*a/8);g[g.length-1]<<=8*E;var m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(w=g[u++],C=32),C>=o?(p=w>>>C-o&h,C-=o):(Q=o-C,p=(w&h)<<Q&h,w=g[u++],C=32-Q,p+=w>>>C),d[B]=p<m?I+p*c:f;return d.unshift(I),d},unstuff2:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w=0,d,E,m;if(c)for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=c[d];else{var y=Math.ceil((u-f)/h);for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=d<y?f+d*h:u}return o},unstuffLUT2:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w=0,d,E=[],m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(d=g[u++],C=32,w=0),C>=o?(p=d>>>w&h,C-=o,w+=o):(Q=o-C,p=d>>>w&h,d=g[u++],C=32-Q,p|=(d&(1<<Q)-1)<<o-Q,w=Q),E[B]=p<m?I+p*c:f;return E.unshift(I),E},originalUnstuff:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B,Q,C,p=g.length*4-Math.ceil(a*I/8);for(g[g.length-1]<<=8*p,h=0;h<I;h++)u===0&&(Q=g[f++],u=32),u>=a?(B=Q>>>u-a&c,u-=a):(C=a-u,B=(Q&c)<<C&c,Q=g[f++],u=32-C,B+=Q>>>u),o[h]=B;return o},originalUnstuff2:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B=0,Q,C,p;for(h=0;h<I;h++)u===0&&(C=g[f++],u=32,B=0),u>=a?(Q=C>>>B&c,u-=a,B+=a):(p=a-u,Q=C>>>B&c,C=g[f++],u=32-p,Q|=(C&(1<<p)-1)<<a-p,B=p),o[h]=Q;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(g){for(var o=65535,a=65535,I=g.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do o+=g[f++]<<8,a+=o+=g[f++];while(--h);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return I&1&&(a+=o+=g[f]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(g,o){var a=o.ptr,I=new Uint8Array(g,a,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;a+=6;var f=new DataView(g,a,8),h=f.getInt32(0,!0);c.fileVersion=h,a+=4,h>=3&&(c.checksum=f.getUint32(4,!0),a+=4),f=new DataView(g,a,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),a+=8,h>=4?(c.numDims=f.getUint32(8,!0),a+=4):c.numDims=1,f=new DataView(g,a,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),a+=40,o.headerInfo=c,o.ptr=a;var u,B;if(h>=3&&(B=h>=4?52:48,u=this.computeChecksumFletcher32(new Uint8Array(g,a-B,c.blobSize-14)),u!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(g,o){var a=o.headerInfo,I=this.getDataTypeArray(a.imageType),c=a.numDims*this.getDataTypeSize(a.imageType),f=this.readSubArray(g,o.ptr,I,c),h=this.readSubArray(g,o.ptr+c,I,c);o.ptr+=2*c;var u,B=!0;for(u=0;u<a.numDims;u++)if(f[u]!==h[u]){B=!1;break}return a.minValues=f,a.maxValues=h,B},readSubArray:function(g,o,a,I){var c;if(a===Uint8Array)c=new Uint8Array(g,o,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(g,o,I)),c=new a(f)}return c},readMask:function(g,o){var a=o.ptr,I=o.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(g,a,4),u={};if(u.numBytes=h.getUint32(0,!0),a+=4,(f===0||c===f)&&u.numBytes!==0)throw"invalid mask";var B,Q;if(f===0)B=new Uint8Array(Math.ceil(c/8)),u.bitset=B,Q=new Uint8Array(c),o.pixels.resultMask=Q,a+=u.numBytes;else if(u.numBytes>0){B=new Uint8Array(Math.ceil(c/8)),h=new DataView(g,a,u.numBytes);var C=h.getInt16(0,!0),p=2,w=0,d=0;do{if(C>0)for(;C--;)B[w++]=h.getUint8(p++);else for(d=h.getUint8(p++),C=-C;C--;)B[w++]=d;C=h.getInt16(p,!0),p+=2}while(p<u.numBytes);if(C!==-32768||w<B.length)throw"Unexpected end of mask RLE encoding";Q=new Uint8Array(c);var E=0,m=0;for(m=0;m<c;m++)m&7?(E=B[m>>3],E<<=m&7):E=B[m>>3],E&128&&(Q[m]=1);o.pixels.resultMask=Q,u.bitset=B,a+=u.numBytes}return o.ptr=a,o.mask=u,!0},readDataOneSweep:function(g,o,a,I){var c=o.ptr,f=o.headerInfo,h=f.numDims,u=f.width*f.height,B=f.imageType,Q=f.numValidPixel*n.getDataTypeSize(B)*h,C,p=o.pixels.resultMask;if(a===Uint8Array)C=new Uint8Array(g,c,Q);else{var w=new ArrayBuffer(Q),d=new Uint8Array(w);d.set(new Uint8Array(g,c,Q)),C=new a(w)}if(C.length===u*h)I?o.pixels.resultPixels=n.swapDimensionOrder(C,u,h,a,!0):o.pixels.resultPixels=C;else{o.pixels.resultPixels=new a(u*h);var E=0,m=0,y=0,b=0;if(h>1){if(I){for(m=0;m<u;m++)if(p[m])for(b=m,y=0;y<h;y++,b+=u)o.pixels.resultPixels[b]=C[E++]}else for(m=0;m<u;m++)if(p[m])for(b=m*h,y=0;y<h;y++)o.pixels.resultPixels[b+y]=C[E++]}else for(m=0;m<u;m++)p[m]&&(o.pixels.resultPixels[m]=C[E++])}return c+=Q,o.ptr=c,!0},readHuffmanTree:function(g,o){var a=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(g,o.ptr,16);o.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),u=I.getInt32(12,!0);if(h>=u)return!1;var B=new Uint32Array(u-h);n.decodeBits(g,o,B);var Q=[],C,p,w,d;for(C=h;C<u;C++)p=C-(C<f?0:f),Q[p]={first:B[C-h],second:null};var E=g.byteLength-o.ptr,m=Math.ceil(E/4),y=new ArrayBuffer(m*4),b=new Uint8Array(y);b.set(new Uint8Array(g,o.ptr,E));var x=new Uint32Array(y),D=0,k,O=0;for(k=x[0],C=h;C<u;C++)p=C-(C<f?0:f),d=Q[p].first,d>0&&(Q[p].second=k<<D>>>32-d,32-D>=d?(D+=d,D===32&&(D=0,O++,k=x[O])):(D+=d-32,O++,k=x[O],Q[p].second|=k>>>32-D));var S=0,_=0,N=new l;for(C=0;C<Q.length;C++)Q[C]!==void 0&&(S=Math.max(S,Q[C].first));S>=a?_=a:_=S;var L=[],F,T,R,Y,J,z;for(C=h;C<u;C++)if(p=C-(C<f?0:f),d=Q[p].first,d>0)if(F=[d,p],d<=_)for(T=Q[p].second<<_-d,R=1<<_-d,w=0;w<R;w++)L[T|w]=F;else for(T=Q[p].second,z=N,Y=d-1;Y>=0;Y--)J=T>>>Y&1,J?(z.right||(z.right=new l),z=z.right):(z.left||(z.left=new l),z=z.left),Y===0&&!z.val&&(z.val=F[1]);return{decodeLut:L,numBitsLUTQick:_,numBitsLUT:S,tree:N,stuffedData:x,srcPtr:O,bitPos:D}},readHuffman:function(g,o,a,I){var c=o.headerInfo,f=c.numDims,h=o.headerInfo.height,u=o.headerInfo.width,B=u*h,Q=this.readHuffmanTree(g,o),C=Q.decodeLut,p=Q.tree,w=Q.stuffedData,d=Q.srcPtr,E=Q.bitPos,m=Q.numBitsLUTQick,y=Q.numBitsLUT,b=o.headerInfo.imageType===0?128:0,x,D,k,O=o.pixels.resultMask,S,_,N,L,F,T,R,Y=0;E>0&&(d++,E=0);var J=w[d],z=o.encodeMode===1,U=new a(B*f),v=U,G;if(f<2||z){for(G=0;G<f;G++)if(f>1&&(v=new a(U.buffer,B*G,B),Y=0),o.headerInfo.numValidPixel===u*h)for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0?k+=Y:L>0?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++)if(O[T]){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0&&O[T-1]?k+=Y:L>0&&O[T-u]?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++)if(T=L*u+F,!O||O[T])for(G=0;G<f;G++,T+=B){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,v[T]=k}o.ptr=o.ptr+(d+1)*4+(E>0?4:0),o.pixels.resultPixels=U,f>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(U,B,f,a))},decodeBits:function(g,o,a,I,c){{var f=o.headerInfo,h=f.fileVersion,u=0,B=g.byteLength-o.ptr>=5?5:g.byteLength-o.ptr,Q=new DataView(g,o.ptr,B),C=Q.getUint8(0);u++;var p=C>>6,w=p===0?4:3-p,d=(C&32)>0,E=C&31,m=0;if(w===1)m=Q.getUint8(u),u++;else if(w===2)m=Q.getUint16(u,!0),u+=2;else if(w===4)m=Q.getUint32(u,!0),u+=4;else throw"Invalid valid pixel count type";var y=2*f.maxZError,b,x,D,k,O,S,_,N,L,F,T=f.numDims>1?f.maxValues[c]:f.zMax;if(d){for(o.counter.lut++,N=Q.getUint8(u),L=E,u++,k=Math.ceil((N-1)*E/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),o.ptr+=u,D.set(new Uint8Array(g,o.ptr,k)),_=new Uint32Array(x),o.ptr+=k,F=0;N-1>>>F;)F++;k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?S=r.unstuffLUT2(_,E,N-1,I,y,T):S=r.unstuffLUT(_,E,N-1,I,y,T),h>=3?r.unstuff2(b,a,F,m,S):r.unstuff(b,a,F,m,S)}else o.counter.bitstuffer++,F=E,o.ptr+=u,F>0&&(k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?I==null?r.originalUnstuff2(b,a,F,m):r.unstuff2(b,a,F,m,!1,I,y,T):I==null?r.originalUnstuff(b,a,F,m):r.unstuff(b,a,F,m,!1,I,y,T))}},readTiles:function(g,o,a,I){var c=o.headerInfo,f=c.width,h=c.height,u=f*h,B=c.microBlockSize,Q=c.imageType,C=n.getDataTypeSize(Q),p=Math.ceil(f/B),w=Math.ceil(h/B);o.pixels.numBlocksY=w,o.pixels.numBlocksX=p,o.pixels.ptr=0;var d=0,E=0,m=0,y=0,b=0,x=0,D=0,k=0,O=0,S=0,_=0,N=0,L=0,F=0,T=0,R=0,Y,J,z,U,v,G,V=new a(B*B),P=h%B||B,$=f%B||B,j,ie,ce=c.numDims,Ve,Ee=o.pixels.resultMask,Ie=o.pixels.resultPixels,da=c.fileVersion,ur=da>=5?14:15,Ne,Vt=c.zMax,Re;for(m=0;m<w;m++)for(b=m!==w-1?B:P,y=0;y<p;y++)for(x=y!==p-1?B:$,_=m*f*B+y*B,N=f-x,Ve=0;Ve<ce;Ve++){if(ce>1?(Re=Ie,_=m*f*B+y*B,Ie=new a(o.pixels.resultPixels.buffer,u*Ve*C,u),Vt=c.maxValues[Ve]):Re=null,D=g.byteLength-o.ptr,Y=new DataView(g,o.ptr,Math.min(10,D)),J={},R=0,k=Y.getUint8(0),R++,Ne=c.fileVersion>=5?k&4:0,O=k>>6&255,S=k>>2&ur,S!==(y*B>>3&ur)||Ne&&Ve===0)throw"integrity issue";if(G=k&3,G>3)throw o.ptr+=R,"Invalid block encoding ("+G+")";if(G===2){if(Ne)if(Ee)for(d=0;d<b;d++)for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Re[_]),_++;else for(d=0;d<b;d++)for(E=0;E<x;E++)Ie[_]=Re[_],_++;o.counter.constant++,o.ptr+=R;continue}else if(G===0){if(Ne)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=R,L=b*x*C,F=g.byteLength-o.ptr,L=L<F?L:F,z=new ArrayBuffer(L%C===0?L:L+C-L%C),U=new Uint8Array(z),U.set(new Uint8Array(g,o.ptr,L)),v=new a(z),T=0,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=v[T++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=v[T++];_+=N}o.ptr+=T*C}else if(j=n.getDataTypeUsed(Ne&&Q<6?4:Q,O),ie=n.getOnePixel(J,R,j,Y),R+=n.getDataTypeSize(j),G===3)if(o.ptr+=R,o.counter.constantoffset++,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie,_++;_+=N}else if(o.ptr+=R,n.decodeBits(g,o,V,ie,Ve),R=0,Ne)if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]+Re[_]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=V[R++]+Re[_],_++;_+=N}else if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=V[R++];_+=N}}ce>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,u,ce,a))},formatFileInfo:function(g){return{fileIdentifierString:g.headerInfo.fileIdentifierString,fileVersion:g.headerInfo.fileVersion,imageType:g.headerInfo.imageType,height:g.headerInfo.height,width:g.headerInfo.width,numValidPixel:g.headerInfo.numValidPixel,microBlockSize:g.headerInfo.microBlockSize,blobSize:g.headerInfo.blobSize,maxZError:g.headerInfo.maxZError,pixelType:n.getPixelType(g.headerInfo.imageType),eofOffset:g.eofOffset,mask:g.mask?{numBytes:g.mask.numBytes}:null,pixels:{numBlocksX:g.pixels.numBlocksX,numBlocksY:g.pixels.numBlocksY,maxValue:g.headerInfo.zMax,minValue:g.headerInfo.zMin,noDataValue:g.noDataValue}}},constructConstantSurface:function(g,o){var a=g.headerInfo.zMax,I=g.headerInfo.zMin,c=g.headerInfo.maxValues,f=g.headerInfo.numDims,h=g.headerInfo.height*g.headerInfo.width,u=0,B=0,Q=0,C=g.pixels.resultMask,p=g.pixels.resultPixels;if(C)if(f>1){if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)C[B]&&(p[Q+B]=a);else for(B=0;B<h;B++)if(C[B])for(Q=B*f,u=0;u<f;u++)p[Q+f]=c[u]}else for(B=0;B<h;B++)C[B]&&(p[B]=a);else if(f>1&&I!==a)if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)p[Q+B]=a;else for(B=0;B<h;B++)for(Q=B*f,u=0;u<f;u++)p[Q+u]=c[u];else for(B=0;B<h*f;B++)p[B]=a},getDataTypeArray:function(g){var o;switch(g){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(g){var o;switch(g){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(g,o){if(o==null)return!1;var a;switch(g){case 0:a=o>=-128&&o<=127;break;case 1:a=o>=0&&o<=255;break;case 2:a=o>=-32768&&o<=32767;break;case 3:a=o>=0&&o<=65536;break;case 4:a=o>=-2147483648&&o<=2147483647;break;case 5:a=o>=0&&o<=4294967296;break;case 6:a=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:a=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(g){var o=0;switch(g){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=g}return o},getDataTypeUsed:function(g,o){var a=g;switch(g){case 2:case 4:a=g-o;break;case 3:case 5:a=g-2*o;break;case 6:o===0?a=g:o===1?a=2:a=1;break;case 7:o===0?a=g:a=g-2*o+1;break;default:a=g;break}return a},getOnePixel:function(g,o,a,I){var c=0;switch(a){case 0:c=I.getInt8(o);break;case 1:c=I.getUint8(o);break;case 2:c=I.getInt16(o,!0);break;case 3:c=I.getUint16(o,!0);break;case 4:c=I.getInt32(o,!0);break;case 5:c=I.getUInt32(o,!0);break;case 6:c=I.getFloat32(o,!0);break;case 7:c=I.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(g,o,a,I,c){var f=0,h=0,u=0,B=0,Q=g;if(a>1)if(Q=new I(o*a),c)for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[B]=g[h++];else for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[h++]=g[B];return Q}},l=function(g,o,a){this.val=g,this.left=o,this.right=a},s={decode:function(g,o){o=o||{};var a=o.noDataValue,I=0,c={};if(c.ptr=o.inputOffset||0,c.pixels={},!!n.readHeaderInfo(g,c)){var f=c.headerInfo,h=f.fileVersion,u=n.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;n.readMask(g,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=o.maskData);var B=f.width*f.height;c.pixels.resultPixels=new u(B*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var Q=!o.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)n.constructConstantSurface(c,Q);else if(h>=4&&n.checkMinMaxRanges(g,c))n.constructConstantSurface(c,Q);else{var C=new DataView(g,c.ptr,2),p=C.getUint8(0);if(c.ptr++,p)n.readDataOneSweep(g,c,u,Q);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=C.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?n.readHuffman(g,c,u,Q):n.readTiles(g,c,u,Q)}else n.readTiles(g,c,u,Q)}c.eofOffset=c.ptr;var d;o.inputOffset?(d=c.headerInfo.blobSize+o.inputOffset-c.ptr,Math.abs(d)>=1&&(c.eofOffset=o.inputOffset+c.headerInfo.blobSize)):(d=c.headerInfo.blobSize-c.ptr,Math.abs(d)>=1&&(c.eofOffset=c.headerInfo.blobSize));var E={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&n.isValidPixelValue(f.imageType,a)){var m=c.pixels.resultMask;for(I=0;I<B;I++)m[I]||(E.pixelData[I]=a);E.noDataValue=a}return c.noDataValue=a,o.returnFileInfo&&(E.fileInfo=n.formatFileInfo(c)),E}},getBandCount:function(g){var o=0,a=0,I={};for(I.ptr=0,I.pixels={};a<g.byteLength-58;)n.readHeaderInfo(g,I),a+=I.headerInfo.blobSize,o++,I.ptr=a;return o}};return s}(),A=function(){var r=new ArrayBuffer(4),n=new Uint8Array(r),l=new Uint32Array(r);return l[0]=1,n[0]===1}(),i={decode:function(r,n){if(!A)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),g=String.fromCharCode.apply(null,s),o,a;if(g.trim()==="CntZImage")o=e,a=1;else if(g.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+g;for(var I=0,c=r.byteLength-10,f,h=[],u,B,Q={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},C=0;l<c;){var p=o.decode(r,{inputOffset:l,encodedMaskData:f,maskData:B,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=p.fileInfo.eofOffset,B=p.maskData,I===0&&(f=p.encodedMaskData,Q.width=p.width,Q.height=p.height,Q.dimCount=p.dimCount||1,Q.pixelType=p.pixelType||p.fileInfo.pixelType,Q.mask=B),a>1&&(B&&h.push(B),p.fileInfo.mask&&p.fileInfo.mask.numBytes>0&&C++),I++,Q.pixels.push(p.pixelData),Q.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}var w,d,E;if(a>1&&C>1){for(E=Q.width*Q.height,Q.bandMasks=h,B=new Uint8Array(E),B.set(h[0]),w=1;w<h.length;w++)for(u=h[w],d=0;d<E;d++)B[d]=B[d]&u[d];Q.maskData=B}return Q}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Rt<"u"&&Rt.exports?Rt.exports=i:this.Lerc=i})()});var qA,Se,Ji,Hi,Tt,Ko,Vo=he(()=>{Hi={env:{emscripten_notify_memory_growth:function(e){Ji=new Uint8Array(Se.exports.memory.buffer)}}},Tt=class{init(){return qA||(typeof fetch<"u"?qA=fetch("data:application/wasm;base64,"+Ko).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Hi)).then(this._init):qA=WebAssembly.instantiate(Buffer.from(Ko,"base64"),Hi).then(this._init),qA)}_init(t){Se=t.instance,Hi.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!Se)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=Se.exports.malloc(i);Ji.set(t,r),A=A||Number(Se.exports.ZSTD_findDecompressedSize(r,i));let n=Se.exports.malloc(A),l=Se.exports.ZSTD_decompress(n,A,r,i),s=Ji.slice(n,n+l);return Se.exports.free(r),Se.exports.free(n),s}},Ko="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var Zo={};Te(Zo,{default:()=>vt,zstd:()=>zo});var Po,zo,vt,Xo=he(()=>{Yi();Po=ve(Jo(),1);Vo();Ge();st();zo=new Tt,vt=class extends Ae{constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[tn.AddCompression]}decodeBlock(t){switch(this.addCompression){case ot.None:break;case ot.Deflate:t=kt(new Uint8Array(t)).buffer;break;case ot.Zstandard:t=zo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Po.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var jo={};Te(jo,{default:()=>Gt});var Gt,$o=he(()=>{Ge();Gt=class extends Ae{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),r=await createImageBitmap(i),n;typeof document<"u"?(n=document.createElement("canvas"),n.width=r.width,n.height=r.height):n=new OffscreenCanvas(r.width,r.height);let l=n.getContext("2d");return l.drawImage(r,0,0),l.getImageData(0,0,r.width,r.height).data.buffer}}});var cs=Z(()=>{});var Is=Z(()=>{});var hs=Z(()=>{});var Kt=Z(Fe=>{"use strict";var vs=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Zf=vs+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Gs="["+vs+"]["+Zf+"]*",Xf=new RegExp("^"+Gs+"$"),jf=function(e,t){let A=[],i=t.exec(e);for(;i;){let r=[];r.startIndex=t.lastIndex-i[0].length;let n=i.length;for(let l=0;l<n;l++)r.push(i[l]);A.push(r),i=t.exec(e)}return A},$f=function(e){let t=Xf.exec(e);return!(t===null||typeof t>"u")};Fe.isExist=function(e){return typeof e<"u"};Fe.isEmptyObject=function(e){return Object.keys(e).length===0};Fe.merge=function(e,t,A){if(t){let i=Object.keys(t),r=i.length;for(let n=0;n<r;n++)A==="strict"?e[i[n]]=[t[i[n]]]:e[i[n]]=t[i[n]]}};Fe.getValue=function(e){return Fe.isExist(e)?e:""};Fe.isName=$f;Fe.getAllMatches=jf;Fe.nameRegexp=Gs});var sr=Z(qs=>{"use strict";var or=Kt(),Wf={allowBooleanAttributes:!1,unpairedTags:[]};qs.validate=function(e,t){t=Object.assign({},Wf,t);let A=[],i=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=Ls(e,n),n.err)return n}else if(e[n]==="<"){let l=n;if(n++,e[n]==="!"){n=Ms(e,n);continue}else{let s=!1;e[n]==="/"&&(s=!0,n++);let g="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
|
|
10
|
-
`&&e[n]!=="\r";n++)g+=e[n];if(g=g.trim(),g[g.length-1]==="/"&&(g=g.substring(0,g.length-1),n--),!sc(g)){let I;return g.trim().length===0?I="Invalid space after '<'.":I="Tag '"+g+"' is an invalid name.",W("InvalidTag",I,oe(e,n))}let o=tc(e,n);if(o===!1)return W("InvalidAttr","Attributes for '"+g+"' have open quote.",oe(e,n));let a=o.value;if(n=o.index,a[a.length-1]==="/"){let I=n-a.length;a=a.substring(0,a.length-1);let c=Os(a,t);if(c===!0)i=!0;else return W(c.err.code,c.err.msg,oe(e,I+c.err.line))}else if(s)if(o.tagClosed){if(a.trim().length>0)return W("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",oe(e,l));if(A.length===0)return W("InvalidTag","Closing tag '"+g+"' has not been opened.",oe(e,l));{let I=A.pop();if(g!==I.tagName){let c=oe(e,I.tagStartPos);return W("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+c.line+", col "+c.col+") instead of closing tag '"+g+"'.",oe(e,l))}A.length==0&&(r=!0)}}else return W("InvalidTag","Closing tag '"+g+"' doesn't have proper closing.",oe(e,n));else{let I=Os(a,t);if(I!==!0)return W(I.err.code,I.err.msg,oe(e,n-a.length+I.err.line));if(r===!0)return W("InvalidXml","Multiple possible root nodes found.",oe(e,n));t.unpairedTags.indexOf(g)!==-1||A.push({tagName:g,tagStartPos:l}),i=!0}for(n++;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="!"){n++,n=Ms(e,n);continue}else if(e[n+1]==="?"){if(n=Ls(e,++n),n.err)return n}else break;else if(e[n]==="&"){let I=nc(e,n);if(I==-1)return W("InvalidChar","char '&' is not expected.",oe(e,n));n=I}else if(r===!0&&!Us(e[n]))return W("InvalidXml","Extra text at the end",oe(e,n));e[n]==="<"&&n--}}else{if(Us(e[n]))continue;return W("InvalidChar","char '"+e[n]+"' is not expected.",oe(e,n))}if(i){if(A.length==1)return W("InvalidTag","Unclosed tag '"+A[0].tagName+"'.",oe(e,A[0].tagStartPos));if(A.length>0)return W("InvalidXml","Invalid '"+JSON.stringify(A.map(n=>n.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return W("InvalidXml","Start tag expected.",1);return!0};function Us(e){return e===" "||e===" "||e===`
|
|
11
|
-
`||e==="\r"}function Ls(e,t){let A=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let i=e.substr(A,t-A);if(t>5&&i==="xml")return W("InvalidXml","XML declaration allowed only at the start of the document.",oe(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function Ms(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let A=1;for(t+=8;t<e.length;t++)if(e[t]==="<")A++;else if(e[t]===">"&&(A--,A===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var ec='"',Ac="'";function tc(e,t){let A="",i="",r=!1;for(;t<e.length;t++){if(e[t]===ec||e[t]===Ac)i===""?i=e[t]:i!==e[t]||(i="");else if(e[t]===">"&&i===""){r=!0;break}A+=e[t]}return i!==""?!1:{value:A,index:t,tagClosed:r}}var ic=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Os(e,t){let A=or.getAllMatches(e,ic),i={};for(let r=0;r<A.length;r++){if(A[r][1].length===0)return W("InvalidAttr","Attribute '"+A[r][2]+"' has no space in starting.",VA(A[r]));if(A[r][3]!==void 0&&A[r][4]===void 0)return W("InvalidAttr","Attribute '"+A[r][2]+"' is without value.",VA(A[r]));if(A[r][3]===void 0&&!t.allowBooleanAttributes)return W("InvalidAttr","boolean attribute '"+A[r][2]+"' is not allowed.",VA(A[r]));let n=A[r][2];if(!oc(n))return W("InvalidAttr","Attribute '"+n+"' is an invalid name.",VA(A[r]));if(!i.hasOwnProperty(n))i[n]=1;else return W("InvalidAttr","Attribute '"+n+"' is repeated.",VA(A[r]))}return!0}function rc(e,t){let A=/\d/;for(e[t]==="x"&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(A))break}return-1}function nc(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,rc(e,t);let A=0;for(;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(e[t]===";")break;return-1}return t}function W(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function oc(e){return or.isName(e)}function sc(e){return or.isName(e)}function oe(e,t){let A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function VA(e){return e.startIndex+e[1].length}});var Hs=Z(ar=>{var Ys={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,A){return e}},ac=function(e){return Object.assign({},Ys,e)};ar.buildOptions=ac;ar.defaultOptions=Ys});var Ks=Z((ru,Js)=>{"use strict";var gr=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,A){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:A})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};Js.exports=gr});var Ps=Z((nu,Vs)=>{var gc=Kt();function lc(e,t){let A={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,r=!1,n=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&Ic(e,t))t+=7,[entityName,val,t]=fc(e,t+1),val.indexOf("&")===-1&&(A[Ec(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&hc(e,t))t+=8;else if(r&&uc(e,t))t+=8;else if(r&&Bc(e,t))t+=9;else if(cc)n=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,i--):i--,i===0)break}else e[t]==="["?r=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:A,i:t}}function fc(e,t){let A="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)A+=e[t];if(A=A.trim(),A.indexOf(" ")!==-1)throw new Error("External entites are not supported");let i=e[t++],r="";for(;t<e.length&&e[t]!==i;t++)r+=e[t];return[A,r,t]}function cc(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Ic(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function hc(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function uc(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function Bc(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function Ec(e){if(gc.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}Vs.exports=lc});var Zs=Z((ou,zs)=>{var Cc=/^[-+]?0x[a-fA-F0-9]+$/,dc=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Qc={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function pc(e,t={}){if(t=Object.assign({},Qc,t),!e||typeof e!="string")return e;let A=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(A))return e;if(t.hex&&Cc.test(A))return Number.parseInt(A,16);{let i=dc.exec(A);if(i){let r=i[1],n=i[2],l=wc(i[3]),s=i[4]||i[6];if(!t.leadingZeros&&n.length>0&&r&&A[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&A[1]!==".")return e;{let g=Number(A),o=""+g;return o.search(/[eE]/)!==-1||s?t.eNotation?g:e:A.indexOf(".")!==-1?o==="0"&&l===""||o===l||r&&o==="-"+l?g:e:n?l===o||r+l===o?g:e:A===o||A===r+o?g:e}}else return e}}function wc(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}zs.exports=pc});var lr=Z((su,Xs)=>{function yc(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let A of e)if(typeof A=="string"&&t===A||A instanceof RegExp&&A.test(t))return!0}:()=>!1}Xs.exports=yc});var Ws=Z((au,$s)=>{"use strict";var js=Kt(),PA=Ks(),mc=Ps(),_c=Zs(),xc=lr(),fr=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,16))}},this.addExternalEntities=Dc,this.parseXml=Nc,this.parseTextData=bc,this.resolveNameSpace=Sc,this.buildAttributesMap=Fc,this.isItStopNode=Gc,this.replaceEntitiesValue=Tc,this.readStopNodeData=Lc,this.saveTextToParentTag=vc,this.addChild=Rc,this.ignoreAttributesFn=xc(this.options.ignoreAttributes)}};function Dc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:e[i]}}}function bc(e,t,A,i,r,n,l){if(e!==void 0&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){l||(e=this.replaceEntitiesValue(e));let s=this.options.tagValueProcessor(t,e,A,r,n);return s==null?e:typeof s!=typeof e||s!==e?s:this.options.trimValues?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Sc(e){if(this.options.removeNSPrefix){let t=e.split(":"),A=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=A+t[1])}return e}var kc=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Fc(e,t,A){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let i=js.getAllMatches(e,kc),r=i.length,n={};for(let l=0;l<r;l++){let s=this.resolveNameSpace(i[l][1]);if(this.ignoreAttributesFn(s,t))continue;let g=i[l][4],o=this.options.attributeNamePrefix+s;if(s.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o==="__proto__"&&(o="#__proto__"),g!==void 0){this.options.trimValues&&(g=g.trim()),g=this.replaceEntitiesValue(g);let a=this.options.attributeValueProcessor(s,g,t);a==null?n[o]=g:typeof a!=typeof g||a!==g?n[o]=a:n[o]=Ir(g,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let l={};return l[this.options.attributesGroupName]=n,l}return n}}var Nc=function(e){e=e.replace(/\r\n?/g,`
|
|
12
|
-
`);let t=new PA("!xml"),A=t,i="",r="";for(let n=0;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="/"){let s=eA(e,">",n,"Closing Tag is not closed."),g=e.substring(n+2,s).trim();if(this.options.removeNSPrefix){let I=g.indexOf(":");I!==-1&&(g=g.substr(I+1))}this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&(i=this.saveTextToParentTag(i,A,r));let o=r.substring(r.lastIndexOf(".")+1);if(g&&this.options.unpairedTags.indexOf(g)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${g}>`);let a=0;o&&this.options.unpairedTags.indexOf(o)!==-1?(a=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):a=r.lastIndexOf("."),r=r.substring(0,a),A=this.tagsNodeStack.pop(),i="",n=s}else if(e[n+1]==="?"){let s=cr(e,n,!1,"?>");if(!s)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,A,r),!(this.options.ignoreDeclaration&&s.tagName==="?xml"||this.options.ignorePiTags)){let g=new PA(s.tagName);g.add(this.options.textNodeName,""),s.tagName!==s.tagExp&&s.attrExpPresent&&(g[":@"]=this.buildAttributesMap(s.tagExp,r,s.tagName)),this.addChild(A,g,r)}n=s.closeIndex+1}else if(e.substr(n+1,3)==="!--"){let s=eA(e,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let g=e.substring(n+4,s-2);i=this.saveTextToParentTag(i,A,r),A.add(this.options.commentPropName,[{[this.options.textNodeName]:g}])}n=s}else if(e.substr(n+1,2)==="!D"){let s=mc(e,n);this.docTypeEntities=s.entities,n=s.i}else if(e.substr(n+1,2)==="!["){let s=eA(e,"]]>",n,"CDATA is not closed.")-2,g=e.substring(n+9,s);i=this.saveTextToParentTag(i,A,r);let o=this.parseTextData(g,A.tagname,r,!0,!1,!0,!0);o==null&&(o=""),this.options.cdataPropName?A.add(this.options.cdataPropName,[{[this.options.textNodeName]:g}]):A.add(this.options.textNodeName,o),n=s+2}else{let s=cr(e,n,this.options.removeNSPrefix),g=s.tagName,o=s.rawTagName,a=s.tagExp,I=s.attrExpPresent,c=s.closeIndex;this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&i&&A.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,A,r,!1));let f=A;if(f&&this.options.unpairedTags.indexOf(f.tagname)!==-1&&(A=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),g!==t.tagname&&(r+=r?"."+g:g),this.isItStopNode(this.options.stopNodes,r,g)){let h="";if(a.length>0&&a.lastIndexOf("/")===a.length-1)g[g.length-1]==="/"?(g=g.substr(0,g.length-1),r=r.substr(0,r.length-1),a=g):a=a.substr(0,a.length-1),n=s.closeIndex;else if(this.options.unpairedTags.indexOf(g)!==-1)n=s.closeIndex;else{let B=this.readStopNodeData(e,o,c+1);if(!B)throw new Error(`Unexpected end of ${o}`);n=B.i,h=B.tagContent}let u=new PA(g);g!==a&&I&&(u[":@"]=this.buildAttributesMap(a,r,g)),h&&(h=this.parseTextData(h,g,r,!0,I,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),u.add(this.options.textNodeName,h),this.addChild(A,u,r)}else{if(a.length>0&&a.lastIndexOf("/")===a.length-1){g[g.length-1]==="/"?(g=g.substr(0,g.length-1),r=r.substr(0,r.length-1),a=g):a=a.substr(0,a.length-1),this.options.transformTagName&&(g=this.options.transformTagName(g));let h=new PA(g);g!==a&&I&&(h[":@"]=this.buildAttributesMap(a,r,g)),this.addChild(A,h,r),r=r.substr(0,r.lastIndexOf("."))}else{let h=new PA(g);this.tagsNodeStack.push(A),g!==a&&I&&(h[":@"]=this.buildAttributesMap(a,r,g)),this.addChild(A,h,r),A=h}i="",n=c}}else i+=e[n];return t.child};function Rc(e,t,A){let i=this.options.updateTag(t.tagname,A,t[":@"]);i===!1||(typeof i=="string"&&(t.tagname=i),e.addChild(t))}var Tc=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let A=this.docTypeEntities[t];e=e.replace(A.regx,A.val)}for(let t in this.lastEntities){let A=this.lastEntities[t];e=e.replace(A.regex,A.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let A=this.htmlEntities[t];e=e.replace(A.regex,A.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function vc(e,t,A,i){return e&&(i===void 0&&(i=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,A,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,i),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function Gc(e,t,A){let i="*."+A;for(let r in e){let n=e[r];if(i===n||t===n)return!0}return!1}function Uc(e,t,A=">"){let i,r="";for(let n=t;n<e.length;n++){let l=e[n];if(i)l===i&&(i="");else if(l==='"'||l==="'")i=l;else if(l===A[0])if(A[1]){if(e[n+1]===A[1])return{data:r,index:n}}else return{data:r,index:n};else l===" "&&(l=" ");r+=l}}function eA(e,t,A,i){let r=e.indexOf(t,A);if(r===-1)throw new Error(i);return r+t.length-1}function cr(e,t,A,i=">"){let r=Uc(e,t+1,i);if(!r)return;let n=r.data,l=r.index,s=n.search(/\s/),g=n,o=!0;s!==-1&&(g=n.substring(0,s),n=n.substring(s+1).trimStart());let a=g;if(A){let I=g.indexOf(":");I!==-1&&(g=g.substr(I+1),o=g!==r.data.substr(I+1))}return{tagName:g,tagExp:n,closeIndex:l,attrExpPresent:o,rawTagName:a}}function Lc(e,t,A){let i=A,r=1;for(;A<e.length;A++)if(e[A]==="<")if(e[A+1]==="/"){let n=eA(e,">",A,`${t} is not closed`);if(e.substring(A+2,n).trim()===t&&(r--,r===0))return{tagContent:e.substring(i,A),i:n};A=n}else if(e[A+1]==="?")A=eA(e,"?>",A+1,"StopNode is not closed.");else if(e.substr(A+1,3)==="!--")A=eA(e,"-->",A+3,"StopNode is not closed.");else if(e.substr(A+1,2)==="![")A=eA(e,"]]>",A,"StopNode is not closed.")-2;else{let n=cr(e,A,">");n&&((n&&n.tagName)===t&&n.tagExp[n.tagExp.length-1]!=="/"&&r++,A=n.closeIndex)}}function Ir(e,t,A){if(t&&typeof e=="string"){let i=e.trim();return i==="true"?!0:i==="false"?!1:_c(e,A)}else return js.isExist(e)?e:""}$s.exports=fr});var ta=Z(Aa=>{"use strict";function Mc(e,t){return ea(e,t)}function ea(e,t,A){let i,r={};for(let n=0;n<e.length;n++){let l=e[n],s=Oc(l),g="";if(A===void 0?g=s:g=A+"."+s,s===t.textNodeName)i===void 0?i=l[s]:i+=""+l[s];else{if(s===void 0)continue;if(l[s]){let o=ea(l[s],t,g),a=Yc(o,t);l[":@"]?qc(o,l[":@"],g,t):Object.keys(o).length===1&&o[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?o=o[t.textNodeName]:Object.keys(o).length===0&&(t.alwaysCreateTextNode?o[t.textNodeName]="":o=""),r[s]!==void 0&&r.hasOwnProperty(s)?(Array.isArray(r[s])||(r[s]=[r[s]]),r[s].push(o)):t.isArray(s,g,a)?r[s]=[o]:r[s]=o}}}return typeof i=="string"?i.length>0&&(r[t.textNodeName]=i):i!==void 0&&(r[t.textNodeName]=i),r}function Oc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(i!==":@")return i}}function qc(e,t,A,i){if(t){let r=Object.keys(t),n=r.length;for(let l=0;l<n;l++){let s=r[l];i.isArray(s,A+"."+s,!0,!0)?e[s]=[t[s]]:e[s]=t[s]}}}function Yc(e,t){let{textNodeName:A}=t,i=Object.keys(e).length;return!!(i===0||i===1&&(e[A]||typeof e[A]=="boolean"||e[A]===0))}Aa.prettify=Mc});var ra=Z((lu,ia)=>{var{buildOptions:Hc}=Hs(),Jc=Ws(),{prettify:Kc}=ta(),Vc=sr(),hr=class{constructor(t){this.externalEntities={},this.options=Hc(t)}parse(t,A){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(A){A===!0&&(A={});let n=Vc.validate(t,A);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let i=new Jc(this.options);i.addExternalEntities(this.externalEntities);let r=i.parseXml(t);return this.options.preserveOrder||r===void 0?r:Kc(r,this.options)}addEntity(t,A){if(A.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(A==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=A}};ia.exports=hr});var ga=Z((fu,aa)=>{var Pc=`
|
|
13
|
-
`;function zc(e,t){let A="";return t.format&&t.indentBy.length>0&&(A=Pc),oa(e,t,"",A)}function oa(e,t,A,i){let r="",n=!1;for(let l=0;l<e.length;l++){let s=e[l],g=Zc(s);if(g===void 0)continue;let o="";if(A.length===0?o=g:o=`${A}.${g}`,g===t.textNodeName){let h=s[g];Xc(o,t)||(h=t.tagValueProcessor(g,h),h=sa(h,t)),n&&(r+=i),r+=h,n=!1;continue}else if(g===t.cdataPropName){n&&(r+=i),r+=`<![CDATA[${s[g][0][t.textNodeName]}]]>`,n=!1;continue}else if(g===t.commentPropName){r+=i+`<!--${s[g][0][t.textNodeName]}-->`,n=!0;continue}else if(g[0]==="?"){let h=na(s[":@"],t),u=g==="?xml"?"":i,B=s[g][0][t.textNodeName];B=B.length!==0?" "+B:"",r+=u+`<${g}${B}${h}?>`,n=!0;continue}let a=i;a!==""&&(a+=t.indentBy);let I=na(s[":@"],t),c=i+`<${g}${I}`,f=oa(s[g],t,o,a);t.unpairedTags.indexOf(g)!==-1?t.suppressUnpairedNode?r+=c+">":r+=c+"/>":(!f||f.length===0)&&t.suppressEmptyNode?r+=c+"/>":f&&f.endsWith(">")?r+=c+`>${f}${i}</${g}>`:(r+=c+">",f&&i!==""&&(f.includes("/>")||f.includes("</"))?r+=i+t.indentBy+f+i:r+=f,r+=`</${g}>`),n=!0}return r}function Zc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(e.hasOwnProperty(i)&&i!==":@")return i}}function na(e,t){let A="";if(e&&!t.ignoreAttributes)for(let i in e){if(!e.hasOwnProperty(i))continue;let r=t.attributeValueProcessor(i,e[i]);r=sa(r,t),r===!0&&t.suppressBooleanAttributes?A+=` ${i.substr(t.attributeNamePrefix.length)}`:A+=` ${i.substr(t.attributeNamePrefix.length)}="${r}"`}return A}function Xc(e,t){e=e.substr(0,e.length-t.textNodeName.length-1);let A=e.substr(e.lastIndexOf(".")+1);for(let i in t.stopNodes)if(t.stopNodes[i]===e||t.stopNodes[i]==="*."+A)return!0;return!1}function sa(e,t){if(e&&e.length>0&&t.processEntities)for(let A=0;A<t.entities.length;A++){let i=t.entities[A];e=e.replace(i.regex,i.val)}return e}aa.exports=zc});var fa=Z((cu,la)=>{"use strict";var jc=ga(),$c=lr(),Wc={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ke(e){this.options=Object.assign({},Wc,e),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=$c(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tI),this.processTextOrObjNode=eI,this.options.format?(this.indentate=AI,this.tagEndChar=`>
|
|
14
|
-
`,this.newLine=`
|
|
15
|
-
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ke.prototype.build=function(e){return this.options.preserveOrder?jc(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)};Ke.prototype.j2x=function(e,t,A){let i="",r="",n=A.join(".");for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l))if(typeof e[l]>"u")this.isAttribute(l)&&(r+="");else if(e[l]===null)this.isAttribute(l)?r+="":l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(e[l]instanceof Date)r+=this.buildTextValNode(e[l],l,"",t);else if(typeof e[l]!="object"){let s=this.isAttribute(l);if(s&&!this.ignoreAttributesFn(s,n))i+=this.buildAttrPairStr(s,""+e[l]);else if(!s)if(l===this.options.textNodeName){let g=this.options.tagValueProcessor(l,""+e[l]);r+=this.replaceEntitiesValue(g)}else r+=this.buildTextValNode(e[l],l,"",t)}else if(Array.isArray(e[l])){let s=e[l].length,g="",o="";for(let a=0;a<s;a++){let I=e[l][a];if(!(typeof I>"u"))if(I===null)l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(typeof I=="object")if(this.options.oneListGroup){let c=this.j2x(I,t+1,A.concat(l));g+=c.val,this.options.attributesGroupName&&I.hasOwnProperty(this.options.attributesGroupName)&&(o+=c.attrStr)}else g+=this.processTextOrObjNode(I,l,t,A);else if(this.options.oneListGroup){let c=this.options.tagValueProcessor(l,I);c=this.replaceEntitiesValue(c),g+=c}else g+=this.buildTextValNode(I,l,"",t)}this.options.oneListGroup&&(g=this.buildObjectNode(g,l,o,t)),r+=g}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let s=Object.keys(e[l]),g=s.length;for(let o=0;o<g;o++)i+=this.buildAttrPairStr(s[o],""+e[l][s[o]])}else r+=this.processTextOrObjNode(e[l],l,t,A);return{attrStr:i,val:r}};Ke.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+e:" "+e+'="'+t+'"'};function eI(e,t,A,i){let r=this.j2x(e,A+1,i.concat(t));return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,A):this.buildObjectNode(r.val,t,r.attrStr,A)}Ke.prototype.buildObjectNode=function(e,t,A,i){if(e==="")return t[0]==="?"?this.indentate(i)+"<"+t+A+"?"+this.tagEndChar:this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,n="";return t[0]==="?"&&(n="?",r=""),(A||A==="")&&e.indexOf("<")===-1?this.indentate(i)+"<"+t+A+n+">"+e+r:this.options.commentPropName!==!1&&t===this.options.commentPropName&&n.length===0?this.indentate(i)+`<!--${e}-->`+this.newLine:this.indentate(i)+"<"+t+A+n+this.tagEndChar+e+this.indentate(i)+r}};Ke.prototype.closeTag=function(e){let t="";return this.options.unpairedTags.indexOf(e)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${e}`,t};Ke.prototype.buildTextValNode=function(e,t,A,i){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(i)+`<![CDATA[${e}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(i)+`<!--${e}-->`+this.newLine;if(t[0]==="?")return this.indentate(i)+"<"+t+A+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),r===""?this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar:this.indentate(i)+"<"+t+A+">"+r+"</"+t+this.tagEndChar}};Ke.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let A=this.options.entities[t];e=e.replace(A.regex,A.val)}return e};function AI(e){return this.options.indentBy.repeat(e)}function tI(e){return e.startsWith(this.options.attributeNamePrefix)&&e!==this.options.textNodeName?e.substr(this.attrPrefixLen):!1}la.exports=Ke});var Ia=Z((Iu,ca)=>{"use strict";var iI=sr(),rI=ra(),nI=fa();ca.exports={XMLParser:rI,XMLValidator:iI,XMLBuilder:nI}});var zA={};Te(zA,{GeoTIFFLoader:()=>ms,TiffPixelSource:()=>dA,loadGeoTiff:()=>Ca});jA(zA,ve(Er(),1));var Cr="Cannot convert undefined or null to object";function K(e){return(t,...A)=>xa(e,t,A)}function AA(e,t){return K($A(e,t).get)}var{apply:xa,construct:cI,defineProperty:II,get:hI,getOwnPropertyDescriptor:$A,getPrototypeOf:WA,has:uI,ownKeys:Qr,set:BI,setPrototypeOf:EI}=Reflect;var{EPSILON:pr,MAX_SAFE_INTEGER:CI,isFinite:Da,isNaN:ba}=Number,{iterator:tA,species:dI,toStringTag:Sa,for:QI}=Symbol,et=Object,{create:At,defineProperty:wr,freeze:pI,is:wI}=et,Pt=et.prototype,yI=Pt.__lookupGetter__?K(Pt.__lookupGetter__):(e,t)=>{if(e==null)throw Ra(Cr);let A=et(e);do{let i=$A(A,t);if(i!==void 0)return ka(i,"get")?i.get:void 0}while((A=WA(A))!==null)},ka=et.hasOwn||K(Pt.hasOwnProperty),yr=Array,mI=yr.isArray,tt=yr.prototype,_I=K(tt.join),xI=K(tt.push),DI=K(tt.toLocaleString),zt=tt[tA],mr=K(zt),{abs:Fa,trunc:bI}=Math,it=ArrayBuffer,SI=it.isView,_r=it.prototype,kI=K(_r.slice),FI=AA(_r,"byteLength"),dr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,NI=dr&&AA(dr.prototype,"byteLength"),xr=WA(Uint8Array),RI=xr.from,re=xr.prototype,TI=re[tA],vI=K(re.keys),GI=K(re.values),UI=K(re.entries),LI=K(re.set),MI=K(re.reverse),OI=K(re.fill),qI=K(re.copyWithin),YI=K(re.sort),HI=K(re.slice),JI=K(re.subarray),KI=AA(re,"buffer"),VI=AA(re,"byteOffset"),PI=AA(re,"length"),zI=AA(re,Sa),Dr=Uint8Array,Zt=Uint16Array;var rt=Uint32Array,br=Float32Array,iA=WA([][tA]()),Xt=K(iA.next),Sr=K(function*(){}().next),kr=WA(iA),Fr=DataView.prototype,Nr=K(Fr.getUint16),Na=K(Fr.setUint16),Ra=TypeError;var Ta=WeakSet,Rr=Ta.prototype,ZI=K(Rr.add),XI=K(Rr.has),nt=WeakMap,jt=nt.prototype,$t=K(jt.get),jI=K(jt.has),Tr=K(jt.set);var vr=new nt,va=At(null,{next:{value:function(){let t=$t(vr,this);return Xt(t)}},[tA]:{value:function(){return this}}});function Gr(e){if(e[tA]===zt&&iA.next===Xt)return e;let t=At(va);return Tr(vr,t,mr(e)),t}var Ga=new nt,Ua=At(kr,{next:{value:function(){let t=$t(Ga,this);return Sr(t)},writable:!0,configurable:!0}});for(let e of Qr(iA))e!=="next"&&wr(Ua,e,$A(iA,e));var La=1/pr;var Ma=6103515625e-14;var Ur=.0009765625,th=Ur*Ma,ih=Ur*La;var Lr=new it(4),Oa=new br(Lr),qa=new rt(Lr),Ce=new Zt(512),de=new Dr(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(Ce[e]=0,Ce[e|256]=32768,de[e]=24,de[e|256]=24):t<-14?(Ce[e]=1024>>-t-14,Ce[e|256]=1024>>-t-14|32768,de[e]=-t-1,de[e|256]=-t-1):t<=15?(Ce[e]=t+15<<10,Ce[e|256]=t+15<<10|32768,de[e]=13,de[e|256]=13):t<128?(Ce[e]=31744,Ce[e|256]=64512,de[e]=24,de[e|256]=24):(Ce[e]=31744,Ce[e|256]=64512,de[e]=13,de[e|256]=13)}var Wt=new rt(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,Wt[e]=t|A}for(let e=1024;e<2048;++e)Wt[e]=939524096+(e-1024<<13);var rA=new rt(64);for(let e=1;e<31;++e)rA[e]=e<<23;rA[31]=1199570944;rA[32]=2147483648;for(let e=33;e<63;++e)rA[e]=2147483648+(e-32<<23);rA[63]=3347054592;var Mr=new Zt(64);for(let e=1;e<64;++e)e!==32&&(Mr[e]=1024);function Or(e){let t=e>>10;return qa[0]=Wt[Mr[t]+(e&1023)]+rA[t],Oa[0]}function QA(e,t,...A){return Or(Nr(e,t,...Gr(A)))}var Lt=ve(Yr(),1),is=ve(Wr(),1);st();function rn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=256-e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function nn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function on(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,g=0;s<e.length;++s,g+=3){let o=e[s];r[g]=t[o]/65536*256,r[g+1]=t[o+n]/65536*256,r[g+2]=t[o+l]/65536*256}return r}function sn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=4,n+=3){let l=e[r],s=e[r+1],g=e[r+2],o=e[r+3];i[n]=255*((255-l)/256)*((255-o)/256),i[n+1]=255*((255-s)/256)*((255-o)/256),i[n+2]=255*((255-g)/256)*((255-o)/256)}return i}function an(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r],s=e[r+1],g=e[r+2];i[n]=l+1.402*(g-128),i[n+1]=l-.34414*(s-128)-.71414*(g-128),i[n+2]=l+1.772*(s-128)}return i}var Ka=.95047,Va=1,Pa=1.08883;function gn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r+0],s=e[r+1]<<24>>24,g=e[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,I=o-g/200,c,f,h;a=Ka*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=Va*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),I=Pa*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=a*3.2406+o*-1.5372+I*-.4986,f=a*-.9689+o*1.8758+I*.0415,h=a*.0557+o*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[n]=Math.max(0,Math.min(1,c))*255,i[n+1]=Math.max(0,Math.min(1,f))*255,i[n+2]=Math.max(0,Math.min(1,h))*255}return i}var Wo=new Map;function Ye(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Wo.set(A,t))}async function es(e){let t=Wo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}Ye([void 0,1],()=>Promise.resolve().then(()=>(In(),cn)).then(e=>e.default));Ye(5,()=>Promise.resolve().then(()=>(Bn(),un)).then(e=>e.default));Ye(6,()=>{throw new Error("old style JPEG compression is not supported.")});Ye(7,()=>Promise.resolve().then(()=>(dn(),Cn)).then(e=>e.default));Ye([8,32946],()=>Promise.resolve().then(()=>(qo(),Oo)).then(e=>e.default));Ye(32773,()=>Promise.resolve().then(()=>(Ho(),Yo)).then(e=>e.default));Ye(34887,()=>Promise.resolve().then(()=>(Xo(),Zo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));Ye(50001,()=>Promise.resolve().then(()=>($o(),jo)).then(e=>e.default));function Ut(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function vf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(n*I),t-1),f=s[a*t+c];g[o*i+I]=f}}return g})}function BA(e,t,A){return(1-A)*e+A*t}function Gf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=l*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=n*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1),C=s[I*t+B],p=s[I*t+Q],w=s[c*t+B],d=s[c*t+Q],E=BA(BA(C,p,u),BA(w,d,u),a%1);g[o*i+f]=E}}return g})}function As(e,t,A,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return vf(e,t,A,i,r);case"bilinear":case"linear":return Gf(e,t,A,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Uf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(l*I),t-1);for(let f=0;f<n;++f){let h=e[a*t*n+c*n+f];g[o*i*n+I*n+f]=h}}}return g}function Lf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=s*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=l*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1);for(let C=0;C<n;++C){let p=e[I*t*n+B*n+C],w=e[I*t*n+Q*n+C],d=e[c*t*n+B*n+C],E=e[c*t*n+Q*n+C],m=BA(BA(p,w,u),BA(d,E,u),a%1);g[o*i*n+f*n+C]=m}}}return g}function ts(e,t,A,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return Uf(e,t,A,i,r,n);case"bilinear":case"linear":return Lf(e,t,A,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Mf(e,t,A){let i=0;for(let r=t;r<A;++r)i+=e[r];return i}function Ki(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Of(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function qf(e,t,A,i,r,n,l){let s=new DataView(e),g=A===2?l*n:l*n*i,o=A===2?1:i,a=Ki(t,r,g),I=parseInt("1".repeat(r),2);if(t===1){let c;A===1?c=i*r:c=r;let f=n*c;f&7&&(f=f+7&-8);for(let h=0;h<l;++h){let u=h*f;for(let B=0;B<n;++B){let Q=u+B*o*r;for(let C=0;C<o;++C){let p=Q+C*r,w=(h*n+B)*o+C,d=Math.floor(p/8),E=p%8;if(E+r<=8)a[w]=s.getUint8(d)>>8-r-E&I;else if(E+r<=16)a[w]=s.getUint16(d)>>16-r-E&I;else if(E+r<=24){let m=s.getUint16(d)<<8|s.getUint8(d+2);a[w]=m>>24-r-E&I}else a[w]=s.getUint32(d)>>32-r-E&I}}}}return a.buffer}var Vi=class{constructor(t,A,i,r,n,l){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=r,this.tiles=n?{}:null,this.isTiled=!t.StripOffsets;let s=t.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(r,n){return QA(this,r,n)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Ki(i,r,A)}async getTileOrStrip(t,A,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),g,{tiles:o}=this;this.planarConfiguration===1?g=A*l+t:this.planarConfiguration===2&&(g=i*l*s+A*l+t);let a,I;this.isTiled?(a=this.fileDirectory.TileOffsets[g],I=this.fileDirectory.TileByteCounts[g]):(a=this.fileDirectory.StripOffsets[g],I=this.fileDirectory.StripByteCounts[g]);let c=(await this.source.fetch([{offset:a,length:I}],n))[0],f;return o===null||!o[g]?(f=(async()=>{let h=await r.decode(this.fileDirectory,c),u=this.getSampleFormat(),B=this.getBitsPerSample();return Of(u,B)&&(h=qf(h,u,this.planarConfiguration,this.getSamplesPerPixel(),B,this.getTileWidth(),this.getBlockHeight(A))),h})(),o!==null&&(o[g]=f)):f=o[g],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,r,n,l,s,g,o){let a=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/a),0),u=Math.min(Math.ceil(t[2]/a),Math.ceil(c/a)),B=Math.max(Math.floor(t[1]/I),0),Q=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),C=t[2]-t[0],p=this.getBytesPerPixel(),w=[],d=[];for(let y=0;y<A.length;++y)this.planarConfiguration===1?w.push(Mf(this.fileDirectory.BitsPerSample,0,A[y])/8):w.push(0),d.push(this.getReaderForSample(A[y]));let E=[],{littleEndian:m}=this;for(let y=B;y<Q;++y)for(let b=h;b<u;++b){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(b,y,0,n,o));for(let D=0;D<A.length;++D){let k=D,O=A[D];this.planarConfiguration===2&&(p=this.getSampleByteSize(O),x=this.getTileOrStrip(b,y,O,n,o));let S=x.then(_=>{let N=_.data,L=new DataView(N),F=this.getBlockHeight(_.y),T=_.y*I,R=_.x*a,Y=T+F,J=(_.x+1)*a,z=d[k],U=Math.min(F,F-(Y-t[3]),f-T),v=Math.min(a,a-(J-t[2]),c-R);for(let G=Math.max(0,t[1]-T);G<U;++G)for(let V=Math.max(0,t[0]-R);V<v;++V){let P=(G*a+V)*p,$=z.call(L,P+w[k],m),j;r?(j=(G+T-t[1])*C*A.length+(V+R-t[0])*A.length+k,i[j]=$):(j=(G+T-t[1])*C+V+R-t[0],i[k][j]=$)}});E.push(S)}}if(await Promise.all(E),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=ts(i,t[2]-t[0],t[3]-t[1],l,s,A.length,g):y=As(i,t[2]-t[0],t[3]-t[1],l,s,g),y.width=l,y.height=s,y}return i.width=l||t[2]-t[0],i.height=s||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:g,signal:o}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let I=a[2]-a[0],c=a[3]-a[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let C=0;C<h;++C)A.push(C);else for(let C=0;C<A.length;++C)if(A[C]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[C]}'.`));let u;if(i){let C=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,p=Math.max.apply(null,this.fileDirectory.BitsPerSample);u=Ki(C,p,f*A.length),g&&u.fill(g)}else{u=[];for(let C=0;C<A.length;++C){let p=this.getArrayForSample(A[C],f);Array.isArray(g)&&C<g.length?p.fill(g[C]):g&&!Array.isArray(g)&&p.fill(g),u.push(p)}}let B=r||await es(this.fileDirectory);return await this._readRaster(a,A,u,i,B,n,l,s,o)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:g}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let a=this.fileDirectory.PhotometricInterpretation;if(a===se.RGB){let Q=[0,1,2];if(this.fileDirectory.ExtraSamples!==An.Unspecified&&s){Q=[];for(let C=0;C<this.fileDirectory.BitsPerSample.length;C+=1)Q.push(C)}return this.readRasters({window:t,interleave:A,samples:Q,pool:i,width:r,height:n,resampleMethod:l,signal:g})}let I;switch(a){case se.WhiteIsZero:case se.BlackIsZero:case se.Palette:I=[0];break;case se.CMYK:I=[0,1,2,3];break;case se.YCbCr:case se.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:o,interleave:!0,samples:I,pool:i,width:r,height:n,resampleMethod:l,signal:g},{fileDirectory:f}=this,h=await this.readRasters(c),u=2**this.fileDirectory.BitsPerSample[0],B;switch(a){case se.WhiteIsZero:B=rn(h,u);break;case se.BlackIsZero:B=nn(h,u);break;case se.Palette:B=on(h,f.ColorMap);break;case se.CMYK:B=sn(h);break;case se.YCbCr:B=an(h);break;case se.CIELab:B=gn(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let Q=new Uint8Array(B.length/3),C=new Uint8Array(B.length/3),p=new Uint8Array(B.length/3);for(let w=0,d=0;w<B.length;w+=3,++d)Q[d]=B[w],C[d]=B[w+1],p[d]=B[w+2];B=[Q,C,p]}return B.width=h.width,B.height=h.height,B}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,is.default)(i,"Item");t===null?r=r.filter(n=>(0,Lt.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Lt.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];A[(0,Lt.default)(l,"name")]=l.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[r,n,l]=t.getResolution();return[r*t.getWidth()/this.getWidth(),n*t.getHeight()/this.getHeight(),l*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[r,n,l,s,g,o,a,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([B,Q])=>[s+r*B+n*Q,I+g*B+o*Q]),h=f.map(B=>B[0]),u=f.map(B=>B[1]);return[Math.min(...h),Math.min(...u),Math.max(...h),Math.max(...u)]}else{let r=this.getOrigin(),n=this.getResolution(),l=r[0],s=r[1],g=l+n[0]*i,o=s+n[1]*A;return[Math.min(l,g),Math.min(s,o),Math.max(l,g),Math.max(s,o)]}}},rs=Vi;var YA=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),r=this.getUint32(t+4,A),n;if(A){if(n=i+2**32*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*i+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}getInt64(t,A){let i=0,r=(this._dataView.getUint8(t+(A?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(A?l:7-l));r&&(n?s!==0&&(s=~(s-1)&255,n=!1):s=~s&255),i+=s*256**l}return r&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return QA(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var HA=class{constructor(t,A,i,r){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=r}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=A+2**32*i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*A+i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,r=!0;for(let n=0;n<8;n++){let l=this._dataView.getUint8(t+(this._littleEndian?n:7-n));i&&(r?l!==0&&(l=~(l-1)&255,r=!1):l=~l&255),A+=l*256**n}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var ns=`\r
|
|
7
|
+
"use strict";var __exports__=(()=>{var ea=Object.create;var At=Object.defineProperty;var Aa=Object.getOwnPropertyDescriptor;var ta=Object.getOwnPropertyNames;var ia=Object.getPrototypeOf,na=Object.prototype.hasOwnProperty;var ue=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ve=(e,t)=>{for(var A in t)At(e,A,{get:t[A],enumerable:!0})},et=(e,t,A,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ta(t))!na.call(e,n)&&n!==A&&At(e,n,{get:()=>t[n],enumerable:!(i=Aa(t,n))||i.enumerable});return e},tt=(e,t,A)=>(et(e,t,"default"),A&&et(A,t,"default")),Ve=(e,t,A)=>(A=e!=null?ea(ia(e)):{},et(t||!e||!e.__esModule?At(A,"default",{value:e,enumerable:!0}):A,e)),ra=e=>et(At({},"__esModule",{value:!0}),e);var pn=Ce((Ic,Qn)=>{Qn.exports=globalThis.loaders});var Vn=Ce((BI,oi)=>{function Kn(e,t,A){let i=A&&A.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+e);let n=typeof e=="object"?e.outer:e,r=n.slice(0,n.indexOf(">")+1),g=['"',"'"];for(let a=0;a<g.length;a++){let l=g[a],o=t+"\\="+l+"([^"+l+"]*)"+l;i&&console.log("[xml-utils] pattern:",o);let I=new RegExp(o).exec(r);if(i&&console.log("[xml-utils] match:",I),I)return I[1]}}oi.exports=Kn;oi.exports.default=Kn});var Pn=Ce((CI,si)=>{function zn(e,t,A){let n=new RegExp(t).exec(e.slice(A));return n?A+n.index:-1}si.exports=zn;si.exports.default=zn});var Xn=Ce((dI,ai)=>{function Zn(e,t,A){let n=new RegExp(t).exec(e.slice(A));return n?A+n.index+n[0].length-1:-1}ai.exports=Zn;ai.exports.default=Zn});var Wn=Ce((QI,gi)=>{function jn(e,t){let A=new RegExp(t,"g"),i=e.match(A);return i?i.length:0}gi.exports=jn;gi.exports.default=jn});var Ar=Ce((pI,fi)=>{var wa=Pn(),li=Xn(),$n=Wn();function er(e,t,A){let i=A&&A.debug||!1,n=!(A&&typeof A.nested===!1),r=A&&A.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",A);let g=wa(e,`<${t}[
|
|
8
|
+
>/]`,r);if(i&&console.log("[xml-utils] start:",g),g===-1)return;let a=e.slice(g+t.length),l=li(a,"^[^<]*[ /]>",0),o=l!==-1&&a[l-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",o),o===!1)if(n){let f=0,h=1,E=0;for(;(l=li(a,"[ /]"+t+">",f))!==-1;){let u=a.substring(f,l+1);if(h+=$n(u,"<"+t+`[
|
|
9
|
+
>]`),E+=$n(u,"</"+t+">"),E>=h)break;f=l}}else l=li(a,"[ /]"+t+">",0);let s=g+t.length+l+1;if(i&&console.log("[xml-utils] end:",s),s===-1)return;let I=e.slice(g,s),c;return o?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:g,end:s}}fi.exports=er;fi.exports.default=er});var ir=Ce((wI,ci)=>{var ya=Ar();function tr(e,t,A){let i=[],n=A&&A.debug||!1,r=A&&typeof A.nested=="boolean"?A.nested:!0,g=A&&A.startIndex||0,a;for(;a=ya(e,t,{debug:n,startIndex:g});)r?g=a.start+1+t.length:g=a.end,i.push(a);return n&&console.log("findTagsByName found",i.length,"tags"),i}ci.exports=tr;ci.exports.default=tr});var oA,we,nr,Ii,M,oe,rr,or,ft,_A,_a,ct=ue(()=>{oA={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},we={};for(let e in oA)oA.hasOwnProperty(e)&&(we[oA[e]]=parseInt(e,10));nr=[we.BitsPerSample,we.ExtraSamples,we.SampleFormat,we.StripByteCounts,we.StripOffsets,we.StripRowCounts,we.TileByteCounts,we.TileOffsets,we.SubIFDs],Ii={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},M={};for(let e in Ii)Ii.hasOwnProperty(e)&&(M[Ii[e]]=parseInt(e,10));oe={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},rr={Unspecified:0,Assocalpha:1,Unassalpha:2},or={Version:0,AddCompression:1},ft={None:0,Deflate:1,Zstandard:2},_A={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},_a={};for(let e in _A)_A.hasOwnProperty(e)&&(_a[_A[e]]=parseInt(e,10))});function ba(e,t){let A=e.length-t,i=0;do{for(let n=t;n>0;n--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Sa(e,t,A){let i=0,n=e.length,r=n/A;for(;n>t;){for(let a=t;a>0;--a)e[i+t]+=e[i],++i;n-=t}let g=e.slice();for(let a=0;a<r;++a)for(let l=0;l<A;++l)e[A*a+l]=g[(A-l-1)*r+a]}function Ir(e,t,A,i,n,r){if(!t||t===1)return e;for(let l=0;l<n.length;++l){if(n[l]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(n[l]!==n[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let g=n[0]/8,a=r===2?1:n.length;for(let l=0;l<i&&!(l*a*A*g>=e.byteLength);++l){let o;if(t===2){switch(n[0]){case 8:o=new Uint8Array(e,l*a*A*g,a*A*g);break;case 16:o=new Uint16Array(e,l*a*A*g,a*A*g/2);break;case 32:o=new Uint32Array(e,l*a*A*g,a*A*g/4);break;default:throw new Error(`Predictor 2 not allowed with ${n[0]} bits per sample.`)}ba(o,a,g)}else t===3&&(o=new Uint8Array(e,l*a*A*g,a*A*g),Sa(o,a,g))}return e}var hr=ue(()=>{});var ee,Ue=ue(()=>{hr();ee=class{async decode(t,A){let i=await this.decodeBlock(A),n=t.Predictor||1;if(n!==1){let r=!t.StripOffsets,g=r?t.TileWidth:t.ImageWidth,a=r?t.TileLength:t.RowsPerStrip||t.ImageLength;return Ir(i,n,g,a,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var ur={};ve(ur,{default:()=>It});var It,Er=ue(()=>{Ue();It=class extends ee{decodeBlock(t){return t}}});var Cr={};ve(Cr,{default:()=>ht});function Fa(e,t,A){let i=t%8,n=Math.floor(t/8),r=8-i,g=t+A-(n+1)*8,a=8*(n+2)-(t+A),l=(n+2)*8-t;if(a=Math.max(0,a),n>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),Ei;let o=e[n]&2**(8-i)-1;o<<=A-r;let s=o;if(n+1<e.length){let I=e[n+1]>>>a;I<<=Math.max(0,A-l),s+=I}if(g>8&&n+2<e.length){let I=(n+3)*8-(t+A),c=e[n+2]>>>I;s+=c}return s}function ui(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function Na(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,n=Br,r=0;function g(){i=258,n=Br}function a(h){let E=Fa(h,r,n);return r+=n,E}function l(h,E){return A[i]=E,t[i]=h,i++,i-1}function o(h){let E=[];for(let u=h;u!==4096;u=t[u])E.push(A[u]);return E}let s=[];g();let I=new Uint8Array(e),c=a(I),f;for(;c!==Ei;){if(c===hi){for(g(),c=a(I);c===hi;)c=a(I);if(c===Ei)break;if(c>hi)throw new Error(`corrupted code at scanline ${c}`);{let h=o(c);ui(s,h),f=c}}else if(c<i){let h=o(c);ui(s,h),l(f,h[h.length-1]),f=c}else{let h=o(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${r}`);ui(s,h),s.push(h[h.length-1]),l(f,h[h.length-1]),f=c}i+1>=2**n&&(n===ka?f=void 0:n++),c=a(I)}return new Uint8Array(s)}var Br,hi,Ei,ka,ht,dr=ue(()=>{Ue();Br=9,hi=256,Ei=257,ka=12;ht=class extends ee{decodeBlock(t){return Na(t,!1).buffer}}});var pr={};ve(pr,{default:()=>wt});function Qr(e,t){let A=0,i=[],n=16;for(;n>0&&!e[n-1];)--n;i.push({children:[],index:0});let r=i[0],g;for(let a=0;a<n;a++){for(let l=0;l<e[a];l++){for(r=i.pop(),r.children[r.index]=t[A];r.index>0;)r=i.pop();for(r.index++,i.push(r);i.length<=a;)i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g;A++}a+1<n&&(i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g)}return i[0].children}function Ra(e,t,A,i,n,r,g,a,l){let{mcusPerLine:o,progressive:s}=A,I=t,c=t,f=0,h=0;function E(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let L=e[c++];if(L)throw new Error(`unexpected marker: ${(f<<8|L).toString(16)}`)}return h=7,f>>>7}function u(L){let v=L,U;for(;(U=E())!==null;){if(v=v[U],typeof v=="number")return v;if(typeof v!="object")throw new Error("invalid huffman sequence")}return null}function Q(L){let v=L,U=0;for(;v>0;){let V=E();if(V===null)return;U=U<<1|V,--v}return U}function C(L){let v=Q(L);return v>=1<<L-1?v:v+(-1<<L)+1}function p(L,v){let U=u(L.huffmanTableDC),V=U===0?0:C(U);L.pred+=V,v[0]=L.pred;let z=1;for(;z<64;){let j=u(L.huffmanTableAC),X=j&15,te=j>>4;if(X===0){if(te<15)break;z+=16}else{z+=te;let Ie=mA[z];v[Ie]=C(X),z++}}}function w(L,v){let U=u(L.huffmanTableDC),V=U===0?0:C(U)<<l;L.pred+=V,v[0]=L.pred}function d(L,v){v[0]|=E()<<l}let B=0;function _(L,v){if(B>0){B--;return}let U=r,V=g;for(;U<=V;){let z=u(L.huffmanTableAC),j=z&15,X=z>>4;if(j===0){if(X<15){B=Q(X)+(1<<X)-1;break}U+=16}else{U+=X;let te=mA[U];v[te]=C(j)*(1<<l),U++}}}let y=0,b;function x(L,v){let U=r,V=g,z=0;for(;U<=V;){let j=mA[U],X=v[j]<0?-1:1;switch(y){case 0:{let te=u(L.huffmanTableAC),Ie=te&15;if(z=te>>4,Ie===0)z<15?(B=Q(z)+(1<<z),y=4):(z=16,y=1);else{if(Ie!==1)throw new Error("invalid ACn encoding");b=C(Ie),y=z?2:3}continue}case 1:case 2:v[j]?v[j]+=(E()<<l)*X:(z--,z===0&&(y=y===2?3:0));break;case 3:v[j]?v[j]+=(E()<<l)*X:(v[j]=b<<l,y=0);break;case 4:v[j]&&(v[j]+=(E()<<l)*X);break;default:break}U++}y===4&&(B--,B===0&&(y=0))}function D(L,v,U,V,z){let j=U/o|0,X=U%o,te=j*L.v+V,Ie=X*L.h+z;v(L,L.blocks[te][Ie])}function k(L,v,U){let V=U/L.blocksPerLine|0,z=U%L.blocksPerLine;v(L,L.blocks[V][z])}let O=i.length,S,m,N,G,F,T;s?r===0?T=a===0?w:d:T=a===0?_:x:T=p;let R=0,Y,J;O===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=o*A.mcusPerColumn;let P=n||J;for(;R<J;){for(m=0;m<O;m++)i[m].pred=0;if(B=0,O===1)for(S=i[0],F=0;F<P;F++)k(S,T,R),R++;else for(F=0;F<P;F++){for(m=0;m<O;m++){S=i[m];let{h:L,v}=S;for(N=0;N<v;N++)for(G=0;G<L;G++)D(S,T,R,N,G)}if(R++,R===J)break}if(h=0,Y=e[c]<<8|e[c+1],Y<65280)throw new Error("marker was not found");if(Y>=65488&&Y<=65495)c+=2;else break}return c-I}function Ta(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:n}=t,r=i<<3,g=new Int32Array(64),a=new Uint8Array(64);function l(o,s,I){let c=t.quantizationTable,f,h,E,u,Q,C,p,w,d,B=I,_;for(_=0;_<64;_++)B[_]=o[_]*c[_];for(_=0;_<8;++_){let y=8*_;if(B[1+y]===0&&B[2+y]===0&&B[3+y]===0&&B[4+y]===0&&B[5+y]===0&&B[6+y]===0&&B[7+y]===0){d=sA*B[0+y]+512>>10,B[0+y]=d,B[1+y]=d,B[2+y]=d,B[3+y]=d,B[4+y]=d,B[5+y]=d,B[6+y]=d,B[7+y]=d;continue}f=sA*B[0+y]+128>>8,h=sA*B[4+y]+128>>8,E=B[2+y],u=B[6+y],Q=pt*(B[1+y]-B[7+y])+128>>8,w=pt*(B[1+y]+B[7+y])+128>>8,C=B[3+y]<<4,p=B[5+y]<<4,d=f-h+1>>1,f=f+h+1>>1,h=d,d=E*Qt+u*dt+128>>8,E=E*dt-u*Qt+128>>8,u=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-u+1>>1,f=f+u+1>>1,u=d,d=h-E+1>>1,h=h+E+1>>1,E=d,d=Q*Ct+w*Bt+2048>>12,Q=Q*Bt-w*Ct+2048>>12,w=d,d=C*Et+p*ut+2048>>12,C=C*ut-p*Et+2048>>12,p=d,B[0+y]=f+w,B[7+y]=f-w,B[1+y]=h+p,B[6+y]=h-p,B[2+y]=E+C,B[5+y]=E-C,B[3+y]=u+Q,B[4+y]=u-Q}for(_=0;_<8;++_){let y=_;if(B[1*8+y]===0&&B[2*8+y]===0&&B[3*8+y]===0&&B[4*8+y]===0&&B[5*8+y]===0&&B[6*8+y]===0&&B[7*8+y]===0){d=sA*I[_+0]+8192>>14,B[0*8+y]=d,B[1*8+y]=d,B[2*8+y]=d,B[3*8+y]=d,B[4*8+y]=d,B[5*8+y]=d,B[6*8+y]=d,B[7*8+y]=d;continue}f=sA*B[0*8+y]+2048>>12,h=sA*B[4*8+y]+2048>>12,E=B[2*8+y],u=B[6*8+y],Q=pt*(B[1*8+y]-B[7*8+y])+2048>>12,w=pt*(B[1*8+y]+B[7*8+y])+2048>>12,C=B[3*8+y],p=B[5*8+y],d=f-h+1>>1,f=f+h+1>>1,h=d,d=E*Qt+u*dt+2048>>12,E=E*dt-u*Qt+2048>>12,u=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-u+1>>1,f=f+u+1>>1,u=d,d=h-E+1>>1,h=h+E+1>>1,E=d,d=Q*Ct+w*Bt+2048>>12,Q=Q*Bt-w*Ct+2048>>12,w=d,d=C*Et+p*ut+2048>>12,C=C*ut-p*Et+2048>>12,p=d,B[0*8+y]=f+w,B[7*8+y]=f-w,B[1*8+y]=h+p,B[6*8+y]=h-p,B[2*8+y]=E+C,B[5*8+y]=E-C,B[3*8+y]=u+Q,B[4*8+y]=u-Q}for(_=0;_<64;++_){let y=128+(B[_]+8>>4);y<0?s[_]=0:y>255?s[_]=255:s[_]=y}}for(let o=0;o<n;o++){let s=o<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(r));for(let I=0;I<i;I++){l(t.blocks[o][I],a,g);let c=0,f=I<<3;for(let h=0;h<8;h++){let E=A[s+h];for(let u=0;u<8;u++)E[f+u]=a[c++]}}}return A}var mA,ut,Et,Bt,Ct,dt,Qt,sA,pt,Bi,wt,wr=ue(()=>{Ue();mA=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),ut=4017,Et=799,Bt=3406,Ct=2276,dt=1567,Qt=3784,sA=5793,pt=2896;Bi=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let a=t[A]<<8|t[A+1];return A+=2,a}function n(){let a=i(),l=t.subarray(A,A+a-2);return A+=l.length,l}function r(a){let l=0,o=0,s,I;for(I in a.components)a.components.hasOwnProperty(I)&&(s=a.components[I],l<s.h&&(l=s.h),o<s.v&&(o=s.v));let c=Math.ceil(a.samplesPerLine/8/l),f=Math.ceil(a.scanLines/8/o);for(I in a.components)if(a.components.hasOwnProperty(I)){s=a.components[I];let h=Math.ceil(Math.ceil(a.samplesPerLine/8)*s.h/l),E=Math.ceil(Math.ceil(a.scanLines/8)*s.v/o),u=c*s.h,Q=f*s.v,C=[];for(let p=0;p<Q;p++){let w=[];for(let d=0;d<u;d++)w.push(new Int32Array(64));C.push(w)}s.blocksPerLine=h,s.blocksPerColumn=E,s.blocks=C}a.maxH=l,a.maxV=o,a.mcusPerLine=c,a.mcusPerColumn=f}let g=i();if(g!==65496)throw new Error("SOI not found");for(g=i();g!==65497;){switch(g){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{let a=n();g===65504&&a[0]===74&&a[1]===70&&a[2]===73&&a[3]===70&&a[4]===0&&(this.jfif={version:{major:a[5],minor:a[6]},densityUnits:a[7],xDensity:a[8]<<8|a[9],yDensity:a[10]<<8|a[11],thumbWidth:a[12],thumbHeight:a[13],thumbData:a.subarray(14,14+3*a[12]*a[13])}),g===65518&&a[0]===65&&a[1]===100&&a[2]===111&&a[3]===98&&a[4]===101&&a[5]===0&&(this.adobe={version:a[6],flags0:a[7]<<8|a[8],flags1:a[9]<<8|a[10],transformCode:a[11]});break}case 65499:{let l=i()+A-2;for(;A<l;){let o=t[A++],s=new Int32Array(64);if(o>>4)if(o>>4===1)for(let I=0;I<64;I++){let c=mA[I];s[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=mA[I];s[c]=t[A++]}this.quantizationTables[o&15]=s}break}case 65472:case 65473:case 65474:{i();let a={extended:g===65473,progressive:g===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},l=t[A++],o;for(let s=0;s<l;s++){o=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];a.componentsOrder.push(o),a.components[o]={h:I,v:c,quantizationIdx:f},A+=3}r(a),this.frames.push(a);break}case 65476:{let a=i();for(let l=2;l<a;){let o=t[A++],s=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)s[f]=t[A],I+=s[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];l+=17+I,o>>4?this.huffmanTablesAC[o&15]=Qr(s,c):this.huffmanTablesDC[o&15]=Qr(s,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let a=t[A++],l=[],o=this.frames[0];for(let h=0;h<a;h++){let E=o.components[t[A++]],u=t[A++];E.huffmanTableDC=this.huffmanTablesDC[u>>4],E.huffmanTableAC=this.huffmanTablesAC[u&15],l.push(E)}let s=t[A++],I=t[A++],c=t[A++],f=Ra(t,A,o,l,this.resetInterval,s,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${g.toString(16)}`)}g=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let s=0;s<this.frames.length;s++){let I=this.frames[s].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:n}=A,r=[],g=A.samplesPerLine,a=A.scanLines;for(let s=0;s<n.length;s++){let I=i[n[s]];r.push({lines:Ta(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let l=new Uint8Array(g*a*r.length),o=0;for(let s=0;s<a;++s)for(let I=0;I<g;++I)for(let c=0;c<r.length;++c){let f=r[c];l[o]=f.lines[0|s*f.scaleY][0|I*f.scaleX],++o}return l}},wt=class extends ee{constructor(t){super(),this.reader=new Bi,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function IA(e){let t=e.length;for(;--t>=0;)e[t]=0}function di(e,t,A,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}function Qi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function ye(e,t,A,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=n}function Ug(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Nt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Dg*2),this.dyn_dtree=new Uint16Array((2*mg+1)*2),this.bl_tree=new Uint16Array((2*xg+1)*2),Le(this.dyn_ltree),Le(this.dyn_dtree),Le(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(bg+1),this.heap=new Uint16Array(2*vi+1),Le(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*vi+1),Le(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function nl(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function YA(e){this.options=Rt.assign({level:ll,method:cl,chunkSize:16384,windowBits:15,memLevel:8,strategy:fl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new So,this.strm.avail_out=0;let A=kA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==kt)throw new Error(Xe[A]);if(t.header&&kA.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=GA.string2buf(t.dictionary):ko.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=kA.deflateSetDictionary(this.strm,i),A!==kt)throw new Error(Xe[A]);this._dict_set=!0}}function Vi(e,t){let A=new YA(t);if(A.push(e,!0),A.err)throw A.msg||Xe[A.err];return A.result}function Il(e,t){return t=t||{},t.raw=!0,Vi(e,t)}function hl(e,t){return t=t||{},t.gzip=!0,Vi(e,t)}function Ll(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ef(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function HA(e){this.options=Rt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new So,this.strm.avail_out=0;let A=ke.inflateInit2(this.strm,t.windowBits);if(A!==MA)throw new Error(Xe[A]);if(this.header=new Af,ke.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=GA.string2buf(t.dictionary):Yo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=ke.inflateSetDictionary(this.strm,t.dictionary),A!==MA)))throw new Error(Xe[A])}function zi(e,t){let A=new HA(t);if(A.push(e),A.err)throw A.msg||Xe[A.err];return A.result}function sf(e,t){return t=t||{},t.raw=!0,zi(e,t)}var va,so,Ua,La,Ga,qi,OA,NA,lA,Yi,ao,ze,Ci,Ma,Hi,go,lo,fo,Ni,bt,Oa,co,qa,Se,SA,RA,TA,Ji,St,Io,ho,uo,Eo,vA,se,_e,Bo,Ya,Ha,Co,Ja,Qo,po,yr,pi,_r,Ri,mr,xr,Ka,Va,za,Dr,Pa,wo,Za,Xa,ja,Wa,$a,eg,Ag,tg,ig,ng,UA,rg,og,sg,$,Xe,hA,ag,Ti,gg,Me,lg,Oe,fg,cg,Ee,br,Ae,Sr,me,Ig,wi,hg,ug,yt,Eg,Bg,Cg,dg,Nt,Qg,pg,wg,yg,_g,vi,mg,xg,Dg,bg,q,Ge,xe,Sg,fA,Ki,Ui,Li,Gi,Mi,Pe,DA,ne,uA,je,EA,kg,Ze,kr,Le,Fg,Ng,qe,ge,le,H,xA,Oi,yo,cA,_o,yi,aA,Rg,Tg,bA,vg,qA,mo,xo,Lg,Do,Gg,Mg,Og,qg,Yg,Hg,Jg,Kg,Vg,zg,Pg,Zg,Xg,kA,jg,Wg,$g,Rt,bo,LA,el,Al,tl,il,GA,So,ko,rl,ol,sl,al,kt,gl,ll,fl,cl,ul,El,Bl,Cl,dl,Ql,_t,pl,wl,gA,Fr,Nr,Rr,_i,Tr,yl,_l,ml,xl,Dl,FA,bl,Fo,No,vr,Sl,mt,We,kl,Fl,Be,Ro,To,Nl,Ur,Tt,Lr,Gr,Mr,Or,qr,Yr,Hr,Jr,Kr,Ft,be,mi,Vr,xi,zr,Pr,Zr,Xr,xt,Dt,jr,Wr,$r,eo,Ao,Di,to,io,Z,vo,Uo,Rl,Tl,vl,Ul,no,$e,Lo,Go,Mo,Oo,Gl,ro,bi,Si,Ml,qo,Ol,ql,Yl,Hl,Jl,Kl,Vl,zl,Pl,Zl,Xl,jl,Wl,$l,ke,Af,Yo,tf,nf,MA,ki,Fi,rf,oo,of,af,gf,lf,ff,cf,If,FI,NI,RI,TI,vI,hf,UI,LI,vt,Pi=ue(()=>{va=0,so=1,Ua=2,La=3,Ga=258,qi=29,OA=256,NA=OA+1+qi,lA=30,Yi=19,ao=2*NA+1,ze=15,Ci=16,Ma=7,Hi=256,go=16,lo=17,fo=18,Ni=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),bt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Oa=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),co=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),qa=512,Se=new Array((NA+2)*2);IA(Se);SA=new Array(lA*2);IA(SA);RA=new Array(qa);IA(RA);TA=new Array(Ga-La+1);IA(TA);Ji=new Array(qi);IA(Ji);St=new Array(lA);IA(St);Eo=e=>e<256?RA[e]:RA[256+(e>>>7)],vA=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},se=(e,t,A)=>{e.bi_valid>Ci-A?(e.bi_buf|=t<<e.bi_valid&65535,vA(e,e.bi_buf),e.bi_buf=t>>Ci-e.bi_valid,e.bi_valid+=A-Ci):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},_e=(e,t,A)=>{se(e,A[t*2],A[t*2+1])},Bo=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},Ya=e=>{e.bi_valid===16?(vA(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Ha=(e,t)=>{let A=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,g=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,l=t.stat_desc.max_length,o,s,I,c,f,h,E=0;for(c=0;c<=ze;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,o=e.heap_max+1;o<ao;o++)s=e.heap[o],c=A[A[s*2+1]*2+1]+1,c>l&&(c=l,E++),A[s*2+1]=c,!(s>i)&&(e.bl_count[c]++,f=0,s>=a&&(f=g[s-a]),h=A[s*2],e.opt_len+=h*(c+f),r&&(e.static_len+=h*(n[s*2+1]+f)));if(E!==0){do{for(c=l-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[l]--,E-=2}while(E>0);for(c=l;c!==0;c--)for(s=e.bl_count[c];s!==0;)I=e.heap[--o],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),s--)}},Co=(e,t,A)=>{let i=new Array(ze+1),n=0,r,g;for(r=1;r<=ze;r++)n=n+A[r-1]<<1,i[r]=n;for(g=0;g<=t;g++){let a=e[g*2+1];a!==0&&(e[g*2]=Bo(i[a]++,a))}},Ja=()=>{let e,t,A,i,n,r=new Array(ze+1);for(A=0,i=0;i<qi-1;i++)for(Ji[i]=A,e=0;e<1<<Ni[i];e++)TA[A++]=i;for(TA[A-1]=i,n=0,i=0;i<16;i++)for(St[i]=n,e=0;e<1<<bt[i];e++)RA[n++]=i;for(n>>=7;i<lA;i++)for(St[i]=n<<7,e=0;e<1<<bt[i]-7;e++)RA[256+n++]=i;for(t=0;t<=ze;t++)r[t]=0;for(e=0;e<=143;)Se[e*2+1]=8,e++,r[8]++;for(;e<=255;)Se[e*2+1]=9,e++,r[9]++;for(;e<=279;)Se[e*2+1]=7,e++,r[7]++;for(;e<=287;)Se[e*2+1]=8,e++,r[8]++;for(Co(Se,NA+1,r),e=0;e<lA;e++)SA[e*2+1]=5,SA[e*2]=Bo(e,5);Io=new di(Se,Ni,OA+1,NA,ze),ho=new di(SA,bt,0,lA,ze),uo=new di(new Array(0),Oa,0,Yi,Ma)},Qo=e=>{let t;for(t=0;t<NA;t++)e.dyn_ltree[t*2]=0;for(t=0;t<lA;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Yi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Hi*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},po=e=>{e.bi_valid>8?vA(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},yr=(e,t,A,i)=>{let n=t*2,r=A*2;return e[n]<e[r]||e[n]===e[r]&&i[t]<=i[A]},pi=(e,t,A)=>{let i=e.heap[A],n=A<<1;for(;n<=e.heap_len&&(n<e.heap_len&&yr(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!yr(t,i,e.heap[n],e.depth));)e.heap[A]=e.heap[n],A=n,n<<=1;e.heap[A]=i},_r=(e,t,A)=>{let i,n,r=0,g,a;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+r++]&255,i+=(e.pending_buf[e.sym_buf+r++]&255)<<8,n=e.pending_buf[e.sym_buf+r++],i===0?_e(e,n,t):(g=TA[n],_e(e,g+OA+1,t),a=Ni[g],a!==0&&(n-=Ji[g],se(e,n,a)),i--,g=Eo(i),_e(e,g,A),a=bt[g],a!==0&&(i-=St[g],se(e,i,a)));while(r<e.sym_next);_e(e,Hi,t)},Ri=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,r=t.stat_desc.elems,g,a,l=-1,o;for(e.heap_len=0,e.heap_max=ao,g=0;g<r;g++)A[g*2]!==0?(e.heap[++e.heap_len]=l=g,e.depth[g]=0):A[g*2+1]=0;for(;e.heap_len<2;)o=e.heap[++e.heap_len]=l<2?++l:0,A[o*2]=1,e.depth[o]=0,e.opt_len--,n&&(e.static_len-=i[o*2+1]);for(t.max_code=l,g=e.heap_len>>1;g>=1;g--)pi(e,A,g);o=r;do g=e.heap[1],e.heap[1]=e.heap[e.heap_len--],pi(e,A,1),a=e.heap[1],e.heap[--e.heap_max]=g,e.heap[--e.heap_max]=a,A[o*2]=A[g*2]+A[a*2],e.depth[o]=(e.depth[g]>=e.depth[a]?e.depth[g]:e.depth[a])+1,A[g*2+1]=A[a*2+1]=o,e.heap[1]=o++,pi(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Ha(e,t),Co(A,l,e.bl_count)},mr=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],a=0,l=7,o=4;for(g===0&&(l=138,o=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)r=g,g=t[(i+1)*2+1],!(++a<l&&r===g)&&(a<o?e.bl_tree[r*2]+=a:r!==0?(r!==n&&e.bl_tree[r*2]++,e.bl_tree[go*2]++):a<=10?e.bl_tree[lo*2]++:e.bl_tree[fo*2]++,a=0,n=r,g===0?(l=138,o=3):r===g?(l=6,o=3):(l=7,o=4))},xr=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],a=0,l=7,o=4;for(g===0&&(l=138,o=3),i=0;i<=A;i++)if(r=g,g=t[(i+1)*2+1],!(++a<l&&r===g)){if(a<o)do _e(e,r,e.bl_tree);while(--a!==0);else r!==0?(r!==n&&(_e(e,r,e.bl_tree),a--),_e(e,go,e.bl_tree),se(e,a-3,2)):a<=10?(_e(e,lo,e.bl_tree),se(e,a-3,3)):(_e(e,fo,e.bl_tree),se(e,a-11,7));a=0,n=r,g===0?(l=138,o=3):r===g?(l=6,o=3):(l=7,o=4)}},Ka=e=>{let t;for(mr(e,e.dyn_ltree,e.l_desc.max_code),mr(e,e.dyn_dtree,e.d_desc.max_code),Ri(e,e.bl_desc),t=Yi-1;t>=3&&e.bl_tree[co[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},Va=(e,t,A,i)=>{let n;for(se(e,t-257,5),se(e,A-1,5),se(e,i-4,4),n=0;n<i;n++)se(e,e.bl_tree[co[n]*2+1],3);xr(e,e.dyn_ltree,t-1),xr(e,e.dyn_dtree,A-1)},za=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<OA;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},Dr=!1,Pa=e=>{Dr||(Ja(),Dr=!0),e.l_desc=new Qi(e.dyn_ltree,Io),e.d_desc=new Qi(e.dyn_dtree,ho),e.bl_desc=new Qi(e.bl_tree,uo),e.bi_buf=0,e.bi_valid=0,Qo(e)},wo=(e,t,A,i)=>{se(e,(va<<1)+(i?1:0),3),po(e),vA(e,A),vA(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},Za=e=>{se(e,so<<1,3),_e(e,Hi,Se),Ya(e)},Xa=(e,t,A,i)=>{let n,r,g=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=za(e)),Ri(e,e.l_desc),Ri(e,e.d_desc),g=Ka(e),n=e.opt_len+3+7>>>3,r=e.static_len+3+7>>>3,r<=n&&(n=r)):n=r=A+5,A+4<=n&&t!==-1?wo(e,t,A,i):e.strategy===4||r===n?(se(e,(so<<1)+(i?1:0),3),_r(e,Se,SA)):(se(e,(Ua<<1)+(i?1:0),3),Va(e,e.l_desc.max_code+1,e.d_desc.max_code+1,g+1),_r(e,e.dyn_ltree,e.dyn_dtree)),Qo(e),i&&po(e)},ja=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(TA[A]+OA+1)*2]++,e.dyn_dtree[Eo(t)*2]++),e.sym_next===e.sym_end),Wa=Pa,$a=wo,eg=Xa,Ag=ja,tg=Za,ig={_tr_init:Wa,_tr_stored_block:$a,_tr_flush_block:eg,_tr_tally:Ag,_tr_align:tg},ng=(e,t,A,i)=>{let n=e&65535|0,r=e>>>16&65535|0,g=0;for(;A!==0;){g=A>2e3?2e3:A,A-=g;do n=n+t[i++]|0,r=r+n|0;while(--g);n%=65521,r%=65521}return n|r<<16|0},UA=ng,rg=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},og=new Uint32Array(rg()),sg=(e,t,A,i)=>{let n=og,r=i+A;e^=-1;for(let g=i;g<r;g++)e=e>>>8^n[(e^t[g])&255];return e^-1},$=sg,Xe={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:ag,_tr_stored_block:Ti,_tr_flush_block:gg,_tr_tally:Me,_tr_align:lg}=ig,{Z_NO_FLUSH:Oe,Z_PARTIAL_FLUSH:fg,Z_FULL_FLUSH:cg,Z_FINISH:Ee,Z_BLOCK:br,Z_OK:Ae,Z_STREAM_END:Sr,Z_STREAM_ERROR:me,Z_DATA_ERROR:Ig,Z_BUF_ERROR:wi,Z_DEFAULT_COMPRESSION:hg,Z_FILTERED:ug,Z_HUFFMAN_ONLY:yt,Z_RLE:Eg,Z_FIXED:Bg,Z_DEFAULT_STRATEGY:Cg,Z_UNKNOWN:dg,Z_DEFLATED:Nt}=hA,Qg=9,pg=15,wg=8,yg=29,_g=256,vi=_g+1+yg,mg=30,xg=19,Dg=2*vi+1,bg=15,q=3,Ge=258,xe=Ge+q+1,Sg=32,fA=42,Ki=57,Ui=69,Li=73,Gi=91,Mi=103,Pe=113,DA=666,ne=1,uA=2,je=3,EA=4,kg=3,Ze=(e,t)=>(e.msg=Xe[t],t),kr=e=>e*2-(e>4?9:0),Le=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Fg=e=>{let t,A,i,n=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=n?A-n:0;while(--t);t=n,i=t;do A=e.prev[--i],e.prev[i]=A>=n?A-n:0;while(--t)},Ng=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,qe=Ng,ge=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},le=(e,t)=>{gg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ge(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},xA=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Oi=(e,t,A,i)=>{let n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,t.set(e.input.subarray(e.next_in,e.next_in+n),A),e.state.wrap===1?e.adler=UA(e.adler,t,n,A):e.state.wrap===2&&(e.adler=$(e.adler,t,n,A)),e.next_in+=n,e.total_in+=n,n)},yo=(e,t)=>{let A=e.max_chain_length,i=e.strstart,n,r,g=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-xe?e.strstart-(e.w_size-xe):0,o=e.window,s=e.w_mask,I=e.prev,c=e.strstart+Ge,f=o[i+g-1],h=o[i+g];e.prev_length>=e.good_match&&(A>>=2),a>e.lookahead&&(a=e.lookahead);do if(n=t,!(o[n+g]!==h||o[n+g-1]!==f||o[n]!==o[i]||o[++n]!==o[i+1])){i+=2,n++;do;while(o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&o[++i]===o[++n]&&i<c);if(r=Ge-(c-i),i=c-Ge,r>g){if(e.match_start=t,g=r,r>=a)break;f=o[i+g-1],h=o[i+g]}}while((t=I[t&s])>l&&--A!==0);return g<=e.lookahead?g:e.lookahead},cA=e=>{let t=e.w_size,A,i,n;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-xe)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Fg(e),i+=t),e.strm.avail_in===0)break;if(A=Oi(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=q)for(n=e.strstart-e.insert,e.ins_h=e.window[n],e.ins_h=qe(e,e.ins_h,e.window[n+1]);e.insert&&(e.ins_h=qe(e,e.ins_h,e.window[n+q-1]),e.prev[n&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=n,n++,e.insert--,!(e.lookahead+e.insert<q)););}while(e.lookahead<xe&&e.strm.avail_in!==0)},_o=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,n,r,g=0,a=e.strm.avail_in;do{if(i=65535,r=e.bi_valid+42>>3,e.strm.avail_out<r||(r=e.strm.avail_out-r,n=e.strstart-e.block_start,i>n+e.strm.avail_in&&(i=n+e.strm.avail_in),i>r&&(i=r),i<A&&(i===0&&t!==Ee||t===Oe||i!==n+e.strm.avail_in)))break;g=t===Ee&&i===n+e.strm.avail_in?1:0,Ti(e,0,0,g),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,ge(e.strm),n&&(n>i&&(n=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+n),e.strm.next_out),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n,e.block_start+=n,i-=n),i&&(Oi(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(g===0);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),g?EA:t!==Oe&&t!==Ee&&e.strm.avail_in===0&&e.strstart===e.block_start?uA:(r=e.window_size-e.strstart,e.strm.avail_in>r&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,r+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),r>e.strm.avail_in&&(r=e.strm.avail_in),r&&(Oi(e.strm,e.window,e.strstart,r),e.strstart+=r,e.insert+=r>e.w_size-e.insert?e.w_size-e.insert:r),e.high_water<e.strstart&&(e.high_water=e.strstart),r=e.bi_valid+42>>3,r=e.pending_buf_size-r>65535?65535:e.pending_buf_size-r,A=r>e.w_size?e.w_size:r,n=e.strstart-e.block_start,(n>=A||(n||t===Ee)&&t!==Oe&&e.strm.avail_in===0&&n<=r)&&(i=n>r?r:n,g=t===Ee&&e.strm.avail_in===0&&i===n?1:0,Ti(e,e.block_start,i,g),e.block_start+=i,ge(e.strm)),g?je:ne)},yi=(e,t)=>{let A,i;for(;;){if(e.lookahead<xe){if(cA(e),e.lookahead<xe&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-xe&&(e.match_length=yo(e,A)),e.match_length>=q)if(i=Me(e,e.strstart-e.match_start,e.match_length-q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=q){e.match_length--;do e.strstart++,e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=qe(e,e.ins_h,e.window[e.strstart+1]);else i=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=e.strstart<q-1?e.strstart:q-1,t===Ee?(le(e,!0),e.strm.avail_out===0?je:EA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},aA=(e,t)=>{let A,i,n;for(;;){if(e.lookahead<xe){if(cA(e),e.lookahead<xe&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=q-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-xe&&(e.match_length=yo(e,A),e.match_length<=5&&(e.strategy===ug||e.match_length===q&&e.strstart-e.match_start>4096)&&(e.match_length=q-1)),e.prev_length>=q&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-q,i=Me(e,e.strstart-1-e.prev_match,e.prev_length-q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=q-1,e.strstart++,i&&(le(e,!1),e.strm.avail_out===0))return ne}else if(e.match_available){if(i=Me(e,0,e.window[e.strstart-1]),i&&le(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ne}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<q-1?e.strstart:q-1,t===Ee?(le(e,!0),e.strm.avail_out===0?je:EA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},Rg=(e,t)=>{let A,i,n,r,g=e.window;for(;;){if(e.lookahead<=Ge){if(cA(e),e.lookahead<=Ge&&t===Oe)return ne;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=q&&e.strstart>0&&(n=e.strstart-1,i=g[n],i===g[++n]&&i===g[++n]&&i===g[++n])){r=e.strstart+Ge;do;while(i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&n<r);e.match_length=Ge-(r-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=q?(A=Me(e,1,e.match_length-q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===Ee?(le(e,!0),e.strm.avail_out===0?je:EA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},Tg=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(cA(e),e.lookahead===0)){if(t===Oe)return ne;break}if(e.match_length=0,A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===Ee?(le(e,!0),e.strm.avail_out===0?je:EA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA};bA=[new ye(0,0,0,0,_o),new ye(4,4,8,4,yi),new ye(4,5,16,8,yi),new ye(4,6,32,32,yi),new ye(4,4,16,16,aA),new ye(8,16,32,32,aA),new ye(8,16,128,128,aA),new ye(8,32,128,256,aA),new ye(32,128,258,1024,aA),new ye(32,258,258,4096,aA)],vg=e=>{e.window_size=2*e.w_size,Le(e.head),e.max_lazy_match=bA[e.level].max_lazy,e.good_match=bA[e.level].good_length,e.nice_match=bA[e.level].nice_length,e.max_chain_length=bA[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=q-1,e.match_available=0,e.ins_h=0};qA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==fA&&t.status!==Ki&&t.status!==Ui&&t.status!==Li&&t.status!==Gi&&t.status!==Mi&&t.status!==Pe&&t.status!==DA?1:0},mo=e=>{if(qA(e))return Ze(e,me);e.total_in=e.total_out=0,e.data_type=dg;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ki:t.wrap?fA:Pe,e.adler=t.wrap===2?0:1,t.last_flush=-2,ag(t),Ae},xo=e=>{let t=mo(e);return t===Ae&&vg(e.state),t},Lg=(e,t)=>qA(e)||e.state.wrap!==2?me:(e.state.gzhead=t,Ae),Do=(e,t,A,i,n,r)=>{if(!e)return me;let g=1;if(t===hg&&(t=6),i<0?(g=0,i=-i):i>15&&(g=2,i-=16),n<1||n>Qg||A!==Nt||i<8||i>15||t<0||t>9||r<0||r>Bg||i===8&&g!==1)return Ze(e,me);i===8&&(i=9);let a=new Ug;return e.state=a,a.strm=e,a.status=fA,a.wrap=g,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+q-1)/q),a.window=new Uint8Array(a.w_size*2),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=(a.lit_bufsize-1)*3,a.level=t,a.strategy=r,a.method=A,xo(e)},Gg=(e,t)=>Do(e,t,Nt,pg,wg,Cg),Mg=(e,t)=>{if(qA(e)||t>br||t<0)return e?Ze(e,me):me;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===DA&&t!==Ee)return Ze(e,e.avail_out===0?wi:me);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(ge(e),e.avail_out===0)return A.last_flush=-1,Ae}else if(e.avail_in===0&&kr(t)<=kr(i)&&t!==Ee)return Ze(e,wi);if(A.status===DA&&e.avail_in!==0)return Ze(e,wi);if(A.status===fA&&A.wrap===0&&(A.status=Pe),A.status===fA){let n=Nt+(A.w_bits-8<<4)<<8,r=-1;if(A.strategy>=yt||A.level<2?r=0:A.level<6?r=1:A.level===6?r=2:r=3,n|=r<<6,A.strstart!==0&&(n|=Sg),n+=31-n%31,xA(A,n),A.strstart!==0&&(xA(A,e.adler>>>16),xA(A,e.adler&65535)),e.adler=1,A.status=Pe,ge(e),A.pending!==0)return A.last_flush=-1,Ae}if(A.status===Ki){if(e.adler=0,H(A,31),H(A,139),H(A,8),A.gzhead)H(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),H(A,A.gzhead.time&255),H(A,A.gzhead.time>>8&255),H(A,A.gzhead.time>>16&255),H(A,A.gzhead.time>>24&255),H(A,A.level===9?2:A.strategy>=yt||A.level<2?4:0),H(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(H(A,A.gzhead.extra.length&255),H(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=$(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=Ui;else if(H(A,0),H(A,0),H(A,0),H(A,0),H(A,0),H(A,A.level===9?2:A.strategy>=yt||A.level<2?4:0),H(A,kg),A.status=Pe,ge(e),A.pending!==0)return A.last_flush=-1,Ae}if(A.status===Ui){if(A.gzhead.extra){let n=A.pending,r=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+r>A.pending_buf_size;){let a=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+a),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex+=a,ge(e),A.pending!==0)return A.last_flush=-1,Ae;n=0,r-=a}let g=new Uint8Array(A.gzhead.extra);A.pending_buf.set(g.subarray(A.gzindex,A.gzindex+r),A.pending),A.pending+=r,A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=Li}if(A.status===Li){if(A.gzhead.name){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n)),ge(e),A.pending!==0)return A.last_flush=-1,Ae;n=0}A.gzindex<A.gzhead.name.length?r=A.gzhead.name.charCodeAt(A.gzindex++)&255:r=0,H(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=Gi}if(A.status===Gi){if(A.gzhead.comment){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n)),ge(e),A.pending!==0)return A.last_flush=-1,Ae;n=0}A.gzindex<A.gzhead.comment.length?r=A.gzhead.comment.charCodeAt(A.gzindex++)&255:r=0,H(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=$(e.adler,A.pending_buf,A.pending-n,n))}A.status=Mi}if(A.status===Mi){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(ge(e),A.pending!==0))return A.last_flush=-1,Ae;H(A,e.adler&255),H(A,e.adler>>8&255),e.adler=0}if(A.status=Pe,ge(e),A.pending!==0)return A.last_flush=-1,Ae}if(e.avail_in!==0||A.lookahead!==0||t!==Oe&&A.status!==DA){let n=A.level===0?_o(A,t):A.strategy===yt?Tg(A,t):A.strategy===Eg?Rg(A,t):bA[A.level].func(A,t);if((n===je||n===EA)&&(A.status=DA),n===ne||n===je)return e.avail_out===0&&(A.last_flush=-1),Ae;if(n===uA&&(t===fg?lg(A):t!==br&&(Ti(A,0,0,!1),t===cg&&(Le(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),ge(e),e.avail_out===0))return A.last_flush=-1,Ae}return t!==Ee?Ae:A.wrap<=0?Sr:(A.wrap===2?(H(A,e.adler&255),H(A,e.adler>>8&255),H(A,e.adler>>16&255),H(A,e.adler>>24&255),H(A,e.total_in&255),H(A,e.total_in>>8&255),H(A,e.total_in>>16&255),H(A,e.total_in>>24&255)):(xA(A,e.adler>>>16),xA(A,e.adler&65535)),ge(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?Ae:Sr)},Og=e=>{if(qA(e))return me;let t=e.state.status;return e.state=null,t===Pe?Ze(e,Ig):Ae},qg=(e,t)=>{let A=t.length;if(qA(e))return me;let i=e.state,n=i.wrap;if(n===2||n===1&&i.status!==fA||i.lookahead)return me;if(n===1&&(e.adler=UA(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){n===0&&(Le(i.head),i.strstart=0,i.block_start=0,i.insert=0);let l=new Uint8Array(i.w_size);l.set(t.subarray(A-i.w_size,A),0),t=l,A=i.w_size}let r=e.avail_in,g=e.next_in,a=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,cA(i);i.lookahead>=q;){let l=i.strstart,o=i.lookahead-(q-1);do i.ins_h=qe(i,i.ins_h,i.window[l+q-1]),i.prev[l&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=l,l++;while(--o);i.strstart=l,i.lookahead=q-1,cA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=q-1,i.match_available=0,e.next_in=g,e.input=a,e.avail_in=r,i.wrap=n,Ae},Yg=Gg,Hg=Do,Jg=xo,Kg=mo,Vg=Lg,zg=Mg,Pg=Og,Zg=qg,Xg="pako deflate (from Nodeca project)",kA={deflateInit:Yg,deflateInit2:Hg,deflateReset:Jg,deflateResetKeep:Kg,deflateSetHeader:Vg,deflate:zg,deflateEnd:Pg,deflateSetDictionary:Zg,deflateInfo:Xg},jg=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Wg=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)jg(A,i)&&(e[i]=A[i])}}return e},$g=e=>{let t=0;for(let i=0,n=e.length;i<n;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,n=0,r=e.length;i<r;i++){let g=e[i];A.set(g,n),n+=g.length}return A},Rt={assign:Wg,flattenChunks:$g},bo=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{bo=!1}LA=new Uint8Array(256);for(let e=0;e<256;e++)LA[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;LA[254]=LA[254]=1;el=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,n,r,g=e.length,a=0;for(n=0;n<g;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),a+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(a),r=0,n=0;r<a;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),A<128?t[r++]=A:A<2048?(t[r++]=192|A>>>6,t[r++]=128|A&63):A<65536?(t[r++]=224|A>>>12,t[r++]=128|A>>>6&63,t[r++]=128|A&63):(t[r++]=240|A>>>18,t[r++]=128|A>>>12&63,t[r++]=128|A>>>6&63,t[r++]=128|A&63);return t},Al=(e,t)=>{if(t<65534&&e.subarray&&bo)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},tl=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,n,r=new Array(A*2);for(n=0,i=0;i<A;){let g=e[i++];if(g<128){r[n++]=g;continue}let a=LA[g];if(a>4){r[n++]=65533,i+=a-1;continue}for(g&=a===2?31:a===3?15:7;a>1&&i<A;)g=g<<6|e[i++]&63,a--;if(a>1){r[n++]=65533;continue}g<65536?r[n++]=g:(g-=65536,r[n++]=55296|g>>10&1023,r[n++]=56320|g&1023)}return Al(r,n)},il=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+LA[e[A]]>t?A:t},GA={string2buf:el,buf2string:tl,utf8border:il};So=nl,ko=Object.prototype.toString,{Z_NO_FLUSH:rl,Z_SYNC_FLUSH:ol,Z_FULL_FLUSH:sl,Z_FINISH:al,Z_OK:kt,Z_STREAM_END:gl,Z_DEFAULT_COMPRESSION:ll,Z_DEFAULT_STRATEGY:fl,Z_DEFLATED:cl}=hA;YA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n,r;if(this.ended)return!1;for(t===~~t?r=t:r=t===!0?al:rl,typeof e=="string"?A.input=GA.string2buf(e):ko.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(r===ol||r===sl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(n=kA.deflate(A,r),n===gl)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),n=kA.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===kt;if(A.avail_out===0){this.onData(A.output);continue}if(r>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};YA.prototype.onData=function(e){this.chunks.push(e)};YA.prototype.onEnd=function(e){e===kt&&(this.result=Rt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};ul=YA,El=Vi,Bl=Il,Cl=hl,dl=hA,Ql={Deflate:ul,deflate:El,deflateRaw:Bl,gzip:Cl,constants:dl},_t=16209,pl=16191,wl=function(t,A){let i,n,r,g,a,l,o,s,I,c,f,h,E,u,Q,C,p,w,d,B,_,y,b,x,D=t.state;i=t.next_in,b=t.input,n=i+(t.avail_in-5),r=t.next_out,x=t.output,g=r-(A-t.avail_out),a=r+(t.avail_out-257),l=D.dmax,o=D.wsize,s=D.whave,I=D.wnext,c=D.window,f=D.hold,h=D.bits,E=D.lencode,u=D.distcode,Q=(1<<D.lenbits)-1,C=(1<<D.distbits)-1;e:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=E[f&Q];A:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w===0)x[r++]=p&65535;else if(w&16){d=p&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),d+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=u[f&C];t:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w&16){if(B=p&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),B+=f&(1<<w)-1,B>l){t.msg="invalid distance too far back",D.mode=_t;break e}if(f>>>=w,h-=w,w=r-g,B>w){if(w=B-w,w>s&&D.sane){t.msg="invalid distance too far back",D.mode=_t;break e}if(_=0,y=c,I===0){if(_+=o-w,w<d){d-=w;do x[r++]=c[_++];while(--w);_=r-B,y=x}}else if(I<w){if(_+=o+I-w,w-=I,w<d){d-=w;do x[r++]=c[_++];while(--w);if(_=0,I<d){w=I,d-=w;do x[r++]=c[_++];while(--w);_=r-B,y=x}}}else if(_+=I-w,w<d){d-=w;do x[r++]=c[_++];while(--w);_=r-B,y=x}for(;d>2;)x[r++]=y[_++],x[r++]=y[_++],x[r++]=y[_++],d-=3;d&&(x[r++]=y[_++],d>1&&(x[r++]=y[_++]))}else{_=r-B;do x[r++]=x[_++],x[r++]=x[_++],x[r++]=x[_++],d-=3;while(d>2);d&&(x[r++]=x[_++],d>1&&(x[r++]=x[_++]))}}else if(w&64){t.msg="invalid distance code",D.mode=_t;break e}else{p=u[(p&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){D.mode=pl;break e}else{t.msg="invalid literal/length code",D.mode=_t;break e}else{p=E[(p&65535)+(f&(1<<w)-1)];continue A}break}}while(i<n&&r<a);d=h>>3,i-=d,h-=d<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=r,t.avail_in=i<n?5+(n-i):5-(i-n),t.avail_out=r<a?257+(a-r):257-(r-a),D.hold=f,D.bits=h},gA=15,Fr=852,Nr=592,Rr=0,_i=1,Tr=2,yl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),_l=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ml=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),xl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Dl=(e,t,A,i,n,r,g,a)=>{let l=a.bits,o=0,s=0,I=0,c=0,f=0,h=0,E=0,u=0,Q=0,C=0,p,w,d,B,_,y=null,b,x=new Uint16Array(gA+1),D=new Uint16Array(gA+1),k=null,O,S,m;for(o=0;o<=gA;o++)x[o]=0;for(s=0;s<i;s++)x[t[A+s]]++;for(f=l,c=gA;c>=1&&x[c]===0;c--);if(f>c&&(f=c),c===0)return n[r++]=1<<24|64<<16|0,n[r++]=1<<24|64<<16|0,a.bits=1,0;for(I=1;I<c&&x[I]===0;I++);for(f<I&&(f=I),u=1,o=1;o<=gA;o++)if(u<<=1,u-=x[o],u<0)return-1;if(u>0&&(e===Rr||c!==1))return-1;for(D[1]=0,o=1;o<gA;o++)D[o+1]=D[o]+x[o];for(s=0;s<i;s++)t[A+s]!==0&&(g[D[t[A+s]]++]=s);if(e===Rr?(y=k=g,b=20):e===_i?(y=yl,k=_l,b=257):(y=ml,k=xl,b=0),C=0,s=0,o=I,_=r,h=f,E=0,d=-1,Q=1<<f,B=Q-1,e===_i&&Q>Fr||e===Tr&&Q>Nr)return 1;for(;;){O=o-E,g[s]+1<b?(S=0,m=g[s]):g[s]>=b?(S=k[g[s]-b],m=y[g[s]-b]):(S=32+64,m=0),p=1<<o-E,w=1<<h,I=w;do w-=p,n[_+(C>>E)+w]=O<<24|S<<16|m|0;while(w!==0);for(p=1<<o-1;C&p;)p>>=1;if(p!==0?(C&=p-1,C+=p):C=0,s++,--x[o]===0){if(o===c)break;o=t[A+g[s]]}if(o>f&&(C&B)!==d){for(E===0&&(E=f),_+=I,h=o-E,u=1<<h;h+E<c&&(u-=x[h+E],!(u<=0));)h++,u<<=1;if(Q+=1<<h,e===_i&&Q>Fr||e===Tr&&Q>Nr)return 1;d=C&B,n[d]=f<<24|h<<16|_-r|0}}return C!==0&&(n[_+C]=o-E<<24|64<<16|0),a.bits=f,0},FA=Dl,bl=0,Fo=1,No=2,{Z_FINISH:vr,Z_BLOCK:Sl,Z_TREES:mt,Z_OK:We,Z_STREAM_END:kl,Z_NEED_DICT:Fl,Z_STREAM_ERROR:Be,Z_DATA_ERROR:Ro,Z_MEM_ERROR:To,Z_BUF_ERROR:Nl,Z_DEFLATED:Ur}=hA,Tt=16180,Lr=16181,Gr=16182,Mr=16183,Or=16184,qr=16185,Yr=16186,Hr=16187,Jr=16188,Kr=16189,Ft=16190,be=16191,mi=16192,Vr=16193,xi=16194,zr=16195,Pr=16196,Zr=16197,Xr=16198,xt=16199,Dt=16200,jr=16201,Wr=16202,$r=16203,eo=16204,Ao=16205,Di=16206,to=16207,io=16208,Z=16209,vo=16210,Uo=16211,Rl=852,Tl=592,vl=15,Ul=vl,no=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);$e=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<Tt||t.mode>Uo?1:0},Lo=e=>{if($e(e))return Be;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Tt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Rl),t.distcode=t.distdyn=new Int32Array(Tl),t.sane=1,t.back=-1,We},Go=e=>{if($e(e))return Be;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Lo(e)},Mo=(e,t)=>{let A;if($e(e))return Be;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Be:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,Go(e))},Oo=(e,t)=>{if(!e)return Be;let A=new Ll;e.state=A,A.strm=e,A.window=null,A.mode=Tt;let i=Mo(e,t);return i!==We&&(e.state=null),i},Gl=e=>Oo(e,Ul),ro=!0,Ml=e=>{if(ro){bi=new Int32Array(512),Si=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(FA(Fo,e.lens,0,288,bi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;FA(No,e.lens,0,32,Si,0,e.work,{bits:5}),ro=!1}e.lencode=bi,e.lenbits=9,e.distcode=Si,e.distbits=5},qo=(e,t,A,i)=>{let n,r=e.state;return r.window===null&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),i>=r.wsize?(r.window.set(t.subarray(A-r.wsize,A),0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),r.window.set(t.subarray(A-i,A-i+n),r.wnext),i-=n,i?(r.window.set(t.subarray(A-i,A),0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0},Ol=(e,t)=>{let A,i,n,r,g,a,l,o,s,I,c,f,h,E,u=0,Q,C,p,w,d,B,_,y,b=new Uint8Array(4),x,D,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if($e(e)||!e.output||!e.input&&e.avail_in!==0)return Be;A=e.state,A.mode===be&&(A.mode=mi),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,a=e.avail_in,o=A.hold,s=A.bits,I=a,c=l,y=We;e:for(;;)switch(A.mode){case Tt:if(A.wrap===0){A.mode=mi;break}for(;s<16;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(A.wrap&2&&o===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=o&255,b[1]=o>>>8&255,A.check=$(A.check,b,2,0),o=0,s=0,A.mode=Lr;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){e.msg="incorrect header check",A.mode=Z;break}if((o&15)!==Ur){e.msg="unknown compression method",A.mode=Z;break}if(o>>>=4,s-=4,_=(o&15)+8,A.wbits===0&&(A.wbits=_),_>15||_>A.wbits){e.msg="invalid window size",A.mode=Z;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=o&512?Kr:be,o=0,s=0;break;case Lr:for(;s<16;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(A.flags=o,(A.flags&255)!==Ur){e.msg="unknown compression method",A.mode=Z;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=Z;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=$(A.check,b,2,0)),o=0,s=0,A.mode=Gr;case Gr:for(;s<32;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.head&&(A.head.time=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,b[2]=o>>>16&255,b[3]=o>>>24&255,A.check=$(A.check,b,4,0)),o=0,s=0,A.mode=Mr;case Mr:for(;s<16;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=$(A.check,b,2,0)),o=0,s=0,A.mode=Or;case Or:if(A.flags&1024){for(;s<16;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=$(A.check,b,2,0)),o=0,s=0}else A.head&&(A.head.extra=null);A.mode=qr;case qr:if(A.flags&1024&&(f=A.length,f>a&&(f=a),f&&(A.head&&(_=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(r,r+f),_)),A.flags&512&&A.wrap&4&&(A.check=$(A.check,i,f,r)),a-=f,r+=f,A.length-=f),A.length))break e;A.length=0,A.mode=Yr;case Yr:if(A.flags&2048){if(a===0)break e;f=0;do _=i[r+f++],A.head&&_&&A.length<65536&&(A.head.name+=String.fromCharCode(_));while(_&&f<a);if(A.flags&512&&A.wrap&4&&(A.check=$(A.check,i,f,r)),a-=f,r+=f,_)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=Hr;case Hr:if(A.flags&4096){if(a===0)break e;f=0;do _=i[r+f++],A.head&&_&&A.length<65536&&(A.head.comment+=String.fromCharCode(_));while(_&&f<a);if(A.flags&512&&A.wrap&4&&(A.check=$(A.check,i,f,r)),a-=f,r+=f,_)break e}else A.head&&(A.head.comment=null);A.mode=Jr;case Jr:if(A.flags&512){for(;s<16;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(A.wrap&4&&o!==(A.check&65535)){e.msg="header crc mismatch",A.mode=Z;break}o=0,s=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=be;break;case Kr:for(;s<32;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}e.adler=A.check=no(o),o=0,s=0,A.mode=Ft;case Ft:if(A.havedict===0)return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=a,A.hold=o,A.bits=s,Fl;e.adler=A.check=1,A.mode=be;case be:if(t===Sl||t===mt)break e;case mi:if(A.last){o>>>=s&7,s-=s&7,A.mode=Di;break}for(;s<3;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}switch(A.last=o&1,o>>>=1,s-=1,o&3){case 0:A.mode=Vr;break;case 1:if(Ml(A),A.mode=xt,t===mt){o>>>=2,s-=2;break e}break;case 2:A.mode=Pr;break;case 3:e.msg="invalid block type",A.mode=Z}o>>>=2,s-=2;break;case Vr:for(o>>>=s&7,s-=s&7;s<32;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if((o&65535)!==(o>>>16^65535)){e.msg="invalid stored block lengths",A.mode=Z;break}if(A.length=o&65535,o=0,s=0,A.mode=xi,t===mt)break e;case xi:A.mode=zr;case zr:if(f=A.length,f){if(f>a&&(f=a),f>l&&(f=l),f===0)break e;n.set(i.subarray(r,r+f),g),a-=f,r+=f,l-=f,g+=f,A.length-=f;break}A.mode=be;break;case Pr:for(;s<14;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(A.nlen=(o&31)+257,o>>>=5,s-=5,A.ndist=(o&31)+1,o>>>=5,s-=5,A.ncode=(o&15)+4,o>>>=4,s-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=Z;break}A.have=0,A.mode=Zr;case Zr:for(;A.have<A.ncode;){for(;s<3;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.lens[k[A.have++]]=o&7,o>>>=3,s-=3}for(;A.have<19;)A.lens[k[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,x={bits:A.lenbits},y=FA(bl,A.lens,0,19,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid code lengths set",A.mode=Z;break}A.have=0,A.mode=Xr;case Xr:for(;A.have<A.nlen+A.ndist;){for(;u=A.lencode[o&(1<<A.lenbits)-1],Q=u>>>24,C=u>>>16&255,p=u&65535,!(Q<=s);){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(p<16)o>>>=Q,s-=Q,A.lens[A.have++]=p;else{if(p===16){for(D=Q+2;s<D;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(o>>>=Q,s-=Q,A.have===0){e.msg="invalid bit length repeat",A.mode=Z;break}_=A.lens[A.have-1],f=3+(o&3),o>>>=2,s-=2}else if(p===17){for(D=Q+3;s<D;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}o>>>=Q,s-=Q,_=0,f=3+(o&7),o>>>=3,s-=3}else{for(D=Q+7;s<D;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}o>>>=Q,s-=Q,_=0,f=11+(o&127),o>>>=7,s-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=Z;break}for(;f--;)A.lens[A.have++]=_}}if(A.mode===Z)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=Z;break}if(A.lenbits=9,x={bits:A.lenbits},y=FA(Fo,A.lens,0,A.nlen,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid literal/lengths set",A.mode=Z;break}if(A.distbits=6,A.distcode=A.distdyn,x={bits:A.distbits},y=FA(No,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,x),A.distbits=x.bits,y){e.msg="invalid distances set",A.mode=Z;break}if(A.mode=xt,t===mt)break e;case xt:A.mode=Dt;case Dt:if(a>=6&&l>=258){e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=a,A.hold=o,A.bits=s,wl(e,c),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,a=e.avail_in,o=A.hold,s=A.bits,A.mode===be&&(A.back=-1);break}for(A.back=0;u=A.lencode[o&(1<<A.lenbits)-1],Q=u>>>24,C=u>>>16&255,p=u&65535,!(Q<=s);){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(C&&!(C&240)){for(w=Q,d=C,B=p;u=A.lencode[B+((o&(1<<w+d)-1)>>w)],Q=u>>>24,C=u>>>16&255,p=u&65535,!(w+Q<=s);){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}o>>>=w,s-=w,A.back+=w}if(o>>>=Q,s-=Q,A.back+=Q,A.length=p,C===0){A.mode=Ao;break}if(C&32){A.back=-1,A.mode=be;break}if(C&64){e.msg="invalid literal/length code",A.mode=Z;break}A.extra=C&15,A.mode=jr;case jr:if(A.extra){for(D=A.extra;s<D;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,s-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Wr;case Wr:for(;u=A.distcode[o&(1<<A.distbits)-1],Q=u>>>24,C=u>>>16&255,p=u&65535,!(Q<=s);){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(!(C&240)){for(w=Q,d=C,B=p;u=A.distcode[B+((o&(1<<w+d)-1)>>w)],Q=u>>>24,C=u>>>16&255,p=u&65535,!(w+Q<=s);){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}o>>>=w,s-=w,A.back+=w}if(o>>>=Q,s-=Q,A.back+=Q,C&64){e.msg="invalid distance code",A.mode=Z;break}A.offset=p,A.extra=C&15,A.mode=$r;case $r:if(A.extra){for(D=A.extra;s<D;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,s-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=Z;break}A.mode=eo;case eo:if(l===0)break e;if(f=c-l,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=Z;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),E=A.window}else E=n,h=g-A.offset,f=A.length;f>l&&(f=l),l-=f,A.length-=f;do n[g++]=E[h++];while(--f);A.length===0&&(A.mode=Dt);break;case Ao:if(l===0)break e;n[g++]=A.length,l--,A.mode=Dt;break;case Di:if(A.wrap){for(;s<32;){if(a===0)break e;a--,o|=i[r++]<<s,s+=8}if(c-=l,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?$(A.check,n,c,g-c):UA(A.check,n,c,g-c)),c=l,A.wrap&4&&(A.flags?o:no(o))!==A.check){e.msg="incorrect data check",A.mode=Z;break}o=0,s=0}A.mode=to;case to:if(A.wrap&&A.flags){for(;s<32;){if(a===0)break e;a--,o+=i[r++]<<s,s+=8}if(A.wrap&4&&o!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=Z;break}o=0,s=0}A.mode=io;case io:y=kl;break e;case Z:y=Ro;break e;case vo:return To;case Uo:default:return Be}return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=a,A.hold=o,A.bits=s,(A.wsize||c!==e.avail_out&&A.mode<Z&&(A.mode<Di||t!==vr))&&qo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?$(A.check,n,c,e.next_out-c):UA(A.check,n,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===be?128:0)+(A.mode===xt||A.mode===xi?256:0),(I===0&&c===0||t===vr)&&y===We&&(y=Nl),y},ql=e=>{if($e(e))return Be;let t=e.state;return t.window&&(t.window=null),e.state=null,We},Yl=(e,t)=>{if($e(e))return Be;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,We):Be},Hl=(e,t)=>{let A=t.length,i,n,r;return $e(e)||(i=e.state,i.wrap!==0&&i.mode!==Ft)?Be:i.mode===Ft&&(n=1,n=UA(n,t,A,0),n!==i.check)?Ro:(r=qo(e,t,A,A),r?(i.mode=vo,To):(i.havedict=1,We))},Jl=Go,Kl=Mo,Vl=Lo,zl=Gl,Pl=Oo,Zl=Ol,Xl=ql,jl=Yl,Wl=Hl,$l="pako inflate (from Nodeca project)",ke={inflateReset:Jl,inflateReset2:Kl,inflateResetKeep:Vl,inflateInit:zl,inflateInit2:Pl,inflate:Zl,inflateEnd:Xl,inflateGetHeader:jl,inflateSetDictionary:Wl,inflateInfo:$l};Af=ef,Yo=Object.prototype.toString,{Z_NO_FLUSH:tf,Z_FINISH:nf,Z_OK:MA,Z_STREAM_END:ki,Z_NEED_DICT:Fi,Z_STREAM_ERROR:rf,Z_DATA_ERROR:oo,Z_MEM_ERROR:of}=hA;HA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n=this.options.dictionary,r,g,a;if(this.ended)return!1;for(t===~~t?g=t:g=t===!0?nf:tf,Yo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),r=ke.inflate(A,g),r===Fi&&n&&(r=ke.inflateSetDictionary(A,n),r===MA?r=ke.inflate(A,g):r===oo&&(r=Fi));A.avail_in>0&&r===ki&&A.state.wrap>0&&e[A.next_in]!==0;)ke.inflateReset(A),r=ke.inflate(A,g);switch(r){case rf:case oo:case Fi:case of:return this.onEnd(r),this.ended=!0,!1}if(a=A.avail_out,A.next_out&&(A.avail_out===0||r===ki))if(this.options.to==="string"){let l=GA.utf8border(A.output,A.next_out),o=A.next_out-l,s=GA.buf2string(A.output,l);A.next_out=o,A.avail_out=i-o,o&&A.output.set(A.output.subarray(l,l+o),0),this.onData(s)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(r===MA&&a===0)){if(r===ki)return r=ke.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};HA.prototype.onData=function(e){this.chunks.push(e)};HA.prototype.onEnd=function(e){e===MA&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Rt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};af=HA,gf=zi,lf=sf,ff=zi,cf=hA,If={Inflate:af,inflate:gf,inflateRaw:lf,ungzip:ff,constants:cf},{Deflate:FI,deflate:NI,deflateRaw:RI,gzip:TI}=Ql,{Inflate:vI,inflate:hf,inflateRaw:UI,ungzip:LI}=If,vt=hf});var Ho={};ve(Ho,{default:()=>Ut});var Ut,Jo=ue(()=>{Pi();Ue();Ut=class extends ee{decodeBlock(t){return vt(new Uint8Array(t)).buffer}}});var Ko={};ve(Ko,{default:()=>Lt});var Lt,Vo=ue(()=>{Ue();Lt=class extends ee{decodeBlock(t){let A=new DataView(t),i=[];for(let n=0;n<t.byteLength;++n){let r=A.getInt8(n);if(r<0){let g=A.getUint8(n+1);r=-r;for(let a=0;a<=r;++a)i.push(g);n+=1}else{for(let g=0;g<=r;++g)i.push(A.getUint8(n+g+1));n+=r+1}}return new Uint8Array(i).buffer}}});var zo=Ce((YI,Gt)=>{(function(){var e=function(){var n={};n.defaultNoDataValue=-34027999387901484e22,n.decode=function(s,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=l(s,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:n.defaultNoDataValue,E=r(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),u={width:f.width,height:f.height,pixelData:E.resultPixels,minValue:E.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return E.resultMask&&(u.maskData=E.resultMask),I.returnEncodedMask&&f.mask&&(u.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(u.fileInfo=g(f),I.computeUsedBitDepths&&(u.fileInfo.bitDepths=a(f))),u};var r=function(s,I,c,f,h){var E=0,u=s.pixels.numBlocksX,Q=s.pixels.numBlocksY,C=Math.floor(s.width/u),p=Math.floor(s.height/Q),w=2*s.maxZError,d=Number.MAX_VALUE,B;c=c||(s.mask?s.mask.bitset:null);var _,y;_=new I(s.width*s.height),h&&c&&(y=new Uint8Array(s.width*s.height));for(var b=new Float32Array(C*p),x,D,k=0;k<=Q;k++){var O=k!==Q?p:s.height%Q;if(O!==0)for(var S=0;S<=u;S++){var m=S!==u?C:s.width%u;if(m!==0){var N=k*s.width*p+S*C,G=s.width-m,F=s.pixels.blocks[E],T,R,Y;F.encoding<2?(F.encoding===0?T=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,s.pixels.maxValue),T=b),R=0):F.encoding===2?Y=0:Y=F.offset;var J;if(c)for(D=0;D<O;D++){for(N&7&&(J=c[N>>3],J<<=N&7),x=0;x<m;x++)N&7||(J=c[N>>3]),J&128?(y&&(y[N]=1),B=F.encoding<2?T[R++]:Y,d=d>B?B:d,_[N++]=B):(y&&(y[N]=0),_[N++]=f),J<<=1;N+=G}else if(F.encoding<2)for(D=0;D<O;D++){for(x=0;x<m;x++)B=T[R++],d=d>B?B:d,_[N++]=B;N+=G}else for(d=d>Y?Y:d,D=0;D<O;D++){for(x=0;x<m;x++)_[N++]=Y;N+=G}if(F.encoding===1&&R!==F.numValidPixels)throw"Block and Mask do not match";E++}}}return{resultPixels:_,resultMask:y,minValue:d}},g=function(s){return{fileIdentifierString:s.fileIdentifierString,fileVersion:s.fileVersion,imageType:s.imageType,height:s.height,width:s.width,maxZError:s.maxZError,eofOffset:s.eofOffset,mask:s.mask?{numBlocksX:s.mask.numBlocksX,numBlocksY:s.mask.numBlocksY,numBytes:s.mask.numBytes,maxValue:s.mask.maxValue}:null,pixels:{numBlocksX:s.pixels.numBlocksX,numBlocksY:s.pixels.numBlocksY,numBytes:s.pixels.numBytes,maxValue:s.pixels.maxValue,noDataValue:s.noDataValue}}},a=function(s){for(var I=s.pixels.numBlocksX*s.pixels.numBlocksY,c={},f=0;f<I;f++){var h=s.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},l=function(s,I,c){var f={},h=new Uint8Array(s,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var E=new DataView(s,I,24);if(f.fileVersion=E.getInt32(0,!0),f.imageType=E.getInt32(4,!0),f.height=E.getUint32(8,!0),f.width=E.getUint32(12,!0),f.maxZError=E.getFloat64(16,!0),I+=24,!c)if(E=new DataView(s,I,16),f.mask={},f.mask.numBlocksY=E.getUint32(0,!0),f.mask.numBlocksX=E.getUint32(4,!0),f.mask.numBytes=E.getUint32(8,!0),f.mask.maxValue=E.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var u=new Uint8Array(Math.ceil(f.width*f.height/8));E=new DataView(s,I,f.mask.numBytes);var Q=E.getInt16(0,!0),C=2,p=0;do{if(Q>0)for(;Q--;)u[p++]=E.getUint8(C++);else{var w=E.getUint8(C++);for(Q=-Q;Q--;)u[p++]=w}Q=E.getInt16(C,!0),C+=2}while(C<f.mask.numBytes);if(Q!==-32768||p<u.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=u,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));E=new DataView(s,I,16),f.pixels={},f.pixels.numBlocksY=E.getUint32(0,!0),f.pixels.numBlocksX=E.getUint32(4,!0),f.pixels.numBytes=E.getUint32(8,!0),f.pixels.maxValue=E.getFloat32(12,!0),I+=16;var d=f.pixels.numBlocksX,B=f.pixels.numBlocksY,_=d+(f.width%d>0?1:0),y=B+(f.height%B>0?1:0);f.pixels.blocks=new Array(_*y);for(var b=0,x=0;x<y;x++)for(var D=0;D<_;D++){var k=0,O=s.byteLength-I;E=new DataView(s,I,Math.min(10,O));var S={};f.pixels.blocks[b++]=S;var m=E.getUint8(0);if(k++,S.encoding=m&63,S.encoding>3)throw"Invalid block encoding ("+S.encoding+")";if(S.encoding===2){I++;continue}if(m!==0&&m!==2){if(m>>=6,S.offsetType=m,m===2)S.offset=E.getInt8(1),k++;else if(m===1)S.offset=E.getInt16(1,!0),k+=2;else if(m===0)S.offset=E.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(S.encoding===1)if(m=E.getUint8(k),k++,S.bitsPerPixel=m&63,m>>=6,S.numValidPixelsType=m,m===2)S.numValidPixels=E.getUint8(k),k++;else if(m===1)S.numValidPixels=E.getUint16(k,!0),k+=2;else if(m===0)S.numValidPixels=E.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(I+=k,S.encoding!==3){var N,G;if(S.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";N=new ArrayBuffer(F*4),G=new Uint8Array(N),G.set(new Uint8Array(s,I,F*4));var T=new Float32Array(N);S.rawData=T,I+=F*4}else if(S.encoding===1){var R=Math.ceil(S.numValidPixels*S.bitsPerPixel/8),Y=Math.ceil(R/4);N=new ArrayBuffer(Y*4),G=new Uint8Array(N),G.set(new Uint8Array(s,I,R)),S.stuffedData=new Uint32Array(N),I+=R}}}return f.eofOffset=I,f},o=function(s,I,c,f,h,E,u){var Q=(1<<I)-1,C=0,p,w=0,d,B,_=Math.ceil((u-f)/h),y=s.length*4-Math.ceil(I*c/8);for(s[s.length-1]<<=8*y,p=0;p<c;p++){if(w===0&&(B=s[C++],w=32),w>=I)d=B>>>w-I&Q,w-=I;else{var b=I-w;d=(B&Q)<<b&Q,B=s[C++],w=32-b,d+=B>>>w}E[p]=d<_?f+d*h:u}return E};return n}(),t=function(){"use strict";var n={unstuff:function(l,o,s,I,c,f,h,E){var u=(1<<s)-1,Q=0,C,p=0,w,d,B,_,y=l.length*4-Math.ceil(s*I/8);if(l[l.length-1]<<=8*y,c)for(C=0;C<I;C++)p===0&&(d=l[Q++],p=32),p>=s?(w=d>>>p-s&u,p-=s):(B=s-p,w=(d&u)<<B&u,d=l[Q++],p=32-B,w+=d>>>p),o[C]=c[w];else for(_=Math.ceil((E-f)/h),C=0;C<I;C++)p===0&&(d=l[Q++],p=32),p>=s?(w=d>>>p-s&u,p-=s):(B=s-p,w=(d&u)<<B&u,d=l[Q++],p=32-B,w+=d>>>p),o[C]=w<_?f+w*h:E},unstuffLUT:function(l,o,s,I,c,f){var h=(1<<o)-1,E=0,u=0,Q=0,C=0,p=0,w,d=[],B=l.length*4-Math.ceil(o*s/8);l[l.length-1]<<=8*B;var _=Math.ceil((f-I)/c);for(u=0;u<s;u++)C===0&&(w=l[E++],C=32),C>=o?(p=w>>>C-o&h,C-=o):(Q=o-C,p=(w&h)<<Q&h,w=l[E++],C=32-Q,p+=w>>>C),d[u]=p<_?I+p*c:f;return d.unshift(I),d},unstuff2:function(l,o,s,I,c,f,h,E){var u=(1<<s)-1,Q=0,C,p=0,w=0,d,B,_;if(c)for(C=0;C<I;C++)p===0&&(B=l[Q++],p=32,w=0),p>=s?(d=B>>>w&u,p-=s,w+=s):(_=s-p,d=B>>>w&u,B=l[Q++],p=32-_,d|=(B&(1<<_)-1)<<s-_,w=_),o[C]=c[d];else{var y=Math.ceil((E-f)/h);for(C=0;C<I;C++)p===0&&(B=l[Q++],p=32,w=0),p>=s?(d=B>>>w&u,p-=s,w+=s):(_=s-p,d=B>>>w&u,B=l[Q++],p=32-_,d|=(B&(1<<_)-1)<<s-_,w=_),o[C]=d<y?f+d*h:E}return o},unstuffLUT2:function(l,o,s,I,c,f){var h=(1<<o)-1,E=0,u=0,Q=0,C=0,p=0,w=0,d,B=[],_=Math.ceil((f-I)/c);for(u=0;u<s;u++)C===0&&(d=l[E++],C=32,w=0),C>=o?(p=d>>>w&h,C-=o,w+=o):(Q=o-C,p=d>>>w&h,d=l[E++],C=32-Q,p|=(d&(1<<Q)-1)<<o-Q,w=Q),B[u]=p<_?I+p*c:f;return B.unshift(I),B},originalUnstuff:function(l,o,s,I){var c=(1<<s)-1,f=0,h,E=0,u,Q,C,p=l.length*4-Math.ceil(s*I/8);for(l[l.length-1]<<=8*p,h=0;h<I;h++)E===0&&(Q=l[f++],E=32),E>=s?(u=Q>>>E-s&c,E-=s):(C=s-E,u=(Q&c)<<C&c,Q=l[f++],E=32-C,u+=Q>>>E),o[h]=u;return o},originalUnstuff2:function(l,o,s,I){var c=(1<<s)-1,f=0,h,E=0,u=0,Q,C,p;for(h=0;h<I;h++)E===0&&(C=l[f++],E=32,u=0),E>=s?(Q=C>>>u&c,E-=s,u+=s):(p=s-E,Q=C>>>u&c,C=l[f++],E=32-p,Q|=(C&(1<<p)-1)<<s-p,u=p),o[h]=Q;return o}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(l){for(var o=65535,s=65535,I=l.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do o+=l[f++]<<8,s+=o+=l[f++];while(--h);o=(o&65535)+(o>>>16),s=(s&65535)+(s>>>16)}return I&1&&(s+=o+=l[f]<<8),o=(o&65535)+(o>>>16),s=(s&65535)+(s>>>16),(s<<16|o)>>>0},readHeaderInfo:function(l,o){var s=o.ptr,I=new Uint8Array(l,s,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;s+=6;var f=new DataView(l,s,8),h=f.getInt32(0,!0);c.fileVersion=h,s+=4,h>=3&&(c.checksum=f.getUint32(4,!0),s+=4),f=new DataView(l,s,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),s+=8,h>=4?(c.numDims=f.getUint32(8,!0),s+=4):c.numDims=1,f=new DataView(l,s,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),s+=40,o.headerInfo=c,o.ptr=s;var E,u;if(h>=3&&(u=h>=4?52:48,E=this.computeChecksumFletcher32(new Uint8Array(l,s-u,c.blobSize-14)),E!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(l,o){var s=o.headerInfo,I=this.getDataTypeArray(s.imageType),c=s.numDims*this.getDataTypeSize(s.imageType),f=this.readSubArray(l,o.ptr,I,c),h=this.readSubArray(l,o.ptr+c,I,c);o.ptr+=2*c;var E,u=!0;for(E=0;E<s.numDims;E++)if(f[E]!==h[E]){u=!1;break}return s.minValues=f,s.maxValues=h,u},readSubArray:function(l,o,s,I){var c;if(s===Uint8Array)c=new Uint8Array(l,o,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(l,o,I)),c=new s(f)}return c},readMask:function(l,o){var s=o.ptr,I=o.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(l,s,4),E={};if(E.numBytes=h.getUint32(0,!0),s+=4,(f===0||c===f)&&E.numBytes!==0)throw"invalid mask";var u,Q;if(f===0)u=new Uint8Array(Math.ceil(c/8)),E.bitset=u,Q=new Uint8Array(c),o.pixels.resultMask=Q,s+=E.numBytes;else if(E.numBytes>0){u=new Uint8Array(Math.ceil(c/8)),h=new DataView(l,s,E.numBytes);var C=h.getInt16(0,!0),p=2,w=0,d=0;do{if(C>0)for(;C--;)u[w++]=h.getUint8(p++);else for(d=h.getUint8(p++),C=-C;C--;)u[w++]=d;C=h.getInt16(p,!0),p+=2}while(p<E.numBytes);if(C!==-32768||w<u.length)throw"Unexpected end of mask RLE encoding";Q=new Uint8Array(c);var B=0,_=0;for(_=0;_<c;_++)_&7?(B=u[_>>3],B<<=_&7):B=u[_>>3],B&128&&(Q[_]=1);o.pixels.resultMask=Q,E.bitset=u,s+=E.numBytes}return o.ptr=s,o.mask=E,!0},readDataOneSweep:function(l,o,s,I){var c=o.ptr,f=o.headerInfo,h=f.numDims,E=f.width*f.height,u=f.imageType,Q=f.numValidPixel*r.getDataTypeSize(u)*h,C,p=o.pixels.resultMask;if(s===Uint8Array)C=new Uint8Array(l,c,Q);else{var w=new ArrayBuffer(Q),d=new Uint8Array(w);d.set(new Uint8Array(l,c,Q)),C=new s(w)}if(C.length===E*h)I?o.pixels.resultPixels=r.swapDimensionOrder(C,E,h,s,!0):o.pixels.resultPixels=C;else{o.pixels.resultPixels=new s(E*h);var B=0,_=0,y=0,b=0;if(h>1){if(I){for(_=0;_<E;_++)if(p[_])for(b=_,y=0;y<h;y++,b+=E)o.pixels.resultPixels[b]=C[B++]}else for(_=0;_<E;_++)if(p[_])for(b=_*h,y=0;y<h;y++)o.pixels.resultPixels[b+y]=C[B++]}else for(_=0;_<E;_++)p[_]&&(o.pixels.resultPixels[_]=C[B++])}return c+=Q,o.ptr=c,!0},readHuffmanTree:function(l,o){var s=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(l,o.ptr,16);o.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),E=I.getInt32(12,!0);if(h>=E)return!1;var u=new Uint32Array(E-h);r.decodeBits(l,o,u);var Q=[],C,p,w,d;for(C=h;C<E;C++)p=C-(C<f?0:f),Q[p]={first:u[C-h],second:null};var B=l.byteLength-o.ptr,_=Math.ceil(B/4),y=new ArrayBuffer(_*4),b=new Uint8Array(y);b.set(new Uint8Array(l,o.ptr,B));var x=new Uint32Array(y),D=0,k,O=0;for(k=x[0],C=h;C<E;C++)p=C-(C<f?0:f),d=Q[p].first,d>0&&(Q[p].second=k<<D>>>32-d,32-D>=d?(D+=d,D===32&&(D=0,O++,k=x[O])):(D+=d-32,O++,k=x[O],Q[p].second|=k>>>32-D));var S=0,m=0,N=new g;for(C=0;C<Q.length;C++)Q[C]!==void 0&&(S=Math.max(S,Q[C].first));S>=s?m=s:m=S;var G=[],F,T,R,Y,J,P;for(C=h;C<E;C++)if(p=C-(C<f?0:f),d=Q[p].first,d>0)if(F=[d,p],d<=m)for(T=Q[p].second<<m-d,R=1<<m-d,w=0;w<R;w++)G[T|w]=F;else for(T=Q[p].second,P=N,Y=d-1;Y>=0;Y--)J=T>>>Y&1,J?(P.right||(P.right=new g),P=P.right):(P.left||(P.left=new g),P=P.left),Y===0&&!P.val&&(P.val=F[1]);return{decodeLut:G,numBitsLUTQick:m,numBitsLUT:S,tree:N,stuffedData:x,srcPtr:O,bitPos:D}},readHuffman:function(l,o,s,I){var c=o.headerInfo,f=c.numDims,h=o.headerInfo.height,E=o.headerInfo.width,u=E*h,Q=this.readHuffmanTree(l,o),C=Q.decodeLut,p=Q.tree,w=Q.stuffedData,d=Q.srcPtr,B=Q.bitPos,_=Q.numBitsLUTQick,y=Q.numBitsLUT,b=o.headerInfo.imageType===0?128:0,x,D,k,O=o.pixels.resultMask,S,m,N,G,F,T,R,Y=0;B>0&&(d++,B=0);var J=w[d],P=o.encodeMode===1,L=new s(u*f),v=L,U;if(f<2||P){for(U=0;U<f;U++)if(f>1&&(v=new s(L.buffer,u*U,u),Y=0),o.headerInfo.numValidPixel===E*h)for(T=0,G=0;G<h;G++)for(F=0;F<E;F++,T++){if(D=0,S=J<<B>>>32-_,m=S,32-B<_&&(S|=w[d+1]>>>64-B-_,m=S),C[m])D=C[m][1],B+=C[m][0];else for(S=J<<B>>>32-y,m=S,32-B<y&&(S|=w[d+1]>>>64-B-y,m=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,B=B+R+1;break}B>=32&&(B-=32,d++,J=w[d]),k=D-b,P?(F>0?k+=Y:G>0?k+=v[T-E]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}else for(T=0,G=0;G<h;G++)for(F=0;F<E;F++,T++)if(O[T]){if(D=0,S=J<<B>>>32-_,m=S,32-B<_&&(S|=w[d+1]>>>64-B-_,m=S),C[m])D=C[m][1],B+=C[m][0];else for(S=J<<B>>>32-y,m=S,32-B<y&&(S|=w[d+1]>>>64-B-y,m=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,B=B+R+1;break}B>=32&&(B-=32,d++,J=w[d]),k=D-b,P?(F>0&&O[T-1]?k+=Y:G>0&&O[T-E]?k+=v[T-E]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}}else for(T=0,G=0;G<h;G++)for(F=0;F<E;F++)if(T=G*E+F,!O||O[T])for(U=0;U<f;U++,T+=u){if(D=0,S=J<<B>>>32-_,m=S,32-B<_&&(S|=w[d+1]>>>64-B-_,m=S),C[m])D=C[m][1],B+=C[m][0];else for(S=J<<B>>>32-y,m=S,32-B<y&&(S|=w[d+1]>>>64-B-y,m=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,B=B+R+1;break}B>=32&&(B-=32,d++,J=w[d]),k=D-b,v[T]=k}o.ptr=o.ptr+(d+1)*4+(B>0?4:0),o.pixels.resultPixels=L,f>1&&!I&&(o.pixels.resultPixels=r.swapDimensionOrder(L,u,f,s))},decodeBits:function(l,o,s,I,c){{var f=o.headerInfo,h=f.fileVersion,E=0,u=l.byteLength-o.ptr>=5?5:l.byteLength-o.ptr,Q=new DataView(l,o.ptr,u),C=Q.getUint8(0);E++;var p=C>>6,w=p===0?4:3-p,d=(C&32)>0,B=C&31,_=0;if(w===1)_=Q.getUint8(E),E++;else if(w===2)_=Q.getUint16(E,!0),E+=2;else if(w===4)_=Q.getUint32(E,!0),E+=4;else throw"Invalid valid pixel count type";var y=2*f.maxZError,b,x,D,k,O,S,m,N,G,F,T=f.numDims>1?f.maxValues[c]:f.zMax;if(d){for(o.counter.lut++,N=Q.getUint8(E),G=B,E++,k=Math.ceil((N-1)*B/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),o.ptr+=E,D.set(new Uint8Array(l,o.ptr,k)),m=new Uint32Array(x),o.ptr+=k,F=0;N-1>>>F;)F++;k=Math.ceil(_*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(l,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?S=n.unstuffLUT2(m,B,N-1,I,y,T):S=n.unstuffLUT(m,B,N-1,I,y,T),h>=3?n.unstuff2(b,s,F,_,S):n.unstuff(b,s,F,_,S)}else o.counter.bitstuffer++,F=B,o.ptr+=E,F>0&&(k=Math.ceil(_*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(l,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?I==null?n.originalUnstuff2(b,s,F,_):n.unstuff2(b,s,F,_,!1,I,y,T):I==null?n.originalUnstuff(b,s,F,_):n.unstuff(b,s,F,_,!1,I,y,T))}},readTiles:function(l,o,s,I){var c=o.headerInfo,f=c.width,h=c.height,E=f*h,u=c.microBlockSize,Q=c.imageType,C=r.getDataTypeSize(Q),p=Math.ceil(f/u),w=Math.ceil(h/u);o.pixels.numBlocksY=w,o.pixels.numBlocksX=p,o.pixels.ptr=0;var d=0,B=0,_=0,y=0,b=0,x=0,D=0,k=0,O=0,S=0,m=0,N=0,G=0,F=0,T=0,R=0,Y,J,P,L,v,U,V=new s(u*u),z=h%u||u,j=f%u||u,X,te,Ie=c.numDims,Ke,de=o.pixels.resultMask,he=o.pixels.resultPixels,$s=c.fileVersion,dn=$s>=5?14:15,Re,Wt=c.zMax,Te;for(_=0;_<w;_++)for(b=_!==w-1?u:z,y=0;y<p;y++)for(x=y!==p-1?u:j,m=_*f*u+y*u,N=f-x,Ke=0;Ke<Ie;Ke++){if(Ie>1?(Te=he,m=_*f*u+y*u,he=new s(o.pixels.resultPixels.buffer,E*Ke*C,E),Wt=c.maxValues[Ke]):Te=null,D=l.byteLength-o.ptr,Y=new DataView(l,o.ptr,Math.min(10,D)),J={},R=0,k=Y.getUint8(0),R++,Re=c.fileVersion>=5?k&4:0,O=k>>6&255,S=k>>2&dn,S!==(y*u>>3&dn)||Re&&Ke===0)throw"integrity issue";if(U=k&3,U>3)throw o.ptr+=R,"Invalid block encoding ("+U+")";if(U===2){if(Re)if(de)for(d=0;d<b;d++)for(B=0;B<x;B++)de[m]&&(he[m]=Te[m]),m++;else for(d=0;d<b;d++)for(B=0;B<x;B++)he[m]=Te[m],m++;o.counter.constant++,o.ptr+=R;continue}else if(U===0){if(Re)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=R,G=b*x*C,F=l.byteLength-o.ptr,G=G<F?G:F,P=new ArrayBuffer(G%C===0?G:G+C-G%C),L=new Uint8Array(P),L.set(new Uint8Array(l,o.ptr,G)),v=new s(P),T=0,de)for(d=0;d<b;d++){for(B=0;B<x;B++)de[m]&&(he[m]=v[T++]),m++;m+=N}else for(d=0;d<b;d++){for(B=0;B<x;B++)he[m++]=v[T++];m+=N}o.ptr+=T*C}else if(X=r.getDataTypeUsed(Re&&Q<6?4:Q,O),te=r.getOnePixel(J,R,X,Y),R+=r.getDataTypeSize(X),U===3)if(o.ptr+=R,o.counter.constantoffset++,de)for(d=0;d<b;d++){for(B=0;B<x;B++)de[m]&&(he[m]=Re?Math.min(Wt,Te[m]+te):te),m++;m+=N}else for(d=0;d<b;d++){for(B=0;B<x;B++)he[m]=Re?Math.min(Wt,Te[m]+te):te,m++;m+=N}else if(o.ptr+=R,r.decodeBits(l,o,V,te,Ke),R=0,Re)if(de)for(d=0;d<b;d++){for(B=0;B<x;B++)de[m]&&(he[m]=V[R++]+Te[m]),m++;m+=N}else for(d=0;d<b;d++){for(B=0;B<x;B++)he[m]=V[R++]+Te[m],m++;m+=N}else if(de)for(d=0;d<b;d++){for(B=0;B<x;B++)de[m]&&(he[m]=V[R++]),m++;m+=N}else for(d=0;d<b;d++){for(B=0;B<x;B++)he[m++]=V[R++];m+=N}}Ie>1&&!I&&(o.pixels.resultPixels=r.swapDimensionOrder(o.pixels.resultPixels,E,Ie,s))},formatFileInfo:function(l){return{fileIdentifierString:l.headerInfo.fileIdentifierString,fileVersion:l.headerInfo.fileVersion,imageType:l.headerInfo.imageType,height:l.headerInfo.height,width:l.headerInfo.width,numValidPixel:l.headerInfo.numValidPixel,microBlockSize:l.headerInfo.microBlockSize,blobSize:l.headerInfo.blobSize,maxZError:l.headerInfo.maxZError,pixelType:r.getPixelType(l.headerInfo.imageType),eofOffset:l.eofOffset,mask:l.mask?{numBytes:l.mask.numBytes}:null,pixels:{numBlocksX:l.pixels.numBlocksX,numBlocksY:l.pixels.numBlocksY,maxValue:l.headerInfo.zMax,minValue:l.headerInfo.zMin,noDataValue:l.noDataValue}}},constructConstantSurface:function(l,o){var s=l.headerInfo.zMax,I=l.headerInfo.zMin,c=l.headerInfo.maxValues,f=l.headerInfo.numDims,h=l.headerInfo.height*l.headerInfo.width,E=0,u=0,Q=0,C=l.pixels.resultMask,p=l.pixels.resultPixels;if(C)if(f>1){if(o)for(E=0;E<f;E++)for(Q=E*h,s=c[E],u=0;u<h;u++)C[u]&&(p[Q+u]=s);else for(u=0;u<h;u++)if(C[u])for(Q=u*f,E=0;E<f;E++)p[Q+f]=c[E]}else for(u=0;u<h;u++)C[u]&&(p[u]=s);else if(f>1&&I!==s)if(o)for(E=0;E<f;E++)for(Q=E*h,s=c[E],u=0;u<h;u++)p[Q+u]=s;else for(u=0;u<h;u++)for(Q=u*f,E=0;E<f;E++)p[Q+E]=c[E];else for(u=0;u<h*f;u++)p[u]=s},getDataTypeArray:function(l){var o;switch(l){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(l){var o;switch(l){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(l,o){if(o==null)return!1;var s;switch(l){case 0:s=o>=-128&&o<=127;break;case 1:s=o>=0&&o<=255;break;case 2:s=o>=-32768&&o<=32767;break;case 3:s=o>=0&&o<=65536;break;case 4:s=o>=-2147483648&&o<=2147483647;break;case 5:s=o>=0&&o<=4294967296;break;case 6:s=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:s=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:s=!1}return s},getDataTypeSize:function(l){var o=0;switch(l){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=l}return o},getDataTypeUsed:function(l,o){var s=l;switch(l){case 2:case 4:s=l-o;break;case 3:case 5:s=l-2*o;break;case 6:o===0?s=l:o===1?s=2:s=1;break;case 7:o===0?s=l:s=l-2*o+1;break;default:s=l;break}return s},getOnePixel:function(l,o,s,I){var c=0;switch(s){case 0:c=I.getInt8(o);break;case 1:c=I.getUint8(o);break;case 2:c=I.getInt16(o,!0);break;case 3:c=I.getUint16(o,!0);break;case 4:c=I.getInt32(o,!0);break;case 5:c=I.getUInt32(o,!0);break;case 6:c=I.getFloat32(o,!0);break;case 7:c=I.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(l,o,s,I,c){var f=0,h=0,E=0,u=0,Q=l;if(s>1)if(Q=new I(o*s),c)for(f=0;f<o;f++)for(u=f,E=0;E<s;E++,u+=o)Q[u]=l[h++];else for(f=0;f<o;f++)for(u=f,E=0;E<s;E++,u+=o)Q[h++]=l[u];return Q}},g=function(l,o,s){this.val=l,this.left=o,this.right=s},a={decode:function(l,o){o=o||{};var s=o.noDataValue,I=0,c={};if(c.ptr=o.inputOffset||0,c.pixels={},!!r.readHeaderInfo(l,c)){var f=c.headerInfo,h=f.fileVersion,E=r.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;r.readMask(l,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=o.maskData);var u=f.width*f.height;c.pixels.resultPixels=new E(u*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var Q=!o.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)r.constructConstantSurface(c,Q);else if(h>=4&&r.checkMinMaxRanges(l,c))r.constructConstantSurface(c,Q);else{var C=new DataView(l,c.ptr,2),p=C.getUint8(0);if(c.ptr++,p)r.readDataOneSweep(l,c,E,Q);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=C.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?r.readHuffman(l,c,E,Q):r.readTiles(l,c,E,Q)}else r.readTiles(l,c,E,Q)}c.eofOffset=c.ptr;var d;o.inputOffset?(d=c.headerInfo.blobSize+o.inputOffset-c.ptr,Math.abs(d)>=1&&(c.eofOffset=o.inputOffset+c.headerInfo.blobSize)):(d=c.headerInfo.blobSize-c.ptr,Math.abs(d)>=1&&(c.eofOffset=c.headerInfo.blobSize));var B={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&r.isValidPixelValue(f.imageType,s)){var _=c.pixels.resultMask;for(I=0;I<u;I++)_[I]||(B.pixelData[I]=s);B.noDataValue=s}return c.noDataValue=s,o.returnFileInfo&&(B.fileInfo=r.formatFileInfo(c)),B}},getBandCount:function(l){var o=0,s=0,I={};for(I.ptr=0,I.pixels={};s<l.byteLength-58;)r.readHeaderInfo(l,I),s+=I.headerInfo.blobSize,o++,I.ptr=s;return o}};return a}(),A=function(){var n=new ArrayBuffer(4),r=new Uint8Array(n),g=new Uint32Array(n);return g[0]=1,r[0]===1}(),i={decode:function(n,r){if(!A)throw"Big endian system is not supported.";r=r||{};var g=r.inputOffset||0,a=new Uint8Array(n,g,10),l=String.fromCharCode.apply(null,a),o,s;if(l.trim()==="CntZImage")o=e,s=1;else if(l.substring(0,5)==="Lerc2")o=t,s=2;else throw"Unexpected file identifier string: "+l;for(var I=0,c=n.byteLength-10,f,h=[],E,u,Q={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]},C=0;g<c;){var p=o.decode(n,{inputOffset:g,encodedMaskData:f,maskData:u,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:r.returnPixelInterleavedDims,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});g=p.fileInfo.eofOffset,u=p.maskData,I===0&&(f=p.encodedMaskData,Q.width=p.width,Q.height=p.height,Q.dimCount=p.dimCount||1,Q.pixelType=p.pixelType||p.fileInfo.pixelType,Q.mask=u),s>1&&(u&&h.push(u),p.fileInfo.mask&&p.fileInfo.mask.numBytes>0&&C++),I++,Q.pixels.push(p.pixelData),Q.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}var w,d,B;if(s>1&&C>1){for(B=Q.width*Q.height,Q.bandMasks=h,u=new Uint8Array(B),u.set(h[0]),w=1;w<h.length;w++)for(E=h[w],d=0;d<B;d++)u[d]=u[d]&E[d];Q.maskData=u}return Q}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Gt<"u"&&Gt.exports?Gt.exports=i:this.Lerc=i})()});var JA,Fe,Xi,Zi,Mt,Po,Zo=ue(()=>{Zi={env:{emscripten_notify_memory_growth:function(e){Xi=new Uint8Array(Fe.exports.memory.buffer)}}},Mt=class{init(){return JA||(typeof fetch<"u"?JA=fetch("data:application/wasm;base64,"+Po).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Zi)).then(this._init):JA=WebAssembly.instantiate(Buffer.from(Po,"base64"),Zi).then(this._init),JA)}_init(t){Fe=t.instance,Zi.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!Fe)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,n=Fe.exports.malloc(i);Xi.set(t,n),A=A||Number(Fe.exports.ZSTD_findDecompressedSize(n,i));let r=Fe.exports.malloc(A),g=Fe.exports.ZSTD_decompress(r,A,n,i),a=Xi.slice(r,r+g);return Fe.exports.free(n),Fe.exports.free(r),a}},Po="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ"});var Wo={};ve(Wo,{default:()=>Ot,zstd:()=>jo});var Xo,jo,Ot,$o=ue(()=>{Pi();Xo=Ve(zo(),1);Zo();Ue();ct();jo=new Mt,Ot=class extends ee{constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[or.AddCompression]}decodeBlock(t){switch(this.addCompression){case ft.None:break;case ft.Deflate:t=vt(new Uint8Array(t)).buffer;break;case ft.Zstandard:t=jo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Xo.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var es={};ve(es,{default:()=>qt});var qt,As=ue(()=>{Ue();qt=class extends ee{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),n=await createImageBitmap(i),r;typeof document<"u"?(r=document.createElement("canvas"),r.width=n.width,r.height=n.height):r=new OffscreenCanvas(n.width,n.height);let g=r.getContext("2d");return g.drawImage(n,0,0),g.getImageData(0,0,n.width,n.height).data.buffer}}});var us=Ce(()=>{});var Es=Ce(()=>{});var Bs=Ce(()=>{});var $A={};ve($A,{GeoTIFFLoader:()=>Ds,TiffPixelSource:()=>QA,loadGeoTiff:()=>Ws});tt($A,Ve(pn(),1));var wn="Cannot convert undefined or null to object";function K(e){return(t,...A)=>oa(e,t,A)}function tA(e,t){return K(it(e,t).get)}var{apply:oa,construct:Ec,defineProperty:Bc,get:Cc,getOwnPropertyDescriptor:it,getPrototypeOf:nt,has:dc,ownKeys:_n,set:Qc,setPrototypeOf:pc}=Reflect;var{EPSILON:mn,MAX_SAFE_INTEGER:wc,isFinite:sa,isNaN:aa}=Number,{iterator:iA,species:yc,toStringTag:ga,for:_c}=Symbol,rt=Object,{create:ot,defineProperty:xn,freeze:mc,is:xc}=rt,$t=rt.prototype,Dc=$t.__lookupGetter__?K($t.__lookupGetter__):(e,t)=>{if(e==null)throw Ia(wn);let A=rt(e);do{let i=it(A,t);if(i!==void 0)return la(i,"get")?i.get:void 0}while((A=nt(A))!==null)},la=rt.hasOwn||K($t.hasOwnProperty),Dn=Array,bc=Dn.isArray,st=Dn.prototype,Sc=K(st.join),kc=K(st.push),Fc=K(st.toLocaleString),ei=st[iA],bn=K(ei),{abs:fa,trunc:Nc}=Math,at=ArrayBuffer,Rc=at.isView,Sn=at.prototype,Tc=K(Sn.slice),vc=tA(Sn,"byteLength"),yn=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,Uc=yn&&tA(yn.prototype,"byteLength"),kn=nt(Uint8Array),Lc=kn.from,ie=kn.prototype,Gc=ie[iA],Mc=K(ie.keys),Oc=K(ie.values),qc=K(ie.entries),Yc=K(ie.set),Hc=K(ie.reverse),Jc=K(ie.fill),Kc=K(ie.copyWithin),Vc=K(ie.sort),zc=K(ie.slice),Pc=K(ie.subarray),Zc=tA(ie,"buffer"),Xc=tA(ie,"byteOffset"),jc=tA(ie,"length"),Wc=tA(ie,ga),Fn=Uint8Array,Ai=Uint16Array;var gt=Uint32Array,Nn=Float32Array,nA=nt([][iA]()),ti=K(nA.next),Rn=K(function*(){}().next),Tn=nt(nA),vn=DataView.prototype,Un=K(vn.getUint16),ca=K(vn.setUint16),Ia=TypeError;var ha=WeakSet,Ln=ha.prototype,$c=K(Ln.add),eI=K(Ln.has),lt=WeakMap,ii=lt.prototype,ni=K(ii.get),AI=K(ii.has),Gn=K(ii.set);var Mn=new lt,ua=ot(null,{next:{value:function(){let t=ni(Mn,this);return ti(t)}},[iA]:{value:function(){return this}}});function On(e){if(e[iA]===ei&&nA.next===ti)return e;let t=ot(ua);return Gn(Mn,t,bn(e)),t}var Ea=new lt,Ba=ot(Tn,{next:{value:function(){let t=ni(Ea,this);return Rn(t)},writable:!0,configurable:!0}});for(let e of _n(nA))e!=="next"&&xn(Ba,e,it(nA,e));var Ca=1/mn;var da=6103515625e-14;var qn=.0009765625,oI=qn*da,sI=qn*Ca;var Yn=new at(4),Qa=new Nn(Yn),pa=new gt(Yn),Qe=new Ai(512),pe=new Fn(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(Qe[e]=0,Qe[e|256]=32768,pe[e]=24,pe[e|256]=24):t<-14?(Qe[e]=1024>>-t-14,Qe[e|256]=1024>>-t-14|32768,pe[e]=-t-1,pe[e|256]=-t-1):t<=15?(Qe[e]=t+15<<10,Qe[e|256]=t+15<<10|32768,pe[e]=13,pe[e|256]=13):t<128?(Qe[e]=31744,Qe[e|256]=64512,pe[e]=24,pe[e|256]=24):(Qe[e]=31744,Qe[e|256]=64512,pe[e]=13,pe[e|256]=13)}var ri=new gt(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,ri[e]=t|A}for(let e=1024;e<2048;++e)ri[e]=939524096+(e-1024<<13);var rA=new gt(64);for(let e=1;e<31;++e)rA[e]=e<<23;rA[31]=1199570944;rA[32]=2147483648;for(let e=33;e<63;++e)rA[e]=2147483648+(e-32<<23);rA[63]=3347054592;var Hn=new Ai(64);for(let e=1;e<64;++e)e!==32&&(Hn[e]=1024);function Jn(e){let t=e>>10;return pa[0]=ri[Hn[t]+(e&1023)]+rA[t],Qa[0]}function yA(e,t,...A){return Jn(Un(e,t,...On(A)))}var Ht=Ve(Vn(),1),os=Ve(ir(),1);ct();function sr(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,a=0;g<e.length;++g,a+=3)r=256-e[g]/t*256,n[a]=r,n[a+1]=r,n[a+2]=r;return n}function ar(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,a=0;g<e.length;++g,a+=3)r=e[g]/t*256,n[a]=r,n[a+1]=r,n[a+2]=r;return n}function gr(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r=t.length/3,g=t.length/3*2;for(let a=0,l=0;a<e.length;++a,l+=3){let o=e[a];n[l]=t[o]/65536*256,n[l+1]=t[o+r]/65536*256,n[l+2]=t[o+g]/65536*256}return n}function lr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=4,r+=3){let g=e[n],a=e[n+1],l=e[n+2],o=e[n+3];i[r]=255*((255-g)/256)*((255-o)/256),i[r+1]=255*((255-a)/256)*((255-o)/256),i[r+2]=255*((255-l)/256)*((255-o)/256)}return i}function fr(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n],a=e[n+1],l=e[n+2];i[r]=g+1.402*(l-128),i[r+1]=g-.34414*(a-128)-.71414*(l-128),i[r+2]=g+1.772*(a-128)}return i}var ma=.95047,xa=1,Da=1.08883;function cr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n+0],a=e[n+1]<<24>>24,l=e[n+2]<<24>>24,o=(g+16)/116,s=a/500+o,I=o-l/200,c,f,h;s=ma*(s*s*s>.008856?s*s*s:(s-16/116)/7.787),o=xa*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),I=Da*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=s*3.2406+o*-1.5372+I*-.4986,f=s*-.9689+o*1.8758+I*.0415,h=s*.0557+o*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[r]=Math.max(0,Math.min(1,c))*255,i[r+1]=Math.max(0,Math.min(1,f))*255,i[r+2]=Math.max(0,Math.min(1,h))*255}return i}var ts=new Map;function Ye(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>ts.set(A,t))}async function is(e){let t=ts.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}Ye([void 0,1],()=>Promise.resolve().then(()=>(Er(),ur)).then(e=>e.default));Ye(5,()=>Promise.resolve().then(()=>(dr(),Cr)).then(e=>e.default));Ye(6,()=>{throw new Error("old style JPEG compression is not supported.")});Ye(7,()=>Promise.resolve().then(()=>(wr(),pr)).then(e=>e.default));Ye([8,32946],()=>Promise.resolve().then(()=>(Jo(),Ho)).then(e=>e.default));Ye(32773,()=>Promise.resolve().then(()=>(Vo(),Ko)).then(e=>e.default));Ye(34887,()=>Promise.resolve().then(()=>($o(),Wo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));Ye(50001,()=>Promise.resolve().then(()=>(As(),es)).then(e=>e.default));function Yt(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function uf(e,t,A,i,n){let r=t/i,g=A/n;return e.map(a=>{let l=Yt(a,i,n);for(let o=0;o<n;++o){let s=Math.min(Math.round(g*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(r*I),t-1),f=a[s*t+c];l[o*i+I]=f}}return l})}function BA(e,t,A){return(1-A)*e+A*t}function Ef(e,t,A,i,n){let r=t/i,g=A/n;return e.map(a=>{let l=Yt(a,i,n);for(let o=0;o<n;++o){let s=g*o,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=r*f,E=h%1,u=Math.floor(h),Q=Math.min(Math.ceil(h),t-1),C=a[I*t+u],p=a[I*t+Q],w=a[c*t+u],d=a[c*t+Q],B=BA(BA(C,p,E),BA(w,d,E),s%1);l[o*i+f]=B}}return l})}function ns(e,t,A,i,n,r="nearest"){switch(r.toLowerCase()){case"nearest":return uf(e,t,A,i,n);case"bilinear":case"linear":return Ef(e,t,A,i,n);default:throw new Error(`Unsupported resampling method: '${r}'`)}}function Bf(e,t,A,i,n,r){let g=t/i,a=A/n,l=Yt(e,i,n,r);for(let o=0;o<n;++o){let s=Math.min(Math.round(a*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(g*I),t-1);for(let f=0;f<r;++f){let h=e[s*t*r+c*r+f];l[o*i*r+I*r+f]=h}}}return l}function Cf(e,t,A,i,n,r){let g=t/i,a=A/n,l=Yt(e,i,n,r);for(let o=0;o<n;++o){let s=a*o,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=g*f,E=h%1,u=Math.floor(h),Q=Math.min(Math.ceil(h),t-1);for(let C=0;C<r;++C){let p=e[I*t*r+u*r+C],w=e[I*t*r+Q*r+C],d=e[c*t*r+u*r+C],B=e[c*t*r+Q*r+C],_=BA(BA(p,w,E),BA(d,B,E),s%1);l[o*i*r+f*r+C]=_}}}return l}function rs(e,t,A,i,n,r,g="nearest"){switch(g.toLowerCase()){case"nearest":return Bf(e,t,A,i,n,r);case"bilinear":case"linear":return Cf(e,t,A,i,n,r);default:throw new Error(`Unsupported resampling method: '${g}'`)}}function df(e,t,A){let i=0;for(let n=t;n<A;++n)i+=e[n];return i}function ji(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Qf(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function pf(e,t,A,i,n,r,g){let a=new DataView(e),l=A===2?g*r:g*r*i,o=A===2?1:i,s=ji(t,n,l),I=parseInt("1".repeat(n),2);if(t===1){let c;A===1?c=i*n:c=n;let f=r*c;f&7&&(f=f+7&-8);for(let h=0;h<g;++h){let E=h*f;for(let u=0;u<r;++u){let Q=E+u*o*n;for(let C=0;C<o;++C){let p=Q+C*n,w=(h*r+u)*o+C,d=Math.floor(p/8),B=p%8;if(B+n<=8)s[w]=a.getUint8(d)>>8-n-B&I;else if(B+n<=16)s[w]=a.getUint16(d)>>16-n-B&I;else if(B+n<=24){let _=a.getUint16(d)<<8|a.getUint8(d+2);s[w]=_>>24-n-B&I}else s[w]=a.getUint32(d)>>32-n-B&I}}}}return s.buffer}var Wi=class{constructor(t,A,i,n,r,g){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=n,this.tiles=r?{}:null,this.isTiled=!t.StripOffsets;let a=t.PlanarConfiguration;if(this.planarConfiguration=typeof a>"u"?1:a,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=g}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(n,r){return yA(this,n,r)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),n=this.getBitsPerSample(t);return ji(i,n,A)}async getTileOrStrip(t,A,i,n,r){let g=Math.ceil(this.getWidth()/this.getTileWidth()),a=Math.ceil(this.getHeight()/this.getTileHeight()),l,{tiles:o}=this;this.planarConfiguration===1?l=A*g+t:this.planarConfiguration===2&&(l=i*g*a+A*g+t);let s,I;this.isTiled?(s=this.fileDirectory.TileOffsets[l],I=this.fileDirectory.TileByteCounts[l]):(s=this.fileDirectory.StripOffsets[l],I=this.fileDirectory.StripByteCounts[l]);let c=(await this.source.fetch([{offset:s,length:I}],r))[0],f;return o===null||!o[l]?(f=(async()=>{let h=await n.decode(this.fileDirectory,c),E=this.getSampleFormat(),u=this.getBitsPerSample();return Qf(E,u)&&(h=pf(h,E,this.planarConfiguration,this.getSamplesPerPixel(),u,this.getTileWidth(),this.getBlockHeight(A))),h})(),o!==null&&(o[l]=f)):f=o[l],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,n,r,g,a,l,o){let s=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/s),0),E=Math.min(Math.ceil(t[2]/s),Math.ceil(c/s)),u=Math.max(Math.floor(t[1]/I),0),Q=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),C=t[2]-t[0],p=this.getBytesPerPixel(),w=[],d=[];for(let y=0;y<A.length;++y)this.planarConfiguration===1?w.push(df(this.fileDirectory.BitsPerSample,0,A[y])/8):w.push(0),d.push(this.getReaderForSample(A[y]));let B=[],{littleEndian:_}=this;for(let y=u;y<Q;++y)for(let b=h;b<E;++b){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(b,y,0,r,o));for(let D=0;D<A.length;++D){let k=D,O=A[D];this.planarConfiguration===2&&(p=this.getSampleByteSize(O),x=this.getTileOrStrip(b,y,O,r,o));let S=x.then(m=>{let N=m.data,G=new DataView(N),F=this.getBlockHeight(m.y),T=m.y*I,R=m.x*s,Y=T+F,J=(m.x+1)*s,P=d[k],L=Math.min(F,F-(Y-t[3]),f-T),v=Math.min(s,s-(J-t[2]),c-R);for(let U=Math.max(0,t[1]-T);U<L;++U)for(let V=Math.max(0,t[0]-R);V<v;++V){let z=(U*s+V)*p,j=P.call(G,z+w[k],_),X;n?(X=(U+T-t[1])*C*A.length+(V+R-t[0])*A.length+k,i[X]=j):(X=(U+T-t[1])*C+V+R-t[0],i[k][X]=j)}});B.push(S)}}if(await Promise.all(B),g&&t[2]-t[0]!==g||a&&t[3]-t[1]!==a){let y;return n?y=rs(i,t[2]-t[0],t[3]-t[1],g,a,A.length,l):y=ns(i,t[2]-t[0],t[3]-t[1],g,a,l),y.width=g,y.height=a,y}return i.width=g||t[2]-t[0],i.height=a||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:n=null,width:r,height:g,resampleMethod:a,fillValue:l,signal:o}={}){let s=t||[0,0,this.getWidth(),this.getHeight()];if(s[0]>s[2]||s[1]>s[3])throw new Error("Invalid subsets");let I=s[2]-s[0],c=s[3]-s[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let C=0;C<h;++C)A.push(C);else for(let C=0;C<A.length;++C)if(A[C]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[C]}'.`));let E;if(i){let C=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,p=Math.max.apply(null,this.fileDirectory.BitsPerSample);E=ji(C,p,f*A.length),l&&E.fill(l)}else{E=[];for(let C=0;C<A.length;++C){let p=this.getArrayForSample(A[C],f);Array.isArray(l)&&C<l.length?p.fill(l[C]):l&&!Array.isArray(l)&&p.fill(l),E.push(p)}}let u=n||await is(this.fileDirectory);return await this._readRaster(s,A,E,i,u,r,g,a,o)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:n,height:r,resampleMethod:g,enableAlpha:a=!1,signal:l}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let s=this.fileDirectory.PhotometricInterpretation;if(s===oe.RGB){let Q=[0,1,2];if(this.fileDirectory.ExtraSamples!==rr.Unspecified&&a){Q=[];for(let C=0;C<this.fileDirectory.BitsPerSample.length;C+=1)Q.push(C)}return this.readRasters({window:t,interleave:A,samples:Q,pool:i,width:n,height:r,resampleMethod:g,signal:l})}let I;switch(s){case oe.WhiteIsZero:case oe.BlackIsZero:case oe.Palette:I=[0];break;case oe.CMYK:I=[0,1,2,3];break;case oe.YCbCr:case oe.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:o,interleave:!0,samples:I,pool:i,width:n,height:r,resampleMethod:g,signal:l},{fileDirectory:f}=this,h=await this.readRasters(c),E=2**this.fileDirectory.BitsPerSample[0],u;switch(s){case oe.WhiteIsZero:u=sr(h,E);break;case oe.BlackIsZero:u=ar(h,E);break;case oe.Palette:u=gr(h,f.ColorMap);break;case oe.CMYK:u=lr(h);break;case oe.YCbCr:u=fr(h);break;case oe.CIELab:u=cr(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let Q=new Uint8Array(u.length/3),C=new Uint8Array(u.length/3),p=new Uint8Array(u.length/3);for(let w=0,d=0;w<u.length;w+=3,++d)Q[d]=u[w],C[d]=u[w+1],p[d]=u[w+2];u=[Q,C,p]}return u.width=h.width,u.height=h.height,u}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,n=(0,os.default)(i,"Item");t===null?n=n.filter(r=>(0,Ht.default)(r,"sample")===void 0):n=n.filter(r=>Number((0,Ht.default)(r,"sample"))===t);for(let r=0;r<n.length;++r){let g=n[r];A[(0,Ht.default)(g,"name")]=g.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[n,r,g]=t.getResolution();return[n*t.getWidth()/this.getWidth(),r*t.getHeight()/this.getHeight(),g*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[n,r,g,a,l,o,s,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([u,Q])=>[a+n*u+r*Q,I+l*u+o*Q]),h=f.map(u=>u[0]),E=f.map(u=>u[1]);return[Math.min(...h),Math.min(...E),Math.max(...h),Math.max(...E)]}else{let n=this.getOrigin(),r=this.getResolution(),g=n[0],a=n[1],l=g+r[0]*i,o=a+r[1]*A;return[Math.min(g,l),Math.min(a,o),Math.max(g,l),Math.max(a,o)]}}},ss=Wi;var KA=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),n=this.getUint32(t+4,A),r;if(A){if(r=i+2**32*n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*i+n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}getInt64(t,A){let i=0,n=(this._dataView.getUint8(t+(A?7:0))&128)>0,r=!0;for(let g=0;g<8;g++){let a=this._dataView.getUint8(t+(A?g:7-g));n&&(r?a!==0&&(a=~(a-1)&255,r=!1):a=~a&255),i+=a*256**g}return n&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return yA(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var VA=class{constructor(t,A,i,n){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),n;if(this._littleEndian){if(n=A+2**32*i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*A+i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,n=!0;for(let r=0;r<8;r++){let g=this._dataView.getUint8(t+(this._littleEndian?r:7-r));i&&(n?g!==0&&(g=~(g-1)&255,n=!1):g=~g&255),A+=g*256**r}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var as=`\r
|
|
16
10
|
\r
|
|
17
|
-
`;function
|
|
18
|
-
`).map(A=>{let i=A.split(":").map(r=>r.trim());return i[0]=i[0].toLowerCase(),i});return os(t)}function ss(e){let[t,...A]=e.split(";").map(r=>r.trim()),i=A.map(r=>r.split("="));return{type:t,params:os(i)}}function Mt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function as(e,t){let A=null,i=new TextDecoder("ascii"),r=[],n=`--${t}`,l=`${n}--`;for(let s=0;s<10;++s)i.decode(new Uint8Array(e,s,n.length))===n&&(A=s);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let s=i.decode(new Uint8Array(e,A,Math.min(n.length+1024,e.byteLength-A)));if(s.length===0||s.startsWith(l))break;if(!s.startsWith(n))throw new Error("Part does not start with boundary");let g=s.substr(n.length+2);if(g.length===0)break;let o=g.indexOf(ns),a=Yf(g.substr(0,o)),{start:I,end:c,total:f}=Mt(a["content-range"]),h=A+n.length+o+ns.length,u=parseInt(c,10)+1-parseInt(I,10);r.push({headers:a,data:e.slice(h,h+u),offset:I,length:u,fileSize:f}),A=h+u+4}return r}var _e=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var JA=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let r=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:r}):this._set(t,{value:A,expiry:r}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this.cache.has(r)||this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,r]of this.entriesAscending())t.call(A,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function gs(e){return new Promise(t=>setTimeout(t,e))}function ls(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((r,n)=>[r,i[n]])}var fe=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,fe),this.name="AbortError"}},Pi=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},fs=Pi;var zi=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Ot=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},qt=class extends _e{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new JA({maxSize:i,onEviction:(r,n)=>{this.evictedBlocks.set(r,n)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],r=[],n=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:u}=this;u!==null&&(h=Math.min(h,u));let B=Math.floor(c/this.blockSize)*this.blockSize;for(let Q=B;Q<h;Q+=this.blockSize){let C=Math.floor(Q/this.blockSize);!this.blockCache.has(C)&&!this.blockRequests.has(C)&&(this.blockIdsToFetch.add(C),r.push(C)),this.blockRequests.has(C)&&i.push(this.blockRequests.get(C)),n.push(C)}}await gs(),this.fetchBlocks(A);let l=[];for(let c of r)this.blockRequests.has(c)&&l.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(l);let s=[],g=n.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(g.forEach(c=>this.blockIdsToFetch.add(c)),g.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of g){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);s.push(f)}await Promise.allSettled(s)}if(A&&A.aborted)throw new fe("Request was aborted");let o=n.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),a=o.filter(c=>!c);if(a.length)throw new fs(a,"Request failed");let I=new Map(ls(n,o));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let r=0;r<A.length;++r){let n=A[r];for(let l of n.blockIds)this.blockRequests.set(l,(async()=>{try{let s=(await i)[r],g=l*this.blockSize,o=g-s.offset,a=Math.min(o+this.blockSize,s.data.byteLength),I=s.data.slice(o,a),c=new zi(g,I.byteLength,I,l);this.blockCache.set(l,c),this.abortedBlockIds.delete(l)}catch(s){if(s.name==="AbortError")s.signal=t,this.blockCache.delete(l),this.abortedBlockIds.add(l);else throw s}finally{this.blockRequests.delete(l)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((l,s)=>l-s);if(A.length===0)return[];let i=[],r=null,n=[];for(let l of A)r===null||r+1===l?(i.push(l),r=l):(n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[l],r=l);return n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),n}readSliceData(t,A){return t.map(i=>{let r=i.offset+i.length;this.fileSize!==null&&(r=Math.min(this.fileSize,r));let n=Math.floor(i.offset/this.blockSize),l=Math.floor(r/this.blockSize),s=new ArrayBuffer(i.length),g=new Uint8Array(s);for(let o=n;o<=l;++o){let a=A.get(o),I=a.offset-i.offset,c=a.top-r,f=0,h=0,u;I<0?f=-I:I>0&&(h=I),c<0?u=a.length-f:u=r-a.offset-f;let B=new Uint8Array(a.data,f,u);g.set(B,h)}return s})}};var He=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},Je=class{constructor(t){this.url=t}async request({headers:t,signal:A}={}){throw new Error("request is not implemented")}};var Zi=class extends He{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},Yt=class extends Je{constructor(t,A){super(t),this.credentials=A}async request({headers:t,signal:A}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:A});return new Zi(i)}};var Xi=class extends He{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Ht=class extends Je{constructRequest(t,A){return new Promise((i,r)=>{let n=new XMLHttpRequest;n.open("GET",this.url),n.responseType="arraybuffer";for(let[l,s]of Object.entries(t))n.setRequestHeader(l,s);n.onload=()=>{let l=n.response;i(new Xi(n,l))},n.onerror=r,n.onabort=()=>r(new fe("Request aborted")),n.send(),A&&(A.aborted&&n.abort(),A.addEventListener("abort",()=>n.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var us=ve(cs(),1),Bs=ve(Is(),1),Es=ve(hs(),1);var ji=class extends He{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Jt=class extends Je{constructor(t){super(t),this.parsedUrl=Es.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?us.default:Bs.default}constructRequest(t,A){return new Promise((i,r)=>{let n=this.httpApi.get({...this.parsedUrl,headers:t},l=>{let s=new Promise(g=>{let o=[];l.on("data",a=>{o.push(a)}),l.on("end",()=>{let a=Buffer.concat(o).buffer;g(a)}),l.on("error",r)});i(new ji(l,s))});n.on("error",r),A&&(A.aborted&&n.destroy(new fe("Request aborted")),A.addEventListener("abort",()=>n.destroy(new fe("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var KA=class extends _e{constructor(t,A,i,r){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=r,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:r,length:n})=>`${r}-${r+n}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:r,params:n}=ss(i.getHeader("content-type"));if(r==="multipart/byteranges"){let I=as(await i.getData(),n.boundary);return this._fileSize=I[0].fileSize||null,I}let l=await i.getData(),{start:s,end:g,total:o}=Mt(i.getHeader("content-range"));this._fileSize=o||null;let a=[{data:l,offset:s,length:g-s}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return a.concat(I)}return a}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let r=await i.getData();return this._fileSize=r.byteLength,[{data:r,offset:0,length:r.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:r}=t,n=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+r}`},signal:A});if(n.ok)if(n.status===206){let l=await n.getData(),{total:s}=Mt(n.getHeader("content-range"));return this._fileSize=s||null,{data:l,offset:i,length:r}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let l=await n.getData();return this._fileSize=l.byteLength,{data:l,offset:0,length:l.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function $i(e,{blockSize:t,cacheSize:A}){return t===null?e:new qt(e,{blockSize:t,cacheSize:A})}function Hf(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:r=!1,...n}={}){let l=new Yt(e,A),s=new KA(l,t,i,r);return $i(s,n)}function Jf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Ht(e),l=new KA(n,t,A,i);return $i(l,r)}function Kf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Jt(e),l=new KA(n,t,A,i);return $i(l,r)}function Cs(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?Hf(e,A):typeof XMLHttpRequest<"u"?Jf(e,A):Kf(e,A)}var Wi=class extends _e{constructor(t){super(),this.arrayBuffer=t}fetchSlice(t,A){if(A&&A.aborted)throw new fe("Request aborted");return this.arrayBuffer.slice(t.offset,t.offset+t.length)}};function ds(e){return new Wi(e)}var er=class extends _e{constructor(t){super(),this.file=t}async fetchSlice(t,A){return new Promise((i,r)=>{let n=this.file.slice(t.offset,t.offset+t.length),l=new FileReader;l.onload=s=>i(s.target.result),l.onerror=r,l.onabort=r,l.readAsArrayBuffer(n),A&&A.addEventListener("abort",()=>l.abort())})}};function Qs(e){return new er(e)}st();function Ar(e){switch(e){case M.BYTE:case M.ASCII:case M.SBYTE:case M.UNDEFINED:return 1;case M.SHORT:case M.SSHORT:return 2;case M.LONG:case M.SLONG:case M.FLOAT:case M.IFD:return 4;case M.RATIONAL:case M.SRATIONAL:case M.DOUBLE:case M.LONG8:case M.SLONG8:case M.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function Vf(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let r=pA[t[i]],n=t[i+1]?nA[t[i+1]]:null,l=t[i+2],s=t[i+3],g=null;if(!n)g=s;else{if(g=e[n],typeof g>"u"||g===null)throw new Error(`Could not get value of geoKey '${r}'.`);typeof g=="string"?g=g.substring(s,s+l-1):g.subarray&&(g=g.subarray(s,s+l),l===1&&(g=g[0]))}A[r]=g}return A}function EA(e,t,A,i){let r=null,n=null,l=Ar(t);switch(t){case M.BYTE:case M.ASCII:case M.UNDEFINED:r=new Uint8Array(A),n=e.readUint8;break;case M.SBYTE:r=new Int8Array(A),n=e.readInt8;break;case M.SHORT:r=new Uint16Array(A),n=e.readUint16;break;case M.SSHORT:r=new Int16Array(A),n=e.readInt16;break;case M.LONG:case M.IFD:r=new Uint32Array(A),n=e.readUint32;break;case M.SLONG:r=new Int32Array(A),n=e.readInt32;break;case M.LONG8:case M.IFD8:r=new Array(A),n=e.readUint64;break;case M.SLONG8:r=new Array(A),n=e.readInt64;break;case M.RATIONAL:r=new Uint32Array(A*2),n=e.readUint32;break;case M.SRATIONAL:r=new Int32Array(A*2),n=e.readInt32;break;case M.FLOAT:r=new Float32Array(A),n=e.readFloat32;break;case M.DOUBLE:r=new Float64Array(A),n=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===M.RATIONAL||t===M.SRATIONAL)for(let s=0;s<A;s+=2)r[s]=n.call(e,i+s*l),r[s+1]=n.call(e,i+(s*l+4));else for(let s=0;s<A;++s)r[s]=n.call(e,i+s*l);return t===M.ASCII?new TextDecoder("utf-8").decode(r):r}var tr=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},CA=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},ir=class{async readRasters(t={}){let{window:A,width:i,height:r}=t,{resX:n,resY:l,bbox:s}=t,g=await this.getImage(),o=g,a=await this.getImageCount(),I=g.getBoundingBox();if(A&&s)throw new Error('Both "bbox" and "window" passed.');if(i||r){if(A){let[h,u]=g.getOrigin(),[B,Q]=g.getResolution();s=[h+A[0]*B,u+A[1]*Q,h+A[2]*B,u+A[3]*Q]}let f=s||I;if(i){if(n)throw new Error("Both width and resX passed");n=(f[2]-f[0])/i}if(r){if(l)throw new Error("Both width and resY passed");l=(f[3]-f[1])/r}}if(n||l){let f=[];for(let h=0;h<a;++h){let u=await this.getImage(h),{SubfileType:B,NewSubfileType:Q}=u.fileDirectory;(h===0||B===2||Q&1)&&f.push(u)}f.sort((h,u)=>h.getWidth()-u.getWidth());for(let h=0;h<f.length;++h){let u=f[h],B=(I[2]-I[0])/u.getWidth(),Q=(I[3]-I[1])/u.getHeight();if(o=u,n&&n>B||l&&l>Q)break}}let c=A;if(s){let[f,h]=g.getOrigin(),[u,B]=o.getResolution(g);c=[Math.round((s[0]-f)/u),Math.round((s[1]-h)/B),Math.round((s[2]-f)/u),Math.round((s[3]-h)/B)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return o.readRasters({...t,window:c})}},ke=class extends ir{constructor(t,A,i,r,n={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=r,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new HA((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,r=await this.getSlice(t),n=this.bigTiff?r.readUint64(t):r.readUint16(t),l=n*A+(this.bigTiff?16:6);r.covers(t,l)||(r=await this.getSlice(t,l));let s={},g=t+(this.bigTiff?8:2);for(let I=0;I<n;g+=A,++I){let c=r.readUint16(g),f=r.readUint16(g+2),h=this.bigTiff?r.readUint64(g+4):r.readUint32(g+4),u,B,Q=Ar(f),C=g+(this.bigTiff?12:8);if(Q*h<=(this.bigTiff?8:4))u=EA(r,f,h,C);else{let p=r.readOffset(C),w=Ar(f)*h;if(r.covers(p,w))u=EA(r,f,h,p);else{let d=await this.getSlice(p,w);u=EA(d,f,h,p)}}h===1&&en.indexOf(c)===-1&&!(f===M.RATIONAL||f===M.SRATIONAL)?B=u[0]:B=u,s[nA[c]]=B}let o=Vf(s),a=r.readOffset(t+i+A*n);return new tr(s,o,a)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof CA?new CA(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new CA(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new rs(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof CA)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,r=await this.getSlice(t,i);if(A===EA(r,M.ASCII,A.length,t)){let l=EA(r,M.ASCII,i,t).split(`
|
|
19
|
-
`)[0],
|
|
20
|
-
`).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,
|
|
11
|
+
`;function gs(e){if(typeof Object.fromEntries<"u")return Object.fromEntries(e);let t={};for(let[A,i]of e)t[A.toLowerCase()]=i;return t}function wf(e){let t=e.split(`\r
|
|
12
|
+
`).map(A=>{let i=A.split(":").map(n=>n.trim());return i[0]=i[0].toLowerCase(),i});return gs(t)}function ls(e){let[t,...A]=e.split(";").map(n=>n.trim()),i=A.map(n=>n.split("="));return{type:t,params:gs(i)}}function Jt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function fs(e,t){let A=null,i=new TextDecoder("ascii"),n=[],r=`--${t}`,g=`${r}--`;for(let a=0;a<10;++a)i.decode(new Uint8Array(e,a,r.length))===r&&(A=a);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let a=i.decode(new Uint8Array(e,A,Math.min(r.length+1024,e.byteLength-A)));if(a.length===0||a.startsWith(g))break;if(!a.startsWith(r))throw new Error("Part does not start with boundary");let l=a.substr(r.length+2);if(l.length===0)break;let o=l.indexOf(as),s=wf(l.substr(0,o)),{start:I,end:c,total:f}=Jt(s["content-range"]),h=A+r.length+o+as.length,E=parseInt(c,10)+1-parseInt(I,10);n.push({headers:s,data:e.slice(h,h+E),offset:I,length:E,fileSize:f}),A=h+E+4}return n}var De=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var zA=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let n=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:n}):this._set(t,{value:A,expiry:n}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this.cache.has(n)||this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,n]of this.entriesAscending())t.call(A,n,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function cs(e){return new Promise(t=>setTimeout(t,e))}function Is(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((n,r)=>[n,i[r]])}var fe=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,fe),this.name="AbortError"}},$i=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},hs=$i;var en=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Kt=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},Vt=class extends De{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new zA({maxSize:i,onEviction:(n,r)=>{this.evictedBlocks.set(n,r)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],n=[],r=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:E}=this;E!==null&&(h=Math.min(h,E));let u=Math.floor(c/this.blockSize)*this.blockSize;for(let Q=u;Q<h;Q+=this.blockSize){let C=Math.floor(Q/this.blockSize);!this.blockCache.has(C)&&!this.blockRequests.has(C)&&(this.blockIdsToFetch.add(C),n.push(C)),this.blockRequests.has(C)&&i.push(this.blockRequests.get(C)),r.push(C)}}await cs(),this.fetchBlocks(A);let g=[];for(let c of n)this.blockRequests.has(c)&&g.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(g);let a=[],l=r.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(l.forEach(c=>this.blockIdsToFetch.add(c)),l.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of l){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);a.push(f)}await Promise.allSettled(a)}if(A&&A.aborted)throw new fe("Request was aborted");let o=r.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),s=o.filter(c=>!c);if(s.length)throw new hs(s,"Request failed");let I=new Map(Is(r,o));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let n=0;n<A.length;++n){let r=A[n];for(let g of r.blockIds)this.blockRequests.set(g,(async()=>{try{let a=(await i)[n],l=g*this.blockSize,o=l-a.offset,s=Math.min(o+this.blockSize,a.data.byteLength),I=a.data.slice(o,s),c=new en(l,I.byteLength,I,g);this.blockCache.set(g,c),this.abortedBlockIds.delete(g)}catch(a){if(a.name==="AbortError")a.signal=t,this.blockCache.delete(g),this.abortedBlockIds.add(g);else throw a}finally{this.blockRequests.delete(g)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((g,a)=>g-a);if(A.length===0)return[];let i=[],n=null,r=[];for(let g of A)n===null||n+1===g?(i.push(g),n=g):(r.push(new Kt(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[g],n=g);return r.push(new Kt(i[0]*this.blockSize,i.length*this.blockSize,i)),r}readSliceData(t,A){return t.map(i=>{let n=i.offset+i.length;this.fileSize!==null&&(n=Math.min(this.fileSize,n));let r=Math.floor(i.offset/this.blockSize),g=Math.floor(n/this.blockSize),a=new ArrayBuffer(i.length),l=new Uint8Array(a);for(let o=r;o<=g;++o){let s=A.get(o),I=s.offset-i.offset,c=s.top-n,f=0,h=0,E;I<0?f=-I:I>0&&(h=I),c<0?E=s.length-f:E=n-s.offset-f;let u=new Uint8Array(s.data,f,E);l.set(u,h)}return a})}};var He=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},Je=class{constructor(t){this.url=t}async request({headers:t,signal:A}={}){throw new Error("request is not implemented")}};var An=class extends He{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},zt=class extends Je{constructor(t,A){super(t),this.credentials=A}async request({headers:t,signal:A}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:A});return new An(i)}};var tn=class extends He{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Pt=class extends Je{constructRequest(t,A){return new Promise((i,n)=>{let r=new XMLHttpRequest;r.open("GET",this.url),r.responseType="arraybuffer";for(let[g,a]of Object.entries(t))r.setRequestHeader(g,a);r.onload=()=>{let g=r.response;i(new tn(r,g))},r.onerror=n,r.onabort=()=>n(new fe("Request aborted")),r.send(),A&&(A.aborted&&r.abort(),A.addEventListener("abort",()=>r.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var Cs=Ve(us(),1),ds=Ve(Es(),1),Qs=Ve(Bs(),1);var nn=class extends He{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Zt=class extends Je{constructor(t){super(t),this.parsedUrl=Qs.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?Cs.default:ds.default}constructRequest(t,A){return new Promise((i,n)=>{let r=this.httpApi.get({...this.parsedUrl,headers:t},g=>{let a=new Promise(l=>{let o=[];g.on("data",s=>{o.push(s)}),g.on("end",()=>{let s=Buffer.concat(o).buffer;l(s)}),g.on("error",n)});i(new nn(g,a))});r.on("error",n),A&&(A.aborted&&r.destroy(new fe("Request aborted")),A.addEventListener("abort",()=>r.destroy(new fe("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var PA=class extends De{constructor(t,A,i,n){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=n,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:n,length:r})=>`${n}-${n+r}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:n,params:r}=ls(i.getHeader("content-type"));if(n==="multipart/byteranges"){let I=fs(await i.getData(),r.boundary);return this._fileSize=I[0].fileSize||null,I}let g=await i.getData(),{start:a,end:l,total:o}=Jt(i.getHeader("content-range"));this._fileSize=o||null;let s=[{data:g,offset:a,length:l-a}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return s.concat(I)}return s}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let n=await i.getData();return this._fileSize=n.byteLength,[{data:n,offset:0,length:n.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:n}=t,r=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+n}`},signal:A});if(r.ok)if(r.status===206){let g=await r.getData(),{total:a}=Jt(r.getHeader("content-range"));return this._fileSize=a||null,{data:g,offset:i,length:n}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let g=await r.getData();return this._fileSize=g.byteLength,{data:g,offset:0,length:g.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function rn(e,{blockSize:t,cacheSize:A}){return t===null?e:new Vt(e,{blockSize:t,cacheSize:A})}function yf(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:n=!1,...r}={}){let g=new zt(e,A),a=new PA(g,t,i,n);return rn(a,r)}function _f(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new Pt(e),g=new PA(r,t,A,i);return rn(g,n)}function mf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new Zt(e),g=new PA(r,t,A,i);return rn(g,n)}function ps(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?yf(e,A):typeof XMLHttpRequest<"u"?_f(e,A):mf(e,A)}var on=class extends De{constructor(t){super(),this.arrayBuffer=t}fetchSlice(t,A){if(A&&A.aborted)throw new fe("Request aborted");return this.arrayBuffer.slice(t.offset,t.offset+t.length)}};function ws(e){return new on(e)}var sn=class extends De{constructor(t){super(),this.file=t}async fetchSlice(t,A){return new Promise((i,n)=>{let r=this.file.slice(t.offset,t.offset+t.length),g=new FileReader;g.onload=a=>i(a.target.result),g.onerror=n,g.onabort=n,g.readAsArrayBuffer(r),A&&A.addEventListener("abort",()=>g.abort())})}};function ys(e){return new sn(e)}ct();function an(e){switch(e){case M.BYTE:case M.ASCII:case M.SBYTE:case M.UNDEFINED:return 1;case M.SHORT:case M.SSHORT:return 2;case M.LONG:case M.SLONG:case M.FLOAT:case M.IFD:return 4;case M.RATIONAL:case M.SRATIONAL:case M.DOUBLE:case M.LONG8:case M.SLONG8:case M.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function xf(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let n=_A[t[i]],r=t[i+1]?oA[t[i+1]]:null,g=t[i+2],a=t[i+3],l=null;if(!r)l=a;else{if(l=e[r],typeof l>"u"||l===null)throw new Error(`Could not get value of geoKey '${n}'.`);typeof l=="string"?l=l.substring(a,a+g-1):l.subarray&&(l=l.subarray(a,a+g),g===1&&(l=l[0]))}A[n]=l}return A}function CA(e,t,A,i){let n=null,r=null,g=an(t);switch(t){case M.BYTE:case M.ASCII:case M.UNDEFINED:n=new Uint8Array(A),r=e.readUint8;break;case M.SBYTE:n=new Int8Array(A),r=e.readInt8;break;case M.SHORT:n=new Uint16Array(A),r=e.readUint16;break;case M.SSHORT:n=new Int16Array(A),r=e.readInt16;break;case M.LONG:case M.IFD:n=new Uint32Array(A),r=e.readUint32;break;case M.SLONG:n=new Int32Array(A),r=e.readInt32;break;case M.LONG8:case M.IFD8:n=new Array(A),r=e.readUint64;break;case M.SLONG8:n=new Array(A),r=e.readInt64;break;case M.RATIONAL:n=new Uint32Array(A*2),r=e.readUint32;break;case M.SRATIONAL:n=new Int32Array(A*2),r=e.readInt32;break;case M.FLOAT:n=new Float32Array(A),r=e.readFloat32;break;case M.DOUBLE:n=new Float64Array(A),r=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===M.RATIONAL||t===M.SRATIONAL)for(let a=0;a<A;a+=2)n[a]=r.call(e,i+a*g),n[a+1]=r.call(e,i+(a*g+4));else for(let a=0;a<A;++a)n[a]=r.call(e,i+a*g);return t===M.ASCII?new TextDecoder("utf-8").decode(n):n}var gn=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},dA=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},ln=class{async readRasters(t={}){let{window:A,width:i,height:n}=t,{resX:r,resY:g,bbox:a}=t,l=await this.getImage(),o=l,s=await this.getImageCount(),I=l.getBoundingBox();if(A&&a)throw new Error('Both "bbox" and "window" passed.');if(i||n){if(A){let[h,E]=l.getOrigin(),[u,Q]=l.getResolution();a=[h+A[0]*u,E+A[1]*Q,h+A[2]*u,E+A[3]*Q]}let f=a||I;if(i){if(r)throw new Error("Both width and resX passed");r=(f[2]-f[0])/i}if(n){if(g)throw new Error("Both width and resY passed");g=(f[3]-f[1])/n}}if(r||g){let f=[];for(let h=0;h<s;++h){let E=await this.getImage(h),{SubfileType:u,NewSubfileType:Q}=E.fileDirectory;(h===0||u===2||Q&1)&&f.push(E)}f.sort((h,E)=>h.getWidth()-E.getWidth());for(let h=0;h<f.length;++h){let E=f[h],u=(I[2]-I[0])/E.getWidth(),Q=(I[3]-I[1])/E.getHeight();if(o=E,r&&r>u||g&&g>Q)break}}let c=A;if(a){let[f,h]=l.getOrigin(),[E,u]=o.getResolution(l);c=[Math.round((a[0]-f)/E),Math.round((a[1]-h)/u),Math.round((a[2]-f)/E),Math.round((a[3]-h)/u)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return o.readRasters({...t,window:c})}},Ne=class extends ln{constructor(t,A,i,n,r={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=n,this.cache=r.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new VA((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,n=await this.getSlice(t),r=this.bigTiff?n.readUint64(t):n.readUint16(t),g=r*A+(this.bigTiff?16:6);n.covers(t,g)||(n=await this.getSlice(t,g));let a={},l=t+(this.bigTiff?8:2);for(let I=0;I<r;l+=A,++I){let c=n.readUint16(l),f=n.readUint16(l+2),h=this.bigTiff?n.readUint64(l+4):n.readUint32(l+4),E,u,Q=an(f),C=l+(this.bigTiff?12:8);if(Q*h<=(this.bigTiff?8:4))E=CA(n,f,h,C);else{let p=n.readOffset(C),w=an(f)*h;if(n.covers(p,w))E=CA(n,f,h,p);else{let d=await this.getSlice(p,w);E=CA(d,f,h,p)}}h===1&&nr.indexOf(c)===-1&&!(f===M.RATIONAL||f===M.SRATIONAL)?u=E[0]:u=E,a[oA[c]]=u}let o=xf(a),s=n.readOffset(t+i+A*r);return new gn(a,o,s)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof dA?new dA(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new dA(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new ss(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof dA)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,n=await this.getSlice(t,i);if(A===CA(n,M.ASCII,A.length,t)){let g=CA(n,M.ASCII,i,t).split(`
|
|
13
|
+
`)[0],a=Number(g.split("=")[1].split(" ")[0])+g.length;a>i&&(n=await this.getSlice(t,a));let l=CA(n,M.ASCII,a,t);this.ghostValues={},l.split(`
|
|
14
|
+
`).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,s])=>{this.ghostValues[o]=s})}return this.ghostValues}static async fromSource(t,A,i){let n=(await t.fetch([{offset:0,length:1024}],i))[0],r=new KA(n),g=r.getUint16(0,0),a;if(g===18761)a=!0;else if(g===19789)a=!1;else throw new TypeError("Invalid byte order value.");let l=r.getUint16(2,a),o;if(l===42)o=!1;else if(l===43){if(o=!0,r.getUint16(4,a)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let s=o?r.getUint64(8,a):r.getUint32(4,a);return new Ne(t,a,o,s,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function _s(e,t={},A){return Ne.fromSource(ps(e,t),A)}async function ms(e,t){return Ne.fromSource(ws(e),t)}async function xs(e,t){return Ne.fromSource(ys(e),t)}var Df="4.4.0",Ds={dataType:null,batchType:null,id:"geotiff",name:"GeoTIFF",module:"geotiff",version:Df,options:{geotiff:{enableAlpha:!0}},mimeTypes:["image/tiff","image/geotiff"],extensions:["geotiff","tiff","geotif","tif"],parse:bf};async function bf(e,t){let i=await(await ms(e)).getImage(),n=await i.readRGB({enableAlpha:t?.geotiff?.enableAlpha}),r=i.getWidth(),g=i.getHeight(),a=new Uint8ClampedArray(n),l=i.getBoundingBox(),o=i.getGeoKeys(),s;return o?.ProjectedCSTypeGeoKey&&(s=`EPSG:${o.ProjectedCSTypeGeoKey}`),{crs:s,bounds:l,width:r,height:g,data:a,metadata:o}}function fn(e){return Array.isArray(e)?e:[e]}function bs(e){if(!Number.isInteger(e))throw Error("Not an integer.");let t=new ArrayBuffer(4);new DataView(t).setInt32(0,e,!1);let i=new Uint8Array(t);return Array.from(i)}function cn(e){let t=e[e.length-1];return t===3||t===4}function Ss(e){let t=cn(e.shape),[A,i]=e.shape.slice(t?-3:-2);return{height:A,width:i}}var ks="__vivSignalAborted";var QA=class{dtype;tileSize;shape;labels;meta;_indexer;constructor(t,A,i,n,r,g){this._indexer=t,this.dtype=A,this.tileSize=i,this.shape=n,this.labels=r,this.meta=g}async getRaster({selection:t,signal:A}){let i=await this._indexer(t);return this._readRasters(i,{signal:A})}async getTile({x:t,y:A,selection:i,signal:n}){let{height:r,width:g}=this._getTileExtent(t,A),a=t*this.tileSize,l=A*this.tileSize,o=[a,l,a+g,l+r],s=await this._indexer(i);return this._readRasters(s,{window:o,width:g,height:r,signal:n})}async _readRasters(t,A){let i=cn(this.shape),n=await t.readRasters({interleave:i,...A});if(A?.signal?.aborted)throw ks;return{data:i?n:n[0],width:n.width,height:n.height}}_getTileExtent(t,A){let{height:i,width:n}=Ss(this),r=this.tileSize,g=this.tileSize,a=Math.floor(n/this.tileSize),l=Math.floor(i/this.tileSize);return t===a&&(g=n%this.tileSize),A===l&&(r=i%this.tileSize),{height:r,width:g}}onTileError(t){console.error(t)}};function Fs(e,t){let A=t[0],{SizeT:i,SizeC:n,SizeZ:r}=A.Pixels,g=Rs(A);return(a,l)=>{let o=g(a),s=l*r*i*n;return e.getImage(o+s)}}function Ns(e,t){let A=t[0],i=Rs(A),n=new Map;return async(r,g)=>{let a=i(r),l=await e.getImage(a);if(g===0)return l;let{SubIFDs:o}=l.fileDirectory;if(!o)throw Error("Indexing Error: OME-TIFF is missing SubIFDs.");let s=`${r.t}-${r.c}-${r.z}-${g}`;if(!n.has(s)){let c=o[g-1];n.set(s,e.parseFileDirectoryAt(c))}let I=await n.get(s);return new l.constructor(I.fileDirectory,I.geoKeyDirectory,e.dataView,e.littleEndian,e.cache,e.source)}}function Rs(e){let{SizeC:t,SizeZ:A,SizeT:i,DimensionOrder:n}=e.Pixels;switch(n){case"XYZCT":return({t:r,c:g,z:a})=>r*A*t+g*A+a;case"XYZTC":return({t:r,c:g,z:a})=>g*A*i+r*A+a;case"XYCTZ":return({t:r,c:g,z:a})=>a*t*i+r*t+g;case"XYCZT":return({t:r,c:g,z:a})=>r*t*A+a*t+g;case"XYTCZ":return({t:r,c:g,z:a})=>a*i*t+g*i+r;case"XYTZC":return({t:r,c:g,z:a})=>g*i*A+a*i+r;default:throw new Error(`Invalid OME-XML DimensionOrder, got ${n}.`)}}function Ts(e){return e.toLowerCase().split("").reverse()}function vs(e){let t=new Map(e.map((A,i)=>[A,i]));if(t.size!==e.length)throw Error("Labels must be unique, found duplicated label.");return A=>{let i=t.get(A);if(i===void 0)throw Error("Invalid dimension.");return i}}var Us={uint8:"Uint8",uint16:"Uint16",uint32:"Uint32",float:"Float32",double:"Float64",int8:"Int8",int16:"Int16",int32:"Int32"};function Ls({Pixels:e}){let t=Ts(e.DimensionOrder),A=vs(t),i=Array(t.length).fill(0);i[A("t")]=e.SizeT,i[A("c")]=e.SizeC,i[A("z")]=e.SizeZ,e.Interleaved&&(t.push("_c"),i.push(3));let n=g=>{let a=[...i];return a[A("x")]=e.SizeX>>g,a[A("y")]=e.SizeY>>g,a};if(!(e.Type in Us))throw Error(`Pixel type ${e.Type} not supported.`);let r=Us[e.Type];if(e.PhysicalSizeX&&e.PhysicalSizeY){let g={x:{size:e.PhysicalSizeX,unit:e.PhysicalSizeXUnit},y:{size:e.PhysicalSizeY,unit:e.PhysicalSizeYUnit}};return e.PhysicalSizeZ&&(g.z={size:e.PhysicalSizeZ,unit:e.PhysicalSizeZUnit}),{labels:t,getShape:n,physicalSizes:g,dtype:r}}return{labels:t,getShape:n,dtype:r}}var Gs=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Sf=Gs+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",kf="["+Gs+"]["+Sf+"]*",Ff=new RegExp("^"+kf+"$");function Xt(e,t){let A=[],i=t.exec(e);for(;i;){let n=[];n.startIndex=t.lastIndex-i[0].length;let r=i.length;for(let g=0;g<r;g++)n.push(i[g]);A.push(n),i=t.exec(e)}return A}var pA=function(e){let t=Ff.exec(e);return!(t===null||typeof t>"u")};function Ms(e){return typeof e<"u"}var Nf={allowBooleanAttributes:!1,unpairedTags:[]};function Js(e,t){t=Object.assign({},Nf,t);let A=[],i=!1,n=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let r=0;r<e.length;r++)if(e[r]==="<"&&e[r+1]==="?"){if(r+=2,r=qs(e,r),r.err)return r}else if(e[r]==="<"){let g=r;if(r++,e[r]==="!"){r=Ys(e,r);continue}else{let a=!1;e[r]==="/"&&(a=!0,r++);let l="";for(;r<e.length&&e[r]!==">"&&e[r]!==" "&&e[r]!==" "&&e[r]!==`
|
|
15
|
+
`&&e[r]!=="\r";r++)l+=e[r];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),r--),!Of(l)){let I;return l.trim().length===0?I="Invalid space after '<'.":I="Tag '"+l+"' is an invalid name.",W("InvalidTag",I,re(e,r))}let o=vf(e,r);if(o===!1)return W("InvalidAttr","Attributes for '"+l+"' have open quote.",re(e,r));let s=o.value;if(r=o.index,s[s.length-1]==="/"){let I=r-s.length;s=s.substring(0,s.length-1);let c=Hs(s,t);if(c===!0)i=!0;else return W(c.err.code,c.err.msg,re(e,I+c.err.line))}else if(a)if(o.tagClosed){if(s.trim().length>0)return W("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",re(e,g));if(A.length===0)return W("InvalidTag","Closing tag '"+l+"' has not been opened.",re(e,g));{let I=A.pop();if(l!==I.tagName){let c=re(e,I.tagStartPos);return W("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+c.line+", col "+c.col+") instead of closing tag '"+l+"'.",re(e,g))}A.length==0&&(n=!0)}}else return W("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",re(e,r));else{let I=Hs(s,t);if(I!==!0)return W(I.err.code,I.err.msg,re(e,r-s.length+I.err.line));if(n===!0)return W("InvalidXml","Multiple possible root nodes found.",re(e,r));t.unpairedTags.indexOf(l)!==-1||A.push({tagName:l,tagStartPos:g}),i=!0}for(r++;r<e.length;r++)if(e[r]==="<")if(e[r+1]==="!"){r++,r=Ys(e,r);continue}else if(e[r+1]==="?"){if(r=qs(e,++r),r.err)return r}else break;else if(e[r]==="&"){let I=Gf(e,r);if(I==-1)return W("InvalidChar","char '&' is not expected.",re(e,r));r=I}else if(n===!0&&!Os(e[r]))return W("InvalidXml","Extra text at the end",re(e,r));e[r]==="<"&&r--}}else{if(Os(e[r]))continue;return W("InvalidChar","char '"+e[r]+"' is not expected.",re(e,r))}if(i){if(A.length==1)return W("InvalidTag","Unclosed tag '"+A[0].tagName+"'.",re(e,A[0].tagStartPos));if(A.length>0)return W("InvalidXml","Invalid '"+JSON.stringify(A.map(r=>r.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return W("InvalidXml","Start tag expected.",1);return!0}function Os(e){return e===" "||e===" "||e===`
|
|
16
|
+
`||e==="\r"}function qs(e,t){let A=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let i=e.substr(A,t-A);if(t>5&&i==="xml")return W("InvalidXml","XML declaration allowed only at the start of the document.",re(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function Ys(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let A=1;for(t+=8;t<e.length;t++)if(e[t]==="<")A++;else if(e[t]===">"&&(A--,A===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var Rf='"',Tf="'";function vf(e,t){let A="",i="",n=!1;for(;t<e.length;t++){if(e[t]===Rf||e[t]===Tf)i===""?i=e[t]:i!==e[t]||(i="");else if(e[t]===">"&&i===""){n=!0;break}A+=e[t]}return i!==""?!1:{value:A,index:t,tagClosed:n}}var Uf=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Hs(e,t){let A=Xt(e,Uf),i={};for(let n=0;n<A.length;n++){if(A[n][1].length===0)return W("InvalidAttr","Attribute '"+A[n][2]+"' has no space in starting.",ZA(A[n]));if(A[n][3]!==void 0&&A[n][4]===void 0)return W("InvalidAttr","Attribute '"+A[n][2]+"' is without value.",ZA(A[n]));if(A[n][3]===void 0&&!t.allowBooleanAttributes)return W("InvalidAttr","boolean attribute '"+A[n][2]+"' is not allowed.",ZA(A[n]));let r=A[n][2];if(!Mf(r))return W("InvalidAttr","Attribute '"+r+"' is an invalid name.",ZA(A[n]));if(!i.hasOwnProperty(r))i[r]=1;else return W("InvalidAttr","Attribute '"+r+"' is repeated.",ZA(A[n]))}return!0}function Lf(e,t){let A=/\d/;for(e[t]==="x"&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(A))break}return-1}function Gf(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,Lf(e,t);let A=0;for(;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(e[t]===";")break;return-1}return t}function W(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function Mf(e){return pA(e)}function Of(e){return pA(e)}function re(e,t){let A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function ZA(e){return e.startIndex+e[1].length}var qf={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,A){return e},captureMetaData:!1};function Ks(e){return typeof e=="boolean"?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:10,maxTotalExpansions:1e3,maxExpandedLength:1e5,allowedTags:null,tagFilter:null}:typeof e=="object"&&e!==null?{enabled:e.enabled!==!1,maxEntitySize:e.maxEntitySize??1e4,maxExpansionDepth:e.maxExpansionDepth??10,maxTotalExpansions:e.maxTotalExpansions??1e3,maxExpandedLength:e.maxExpandedLength??1e5,allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null}:Ks(!0)}var Vs=function(e){let t=Object.assign({},qf,e);return t.processEntities=Ks(t.processEntities),t};var jt;typeof Symbol!="function"?jt="@@xmlMetadata":jt=Symbol("XML Node Metadata");var ce=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,A){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:A})}addChild(t,A){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child}),A!==void 0&&(this.child[this.child.length-1][jt]={startIndex:A})}static getMetaDataSymbol(){return jt}};var jA=class{constructor(t){this.suppressValidationErr=!t,this.options=t}readDocType(t,A){let i={};if(t[A+3]==="O"&&t[A+4]==="C"&&t[A+5]==="T"&&t[A+6]==="Y"&&t[A+7]==="P"&&t[A+8]==="E"){A=A+9;let n=1,r=!1,g=!1,a="";for(;A<t.length;A++)if(t[A]==="<"&&!g){if(r&&eA(t,"!ENTITY",A)){A+=7;let l,o;if([l,o,A]=this.readEntityExp(t,A+1,this.suppressValidationErr),o.indexOf("&")===-1){let s=l.replace(/[.\-+*:]/g,"\\.");i[l]={regx:RegExp(`&${s};`,"g"),val:o}}}else if(r&&eA(t,"!ELEMENT",A)){A+=8;let{index:l}=this.readElementExp(t,A+1);A=l}else if(r&&eA(t,"!ATTLIST",A))A+=8;else if(r&&eA(t,"!NOTATION",A)){A+=9;let{index:l}=this.readNotationExp(t,A+1,this.suppressValidationErr);A=l}else if(eA(t,"!--",A))g=!0;else throw new Error("Invalid DOCTYPE");n++,a=""}else if(t[A]===">"){if(g?t[A-1]==="-"&&t[A-2]==="-"&&(g=!1,n--):n--,n===0)break}else t[A]==="["?r=!0:a+=t[A];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:A}}readEntityExp(t,A){A=ae(t,A);let i="";for(;A<t.length&&!/\s/.test(t[A])&&t[A]!=='"'&&t[A]!=="'";)i+=t[A],A++;if(XA(i),A=ae(t,A),!this.suppressValidationErr){if(t.substring(A,A+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[A]==="%")throw new Error("Parameter entities are not supported")}let n="";if([A,n]=this.readIdentifierVal(t,A,"entity"),this.options.enabled!==!1&&this.options.maxEntitySize&&n.length>this.options.maxEntitySize)throw new Error(`Entity "${i}" size (${n.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return A--,[i,n,A]}readNotationExp(t,A){A=ae(t,A);let i="";for(;A<t.length&&!/\s/.test(t[A]);)i+=t[A],A++;!this.suppressValidationErr&&XA(i),A=ae(t,A);let n=t.substring(A,A+6).toUpperCase();if(!this.suppressValidationErr&&n!=="SYSTEM"&&n!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);A+=n.length,A=ae(t,A);let r=null,g=null;if(n==="PUBLIC")[A,r]=this.readIdentifierVal(t,A,"publicIdentifier"),A=ae(t,A),(t[A]==='"'||t[A]==="'")&&([A,g]=this.readIdentifierVal(t,A,"systemIdentifier"));else if(n==="SYSTEM"&&([A,g]=this.readIdentifierVal(t,A,"systemIdentifier"),!this.suppressValidationErr&&!g))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:r,systemIdentifier:g,index:--A}}readIdentifierVal(t,A,i){let n="",r=t[A];if(r!=='"'&&r!=="'")throw new Error(`Expected quoted string, found "${r}"`);for(A++;A<t.length&&t[A]!==r;)n+=t[A],A++;if(t[A]!==r)throw new Error(`Unterminated ${i} value`);return A++,[A,n]}readElementExp(t,A){A=ae(t,A);let i="";for(;A<t.length&&!/\s/.test(t[A]);)i+=t[A],A++;if(!this.suppressValidationErr&&!pA(i))throw new Error(`Invalid element name: "${i}"`);A=ae(t,A);let n="";if(t[A]==="E"&&eA(t,"MPTY",A))A+=4;else if(t[A]==="A"&&eA(t,"NY",A))A+=2;else if(t[A]==="("){for(A++;A<t.length&&t[A]!==")";)n+=t[A],A++;if(t[A]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${t[A]}"`);return{elementName:i,contentModel:n.trim(),index:A}}readAttlistExp(t,A){A=ae(t,A);let i="";for(;A<t.length&&!/\s/.test(t[A]);)i+=t[A],A++;XA(i),A=ae(t,A);let n="";for(;A<t.length&&!/\s/.test(t[A]);)n+=t[A],A++;if(!XA(n))throw new Error(`Invalid attribute name: "${n}"`);A=ae(t,A);let r="";if(t.substring(A,A+8).toUpperCase()==="NOTATION"){if(r="NOTATION",A+=8,A=ae(t,A),t[A]!=="(")throw new Error(`Expected '(', found "${t[A]}"`);A++;let a=[];for(;A<t.length&&t[A]!==")";){let l="";for(;A<t.length&&t[A]!=="|"&&t[A]!==")";)l+=t[A],A++;if(l=l.trim(),!XA(l))throw new Error(`Invalid notation name: "${l}"`);a.push(l),t[A]==="|"&&(A++,A=ae(t,A))}if(t[A]!==")")throw new Error("Unterminated list of notations");A++,r+=" ("+a.join("|")+")"}else{for(;A<t.length&&!/\s/.test(t[A]);)r+=t[A],A++;let a=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!a.includes(r.toUpperCase()))throw new Error(`Invalid attribute type: "${r}"`)}A=ae(t,A);let g="";return t.substring(A,A+8).toUpperCase()==="#REQUIRED"?(g="#REQUIRED",A+=8):t.substring(A,A+7).toUpperCase()==="#IMPLIED"?(g="#IMPLIED",A+=7):[A,g]=this.readIdentifierVal(t,A,"ATTLIST"),{elementName:i,attributeName:n,attributeType:r,defaultValue:g,index:A}}},ae=(e,t)=>{for(;t<e.length&&/\s/.test(e[t]);)t++;return t};function eA(e,t,A){for(let i=0;i<t.length;i++)if(t[i]!==e[A+i+1])return!1;return!0}function XA(e){if(pA(e))return e;throw new Error(`Invalid entity name ${e}`)}var Yf=/^[-+]?0x[a-fA-F0-9]+$/,Hf=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,Jf={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function In(e,t={}){if(t=Object.assign({},Jf,t),!e||typeof e!="string")return e;let A=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(A))return e;if(e==="0")return 0;if(t.hex&&Yf.test(A))return Pf(A,16);if(A.includes("e")||A.includes("E"))return Vf(e,A,t);{let i=Hf.exec(A);if(i){let n=i[1]||"",r=i[2],g=zf(i[3]),a=n?e[r.length+1]===".":e[r.length]===".";if(!t.leadingZeros&&(r.length>1||r.length===1&&!a))return e;{let l=Number(A),o=String(l);if(l===0)return l;if(o.search(/[eE]/)!==-1)return t.eNotation?l:e;if(A.indexOf(".")!==-1)return o==="0"||o===g||o===`${n}${g}`?l:e;let s=r?g:A;return r?s===o||n+s===o?l:e:s===o||s===n+o?l:e}}else return e}}var Kf=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function Vf(e,t,A){if(!A.eNotation)return e;let i=t.match(Kf);if(i){let n=i[1]||"",r=i[3].indexOf("e")===-1?"E":"e",g=i[2],a=n?e[g.length+1]===r:e[g.length]===r;return g.length>1&&a?e:g.length===1&&(i[3].startsWith(`.${r}`)||i[3][0]===r)?Number(t):A.leadingZeros&&!a?(t=(i[1]||"")+i[3],Number(t)):e}else return e}function zf(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substring(0,e.length-1))),e}function Pf(e,t){if(parseInt)return parseInt(e,t);if(Number.parseInt)return Number.parseInt(e,t);if(window&&window.parseInt)return window.parseInt(e,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function hn(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let A of e)if(typeof A=="string"&&t===A||A instanceof RegExp&&A.test(t))return!0}:()=>!1}var WA=class{constructor(t){if(this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,i)=>zs(i,10,"&#")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,i)=>zs(i,16,"&#x")}},this.addExternalEntities=Zf,this.parseXml=ec,this.parseTextData=Xf,this.resolveNameSpace=jf,this.buildAttributesMap=$f,this.isItStopNode=nc,this.replaceEntitiesValue=tc,this.readStopNodeData=oc,this.saveTextToParentTag=ic,this.addChild=Ac,this.ignoreAttributesFn=hn(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodesExact=new Set,this.stopNodesWildcard=new Set;for(let A=0;A<this.options.stopNodes.length;A++){let i=this.options.stopNodes[A];typeof i=="string"&&(i.startsWith("*.")?this.stopNodesWildcard.add(i.substring(2)):this.stopNodesExact.add(i))}}}};function Zf(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A],n=i.replace(/[.\-+*:]/g,"\\.");this.lastEntities[i]={regex:new RegExp("&"+n+";","g"),val:e[i]}}}function Xf(e,t,A,i,n,r,g){if(e!==void 0&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){g||(e=this.replaceEntitiesValue(e,t,A));let a=this.options.tagValueProcessor(t,e,A,n,r);return a==null?e:typeof a!=typeof e||a!==e?a:this.options.trimValues?En(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?En(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function jf(e){if(this.options.removeNSPrefix){let t=e.split(":"),A=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=A+t[1])}return e}var Wf=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function $f(e,t,A){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let i=Xt(e,Wf),n=i.length,r={};for(let g=0;g<n;g++){let a=this.resolveNameSpace(i[g][1]);if(this.ignoreAttributesFn(a,t))continue;let l=i[g][4],o=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o==="__proto__"&&(o="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l,A,t);let s=this.options.attributeValueProcessor(a,l,t);s==null?r[o]=l:typeof s!=typeof l||s!==l?r[o]=s:r[o]=En(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(r[o]=!0)}if(!Object.keys(r).length)return;if(this.options.attributesGroupName){let g={};return g[this.options.attributesGroupName]=r,g}return r}}var ec=function(e){e=e.replace(/\r\n?/g,`
|
|
17
|
+
`);let t=new ce("!xml"),A=t,i="",n="";this.entityExpansionCount=0,this.currentExpandedLength=0;let r=new jA(this.options.processEntities);for(let g=0;g<e.length;g++)if(e[g]==="<")if(e[g+1]==="/"){let l=AA(e,">",g,"Closing Tag is not closed."),o=e.substring(g+2,l).trim();if(this.options.removeNSPrefix){let c=o.indexOf(":");c!==-1&&(o=o.substr(c+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),A&&(i=this.saveTextToParentTag(i,A,n));let s=n.substring(n.lastIndexOf(".")+1);if(o&&this.options.unpairedTags.indexOf(o)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);let I=0;s&&this.options.unpairedTags.indexOf(s)!==-1?(I=n.lastIndexOf(".",n.lastIndexOf(".")-1),this.tagsNodeStack.pop()):I=n.lastIndexOf("."),n=n.substring(0,I),A=this.tagsNodeStack.pop(),i="",g=l}else if(e[g+1]==="?"){let l=un(e,g,!1,"?>");if(!l)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,A,n),!(this.options.ignoreDeclaration&&l.tagName==="?xml"||this.options.ignorePiTags)){let o=new ce(l.tagName);o.add(this.options.textNodeName,""),l.tagName!==l.tagExp&&l.attrExpPresent&&(o[":@"]=this.buildAttributesMap(l.tagExp,n,l.tagName)),this.addChild(A,o,n,g)}g=l.closeIndex+1}else if(e.substr(g+1,3)==="!--"){let l=AA(e,"-->",g+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(g+4,l-2);i=this.saveTextToParentTag(i,A,n),A.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}g=l}else if(e.substr(g+1,2)==="!D"){let l=r.readDocType(e,g);this.docTypeEntities=l.entities,g=l.i}else if(e.substr(g+1,2)==="!["){let l=AA(e,"]]>",g,"CDATA is not closed.")-2,o=e.substring(g+9,l);i=this.saveTextToParentTag(i,A,n);let s=this.parseTextData(o,A.tagname,n,!0,!1,!0,!0);s==null&&(s=""),this.options.cdataPropName?A.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):A.add(this.options.textNodeName,s),g=l+2}else{let l=un(e,g,this.options.removeNSPrefix),o=l.tagName,s=l.rawTagName,I=l.tagExp,c=l.attrExpPresent,f=l.closeIndex;if(this.options.transformTagName){let u=this.options.transformTagName(o);I===o&&(I=u),o=u}A&&i&&A.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,A,n,!1));let h=A;h&&this.options.unpairedTags.indexOf(h.tagname)!==-1&&(A=this.tagsNodeStack.pop(),n=n.substring(0,n.lastIndexOf("."))),o!==t.tagname&&(n+=n?"."+o:o);let E=g;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,n,o)){let u="";if(I.length>0&&I.lastIndexOf("/")===I.length-1)o[o.length-1]==="/"?(o=o.substr(0,o.length-1),n=n.substr(0,n.length-1),I=o):I=I.substr(0,I.length-1),g=l.closeIndex;else if(this.options.unpairedTags.indexOf(o)!==-1)g=l.closeIndex;else{let C=this.readStopNodeData(e,s,f+1);if(!C)throw new Error(`Unexpected end of ${s}`);g=C.i,u=C.tagContent}let Q=new ce(o);o!==I&&c&&(Q[":@"]=this.buildAttributesMap(I,n,o)),u&&(u=this.parseTextData(u,o,n,!0,c,!0,!0)),n=n.substr(0,n.lastIndexOf(".")),Q.add(this.options.textNodeName,u),this.addChild(A,Q,n,E)}else{if(I.length>0&&I.lastIndexOf("/")===I.length-1){if(o[o.length-1]==="/"?(o=o.substr(0,o.length-1),n=n.substr(0,n.length-1),I=o):I=I.substr(0,I.length-1),this.options.transformTagName){let Q=this.options.transformTagName(o);I===o&&(I=Q),o=Q}let u=new ce(o);o!==I&&c&&(u[":@"]=this.buildAttributesMap(I,n,o)),this.addChild(A,u,n,E),n=n.substr(0,n.lastIndexOf("."))}else{let u=new ce(o);this.tagsNodeStack.push(A),o!==I&&c&&(u[":@"]=this.buildAttributesMap(I,n,o)),this.addChild(A,u,n,E),A=u}i="",g=f}}else i+=e[g];return t.child};function Ac(e,t,A,i){this.options.captureMetaData||(i=void 0);let n=this.options.updateTag(t.tagname,A,t[":@"]);n===!1||(typeof n=="string"&&(t.tagname=n),e.addChild(t,i))}var tc=function(e,t,A){if(e.indexOf("&")===-1)return e;let i=this.options.processEntities;if(!i.enabled||i.allowedTags&&!i.allowedTags.includes(t)||i.tagFilter&&!i.tagFilter(t,A))return e;for(let n in this.docTypeEntities){let r=this.docTypeEntities[n],g=e.match(r.regx);if(g){if(this.entityExpansionCount+=g.length,i.maxTotalExpansions&&this.entityExpansionCount>i.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${i.maxTotalExpansions}`);let a=e.length;if(e=e.replace(r.regx,r.val),i.maxExpandedLength&&(this.currentExpandedLength+=e.length-a,this.currentExpandedLength>i.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${i.maxExpandedLength}`)}}if(e.indexOf("&")===-1)return e;for(let n in this.lastEntities){let r=this.lastEntities[n];e=e.replace(r.regex,r.val)}if(e.indexOf("&")===-1)return e;if(this.options.htmlEntities)for(let n in this.htmlEntities){let r=this.htmlEntities[n];e=e.replace(r.regex,r.val)}return e=e.replace(this.ampEntity.regex,this.ampEntity.val),e};function ic(e,t,A,i){return e&&(i===void 0&&(i=t.child.length===0),e=this.parseTextData(e,t.tagname,A,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,i),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function nc(e,t,A,i){return!!(t&&t.has(i)||e&&e.has(A))}function rc(e,t,A=">"){let i,n="";for(let r=t;r<e.length;r++){let g=e[r];if(i)g===i&&(i="");else if(g==='"'||g==="'")i=g;else if(g===A[0])if(A[1]){if(e[r+1]===A[1])return{data:n,index:r}}else return{data:n,index:r};else g===" "&&(g=" ");n+=g}}function AA(e,t,A,i){let n=e.indexOf(t,A);if(n===-1)throw new Error(i);return n+t.length-1}function un(e,t,A,i=">"){let n=rc(e,t+1,i);if(!n)return;let r=n.data,g=n.index,a=r.search(/\s/),l=r,o=!0;a!==-1&&(l=r.substring(0,a),r=r.substring(a+1).trimStart());let s=l;if(A){let I=l.indexOf(":");I!==-1&&(l=l.substr(I+1),o=l!==n.data.substr(I+1))}return{tagName:l,tagExp:r,closeIndex:g,attrExpPresent:o,rawTagName:s}}function oc(e,t,A){let i=A,n=1;for(;A<e.length;A++)if(e[A]==="<")if(e[A+1]==="/"){let r=AA(e,">",A,`${t} is not closed`);if(e.substring(A+2,r).trim()===t&&(n--,n===0))return{tagContent:e.substring(i,A),i:r};A=r}else if(e[A+1]==="?")A=AA(e,"?>",A+1,"StopNode is not closed.");else if(e.substr(A+1,3)==="!--")A=AA(e,"-->",A+3,"StopNode is not closed.");else if(e.substr(A+1,2)==="![")A=AA(e,"]]>",A,"StopNode is not closed.")-2;else{let r=un(e,A,">");r&&((r&&r.tagName)===t&&r.tagExp[r.tagExp.length-1]!=="/"&&n++,A=r.closeIndex)}}function En(e,t,A){if(t&&typeof e=="string"){let i=e.trim();return i==="true"?!0:i==="false"?!1:In(e,A)}else return Ms(e)?e:""}function zs(e,t,A){let i=Number.parseInt(e,t);return i>=0&&i<=1114111?String.fromCodePoint(i):A+e+";"}var Bn=ce.getMetaDataSymbol();function Cn(e,t){return Ps(e,t)}function Ps(e,t,A){let i,n={};for(let r=0;r<e.length;r++){let g=e[r],a=sc(g),l="";if(A===void 0?l=a:l=A+"."+a,a===t.textNodeName)i===void 0?i=g[a]:i+=""+g[a];else{if(a===void 0)continue;if(g[a]){let o=Ps(g[a],t,l),s=gc(o,t);g[Bn]!==void 0&&(o[Bn]=g[Bn]),g[":@"]?ac(o,g[":@"],l,t):Object.keys(o).length===1&&o[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?o=o[t.textNodeName]:Object.keys(o).length===0&&(t.alwaysCreateTextNode?o[t.textNodeName]="":o=""),n[a]!==void 0&&n.hasOwnProperty(a)?(Array.isArray(n[a])||(n[a]=[n[a]]),n[a].push(o)):t.isArray(a,l,s)?n[a]=[o]:n[a]=o}}}return typeof i=="string"?i.length>0&&(n[t.textNodeName]=i):i!==void 0&&(n[t.textNodeName]=i),n}function sc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(i!==":@")return i}}function ac(e,t,A,i){if(t){let n=Object.keys(t),r=n.length;for(let g=0;g<r;g++){let a=n[g];i.isArray(a,A+"."+a,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function gc(e,t){let{textNodeName:A}=t,i=Object.keys(e).length;return!!(i===0||i===1&&(e[A]||typeof e[A]=="boolean"||e[A]===0))}var wA=class{constructor(t){this.externalEntities={},this.options=Vs(t)}parse(t,A){if(typeof t!="string"&&t.toString)t=t.toString();else if(typeof t!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(A){A===!0&&(A={});let r=Js(t,A);if(r!==!0)throw Error(`${r.err.msg}:${r.err.line}:${r.err.col}`)}let i=new WA(this.options);i.addExternalEntities(this.externalEntities);let n=i.parseXml(t);return this.options.preserveOrder||n===void 0?n:Cn(n,this.options)}addEntity(t,A){if(A.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(A==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=A}static getMetaDataSymbol(){return ce.getMetaDataSymbol()}};var lc=new wA({attributeNamePrefix:"",attributesGroupName:"attr",parseTagValue:!0,parseAttributeValue:!0,ignoreAttributes:!1}),fc=e=>lc.parse(e);function Zs(e){let t=fc(e);if(!t.OME)throw Error("Failed to parse OME-XML metadata.");return fn(t.OME.Image).map(A=>{let i=fn(A.Pixels.Channel).map(a=>"Color"in a.attr?{...a.attr,Color:bs(a.attr.Color)}:{...a.attr}),{AquisitionDate:n="",Description:r=""}=A,g={...A.attr,AquisitionDate:n,Description:r,Pixels:{...A.Pixels.attr,Channels:i}};return{...g,format(){let{Pixels:a}=g,l=["X","Y","Z"].map(o=>{let s=a[`PhysicalSize${o}`],I=a[`PhysicalSize${o}Unit`];return s&&I?`${s} ${I}`:"-"}).join(" x ");return{"Acquisition Date":g.AquisitionDate,"Dimensions (XY)":`${a.SizeX} x ${a.SizeY}`,"Pixels Type":a.Type,"Pixels Size (XYZ)":l,"Z-sections/Timepoints":`${a.SizeZ} x ${a.SizeT}`,Channels:a.SizeC}}}})}var Xs=e=>e.fileDirectory.ImageDescription.includes("<OME");async function js(e,t){let{ImageDescription:A,SubIFDs:i,PhotometricInterpretation:n}=t.fileDirectory,r=Zs(A),g,a;i?(g=i.length+1,a=Ns(e,r)):(g=r.length,a=Fs(e,r));let l=r[0],{labels:o,getShape:s,physicalSizes:I,dtype:c}=Ls(l),f=t.getTileWidth(),h={photometricInterpretation:n,physicalSizes:I};return{data:Array.from({length:g}).map((u,Q)=>{let C=s(Q),p=d=>a(d,Q);return new QA(p,c,f,C,o,h)}),metadata:l}}async function Ws(e,t={}){let{headers:A,offsets:i}=t,n;e instanceof Ne?n=e:typeof e=="string"?n=await _s(e,A):n=await xs(e);let r=await n.getImage(0);if(Xs(r))return js(n,r);throw new Error("GeoTIFF not recognized.")}return ra($A);})();
|
|
21
18
|
/*! Bundled license information:
|
|
22
19
|
|
|
23
20
|
pako/dist/pako.esm.mjs:
|