@etu-wiki/sharp-iiif-shims 0.0.98 → 0.0.100

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/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export default class SharpIiifImageShims extends IiifImageShims {
11
11
  private sizeImpl;
12
12
  private rotationImpl;
13
13
  private qualityFormatImpl;
14
- generateImageTile(path: string, metadata: any, s3Url: string): Promise<any>;
14
+ generateImageTile(path: string, metadata: any, geotiff: any): Promise<any>;
15
15
  iiifTransform(path: string, metadata: any): sharp.Sharp | null;
16
16
  generateIiifImage(path: string, sourceImage: any, scaleLimit?: number): Promise<any>;
17
17
  generateImageInfo(id: string, metadata: any, preferredFormat?: string): any;
package/dist/index.js CHANGED
@@ -1,11 +1,4 @@
1
- "use strict";var la=Object.create;var ze=Object.defineProperty;var fa=Object.getOwnPropertyDescriptor;var Ia=Object.getOwnPropertyNames;var ca=Object.getPrototypeOf,ha=Object.prototype.hasOwnProperty;var IA=(A,t)=>()=>(A&&(t=A(A=0)),t);var vA=(A,t)=>()=>(t||A((t={exports:{}}).exports,t),t.exports),RA=(A,t)=>{for(var e in t)ze(A,e,{get:t[e],enumerable:!0})},ir=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ia(t))!ha.call(A,r)&&r!==e&&ze(A,r,{get:()=>t[r],enumerable:!(i=fa(t,r))||i.enumerable});return A};var UA=(A,t,e)=>(e=A!=null?la(ca(A)):{},ir(t||!A||!A.__esModule?ze(e,"default",{value:A,enumerable:!0}):e,A)),Ba=A=>ir(ze({},"__esModule",{value:!0}),A);var ar=vA((Zl,Jt)=>{"use strict";var Yt=Object.defineProperty,Ca=Object.getOwnPropertyDescriptor,Ea=Object.getOwnPropertyNames,ua=Object.prototype.hasOwnProperty,Qa=(A,t)=>{for(var e in t)Yt(A,e,{get:t[e],enumerable:!0})},da=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ea(t))!ua.call(A,r)&&r!==e&&Yt(A,r,{get:()=>t[r],enumerable:!(i=Ca(t,r))||i.enumerable});return A},wa=A=>da(Yt({},"__esModule",{value:!0}),A),nr={};Qa(nr,{default:()=>or});Jt.exports=wa(nr);var H="[1-9][0-9]*",rr="[0-9]*",GA="(?=.*[1-9])\\d+(\\.\\d+)?",Ht="\\d+(\\.\\d+)?",Pe=(A=>(A.jpg="image/jpeg",A.jpeg="image/jpeg",A.png="image/png",A.webp="image/webp",A.tif="image/tiff",A.tiff="image/tiff",A.gif="image/gif",A.jp2="image/jp2",A.pdf="application/pdf",A))(Pe||{}),jA={version:["1.0","1.1","2.0","2.1","3.0"],level:["0","1","2"],region:["full","square",`${rr},${rr},${H},${H}`,`pct:${Ht},${Ht},${GA},${GA}`],rotation:`!?${Ht}`,quality:["color","gray","bitonal","default","native","grey"],format:["jpg","png","webp","tif","gif","jp2","pdf"],size:[""]},pa={1:["full",`${H},`,`,${H}`,`pct:${GA}`,`${H},${H}`,`!${H},${H}`],1.1:["full",`${H},`,`,${H}`,`pct:${GA}`,`${H},${H}`,`!${H},${H}`],2:["full",`${H},`,`,${H}`,`pct:${GA}`,`${H},${H}`,`!${H},${H}`],2.1:["full","max",`${H},`,`,${H}`,`pct:${GA}`,`${H},${H}`,`!${H},${H}`],3:["max",`${H},`,`,${H}`,`pct:${GA}`,`${H},${H}`,`!${H},${H}`,"\\^max",`\\^${H},`,`\\^,${H}`,`\\^pct:${GA}`,`\\^${H},${H}`,`\\^!${H},${H}`]},Ke=/^pct:([\d,]+)/,or=class{constructor(A,t,e,i,r,n,l){this.version=A,this.level=t,this.maxArea=e,this.maxWidth=i,this.maxHeight=r,this.tileWidth=n,this.tileHeight=l,this.validate("version",A),this.validate("level",t),jA.size=pa[Number(A)]}validator(A){var t=jA[A];return t instanceof Array&&(t=t.join("|")),new RegExp("^("+t+")$")}validate(A,t){if(!this.validator(A).test(t))throw Error(`invalid IIIF url ${A}: ${t}`);return!0}normalizeRegionParams(A,t){if(this.validate("region",A),A==="full")return null;if(A==="square")return this._regionSquare(t);if(Ke.test(A))return this._regionPct(A.match(Ke)[1],t);{let e=A.split(",").map(i=>Number(i));return this._regionXYWH(e,t)}}_regionSquare(A){let t,e,i=A.width,r=A.height;if(i!==r){let n=Math.min(i,r),l=Math.abs(Math.floor((i-r)/2));return i>r?(t=l,e=0):(t=0,e=l),this._regionXYWH([t,e,n,n],A)}return null}_regionPct(A,t){let e=A.split(",").map((i,r)=>{let n=Number(i)/100;return r===0||r===2?Math.ceil(t.width*n):r===1||r===3?Math.ceil(t.height*n):null});return this._regionXYWH(e,t)}_regionXYWH(A,t){let e=t.width,i=t.height,[r,n,l,s]=A;return r+l>e&&(l=e-r),n+s>i&&(s=i-n),{x:r,y:n,w:l,h:s}}normalizeSizeParams(A,t){let e=A,i=t.width,r=t.height;if(!t||!i&&!r)throw Error(`invalid region dimensions: ${JSON.stringify(t,null,2)}`);this.validate("size",e);let n=!1;e.charAt(0)==="^"&&(n=!0,e=e.substring(1));let l=null;if(e==="full"||(e==="max"?l=this._sizeMaxScale(t):Ke.test(e)?l=this._sizePctScale(e.match(Ke)[1]):e.charAt(0)==="!"&&(e=e.substring(1),l=this._sizeBangScale(e,n,t)),l===1))return null;if(l){let s=Math.ceil(i*l),f=Math.ceil(r*l);return this._sizeWH(`${s},${f}`,n,t)}else return this._sizeWH(e,n,t)}_sizeBangScale(A,t,e){let i=e.width,r=e.height,[n,l]=A.split(",").map(f=>f===""?null:Number(f)),s=Math.min(n/i,l/r);if(n>i&&l>r&&!t)throw Error("should not upscale without ^");return s}_sizeMaxScale(A){let t=A.width,e=A.height,i=1;return this.maxArea&&this.maxArea<t*e&&(i=Math.sqrt(this.maxArea/(t*e))),this.maxWidth&&this.maxWidth<t&&(i=Math.min(i,this.maxWidth/t)),this.maxHeight&&this.maxHeight<e&&(i=Math.min(i,this.maxHeight/e)),i}_sizePctScale(A){return Number(A)/100}_sizeWH(A,t,e){let i=e.width,r=e.height,[n,l]=A.split(",").map(s=>s===""?null:Number(s));if(n?l||(l=Math.ceil(r*n/i),l=l===0?1:l):(n=Math.ceil(i*l/r),n=n===0?1:n),(n>i||l>r)&&!t)throw Error("should not upscale without ^");return{width:n,height:l}}normalizeRotationParams(A){this.validate("rotation",A);let t=!1;if(A==="0")return null;A[0]==="!"&&(t=!0);let e=Number(A.replace(/^!/,""));return{isMirror:t,degree:e}}normalizeQualityParams(A){return this.validate("quality",A),A==="native"||A==="default"?null:A}normalizeFormatParams(A,t){if((this.version==="1.0"||this.version==="1.1"||this.version==="2.0"||this.version==="2.1")&&!A)return"png";this.validate("format",A);let e=Pe[A],i=Pe[t];return e===i?null:A}getContentType(A){return Pe[A]}generateImageInfoTemp(A,t){let e={},i={};e.info=i;let r=this.version;return r==="1.0"?(i.identifier=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=jA.format,i.qualities=jA.quality,i.profile=this.uriPattern("compliance"),e.contentType="application/json",e.body=JSON.stringify(i)):(r==="1.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=jA.format,i.qualities=jA.quality,i.profile=this.uriPattern("compliance")):r==="2.0"||r==="2.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=[this.uriPattern("compliance")]):r==="3.0"&&(i["@context"]=[this.uriPattern("context")],i.id=A,i.type="ImageService3",i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=this.uriPattern("compliance")),e.contentType="application/ld+json"),e}factors(A){let t=1,e=[];for(;this.tileWidth*t<=A.width||this.tileHeight*t<=A.height;)e.push(t),t*=2;return e.length===0&&e.push(1),e}uriPattern(A){let t="",e="";return this.version==="1.0"?t=`http://library.stanford.edu/iiif/image-api/compliance.html#level${this.level}`:this.version==="1.1"?(t=`http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level${this.level}`,e="http://library.stanford.edu/iiif/image-api/1.1/context.json"):this.version==="2.0"||this.version==="2.1"?(t=`http://iiif.io/api/image/2/level${this.level}.json`,e="http://iiif.io/api/image/2/context.json"):this.version==="3.0"&&(t=`level${this.level}`,e="http://iiif.io/api/image/3/context.json"),A==="compliance"?t:A==="context"?e:""}sizes(A){return[{width:A.width,height:A.height}]}};Jt.exports=or});var vr=vA((eI,$t)=>{function Fr(A,t,e){let i=e&&e.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+A);let r=typeof A=="object"?A.outer:A,n=r.slice(0,r.indexOf(">")+1),l=['"',"'"];for(let s=0;s<l.length;s++){let f=l[s],o=t+"\\="+f+"([^"+f+"]*)"+f;i&&console.log("[xml-utils] pattern:",o);let h=new RegExp(o).exec(n);if(i&&console.log("[xml-utils] match:",h),h)return h[1]}}$t.exports=Fr;$t.exports.default=Fr});var Ur=vA((tI,Wt)=>{function Rr(A,t,e){let r=new RegExp(t).exec(A.slice(e));return r?e+r.index:-1}Wt.exports=Rr;Wt.exports.default=Rr});var Mr=vA((iI,Ai)=>{function Gr(A,t,e){let r=new RegExp(t).exec(A.slice(e));return r?e+r.index+r[0].length-1:-1}Ai.exports=Gr;Ai.exports.default=Gr});var Nr=vA((rI,ei)=>{function Lr(A,t){let e=new RegExp(t,"g"),i=A.match(e);return i?i.length:0}ei.exports=Lr;ei.exports.default=Lr});var qr=vA((nI,ii)=>{var Ta=Ur(),ti=Mr(),Tr=Nr();function Or(A,t,e){let i=e&&e.debug||!1,r=!(e&&typeof e.nested===!1),n=e&&e.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",e);let l=Ta(A,`<${t}[
2
- >/]`,n);if(i&&console.log("[xml-utils] start:",l),l===-1)return;let s=A.slice(l+t.length),f=ti(s,"^[^<]*[ /]>",0),o=f!==-1&&s[f-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",o),o===!1)if(r){let g=0,c=1,B=0;for(;(f=ti(s,"[ /]"+t+">",g))!==-1;){let C=s.substring(g,f+1);if(c+=Tr(C,"<"+t+`[
3
- >]`),B+=Tr(C,"</"+t+">"),B>=c)break;g=f}}else f=ti(s,"[ /]"+t+">",0);let a=l+t.length+f+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let h=A.slice(l,a),I;return o?I=null:I=h.slice(h.indexOf(">")+1,h.lastIndexOf("<")),{inner:I,outer:h,start:l,end:a}}ii.exports=Or;ii.exports.default=Or});var Yr=vA((oI,ri)=>{var Oa=qr();function Hr(A,t,e){let i=[],r=e&&e.debug||!1,n=e&&typeof e.nested=="boolean"?e.nested:!0,l=e&&e.startIndex||0,s;for(;s=Oa(A,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}ri.exports=Hr;ri.exports.default=Hr});var te,dA,Jr,ni,O,oA,zr,Kr,tt,ue,qa,it=IA(()=>{te={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"},dA={};for(let A in te)te.hasOwnProperty(A)&&(dA[te[A]]=parseInt(A,10));Jr=[dA.BitsPerSample,dA.ExtraSamples,dA.SampleFormat,dA.StripByteCounts,dA.StripOffsets,dA.StripRowCounts,dA.TileByteCounts,dA.TileOffsets,dA.SubIFDs],ni={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"},O={};for(let A in ni)ni.hasOwnProperty(A)&&(O[ni[A]]=parseInt(A,10));oA={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},zr={Unspecified:0,Assocalpha:1,Unassalpha:2},Kr={Version:0,AddCompression:1},tt={None:0,Deflate:1,Zstandard:2},ue={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"},qa={};for(let A in ue)ue.hasOwnProperty(A)&&(qa[ue[A]]=parseInt(A,10))});function za(A,t){let e=A.length-t,i=0;do{for(let r=t;r>0;r--)A[i+t]+=A[i],i++;e-=t}while(e>0)}function Ka(A,t,e){let i=0,r=A.length,n=r/e;for(;r>t;){for(let s=t;s>0;--s)A[i+t]+=A[i],++i;r-=t}let l=A.slice();for(let s=0;s<n;++s)for(let f=0;f<e;++f)A[e*s+f]=l[(e-f-1)*n+s]}function Wr(A,t,e,i,r,n){if(!t||t===1)return A;for(let f=0;f<r.length;++f){if(r[f]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[f]!==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 f=0;f<i&&!(f*s*e*l>=A.byteLength);++f){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(A,f*s*e*l,s*e*l);break;case 16:o=new Uint16Array(A,f*s*e*l,s*e*l/2);break;case 32:o=new Uint32Array(A,f*s*e*l,s*e*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(A,f*s*e*l,s*e*l),Ka(o,s,l))}return A}var An=IA(()=>{});var W,_A=IA(()=>{An();W=class{async decode(t,e){let i=await this.decodeBlock(e),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 Wr(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var en={};RA(en,{default:()=>rt});var rt,tn=IA(()=>{_A();rt=class extends W{decodeBlock(t){return t}}});var nn={};RA(nn,{default:()=>nt});function Va(A,t,e){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+e-(r+1)*8,s=8*(r+2)-(t+e),f=(r+2)*8-t;if(s=Math.max(0,s),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),si;let o=A[r]&2**(8-i)-1;o<<=e-n;let a=o;if(r+1<A.length){let h=A[r+1]>>>s;h<<=Math.max(0,e-f),a+=h}if(l>8&&r+2<A.length){let h=(r+3)*8-(t+e),I=A[r+2]>>>h;a+=I}return a}function ai(A,t){for(let e=t.length-1;e>=0;e--)A.push(t[e]);return A}function Za(A){let t=new Uint16Array(4093),e=new Uint8Array(4093);for(let c=0;c<=257;c++)t[c]=4096,e[c]=c;let i=258,r=rn,n=0;function l(){i=258,r=rn}function s(c){let B=Va(c,n,r);return n+=r,B}function f(c,B){return e[i]=B,t[i]=c,i++,i-1}function o(c){let B=[];for(let C=c;C!==4096;C=t[C])B.push(e[C]);return B}let a=[];l();let h=new Uint8Array(A),I=s(h),g;for(;I!==si;){if(I===oi){for(l(),I=s(h);I===oi;)I=s(h);if(I===si)break;if(I>oi)throw new Error(`corrupted code at scanline ${I}`);{let c=o(I);ai(a,c),g=I}}else if(I<i){let c=o(I);ai(a,c),f(g,c[c.length-1]),g=I}else{let c=o(g);if(!c)throw new Error(`Bogus entry. Not in dictionary, ${g} / ${i}, position: ${n}`);ai(a,c),a.push(c[c.length-1]),f(g,c[c.length-1]),g=I}i+1>=2**r&&(r===Pa?g=void 0:r++),I=s(h)}return new Uint8Array(a)}var rn,oi,si,Pa,nt,on=IA(()=>{_A();rn=9,oi=256,si=257,Pa=12;nt=class extends W{decodeBlock(t){return Za(t,!1).buffer}}});var sn={};RA(sn,{default:()=>ct});function an(A,t){let e=0,i=[],r=16;for(;r>0&&!A[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let f=0;f<A[s];f++){for(n=i.pop(),n.children[n.index]=t[e];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;e++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Xa(A,t,e,i,r,n,l,s,f){let{mcusPerLine:o,progressive:a}=e,h=t,I=t,g=0,c=0;function B(){if(c>0)return c--,g>>c&1;if(g=A[I++],g===255){let L=A[I++];if(L)throw new Error(`unexpected marker: ${(g<<8|L).toString(16)}`)}return c=7,g>>>7}function C(L){let M=L,G;for(;(G=B())!==null;){if(M=M[G],typeof M=="number")return M;if(typeof M!="object")throw new Error("invalid huffman sequence")}return null}function d(L){let M=L,G=0;for(;M>0;){let P=B();if(P===null)return;G=G<<1|P,--M}return G}function E(L){let M=d(L);return M>=1<<L-1?M:M+(-1<<L)+1}function w(L,M){let G=C(L.huffmanTableDC),P=G===0?0:E(G);L.pred+=P,M[0]=L.pred;let X=1;for(;X<64;){let Y=C(L.huffmanTableAC),K=Y&15,AA=Y>>4;if(K===0){if(AA<15)break;X+=16}else{X+=AA;let nA=Qe[X];M[nA]=E(K),X++}}}function p(L,M){let G=C(L.huffmanTableDC),P=G===0?0:E(G)<<f;L.pred+=P,M[0]=L.pred}function Q(L,M){M[0]|=B()<<f}let u=0;function m(L,M){if(u>0){u--;return}let G=n,P=l;for(;G<=P;){let X=C(L.huffmanTableAC),Y=X&15,K=X>>4;if(Y===0){if(K<15){u=d(K)+(1<<K)-1;break}G+=16}else{G+=K;let AA=Qe[G];M[AA]=E(Y)*(1<<f),G++}}}let y=0,k;function x(L,M){let G=n,P=l,X=0;for(;G<=P;){let Y=Qe[G],K=M[Y]<0?-1:1;switch(y){case 0:{let AA=C(L.huffmanTableAC),nA=AA&15;if(X=AA>>4,nA===0)X<15?(u=d(X)+(1<<X),y=4):(X=16,y=1);else{if(nA!==1)throw new Error("invalid ACn encoding");k=E(nA),y=X?2:3}continue}case 1:case 2:M[Y]?M[Y]+=(B()<<f)*K:(X--,X===0&&(y=y===2?3:0));break;case 3:M[Y]?M[Y]+=(B()<<f)*K:(M[Y]=k<<f,y=0);break;case 4:M[Y]&&(M[Y]+=(B()<<f)*K);break;default:break}G++}y===4&&(u--,u===0&&(y=0))}function b(L,M,G,P,X){let Y=G/o|0,K=G%o,AA=Y*L.v+P,nA=K*L.h+X;M(L,L.blocks[AA][nA])}function S(L,M,G){let P=G/L.blocksPerLine|0,X=G%L.blocksPerLine;M(L,L.blocks[P][X])}let N=i.length,D,_,R,T,F,v;a?n===0?v=s===0?p:Q:v=s===0?m:x:v=w;let U=0,q,z;N===1?z=i[0].blocksPerLine*i[0].blocksPerColumn:z=o*e.mcusPerColumn;let V=r||z;for(;U<z;){for(_=0;_<N;_++)i[_].pred=0;if(u=0,N===1)for(D=i[0],F=0;F<V;F++)S(D,v,U),U++;else for(F=0;F<V;F++){for(_=0;_<N;_++){D=i[_];let{h:L,v:M}=D;for(R=0;R<M;R++)for(T=0;T<L;T++)b(D,v,U,R,T)}if(U++,U===z)break}if(c=0,q=A[I]<<8|A[I+1],q<65280)throw new Error("marker was not found");if(q>=65488&&q<=65495)I+=2;else break}return I-h}function ja(A,t){let e=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function f(o,a,h){let I=t.quantizationTable,g,c,B,C,d,E,w,p,Q,u=h,m;for(m=0;m<64;m++)u[m]=o[m]*I[m];for(m=0;m<8;++m){let y=8*m;if(u[1+y]===0&&u[2+y]===0&&u[3+y]===0&&u[4+y]===0&&u[5+y]===0&&u[6+y]===0&&u[7+y]===0){Q=ie*u[0+y]+512>>10,u[0+y]=Q,u[1+y]=Q,u[2+y]=Q,u[3+y]=Q,u[4+y]=Q,u[5+y]=Q,u[6+y]=Q,u[7+y]=Q;continue}g=ie*u[0+y]+128>>8,c=ie*u[4+y]+128>>8,B=u[2+y],C=u[6+y],d=It*(u[1+y]-u[7+y])+128>>8,p=It*(u[1+y]+u[7+y])+128>>8,E=u[3+y]<<4,w=u[5+y]<<4,Q=g-c+1>>1,g=g+c+1>>1,c=Q,Q=B*ft+C*lt+128>>8,B=B*lt-C*ft+128>>8,C=Q,Q=d-w+1>>1,d=d+w+1>>1,w=Q,Q=p+E+1>>1,E=p-E+1>>1,p=Q,Q=g-C+1>>1,g=g+C+1>>1,C=Q,Q=c-B+1>>1,c=c+B+1>>1,B=Q,Q=d*gt+p*st+2048>>12,d=d*st-p*gt+2048>>12,p=Q,Q=E*at+w*ot+2048>>12,E=E*ot-w*at+2048>>12,w=Q,u[0+y]=g+p,u[7+y]=g-p,u[1+y]=c+w,u[6+y]=c-w,u[2+y]=B+E,u[5+y]=B-E,u[3+y]=C+d,u[4+y]=C-d}for(m=0;m<8;++m){let y=m;if(u[1*8+y]===0&&u[2*8+y]===0&&u[3*8+y]===0&&u[4*8+y]===0&&u[5*8+y]===0&&u[6*8+y]===0&&u[7*8+y]===0){Q=ie*h[m+0]+8192>>14,u[0*8+y]=Q,u[1*8+y]=Q,u[2*8+y]=Q,u[3*8+y]=Q,u[4*8+y]=Q,u[5*8+y]=Q,u[6*8+y]=Q,u[7*8+y]=Q;continue}g=ie*u[0*8+y]+2048>>12,c=ie*u[4*8+y]+2048>>12,B=u[2*8+y],C=u[6*8+y],d=It*(u[1*8+y]-u[7*8+y])+2048>>12,p=It*(u[1*8+y]+u[7*8+y])+2048>>12,E=u[3*8+y],w=u[5*8+y],Q=g-c+1>>1,g=g+c+1>>1,c=Q,Q=B*ft+C*lt+2048>>12,B=B*lt-C*ft+2048>>12,C=Q,Q=d-w+1>>1,d=d+w+1>>1,w=Q,Q=p+E+1>>1,E=p-E+1>>1,p=Q,Q=g-C+1>>1,g=g+C+1>>1,C=Q,Q=c-B+1>>1,c=c+B+1>>1,B=Q,Q=d*gt+p*st+2048>>12,d=d*st-p*gt+2048>>12,p=Q,Q=E*at+w*ot+2048>>12,E=E*ot-w*at+2048>>12,w=Q,u[0*8+y]=g+p,u[7*8+y]=g-p,u[1*8+y]=c+w,u[6*8+y]=c-w,u[2*8+y]=B+E,u[5*8+y]=B-E,u[3*8+y]=C+d,u[4*8+y]=C-d}for(m=0;m<64;++m){let y=128+(u[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 h=0;h<8;h++)e.push(new Uint8Array(n));for(let h=0;h<i;h++){f(t.blocks[o][h],s,l);let I=0,g=h<<3;for(let c=0;c<8;c++){let B=e[a+c];for(let C=0;C<8;C++)B[g+C]=s[I++]}}}return e}var Qe,ot,at,st,gt,lt,ft,ie,It,gi,ct,gn=IA(()=>{_A();Qe=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]),ot=4017,at=799,st=3406,gt=2276,lt=1567,ft=3784,ie=5793,It=2896;gi=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function i(){let s=t[e]<<8|t[e+1];return e+=2,s}function r(){let s=i(),f=t.subarray(e,e+s-2);return e+=f.length,f}function n(s){let f=0,o=0,a,h;for(h in s.components)s.components.hasOwnProperty(h)&&(a=s.components[h],f<a.h&&(f=a.h),o<a.v&&(o=a.v));let I=Math.ceil(s.samplesPerLine/8/f),g=Math.ceil(s.scanLines/8/o);for(h in s.components)if(s.components.hasOwnProperty(h)){a=s.components[h];let c=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/f),B=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),C=I*a.h,d=g*a.v,E=[];for(let w=0;w<d;w++){let p=[];for(let Q=0;Q<C;Q++)p.push(new Int32Array(64));E.push(p)}a.blocksPerLine=c,a.blocksPerColumn=B,a.blocks=E}s.maxH=f,s.maxV=o,s.mcusPerLine=I,s.mcusPerColumn=g}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 f=i()+e-2;for(;e<f;){let o=t[e++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let h=0;h<64;h++){let I=Qe[h];a[I]=i()}else throw new Error("DQT: invalid table spec");else for(let h=0;h<64;h++){let I=Qe[h];a[I]=t[e++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[e++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},f=t[e++],o;for(let a=0;a<f;a++){o=t[e];let h=t[e+1]>>4,I=t[e+1]&15,g=t[e+2];s.componentsOrder.push(o),s.components[o]={h,v:I,quantizationIdx:g},e+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let f=2;f<s;){let o=t[e++],a=new Uint8Array(16),h=0;for(let g=0;g<16;g++,e++)a[g]=t[e],h+=a[g];let I=new Uint8Array(h);for(let g=0;g<h;g++,e++)I[g]=t[e];f+=17+h,o>>4?this.huffmanTablesAC[o&15]=an(a,I):this.huffmanTablesDC[o&15]=an(a,I)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[e++],f=[],o=this.frames[0];for(let c=0;c<s;c++){let B=o.components[t[e++]],C=t[e++];B.huffmanTableDC=this.huffmanTablesDC[C>>4],B.huffmanTableAC=this.huffmanTablesAC[C&15],f.push(B)}let a=t[e++],h=t[e++],I=t[e++],g=Xa(t,e,o,f,this.resetInterval,a,h,I>>4,I&15);e+=g;break}case 65535:t[e]!==255&&e--;break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=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 h=this.frames[a].components;for(let I of Object.keys(h))h[I].quantizationTable=this.quantizationTables[h[I].quantizationIdx],delete h[I].quantizationIdx}let e=t[0],{components:i,componentsOrder:r}=e,n=[],l=e.samplesPerLine,s=e.scanLines;for(let a=0;a<r.length;a++){let h=i[r[a]];n.push({lines:ja(e,h),scaleX:h.h/e.maxH,scaleY:h.v/e.maxV})}let f=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let h=0;h<l;++h)for(let I=0;I<n.length;++I){let g=n[I];f[o]=g.lines[0|a*g.scaleY][0|h*g.scaleX],++o}return f}},ct=class extends W{constructor(t){super(),this.reader=new gi,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function ge(A){let t=A.length;for(;--t>=0;)A[t]=0}function fi(A,t,e,i,r){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=A&&A.length}function Ii(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function wA(A,t,e,i,r){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=r}function Ws(){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=yt,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(Js*2),this.dyn_dtree=new Uint16Array((2*Hs+1)*2),this.bl_tree=new Uint16Array((2*Ys+1)*2),MA(this.dyn_ltree),MA(this.dyn_dtree),MA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(zs+1),this.heap=new Uint16Array(2*Di+1),MA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Di+1),MA(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 wg(){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 Me(A){this.options=mt.assign({level:Dg,method:bg,chunkSize:16384,windowBits:15,memLevel:8,strategy:kg},A||{});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 Bo,this.strm.avail_out=0;let e=me.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==wt)throw new Error(PA[e]);if(t.header&&me.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=ve.string2buf(t.dictionary):Co.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,e=me.deflateSetDictionary(this.strm,i),e!==wt)throw new Error(PA[e]);this._dict_set=!0}}function Ni(A,t){let e=new Me(t);if(e.push(A,!0),e.err)throw e.msg||PA[e.err];return e.result}function Sg(A,t){return t=t||{},t.raw=!0,Ni(A,t)}function Fg(A,t){return t=t||{},t.gzip=!0,Ni(A,t)}function Al(){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 El(){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 Le(A){this.options=mt.assign({chunkSize:1024*64,windowBits:15,to:""},A||{});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&&!(A&&A.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 Bo,this.strm.avail_out=0;let e=kA.inflateInit2(this.strm,t.windowBits);if(e!==Re)throw new Error(PA[e]);if(this.header=new ul,kA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=ve.string2buf(t.dictionary):bo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=kA.inflateSetDictionary(this.strm,t.dictionary),e!==Re)))throw new Error(PA[e])}function Ti(A,t){let e=new Le(t);if(e.push(A),e.err)throw e.msg||PA[e.err];return e.result}function yl(A,t){return t=t||{},t.raw=!0,Ti(A,t)}var $a,Vn,Wa,As,es,Ri,Ue,xe,oe,Ui,Zn,JA,li,ts,Gi,Xn,jn,$n,mi,Qt,is,Wn,rs,DA,ye,De,ke,Mi,dt,Ao,eo,to,io,be,aA,pA,ro,ns,os,no,as,oo,ao,ln,ci,fn,_i,In,cn,ss,gs,ls,hn,fs,so,Is,cs,hs,Bs,Cs,Es,us,Qs,ds,ws,Se,ps,ys,ms,eA,PA,le,_s,xi,xs,NA,Ds,TA,ks,bs,cA,Bn,tA,Cn,yA,Ss,hi,Fs,vs,ht,Rs,Us,Gs,Ms,yt,Ls,Ns,Ts,Os,qs,Di,Hs,Ys,Js,zs,J,LA,mA,Ks,ae,Li,ki,bi,Si,Fi,zA,we,rA,fe,VA,Ie,Ps,KA,En,MA,Vs,Zs,OA,sA,gA,Z,de,vi,go,se,lo,Bi,re,Xs,js,pe,$s,Ge,fo,Io,Ag,co,eg,tg,ig,rg,ng,og,ag,sg,gg,lg,fg,Ig,cg,me,hg,Bg,Cg,mt,ho,Fe,Eg,ug,Qg,dg,ve,Bo,Co,pg,yg,mg,_g,wt,xg,Dg,kg,bg,vg,Rg,Ug,Gg,Mg,Lg,Bt,Ng,Tg,ne,un,Qn,dn,Ci,wn,Og,qg,Hg,Yg,Jg,_e,zg,Eo,uo,pn,Kg,Ct,ZA,Pg,Vg,hA,Qo,wo,Zg,yn,_t,mn,_n,xn,Dn,kn,bn,Sn,Fn,vn,pt,xA,Ei,Rn,ui,Un,Gn,Mn,Ln,Et,ut,Nn,Tn,On,qn,Hn,Qi,Yn,Jn,$,po,yo,Xg,jg,$g,Wg,zn,XA,mo,_o,xo,Do,el,Kn,di,wi,tl,ko,il,rl,nl,ol,al,sl,gl,ll,fl,Il,cl,hl,Bl,Cl,kA,ul,bo,Ql,dl,Re,pi,yi,wl,Pn,pl,ml,_l,xl,Dl,kl,bl,BI,CI,EI,uI,QI,Sl,dI,wI,xt,Oi=IA(()=>{$a=0,Vn=1,Wa=2,As=3,es=258,Ri=29,Ue=256,xe=Ue+1+Ri,oe=30,Ui=19,Zn=2*xe+1,JA=15,li=16,ts=7,Gi=256,Xn=16,jn=17,$n=18,mi=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]),Qt=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]),is=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Wn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),rs=512,DA=new Array((xe+2)*2);ge(DA);ye=new Array(oe*2);ge(ye);De=new Array(rs);ge(De);ke=new Array(es-As+1);ge(ke);Mi=new Array(Ri);ge(Mi);dt=new Array(oe);ge(dt);io=A=>A<256?De[A]:De[256+(A>>>7)],be=(A,t)=>{A.pending_buf[A.pending++]=t&255,A.pending_buf[A.pending++]=t>>>8&255},aA=(A,t,e)=>{A.bi_valid>li-e?(A.bi_buf|=t<<A.bi_valid&65535,be(A,A.bi_buf),A.bi_buf=t>>li-A.bi_valid,A.bi_valid+=e-li):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)},pA=(A,t,e)=>{aA(A,e[t*2],e[t*2+1])},ro=(A,t)=>{let e=0;do e|=A&1,A>>>=1,e<<=1;while(--t>0);return e>>>1},ns=A=>{A.bi_valid===16?(be(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8)},os=(A,t)=>{let e=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,f=t.stat_desc.max_length,o,a,h,I,g,c,B=0;for(I=0;I<=JA;I++)A.bl_count[I]=0;for(e[A.heap[A.heap_max]*2+1]=0,o=A.heap_max+1;o<Zn;o++)a=A.heap[o],I=e[e[a*2+1]*2+1]+1,I>f&&(I=f,B++),e[a*2+1]=I,!(a>i)&&(A.bl_count[I]++,g=0,a>=s&&(g=l[a-s]),c=e[a*2],A.opt_len+=c*(I+g),n&&(A.static_len+=c*(r[a*2+1]+g)));if(B!==0){do{for(I=f-1;A.bl_count[I]===0;)I--;A.bl_count[I]--,A.bl_count[I+1]+=2,A.bl_count[f]--,B-=2}while(B>0);for(I=f;I!==0;I--)for(a=A.bl_count[I];a!==0;)h=A.heap[--o],!(h>i)&&(e[h*2+1]!==I&&(A.opt_len+=(I-e[h*2+1])*e[h*2],e[h*2+1]=I),a--)}},no=(A,t,e)=>{let i=new Array(JA+1),r=0,n,l;for(n=1;n<=JA;n++)r=r+e[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=A[l*2+1];s!==0&&(A[l*2]=ro(i[s]++,s))}},as=()=>{let A,t,e,i,r,n=new Array(JA+1);for(e=0,i=0;i<Ri-1;i++)for(Mi[i]=e,A=0;A<1<<mi[i];A++)ke[e++]=i;for(ke[e-1]=i,r=0,i=0;i<16;i++)for(dt[i]=r,A=0;A<1<<Qt[i];A++)De[r++]=i;for(r>>=7;i<oe;i++)for(dt[i]=r<<7,A=0;A<1<<Qt[i]-7;A++)De[256+r++]=i;for(t=0;t<=JA;t++)n[t]=0;for(A=0;A<=143;)DA[A*2+1]=8,A++,n[8]++;for(;A<=255;)DA[A*2+1]=9,A++,n[9]++;for(;A<=279;)DA[A*2+1]=7,A++,n[7]++;for(;A<=287;)DA[A*2+1]=8,A++,n[8]++;for(no(DA,xe+1,n),A=0;A<oe;A++)ye[A*2+1]=5,ye[A*2]=ro(A,5);Ao=new fi(DA,mi,Ue+1,xe,JA),eo=new fi(ye,Qt,0,oe,JA),to=new fi(new Array(0),is,0,Ui,ts)},oo=A=>{let t;for(t=0;t<xe;t++)A.dyn_ltree[t*2]=0;for(t=0;t<oe;t++)A.dyn_dtree[t*2]=0;for(t=0;t<Ui;t++)A.bl_tree[t*2]=0;A.dyn_ltree[Gi*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},ao=A=>{A.bi_valid>8?be(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},ln=(A,t,e,i)=>{let r=t*2,n=e*2;return A[r]<A[n]||A[r]===A[n]&&i[t]<=i[e]},ci=(A,t,e)=>{let i=A.heap[e],r=e<<1;for(;r<=A.heap_len&&(r<A.heap_len&&ln(t,A.heap[r+1],A.heap[r],A.depth)&&r++,!ln(t,i,A.heap[r],A.depth));)A.heap[e]=A.heap[r],e=r,r<<=1;A.heap[e]=i},fn=(A,t,e)=>{let i,r,n=0,l,s;if(A.sym_next!==0)do i=A.pending_buf[A.sym_buf+n++]&255,i+=(A.pending_buf[A.sym_buf+n++]&255)<<8,r=A.pending_buf[A.sym_buf+n++],i===0?pA(A,r,t):(l=ke[r],pA(A,l+Ue+1,t),s=mi[l],s!==0&&(r-=Mi[l],aA(A,r,s)),i--,l=io(i),pA(A,l,e),s=Qt[l],s!==0&&(i-=dt[l],aA(A,i,s)));while(n<A.sym_next);pA(A,Gi,t)},_i=(A,t)=>{let e=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,f=-1,o;for(A.heap_len=0,A.heap_max=Zn,l=0;l<n;l++)e[l*2]!==0?(A.heap[++A.heap_len]=f=l,A.depth[l]=0):e[l*2+1]=0;for(;A.heap_len<2;)o=A.heap[++A.heap_len]=f<2?++f:0,e[o*2]=1,A.depth[o]=0,A.opt_len--,r&&(A.static_len-=i[o*2+1]);for(t.max_code=f,l=A.heap_len>>1;l>=1;l--)ci(A,e,l);o=n;do l=A.heap[1],A.heap[1]=A.heap[A.heap_len--],ci(A,e,1),s=A.heap[1],A.heap[--A.heap_max]=l,A.heap[--A.heap_max]=s,e[o*2]=e[l*2]+e[s*2],A.depth[o]=(A.depth[l]>=A.depth[s]?A.depth[l]:A.depth[s])+1,e[l*2+1]=e[s*2+1]=o,A.heap[1]=o++,ci(A,e,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],os(A,t),no(e,f,A.bl_count)},In=(A,t,e)=>{let i,r=-1,n,l=t[0*2+1],s=0,f=7,o=4;for(l===0&&(f=138,o=3),t[(e+1)*2+1]=65535,i=0;i<=e;i++)n=l,l=t[(i+1)*2+1],!(++s<f&&n===l)&&(s<o?A.bl_tree[n*2]+=s:n!==0?(n!==r&&A.bl_tree[n*2]++,A.bl_tree[Xn*2]++):s<=10?A.bl_tree[jn*2]++:A.bl_tree[$n*2]++,s=0,r=n,l===0?(f=138,o=3):n===l?(f=6,o=3):(f=7,o=4))},cn=(A,t,e)=>{let i,r=-1,n,l=t[0*2+1],s=0,f=7,o=4;for(l===0&&(f=138,o=3),i=0;i<=e;i++)if(n=l,l=t[(i+1)*2+1],!(++s<f&&n===l)){if(s<o)do pA(A,n,A.bl_tree);while(--s!==0);else n!==0?(n!==r&&(pA(A,n,A.bl_tree),s--),pA(A,Xn,A.bl_tree),aA(A,s-3,2)):s<=10?(pA(A,jn,A.bl_tree),aA(A,s-3,3)):(pA(A,$n,A.bl_tree),aA(A,s-11,7));s=0,r=n,l===0?(f=138,o=3):n===l?(f=6,o=3):(f=7,o=4)}},ss=A=>{let t;for(In(A,A.dyn_ltree,A.l_desc.max_code),In(A,A.dyn_dtree,A.d_desc.max_code),_i(A,A.bl_desc),t=Ui-1;t>=3&&A.bl_tree[Wn[t]*2+1]===0;t--);return A.opt_len+=3*(t+1)+5+5+4,t},gs=(A,t,e,i)=>{let r;for(aA(A,t-257,5),aA(A,e-1,5),aA(A,i-4,4),r=0;r<i;r++)aA(A,A.bl_tree[Wn[r]*2+1],3);cn(A,A.dyn_ltree,t-1),cn(A,A.dyn_dtree,e-1)},ls=A=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&A.dyn_ltree[e*2]!==0)return 0;if(A.dyn_ltree[9*2]!==0||A.dyn_ltree[10*2]!==0||A.dyn_ltree[13*2]!==0)return 1;for(e=32;e<Ue;e++)if(A.dyn_ltree[e*2]!==0)return 1;return 0},hn=!1,fs=A=>{hn||(as(),hn=!0),A.l_desc=new Ii(A.dyn_ltree,Ao),A.d_desc=new Ii(A.dyn_dtree,eo),A.bl_desc=new Ii(A.bl_tree,to),A.bi_buf=0,A.bi_valid=0,oo(A)},so=(A,t,e,i)=>{aA(A,($a<<1)+(i?1:0),3),ao(A),be(A,e),be(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e},Is=A=>{aA(A,Vn<<1,3),pA(A,Gi,DA),ns(A)},cs=(A,t,e,i)=>{let r,n,l=0;A.level>0?(A.strm.data_type===2&&(A.strm.data_type=ls(A)),_i(A,A.l_desc),_i(A,A.d_desc),l=ss(A),r=A.opt_len+3+7>>>3,n=A.static_len+3+7>>>3,n<=r&&(r=n)):r=n=e+5,e+4<=r&&t!==-1?so(A,t,e,i):A.strategy===4||n===r?(aA(A,(Vn<<1)+(i?1:0),3),fn(A,DA,ye)):(aA(A,(Wa<<1)+(i?1:0),3),gs(A,A.l_desc.max_code+1,A.d_desc.max_code+1,l+1),fn(A,A.dyn_ltree,A.dyn_dtree)),oo(A),i&&ao(A)},hs=(A,t,e)=>(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=e,t===0?A.dyn_ltree[e*2]++:(A.matches++,t--,A.dyn_ltree[(ke[e]+Ue+1)*2]++,A.dyn_dtree[io(t)*2]++),A.sym_next===A.sym_end),Bs=fs,Cs=so,Es=cs,us=hs,Qs=Is,ds={_tr_init:Bs,_tr_stored_block:Cs,_tr_flush_block:Es,_tr_tally:us,_tr_align:Qs},ws=(A,t,e,i)=>{let r=A&65535|0,n=A>>>16&65535|0,l=0;for(;e!==0;){l=e>2e3?2e3:e,e-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},Se=ws,ps=()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=A&1?3988292384^A>>>1:A>>>1;t[e]=A}return t},ys=new Uint32Array(ps()),ms=(A,t,e,i)=>{let r=ys,n=i+e;A^=-1;for(let l=i;l<n;l++)A=A>>>8^r[(A^t[l])&255];return A^-1},eA=ms,PA={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"},le={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:_s,_tr_stored_block:xi,_tr_flush_block:xs,_tr_tally:NA,_tr_align:Ds}=ds,{Z_NO_FLUSH:TA,Z_PARTIAL_FLUSH:ks,Z_FULL_FLUSH:bs,Z_FINISH:cA,Z_BLOCK:Bn,Z_OK:tA,Z_STREAM_END:Cn,Z_STREAM_ERROR:yA,Z_DATA_ERROR:Ss,Z_BUF_ERROR:hi,Z_DEFAULT_COMPRESSION:Fs,Z_FILTERED:vs,Z_HUFFMAN_ONLY:ht,Z_RLE:Rs,Z_FIXED:Us,Z_DEFAULT_STRATEGY:Gs,Z_UNKNOWN:Ms,Z_DEFLATED:yt}=le,Ls=9,Ns=15,Ts=8,Os=29,qs=256,Di=qs+1+Os,Hs=30,Ys=19,Js=2*Di+1,zs=15,J=3,LA=258,mA=LA+J+1,Ks=32,ae=42,Li=57,ki=69,bi=73,Si=91,Fi=103,zA=113,we=666,rA=1,fe=2,VA=3,Ie=4,Ps=3,KA=(A,t)=>(A.msg=PA[t],t),En=A=>A*2-(A>4?9:0),MA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},Vs=A=>{let t,e,i,r=A.w_size;t=A.hash_size,i=t;do e=A.head[--i],A.head[i]=e>=r?e-r:0;while(--t);t=r,i=t;do e=A.prev[--i],A.prev[i]=e>=r?e-r:0;while(--t)},Zs=(A,t,e)=>(t<<A.hash_shift^e)&A.hash_mask,OA=Zs,sA=A=>{let t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),e!==0&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},gA=(A,t)=>{xs(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,sA(A.strm)},Z=(A,t)=>{A.pending_buf[A.pending++]=t},de=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=t&255},vi=(A,t,e,i)=>{let r=A.avail_in;return r>i&&(r=i),r===0?0:(A.avail_in-=r,t.set(A.input.subarray(A.next_in,A.next_in+r),e),A.state.wrap===1?A.adler=Se(A.adler,t,r,e):A.state.wrap===2&&(A.adler=eA(A.adler,t,r,e)),A.next_in+=r,A.total_in+=r,r)},go=(A,t)=>{let e=A.max_chain_length,i=A.strstart,r,n,l=A.prev_length,s=A.nice_match,f=A.strstart>A.w_size-mA?A.strstart-(A.w_size-mA):0,o=A.window,a=A.w_mask,h=A.prev,I=A.strstart+LA,g=o[i+l-1],c=o[i+l];A.prev_length>=A.good_match&&(e>>=2),s>A.lookahead&&(s=A.lookahead);do if(r=t,!(o[r+l]!==c||o[r+l-1]!==g||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<I);if(n=LA-(I-i),i=I-LA,n>l){if(A.match_start=t,l=n,n>=s)break;g=o[i+l-1],c=o[i+l]}}while((t=h[t&a])>f&&--e!==0);return l<=A.lookahead?l:A.lookahead},se=A=>{let t=A.w_size,e,i,r;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-mA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),Vs(A),i+=t),A.strm.avail_in===0)break;if(e=vi(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=J)for(r=A.strstart-A.insert,A.ins_h=A.window[r],A.ins_h=OA(A,A.ins_h,A.window[r+1]);A.insert&&(A.ins_h=OA(A,A.ins_h,A.window[r+J-1]),A.prev[r&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=r,r++,A.insert--,!(A.lookahead+A.insert<J)););}while(A.lookahead<mA&&A.strm.avail_in!==0)},lo=(A,t)=>{let e=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,i,r,n,l=0,s=A.strm.avail_in;do{if(i=65535,n=A.bi_valid+42>>3,A.strm.avail_out<n||(n=A.strm.avail_out-n,r=A.strstart-A.block_start,i>r+A.strm.avail_in&&(i=r+A.strm.avail_in),i>n&&(i=n),i<e&&(i===0&&t!==cA||t===TA||i!==r+A.strm.avail_in)))break;l=t===cA&&i===r+A.strm.avail_in?1:0,xi(A,0,0,l),A.pending_buf[A.pending-4]=i,A.pending_buf[A.pending-3]=i>>8,A.pending_buf[A.pending-2]=~i,A.pending_buf[A.pending-1]=~i>>8,sA(A.strm),r&&(r>i&&(r=i),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+r),A.strm.next_out),A.strm.next_out+=r,A.strm.avail_out-=r,A.strm.total_out+=r,A.block_start+=r,i-=r),i&&(vi(A.strm,A.strm.output,A.strm.next_out,i),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i)}while(l===0);return s-=A.strm.avail_in,s&&(s>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=s&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-s,A.strm.next_in),A.strstart),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),l?Ie:t!==TA&&t!==cA&&A.strm.avail_in===0&&A.strstart===A.block_start?fe:(n=A.window_size-A.strstart,A.strm.avail_in>n&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,n+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),n>A.strm.avail_in&&(n=A.strm.avail_in),n&&(vi(A.strm,A.window,A.strstart,n),A.strstart+=n,A.insert+=n>A.w_size-A.insert?A.w_size-A.insert:n),A.high_water<A.strstart&&(A.high_water=A.strstart),n=A.bi_valid+42>>3,n=A.pending_buf_size-n>65535?65535:A.pending_buf_size-n,e=n>A.w_size?A.w_size:n,r=A.strstart-A.block_start,(r>=e||(r||t===cA)&&t!==TA&&A.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===cA&&A.strm.avail_in===0&&i===r?1:0,xi(A,A.block_start,i,l),A.block_start+=i,sA(A.strm)),l?VA:rA)},Bi=(A,t)=>{let e,i;for(;;){if(A.lookahead<mA){if(se(A),A.lookahead<mA&&t===TA)return rA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=OA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),e!==0&&A.strstart-e<=A.w_size-mA&&(A.match_length=go(A,e)),A.match_length>=J)if(i=NA(A,A.strstart-A.match_start,A.match_length-J),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=J){A.match_length--;do A.strstart++,A.ins_h=OA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=OA(A,A.ins_h,A.window[A.strstart+1]);else i=NA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(gA(A,!1),A.strm.avail_out===0))return rA}return A.insert=A.strstart<J-1?A.strstart:J-1,t===cA?(gA(A,!0),A.strm.avail_out===0?VA:Ie):A.sym_next&&(gA(A,!1),A.strm.avail_out===0)?rA:fe},re=(A,t)=>{let e,i,r;for(;;){if(A.lookahead<mA){if(se(A),A.lookahead<mA&&t===TA)return rA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=OA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=J-1,e!==0&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-mA&&(A.match_length=go(A,e),A.match_length<=5&&(A.strategy===vs||A.match_length===J&&A.strstart-A.match_start>4096)&&(A.match_length=J-1)),A.prev_length>=J&&A.match_length<=A.prev_length){r=A.strstart+A.lookahead-J,i=NA(A,A.strstart-1-A.prev_match,A.prev_length-J),A.lookahead-=A.prev_length-1,A.prev_length-=2;do++A.strstart<=r&&(A.ins_h=OA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart);while(--A.prev_length!==0);if(A.match_available=0,A.match_length=J-1,A.strstart++,i&&(gA(A,!1),A.strm.avail_out===0))return rA}else if(A.match_available){if(i=NA(A,0,A.window[A.strstart-1]),i&&gA(A,!1),A.strstart++,A.lookahead--,A.strm.avail_out===0)return rA}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=NA(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<J-1?A.strstart:J-1,t===cA?(gA(A,!0),A.strm.avail_out===0?VA:Ie):A.sym_next&&(gA(A,!1),A.strm.avail_out===0)?rA:fe},Xs=(A,t)=>{let e,i,r,n,l=A.window;for(;;){if(A.lookahead<=LA){if(se(A),A.lookahead<=LA&&t===TA)return rA;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=J&&A.strstart>0&&(r=A.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=A.strstart+LA;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);A.match_length=LA-(n-r),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=J?(e=NA(A,1,A.match_length-J),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=NA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(gA(A,!1),A.strm.avail_out===0))return rA}return A.insert=0,t===cA?(gA(A,!0),A.strm.avail_out===0?VA:Ie):A.sym_next&&(gA(A,!1),A.strm.avail_out===0)?rA:fe},js=(A,t)=>{let e;for(;;){if(A.lookahead===0&&(se(A),A.lookahead===0)){if(t===TA)return rA;break}if(A.match_length=0,e=NA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(gA(A,!1),A.strm.avail_out===0))return rA}return A.insert=0,t===cA?(gA(A,!0),A.strm.avail_out===0?VA:Ie):A.sym_next&&(gA(A,!1),A.strm.avail_out===0)?rA:fe};pe=[new wA(0,0,0,0,lo),new wA(4,4,8,4,Bi),new wA(4,5,16,8,Bi),new wA(4,6,32,32,Bi),new wA(4,4,16,16,re),new wA(8,16,32,32,re),new wA(8,16,128,128,re),new wA(8,32,128,256,re),new wA(32,128,258,1024,re),new wA(32,258,258,4096,re)],$s=A=>{A.window_size=2*A.w_size,MA(A.head),A.max_lazy_match=pe[A.level].max_lazy,A.good_match=pe[A.level].good_length,A.nice_match=pe[A.level].nice_length,A.max_chain_length=pe[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=J-1,A.match_available=0,A.ins_h=0};Ge=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.status!==ae&&t.status!==Li&&t.status!==ki&&t.status!==bi&&t.status!==Si&&t.status!==Fi&&t.status!==zA&&t.status!==we?1:0},fo=A=>{if(Ge(A))return KA(A,yA);A.total_in=A.total_out=0,A.data_type=Ms;let t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Li:t.wrap?ae:zA,A.adler=t.wrap===2?0:1,t.last_flush=-2,_s(t),tA},Io=A=>{let t=fo(A);return t===tA&&$s(A.state),t},Ag=(A,t)=>Ge(A)||A.state.wrap!==2?yA:(A.state.gzhead=t,tA),co=(A,t,e,i,r,n)=>{if(!A)return yA;let l=1;if(t===Fs&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Ls||e!==yt||i<8||i>15||t<0||t>9||n<0||n>Us||i===8&&l!==1)return KA(A,yA);i===8&&(i=9);let s=new Ws;return A.state=s,s.strm=A,s.status=ae,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+J-1)/J),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=e,Io(A)},eg=(A,t)=>co(A,t,yt,Ns,Ts,Gs),tg=(A,t)=>{if(Ge(A)||t>Bn||t<0)return A?KA(A,yA):yA;let e=A.state;if(!A.output||A.avail_in!==0&&!A.input||e.status===we&&t!==cA)return KA(A,A.avail_out===0?hi:yA);let i=e.last_flush;if(e.last_flush=t,e.pending!==0){if(sA(A),A.avail_out===0)return e.last_flush=-1,tA}else if(A.avail_in===0&&En(t)<=En(i)&&t!==cA)return KA(A,hi);if(e.status===we&&A.avail_in!==0)return KA(A,hi);if(e.status===ae&&e.wrap===0&&(e.status=zA),e.status===ae){let r=yt+(e.w_bits-8<<4)<<8,n=-1;if(e.strategy>=ht||e.level<2?n=0:e.level<6?n=1:e.level===6?n=2:n=3,r|=n<<6,e.strstart!==0&&(r|=Ks),r+=31-r%31,de(e,r),e.strstart!==0&&(de(e,A.adler>>>16),de(e,A.adler&65535)),A.adler=1,e.status=zA,sA(A),e.pending!==0)return e.last_flush=-1,tA}if(e.status===Li){if(A.adler=0,Z(e,31),Z(e,139),Z(e,8),e.gzhead)Z(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),Z(e,e.gzhead.time&255),Z(e,e.gzhead.time>>8&255),Z(e,e.gzhead.time>>16&255),Z(e,e.gzhead.time>>24&255),Z(e,e.level===9?2:e.strategy>=ht||e.level<2?4:0),Z(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(Z(e,e.gzhead.extra.length&255),Z(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=eA(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=ki;else if(Z(e,0),Z(e,0),Z(e,0),Z(e,0),Z(e,0),Z(e,e.level===9?2:e.strategy>=ht||e.level<2?4:0),Z(e,Ps),e.status=zA,sA(A),e.pending!==0)return e.last_flush=-1,tA}if(e.status===ki){if(e.gzhead.extra){let r=e.pending,n=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+n>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=s,sA(A),e.pending!==0)return e.last_flush=-1,tA;r=0,n-=s}let l=new Uint8Array(e.gzhead.extra);e.pending_buf.set(l.subarray(e.gzindex,e.gzindex+n),e.pending),e.pending+=n,e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=bi}if(e.status===bi){if(e.gzhead.name){let r=e.pending,n;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r)),sA(A),e.pending!==0)return e.last_flush=-1,tA;r=0}e.gzindex<e.gzhead.name.length?n=e.gzhead.name.charCodeAt(e.gzindex++)&255:n=0,Z(e,n)}while(n!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=Si}if(e.status===Si){if(e.gzhead.comment){let r=e.pending,n;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r)),sA(A),e.pending!==0)return e.last_flush=-1,tA;r=0}e.gzindex<e.gzhead.comment.length?n=e.gzhead.comment.charCodeAt(e.gzindex++)&255:n=0,Z(e,n)}while(n!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=eA(A.adler,e.pending_buf,e.pending-r,r))}e.status=Fi}if(e.status===Fi){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(sA(A),e.pending!==0))return e.last_flush=-1,tA;Z(e,A.adler&255),Z(e,A.adler>>8&255),A.adler=0}if(e.status=zA,sA(A),e.pending!==0)return e.last_flush=-1,tA}if(A.avail_in!==0||e.lookahead!==0||t!==TA&&e.status!==we){let r=e.level===0?lo(e,t):e.strategy===ht?js(e,t):e.strategy===Rs?Xs(e,t):pe[e.level].func(e,t);if((r===VA||r===Ie)&&(e.status=we),r===rA||r===VA)return A.avail_out===0&&(e.last_flush=-1),tA;if(r===fe&&(t===ks?Ds(e):t!==Bn&&(xi(e,0,0,!1),t===bs&&(MA(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),sA(A),A.avail_out===0))return e.last_flush=-1,tA}return t!==cA?tA:e.wrap<=0?Cn:(e.wrap===2?(Z(e,A.adler&255),Z(e,A.adler>>8&255),Z(e,A.adler>>16&255),Z(e,A.adler>>24&255),Z(e,A.total_in&255),Z(e,A.total_in>>8&255),Z(e,A.total_in>>16&255),Z(e,A.total_in>>24&255)):(de(e,A.adler>>>16),de(e,A.adler&65535)),sA(A),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?tA:Cn)},ig=A=>{if(Ge(A))return yA;let t=A.state.status;return A.state=null,t===zA?KA(A,Ss):tA},rg=(A,t)=>{let e=t.length;if(Ge(A))return yA;let i=A.state,r=i.wrap;if(r===2||r===1&&i.status!==ae||i.lookahead)return yA;if(r===1&&(A.adler=Se(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){r===0&&(MA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let f=new Uint8Array(i.w_size);f.set(t.subarray(e-i.w_size,e),0),t=f,e=i.w_size}let n=A.avail_in,l=A.next_in,s=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,se(i);i.lookahead>=J;){let f=i.strstart,o=i.lookahead-(J-1);do i.ins_h=OA(i,i.ins_h,i.window[f+J-1]),i.prev[f&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=f,f++;while(--o);i.strstart=f,i.lookahead=J-1,se(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=J-1,i.match_available=0,A.next_in=l,A.input=s,A.avail_in=n,i.wrap=r,tA},ng=eg,og=co,ag=Io,sg=fo,gg=Ag,lg=tg,fg=ig,Ig=rg,cg="pako deflate (from Nodeca project)",me={deflateInit:ng,deflateInit2:og,deflateReset:ag,deflateResetKeep:sg,deflateSetHeader:gg,deflate:lg,deflateEnd:fg,deflateSetDictionary:Ig,deflateInfo:cg},hg=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),Bg=function(A){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let i in e)hg(e,i)&&(A[i]=e[i])}}return A},Cg=A=>{let t=0;for(let i=0,r=A.length;i<r;i++)t+=A[i].length;let e=new Uint8Array(t);for(let i=0,r=0,n=A.length;i<n;i++){let l=A[i];e.set(l,r),r+=l.length}return e},mt={assign:Bg,flattenChunks:Cg},ho=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{ho=!1}Fe=new Uint8Array(256);for(let A=0;A<256;A++)Fe[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;Fe[254]=Fe[254]=1;Eg=A=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let t,e,i,r,n,l=A.length,s=0;for(r=0;r<l;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<l&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),s+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<l&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),e<128?t[n++]=e:e<2048?(t[n++]=192|e>>>6,t[n++]=128|e&63):e<65536?(t[n++]=224|e>>>12,t[n++]=128|e>>>6&63,t[n++]=128|e&63):(t[n++]=240|e>>>18,t[n++]=128|e>>>12&63,t[n++]=128|e>>>6&63,t[n++]=128|e&63);return t},ug=(A,t)=>{if(t<65534&&A.subarray&&ho)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e="";for(let i=0;i<t;i++)e+=String.fromCharCode(A[i]);return e},Qg=(A,t)=>{let e=t||A.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,t));let i,r,n=new Array(e*2);for(r=0,i=0;i<e;){let l=A[i++];if(l<128){n[r++]=l;continue}let s=Fe[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<e;)l=l<<6|A[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 ug(n,r)},dg=(A,t)=>{t=t||A.length,t>A.length&&(t=A.length);let e=t-1;for(;e>=0&&(A[e]&192)===128;)e--;return e<0||e===0?t:e+Fe[A[e]]>t?e:t},ve={string2buf:Eg,buf2string:Qg,utf8border:dg};Bo=wg,Co=Object.prototype.toString,{Z_NO_FLUSH:pg,Z_SYNC_FLUSH:yg,Z_FULL_FLUSH:mg,Z_FINISH:_g,Z_OK:wt,Z_STREAM_END:xg,Z_DEFAULT_COMPRESSION:Dg,Z_DEFAULT_STRATEGY:kg,Z_DEFLATED:bg}=le;Me.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?_g:pg,typeof A=="string"?e.input=ve.string2buf(A):Co.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(n===yg||n===mg)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(r=me.deflate(e,n),r===xg)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=me.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===wt;if(e.avail_out===0){this.onData(e.output);continue}if(n>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Me.prototype.onData=function(A){this.chunks.push(A)};Me.prototype.onEnd=function(A){A===wt&&(this.result=mt.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};vg=Me,Rg=Ni,Ug=Sg,Gg=Fg,Mg=le,Lg={Deflate:vg,deflate:Rg,deflateRaw:Ug,gzip:Gg,constants:Mg},Bt=16209,Ng=16191,Tg=function(t,e){let i,r,n,l,s,f,o,a,h,I,g,c,B,C,d,E,w,p,Q,u,m,y,k,x,b=t.state;i=t.next_in,k=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(e-t.avail_out),s=n+(t.avail_out-257),f=b.dmax,o=b.wsize,a=b.whave,h=b.wnext,I=b.window,g=b.hold,c=b.bits,B=b.lencode,C=b.distcode,d=(1<<b.lenbits)-1,E=(1<<b.distbits)-1;A:do{c<15&&(g+=k[i++]<<c,c+=8,g+=k[i++]<<c,c+=8),w=B[g&d];e:for(;;){if(p=w>>>24,g>>>=p,c-=p,p=w>>>16&255,p===0)x[n++]=w&65535;else if(p&16){Q=w&65535,p&=15,p&&(c<p&&(g+=k[i++]<<c,c+=8),Q+=g&(1<<p)-1,g>>>=p,c-=p),c<15&&(g+=k[i++]<<c,c+=8,g+=k[i++]<<c,c+=8),w=C[g&E];t:for(;;){if(p=w>>>24,g>>>=p,c-=p,p=w>>>16&255,p&16){if(u=w&65535,p&=15,c<p&&(g+=k[i++]<<c,c+=8,c<p&&(g+=k[i++]<<c,c+=8)),u+=g&(1<<p)-1,u>f){t.msg="invalid distance too far back",b.mode=Bt;break A}if(g>>>=p,c-=p,p=n-l,u>p){if(p=u-p,p>a&&b.sane){t.msg="invalid distance too far back",b.mode=Bt;break A}if(m=0,y=I,h===0){if(m+=o-p,p<Q){Q-=p;do x[n++]=I[m++];while(--p);m=n-u,y=x}}else if(h<p){if(m+=o+h-p,p-=h,p<Q){Q-=p;do x[n++]=I[m++];while(--p);if(m=0,h<Q){p=h,Q-=p;do x[n++]=I[m++];while(--p);m=n-u,y=x}}}else if(m+=h-p,p<Q){Q-=p;do x[n++]=I[m++];while(--p);m=n-u,y=x}for(;Q>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],Q-=3;Q&&(x[n++]=y[m++],Q>1&&(x[n++]=y[m++]))}else{m=n-u;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],Q-=3;while(Q>2);Q&&(x[n++]=x[m++],Q>1&&(x[n++]=x[m++]))}}else if(p&64){t.msg="invalid distance code",b.mode=Bt;break A}else{w=C[(w&65535)+(g&(1<<p)-1)];continue t}break}}else if(p&64)if(p&32){b.mode=Ng;break A}else{t.msg="invalid literal/length code",b.mode=Bt;break A}else{w=B[(w&65535)+(g&(1<<p)-1)];continue e}break}}while(i<r&&n<s);Q=c>>3,i-=Q,c-=Q<<3,g&=(1<<c)-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),b.hold=g,b.bits=c},ne=15,un=852,Qn=592,dn=0,Ci=1,wn=2,Og=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]),qg=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]),Hg=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]),Yg=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]),Jg=(A,t,e,i,r,n,l,s)=>{let f=s.bits,o=0,a=0,h=0,I=0,g=0,c=0,B=0,C=0,d=0,E=0,w,p,Q,u,m,y=null,k,x=new Uint16Array(ne+1),b=new Uint16Array(ne+1),S=null,N,D,_;for(o=0;o<=ne;o++)x[o]=0;for(a=0;a<i;a++)x[t[e+a]]++;for(g=f,I=ne;I>=1&&x[I]===0;I--);if(g>I&&(g=I),I===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(h=1;h<I&&x[h]===0;h++);for(g<h&&(g=h),C=1,o=1;o<=ne;o++)if(C<<=1,C-=x[o],C<0)return-1;if(C>0&&(A===dn||I!==1))return-1;for(b[1]=0,o=1;o<ne;o++)b[o+1]=b[o]+x[o];for(a=0;a<i;a++)t[e+a]!==0&&(l[b[t[e+a]]++]=a);if(A===dn?(y=S=l,k=20):A===Ci?(y=Og,S=qg,k=257):(y=Hg,S=Yg,k=0),E=0,a=0,o=h,m=n,c=g,B=0,Q=-1,d=1<<g,u=d-1,A===Ci&&d>un||A===wn&&d>Qn)return 1;for(;;){N=o-B,l[a]+1<k?(D=0,_=l[a]):l[a]>=k?(D=S[l[a]-k],_=y[l[a]-k]):(D=32+64,_=0),w=1<<o-B,p=1<<c,h=p;do p-=w,r[m+(E>>B)+p]=N<<24|D<<16|_|0;while(p!==0);for(w=1<<o-1;E&w;)w>>=1;if(w!==0?(E&=w-1,E+=w):E=0,a++,--x[o]===0){if(o===I)break;o=t[e+l[a]]}if(o>g&&(E&u)!==Q){for(B===0&&(B=g),m+=h,c=o-B,C=1<<c;c+B<I&&(C-=x[c+B],!(C<=0));)c++,C<<=1;if(d+=1<<c,A===Ci&&d>un||A===wn&&d>Qn)return 1;Q=E&u,r[Q]=g<<24|c<<16|m-n|0}}return E!==0&&(r[m+E]=o-B<<24|64<<16|0),s.bits=g,0},_e=Jg,zg=0,Eo=1,uo=2,{Z_FINISH:pn,Z_BLOCK:Kg,Z_TREES:Ct,Z_OK:ZA,Z_STREAM_END:Pg,Z_NEED_DICT:Vg,Z_STREAM_ERROR:hA,Z_DATA_ERROR:Qo,Z_MEM_ERROR:wo,Z_BUF_ERROR:Zg,Z_DEFLATED:yn}=le,_t=16180,mn=16181,_n=16182,xn=16183,Dn=16184,kn=16185,bn=16186,Sn=16187,Fn=16188,vn=16189,pt=16190,xA=16191,Ei=16192,Rn=16193,ui=16194,Un=16195,Gn=16196,Mn=16197,Ln=16198,Et=16199,ut=16200,Nn=16201,Tn=16202,On=16203,qn=16204,Hn=16205,Qi=16206,Yn=16207,Jn=16208,$=16209,po=16210,yo=16211,Xg=852,jg=592,$g=15,Wg=$g,zn=A=>(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24);XA=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.mode<_t||t.mode>yo?1:0},mo=A=>{if(XA(A))return hA;let t=A.state;return A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=t.wrap&1),t.mode=_t,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(Xg),t.distcode=t.distdyn=new Int32Array(jg),t.sane=1,t.back=-1,ZA},_o=A=>{if(XA(A))return hA;let t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,mo(A)},xo=(A,t)=>{let e;if(XA(A))return hA;let i=A.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?hA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,_o(A))},Do=(A,t)=>{if(!A)return hA;let e=new Al;A.state=e,e.strm=A,e.window=null,e.mode=_t;let i=xo(A,t);return i!==ZA&&(A.state=null),i},el=A=>Do(A,Wg),Kn=!0,tl=A=>{if(Kn){di=new Int32Array(512),wi=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(_e(Eo,A.lens,0,288,di,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;_e(uo,A.lens,0,32,wi,0,A.work,{bits:5}),Kn=!1}A.lencode=di,A.lenbits=9,A.distcode=wi,A.distbits=5},ko=(A,t,e,i)=>{let r,n=A.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(e-n.wsize,e),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(e-i,e-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(e-i,e),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},il=(A,t)=>{let e,i,r,n,l,s,f,o,a,h,I,g,c,B,C=0,d,E,w,p,Q,u,m,y,k=new Uint8Array(4),x,b,S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(XA(A)||!A.output||!A.input&&A.avail_in!==0)return hA;e=A.state,e.mode===xA&&(e.mode=Ei),l=A.next_out,r=A.output,f=A.avail_out,n=A.next_in,i=A.input,s=A.avail_in,o=e.hold,a=e.bits,h=s,I=f,y=ZA;A:for(;;)switch(e.mode){case _t:if(e.wrap===0){e.mode=Ei;break}for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&2&&o===35615){e.wbits===0&&(e.wbits=15),e.check=0,k[0]=o&255,k[1]=o>>>8&255,e.check=eA(e.check,k,2,0),o=0,a=0,e.mode=mn;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((o&255)<<8)+(o>>8))%31){A.msg="incorrect header check",e.mode=$;break}if((o&15)!==yn){A.msg="unknown compression method",e.mode=$;break}if(o>>>=4,a-=4,m=(o&15)+8,e.wbits===0&&(e.wbits=m),m>15||m>e.wbits){A.msg="invalid window size",e.mode=$;break}e.dmax=1<<e.wbits,e.flags=0,A.adler=e.check=1,e.mode=o&512?vn:xA,o=0,a=0;break;case mn:for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.flags=o,(e.flags&255)!==yn){A.msg="unknown compression method",e.mode=$;break}if(e.flags&57344){A.msg="unknown header flags set",e.mode=$;break}e.head&&(e.head.text=o>>8&1),e.flags&512&&e.wrap&4&&(k[0]=o&255,k[1]=o>>>8&255,e.check=eA(e.check,k,2,0)),o=0,a=0,e.mode=_n;case _n:for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.head&&(e.head.time=o),e.flags&512&&e.wrap&4&&(k[0]=o&255,k[1]=o>>>8&255,k[2]=o>>>16&255,k[3]=o>>>24&255,e.check=eA(e.check,k,4,0)),o=0,a=0,e.mode=xn;case xn:for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.head&&(e.head.xflags=o&255,e.head.os=o>>8),e.flags&512&&e.wrap&4&&(k[0]=o&255,k[1]=o>>>8&255,e.check=eA(e.check,k,2,0)),o=0,a=0,e.mode=Dn;case Dn:if(e.flags&1024){for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.length=o,e.head&&(e.head.extra_len=o),e.flags&512&&e.wrap&4&&(k[0]=o&255,k[1]=o>>>8&255,e.check=eA(e.check,k,2,0)),o=0,a=0}else e.head&&(e.head.extra=null);e.mode=kn;case kn:if(e.flags&1024&&(g=e.length,g>s&&(g=s),g&&(e.head&&(m=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(n,n+g),m)),e.flags&512&&e.wrap&4&&(e.check=eA(e.check,i,g,n)),s-=g,n+=g,e.length-=g),e.length))break A;e.length=0,e.mode=bn;case bn:if(e.flags&2048){if(s===0)break A;g=0;do m=i[n+g++],e.head&&m&&e.length<65536&&(e.head.name+=String.fromCharCode(m));while(m&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=eA(e.check,i,g,n)),s-=g,n+=g,m)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=Sn;case Sn:if(e.flags&4096){if(s===0)break A;g=0;do m=i[n+g++],e.head&&m&&e.length<65536&&(e.head.comment+=String.fromCharCode(m));while(m&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=eA(e.check,i,g,n)),s-=g,n+=g,m)break A}else e.head&&(e.head.comment=null);e.mode=Fn;case Fn:if(e.flags&512){for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&4&&o!==(e.check&65535)){A.msg="header crc mismatch",e.mode=$;break}o=0,a=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=xA;break;case vn:for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}A.adler=e.check=zn(o),o=0,a=0,e.mode=pt;case pt:if(e.havedict===0)return A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,Vg;A.adler=e.check=1,e.mode=xA;case xA:if(t===Kg||t===Ct)break A;case Ei:if(e.last){o>>>=a&7,a-=a&7,e.mode=Qi;break}for(;a<3;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}switch(e.last=o&1,o>>>=1,a-=1,o&3){case 0:e.mode=Rn;break;case 1:if(tl(e),e.mode=Et,t===Ct){o>>>=2,a-=2;break A}break;case 2:e.mode=Gn;break;case 3:A.msg="invalid block type",e.mode=$}o>>>=2,a-=2;break;case Rn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){A.msg="invalid stored block lengths",e.mode=$;break}if(e.length=o&65535,o=0,a=0,e.mode=ui,t===Ct)break A;case ui:e.mode=Un;case Un:if(g=e.length,g){if(g>s&&(g=s),g>f&&(g=f),g===0)break A;r.set(i.subarray(n,n+g),l),s-=g,n+=g,f-=g,l+=g,e.length-=g;break}e.mode=xA;break;case Gn:for(;a<14;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.nlen=(o&31)+257,o>>>=5,a-=5,e.ndist=(o&31)+1,o>>>=5,a-=5,e.ncode=(o&15)+4,o>>>=4,a-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=$;break}e.have=0,e.mode=Mn;case Mn:for(;e.have<e.ncode;){for(;a<3;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.lens[S[e.have++]]=o&7,o>>>=3,a-=3}for(;e.have<19;)e.lens[S[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,x={bits:e.lenbits},y=_e(zg,e.lens,0,19,e.lencode,0,e.work,x),e.lenbits=x.bits,y){A.msg="invalid code lengths set",e.mode=$;break}e.have=0,e.mode=Ln;case Ln:for(;e.have<e.nlen+e.ndist;){for(;C=e.lencode[o&(1<<e.lenbits)-1],d=C>>>24,E=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(w<16)o>>>=d,a-=d,e.lens[e.have++]=w;else{if(w===16){for(b=d+2;a<b;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(o>>>=d,a-=d,e.have===0){A.msg="invalid bit length repeat",e.mode=$;break}m=e.lens[e.have-1],g=3+(o&3),o>>>=2,a-=2}else if(w===17){for(b=d+3;a<b;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=d,a-=d,m=0,g=3+(o&7),o>>>=3,a-=3}else{for(b=d+7;a<b;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=d,a-=d,m=0,g=11+(o&127),o>>>=7,a-=7}if(e.have+g>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=$;break}for(;g--;)e.lens[e.have++]=m}}if(e.mode===$)break;if(e.lens[256]===0){A.msg="invalid code -- missing end-of-block",e.mode=$;break}if(e.lenbits=9,x={bits:e.lenbits},y=_e(Eo,e.lens,0,e.nlen,e.lencode,0,e.work,x),e.lenbits=x.bits,y){A.msg="invalid literal/lengths set",e.mode=$;break}if(e.distbits=6,e.distcode=e.distdyn,x={bits:e.distbits},y=_e(uo,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,x),e.distbits=x.bits,y){A.msg="invalid distances set",e.mode=$;break}if(e.mode=Et,t===Ct)break A;case Et:e.mode=ut;case ut:if(s>=6&&f>=258){A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,Tg(A,I),l=A.next_out,r=A.output,f=A.avail_out,n=A.next_in,i=A.input,s=A.avail_in,o=e.hold,a=e.bits,e.mode===xA&&(e.back=-1);break}for(e.back=0;C=e.lencode[o&(1<<e.lenbits)-1],d=C>>>24,E=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(E&&!(E&240)){for(p=d,Q=E,u=w;C=e.lencode[u+((o&(1<<p+Q)-1)>>p)],d=C>>>24,E=C>>>16&255,w=C&65535,!(p+d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=p,a-=p,e.back+=p}if(o>>>=d,a-=d,e.back+=d,e.length=w,E===0){e.mode=Hn;break}if(E&32){e.back=-1,e.mode=xA;break}if(E&64){A.msg="invalid literal/length code",e.mode=$;break}e.extra=E&15,e.mode=Nn;case Nn:if(e.extra){for(b=e.extra;a<b;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.length+=o&(1<<e.extra)-1,o>>>=e.extra,a-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=Tn;case Tn:for(;C=e.distcode[o&(1<<e.distbits)-1],d=C>>>24,E=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(!(E&240)){for(p=d,Q=E,u=w;C=e.distcode[u+((o&(1<<p+Q)-1)>>p)],d=C>>>24,E=C>>>16&255,w=C&65535,!(p+d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=p,a-=p,e.back+=p}if(o>>>=d,a-=d,e.back+=d,E&64){A.msg="invalid distance code",e.mode=$;break}e.offset=w,e.extra=E&15,e.mode=On;case On:if(e.extra){for(b=e.extra;a<b;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.offset+=o&(1<<e.extra)-1,o>>>=e.extra,a-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=$;break}e.mode=qn;case qn:if(f===0)break A;if(g=I-f,e.offset>g){if(g=e.offset-g,g>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=$;break}g>e.wnext?(g-=e.wnext,c=e.wsize-g):c=e.wnext-g,g>e.length&&(g=e.length),B=e.window}else B=r,c=l-e.offset,g=e.length;g>f&&(g=f),f-=g,e.length-=g;do r[l++]=B[c++];while(--g);e.length===0&&(e.mode=ut);break;case Hn:if(f===0)break A;r[l++]=e.length,f--,e.mode=ut;break;case Qi:if(e.wrap){for(;a<32;){if(s===0)break A;s--,o|=i[n++]<<a,a+=8}if(I-=f,A.total_out+=I,e.total+=I,e.wrap&4&&I&&(A.adler=e.check=e.flags?eA(e.check,r,I,l-I):Se(e.check,r,I,l-I)),I=f,e.wrap&4&&(e.flags?o:zn(o))!==e.check){A.msg="incorrect data check",e.mode=$;break}o=0,a=0}e.mode=Yn;case Yn:if(e.wrap&&e.flags){for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&4&&o!==(e.total&4294967295)){A.msg="incorrect length check",e.mode=$;break}o=0,a=0}e.mode=Jn;case Jn:y=Pg;break A;case $:y=Qo;break A;case po:return wo;case yo:default:return hA}return A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,(e.wsize||I!==A.avail_out&&e.mode<$&&(e.mode<Qi||t!==pn))&&ko(A,A.output,A.next_out,I-A.avail_out),h-=A.avail_in,I-=A.avail_out,A.total_in+=h,A.total_out+=I,e.total+=I,e.wrap&4&&I&&(A.adler=e.check=e.flags?eA(e.check,r,I,A.next_out-I):Se(e.check,r,I,A.next_out-I)),A.data_type=e.bits+(e.last?64:0)+(e.mode===xA?128:0)+(e.mode===Et||e.mode===ui?256:0),(h===0&&I===0||t===pn)&&y===ZA&&(y=Zg),y},rl=A=>{if(XA(A))return hA;let t=A.state;return t.window&&(t.window=null),A.state=null,ZA},nl=(A,t)=>{if(XA(A))return hA;let e=A.state;return e.wrap&2?(e.head=t,t.done=!1,ZA):hA},ol=(A,t)=>{let e=t.length,i,r,n;return XA(A)||(i=A.state,i.wrap!==0&&i.mode!==pt)?hA:i.mode===pt&&(r=1,r=Se(r,t,e,0),r!==i.check)?Qo:(n=ko(A,t,e,e),n?(i.mode=po,wo):(i.havedict=1,ZA))},al=_o,sl=xo,gl=mo,ll=el,fl=Do,Il=il,cl=rl,hl=nl,Bl=ol,Cl="pako inflate (from Nodeca project)",kA={inflateReset:al,inflateReset2:sl,inflateResetKeep:gl,inflateInit:ll,inflateInit2:fl,inflate:Il,inflateEnd:cl,inflateGetHeader:hl,inflateSetDictionary:Bl,inflateInfo:Cl};ul=El,bo=Object.prototype.toString,{Z_NO_FLUSH:Ql,Z_FINISH:dl,Z_OK:Re,Z_STREAM_END:pi,Z_NEED_DICT:yi,Z_STREAM_ERROR:wl,Z_DATA_ERROR:Pn,Z_MEM_ERROR:pl}=le;Le.prototype.push=function(A,t){let e=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?dl:Ql,bo.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),n=kA.inflate(e,l),n===yi&&r&&(n=kA.inflateSetDictionary(e,r),n===Re?n=kA.inflate(e,l):n===Pn&&(n=yi));e.avail_in>0&&n===pi&&e.state.wrap>0&&A[e.next_in]!==0;)kA.inflateReset(e),n=kA.inflate(e,l);switch(n){case wl:case Pn:case yi:case pl:return this.onEnd(n),this.ended=!0,!1}if(s=e.avail_out,e.next_out&&(e.avail_out===0||n===pi))if(this.options.to==="string"){let f=ve.utf8border(e.output,e.next_out),o=e.next_out-f,a=ve.buf2string(e.output,f);e.next_out=o,e.avail_out=i-o,o&&e.output.set(e.output.subarray(f,f+o),0),this.onData(a)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(n===Re&&s===0)){if(n===pi)return n=kA.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};Le.prototype.onData=function(A){this.chunks.push(A)};Le.prototype.onEnd=function(A){A===Re&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mt.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};ml=Le,_l=Ti,xl=yl,Dl=Ti,kl=le,bl={Inflate:ml,inflate:_l,inflateRaw:xl,ungzip:Dl,constants:kl},{Deflate:BI,deflate:CI,deflateRaw:EI,gzip:uI}=Lg,{Inflate:QI,inflate:Sl,inflateRaw:dI,ungzip:wI}=bl,xt=Sl});var So={};RA(So,{default:()=>Dt});var Dt,Fo=IA(()=>{Oi();_A();Dt=class extends W{decodeBlock(t){return xt(new Uint8Array(t)).buffer}}});var vo={};RA(vo,{default:()=>kt});var kt,Ro=IA(()=>{_A();kt=class extends W{decodeBlock(t){let e=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=e.getInt8(r);if(n<0){let l=e.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(e.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var Uo=vA((xI,bt)=>{(function(){var A=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,h){h=h||{};var I=h.encodedMaskData||h.encodedMaskData===null,g=f(a,h.inputOffset||0,I),c=h.noDataValue!==null?h.noDataValue:r.defaultNoDataValue,B=n(g,h.pixelType||Float32Array,h.encodedMaskData,c,h.returnMask),C={width:g.width,height:g.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:g.pixels.maxValue,noDataValue:c};return B.resultMask&&(C.maskData=B.resultMask),h.returnEncodedMask&&g.mask&&(C.encodedMaskData=g.mask.bitset?g.mask.bitset:null),h.returnFileInfo&&(C.fileInfo=l(g),h.computeUsedBitDepths&&(C.fileInfo.bitDepths=s(g))),C};var n=function(a,h,I,g,c){var B=0,C=a.pixels.numBlocksX,d=a.pixels.numBlocksY,E=Math.floor(a.width/C),w=Math.floor(a.height/d),p=2*a.maxZError,Q=Number.MAX_VALUE,u;I=I||(a.mask?a.mask.bitset:null);var m,y;m=new h(a.width*a.height),c&&I&&(y=new Uint8Array(a.width*a.height));for(var k=new Float32Array(E*w),x,b,S=0;S<=d;S++){var N=S!==d?w:a.height%d;if(N!==0)for(var D=0;D<=C;D++){var _=D!==C?E:a.width%C;if(_!==0){var R=S*a.width*w+D*E,T=a.width-_,F=a.pixels.blocks[B],v,U,q;F.encoding<2?(F.encoding===0?v=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,p,k,a.pixels.maxValue),v=k),U=0):F.encoding===2?q=0:q=F.offset;var z;if(I)for(b=0;b<N;b++){for(R&7&&(z=I[R>>3],z<<=R&7),x=0;x<_;x++)R&7||(z=I[R>>3]),z&128?(y&&(y[R]=1),u=F.encoding<2?v[U++]:q,Q=Q>u?u:Q,m[R++]=u):(y&&(y[R]=0),m[R++]=g),z<<=1;R+=T}else if(F.encoding<2)for(b=0;b<N;b++){for(x=0;x<_;x++)u=v[U++],Q=Q>u?u:Q,m[R++]=u;R+=T}else for(Q=Q>q?q:Q,b=0;b<N;b++){for(x=0;x<_;x++)m[R++]=q;R+=T}if(F.encoding===1&&U!==F.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:m,resultMask:y,minValue:Q}},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 h=a.pixels.numBlocksX*a.pixels.numBlocksY,I={},g=0;g<h;g++){var c=a.pixels.blocks[g];c.encoding===0?I.float32=!0:c.encoding===1?I[c.bitsPerPixel]=!0:I[0]=!0}return Object.keys(I)},f=function(a,h,I){var g={},c=new Uint8Array(a,h,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,c),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;h+=10;var B=new DataView(a,h,24);if(g.fileVersion=B.getInt32(0,!0),g.imageType=B.getInt32(4,!0),g.height=B.getUint32(8,!0),g.width=B.getUint32(12,!0),g.maxZError=B.getFloat64(16,!0),h+=24,!I)if(B=new DataView(a,h,16),g.mask={},g.mask.numBlocksY=B.getUint32(0,!0),g.mask.numBlocksX=B.getUint32(4,!0),g.mask.numBytes=B.getUint32(8,!0),g.mask.maxValue=B.getFloat32(12,!0),h+=16,g.mask.numBytes>0){var C=new Uint8Array(Math.ceil(g.width*g.height/8));B=new DataView(a,h,g.mask.numBytes);var d=B.getInt16(0,!0),E=2,w=0;do{if(d>0)for(;d--;)C[w++]=B.getUint8(E++);else{var p=B.getUint8(E++);for(d=-d;d--;)C[w++]=p}d=B.getInt16(E,!0),E+=2}while(E<g.mask.numBytes);if(d!==-32768||w<C.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=C,h+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));B=new DataView(a,h,16),g.pixels={},g.pixels.numBlocksY=B.getUint32(0,!0),g.pixels.numBlocksX=B.getUint32(4,!0),g.pixels.numBytes=B.getUint32(8,!0),g.pixels.maxValue=B.getFloat32(12,!0),h+=16;var Q=g.pixels.numBlocksX,u=g.pixels.numBlocksY,m=Q+(g.width%Q>0?1:0),y=u+(g.height%u>0?1:0);g.pixels.blocks=new Array(m*y);for(var k=0,x=0;x<y;x++)for(var b=0;b<m;b++){var S=0,N=a.byteLength-h;B=new DataView(a,h,Math.min(10,N));var D={};g.pixels.blocks[k++]=D;var _=B.getUint8(0);if(S++,D.encoding=_&63,D.encoding>3)throw"Invalid block encoding ("+D.encoding+")";if(D.encoding===2){h++;continue}if(_!==0&&_!==2){if(_>>=6,D.offsetType=_,_===2)D.offset=B.getInt8(1),S++;else if(_===1)D.offset=B.getInt16(1,!0),S+=2;else if(_===0)D.offset=B.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(D.encoding===1)if(_=B.getUint8(S),S++,D.bitsPerPixel=_&63,_>>=6,D.numValidPixelsType=_,_===2)D.numValidPixels=B.getUint8(S),S++;else if(_===1)D.numValidPixels=B.getUint16(S,!0),S+=2;else if(_===0)D.numValidPixels=B.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(h+=S,D.encoding!==3){var R,T;if(D.encoding===0){var F=(g.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";R=new ArrayBuffer(F*4),T=new Uint8Array(R),T.set(new Uint8Array(a,h,F*4));var v=new Float32Array(R);D.rawData=v,h+=F*4}else if(D.encoding===1){var U=Math.ceil(D.numValidPixels*D.bitsPerPixel/8),q=Math.ceil(U/4);R=new ArrayBuffer(q*4),T=new Uint8Array(R),T.set(new Uint8Array(a,h,U)),D.stuffedData=new Uint32Array(R),h+=U}}}return g.eofOffset=h,g},o=function(a,h,I,g,c,B,C){var d=(1<<h)-1,E=0,w,p=0,Q,u,m=Math.ceil((C-g)/c),y=a.length*4-Math.ceil(h*I/8);for(a[a.length-1]<<=8*y,w=0;w<I;w++){if(p===0&&(u=a[E++],p=32),p>=h)Q=u>>>p-h&d,p-=h;else{var k=h-p;Q=(u&d)<<k&d,u=a[E++],p=32-k,Q+=u>>>p}B[w]=Q<m?g+Q*c:C}return B};return r}(),t=function(){"use strict";var r={unstuff:function(f,o,a,h,I,g,c,B){var C=(1<<a)-1,d=0,E,w=0,p,Q,u,m,y=f.length*4-Math.ceil(a*h/8);if(f[f.length-1]<<=8*y,I)for(E=0;E<h;E++)w===0&&(Q=f[d++],w=32),w>=a?(p=Q>>>w-a&C,w-=a):(u=a-w,p=(Q&C)<<u&C,Q=f[d++],w=32-u,p+=Q>>>w),o[E]=I[p];else for(m=Math.ceil((B-g)/c),E=0;E<h;E++)w===0&&(Q=f[d++],w=32),w>=a?(p=Q>>>w-a&C,w-=a):(u=a-w,p=(Q&C)<<u&C,Q=f[d++],w=32-u,p+=Q>>>w),o[E]=p<m?g+p*c:B},unstuffLUT:function(f,o,a,h,I,g){var c=(1<<o)-1,B=0,C=0,d=0,E=0,w=0,p,Q=[],u=f.length*4-Math.ceil(o*a/8);f[f.length-1]<<=8*u;var m=Math.ceil((g-h)/I);for(C=0;C<a;C++)E===0&&(p=f[B++],E=32),E>=o?(w=p>>>E-o&c,E-=o):(d=o-E,w=(p&c)<<d&c,p=f[B++],E=32-d,w+=p>>>E),Q[C]=w<m?h+w*I:g;return Q.unshift(h),Q},unstuff2:function(f,o,a,h,I,g,c,B){var C=(1<<a)-1,d=0,E,w=0,p=0,Q,u,m;if(I)for(E=0;E<h;E++)w===0&&(u=f[d++],w=32,p=0),w>=a?(Q=u>>>p&C,w-=a,p+=a):(m=a-w,Q=u>>>p&C,u=f[d++],w=32-m,Q|=(u&(1<<m)-1)<<a-m,p=m),o[E]=I[Q];else{var y=Math.ceil((B-g)/c);for(E=0;E<h;E++)w===0&&(u=f[d++],w=32,p=0),w>=a?(Q=u>>>p&C,w-=a,p+=a):(m=a-w,Q=u>>>p&C,u=f[d++],w=32-m,Q|=(u&(1<<m)-1)<<a-m,p=m),o[E]=Q<y?g+Q*c:B}return o},unstuffLUT2:function(f,o,a,h,I,g){var c=(1<<o)-1,B=0,C=0,d=0,E=0,w=0,p=0,Q,u=[],m=Math.ceil((g-h)/I);for(C=0;C<a;C++)E===0&&(Q=f[B++],E=32,p=0),E>=o?(w=Q>>>p&c,E-=o,p+=o):(d=o-E,w=Q>>>p&c,Q=f[B++],E=32-d,w|=(Q&(1<<d)-1)<<o-d,p=d),u[C]=w<m?h+w*I:g;return u.unshift(h),u},originalUnstuff:function(f,o,a,h){var I=(1<<a)-1,g=0,c,B=0,C,d,E,w=f.length*4-Math.ceil(a*h/8);for(f[f.length-1]<<=8*w,c=0;c<h;c++)B===0&&(d=f[g++],B=32),B>=a?(C=d>>>B-a&I,B-=a):(E=a-B,C=(d&I)<<E&I,d=f[g++],B=32-E,C+=d>>>B),o[c]=C;return o},originalUnstuff2:function(f,o,a,h){var I=(1<<a)-1,g=0,c,B=0,C=0,d,E,w;for(c=0;c<h;c++)B===0&&(E=f[g++],B=32,C=0),B>=a?(d=E>>>C&I,B-=a,C+=a):(w=a-B,d=E>>>C&I,E=f[g++],B=32-w,d|=(E&(1<<w)-1)<<a-w,C=w),o[c]=d;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(f){for(var o=65535,a=65535,h=f.length,I=Math.floor(h/2),g=0;I;){var c=I>=359?359:I;I-=c;do o+=f[g++]<<8,a+=o+=f[g++];while(--c);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return h&1&&(a+=o+=f[g]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(f,o){var a=o.ptr,h=new Uint8Array(f,a,6),I={};if(I.fileIdentifierString=String.fromCharCode.apply(null,h),I.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+I.fileIdentifierString;a+=6;var g=new DataView(f,a,8),c=g.getInt32(0,!0);I.fileVersion=c,a+=4,c>=3&&(I.checksum=g.getUint32(4,!0),a+=4),g=new DataView(f,a,12),I.height=g.getUint32(0,!0),I.width=g.getUint32(4,!0),a+=8,c>=4?(I.numDims=g.getUint32(8,!0),a+=4):I.numDims=1,g=new DataView(f,a,40),I.numValidPixel=g.getUint32(0,!0),I.microBlockSize=g.getInt32(4,!0),I.blobSize=g.getInt32(8,!0),I.imageType=g.getInt32(12,!0),I.maxZError=g.getFloat64(16,!0),I.zMin=g.getFloat64(24,!0),I.zMax=g.getFloat64(32,!0),a+=40,o.headerInfo=I,o.ptr=a;var B,C;if(c>=3&&(C=c>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(f,a-C,I.blobSize-14)),B!==I.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(f,o){var a=o.headerInfo,h=this.getDataTypeArray(a.imageType),I=a.numDims*this.getDataTypeSize(a.imageType),g=this.readSubArray(f,o.ptr,h,I),c=this.readSubArray(f,o.ptr+I,h,I);o.ptr+=2*I;var B,C=!0;for(B=0;B<a.numDims;B++)if(g[B]!==c[B]){C=!1;break}return a.minValues=g,a.maxValues=c,C},readSubArray:function(f,o,a,h){var I;if(a===Uint8Array)I=new Uint8Array(f,o,h);else{var g=new ArrayBuffer(h),c=new Uint8Array(g);c.set(new Uint8Array(f,o,h)),I=new a(g)}return I},readMask:function(f,o){var a=o.ptr,h=o.headerInfo,I=h.width*h.height,g=h.numValidPixel,c=new DataView(f,a,4),B={};if(B.numBytes=c.getUint32(0,!0),a+=4,(g===0||I===g)&&B.numBytes!==0)throw"invalid mask";var C,d;if(g===0)C=new Uint8Array(Math.ceil(I/8)),B.bitset=C,d=new Uint8Array(I),o.pixels.resultMask=d,a+=B.numBytes;else if(B.numBytes>0){C=new Uint8Array(Math.ceil(I/8)),c=new DataView(f,a,B.numBytes);var E=c.getInt16(0,!0),w=2,p=0,Q=0;do{if(E>0)for(;E--;)C[p++]=c.getUint8(w++);else for(Q=c.getUint8(w++),E=-E;E--;)C[p++]=Q;E=c.getInt16(w,!0),w+=2}while(w<B.numBytes);if(E!==-32768||p<C.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(I);var u=0,m=0;for(m=0;m<I;m++)m&7?(u=C[m>>3],u<<=m&7):u=C[m>>3],u&128&&(d[m]=1);o.pixels.resultMask=d,B.bitset=C,a+=B.numBytes}return o.ptr=a,o.mask=B,!0},readDataOneSweep:function(f,o,a,h){var I=o.ptr,g=o.headerInfo,c=g.numDims,B=g.width*g.height,C=g.imageType,d=g.numValidPixel*n.getDataTypeSize(C)*c,E,w=o.pixels.resultMask;if(a===Uint8Array)E=new Uint8Array(f,I,d);else{var p=new ArrayBuffer(d),Q=new Uint8Array(p);Q.set(new Uint8Array(f,I,d)),E=new a(p)}if(E.length===B*c)h?o.pixels.resultPixels=n.swapDimensionOrder(E,B,c,a,!0):o.pixels.resultPixels=E;else{o.pixels.resultPixels=new a(B*c);var u=0,m=0,y=0,k=0;if(c>1){if(h){for(m=0;m<B;m++)if(w[m])for(k=m,y=0;y<c;y++,k+=B)o.pixels.resultPixels[k]=E[u++]}else for(m=0;m<B;m++)if(w[m])for(k=m*c,y=0;y<c;y++)o.pixels.resultPixels[k+y]=E[u++]}else for(m=0;m<B;m++)w[m]&&(o.pixels.resultPixels[m]=E[u++])}return I+=d,o.ptr=I,!0},readHuffmanTree:function(f,o){var a=this.HUFFMAN_LUT_BITS_MAX,h=new DataView(f,o.ptr,16);o.ptr+=16;var I=h.getInt32(0,!0);if(I<2)throw"unsupported Huffman version";var g=h.getInt32(4,!0),c=h.getInt32(8,!0),B=h.getInt32(12,!0);if(c>=B)return!1;var C=new Uint32Array(B-c);n.decodeBits(f,o,C);var d=[],E,w,p,Q;for(E=c;E<B;E++)w=E-(E<g?0:g),d[w]={first:C[E-c],second:null};var u=f.byteLength-o.ptr,m=Math.ceil(u/4),y=new ArrayBuffer(m*4),k=new Uint8Array(y);k.set(new Uint8Array(f,o.ptr,u));var x=new Uint32Array(y),b=0,S,N=0;for(S=x[0],E=c;E<B;E++)w=E-(E<g?0:g),Q=d[w].first,Q>0&&(d[w].second=S<<b>>>32-Q,32-b>=Q?(b+=Q,b===32&&(b=0,N++,S=x[N])):(b+=Q-32,N++,S=x[N],d[w].second|=S>>>32-b));var D=0,_=0,R=new l;for(E=0;E<d.length;E++)d[E]!==void 0&&(D=Math.max(D,d[E].first));D>=a?_=a:_=D;var T=[],F,v,U,q,z,V;for(E=c;E<B;E++)if(w=E-(E<g?0:g),Q=d[w].first,Q>0)if(F=[Q,w],Q<=_)for(v=d[w].second<<_-Q,U=1<<_-Q,p=0;p<U;p++)T[v|p]=F;else for(v=d[w].second,V=R,q=Q-1;q>=0;q--)z=v>>>q&1,z?(V.right||(V.right=new l),V=V.right):(V.left||(V.left=new l),V=V.left),q===0&&!V.val&&(V.val=F[1]);return{decodeLut:T,numBitsLUTQick:_,numBitsLUT:D,tree:R,stuffedData:x,srcPtr:N,bitPos:b}},readHuffman:function(f,o,a,h){var I=o.headerInfo,g=I.numDims,c=o.headerInfo.height,B=o.headerInfo.width,C=B*c,d=this.readHuffmanTree(f,o),E=d.decodeLut,w=d.tree,p=d.stuffedData,Q=d.srcPtr,u=d.bitPos,m=d.numBitsLUTQick,y=d.numBitsLUT,k=o.headerInfo.imageType===0?128:0,x,b,S,N=o.pixels.resultMask,D,_,R,T,F,v,U,q=0;u>0&&(Q++,u=0);var z=p[Q],V=o.encodeMode===1,L=new a(C*g),M=L,G;if(g<2||V){for(G=0;G<g;G++)if(g>1&&(M=new a(L.buffer,C*G,C),q=0),o.headerInfo.numValidPixel===B*c)for(v=0,T=0;T<c;T++)for(F=0;F<B;F++,v++){if(b=0,D=z<<u>>>32-m,_=D,32-u<m&&(D|=p[Q+1]>>>64-u-m,_=D),E[_])b=E[_][1],u+=E[_][0];else for(D=z<<u>>>32-y,_=D,32-u<y&&(D|=p[Q+1]>>>64-u-y,_=D),x=w,U=0;U<y;U++)if(R=D>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){b=x.val,u=u+U+1;break}u>=32&&(u-=32,Q++,z=p[Q]),S=b-k,V?(F>0?S+=q:T>0?S+=M[v-B]:S+=q,S&=255,M[v]=S,q=S):M[v]=S}else for(v=0,T=0;T<c;T++)for(F=0;F<B;F++,v++)if(N[v]){if(b=0,D=z<<u>>>32-m,_=D,32-u<m&&(D|=p[Q+1]>>>64-u-m,_=D),E[_])b=E[_][1],u+=E[_][0];else for(D=z<<u>>>32-y,_=D,32-u<y&&(D|=p[Q+1]>>>64-u-y,_=D),x=w,U=0;U<y;U++)if(R=D>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){b=x.val,u=u+U+1;break}u>=32&&(u-=32,Q++,z=p[Q]),S=b-k,V?(F>0&&N[v-1]?S+=q:T>0&&N[v-B]?S+=M[v-B]:S+=q,S&=255,M[v]=S,q=S):M[v]=S}}else for(v=0,T=0;T<c;T++)for(F=0;F<B;F++)if(v=T*B+F,!N||N[v])for(G=0;G<g;G++,v+=C){if(b=0,D=z<<u>>>32-m,_=D,32-u<m&&(D|=p[Q+1]>>>64-u-m,_=D),E[_])b=E[_][1],u+=E[_][0];else for(D=z<<u>>>32-y,_=D,32-u<y&&(D|=p[Q+1]>>>64-u-y,_=D),x=w,U=0;U<y;U++)if(R=D>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){b=x.val,u=u+U+1;break}u>=32&&(u-=32,Q++,z=p[Q]),S=b-k,M[v]=S}o.ptr=o.ptr+(Q+1)*4+(u>0?4:0),o.pixels.resultPixels=L,g>1&&!h&&(o.pixels.resultPixels=n.swapDimensionOrder(L,C,g,a))},decodeBits:function(f,o,a,h,I){{var g=o.headerInfo,c=g.fileVersion,B=0,C=f.byteLength-o.ptr>=5?5:f.byteLength-o.ptr,d=new DataView(f,o.ptr,C),E=d.getUint8(0);B++;var w=E>>6,p=w===0?4:3-w,Q=(E&32)>0,u=E&31,m=0;if(p===1)m=d.getUint8(B),B++;else if(p===2)m=d.getUint16(B,!0),B+=2;else if(p===4)m=d.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var y=2*g.maxZError,k,x,b,S,N,D,_,R,T,F,v=g.numDims>1?g.maxValues[I]:g.zMax;if(Q){for(o.counter.lut++,R=d.getUint8(B),T=u,B++,S=Math.ceil((R-1)*u/8),N=Math.ceil(S/4),x=new ArrayBuffer(N*4),b=new Uint8Array(x),o.ptr+=B,b.set(new Uint8Array(f,o.ptr,S)),_=new Uint32Array(x),o.ptr+=S,F=0;R-1>>>F;)F++;S=Math.ceil(m*F/8),N=Math.ceil(S/4),x=new ArrayBuffer(N*4),b=new Uint8Array(x),b.set(new Uint8Array(f,o.ptr,S)),k=new Uint32Array(x),o.ptr+=S,c>=3?D=r.unstuffLUT2(_,u,R-1,h,y,v):D=r.unstuffLUT(_,u,R-1,h,y,v),c>=3?r.unstuff2(k,a,F,m,D):r.unstuff(k,a,F,m,D)}else o.counter.bitstuffer++,F=u,o.ptr+=B,F>0&&(S=Math.ceil(m*F/8),N=Math.ceil(S/4),x=new ArrayBuffer(N*4),b=new Uint8Array(x),b.set(new Uint8Array(f,o.ptr,S)),k=new Uint32Array(x),o.ptr+=S,c>=3?h==null?r.originalUnstuff2(k,a,F,m):r.unstuff2(k,a,F,m,!1,h,y,v):h==null?r.originalUnstuff(k,a,F,m):r.unstuff(k,a,F,m,!1,h,y,v))}},readTiles:function(f,o,a,h){var I=o.headerInfo,g=I.width,c=I.height,B=g*c,C=I.microBlockSize,d=I.imageType,E=n.getDataTypeSize(d),w=Math.ceil(g/C),p=Math.ceil(c/C);o.pixels.numBlocksY=p,o.pixels.numBlocksX=w,o.pixels.ptr=0;var Q=0,u=0,m=0,y=0,k=0,x=0,b=0,S=0,N=0,D=0,_=0,R=0,T=0,F=0,v=0,U=0,q,z,V,L,M,G,P=new a(C*C),X=c%C||C,Y=g%C||C,K,AA,nA=I.numDims,YA,EA=o.pixels.resultMask,fA=o.pixels.resultPixels,ga=I.fileVersion,tr=ga>=5?14:15,SA,qt=I.zMax,FA;for(m=0;m<p;m++)for(k=m!==p-1?C:X,y=0;y<w;y++)for(x=y!==w-1?C:Y,_=m*g*C+y*C,R=g-x,YA=0;YA<nA;YA++){if(nA>1?(FA=fA,_=m*g*C+y*C,fA=new a(o.pixels.resultPixels.buffer,B*YA*E,B),qt=I.maxValues[YA]):FA=null,b=f.byteLength-o.ptr,q=new DataView(f,o.ptr,Math.min(10,b)),z={},U=0,S=q.getUint8(0),U++,SA=I.fileVersion>=5?S&4:0,N=S>>6&255,D=S>>2&tr,D!==(y*C>>3&tr)||SA&&YA===0)throw"integrity issue";if(G=S&3,G>3)throw o.ptr+=U,"Invalid block encoding ("+G+")";if(G===2){if(SA)if(EA)for(Q=0;Q<k;Q++)for(u=0;u<x;u++)EA[_]&&(fA[_]=FA[_]),_++;else for(Q=0;Q<k;Q++)for(u=0;u<x;u++)fA[_]=FA[_],_++;o.counter.constant++,o.ptr+=U;continue}else if(G===0){if(SA)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=U,T=k*x*E,F=f.byteLength-o.ptr,T=T<F?T:F,V=new ArrayBuffer(T%E===0?T:T+E-T%E),L=new Uint8Array(V),L.set(new Uint8Array(f,o.ptr,T)),M=new a(V),v=0,EA)for(Q=0;Q<k;Q++){for(u=0;u<x;u++)EA[_]&&(fA[_]=M[v++]),_++;_+=R}else for(Q=0;Q<k;Q++){for(u=0;u<x;u++)fA[_++]=M[v++];_+=R}o.ptr+=v*E}else if(K=n.getDataTypeUsed(SA&&d<6?4:d,N),AA=n.getOnePixel(z,U,K,q),U+=n.getDataTypeSize(K),G===3)if(o.ptr+=U,o.counter.constantoffset++,EA)for(Q=0;Q<k;Q++){for(u=0;u<x;u++)EA[_]&&(fA[_]=SA?Math.min(qt,FA[_]+AA):AA),_++;_+=R}else for(Q=0;Q<k;Q++){for(u=0;u<x;u++)fA[_]=SA?Math.min(qt,FA[_]+AA):AA,_++;_+=R}else if(o.ptr+=U,n.decodeBits(f,o,P,AA,YA),U=0,SA)if(EA)for(Q=0;Q<k;Q++){for(u=0;u<x;u++)EA[_]&&(fA[_]=P[U++]+FA[_]),_++;_+=R}else for(Q=0;Q<k;Q++){for(u=0;u<x;u++)fA[_]=P[U++]+FA[_],_++;_+=R}else if(EA)for(Q=0;Q<k;Q++){for(u=0;u<x;u++)EA[_]&&(fA[_]=P[U++]),_++;_+=R}else for(Q=0;Q<k;Q++){for(u=0;u<x;u++)fA[_++]=P[U++];_+=R}}nA>1&&!h&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,B,nA,a))},formatFileInfo:function(f){return{fileIdentifierString:f.headerInfo.fileIdentifierString,fileVersion:f.headerInfo.fileVersion,imageType:f.headerInfo.imageType,height:f.headerInfo.height,width:f.headerInfo.width,numValidPixel:f.headerInfo.numValidPixel,microBlockSize:f.headerInfo.microBlockSize,blobSize:f.headerInfo.blobSize,maxZError:f.headerInfo.maxZError,pixelType:n.getPixelType(f.headerInfo.imageType),eofOffset:f.eofOffset,mask:f.mask?{numBytes:f.mask.numBytes}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,maxValue:f.headerInfo.zMax,minValue:f.headerInfo.zMin,noDataValue:f.noDataValue}}},constructConstantSurface:function(f,o){var a=f.headerInfo.zMax,h=f.headerInfo.zMin,I=f.headerInfo.maxValues,g=f.headerInfo.numDims,c=f.headerInfo.height*f.headerInfo.width,B=0,C=0,d=0,E=f.pixels.resultMask,w=f.pixels.resultPixels;if(E)if(g>1){if(o)for(B=0;B<g;B++)for(d=B*c,a=I[B],C=0;C<c;C++)E[C]&&(w[d+C]=a);else for(C=0;C<c;C++)if(E[C])for(d=C*g,B=0;B<g;B++)w[d+g]=I[B]}else for(C=0;C<c;C++)E[C]&&(w[C]=a);else if(g>1&&h!==a)if(o)for(B=0;B<g;B++)for(d=B*c,a=I[B],C=0;C<c;C++)w[d+C]=a;else for(C=0;C<c;C++)for(d=C*g,B=0;B<g;B++)w[d+B]=I[B];else for(C=0;C<c*g;C++)w[C]=a},getDataTypeArray:function(f){var o;switch(f){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(f){var o;switch(f){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(f,o){if(o==null)return!1;var a;switch(f){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(f){var o=0;switch(f){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=f}return o},getDataTypeUsed:function(f,o){var a=f;switch(f){case 2:case 4:a=f-o;break;case 3:case 5:a=f-2*o;break;case 6:o===0?a=f:o===1?a=2:a=1;break;case 7:o===0?a=f:a=f-2*o+1;break;default:a=f;break}return a},getOnePixel:function(f,o,a,h){var I=0;switch(a){case 0:I=h.getInt8(o);break;case 1:I=h.getUint8(o);break;case 2:I=h.getInt16(o,!0);break;case 3:I=h.getUint16(o,!0);break;case 4:I=h.getInt32(o,!0);break;case 5:I=h.getUInt32(o,!0);break;case 6:I=h.getFloat32(o,!0);break;case 7:I=h.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return I},swapDimensionOrder:function(f,o,a,h,I){var g=0,c=0,B=0,C=0,d=f;if(a>1)if(d=new h(o*a),I)for(g=0;g<o;g++)for(C=g,B=0;B<a;B++,C+=o)d[C]=f[c++];else for(g=0;g<o;g++)for(C=g,B=0;B<a;B++,C+=o)d[c++]=f[C];return d}},l=function(f,o,a){this.val=f,this.left=o,this.right=a},s={decode:function(f,o){o=o||{};var a=o.noDataValue,h=0,I={};if(I.ptr=o.inputOffset||0,I.pixels={},!!n.readHeaderInfo(f,I)){var g=I.headerInfo,c=g.fileVersion,B=n.getDataTypeArray(g.imageType);if(c>5)throw"unsupported lerc version 2."+c;n.readMask(f,I),g.numValidPixel!==g.width*g.height&&!I.pixels.resultMask&&(I.pixels.resultMask=o.maskData);var C=g.width*g.height;I.pixels.resultPixels=new B(C*g.numDims),I.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!o.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)n.constructConstantSurface(I,d);else if(c>=4&&n.checkMinMaxRanges(f,I))n.constructConstantSurface(I,d);else{var E=new DataView(f,I.ptr,2),w=E.getUint8(0);if(I.ptr++,w)n.readDataOneSweep(f,I,B,d);else if(c>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var p=E.getUint8(1);if(I.ptr++,I.encodeMode=p,p>2||c<4&&p>1)throw"Invalid Huffman flag "+p;p?n.readHuffman(f,I,B,d):n.readTiles(f,I,B,d)}else n.readTiles(f,I,B,d)}I.eofOffset=I.ptr;var Q;o.inputOffset?(Q=I.headerInfo.blobSize+o.inputOffset-I.ptr,Math.abs(Q)>=1&&(I.eofOffset=o.inputOffset+I.headerInfo.blobSize)):(Q=I.headerInfo.blobSize-I.ptr,Math.abs(Q)>=1&&(I.eofOffset=I.headerInfo.blobSize));var u={width:g.width,height:g.height,pixelData:I.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:I.pixels.resultMask};if(I.pixels.resultMask&&n.isValidPixelValue(g.imageType,a)){var m=I.pixels.resultMask;for(h=0;h<C;h++)m[h]||(u.pixelData[h]=a);u.noDataValue=a}return I.noDataValue=a,o.returnFileInfo&&(u.fileInfo=n.formatFileInfo(I)),u}},getBandCount:function(f){var o=0,a=0,h={};for(h.ptr=0,h.pixels={};a<f.byteLength-58;)n.readHeaderInfo(f,h),a+=h.headerInfo.blobSize,o++,h.ptr=a;return o}};return s}(),e=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(!e)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),f=String.fromCharCode.apply(null,s),o,a;if(f.trim()==="CntZImage")o=A,a=1;else if(f.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+f;for(var h=0,I=r.byteLength-10,g,c=[],B,C,d={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},E=0;l<I;){var w=o.decode(r,{inputOffset:l,encodedMaskData:g,maskData:C,returnMask:h===0,returnEncodedMask:h===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=w.fileInfo.eofOffset,C=w.maskData,h===0&&(g=w.encodedMaskData,d.width=w.width,d.height=w.height,d.dimCount=w.dimCount||1,d.pixelType=w.pixelType||w.fileInfo.pixelType,d.mask=C),a>1&&(C&&c.push(C),w.fileInfo.mask&&w.fileInfo.mask.numBytes>0&&E++),h++,d.pixels.push(w.pixelData),d.statistics.push({minValue:w.minValue,maxValue:w.maxValue,noDataValue:w.noDataValue,dimStats:w.dimStats})}var p,Q,u;if(a>1&&E>1){for(u=d.width*d.height,d.bandMasks=c,C=new Uint8Array(u),C.set(c[0]),p=1;p<c.length;p++)for(B=c[p],Q=0;Q<u;Q++)C[Q]=C[Q]&B[Q];d.maskData=C}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof bt<"u"&&bt.exports?bt.exports=i:this.Lerc=i})()});var Ne,bA,Hi,qi,St,Go,Mo=IA(()=>{qi={env:{emscripten_notify_memory_growth:function(A){Hi=new Uint8Array(bA.exports.memory.buffer)}}},St=class{init(){return Ne||(typeof fetch<"u"?Ne=fetch("data:application/wasm;base64,"+Go).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,qi)).then(this._init):Ne=WebAssembly.instantiate(Buffer.from(Go,"base64"),qi).then(this._init),Ne)}_init(t){bA=t.instance,qi.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!bA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=bA.exports.malloc(i);Hi.set(t,r),e=e||Number(bA.exports.ZSTD_findDecompressedSize(r,i));let n=bA.exports.malloc(e),l=bA.exports.ZSTD_decompress(n,e,r,i),s=Hi.slice(n,n+l);return bA.exports.free(r),bA.exports.free(n),s}},Go="AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/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 To={};RA(To,{default:()=>Ft,zstd:()=>No});var Lo,No,Ft,Oo=IA(()=>{Oi();Lo=UA(Uo(),1);Mo();_A();it();No=new St,Ft=class extends W{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[Kr.AddCompression]}decodeBlock(t){switch(this.addCompression){case tt.None:break;case tt.Deflate:t=xt(new Uint8Array(t)).buffer;break;case tt.Zstandard:t=No.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Lo.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var qo={};RA(qo,{default:()=>vt});var vt,Ho=IA(()=>{_A();vt=class extends W{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,e){let i=new Blob([e]),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 Pl={};RA(Pl,{default:()=>Je});module.exports=Ba(Pl);var lA=UA(require("sharp")),sa=UA(ar());var sr="Cannot convert undefined or null to object";function j(A){return(t,...e)=>ya(A,t,e)}function $A(A,t){return j(Ve(A,t).get)}var{apply:ya,construct:Wl,defineProperty:Af,get:ef,getOwnPropertyDescriptor:Ve,getPrototypeOf:Ze,has:tf,ownKeys:lr,set:rf,setPrototypeOf:nf}=Reflect;var{EPSILON:fr,MAX_SAFE_INTEGER:of,isFinite:ma,isNaN:_a}=Number,{iterator:WA,species:af,toStringTag:xa,for:sf}=Symbol,Xe=Object,{create:je,defineProperty:Ir,freeze:gf,is:lf}=Xe,zt=Xe.prototype,ff=zt.__lookupGetter__?j(zt.__lookupGetter__):(A,t)=>{if(A==null)throw Sa(sr);let e=Xe(A);do{let i=Ve(e,t);if(i!==void 0)return Da(i,"get")?i.get:void 0}while((e=Ze(e))!==null)},Da=Xe.hasOwn||j(zt.hasOwnProperty),cr=Array,If=cr.isArray,$e=cr.prototype,cf=j($e.join),hf=j($e.push),Bf=j($e.toLocaleString),Kt=$e[WA],hr=j(Kt),{abs:ka,trunc:Cf}=Math,We=ArrayBuffer,Ef=We.isView,Br=We.prototype,uf=j(Br.slice),Qf=$A(Br,"byteLength"),gr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,df=gr&&$A(gr.prototype,"byteLength"),Cr=Ze(Uint8Array),wf=Cr.from,iA=Cr.prototype,pf=iA[WA],yf=j(iA.keys),mf=j(iA.values),_f=j(iA.entries),xf=j(iA.set),Df=j(iA.reverse),kf=j(iA.fill),bf=j(iA.copyWithin),Sf=j(iA.sort),Ff=j(iA.slice),vf=j(iA.subarray),Rf=$A(iA,"buffer"),Uf=$A(iA,"byteOffset"),Gf=$A(iA,"length"),Mf=$A(iA,xa),Er=Uint8Array,Pt=Uint16Array;var At=Uint32Array,ur=Float32Array,Ae=Ze([][WA]()),Vt=j(Ae.next),Qr=j(function*(){}().next),dr=Ze(Ae),wr=DataView.prototype,pr=j(wr.getUint16),ba=j(wr.setUint16),Sa=TypeError;var Fa=WeakSet,yr=Fa.prototype,Lf=j(yr.add),Nf=j(yr.has),et=WeakMap,Zt=et.prototype,Xt=j(Zt.get),Tf=j(Zt.has),mr=j(Zt.set);var _r=new et,va=je(null,{next:{value:function(){let t=Xt(_r,this);return Vt(t)}},[WA]:{value:function(){return this}}});function xr(A){if(A[WA]===Kt&&Ae.next===Vt)return A;let t=je(va);return mr(_r,t,hr(A)),t}var Ra=new et,Ua=je(dr,{next:{value:function(){let t=Xt(Ra,this);return Qr(t)},writable:!0,configurable:!0}});for(let A of lr(Ae))A!=="next"&&Ir(Ua,A,Ve(Ae,A));var Ga=1/fr;var Ma=6103515625e-14;var Dr=.0009765625,Jf=Dr*Ma,zf=Dr*Ga;var kr=new We(4),La=new ur(kr),Na=new At(kr),uA=new Pt(512),QA=new Er(512);for(let A=0;A<256;++A){let t=A-127;t<-24?(uA[A]=0,uA[A|256]=32768,QA[A]=24,QA[A|256]=24):t<-14?(uA[A]=1024>>-t-14,uA[A|256]=1024>>-t-14|32768,QA[A]=-t-1,QA[A|256]=-t-1):t<=15?(uA[A]=t+15<<10,uA[A|256]=t+15<<10|32768,QA[A]=13,QA[A|256]=13):t<128?(uA[A]=31744,uA[A|256]=64512,QA[A]=24,QA[A|256]=24):(uA[A]=31744,uA[A|256]=64512,QA[A]=13,QA[A|256]=13)}var jt=new At(2048);for(let A=1;A<1024;++A){let t=A<<13,e=0;for(;!(t&8388608);)t<<=1,e-=8388608;t&=-8388609,e+=947912704,jt[A]=t|e}for(let A=1024;A<2048;++A)jt[A]=939524096+(A-1024<<13);var ee=new At(64);for(let A=1;A<31;++A)ee[A]=A<<23;ee[31]=1199570944;ee[32]=2147483648;for(let A=33;A<63;++A)ee[A]=2147483648+(A-32<<23);ee[63]=3347054592;var br=new Pt(64);for(let A=1;A<64;++A)A!==32&&(br[A]=1024);function Sr(A){let t=A>>10;return Na[0]=jt[br[t]+(A&1023)]+ee[t],La[0]}function Ee(A,t,...e){return Sr(pr(A,t,...xr(e)))}var Ut=UA(vr(),1),Ko=UA(Yr(),1);it();function Pr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n;for(let l=0,s=0;l<A.length;++l,s+=3)n=256-A[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function Vr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n;for(let l=0,s=0;l<A.length;++l,s+=3)n=A[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function Zr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,f=0;s<A.length;++s,f+=3){let o=A[s];r[f]=t[o]/65536*256,r[f+1]=t[o+n]/65536*256,r[f+2]=t[o+l]/65536*256}return r}function Xr(A){let{width:t,height:e}=A,i=new Uint8Array(t*e*3);for(let r=0,n=0;r<A.length;r+=4,n+=3){let l=A[r],s=A[r+1],f=A[r+2],o=A[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-f)/256)*((255-o)/256)}return i}function jr(A){let{width:t,height:e}=A,i=new Uint8ClampedArray(t*e*3);for(let r=0,n=0;r<A.length;r+=3,n+=3){let l=A[r],s=A[r+1],f=A[r+2];i[n]=l+1.402*(f-128),i[n+1]=l-.34414*(s-128)-.71414*(f-128),i[n+2]=l+1.772*(s-128)}return i}var Ha=.95047,Ya=1,Ja=1.08883;function $r(A){let{width:t,height:e}=A,i=new Uint8Array(t*e*3);for(let r=0,n=0;r<A.length;r+=3,n+=3){let l=A[r+0],s=A[r+1]<<24>>24,f=A[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,h=o-f/200,I,g,c;a=Ha*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=Ya*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),h=Ja*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),I=a*3.2406+o*-1.5372+h*-.4986,g=a*-.9689+o*1.8758+h*.0415,c=a*.0557+o*-.204+h*1.057,I=I>.0031308?1.055*I**(1/2.4)-.055:12.92*I,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,i[n]=Math.max(0,Math.min(1,I))*255,i[n+1]=Math.max(0,Math.min(1,g))*255,i[n+2]=Math.max(0,Math.min(1,c))*255}return i}var Yo=new Map;function BA(A,t){Array.isArray(A)||(A=[A]),A.forEach(e=>Yo.set(e,t))}async function Yi(A){let t=Yo.get(A.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${A.Compression}`);let e=await t();return new e(A)}BA([void 0,1],()=>Promise.resolve().then(()=>(tn(),en)).then(A=>A.default));BA(5,()=>Promise.resolve().then(()=>(on(),nn)).then(A=>A.default));BA(6,()=>{throw new Error("old style JPEG compression is not supported.")});BA(7,()=>Promise.resolve().then(()=>(gn(),sn)).then(A=>A.default));BA([8,32946],()=>Promise.resolve().then(()=>(Fo(),So)).then(A=>A.default));BA(32773,()=>Promise.resolve().then(()=>(Ro(),vo)).then(A=>A.default));BA(34887,()=>Promise.resolve().then(()=>(Oo(),To)).then(async A=>(await A.zstd.init(),A)).then(A=>A.default));BA(50001,()=>Promise.resolve().then(()=>(Ho(),qo)).then(A=>A.default));function Rt(A,t,e,i=1){return new(Object.getPrototypeOf(A)).constructor(t*e*i)}function Fl(A,t,e,i,r){let n=t/i,l=e/r;return A.map(s=>{let f=Rt(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),e-1);for(let h=0;h<i;++h){let I=Math.min(Math.round(n*h),t-1),g=s[a*t+I];f[o*i+h]=g}}return f})}function ce(A,t,e){return(1-e)*A+e*t}function vl(A,t,e,i,r){let n=t/i,l=e/r;return A.map(s=>{let f=Rt(s,i,r);for(let o=0;o<r;++o){let a=l*o,h=Math.floor(a),I=Math.min(Math.ceil(a),e-1);for(let g=0;g<i;++g){let c=n*g,B=c%1,C=Math.floor(c),d=Math.min(Math.ceil(c),t-1),E=s[h*t+C],w=s[h*t+d],p=s[I*t+C],Q=s[I*t+d],u=ce(ce(E,w,B),ce(p,Q,B),a%1);f[o*i+g]=u}}return f})}function Jo(A,t,e,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return Fl(A,t,e,i,r);case"bilinear":case"linear":return vl(A,t,e,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Rl(A,t,e,i,r,n){let l=t/i,s=e/r,f=Rt(A,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),e-1);for(let h=0;h<i;++h){let I=Math.min(Math.round(l*h),t-1);for(let g=0;g<n;++g){let c=A[a*t*n+I*n+g];f[o*i*n+h*n+g]=c}}}return f}function Ul(A,t,e,i,r,n){let l=t/i,s=e/r,f=Rt(A,i,r,n);for(let o=0;o<r;++o){let a=s*o,h=Math.floor(a),I=Math.min(Math.ceil(a),e-1);for(let g=0;g<i;++g){let c=l*g,B=c%1,C=Math.floor(c),d=Math.min(Math.ceil(c),t-1);for(let E=0;E<n;++E){let w=A[h*t*n+C*n+E],p=A[h*t*n+d*n+E],Q=A[I*t*n+C*n+E],u=A[I*t*n+d*n+E],m=ce(ce(w,p,B),ce(Q,u,B),a%1);f[o*i*n+g*n+E]=m}}}return f}function zo(A,t,e,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return Rl(A,t,e,i,r,n);case"bilinear":case"linear":return Ul(A,t,e,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Gl(A,t,e){let i=0;for(let r=t;r<e;++r)i+=A[r];return i}function Ji(A,t,e){switch(A){case 1:if(t<=8)return new Uint8Array(e);if(t<=16)return new Uint16Array(e);if(t<=32)return new Uint32Array(e);break;case 2:if(t===8)return new Int8Array(e);if(t===16)return new Int16Array(e);if(t===32)return new Int32Array(e);break;case 3:switch(t){case 16:case 32:return new Float32Array(e);case 64:return new Float64Array(e);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Ml(A,t){return(A===1||A===2)&&t<=32&&t%8===0?!1:!(A===3&&(t===16||t===32||t===64))}function Ll(A,t,e,i,r,n,l){let s=new DataView(A),f=e===2?l*n:l*n*i,o=e===2?1:i,a=Ji(t,r,f),h=parseInt("1".repeat(r),2);if(t===1){let I;e===1?I=i*r:I=r;let g=n*I;g&7&&(g=g+7&-8);for(let c=0;c<l;++c){let B=c*g;for(let C=0;C<n;++C){let d=B+C*o*r;for(let E=0;E<o;++E){let w=d+E*r,p=(c*n+C)*o+E,Q=Math.floor(w/8),u=w%8;if(u+r<=8)a[p]=s.getUint8(Q)>>8-r-u&h;else if(u+r<=16)a[p]=s.getUint16(Q)>>16-r-u&h;else if(u+r<=24){let m=s.getUint16(Q)<<8|s.getUint8(Q+2);a[p]=m>>24-r-u&h}else a[p]=s.getUint32(Q)>>32-r-u&h}}}}return a.buffer}var zi=class{constructor(t,e,i,r,n,l){this.fileDirectory=t,this.geoKeys=e,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 e=0;e<this.fileDirectory.BitsPerSample.length;++e)t+=this.getSampleByteSize(e);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 e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(e){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 Ee(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,e){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Ji(i,r,e)}async getTileOrStrip(t,e,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),f,{tiles:o}=this;this.planarConfiguration===1?f=e*l+t:this.planarConfiguration===2&&(f=i*l*s+e*l+t);let a,h;this.isTiled?(a=this.fileDirectory.TileOffsets[f],h=this.fileDirectory.TileByteCounts[f]):(a=this.fileDirectory.StripOffsets[f],h=this.fileDirectory.StripByteCounts[f]);let I=(await this.source.fetch([{offset:a,length:h}],n))[0],g;return o===null||!o[f]?(g=(async()=>{let c=await r.decode(this.fileDirectory,I),B=this.getSampleFormat(),C=this.getBitsPerSample();return Ml(B,C)&&(c=Ll(c,B,this.planarConfiguration,this.getSamplesPerPixel(),C,this.getTileWidth(),this.getBlockHeight(e))),c})(),o!==null&&(o[f]=g)):g=o[f],{x:t,y:e,sample:i,data:await g}}async _readRaster(t,e,i,r,n,l,s,f,o){let a=this.getTileWidth(),h=this.getTileHeight(),I=this.getWidth(),g=this.getHeight(),c=Math.max(Math.floor(t[0]/a),0),B=Math.min(Math.ceil(t[2]/a),Math.ceil(I/a)),C=Math.max(Math.floor(t[1]/h),0),d=Math.min(Math.ceil(t[3]/h),Math.ceil(g/h)),E=t[2]-t[0],w=this.getBytesPerPixel(),p=[],Q=[];for(let y=0;y<e.length;++y)this.planarConfiguration===1?p.push(Gl(this.fileDirectory.BitsPerSample,0,e[y])/8):p.push(0),Q.push(this.getReaderForSample(e[y]));let u=[],{littleEndian:m}=this;for(let y=C;y<d;++y)for(let k=c;k<B;++k){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(k,y,0,n,o));for(let b=0;b<e.length;++b){let S=b,N=e[b];this.planarConfiguration===2&&(w=this.getSampleByteSize(N),x=this.getTileOrStrip(k,y,N,n,o));let D=x.then(_=>{let R=_.data,T=new DataView(R),F=this.getBlockHeight(_.y),v=_.y*h,U=_.x*a,q=v+F,z=(_.x+1)*a,V=Q[S],L=Math.min(F,F-(q-t[3]),g-v),M=Math.min(a,a-(z-t[2]),I-U);for(let G=Math.max(0,t[1]-v);G<L;++G)for(let P=Math.max(0,t[0]-U);P<M;++P){let X=(G*a+P)*w,Y=V.call(T,X+p[S],m),K;r?(K=(G+v-t[1])*E*e.length+(P+U-t[0])*e.length+S,i[K]=Y):(K=(G+v-t[1])*E+P+U-t[0],i[S][K]=Y)}});u.push(D)}}if(await Promise.all(u),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=zo(i,t[2]-t[0],t[3]-t[1],l,s,e.length,f):y=Jo(i,t[2]-t[0],t[3]-t[1],l,s,f),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:e=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:f,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 h=a[2]-a[0],I=a[3]-a[1],g=h*I,c=this.getSamplesPerPixel();if(!e||!e.length)for(let E=0;E<c;++E)e.push(E);else for(let E=0;E<e.length;++E)if(e[E]>=c)return Promise.reject(new RangeError(`Invalid sample index '${e[E]}'.`));let B;if(i){let E=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,w=Math.max.apply(null,this.fileDirectory.BitsPerSample);B=Ji(E,w,g*e.length),f&&B.fill(f)}else{B=[];for(let E=0;E<e.length;++E){let w=this.getArrayForSample(e[E],g);Array.isArray(f)&&E<f.length?w.fill(f[E]):f&&!Array.isArray(f)&&w.fill(f),B.push(w)}}let C=r||await Yi(this.fileDirectory);return await this._readRaster(a,e,B,i,C,n,l,s,o)}async readRGB({window:t,interleave:e=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:f}={}){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===oA.RGB){let d=[0,1,2];if(this.fileDirectory.ExtraSamples!==zr.Unspecified&&s){d=[];for(let E=0;E<this.fileDirectory.BitsPerSample.length;E+=1)d.push(E)}return this.readRasters({window:t,interleave:e,samples:d,pool:i,width:r,height:n,resampleMethod:l,signal:f})}let h;switch(a){case oA.WhiteIsZero:case oA.BlackIsZero:case oA.Palette:h=[0];break;case oA.CMYK:h=[0,1,2,3];break;case oA.YCbCr:case oA.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let I={window:o,interleave:!0,samples:h,pool:i,width:r,height:n,resampleMethod:l,signal:f},{fileDirectory:g}=this,c=await this.readRasters(I),B=2**this.fileDirectory.BitsPerSample[0],C;switch(a){case oA.WhiteIsZero:C=Pr(c,B);break;case oA.BlackIsZero:C=Vr(c,B);break;case oA.Palette:C=Zr(c,g.ColorMap);break;case oA.CMYK:C=Xr(c);break;case oA.YCbCr:C=jr(c);break;case oA.CIELab:C=$r(c);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){let d=new Uint8Array(C.length/3),E=new Uint8Array(C.length/3),w=new Uint8Array(C.length/3);for(let p=0,Q=0;p<C.length;p+=3,++Q)d[Q]=C[p],E[Q]=C[p+1],w[Q]=C[p+2];C=[d,E,w]}return C.width=c.width,C.height=c.height,C}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let e=0;e<this.fileDirectory.ModelTiepoint.length;e+=6)t.push({i:this.fileDirectory.ModelTiepoint[e],j:this.fileDirectory.ModelTiepoint[e+1],k:this.fileDirectory.ModelTiepoint[e+2],x:this.fileDirectory.ModelTiepoint[e+3],y:this.fileDirectory.ModelTiepoint[e+4],z:this.fileDirectory.ModelTiepoint[e+5]});return t}getGDALMetadata(t=null){let e={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,Ko.default)(i,"Item");t===null?r=r.filter(n=>(0,Ut.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Ut.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];e[(0,Ut.default)(l,"name")]=l.inner}return e}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,e=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(e)return[e[3],e[7],e[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let e=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(e)return[e[0],-e[1],e[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 e=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[r,n,l,s,f,o,a,h]=this.fileDirectory.ModelTransformation,g=[[0,0],[0,e],[i,0],[i,e]].map(([C,d])=>[s+r*C+n*d,h+f*C+o*d]),c=g.map(C=>C[0]),B=g.map(C=>C[1]);return[Math.min(...c),Math.min(...B),Math.max(...c),Math.max(...B)]}else{let r=this.getOrigin(),n=this.getResolution(),l=r[0],s=r[1],f=l+n[0]*i,o=s+n[1]*e;return[Math.min(l,f),Math.min(s,o),Math.max(l,f),Math.max(s,o)]}}},Po=zi;var Te=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,e){let i=this.getUint32(t,e),r=this.getUint32(t+4,e),n;if(e){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,e){let i=0,r=(this._dataView.getUint8(t+(e?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(e?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,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return Ee(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}};var Oe=class{constructor(t,e,i,r){this._dataView=new DataView(t),this._sliceOffset=e,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,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}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 e=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=e+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*e+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 e=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),e+=l*256**n}return i&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var Vo=`\r
4
- \r
5
- `;function Zo(A){if(typeof Object.fromEntries<"u")return Object.fromEntries(A);let t={};for(let[e,i]of A)t[e.toLowerCase()]=i;return t}function Nl(A){let t=A.split(`\r
6
- `).map(e=>{let i=e.split(":").map(r=>r.trim());return i[0]=i[0].toLowerCase(),i});return Zo(t)}function Xo(A){let[t,...e]=A.split(";").map(r=>r.trim()),i=e.map(r=>r.split("="));return{type:t,params:Zo(i)}}function Gt(A){let t,e,i;return A&&([,t,e,i]=A.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),e=parseInt(e,10),i=parseInt(i,10)),{start:t,end:e,total:i}}function jo(A,t){let e=null,i=new TextDecoder("ascii"),r=[],n=`--${t}`,l=`${n}--`;for(let s=0;s<10;++s)i.decode(new Uint8Array(A,s,n.length))===n&&(e=s);if(e===null)throw new Error("Could not find initial boundary");for(;e<A.byteLength;){let s=i.decode(new Uint8Array(A,e,Math.min(n.length+1024,A.byteLength-e)));if(s.length===0||s.startsWith(l))break;if(!s.startsWith(n))throw new Error("Part does not start with boundary");let f=s.substr(n.length+2);if(f.length===0)break;let o=f.indexOf(Vo),a=Nl(f.substr(0,o)),{start:h,end:I,total:g}=Gt(a["content-range"]),c=e+n.length+o+Vo.length,B=parseInt(I,10)+1-parseInt(h,10);r.push({headers:a,data:A.slice(c,c+B),offset:h,length:B,fileSize:g}),e=c+B+4}return r}var he=class{async fetch(t,e=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,e)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var qe=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[e,i]of t)this.onEviction(e,i.value)}_deleteIfExpired(t,e){return typeof e.expiry=="number"&&e.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,e.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,e){if(this._deleteIfExpired(t,e)===!1)return e.value}_getItemValue(t,e){return e.expiry?this._getOrDeleteIfExpired(t,e):e.value}_peek(t,e){let i=e.get(t);return this._getItemValue(t,i)}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,e){this.oldCache.delete(t),this._set(t,e)}*_entriesAscending(){for(let t of this.oldCache){let[e,i]=t;this.cache.has(e)||this._deleteIfExpired(e,i)===!1&&(yield t)}for(let t of this.cache){let[e,i]=t;this._deleteIfExpired(e,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let e=this.cache.get(t);return this._getItemValue(t,e)}if(this.oldCache.has(t)){let e=this.oldCache.get(t);if(this._deleteIfExpired(t,e)===!1)return this._moveToRecent(t,e),e.value}}set(t,e,{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:e,expiry:r}):this._set(t,{value:e,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 e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}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 e=[...this._entriesAscending()],i=e.length-t;i<0?(this.cache=new Map(e),this.oldCache=new Map,this._size=e.length):(i>0&&this._emitEvictions(e.slice(0,i)),this.oldCache=new Map(e.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[e,i]=t;this._deleteIfExpired(e,i)===!1&&(yield[e,i.value])}for(let t of this.oldCache){let[e,i]=t;this.cache.has(e)||this._deleteIfExpired(e,i)===!1&&(yield[e,i.value])}}*entriesDescending(){let t=[...this.cache];for(let e=t.length-1;e>=0;--e){let i=t[e],[r,n]=i;this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}t=[...this.oldCache];for(let e=t.length-1;e>=0;--e){let i=t[e],[r,n]=i;this.cache.has(r)||this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}}*entriesAscending(){for(let[t,e]of this._entriesAscending())yield[t,e.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let e of this.oldCache.keys())this.cache.has(e)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,e=this){for(let[i,r]of this.entriesAscending())t.call(e,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function $o(A){return new Promise(t=>setTimeout(t,A))}function Wo(A,t){let e=Array.isArray(A)?A:Array.from(A),i=Array.isArray(t)?t:Array.from(t);return e.map((r,n)=>[r,i[n]])}var CA=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,CA),this.name="AbortError"}},Ki=class extends Error{constructor(t,e){super(e),this.errors=t,this.message=e,this.name="AggregateError"}},Aa=Ki;var Pi=class{constructor(t,e,i=null){this.offset=t,this.length=e,this.data=i}get top(){return this.offset+this.length}},Mt=class{constructor(t,e,i){this.offset=t,this.length=e,this.blockIds=i}},Lt=class extends he{constructor(t,{blockSize:e=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=e,this.blockCache=new qe({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,e){let i=[],r=[],n=[];this.evictedBlocks.clear();for(let{offset:I,length:g}of t){let c=I+g,{fileSize:B}=this;B!==null&&(c=Math.min(c,B));let C=Math.floor(I/this.blockSize)*this.blockSize;for(let d=C;d<c;d+=this.blockSize){let E=Math.floor(d/this.blockSize);!this.blockCache.has(E)&&!this.blockRequests.has(E)&&(this.blockIdsToFetch.add(E),r.push(E)),this.blockRequests.has(E)&&i.push(this.blockRequests.get(E)),n.push(E)}}await $o(),this.fetchBlocks(e);let l=[];for(let I of r)this.blockRequests.has(I)&&l.push(this.blockRequests.get(I));await Promise.allSettled(i),await Promise.allSettled(l);let s=[],f=n.filter(I=>this.abortedBlockIds.has(I)||!this.blockCache.has(I));if(f.forEach(I=>this.blockIdsToFetch.add(I)),f.length>0&&e&&!e.aborted){this.fetchBlocks(null);for(let I of f){let g=this.blockRequests.get(I);if(!g)throw new Error(`Block ${I} is not in the block requests`);s.push(g)}await Promise.allSettled(s)}if(e&&e.aborted)throw new CA("Request was aborted");let o=n.map(I=>this.blockCache.get(I)||this.evictedBlocks.get(I)),a=o.filter(I=>!I);if(a.length)throw new Aa(a,"Request failed");let h=new Map(Wo(n,o));return this.readSliceData(t,h)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let e=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(e,t);for(let r=0;r<e.length;++r){let n=e[r];for(let l of n.blockIds)this.blockRequests.set(l,(async()=>{try{let s=(await i)[r],f=l*this.blockSize,o=f-s.offset,a=Math.min(o+this.blockSize,s.data.byteLength),h=s.data.slice(o,a),I=new Pi(f,h.byteLength,h,l);this.blockCache.set(l,I),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 e=Array.from(t).sort((l,s)=>l-s);if(e.length===0)return[];let i=[],r=null,n=[];for(let l of e)r===null||r+1===l?(i.push(l),r=l):(n.push(new Mt(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[l],r=l);return n.push(new Mt(i[0]*this.blockSize,i.length*this.blockSize,i)),n}readSliceData(t,e){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),f=new Uint8Array(s);for(let o=n;o<=l;++o){let a=e.get(o),h=a.offset-i.offset,I=a.top-r,g=0,c=0,B;h<0?g=-h:h>0&&(c=h),I<0?B=a.length-g:B=r-a.offset-g;let C=new Uint8Array(a.data,g,B);f.set(C,c)}return s})}};var qA=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")}},HA=class{constructor(t){this.url=t}async request({headers:t,signal:e}={}){throw new Error("request is not implemented")}};var Vi=class extends qA{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}},Nt=class extends HA{constructor(t,e){super(t),this.credentials=e}async request({headers:t,signal:e}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:e});return new Vi(i)}};var Zi=class extends qA{constructor(t,e){super(),this.xhr=t,this.data=e}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Tt=class extends HA{constructRequest(t,e){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 Zi(n,l))},n.onerror=r,n.onabort=()=>r(new CA("Request aborted")),n.send(),e&&(e.aborted&&n.abort(),e.addEventListener("abort",()=>n.abort()))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}};var ea=UA(require("http"),1),ta=UA(require("https"),1),ia=UA(require("url"),1);var Xi=class extends qA{constructor(t,e){super(),this.response=t,this.dataPromise=e}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Ot=class extends HA{constructor(t){super(t),this.parsedUrl=ia.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?ea.default:ta.default}constructRequest(t,e){return new Promise((i,r)=>{let n=this.httpApi.get({...this.parsedUrl,headers:t},l=>{let s=new Promise(f=>{let o=[];l.on("data",a=>{o.push(a)}),l.on("end",()=>{let a=Buffer.concat(o).buffer;f(a)}),l.on("error",r)});i(new Xi(l,s))});n.on("error",r),e&&(e.aborted&&n.destroy(new CA("Request aborted")),e.addEventListener("abort",()=>n.destroy(new CA("Request aborted"))))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}};var He=class extends he{constructor(t,e,i,r){super(),this.client=t,this.headers=e,this.maxRanges=i,this.allowFullFile=r,this._fileSize=null}async fetch(t,e){return this.maxRanges>=t.length?this.fetchSlices(t,e):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,e))))}async fetchSlices(t,e){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:r,length:n})=>`${r}-${r+n}`).join(",")}`},signal:e});if(i.ok)if(i.status===206){let{type:r,params:n}=Xo(i.getHeader("content-type"));if(r==="multipart/byteranges"){let h=jo(await i.getData(),n.boundary);return this._fileSize=h[0].fileSize||null,h}let l=await i.getData(),{start:s,end:f,total:o}=Gt(i.getHeader("content-range"));this._fileSize=o||null;let a=[{data:l,offset:s,length:f-s}];if(t.length>1){let h=await Promise.all(t.slice(1).map(I=>this.fetchSlice(I,e)));return a.concat(h)}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,e){let{offset:i,length:r}=t,n=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+r}`},signal:e});if(n.ok)if(n.status===206){let l=await n.getData(),{total:s}=Gt(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 ji(A,{blockSize:t,cacheSize:e}){return t===null?A:new Lt(A,{blockSize:t,cacheSize:e})}function Tl(A,{headers:t={},credentials:e,maxRanges:i=0,allowFullFile:r=!1,...n}={}){let l=new Nt(A,e),s=new He(l,t,i,r);return ji(s,n)}function Ol(A,{headers:t={},maxRanges:e=0,allowFullFile:i=!1,...r}={}){let n=new Tt(A),l=new He(n,t,e,i);return ji(l,r)}function ql(A,{headers:t={},maxRanges:e=0,allowFullFile:i=!1,...r}={}){let n=new Ot(A),l=new He(n,t,e,i);return ji(l,r)}function ra(A,{forceXHR:t=!1,...e}={}){return typeof fetch=="function"&&!t?Tl(A,e):typeof XMLHttpRequest<"u"?Ol(A,e):ql(A,e)}it();_A();function $i(A){switch(A){case O.BYTE:case O.ASCII:case O.SBYTE:case O.UNDEFINED:return 1;case O.SHORT:case O.SSHORT:return 2;case O.LONG:case O.SLONG:case O.FLOAT:case O.IFD:return 4;case O.RATIONAL:case O.SRATIONAL:case O.DOUBLE:case O.LONG8:case O.SLONG8:case O.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${A}`)}}function Hl(A){let t=A.GeoKeyDirectory;if(!t)return null;let e={};for(let i=4;i<=t[3]*4;i+=4){let r=ue[t[i]],n=t[i+1]?te[t[i+1]]:null,l=t[i+2],s=t[i+3],f=null;if(!n)f=s;else{if(f=A[n],typeof f>"u"||f===null)throw new Error(`Could not get value of geoKey '${r}'.`);typeof f=="string"?f=f.substring(s,s+l-1):f.subarray&&(f=f.subarray(s,s+l),l===1&&(f=f[0]))}e[r]=f}return e}function Be(A,t,e,i){let r=null,n=null,l=$i(t);switch(t){case O.BYTE:case O.ASCII:case O.UNDEFINED:r=new Uint8Array(e),n=A.readUint8;break;case O.SBYTE:r=new Int8Array(e),n=A.readInt8;break;case O.SHORT:r=new Uint16Array(e),n=A.readUint16;break;case O.SSHORT:r=new Int16Array(e),n=A.readInt16;break;case O.LONG:case O.IFD:r=new Uint32Array(e),n=A.readUint32;break;case O.SLONG:r=new Int32Array(e),n=A.readInt32;break;case O.LONG8:case O.IFD8:r=new Array(e),n=A.readUint64;break;case O.SLONG8:r=new Array(e),n=A.readInt64;break;case O.RATIONAL:r=new Uint32Array(e*2),n=A.readUint32;break;case O.SRATIONAL:r=new Int32Array(e*2),n=A.readInt32;break;case O.FLOAT:r=new Float32Array(e),n=A.readFloat32;break;case O.DOUBLE:r=new Float64Array(e),n=A.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===O.RATIONAL||t===O.SRATIONAL)for(let s=0;s<e;s+=2)r[s]=n.call(A,i+s*l),r[s+1]=n.call(A,i+(s*l+4));else for(let s=0;s<e;++s)r[s]=n.call(A,i+s*l);return t===O.ASCII?new TextDecoder("utf-8").decode(r):r}var Wi=class{constructor(t,e,i){this.fileDirectory=t,this.geoKeyDirectory=e,this.nextIFDByteOffset=i}},Ce=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},Ar=class{async readRasters(t={}){let{window:e,width:i,height:r}=t,{resX:n,resY:l,bbox:s}=t,f=await this.getImage(),o=f,a=await this.getImageCount(),h=f.getBoundingBox();if(e&&s)throw new Error('Both "bbox" and "window" passed.');if(i||r){if(e){let[c,B]=f.getOrigin(),[C,d]=f.getResolution();s=[c+e[0]*C,B+e[1]*d,c+e[2]*C,B+e[3]*d]}let g=s||h;if(i){if(n)throw new Error("Both width and resX passed");n=(g[2]-g[0])/i}if(r){if(l)throw new Error("Both width and resY passed");l=(g[3]-g[1])/r}}if(n||l){let g=[];for(let c=0;c<a;++c){let B=await this.getImage(c),{SubfileType:C,NewSubfileType:d}=B.fileDirectory;(c===0||C===2||d&1)&&g.push(B)}g.sort((c,B)=>c.getWidth()-B.getWidth());for(let c=0;c<g.length;++c){let B=g[c],C=(h[2]-h[0])/B.getWidth(),d=(h[3]-h[1])/B.getHeight();if(o=B,n&&n>C||l&&l>d)break}}let I=e;if(s){let[g,c]=f.getOrigin(),[B,C]=o.getResolution(f);I=[Math.round((s[0]-g)/B),Math.round((s[1]-c)/C),Math.round((s[2]-g)/B),Math.round((s[3]-c)/C)],I=[Math.min(I[0],I[2]),Math.min(I[1],I[3]),Math.max(I[0],I[2]),Math.max(I[1],I[3])]}return o.readRasters({...t,window:I})}},Ye=class extends Ar{constructor(t,e,i,r,n={}){super(),this.source=t,this.littleEndian=e,this.bigTiff=i,this.firstIFDOffset=r,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,e){let i=this.bigTiff?4048:1024;return new Oe((await this.source.fetch([{offset:t,length:typeof e<"u"?e:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let e=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*e+(this.bigTiff?16:6);r.covers(t,l)||(r=await this.getSlice(t,l));let s={},f=t+(this.bigTiff?8:2);for(let h=0;h<n;f+=e,++h){let I=r.readUint16(f),g=r.readUint16(f+2),c=this.bigTiff?r.readUint64(f+4):r.readUint32(f+4),B,C,d=$i(g),E=f+(this.bigTiff?12:8);if(d*c<=(this.bigTiff?8:4))B=Be(r,g,c,E);else{let w=r.readOffset(E),p=$i(g)*c;if(r.covers(w,p))B=Be(r,g,c,w);else{let Q=await this.getSlice(w,p);B=Be(Q,g,c,w)}}c===1&&Jr.indexOf(I)===-1&&!(g===O.RATIONAL||g===O.SRATIONAL)?C=B[0]:C=B,s[te[I]]=C}let o=Hl(s),a=r.readOffset(t+i+e*n);return new Wi(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(e){throw e instanceof Ce?new Ce(t):e}return this.ifdRequests[t]=(async()=>{let e=await this.ifdRequests[t-1];if(e.nextIFDByteOffset===0)throw new Ce(t);return this.parseFileDirectoryAt(e.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let e=await this.requestIFD(t);return new Po(e.fileDirectory,e.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,e=!0;for(;e;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof Ce)e=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let e="GDAL_STRUCTURAL_METADATA_SIZE=",i=e.length+100,r=await this.getSlice(t,i);if(e===Be(r,O.ASCII,e.length,t)){let l=Be(r,O.ASCII,i,t).split(`
7
- `)[0],s=Number(l.split("=")[1].split(" ")[0])+l.length;s>i&&(r=await this.getSlice(t,s));let f=Be(r,O.ASCII,s,t);this.ghostValues={},f.split(`
8
- `).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,a])=>{this.ghostValues[o]=a})}return this.ghostValues}static async fromSource(t,e,i){let r=(await t.fetch([{offset:0,length:1024}],i))[0],n=new Te(r),l=n.getUint16(0,0),s;if(l===18761)s=!0;else if(l===19789)s=!1;else throw new TypeError("Invalid byte order value.");let f=n.getUint16(2,s),o;if(f===42)o=!1;else if(f===43){if(o=!0,n.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let a=o?n.getUint64(8,s):n.getUint32(4,s);return new Ye(t,s,o,a,e)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function na(A,t={},e){return Ye.fromSource(ra(A,t),e)}var Yl=1e8,oa=1e4,aa=1e4,Jl=512,zl=512,Kl={2:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByWhListed","sizeByForcedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"],2.1:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByConfinedWh","sizeByDistortedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeByWhListed","sizeByForcedWh"],3:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeUpscaling"]},er=class extends W{async decode(t,e){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,r=(0,lA.default)(e,{sequentialRead:!0}),l=(await r.metadata()).channels||4;i===4&&l<4&&r.ensureAlpha?r=r.ensureAlpha():i===3&&l>3&&r.removeAlpha&&(r=r.removeAlpha());let{data:s,info:f}=await r.raw().toBuffer({resolveWithObject:!0});if(f.channels!==i){let o=f.width*f.height,a=Buffer.alloc(o*i),h=s;for(let I=0;I<o;I+=1){let g=I*f.channels,c=I*i;for(let B=0;B<i;B+=1)B<f.channels?a[c+B]=h[g+B]:a[c+B]=B===3?255:0}return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}};BA(50001,()=>Promise.resolve(er));var Je=class extends sa.default{constructor(e,i,r=!1,n=Yl,l=oa,s=aa,f=Jl,o=zl){super(e,i,n,l,s,f,o);this.enableHD=r}regionImpl(e,i){e&&(i=i.extract({left:e.x,top:e.y,width:e.w,height:e.h}))}sizeImpl(e,i){e&&(i=i.resize({...e,fit:"fill"}))}rotationImpl(e,i){e&&(e.isMirror&&(i=i.flop()),i=i.rotate(e.degree))}qualityFormatImpl(e,i,r,n,l){e&&(e==="color"?r=r.toColorspace("srgb"):e==="gray"||e==="grey"?r=r.grayscale():e==="bitonal"&&(r=r.threshold())),i&&(r=r.toFormat(i)),n==="png"&&(l.paletteBitDepth===1||l.space==="b-w")&&(r=r.toColorspace("b-w").png({colors:2}))}async generateImageTile(e,i,r){let n=e.split("/"),l=n.pop(),s=l.split(".")[0],f=l.split(".")[1],o=n.pop(),a=n.pop(),h=n.pop(),I=n.pop(),g={width:i.width,height:i.height},c=super.normalizeRegionParams(h,g),B=super.normalizeSizeParams(a,{width:c?c.w:g.width,height:c?c.h:g.height}),{x:C,y:d,w:E,h:w}=c,{width:p,height:Q}=B,u=r+"/"+I,m=await na(u),y=await m.getImage();console.log(`Source dimensions: ${y.getWidth()} x ${y.getHeight()}`),console.log(`Extracting region: x=${C}, y=${d}, w=${E}, h=${w}`),console.log(`Output size: ${p} x ${Q}`);let k=await m.getImageCount();console.log(`Total images (including overviews): ${k}`);let x=E/p,b=w/Q,S=Math.max(x,b);console.log(`Scale factor: ${S.toFixed(2)}`);let N=y,D=0,_=C,R=d,T=E,F=w;if(k>1&&S>1){console.log("Looking for suitable overview...");for(let Y=1;Y<k;Y++){let K=Math.pow(2,Y),AA=Math.floor(y.getWidth()/K),nA=Math.floor(y.getHeight()/K);if(console.log(`Overview ${Y}: ${AA} x ${nA} (factor: ${K})`),K>=S&&(D===0||K<Math.pow(2,D))){D=Y-1;break}}if(D>=0){N=await m.getImage(D);let Y=Math.pow(2,D);console.log(`Using overview level: ${D} (factor: ${Y})`),console.log(`Overview dimensions: ${N.getWidth()} x ${N.getHeight()}`),_=Math.floor(C/Y),R=Math.floor(d/Y),T=Math.floor(E/Y),F=Math.floor(w/Y),console.log(`Adjusted window: x=${_}, y=${R}, w=${T}, h=${F}`)}else if(k>1)try{let Y=k-1;N=await m.getImage(Y);let K=Math.pow(2,Y);console.log(`Using largest overview (factor: ${K})`),console.log(`Overview dimensions: ${N.getWidth()} x ${N.getHeight()}`),_=Math.floor(C/K),R=Math.floor(d/K),T=Math.floor(E/K),F=Math.floor(w/K),console.log(`Adjusted window: x=${_}, y=${R}, w=${T}, h=${F}`)}catch(Y){console.warn("Could not use largest overview, falling back to full resolution")}}else console.log("Using full resolution (no suitable overview found or scale factor <= 1)");let v=N.getSamplesPerPixel(),U;v>=3?(U=[0,1,2],v>=4&&U.push(3)):U=[0];let q=await N.readRasters({window:[_,R,_+T,R+F],width:p,height:Q,samples:U,interleave:!0,resampleMethod:"bilinear"}),z=U.length,V=Buffer.from(q.buffer,q.byteOffset,q.byteLength),L=(0,lA.default)(V,{raw:{width:p,height:Q,channels:z}}),M=super.normalizeRotationParams(o);this.rotationImpl(M,L);let G=super.normalizeQualityParams(s),P=super.normalizeFormatParams(f,i.format);this.qualityFormatImpl(G,P,L,f,i);let X={};return X.body=L,X.contentType=super.getContentType(P),X}iiifTransform(e,i){let r=this.enableHD?(0,lA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,lA.default)(),n=e.split("/"),l=n.pop(),s=l.split(".")[0],f=l.split(".")[1],o=n.pop(),a=n.pop(),h=n.pop(),I=!1,g=r,c={width:i.width,height:i.height};i&&i.orientation&&(I=!0,g=g.rotate(),i.orientation>=5&&(c={width:i.height,height:i.width}));let B=super.normalizeRegionParams(h,c);this.regionImpl(B,g);let C=super.normalizeSizeParams(a,{width:B?B.w:c.width,height:B?B.h:c.height});this.sizeImpl(C,g);let d=super.normalizeRotationParams(o);this.rotationImpl(d,g);let E=super.normalizeQualityParams(s),w=super.normalizeFormatParams(f,i.format);return this.qualityFormatImpl(E,w,g,f,i),B||C||d||E||w||I?g:(console.log("skip iiif transform"),null)}async generateIiifImage(e,i,r=256){let n=this.enableHD?(0,lA.default)(i,{limitInputPixels:!1,sequentialRead:!0}):(0,lA.default)(i),l=e.split("/"),s=l.pop(),f=s.split(".")[0],o=s.split(".")[1],a=l.pop(),h=l.pop(),I=l.pop(),g=await n.metadata(),c={width:g.width,height:g.height},B={},C=n,d=super.normalizeRegionParams(I,c);this.regionImpl(d,C);let E=super.normalizeSizeParams(h,{width:d?d.w:c.width,height:d?d.h:c.height});this.sizeImpl(E,C);let{x:w,y:p,w:Q,h:u}=d||{x:0,y:0,w:c.width,h:c.height},{width:m,height:y}=E||{width:c.width,height:c.height};try{if(Q*u>m*y*r&&m<oa&&y<aa&&g.pages&&g.pages>1){console.log("thumbnail");let S=Math.max(m/Q,y/u),[N,D,_,R]=[Math.round(w*S),Math.round(p*S),Math.round(Q*S),Math.round(u*S)],[T,F]=[Math.round(c.width*S),Math.round(c.height*S)];console.log("rawMeta.pages: "+g.pages);let v=Math.max(0,g.pages-1);console.log("selectedPage1: "+v),v>=g.pages&&(console.log("Warning: Selected page exceeds available pages, using last available page"),v=Math.max(0,g.pages-1));let U=this.enableHD?await(0,lA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).metadata():await(0,lA.default)(i,{page:v}).metadata(),q=U.width,z=U.height;for(;v>0&&(z<F||q<T);)z*=2,q*=2,v--;(v<0||v>=g.pages)&&(console.log("Warning: Invalid page index after calculation, using page 0"),v=0),console.log("selectedPage2: "+v);let V={width:T,height:F,fastShrinkOnLoad:!1},L=this.enableHD?await(0,lA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).resize(V).toBuffer():await(0,lA.default)(i,{page:v}).resize(V).toBuffer(),M=this.enableHD?(0,lA.default)(L,{limitInputPixels:!1,sequentialRead:!0}):(0,lA.default)(L),G=await M.metadata();console.log(G),D+R>G.height&&(R=G.height-D,console.log("adjested sh: "+R)),N+_>G.width&&(_=G.width-N,console.log("adjusted sw: "+_));let P={x:N,y:D,w:_,h:R};this.regionImpl(P,M),this.sizeImpl(E,M),console.log(G.width,G.height,V.width,V.height,P,E),C=M}}catch(S){console.trace(S),console.log(S)}let k=super.normalizeRotationParams(a);this.rotationImpl(k,C);let x=super.normalizeQualityParams(f);console.log(o,g.format);let b=super.normalizeFormatParams(o,g.format);return this.qualityFormatImpl(x,b,C,o,g),console.log("pipeline "+C),B.body=C,B.contentType=super.getContentType(b),B}generateImageInfo(e,i,r=""){let n=this.version,l=this.level,s={width:i.width,height:i.height};i&&i.orientation&&i.orientation>=5&&(console.log(i.orientation),s={width:i.height,height:i.width});let f=super.generateImageInfoTemp(e,s),o=f.info;if((n==="2.0"||n==="2.1")&&(o.profile=[super.uriPattern("compliance")],l==="2")){let a={};a.formats=["jpg","png","webp","jp2","pdf","tif"],a.qualities=["color","gray","bitonal","default","native","grey"],a.supports=Kl[Number(n)],o.profile.push(a)}return n==="3.0"&&r&&(o.extraFormats=[r],o.preferredFormats=[r]),r&&(o.formats=[r]),f}};module.exports=Je;
1
+ "use strict";var Kn=Object.create;var ce=Object.defineProperty;var zn=Object.getOwnPropertyDescriptor;var Vn=Object.getOwnPropertyNames;var Zn=Object.getPrototypeOf,Pn=Object.prototype.hasOwnProperty;var gA=(A,t)=>()=>(A&&(t=A(A=0)),t);var Yt=(A,t)=>()=>(t||A((t={exports:{}}).exports,t),t.exports),yA=(A,t)=>{for(var e in t)ce(A,e,{get:t[e],enumerable:!0})},Kt=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Vn(t))!Pn.call(A,r)&&r!==e&&ce(A,r,{get:()=>t[r],enumerable:!(i=zn(t,r))||i.enumerable});return A};var je=(A,t,e)=>(e=A!=null?Kn(Zn(A)):{},Kt(t||!A||!A.__esModule?ce(e,"default",{value:A,enumerable:!0}):e,A)),Xn=A=>Kt(ce({},"__esModule",{value:!0}),A);var Pt=Yt((Ag,et)=>{"use strict";var At=Object.defineProperty,Wn=Object.getOwnPropertyDescriptor,jn=Object.getOwnPropertyNames,$n=Object.prototype.hasOwnProperty,Aa=(A,t)=>{for(var e in t)At(A,e,{get:t[e],enumerable:!0})},ea=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of jn(t))!$n.call(A,r)&&r!==e&&At(A,r,{get:()=>t[r],enumerable:!(i=Wn(t,r))||i.enumerable});return A},ta=A=>ea(At({},"__esModule",{value:!0}),A),Vt={};Aa(Vt,{default:()=>Zt});et.exports=ta(Vt);var H="[1-9][0-9]*",zt="[0-9]*",mA="(?=.*[1-9])\\d+(\\.\\d+)?",$e="\\d+(\\.\\d+)?",ue=(A=>(A.jpg="image/jpeg",A.jpeg="image/jpeg",A.png="image/png",A.webp="image/webp",A.tif="image/tiff",A.tiff="image/tiff",A.gif="image/gif",A.jp2="image/jp2",A.pdf="application/pdf",A))(ue||{}),qA={version:["1.0","1.1","2.0","2.1","3.0"],level:["0","1","2"],region:["full","square",`${zt},${zt},${H},${H}`,`pct:${$e},${$e},${mA},${mA}`],rotation:`!?${$e}`,quality:["color","gray","bitonal","default","native","grey"],format:["jpg","png","webp","tif","gif","jp2","pdf"],size:[""]},ia={1:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],1.1:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],2:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],2.1:["full","max",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],3:["max",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`,"\\^max",`\\^${H},`,`\\^,${H}`,`\\^pct:${mA}`,`\\^${H},${H}`,`\\^!${H},${H}`]},de=/^pct:([\d,]+)/,Zt=class{constructor(A,t,e,i,r,o,B){this.version=A,this.level=t,this.maxArea=e,this.maxWidth=i,this.maxHeight=r,this.tileWidth=o,this.tileHeight=B,this.validate("version",A),this.validate("level",t),qA.size=ia[Number(A)]}validator(A){var t=qA[A];return t instanceof Array&&(t=t.join("|")),new RegExp("^("+t+")$")}validate(A,t){if(!this.validator(A).test(t))throw Error(`invalid IIIF url ${A}: ${t}`);return!0}normalizeRegionParams(A,t){if(this.validate("region",A),A==="full")return null;if(A==="square")return this._regionSquare(t);if(de.test(A))return this._regionPct(A.match(de)[1],t);{let e=A.split(",").map(i=>Number(i));return this._regionXYWH(e,t)}}_regionSquare(A){let t,e,i=A.width,r=A.height;if(i!==r){let o=Math.min(i,r),B=Math.abs(Math.floor((i-r)/2));return i>r?(t=B,e=0):(t=0,e=B),this._regionXYWH([t,e,o,o],A)}return null}_regionPct(A,t){let e=A.split(",").map((i,r)=>{let o=Number(i)/100;return r===0||r===2?Math.ceil(t.width*o):r===1||r===3?Math.ceil(t.height*o):null});return this._regionXYWH(e,t)}_regionXYWH(A,t){let e=t.width,i=t.height,[r,o,B,s]=A;return r+B>e&&(B=e-r),o+s>i&&(s=i-o),{x:r,y:o,w:B,h:s}}normalizeSizeParams(A,t){let e=A,i=t.width,r=t.height;if(!t||!i&&!r)throw Error(`invalid region dimensions: ${JSON.stringify(t,null,2)}`);this.validate("size",e);let o=!1;e.charAt(0)==="^"&&(o=!0,e=e.substring(1));let B=null;if(e==="full"||(e==="max"?B=this._sizeMaxScale(t):de.test(e)?B=this._sizePctScale(e.match(de)[1]):e.charAt(0)==="!"&&(e=e.substring(1),B=this._sizeBangScale(e,o,t)),B===1))return null;if(B){let s=Math.ceil(i*B),I=Math.ceil(r*B);return this._sizeWH(`${s},${I}`,o,t)}else return this._sizeWH(e,o,t)}_sizeBangScale(A,t,e){let i=e.width,r=e.height,[o,B]=A.split(",").map(I=>I===""?null:Number(I)),s=Math.min(o/i,B/r);if(o>i&&B>r&&!t)throw Error("should not upscale without ^");return s}_sizeMaxScale(A){let t=A.width,e=A.height,i=1;return this.maxArea&&this.maxArea<t*e&&(i=Math.sqrt(this.maxArea/(t*e))),this.maxWidth&&this.maxWidth<t&&(i=Math.min(i,this.maxWidth/t)),this.maxHeight&&this.maxHeight<e&&(i=Math.min(i,this.maxHeight/e)),i}_sizePctScale(A){return Number(A)/100}_sizeWH(A,t,e){let i=e.width,r=e.height,[o,B]=A.split(",").map(s=>s===""?null:Number(s));if(o?B||(B=Math.ceil(r*o/i),B=B===0?1:B):(o=Math.ceil(i*B/r),o=o===0?1:o),(o>i||B>r)&&!t)throw Error("should not upscale without ^");return{width:o,height:B}}normalizeRotationParams(A){this.validate("rotation",A);let t=!1;if(A==="0")return null;A[0]==="!"&&(t=!0);let e=Number(A.replace(/^!/,""));return{isMirror:t,degree:e}}normalizeQualityParams(A){return this.validate("quality",A),A==="native"||A==="default"?null:A}normalizeFormatParams(A,t){if((this.version==="1.0"||this.version==="1.1"||this.version==="2.0"||this.version==="2.1")&&!A)return"png";this.validate("format",A);let e=ue[A],i=ue[t];return e===i?null:A}getContentType(A){return ue[A]}generateImageInfoTemp(A,t){let e={},i={};e.info=i;let r=this.version;return r==="1.0"?(i.identifier=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=qA.format,i.qualities=qA.quality,i.profile=this.uriPattern("compliance"),e.contentType="application/json",e.body=JSON.stringify(i)):(r==="1.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=qA.format,i.qualities=qA.quality,i.profile=this.uriPattern("compliance")):r==="2.0"||r==="2.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=[this.uriPattern("compliance")]):r==="3.0"&&(i["@context"]=[this.uriPattern("context")],i.id=A,i.type="ImageService3",i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=this.uriPattern("compliance")),e.contentType="application/ld+json"),e}factors(A){let t=1,e=[];for(;this.tileWidth*t<=A.width||this.tileHeight*t<=A.height;)e.push(t),t*=2;return e.length===0&&e.push(1),e}uriPattern(A){let t="",e="";return this.version==="1.0"?t=`http://library.stanford.edu/iiif/image-api/compliance.html#level${this.level}`:this.version==="1.1"?(t=`http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level${this.level}`,e="http://library.stanford.edu/iiif/image-api/1.1/context.json"):this.version==="2.0"||this.version==="2.1"?(t=`http://iiif.io/api/image/2/level${this.level}.json`,e="http://iiif.io/api/image/2/context.json"):this.version==="3.0"&&(t=`level${this.level}`,e="http://iiif.io/api/image/3/context.json"),A==="compliance"?t:A==="context"?e:""}sizes(A){return[{width:A.width,height:A.height}]}};et.exports=Zt});var tt,fA,tg,it,na,Xt,we,nt,aa,Wt=gA(()=>{tt={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"},fA={};for(let A in tt)tt.hasOwnProperty(A)&&(fA[tt[A]]=parseInt(A,10));tg=[fA.BitsPerSample,fA.ExtraSamples,fA.SampleFormat,fA.StripByteCounts,fA.StripOffsets,fA.StripRowCounts,fA.TileByteCounts,fA.TileOffsets,fA.SubIFDs],it={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"},na={};for(let A in it)it.hasOwnProperty(A)&&(na[it[A]]=parseInt(A,10));Xt={Version:0,AddCompression:1},we={None:0,Deflate:1,Zstandard:2},nt={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"},aa={};for(let A in nt)nt.hasOwnProperty(A)&&(aa[nt[A]]=parseInt(A,10))});function ra(A,t){let e=A.length-t,i=0;do{for(let r=t;r>0;r--)A[i+t]+=A[i],i++;e-=t}while(e>0)}function oa(A,t,e){let i=0,r=A.length,o=r/e;for(;r>t;){for(let s=t;s>0;--s)A[i+t]+=A[i],++i;r-=t}let B=A.slice();for(let s=0;s<o;++s)for(let I=0;I<e;++I)A[e*s+I]=B[(e-I-1)*o+s]}function jt(A,t,e,i,r,o){if(!t||t===1)return A;for(let I=0;I<r.length;++I){if(r[I]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[I]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let B=r[0]/8,s=o===2?1:r.length;for(let I=0;I<i&&!(I*s*e*B>=A.byteLength);++I){let n;if(t===2){switch(r[0]){case 8:n=new Uint8Array(A,I*s*e*B,s*e*B);break;case 16:n=new Uint16Array(A,I*s*e*B,s*e*B/2);break;case 32:n=new Uint32Array(A,I*s*e*B,s*e*B/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}ra(n,s,B)}else t===3&&(n=new Uint8Array(A,I*s*e*B,s*e*B),oa(n,s,B))}return A}var $t=gA(()=>{});var P,cA=gA(()=>{$t();P=class{async decode(t,e){let i=await this.decodeBlock(e),r=t.Predictor||1;if(r!==1){let o=!t.StripOffsets,B=o?t.TileWidth:t.ImageWidth,s=o?t.TileLength:t.RowsPerStrip||t.ImageLength;return jt(i,r,B,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var Ai={};yA(Ai,{default:()=>De});var De,ei=gA(()=>{cA();De=class extends P{decodeBlock(t){return t}}});var ii={};yA(ii,{default:()=>pe});function sa(A,t,e){let i=t%8,r=Math.floor(t/8),o=8-i,B=t+e-(r+1)*8,s=8*(r+2)-(t+e),I=(r+2)*8-t;if(s=Math.max(0,s),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),ot;let n=A[r]&2**(8-i)-1;n<<=e-o;let a=n;if(r+1<A.length){let Q=A[r+1]>>>s;Q<<=Math.max(0,e-I),a+=Q}if(B>8&&r+2<A.length){let Q=(r+3)*8-(t+e),l=A[r+2]>>>Q;a+=l}return a}function rt(A,t){for(let e=t.length-1;e>=0;e--)A.push(t[e]);return A}function Ia(A){let t=new Uint16Array(4093),e=new Uint8Array(4093);for(let C=0;C<=257;C++)t[C]=4096,e[C]=C;let i=258,r=ti,o=0;function B(){i=258,r=ti}function s(C){let f=sa(C,o,r);return o+=r,f}function I(C,f){return e[i]=f,t[i]=C,i++,i-1}function n(C){let f=[];for(let E=C;E!==4096;E=t[E])f.push(e[E]);return f}let a=[];B();let Q=new Uint8Array(A),l=s(Q),g;for(;l!==ot;){if(l===at){for(B(),l=s(Q);l===at;)l=s(Q);if(l===ot)break;if(l>at)throw new Error(`corrupted code at scanline ${l}`);{let C=n(l);rt(a,C),g=l}}else if(l<i){let C=n(l);rt(a,C),I(g,C[C.length-1]),g=l}else{let C=n(g);if(!C)throw new Error(`Bogus entry. Not in dictionary, ${g} / ${i}, position: ${o}`);rt(a,C),a.push(C[C.length-1]),I(g,C[C.length-1]),g=l}i+1>=2**r&&(r===ga?g=void 0:r++),l=s(Q)}return new Uint8Array(a)}var ti,at,ot,ga,pe,ni=gA(()=>{cA();ti=9,at=256,ot=257,ga=12;pe=class extends P{decodeBlock(t){return Ia(t,!1).buffer}}});var ri={};yA(ri,{default:()=>be});function ai(A,t){let e=0,i=[],r=16;for(;r>0&&!A[r-1];)--r;i.push({children:[],index:0});let o=i[0],B;for(let s=0;s<r;s++){for(let I=0;I<A[s];I++){for(o=i.pop(),o.children[o.index]=t[e];o.index>0;)o=i.pop();for(o.index++,i.push(o);i.length<=s;)i.push(B={children:[],index:0}),o.children[o.index]=B.children,o=B;e++}s+1<r&&(i.push(B={children:[],index:0}),o.children[o.index]=B.children,o=B)}return i[0].children}function la(A,t,e,i,r,o,B,s,I){let{mcusPerLine:n,progressive:a}=e,Q=t,l=t,g=0,C=0;function f(){if(C>0)return C--,g>>C&1;if(g=A[l++],g===255){let U=A[l++];if(U)throw new Error(`unexpected marker: ${(g<<8|U).toString(16)}`)}return C=7,g>>>7}function E(U){let L=U,M;for(;(M=f())!==null;){if(L=L[M],typeof L=="number")return L;if(typeof L!="object")throw new Error("invalid huffman sequence")}return null}function d(U){let L=U,M=0;for(;L>0;){let V=f();if(V===null)return;M=M<<1|V,--L}return M}function u(U){let L=d(U);return L>=1<<U-1?L:L+(-1<<U)+1}function w(U,L){let M=E(U.huffmanTableDC),V=M===0?0:u(M);U.pred+=V,L[0]=U.pred;let Z=1;for(;Z<64;){let X=E(U.huffmanTableAC),j=X&15,AA=X>>4;if(j===0){if(AA<15)break;Z+=16}else{Z+=AA;let rA=WA[Z];L[rA]=u(j),Z++}}}function D(U,L){let M=E(U.huffmanTableDC),V=M===0?0:u(M)<<I;U.pred+=V,L[0]=U.pred}function c(U,L){L[0]|=f()<<I}let h=0;function _(U,L){if(h>0){h--;return}let M=o,V=B;for(;M<=V;){let Z=E(U.huffmanTableAC),X=Z&15,j=Z>>4;if(X===0){if(j<15){h=d(j)+(1<<j)-1;break}M+=16}else{M+=j;let AA=WA[M];L[AA]=u(X)*(1<<I),M++}}}let p=0,S;function m(U,L){let M=o,V=B,Z=0;for(;M<=V;){let X=WA[M],j=L[X]<0?-1:1;switch(p){case 0:{let AA=E(U.huffmanTableAC),rA=AA&15;if(Z=AA>>4,rA===0)Z<15?(h=d(Z)+(1<<Z),p=4):(Z=16,p=1);else{if(rA!==1)throw new Error("invalid ACn encoding");S=u(rA),p=Z?2:3}continue}case 1:case 2:L[X]?L[X]+=(f()<<I)*j:(Z--,Z===0&&(p=p===2?3:0));break;case 3:L[X]?L[X]+=(f()<<I)*j:(L[X]=S<<I,p=0);break;case 4:L[X]&&(L[X]+=(f()<<I)*j);break;default:break}M++}p===4&&(h--,h===0&&(p=0))}function x(U,L,M,V,Z){let X=M/n|0,j=M%n,AA=X*U.v+V,rA=j*U.h+Z;L(U,U.blocks[AA][rA])}function k(U,L,M){let V=M/U.blocksPerLine|0,Z=M%U.blocksPerLine;L(U,U.blocks[V][Z])}let T=i.length,F,y,G,N,b,v;a?o===0?v=s===0?D:c:v=s===0?_:m:v=w;let R=0,q,O;T===1?O=i[0].blocksPerLine*i[0].blocksPerColumn:O=n*e.mcusPerColumn;let K=r||O;for(;R<O;){for(y=0;y<T;y++)i[y].pred=0;if(h=0,T===1)for(F=i[0],b=0;b<K;b++)k(F,v,R),R++;else for(b=0;b<K;b++){for(y=0;y<T;y++){F=i[y];let{h:U,v:L}=F;for(G=0;G<L;G++)for(N=0;N<U;N++)x(F,v,R,G,N)}if(R++,R===O)break}if(C=0,q=A[l]<<8|A[l+1],q<65280)throw new Error("marker was not found");if(q>=65488&&q<=65495)l+=2;else break}return l-Q}function Ba(A,t){let e=[],{blocksPerLine:i,blocksPerColumn:r}=t,o=i<<3,B=new Int32Array(64),s=new Uint8Array(64);function I(n,a,Q){let l=t.quantizationTable,g,C,f,E,d,u,w,D,c,h=Q,_;for(_=0;_<64;_++)h[_]=n[_]*l[_];for(_=0;_<8;++_){let p=8*_;if(h[1+p]===0&&h[2+p]===0&&h[3+p]===0&&h[4+p]===0&&h[5+p]===0&&h[6+p]===0&&h[7+p]===0){c=HA*h[0+p]+512>>10,h[0+p]=c,h[1+p]=c,h[2+p]=c,h[3+p]=c,h[4+p]=c,h[5+p]=c,h[6+p]=c,h[7+p]=c;continue}g=HA*h[0+p]+128>>8,C=HA*h[4+p]+128>>8,f=h[2+p],E=h[6+p],d=Se*(h[1+p]-h[7+p])+128>>8,D=Se*(h[1+p]+h[7+p])+128>>8,u=h[3+p]<<4,w=h[5+p]<<4,c=g-C+1>>1,g=g+C+1>>1,C=c,c=f*Fe+E*ke+128>>8,f=f*ke-E*Fe+128>>8,E=c,c=d-w+1>>1,d=d+w+1>>1,w=c,c=D+u+1>>1,u=D-u+1>>1,D=c,c=g-E+1>>1,g=g+E+1>>1,E=c,c=C-f+1>>1,C=C+f+1>>1,f=c,c=d*xe+D*me+2048>>12,d=d*me-D*xe+2048>>12,D=c,c=u*ye+w*_e+2048>>12,u=u*_e-w*ye+2048>>12,w=c,h[0+p]=g+D,h[7+p]=g-D,h[1+p]=C+w,h[6+p]=C-w,h[2+p]=f+u,h[5+p]=f-u,h[3+p]=E+d,h[4+p]=E-d}for(_=0;_<8;++_){let p=_;if(h[1*8+p]===0&&h[2*8+p]===0&&h[3*8+p]===0&&h[4*8+p]===0&&h[5*8+p]===0&&h[6*8+p]===0&&h[7*8+p]===0){c=HA*Q[_+0]+8192>>14,h[0*8+p]=c,h[1*8+p]=c,h[2*8+p]=c,h[3*8+p]=c,h[4*8+p]=c,h[5*8+p]=c,h[6*8+p]=c,h[7*8+p]=c;continue}g=HA*h[0*8+p]+2048>>12,C=HA*h[4*8+p]+2048>>12,f=h[2*8+p],E=h[6*8+p],d=Se*(h[1*8+p]-h[7*8+p])+2048>>12,D=Se*(h[1*8+p]+h[7*8+p])+2048>>12,u=h[3*8+p],w=h[5*8+p],c=g-C+1>>1,g=g+C+1>>1,C=c,c=f*Fe+E*ke+2048>>12,f=f*ke-E*Fe+2048>>12,E=c,c=d-w+1>>1,d=d+w+1>>1,w=c,c=D+u+1>>1,u=D-u+1>>1,D=c,c=g-E+1>>1,g=g+E+1>>1,E=c,c=C-f+1>>1,C=C+f+1>>1,f=c,c=d*xe+D*me+2048>>12,d=d*me-D*xe+2048>>12,D=c,c=u*ye+w*_e+2048>>12,u=u*_e-w*ye+2048>>12,w=c,h[0*8+p]=g+D,h[7*8+p]=g-D,h[1*8+p]=C+w,h[6*8+p]=C-w,h[2*8+p]=f+u,h[5*8+p]=f-u,h[3*8+p]=E+d,h[4*8+p]=E-d}for(_=0;_<64;++_){let p=128+(h[_]+8>>4);p<0?a[_]=0:p>255?a[_]=255:a[_]=p}}for(let n=0;n<r;n++){let a=n<<3;for(let Q=0;Q<8;Q++)e.push(new Uint8Array(o));for(let Q=0;Q<i;Q++){I(t.blocks[n][Q],s,B);let l=0,g=Q<<3;for(let C=0;C<8;C++){let f=e[a+C];for(let E=0;E<8;E++)f[g+E]=s[l++]}}}return e}var WA,_e,ye,me,xe,ke,Fe,HA,Se,gt,be,oi=gA(()=>{cA();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]),_e=4017,ye=799,me=3406,xe=2276,ke=1567,Fe=3784,HA=5793,Se=2896;gt=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function i(){let s=t[e]<<8|t[e+1];return e+=2,s}function r(){let s=i(),I=t.subarray(e,e+s-2);return e+=I.length,I}function o(s){let I=0,n=0,a,Q;for(Q in s.components)s.components.hasOwnProperty(Q)&&(a=s.components[Q],I<a.h&&(I=a.h),n<a.v&&(n=a.v));let l=Math.ceil(s.samplesPerLine/8/I),g=Math.ceil(s.scanLines/8/n);for(Q in s.components)if(s.components.hasOwnProperty(Q)){a=s.components[Q];let C=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/I),f=Math.ceil(Math.ceil(s.scanLines/8)*a.v/n),E=l*a.h,d=g*a.v,u=[];for(let w=0;w<d;w++){let D=[];for(let c=0;c<E;c++)D.push(new Int32Array(64));u.push(D)}a.blocksPerLine=C,a.blocksPerColumn=f,a.blocks=u}s.maxH=I,s.maxV=n,s.mcusPerLine=l,s.mcusPerColumn=g}let B=i();if(B!==65496)throw new Error("SOI not found");for(B=i();B!==65497;){switch(B){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();B===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])}),B===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 I=i()+e-2;for(;e<I;){let n=t[e++],a=new Int32Array(64);if(n>>4)if(n>>4===1)for(let Q=0;Q<64;Q++){let l=WA[Q];a[l]=i()}else throw new Error("DQT: invalid table spec");else for(let Q=0;Q<64;Q++){let l=WA[Q];a[l]=t[e++]}this.quantizationTables[n&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:B===65473,progressive:B===65474,precision:t[e++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},I=t[e++],n;for(let a=0;a<I;a++){n=t[e];let Q=t[e+1]>>4,l=t[e+1]&15,g=t[e+2];s.componentsOrder.push(n),s.components[n]={h:Q,v:l,quantizationIdx:g},e+=3}o(s),this.frames.push(s);break}case 65476:{let s=i();for(let I=2;I<s;){let n=t[e++],a=new Uint8Array(16),Q=0;for(let g=0;g<16;g++,e++)a[g]=t[e],Q+=a[g];let l=new Uint8Array(Q);for(let g=0;g<Q;g++,e++)l[g]=t[e];I+=17+Q,n>>4?this.huffmanTablesAC[n&15]=ai(a,l):this.huffmanTablesDC[n&15]=ai(a,l)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[e++],I=[],n=this.frames[0];for(let C=0;C<s;C++){let f=n.components[t[e++]],E=t[e++];f.huffmanTableDC=this.huffmanTablesDC[E>>4],f.huffmanTableAC=this.huffmanTablesAC[E&15],I.push(f)}let a=t[e++],Q=t[e++],l=t[e++],g=la(t,e,n,I,this.resetInterval,a,Q,l>>4,l&15);e+=g;break}case 65535:t[e]!==255&&e--;break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${B.toString(16)}`)}B=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 Q=this.frames[a].components;for(let l of Object.keys(Q))Q[l].quantizationTable=this.quantizationTables[Q[l].quantizationIdx],delete Q[l].quantizationIdx}let e=t[0],{components:i,componentsOrder:r}=e,o=[],B=e.samplesPerLine,s=e.scanLines;for(let a=0;a<r.length;a++){let Q=i[r[a]];o.push({lines:Ba(e,Q),scaleX:Q.h/e.maxH,scaleY:Q.v/e.maxV})}let I=new Uint8Array(B*s*o.length),n=0;for(let a=0;a<s;++a)for(let Q=0;Q<B;++Q)for(let l=0;l<o.length;++l){let g=o[l];I[n]=g.lines[0|a*g.scaleY][0|Q*g.scaleX],++n}return I}},be=class extends P{constructor(t){super(),this.reader=new gt,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function VA(A){let t=A.length;for(;--t>=0;)A[t]=0}function It(A,t,e,i,r){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=A&&A.length}function lt(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function CA(A,t,e,i,r){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=r}function Cr(){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=He,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(ar*2),this.dyn_dtree=new Uint16Array((2*ir+1)*2),this.bl_tree=new Uint16Array((2*nr+1)*2),xA(this.dyn_ltree),xA(this.dyn_dtree),xA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(rr+1),this.heap=new Uint16Array(2*mt+1),xA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*mt+1),xA(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 Ur(){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 Ce(A){this.options=Je.assign({level:Jr,method:Yr,chunkSize:16384,windowBits:15,memLevel:8,strategy:Or},A||{});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 Cn,this.strm.avail_out=0;let e=te.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==Te)throw new Error(UA[e]);if(t.header&&te.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Ie.string2buf(t.dictionary):hn.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,e=te.deflateSetDictionary(this.strm,i),e!==Te)throw new Error(UA[e]);this._dict_set=!0}}function Mt(A,t){let e=new Ce(t);if(e.push(A,!0),e.err)throw e.msg||UA[e.err];return e.result}function Kr(A,t){return t=t||{},t.raw=!0,Mt(A,t)}function zr(A,t){return t=t||{},t.gzip=!0,Mt(A,t)}function ho(){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 Go(){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 he(A){this.options=Je.assign({chunkSize:1024*64,windowBits:15,to:""},A||{});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&&!(A&&A.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 Cn,this.strm.avail_out=0;let e=wA.inflateInit2(this.strm,t.windowBits);if(e!==le)throw new Error(UA[e]);if(this.header=new Ro,wA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ie.string2buf(t.dictionary):xn.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=wA.inflateSetDictionary(this.strm,t.dictionary),e!==le)))throw new Error(UA[e])}function Nt(A,t){let e=new he(t);if(e.push(A),e.err)throw e.msg||UA[e.err];return e.result}function To(A,t){return t=t||{},t.raw=!0,Nt(A,t)}var fa,zi,Ca,ha,Ea,vt,Be,ne,YA,Gt,Vi,GA,st,Qa,Rt,Zi,Pi,Xi,pt,Me,ca,Wi,da,uA,ee,ae,re,Lt,Ne,ji,$i,An,en,oe,tA,hA,tn,ua,wa,nn,Da,an,rn,gi,Bt,si,_t,Ii,li,pa,_a,ya,Bi,ma,on,xa,ka,Fa,Sa,ba,va,Ga,Ra,La,Ua,ge,Ma,Na,Ta,W,UA,ZA,qa,yt,Ha,FA,Ja,SA,Oa,Ya,sA,fi,$,Ci,EA,Ka,ft,za,Va,ve,Za,Pa,Xa,Wa,He,ja,$a,Ar,er,tr,mt,ir,nr,ar,rr,J,kA,QA,or,KA,Ut,xt,kt,Ft,St,RA,$A,eA,PA,MA,XA,gr,LA,hi,xA,sr,Ir,bA,iA,nA,Y,jA,bt,gn,zA,sn,Ct,JA,lr,Br,Ae,fr,fe,In,ln,hr,Bn,Er,Qr,cr,dr,ur,wr,Dr,pr,_r,yr,mr,xr,kr,te,Fr,Sr,br,Je,fn,se,vr,Gr,Rr,Lr,Ie,Cn,hn,Mr,Nr,Tr,qr,Te,Hr,Jr,Or,Yr,Vr,Zr,Pr,Xr,Wr,jr,Ge,$r,Ao,OA,Ei,Qi,ci,ht,di,eo,to,io,no,ao,ie,ro,En,Qn,ui,oo,Re,NA,go,so,IA,cn,dn,Io,wi,Oe,Di,pi,_i,yi,mi,xi,ki,Fi,Si,qe,dA,Et,bi,Qt,vi,Gi,Ri,Li,Le,Ue,Ui,Mi,Ni,Ti,qi,ct,Hi,Ji,z,un,wn,lo,Bo,fo,Co,Oi,TA,Dn,pn,_n,yn,Eo,Yi,dt,ut,Qo,mn,co,uo,wo,Do,po,_o,yo,mo,xo,ko,Fo,So,bo,vo,wA,Ro,xn,Lo,Uo,le,wt,Dt,Mo,Ki,No,qo,Ho,Jo,Oo,Yo,Ko,Ig,lg,Bg,fg,Cg,zo,hg,Eg,Ye,Tt=gA(()=>{fa=0,zi=1,Ca=2,ha=3,Ea=258,vt=29,Be=256,ne=Be+1+vt,YA=30,Gt=19,Vi=2*ne+1,GA=15,st=16,Qa=7,Rt=256,Zi=16,Pi=17,Xi=18,pt=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]),Me=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]),ca=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Wi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),da=512,uA=new Array((ne+2)*2);VA(uA);ee=new Array(YA*2);VA(ee);ae=new Array(da);VA(ae);re=new Array(Ea-ha+1);VA(re);Lt=new Array(vt);VA(Lt);Ne=new Array(YA);VA(Ne);en=A=>A<256?ae[A]:ae[256+(A>>>7)],oe=(A,t)=>{A.pending_buf[A.pending++]=t&255,A.pending_buf[A.pending++]=t>>>8&255},tA=(A,t,e)=>{A.bi_valid>st-e?(A.bi_buf|=t<<A.bi_valid&65535,oe(A,A.bi_buf),A.bi_buf=t>>st-A.bi_valid,A.bi_valid+=e-st):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)},hA=(A,t,e)=>{tA(A,e[t*2],e[t*2+1])},tn=(A,t)=>{let e=0;do e|=A&1,A>>>=1,e<<=1;while(--t>0);return e>>>1},ua=A=>{A.bi_valid===16?(oe(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8)},wa=(A,t)=>{let e=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,B=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,I=t.stat_desc.max_length,n,a,Q,l,g,C,f=0;for(l=0;l<=GA;l++)A.bl_count[l]=0;for(e[A.heap[A.heap_max]*2+1]=0,n=A.heap_max+1;n<Vi;n++)a=A.heap[n],l=e[e[a*2+1]*2+1]+1,l>I&&(l=I,f++),e[a*2+1]=l,!(a>i)&&(A.bl_count[l]++,g=0,a>=s&&(g=B[a-s]),C=e[a*2],A.opt_len+=C*(l+g),o&&(A.static_len+=C*(r[a*2+1]+g)));if(f!==0){do{for(l=I-1;A.bl_count[l]===0;)l--;A.bl_count[l]--,A.bl_count[l+1]+=2,A.bl_count[I]--,f-=2}while(f>0);for(l=I;l!==0;l--)for(a=A.bl_count[l];a!==0;)Q=A.heap[--n],!(Q>i)&&(e[Q*2+1]!==l&&(A.opt_len+=(l-e[Q*2+1])*e[Q*2],e[Q*2+1]=l),a--)}},nn=(A,t,e)=>{let i=new Array(GA+1),r=0,o,B;for(o=1;o<=GA;o++)r=r+e[o-1]<<1,i[o]=r;for(B=0;B<=t;B++){let s=A[B*2+1];s!==0&&(A[B*2]=tn(i[s]++,s))}},Da=()=>{let A,t,e,i,r,o=new Array(GA+1);for(e=0,i=0;i<vt-1;i++)for(Lt[i]=e,A=0;A<1<<pt[i];A++)re[e++]=i;for(re[e-1]=i,r=0,i=0;i<16;i++)for(Ne[i]=r,A=0;A<1<<Me[i];A++)ae[r++]=i;for(r>>=7;i<YA;i++)for(Ne[i]=r<<7,A=0;A<1<<Me[i]-7;A++)ae[256+r++]=i;for(t=0;t<=GA;t++)o[t]=0;for(A=0;A<=143;)uA[A*2+1]=8,A++,o[8]++;for(;A<=255;)uA[A*2+1]=9,A++,o[9]++;for(;A<=279;)uA[A*2+1]=7,A++,o[7]++;for(;A<=287;)uA[A*2+1]=8,A++,o[8]++;for(nn(uA,ne+1,o),A=0;A<YA;A++)ee[A*2+1]=5,ee[A*2]=tn(A,5);ji=new It(uA,pt,Be+1,ne,GA),$i=new It(ee,Me,0,YA,GA),An=new It(new Array(0),ca,0,Gt,Qa)},an=A=>{let t;for(t=0;t<ne;t++)A.dyn_ltree[t*2]=0;for(t=0;t<YA;t++)A.dyn_dtree[t*2]=0;for(t=0;t<Gt;t++)A.bl_tree[t*2]=0;A.dyn_ltree[Rt*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},rn=A=>{A.bi_valid>8?oe(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},gi=(A,t,e,i)=>{let r=t*2,o=e*2;return A[r]<A[o]||A[r]===A[o]&&i[t]<=i[e]},Bt=(A,t,e)=>{let i=A.heap[e],r=e<<1;for(;r<=A.heap_len&&(r<A.heap_len&&gi(t,A.heap[r+1],A.heap[r],A.depth)&&r++,!gi(t,i,A.heap[r],A.depth));)A.heap[e]=A.heap[r],e=r,r<<=1;A.heap[e]=i},si=(A,t,e)=>{let i,r,o=0,B,s;if(A.sym_next!==0)do i=A.pending_buf[A.sym_buf+o++]&255,i+=(A.pending_buf[A.sym_buf+o++]&255)<<8,r=A.pending_buf[A.sym_buf+o++],i===0?hA(A,r,t):(B=re[r],hA(A,B+Be+1,t),s=pt[B],s!==0&&(r-=Lt[B],tA(A,r,s)),i--,B=en(i),hA(A,B,e),s=Me[B],s!==0&&(i-=Ne[B],tA(A,i,s)));while(o<A.sym_next);hA(A,Rt,t)},_t=(A,t)=>{let e=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems,B,s,I=-1,n;for(A.heap_len=0,A.heap_max=Vi,B=0;B<o;B++)e[B*2]!==0?(A.heap[++A.heap_len]=I=B,A.depth[B]=0):e[B*2+1]=0;for(;A.heap_len<2;)n=A.heap[++A.heap_len]=I<2?++I:0,e[n*2]=1,A.depth[n]=0,A.opt_len--,r&&(A.static_len-=i[n*2+1]);for(t.max_code=I,B=A.heap_len>>1;B>=1;B--)Bt(A,e,B);n=o;do B=A.heap[1],A.heap[1]=A.heap[A.heap_len--],Bt(A,e,1),s=A.heap[1],A.heap[--A.heap_max]=B,A.heap[--A.heap_max]=s,e[n*2]=e[B*2]+e[s*2],A.depth[n]=(A.depth[B]>=A.depth[s]?A.depth[B]:A.depth[s])+1,e[B*2+1]=e[s*2+1]=n,A.heap[1]=n++,Bt(A,e,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],wa(A,t),nn(e,I,A.bl_count)},Ii=(A,t,e)=>{let i,r=-1,o,B=t[0*2+1],s=0,I=7,n=4;for(B===0&&(I=138,n=3),t[(e+1)*2+1]=65535,i=0;i<=e;i++)o=B,B=t[(i+1)*2+1],!(++s<I&&o===B)&&(s<n?A.bl_tree[o*2]+=s:o!==0?(o!==r&&A.bl_tree[o*2]++,A.bl_tree[Zi*2]++):s<=10?A.bl_tree[Pi*2]++:A.bl_tree[Xi*2]++,s=0,r=o,B===0?(I=138,n=3):o===B?(I=6,n=3):(I=7,n=4))},li=(A,t,e)=>{let i,r=-1,o,B=t[0*2+1],s=0,I=7,n=4;for(B===0&&(I=138,n=3),i=0;i<=e;i++)if(o=B,B=t[(i+1)*2+1],!(++s<I&&o===B)){if(s<n)do hA(A,o,A.bl_tree);while(--s!==0);else o!==0?(o!==r&&(hA(A,o,A.bl_tree),s--),hA(A,Zi,A.bl_tree),tA(A,s-3,2)):s<=10?(hA(A,Pi,A.bl_tree),tA(A,s-3,3)):(hA(A,Xi,A.bl_tree),tA(A,s-11,7));s=0,r=o,B===0?(I=138,n=3):o===B?(I=6,n=3):(I=7,n=4)}},pa=A=>{let t;for(Ii(A,A.dyn_ltree,A.l_desc.max_code),Ii(A,A.dyn_dtree,A.d_desc.max_code),_t(A,A.bl_desc),t=Gt-1;t>=3&&A.bl_tree[Wi[t]*2+1]===0;t--);return A.opt_len+=3*(t+1)+5+5+4,t},_a=(A,t,e,i)=>{let r;for(tA(A,t-257,5),tA(A,e-1,5),tA(A,i-4,4),r=0;r<i;r++)tA(A,A.bl_tree[Wi[r]*2+1],3);li(A,A.dyn_ltree,t-1),li(A,A.dyn_dtree,e-1)},ya=A=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&A.dyn_ltree[e*2]!==0)return 0;if(A.dyn_ltree[9*2]!==0||A.dyn_ltree[10*2]!==0||A.dyn_ltree[13*2]!==0)return 1;for(e=32;e<Be;e++)if(A.dyn_ltree[e*2]!==0)return 1;return 0},Bi=!1,ma=A=>{Bi||(Da(),Bi=!0),A.l_desc=new lt(A.dyn_ltree,ji),A.d_desc=new lt(A.dyn_dtree,$i),A.bl_desc=new lt(A.bl_tree,An),A.bi_buf=0,A.bi_valid=0,an(A)},on=(A,t,e,i)=>{tA(A,(fa<<1)+(i?1:0),3),rn(A),oe(A,e),oe(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e},xa=A=>{tA(A,zi<<1,3),hA(A,Rt,uA),ua(A)},ka=(A,t,e,i)=>{let r,o,B=0;A.level>0?(A.strm.data_type===2&&(A.strm.data_type=ya(A)),_t(A,A.l_desc),_t(A,A.d_desc),B=pa(A),r=A.opt_len+3+7>>>3,o=A.static_len+3+7>>>3,o<=r&&(r=o)):r=o=e+5,e+4<=r&&t!==-1?on(A,t,e,i):A.strategy===4||o===r?(tA(A,(zi<<1)+(i?1:0),3),si(A,uA,ee)):(tA(A,(Ca<<1)+(i?1:0),3),_a(A,A.l_desc.max_code+1,A.d_desc.max_code+1,B+1),si(A,A.dyn_ltree,A.dyn_dtree)),an(A),i&&rn(A)},Fa=(A,t,e)=>(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=e,t===0?A.dyn_ltree[e*2]++:(A.matches++,t--,A.dyn_ltree[(re[e]+Be+1)*2]++,A.dyn_dtree[en(t)*2]++),A.sym_next===A.sym_end),Sa=ma,ba=on,va=ka,Ga=Fa,Ra=xa,La={_tr_init:Sa,_tr_stored_block:ba,_tr_flush_block:va,_tr_tally:Ga,_tr_align:Ra},Ua=(A,t,e,i)=>{let r=A&65535|0,o=A>>>16&65535|0,B=0;for(;e!==0;){B=e>2e3?2e3:e,e-=B;do r=r+t[i++]|0,o=o+r|0;while(--B);r%=65521,o%=65521}return r|o<<16|0},ge=Ua,Ma=()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=A&1?3988292384^A>>>1:A>>>1;t[e]=A}return t},Na=new Uint32Array(Ma()),Ta=(A,t,e,i)=>{let r=Na,o=i+e;A^=-1;for(let B=i;B<o;B++)A=A>>>8^r[(A^t[B])&255];return A^-1},W=Ta,UA={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"},ZA={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:qa,_tr_stored_block:yt,_tr_flush_block:Ha,_tr_tally:FA,_tr_align:Ja}=La,{Z_NO_FLUSH:SA,Z_PARTIAL_FLUSH:Oa,Z_FULL_FLUSH:Ya,Z_FINISH:sA,Z_BLOCK:fi,Z_OK:$,Z_STREAM_END:Ci,Z_STREAM_ERROR:EA,Z_DATA_ERROR:Ka,Z_BUF_ERROR:ft,Z_DEFAULT_COMPRESSION:za,Z_FILTERED:Va,Z_HUFFMAN_ONLY:ve,Z_RLE:Za,Z_FIXED:Pa,Z_DEFAULT_STRATEGY:Xa,Z_UNKNOWN:Wa,Z_DEFLATED:He}=ZA,ja=9,$a=15,Ar=8,er=29,tr=256,mt=tr+1+er,ir=30,nr=19,ar=2*mt+1,rr=15,J=3,kA=258,QA=kA+J+1,or=32,KA=42,Ut=57,xt=69,kt=73,Ft=91,St=103,RA=113,$A=666,eA=1,PA=2,MA=3,XA=4,gr=3,LA=(A,t)=>(A.msg=UA[t],t),hi=A=>A*2-(A>4?9:0),xA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},sr=A=>{let t,e,i,r=A.w_size;t=A.hash_size,i=t;do e=A.head[--i],A.head[i]=e>=r?e-r:0;while(--t);t=r,i=t;do e=A.prev[--i],A.prev[i]=e>=r?e-r:0;while(--t)},Ir=(A,t,e)=>(t<<A.hash_shift^e)&A.hash_mask,bA=Ir,iA=A=>{let t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),e!==0&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},nA=(A,t)=>{Ha(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,iA(A.strm)},Y=(A,t)=>{A.pending_buf[A.pending++]=t},jA=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=t&255},bt=(A,t,e,i)=>{let r=A.avail_in;return r>i&&(r=i),r===0?0:(A.avail_in-=r,t.set(A.input.subarray(A.next_in,A.next_in+r),e),A.state.wrap===1?A.adler=ge(A.adler,t,r,e):A.state.wrap===2&&(A.adler=W(A.adler,t,r,e)),A.next_in+=r,A.total_in+=r,r)},gn=(A,t)=>{let e=A.max_chain_length,i=A.strstart,r,o,B=A.prev_length,s=A.nice_match,I=A.strstart>A.w_size-QA?A.strstart-(A.w_size-QA):0,n=A.window,a=A.w_mask,Q=A.prev,l=A.strstart+kA,g=n[i+B-1],C=n[i+B];A.prev_length>=A.good_match&&(e>>=2),s>A.lookahead&&(s=A.lookahead);do if(r=t,!(n[r+B]!==C||n[r+B-1]!==g||n[r]!==n[i]||n[++r]!==n[i+1])){i+=2,r++;do;while(n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&i<l);if(o=kA-(l-i),i=l-kA,o>B){if(A.match_start=t,B=o,o>=s)break;g=n[i+B-1],C=n[i+B]}}while((t=Q[t&a])>I&&--e!==0);return B<=A.lookahead?B:A.lookahead},zA=A=>{let t=A.w_size,e,i,r;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-QA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),sr(A),i+=t),A.strm.avail_in===0)break;if(e=bt(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=J)for(r=A.strstart-A.insert,A.ins_h=A.window[r],A.ins_h=bA(A,A.ins_h,A.window[r+1]);A.insert&&(A.ins_h=bA(A,A.ins_h,A.window[r+J-1]),A.prev[r&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=r,r++,A.insert--,!(A.lookahead+A.insert<J)););}while(A.lookahead<QA&&A.strm.avail_in!==0)},sn=(A,t)=>{let e=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,i,r,o,B=0,s=A.strm.avail_in;do{if(i=65535,o=A.bi_valid+42>>3,A.strm.avail_out<o||(o=A.strm.avail_out-o,r=A.strstart-A.block_start,i>r+A.strm.avail_in&&(i=r+A.strm.avail_in),i>o&&(i=o),i<e&&(i===0&&t!==sA||t===SA||i!==r+A.strm.avail_in)))break;B=t===sA&&i===r+A.strm.avail_in?1:0,yt(A,0,0,B),A.pending_buf[A.pending-4]=i,A.pending_buf[A.pending-3]=i>>8,A.pending_buf[A.pending-2]=~i,A.pending_buf[A.pending-1]=~i>>8,iA(A.strm),r&&(r>i&&(r=i),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+r),A.strm.next_out),A.strm.next_out+=r,A.strm.avail_out-=r,A.strm.total_out+=r,A.block_start+=r,i-=r),i&&(bt(A.strm,A.strm.output,A.strm.next_out,i),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i)}while(B===0);return s-=A.strm.avail_in,s&&(s>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=s&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-s,A.strm.next_in),A.strstart),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),B?XA:t!==SA&&t!==sA&&A.strm.avail_in===0&&A.strstart===A.block_start?PA:(o=A.window_size-A.strstart,A.strm.avail_in>o&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,o+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),o>A.strm.avail_in&&(o=A.strm.avail_in),o&&(bt(A.strm,A.window,A.strstart,o),A.strstart+=o,A.insert+=o>A.w_size-A.insert?A.w_size-A.insert:o),A.high_water<A.strstart&&(A.high_water=A.strstart),o=A.bi_valid+42>>3,o=A.pending_buf_size-o>65535?65535:A.pending_buf_size-o,e=o>A.w_size?A.w_size:o,r=A.strstart-A.block_start,(r>=e||(r||t===sA)&&t!==SA&&A.strm.avail_in===0&&r<=o)&&(i=r>o?o:r,B=t===sA&&A.strm.avail_in===0&&i===r?1:0,yt(A,A.block_start,i,B),A.block_start+=i,iA(A.strm)),B?MA:eA)},Ct=(A,t)=>{let e,i;for(;;){if(A.lookahead<QA){if(zA(A),A.lookahead<QA&&t===SA)return eA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),e!==0&&A.strstart-e<=A.w_size-QA&&(A.match_length=gn(A,e)),A.match_length>=J)if(i=FA(A,A.strstart-A.match_start,A.match_length-J),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=J){A.match_length--;do A.strstart++,A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=bA(A,A.ins_h,A.window[A.strstart+1]);else i=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=A.strstart<J-1?A.strstart:J-1,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},JA=(A,t)=>{let e,i,r;for(;;){if(A.lookahead<QA){if(zA(A),A.lookahead<QA&&t===SA)return eA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=J-1,e!==0&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-QA&&(A.match_length=gn(A,e),A.match_length<=5&&(A.strategy===Va||A.match_length===J&&A.strstart-A.match_start>4096)&&(A.match_length=J-1)),A.prev_length>=J&&A.match_length<=A.prev_length){r=A.strstart+A.lookahead-J,i=FA(A,A.strstart-1-A.prev_match,A.prev_length-J),A.lookahead-=A.prev_length-1,A.prev_length-=2;do++A.strstart<=r&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart);while(--A.prev_length!==0);if(A.match_available=0,A.match_length=J-1,A.strstart++,i&&(nA(A,!1),A.strm.avail_out===0))return eA}else if(A.match_available){if(i=FA(A,0,A.window[A.strstart-1]),i&&nA(A,!1),A.strstart++,A.lookahead--,A.strm.avail_out===0)return eA}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=FA(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<J-1?A.strstart:J-1,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},lr=(A,t)=>{let e,i,r,o,B=A.window;for(;;){if(A.lookahead<=kA){if(zA(A),A.lookahead<=kA&&t===SA)return eA;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=J&&A.strstart>0&&(r=A.strstart-1,i=B[r],i===B[++r]&&i===B[++r]&&i===B[++r])){o=A.strstart+kA;do;while(i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&r<o);A.match_length=kA-(o-r),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=J?(e=FA(A,1,A.match_length-J),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=0,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},Br=(A,t)=>{let e;for(;;){if(A.lookahead===0&&(zA(A),A.lookahead===0)){if(t===SA)return eA;break}if(A.match_length=0,e=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=0,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA};Ae=[new CA(0,0,0,0,sn),new CA(4,4,8,4,Ct),new CA(4,5,16,8,Ct),new CA(4,6,32,32,Ct),new CA(4,4,16,16,JA),new CA(8,16,32,32,JA),new CA(8,16,128,128,JA),new CA(8,32,128,256,JA),new CA(32,128,258,1024,JA),new CA(32,258,258,4096,JA)],fr=A=>{A.window_size=2*A.w_size,xA(A.head),A.max_lazy_match=Ae[A.level].max_lazy,A.good_match=Ae[A.level].good_length,A.nice_match=Ae[A.level].nice_length,A.max_chain_length=Ae[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=J-1,A.match_available=0,A.ins_h=0};fe=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.status!==KA&&t.status!==Ut&&t.status!==xt&&t.status!==kt&&t.status!==Ft&&t.status!==St&&t.status!==RA&&t.status!==$A?1:0},In=A=>{if(fe(A))return LA(A,EA);A.total_in=A.total_out=0,A.data_type=Wa;let t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ut:t.wrap?KA:RA,A.adler=t.wrap===2?0:1,t.last_flush=-2,qa(t),$},ln=A=>{let t=In(A);return t===$&&fr(A.state),t},hr=(A,t)=>fe(A)||A.state.wrap!==2?EA:(A.state.gzhead=t,$),Bn=(A,t,e,i,r,o)=>{if(!A)return EA;let B=1;if(t===za&&(t=6),i<0?(B=0,i=-i):i>15&&(B=2,i-=16),r<1||r>ja||e!==He||i<8||i>15||t<0||t>9||o<0||o>Pa||i===8&&B!==1)return LA(A,EA);i===8&&(i=9);let s=new Cr;return A.state=s,s.strm=A,s.status=KA,s.wrap=B,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+J-1)/J),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=o,s.method=e,ln(A)},Er=(A,t)=>Bn(A,t,He,$a,Ar,Xa),Qr=(A,t)=>{if(fe(A)||t>fi||t<0)return A?LA(A,EA):EA;let e=A.state;if(!A.output||A.avail_in!==0&&!A.input||e.status===$A&&t!==sA)return LA(A,A.avail_out===0?ft:EA);let i=e.last_flush;if(e.last_flush=t,e.pending!==0){if(iA(A),A.avail_out===0)return e.last_flush=-1,$}else if(A.avail_in===0&&hi(t)<=hi(i)&&t!==sA)return LA(A,ft);if(e.status===$A&&A.avail_in!==0)return LA(A,ft);if(e.status===KA&&e.wrap===0&&(e.status=RA),e.status===KA){let r=He+(e.w_bits-8<<4)<<8,o=-1;if(e.strategy>=ve||e.level<2?o=0:e.level<6?o=1:e.level===6?o=2:o=3,r|=o<<6,e.strstart!==0&&(r|=or),r+=31-r%31,jA(e,r),e.strstart!==0&&(jA(e,A.adler>>>16),jA(e,A.adler&65535)),A.adler=1,e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(e.status===Ut){if(A.adler=0,Y(e,31),Y(e,139),Y(e,8),e.gzhead)Y(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),Y(e,e.gzhead.time&255),Y(e,e.gzhead.time>>8&255),Y(e,e.gzhead.time>>16&255),Y(e,e.gzhead.time>>24&255),Y(e,e.level===9?2:e.strategy>=ve||e.level<2?4:0),Y(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(Y(e,e.gzhead.extra.length&255),Y(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=W(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=xt;else if(Y(e,0),Y(e,0),Y(e,0),Y(e,0),Y(e,0),Y(e,e.level===9?2:e.strategy>=ve||e.level<2?4:0),Y(e,gr),e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(e.status===xt){if(e.gzhead.extra){let r=e.pending,o=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+o>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=s,iA(A),e.pending!==0)return e.last_flush=-1,$;r=0,o-=s}let B=new Uint8Array(e.gzhead.extra);e.pending_buf.set(B.subarray(e.gzindex,e.gzindex+o),e.pending),e.pending+=o,e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=kt}if(e.status===kt){if(e.gzhead.name){let r=e.pending,o;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),iA(A),e.pending!==0)return e.last_flush=-1,$;r=0}e.gzindex<e.gzhead.name.length?o=e.gzhead.name.charCodeAt(e.gzindex++)&255:o=0,Y(e,o)}while(o!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=Ft}if(e.status===Ft){if(e.gzhead.comment){let r=e.pending,o;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),iA(A),e.pending!==0)return e.last_flush=-1,$;r=0}e.gzindex<e.gzhead.comment.length?o=e.gzhead.comment.charCodeAt(e.gzindex++)&255:o=0,Y(e,o)}while(o!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r))}e.status=St}if(e.status===St){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(iA(A),e.pending!==0))return e.last_flush=-1,$;Y(e,A.adler&255),Y(e,A.adler>>8&255),A.adler=0}if(e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(A.avail_in!==0||e.lookahead!==0||t!==SA&&e.status!==$A){let r=e.level===0?sn(e,t):e.strategy===ve?Br(e,t):e.strategy===Za?lr(e,t):Ae[e.level].func(e,t);if((r===MA||r===XA)&&(e.status=$A),r===eA||r===MA)return A.avail_out===0&&(e.last_flush=-1),$;if(r===PA&&(t===Oa?Ja(e):t!==fi&&(yt(e,0,0,!1),t===Ya&&(xA(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),iA(A),A.avail_out===0))return e.last_flush=-1,$}return t!==sA?$:e.wrap<=0?Ci:(e.wrap===2?(Y(e,A.adler&255),Y(e,A.adler>>8&255),Y(e,A.adler>>16&255),Y(e,A.adler>>24&255),Y(e,A.total_in&255),Y(e,A.total_in>>8&255),Y(e,A.total_in>>16&255),Y(e,A.total_in>>24&255)):(jA(e,A.adler>>>16),jA(e,A.adler&65535)),iA(A),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?$:Ci)},cr=A=>{if(fe(A))return EA;let t=A.state.status;return A.state=null,t===RA?LA(A,Ka):$},dr=(A,t)=>{let e=t.length;if(fe(A))return EA;let i=A.state,r=i.wrap;if(r===2||r===1&&i.status!==KA||i.lookahead)return EA;if(r===1&&(A.adler=ge(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){r===0&&(xA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let I=new Uint8Array(i.w_size);I.set(t.subarray(e-i.w_size,e),0),t=I,e=i.w_size}let o=A.avail_in,B=A.next_in,s=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,zA(i);i.lookahead>=J;){let I=i.strstart,n=i.lookahead-(J-1);do i.ins_h=bA(i,i.ins_h,i.window[I+J-1]),i.prev[I&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=I,I++;while(--n);i.strstart=I,i.lookahead=J-1,zA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=J-1,i.match_available=0,A.next_in=B,A.input=s,A.avail_in=o,i.wrap=r,$},ur=Er,wr=Bn,Dr=ln,pr=In,_r=hr,yr=Qr,mr=cr,xr=dr,kr="pako deflate (from Nodeca project)",te={deflateInit:ur,deflateInit2:wr,deflateReset:Dr,deflateResetKeep:pr,deflateSetHeader:_r,deflate:yr,deflateEnd:mr,deflateSetDictionary:xr,deflateInfo:kr},Fr=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),Sr=function(A){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let i in e)Fr(e,i)&&(A[i]=e[i])}}return A},br=A=>{let t=0;for(let i=0,r=A.length;i<r;i++)t+=A[i].length;let e=new Uint8Array(t);for(let i=0,r=0,o=A.length;i<o;i++){let B=A[i];e.set(B,r),r+=B.length}return e},Je={assign:Sr,flattenChunks:br},fn=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{fn=!1}se=new Uint8Array(256);for(let A=0;A<256;A++)se[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;se[254]=se[254]=1;vr=A=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let t,e,i,r,o,B=A.length,s=0;for(r=0;r<B;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<B&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),s+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(s),o=0,r=0;o<s;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<B&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),e<128?t[o++]=e:e<2048?(t[o++]=192|e>>>6,t[o++]=128|e&63):e<65536?(t[o++]=224|e>>>12,t[o++]=128|e>>>6&63,t[o++]=128|e&63):(t[o++]=240|e>>>18,t[o++]=128|e>>>12&63,t[o++]=128|e>>>6&63,t[o++]=128|e&63);return t},Gr=(A,t)=>{if(t<65534&&A.subarray&&fn)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e="";for(let i=0;i<t;i++)e+=String.fromCharCode(A[i]);return e},Rr=(A,t)=>{let e=t||A.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,t));let i,r,o=new Array(e*2);for(r=0,i=0;i<e;){let B=A[i++];if(B<128){o[r++]=B;continue}let s=se[B];if(s>4){o[r++]=65533,i+=s-1;continue}for(B&=s===2?31:s===3?15:7;s>1&&i<e;)B=B<<6|A[i++]&63,s--;if(s>1){o[r++]=65533;continue}B<65536?o[r++]=B:(B-=65536,o[r++]=55296|B>>10&1023,o[r++]=56320|B&1023)}return Gr(o,r)},Lr=(A,t)=>{t=t||A.length,t>A.length&&(t=A.length);let e=t-1;for(;e>=0&&(A[e]&192)===128;)e--;return e<0||e===0?t:e+se[A[e]]>t?e:t},Ie={string2buf:vr,buf2string:Rr,utf8border:Lr};Cn=Ur,hn=Object.prototype.toString,{Z_NO_FLUSH:Mr,Z_SYNC_FLUSH:Nr,Z_FULL_FLUSH:Tr,Z_FINISH:qr,Z_OK:Te,Z_STREAM_END:Hr,Z_DEFAULT_COMPRESSION:Jr,Z_DEFAULT_STRATEGY:Or,Z_DEFLATED:Yr}=ZA;Ce.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r,o;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?qr:Mr,typeof A=="string"?e.input=Ie.string2buf(A):hn.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(o===Nr||o===Tr)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(r=te.deflate(e,o),r===Hr)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=te.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Te;if(e.avail_out===0){this.onData(e.output);continue}if(o>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Ce.prototype.onData=function(A){this.chunks.push(A)};Ce.prototype.onEnd=function(A){A===Te&&(this.result=Je.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};Vr=Ce,Zr=Mt,Pr=Kr,Xr=zr,Wr=ZA,jr={Deflate:Vr,deflate:Zr,deflateRaw:Pr,gzip:Xr,constants:Wr},Ge=16209,$r=16191,Ao=function(t,e){let i,r,o,B,s,I,n,a,Q,l,g,C,f,E,d,u,w,D,c,h,_,p,S,m,x=t.state;i=t.next_in,S=t.input,r=i+(t.avail_in-5),o=t.next_out,m=t.output,B=o-(e-t.avail_out),s=o+(t.avail_out-257),I=x.dmax,n=x.wsize,a=x.whave,Q=x.wnext,l=x.window,g=x.hold,C=x.bits,f=x.lencode,E=x.distcode,d=(1<<x.lenbits)-1,u=(1<<x.distbits)-1;A:do{C<15&&(g+=S[i++]<<C,C+=8,g+=S[i++]<<C,C+=8),w=f[g&d];e:for(;;){if(D=w>>>24,g>>>=D,C-=D,D=w>>>16&255,D===0)m[o++]=w&65535;else if(D&16){c=w&65535,D&=15,D&&(C<D&&(g+=S[i++]<<C,C+=8),c+=g&(1<<D)-1,g>>>=D,C-=D),C<15&&(g+=S[i++]<<C,C+=8,g+=S[i++]<<C,C+=8),w=E[g&u];t:for(;;){if(D=w>>>24,g>>>=D,C-=D,D=w>>>16&255,D&16){if(h=w&65535,D&=15,C<D&&(g+=S[i++]<<C,C+=8,C<D&&(g+=S[i++]<<C,C+=8)),h+=g&(1<<D)-1,h>I){t.msg="invalid distance too far back",x.mode=Ge;break A}if(g>>>=D,C-=D,D=o-B,h>D){if(D=h-D,D>a&&x.sane){t.msg="invalid distance too far back",x.mode=Ge;break A}if(_=0,p=l,Q===0){if(_+=n-D,D<c){c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}}else if(Q<D){if(_+=n+Q-D,D-=Q,D<c){c-=D;do m[o++]=l[_++];while(--D);if(_=0,Q<c){D=Q,c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}}}else if(_+=Q-D,D<c){c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}for(;c>2;)m[o++]=p[_++],m[o++]=p[_++],m[o++]=p[_++],c-=3;c&&(m[o++]=p[_++],c>1&&(m[o++]=p[_++]))}else{_=o-h;do m[o++]=m[_++],m[o++]=m[_++],m[o++]=m[_++],c-=3;while(c>2);c&&(m[o++]=m[_++],c>1&&(m[o++]=m[_++]))}}else if(D&64){t.msg="invalid distance code",x.mode=Ge;break A}else{w=E[(w&65535)+(g&(1<<D)-1)];continue t}break}}else if(D&64)if(D&32){x.mode=$r;break A}else{t.msg="invalid literal/length code",x.mode=Ge;break A}else{w=f[(w&65535)+(g&(1<<D)-1)];continue e}break}}while(i<r&&o<s);c=C>>3,i-=c,C-=c<<3,g&=(1<<C)-1,t.next_in=i,t.next_out=o,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=o<s?257+(s-o):257-(o-s),x.hold=g,x.bits=C},OA=15,Ei=852,Qi=592,ci=0,ht=1,di=2,eo=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]),to=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]),io=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]),no=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]),ao=(A,t,e,i,r,o,B,s)=>{let I=s.bits,n=0,a=0,Q=0,l=0,g=0,C=0,f=0,E=0,d=0,u=0,w,D,c,h,_,p=null,S,m=new Uint16Array(OA+1),x=new Uint16Array(OA+1),k=null,T,F,y;for(n=0;n<=OA;n++)m[n]=0;for(a=0;a<i;a++)m[t[e+a]]++;for(g=I,l=OA;l>=1&&m[l]===0;l--);if(g>l&&(g=l),l===0)return r[o++]=1<<24|64<<16|0,r[o++]=1<<24|64<<16|0,s.bits=1,0;for(Q=1;Q<l&&m[Q]===0;Q++);for(g<Q&&(g=Q),E=1,n=1;n<=OA;n++)if(E<<=1,E-=m[n],E<0)return-1;if(E>0&&(A===ci||l!==1))return-1;for(x[1]=0,n=1;n<OA;n++)x[n+1]=x[n]+m[n];for(a=0;a<i;a++)t[e+a]!==0&&(B[x[t[e+a]]++]=a);if(A===ci?(p=k=B,S=20):A===ht?(p=eo,k=to,S=257):(p=io,k=no,S=0),u=0,a=0,n=Q,_=o,C=g,f=0,c=-1,d=1<<g,h=d-1,A===ht&&d>Ei||A===di&&d>Qi)return 1;for(;;){T=n-f,B[a]+1<S?(F=0,y=B[a]):B[a]>=S?(F=k[B[a]-S],y=p[B[a]-S]):(F=32+64,y=0),w=1<<n-f,D=1<<C,Q=D;do D-=w,r[_+(u>>f)+D]=T<<24|F<<16|y|0;while(D!==0);for(w=1<<n-1;u&w;)w>>=1;if(w!==0?(u&=w-1,u+=w):u=0,a++,--m[n]===0){if(n===l)break;n=t[e+B[a]]}if(n>g&&(u&h)!==c){for(f===0&&(f=g),_+=Q,C=n-f,E=1<<C;C+f<l&&(E-=m[C+f],!(E<=0));)C++,E<<=1;if(d+=1<<C,A===ht&&d>Ei||A===di&&d>Qi)return 1;c=u&h,r[c]=g<<24|C<<16|_-o|0}}return u!==0&&(r[_+u]=n-f<<24|64<<16|0),s.bits=g,0},ie=ao,ro=0,En=1,Qn=2,{Z_FINISH:ui,Z_BLOCK:oo,Z_TREES:Re,Z_OK:NA,Z_STREAM_END:go,Z_NEED_DICT:so,Z_STREAM_ERROR:IA,Z_DATA_ERROR:cn,Z_MEM_ERROR:dn,Z_BUF_ERROR:Io,Z_DEFLATED:wi}=ZA,Oe=16180,Di=16181,pi=16182,_i=16183,yi=16184,mi=16185,xi=16186,ki=16187,Fi=16188,Si=16189,qe=16190,dA=16191,Et=16192,bi=16193,Qt=16194,vi=16195,Gi=16196,Ri=16197,Li=16198,Le=16199,Ue=16200,Ui=16201,Mi=16202,Ni=16203,Ti=16204,qi=16205,ct=16206,Hi=16207,Ji=16208,z=16209,un=16210,wn=16211,lo=852,Bo=592,fo=15,Co=fo,Oi=A=>(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24);TA=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.mode<Oe||t.mode>wn?1:0},Dn=A=>{if(TA(A))return IA;let t=A.state;return A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=t.wrap&1),t.mode=Oe,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(lo),t.distcode=t.distdyn=new Int32Array(Bo),t.sane=1,t.back=-1,NA},pn=A=>{if(TA(A))return IA;let t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,Dn(A)},_n=(A,t)=>{let e;if(TA(A))return IA;let i=A.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?IA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,pn(A))},yn=(A,t)=>{if(!A)return IA;let e=new ho;A.state=e,e.strm=A,e.window=null,e.mode=Oe;let i=_n(A,t);return i!==NA&&(A.state=null),i},Eo=A=>yn(A,Co),Yi=!0,Qo=A=>{if(Yi){dt=new Int32Array(512),ut=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(ie(En,A.lens,0,288,dt,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;ie(Qn,A.lens,0,32,ut,0,A.work,{bits:5}),Yi=!1}A.lencode=dt,A.lenbits=9,A.distcode=ut,A.distbits=5},mn=(A,t,e,i)=>{let r,o=A.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(t.subarray(e-o.wsize,e),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(t.subarray(e-i,e-i+r),o.wnext),i-=r,i?(o.window.set(t.subarray(e-i,e),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0},co=(A,t)=>{let e,i,r,o,B,s,I,n,a,Q,l,g,C,f,E=0,d,u,w,D,c,h,_,p,S=new Uint8Array(4),m,x,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(TA(A)||!A.output||!A.input&&A.avail_in!==0)return IA;e=A.state,e.mode===dA&&(e.mode=Et),B=A.next_out,r=A.output,I=A.avail_out,o=A.next_in,i=A.input,s=A.avail_in,n=e.hold,a=e.bits,Q=s,l=I,p=NA;A:for(;;)switch(e.mode){case Oe:if(e.wrap===0){e.mode=Et;break}for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&2&&n===35615){e.wbits===0&&(e.wbits=15),e.check=0,S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0),n=0,a=0,e.mode=Di;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((n&255)<<8)+(n>>8))%31){A.msg="incorrect header check",e.mode=z;break}if((n&15)!==wi){A.msg="unknown compression method",e.mode=z;break}if(n>>>=4,a-=4,_=(n&15)+8,e.wbits===0&&(e.wbits=_),_>15||_>e.wbits){A.msg="invalid window size",e.mode=z;break}e.dmax=1<<e.wbits,e.flags=0,A.adler=e.check=1,e.mode=n&512?Si:dA,n=0,a=0;break;case Di:for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.flags=n,(e.flags&255)!==wi){A.msg="unknown compression method",e.mode=z;break}if(e.flags&57344){A.msg="unknown header flags set",e.mode=z;break}e.head&&(e.head.text=n>>8&1),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0,e.mode=pi;case pi:for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.head&&(e.head.time=n),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,S[2]=n>>>16&255,S[3]=n>>>24&255,e.check=W(e.check,S,4,0)),n=0,a=0,e.mode=_i;case _i:for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.head&&(e.head.xflags=n&255,e.head.os=n>>8),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0,e.mode=yi;case yi:if(e.flags&1024){for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.length=n,e.head&&(e.head.extra_len=n),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0}else e.head&&(e.head.extra=null);e.mode=mi;case mi:if(e.flags&1024&&(g=e.length,g>s&&(g=s),g&&(e.head&&(_=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(o,o+g),_)),e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,e.length-=g),e.length))break A;e.length=0,e.mode=xi;case xi:if(e.flags&2048){if(s===0)break A;g=0;do _=i[o+g++],e.head&&_&&e.length<65536&&(e.head.name+=String.fromCharCode(_));while(_&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,_)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=ki;case ki:if(e.flags&4096){if(s===0)break A;g=0;do _=i[o+g++],e.head&&_&&e.length<65536&&(e.head.comment+=String.fromCharCode(_));while(_&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,_)break A}else e.head&&(e.head.comment=null);e.mode=Fi;case Fi:if(e.flags&512){for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&4&&n!==(e.check&65535)){A.msg="header crc mismatch",e.mode=z;break}n=0,a=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=dA;break;case Si:for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}A.adler=e.check=Oi(n),n=0,a=0,e.mode=qe;case qe:if(e.havedict===0)return A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,so;A.adler=e.check=1,e.mode=dA;case dA:if(t===oo||t===Re)break A;case Et:if(e.last){n>>>=a&7,a-=a&7,e.mode=ct;break}for(;a<3;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}switch(e.last=n&1,n>>>=1,a-=1,n&3){case 0:e.mode=bi;break;case 1:if(Qo(e),e.mode=Le,t===Re){n>>>=2,a-=2;break A}break;case 2:e.mode=Gi;break;case 3:A.msg="invalid block type",e.mode=z}n>>>=2,a-=2;break;case bi:for(n>>>=a&7,a-=a&7;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if((n&65535)!==(n>>>16^65535)){A.msg="invalid stored block lengths",e.mode=z;break}if(e.length=n&65535,n=0,a=0,e.mode=Qt,t===Re)break A;case Qt:e.mode=vi;case vi:if(g=e.length,g){if(g>s&&(g=s),g>I&&(g=I),g===0)break A;r.set(i.subarray(o,o+g),B),s-=g,o+=g,I-=g,B+=g,e.length-=g;break}e.mode=dA;break;case Gi:for(;a<14;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.nlen=(n&31)+257,n>>>=5,a-=5,e.ndist=(n&31)+1,n>>>=5,a-=5,e.ncode=(n&15)+4,n>>>=4,a-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=z;break}e.have=0,e.mode=Ri;case Ri:for(;e.have<e.ncode;){for(;a<3;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.lens[k[e.have++]]=n&7,n>>>=3,a-=3}for(;e.have<19;)e.lens[k[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,m={bits:e.lenbits},p=ie(ro,e.lens,0,19,e.lencode,0,e.work,m),e.lenbits=m.bits,p){A.msg="invalid code lengths set",e.mode=z;break}e.have=0,e.mode=Li;case Li:for(;e.have<e.nlen+e.ndist;){for(;E=e.lencode[n&(1<<e.lenbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(w<16)n>>>=d,a-=d,e.lens[e.have++]=w;else{if(w===16){for(x=d+2;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(n>>>=d,a-=d,e.have===0){A.msg="invalid bit length repeat",e.mode=z;break}_=e.lens[e.have-1],g=3+(n&3),n>>>=2,a-=2}else if(w===17){for(x=d+3;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=d,a-=d,_=0,g=3+(n&7),n>>>=3,a-=3}else{for(x=d+7;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=d,a-=d,_=0,g=11+(n&127),n>>>=7,a-=7}if(e.have+g>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=z;break}for(;g--;)e.lens[e.have++]=_}}if(e.mode===z)break;if(e.lens[256]===0){A.msg="invalid code -- missing end-of-block",e.mode=z;break}if(e.lenbits=9,m={bits:e.lenbits},p=ie(En,e.lens,0,e.nlen,e.lencode,0,e.work,m),e.lenbits=m.bits,p){A.msg="invalid literal/lengths set",e.mode=z;break}if(e.distbits=6,e.distcode=e.distdyn,m={bits:e.distbits},p=ie(Qn,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,m),e.distbits=m.bits,p){A.msg="invalid distances set",e.mode=z;break}if(e.mode=Le,t===Re)break A;case Le:e.mode=Ue;case Ue:if(s>=6&&I>=258){A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,Ao(A,l),B=A.next_out,r=A.output,I=A.avail_out,o=A.next_in,i=A.input,s=A.avail_in,n=e.hold,a=e.bits,e.mode===dA&&(e.back=-1);break}for(e.back=0;E=e.lencode[n&(1<<e.lenbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(u&&!(u&240)){for(D=d,c=u,h=w;E=e.lencode[h+((n&(1<<D+c)-1)>>D)],d=E>>>24,u=E>>>16&255,w=E&65535,!(D+d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=D,a-=D,e.back+=D}if(n>>>=d,a-=d,e.back+=d,e.length=w,u===0){e.mode=qi;break}if(u&32){e.back=-1,e.mode=dA;break}if(u&64){A.msg="invalid literal/length code",e.mode=z;break}e.extra=u&15,e.mode=Ui;case Ui:if(e.extra){for(x=e.extra;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.length+=n&(1<<e.extra)-1,n>>>=e.extra,a-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=Mi;case Mi:for(;E=e.distcode[n&(1<<e.distbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(!(u&240)){for(D=d,c=u,h=w;E=e.distcode[h+((n&(1<<D+c)-1)>>D)],d=E>>>24,u=E>>>16&255,w=E&65535,!(D+d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=D,a-=D,e.back+=D}if(n>>>=d,a-=d,e.back+=d,u&64){A.msg="invalid distance code",e.mode=z;break}e.offset=w,e.extra=u&15,e.mode=Ni;case Ni:if(e.extra){for(x=e.extra;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.offset+=n&(1<<e.extra)-1,n>>>=e.extra,a-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=z;break}e.mode=Ti;case Ti:if(I===0)break A;if(g=l-I,e.offset>g){if(g=e.offset-g,g>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=z;break}g>e.wnext?(g-=e.wnext,C=e.wsize-g):C=e.wnext-g,g>e.length&&(g=e.length),f=e.window}else f=r,C=B-e.offset,g=e.length;g>I&&(g=I),I-=g,e.length-=g;do r[B++]=f[C++];while(--g);e.length===0&&(e.mode=Ue);break;case qi:if(I===0)break A;r[B++]=e.length,I--,e.mode=Ue;break;case ct:if(e.wrap){for(;a<32;){if(s===0)break A;s--,n|=i[o++]<<a,a+=8}if(l-=I,A.total_out+=l,e.total+=l,e.wrap&4&&l&&(A.adler=e.check=e.flags?W(e.check,r,l,B-l):ge(e.check,r,l,B-l)),l=I,e.wrap&4&&(e.flags?n:Oi(n))!==e.check){A.msg="incorrect data check",e.mode=z;break}n=0,a=0}e.mode=Hi;case Hi:if(e.wrap&&e.flags){for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&4&&n!==(e.total&4294967295)){A.msg="incorrect length check",e.mode=z;break}n=0,a=0}e.mode=Ji;case Ji:p=go;break A;case z:p=cn;break A;case un:return dn;case wn:default:return IA}return A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,(e.wsize||l!==A.avail_out&&e.mode<z&&(e.mode<ct||t!==ui))&&mn(A,A.output,A.next_out,l-A.avail_out),Q-=A.avail_in,l-=A.avail_out,A.total_in+=Q,A.total_out+=l,e.total+=l,e.wrap&4&&l&&(A.adler=e.check=e.flags?W(e.check,r,l,A.next_out-l):ge(e.check,r,l,A.next_out-l)),A.data_type=e.bits+(e.last?64:0)+(e.mode===dA?128:0)+(e.mode===Le||e.mode===Qt?256:0),(Q===0&&l===0||t===ui)&&p===NA&&(p=Io),p},uo=A=>{if(TA(A))return IA;let t=A.state;return t.window&&(t.window=null),A.state=null,NA},wo=(A,t)=>{if(TA(A))return IA;let e=A.state;return e.wrap&2?(e.head=t,t.done=!1,NA):IA},Do=(A,t)=>{let e=t.length,i,r,o;return TA(A)||(i=A.state,i.wrap!==0&&i.mode!==qe)?IA:i.mode===qe&&(r=1,r=ge(r,t,e,0),r!==i.check)?cn:(o=mn(A,t,e,e),o?(i.mode=un,dn):(i.havedict=1,NA))},po=pn,_o=_n,yo=Dn,mo=Eo,xo=yn,ko=co,Fo=uo,So=wo,bo=Do,vo="pako inflate (from Nodeca project)",wA={inflateReset:po,inflateReset2:_o,inflateResetKeep:yo,inflateInit:mo,inflateInit2:xo,inflate:ko,inflateEnd:Fo,inflateGetHeader:So,inflateSetDictionary:bo,inflateInfo:vo};Ro=Go,xn=Object.prototype.toString,{Z_NO_FLUSH:Lo,Z_FINISH:Uo,Z_OK:le,Z_STREAM_END:wt,Z_NEED_DICT:Dt,Z_STREAM_ERROR:Mo,Z_DATA_ERROR:Ki,Z_MEM_ERROR:No}=ZA;he.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r=this.options.dictionary,o,B,s;if(this.ended)return!1;for(t===~~t?B=t:B=t===!0?Uo:Lo,xn.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),o=wA.inflate(e,B),o===Dt&&r&&(o=wA.inflateSetDictionary(e,r),o===le?o=wA.inflate(e,B):o===Ki&&(o=Dt));e.avail_in>0&&o===wt&&e.state.wrap>0&&A[e.next_in]!==0;)wA.inflateReset(e),o=wA.inflate(e,B);switch(o){case Mo:case Ki:case Dt:case No:return this.onEnd(o),this.ended=!0,!1}if(s=e.avail_out,e.next_out&&(e.avail_out===0||o===wt))if(this.options.to==="string"){let I=Ie.utf8border(e.output,e.next_out),n=e.next_out-I,a=Ie.buf2string(e.output,I);e.next_out=n,e.avail_out=i-n,n&&e.output.set(e.output.subarray(I,I+n),0),this.onData(a)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(o===le&&s===0)){if(o===wt)return o=wA.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};he.prototype.onData=function(A){this.chunks.push(A)};he.prototype.onEnd=function(A){A===le&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Je.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};qo=he,Ho=Nt,Jo=To,Oo=Nt,Yo=ZA,Ko={Inflate:qo,inflate:Ho,inflateRaw:Jo,ungzip:Oo,constants:Yo},{Deflate:Ig,deflate:lg,deflateRaw:Bg,gzip:fg}=jr,{Inflate:Cg,inflate:zo,inflateRaw:hg,ungzip:Eg}=Ko,Ye=zo});var kn={};yA(kn,{default:()=>Ke});var Ke,Fn=gA(()=>{Tt();cA();Ke=class extends P{decodeBlock(t){return Ye(new Uint8Array(t)).buffer}}});var Sn={};yA(Sn,{default:()=>ze});var ze,bn=gA(()=>{cA();ze=class extends P{decodeBlock(t){let e=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let o=e.getInt8(r);if(o<0){let B=e.getUint8(r+1);o=-o;for(let s=0;s<=o;++s)i.push(B);r+=1}else{for(let B=0;B<=o;++B)i.push(e.getUint8(r+B+1));r+=o+1}}return new Uint8Array(i).buffer}}});var vn=Yt((wg,Ve)=>{(function(){var A=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,Q){Q=Q||{};var l=Q.encodedMaskData||Q.encodedMaskData===null,g=I(a,Q.inputOffset||0,l),C=Q.noDataValue!==null?Q.noDataValue:r.defaultNoDataValue,f=o(g,Q.pixelType||Float32Array,Q.encodedMaskData,C,Q.returnMask),E={width:g.width,height:g.height,pixelData:f.resultPixels,minValue:f.minValue,maxValue:g.pixels.maxValue,noDataValue:C};return f.resultMask&&(E.maskData=f.resultMask),Q.returnEncodedMask&&g.mask&&(E.encodedMaskData=g.mask.bitset?g.mask.bitset:null),Q.returnFileInfo&&(E.fileInfo=B(g),Q.computeUsedBitDepths&&(E.fileInfo.bitDepths=s(g))),E};var o=function(a,Q,l,g,C){var f=0,E=a.pixels.numBlocksX,d=a.pixels.numBlocksY,u=Math.floor(a.width/E),w=Math.floor(a.height/d),D=2*a.maxZError,c=Number.MAX_VALUE,h;l=l||(a.mask?a.mask.bitset:null);var _,p;_=new Q(a.width*a.height),C&&l&&(p=new Uint8Array(a.width*a.height));for(var S=new Float32Array(u*w),m,x,k=0;k<=d;k++){var T=k!==d?w:a.height%d;if(T!==0)for(var F=0;F<=E;F++){var y=F!==E?u:a.width%E;if(y!==0){var G=k*a.width*w+F*u,N=a.width-y,b=a.pixels.blocks[f],v,R,q;b.encoding<2?(b.encoding===0?v=b.rawData:(n(b.stuffedData,b.bitsPerPixel,b.numValidPixels,b.offset,D,S,a.pixels.maxValue),v=S),R=0):b.encoding===2?q=0:q=b.offset;var O;if(l)for(x=0;x<T;x++){for(G&7&&(O=l[G>>3],O<<=G&7),m=0;m<y;m++)G&7||(O=l[G>>3]),O&128?(p&&(p[G]=1),h=b.encoding<2?v[R++]:q,c=c>h?h:c,_[G++]=h):(p&&(p[G]=0),_[G++]=g),O<<=1;G+=N}else if(b.encoding<2)for(x=0;x<T;x++){for(m=0;m<y;m++)h=v[R++],c=c>h?h:c,_[G++]=h;G+=N}else for(c=c>q?q:c,x=0;x<T;x++){for(m=0;m<y;m++)_[G++]=q;G+=N}if(b.encoding===1&&R!==b.numValidPixels)throw"Block and Mask do not match";f++}}}return{resultPixels:_,resultMask:p,minValue:c}},B=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 Q=a.pixels.numBlocksX*a.pixels.numBlocksY,l={},g=0;g<Q;g++){var C=a.pixels.blocks[g];C.encoding===0?l.float32=!0:C.encoding===1?l[C.bitsPerPixel]=!0:l[0]=!0}return Object.keys(l)},I=function(a,Q,l){var g={},C=new Uint8Array(a,Q,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,C),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;Q+=10;var f=new DataView(a,Q,24);if(g.fileVersion=f.getInt32(0,!0),g.imageType=f.getInt32(4,!0),g.height=f.getUint32(8,!0),g.width=f.getUint32(12,!0),g.maxZError=f.getFloat64(16,!0),Q+=24,!l)if(f=new DataView(a,Q,16),g.mask={},g.mask.numBlocksY=f.getUint32(0,!0),g.mask.numBlocksX=f.getUint32(4,!0),g.mask.numBytes=f.getUint32(8,!0),g.mask.maxValue=f.getFloat32(12,!0),Q+=16,g.mask.numBytes>0){var E=new Uint8Array(Math.ceil(g.width*g.height/8));f=new DataView(a,Q,g.mask.numBytes);var d=f.getInt16(0,!0),u=2,w=0;do{if(d>0)for(;d--;)E[w++]=f.getUint8(u++);else{var D=f.getUint8(u++);for(d=-d;d--;)E[w++]=D}d=f.getInt16(u,!0),u+=2}while(u<g.mask.numBytes);if(d!==-32768||w<E.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=E,Q+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));f=new DataView(a,Q,16),g.pixels={},g.pixels.numBlocksY=f.getUint32(0,!0),g.pixels.numBlocksX=f.getUint32(4,!0),g.pixels.numBytes=f.getUint32(8,!0),g.pixels.maxValue=f.getFloat32(12,!0),Q+=16;var c=g.pixels.numBlocksX,h=g.pixels.numBlocksY,_=c+(g.width%c>0?1:0),p=h+(g.height%h>0?1:0);g.pixels.blocks=new Array(_*p);for(var S=0,m=0;m<p;m++)for(var x=0;x<_;x++){var k=0,T=a.byteLength-Q;f=new DataView(a,Q,Math.min(10,T));var F={};g.pixels.blocks[S++]=F;var y=f.getUint8(0);if(k++,F.encoding=y&63,F.encoding>3)throw"Invalid block encoding ("+F.encoding+")";if(F.encoding===2){Q++;continue}if(y!==0&&y!==2){if(y>>=6,F.offsetType=y,y===2)F.offset=f.getInt8(1),k++;else if(y===1)F.offset=f.getInt16(1,!0),k+=2;else if(y===0)F.offset=f.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(F.encoding===1)if(y=f.getUint8(k),k++,F.bitsPerPixel=y&63,y>>=6,F.numValidPixelsType=y,y===2)F.numValidPixels=f.getUint8(k),k++;else if(y===1)F.numValidPixels=f.getUint16(k,!0),k+=2;else if(y===0)F.numValidPixels=f.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(Q+=k,F.encoding!==3){var G,N;if(F.encoding===0){var b=(g.pixels.numBytes-1)/4;if(b!==Math.floor(b))throw"uncompressed block has invalid length";G=new ArrayBuffer(b*4),N=new Uint8Array(G),N.set(new Uint8Array(a,Q,b*4));var v=new Float32Array(G);F.rawData=v,Q+=b*4}else if(F.encoding===1){var R=Math.ceil(F.numValidPixels*F.bitsPerPixel/8),q=Math.ceil(R/4);G=new ArrayBuffer(q*4),N=new Uint8Array(G),N.set(new Uint8Array(a,Q,R)),F.stuffedData=new Uint32Array(G),Q+=R}}}return g.eofOffset=Q,g},n=function(a,Q,l,g,C,f,E){var d=(1<<Q)-1,u=0,w,D=0,c,h,_=Math.ceil((E-g)/C),p=a.length*4-Math.ceil(Q*l/8);for(a[a.length-1]<<=8*p,w=0;w<l;w++){if(D===0&&(h=a[u++],D=32),D>=Q)c=h>>>D-Q&d,D-=Q;else{var S=Q-D;c=(h&d)<<S&d,h=a[u++],D=32-S,c+=h>>>D}f[w]=c<_?g+c*C:E}return f};return r}(),t=function(){"use strict";var r={unstuff:function(I,n,a,Q,l,g,C,f){var E=(1<<a)-1,d=0,u,w=0,D,c,h,_,p=I.length*4-Math.ceil(a*Q/8);if(I[I.length-1]<<=8*p,l)for(u=0;u<Q;u++)w===0&&(c=I[d++],w=32),w>=a?(D=c>>>w-a&E,w-=a):(h=a-w,D=(c&E)<<h&E,c=I[d++],w=32-h,D+=c>>>w),n[u]=l[D];else for(_=Math.ceil((f-g)/C),u=0;u<Q;u++)w===0&&(c=I[d++],w=32),w>=a?(D=c>>>w-a&E,w-=a):(h=a-w,D=(c&E)<<h&E,c=I[d++],w=32-h,D+=c>>>w),n[u]=D<_?g+D*C:f},unstuffLUT:function(I,n,a,Q,l,g){var C=(1<<n)-1,f=0,E=0,d=0,u=0,w=0,D,c=[],h=I.length*4-Math.ceil(n*a/8);I[I.length-1]<<=8*h;var _=Math.ceil((g-Q)/l);for(E=0;E<a;E++)u===0&&(D=I[f++],u=32),u>=n?(w=D>>>u-n&C,u-=n):(d=n-u,w=(D&C)<<d&C,D=I[f++],u=32-d,w+=D>>>u),c[E]=w<_?Q+w*l:g;return c.unshift(Q),c},unstuff2:function(I,n,a,Q,l,g,C,f){var E=(1<<a)-1,d=0,u,w=0,D=0,c,h,_;if(l)for(u=0;u<Q;u++)w===0&&(h=I[d++],w=32,D=0),w>=a?(c=h>>>D&E,w-=a,D+=a):(_=a-w,c=h>>>D&E,h=I[d++],w=32-_,c|=(h&(1<<_)-1)<<a-_,D=_),n[u]=l[c];else{var p=Math.ceil((f-g)/C);for(u=0;u<Q;u++)w===0&&(h=I[d++],w=32,D=0),w>=a?(c=h>>>D&E,w-=a,D+=a):(_=a-w,c=h>>>D&E,h=I[d++],w=32-_,c|=(h&(1<<_)-1)<<a-_,D=_),n[u]=c<p?g+c*C:f}return n},unstuffLUT2:function(I,n,a,Q,l,g){var C=(1<<n)-1,f=0,E=0,d=0,u=0,w=0,D=0,c,h=[],_=Math.ceil((g-Q)/l);for(E=0;E<a;E++)u===0&&(c=I[f++],u=32,D=0),u>=n?(w=c>>>D&C,u-=n,D+=n):(d=n-u,w=c>>>D&C,c=I[f++],u=32-d,w|=(c&(1<<d)-1)<<n-d,D=d),h[E]=w<_?Q+w*l:g;return h.unshift(Q),h},originalUnstuff:function(I,n,a,Q){var l=(1<<a)-1,g=0,C,f=0,E,d,u,w=I.length*4-Math.ceil(a*Q/8);for(I[I.length-1]<<=8*w,C=0;C<Q;C++)f===0&&(d=I[g++],f=32),f>=a?(E=d>>>f-a&l,f-=a):(u=a-f,E=(d&l)<<u&l,d=I[g++],f=32-u,E+=d>>>f),n[C]=E;return n},originalUnstuff2:function(I,n,a,Q){var l=(1<<a)-1,g=0,C,f=0,E=0,d,u,w;for(C=0;C<Q;C++)f===0&&(u=I[g++],f=32,E=0),f>=a?(d=u>>>E&l,f-=a,E+=a):(w=a-f,d=u>>>E&l,u=I[g++],f=32-w,d|=(u&(1<<w)-1)<<a-w,E=w),n[C]=d;return n}},o={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(I){for(var n=65535,a=65535,Q=I.length,l=Math.floor(Q/2),g=0;l;){var C=l>=359?359:l;l-=C;do n+=I[g++]<<8,a+=n+=I[g++];while(--C);n=(n&65535)+(n>>>16),a=(a&65535)+(a>>>16)}return Q&1&&(a+=n+=I[g]<<8),n=(n&65535)+(n>>>16),a=(a&65535)+(a>>>16),(a<<16|n)>>>0},readHeaderInfo:function(I,n){var a=n.ptr,Q=new Uint8Array(I,a,6),l={};if(l.fileIdentifierString=String.fromCharCode.apply(null,Q),l.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+l.fileIdentifierString;a+=6;var g=new DataView(I,a,8),C=g.getInt32(0,!0);l.fileVersion=C,a+=4,C>=3&&(l.checksum=g.getUint32(4,!0),a+=4),g=new DataView(I,a,12),l.height=g.getUint32(0,!0),l.width=g.getUint32(4,!0),a+=8,C>=4?(l.numDims=g.getUint32(8,!0),a+=4):l.numDims=1,g=new DataView(I,a,40),l.numValidPixel=g.getUint32(0,!0),l.microBlockSize=g.getInt32(4,!0),l.blobSize=g.getInt32(8,!0),l.imageType=g.getInt32(12,!0),l.maxZError=g.getFloat64(16,!0),l.zMin=g.getFloat64(24,!0),l.zMax=g.getFloat64(32,!0),a+=40,n.headerInfo=l,n.ptr=a;var f,E;if(C>=3&&(E=C>=4?52:48,f=this.computeChecksumFletcher32(new Uint8Array(I,a-E,l.blobSize-14)),f!==l.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(I,n){var a=n.headerInfo,Q=this.getDataTypeArray(a.imageType),l=a.numDims*this.getDataTypeSize(a.imageType),g=this.readSubArray(I,n.ptr,Q,l),C=this.readSubArray(I,n.ptr+l,Q,l);n.ptr+=2*l;var f,E=!0;for(f=0;f<a.numDims;f++)if(g[f]!==C[f]){E=!1;break}return a.minValues=g,a.maxValues=C,E},readSubArray:function(I,n,a,Q){var l;if(a===Uint8Array)l=new Uint8Array(I,n,Q);else{var g=new ArrayBuffer(Q),C=new Uint8Array(g);C.set(new Uint8Array(I,n,Q)),l=new a(g)}return l},readMask:function(I,n){var a=n.ptr,Q=n.headerInfo,l=Q.width*Q.height,g=Q.numValidPixel,C=new DataView(I,a,4),f={};if(f.numBytes=C.getUint32(0,!0),a+=4,(g===0||l===g)&&f.numBytes!==0)throw"invalid mask";var E,d;if(g===0)E=new Uint8Array(Math.ceil(l/8)),f.bitset=E,d=new Uint8Array(l),n.pixels.resultMask=d,a+=f.numBytes;else if(f.numBytes>0){E=new Uint8Array(Math.ceil(l/8)),C=new DataView(I,a,f.numBytes);var u=C.getInt16(0,!0),w=2,D=0,c=0;do{if(u>0)for(;u--;)E[D++]=C.getUint8(w++);else for(c=C.getUint8(w++),u=-u;u--;)E[D++]=c;u=C.getInt16(w,!0),w+=2}while(w<f.numBytes);if(u!==-32768||D<E.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(l);var h=0,_=0;for(_=0;_<l;_++)_&7?(h=E[_>>3],h<<=_&7):h=E[_>>3],h&128&&(d[_]=1);n.pixels.resultMask=d,f.bitset=E,a+=f.numBytes}return n.ptr=a,n.mask=f,!0},readDataOneSweep:function(I,n,a,Q){var l=n.ptr,g=n.headerInfo,C=g.numDims,f=g.width*g.height,E=g.imageType,d=g.numValidPixel*o.getDataTypeSize(E)*C,u,w=n.pixels.resultMask;if(a===Uint8Array)u=new Uint8Array(I,l,d);else{var D=new ArrayBuffer(d),c=new Uint8Array(D);c.set(new Uint8Array(I,l,d)),u=new a(D)}if(u.length===f*C)Q?n.pixels.resultPixels=o.swapDimensionOrder(u,f,C,a,!0):n.pixels.resultPixels=u;else{n.pixels.resultPixels=new a(f*C);var h=0,_=0,p=0,S=0;if(C>1){if(Q){for(_=0;_<f;_++)if(w[_])for(S=_,p=0;p<C;p++,S+=f)n.pixels.resultPixels[S]=u[h++]}else for(_=0;_<f;_++)if(w[_])for(S=_*C,p=0;p<C;p++)n.pixels.resultPixels[S+p]=u[h++]}else for(_=0;_<f;_++)w[_]&&(n.pixels.resultPixels[_]=u[h++])}return l+=d,n.ptr=l,!0},readHuffmanTree:function(I,n){var a=this.HUFFMAN_LUT_BITS_MAX,Q=new DataView(I,n.ptr,16);n.ptr+=16;var l=Q.getInt32(0,!0);if(l<2)throw"unsupported Huffman version";var g=Q.getInt32(4,!0),C=Q.getInt32(8,!0),f=Q.getInt32(12,!0);if(C>=f)return!1;var E=new Uint32Array(f-C);o.decodeBits(I,n,E);var d=[],u,w,D,c;for(u=C;u<f;u++)w=u-(u<g?0:g),d[w]={first:E[u-C],second:null};var h=I.byteLength-n.ptr,_=Math.ceil(h/4),p=new ArrayBuffer(_*4),S=new Uint8Array(p);S.set(new Uint8Array(I,n.ptr,h));var m=new Uint32Array(p),x=0,k,T=0;for(k=m[0],u=C;u<f;u++)w=u-(u<g?0:g),c=d[w].first,c>0&&(d[w].second=k<<x>>>32-c,32-x>=c?(x+=c,x===32&&(x=0,T++,k=m[T])):(x+=c-32,T++,k=m[T],d[w].second|=k>>>32-x));var F=0,y=0,G=new B;for(u=0;u<d.length;u++)d[u]!==void 0&&(F=Math.max(F,d[u].first));F>=a?y=a:y=F;var N=[],b,v,R,q,O,K;for(u=C;u<f;u++)if(w=u-(u<g?0:g),c=d[w].first,c>0)if(b=[c,w],c<=y)for(v=d[w].second<<y-c,R=1<<y-c,D=0;D<R;D++)N[v|D]=b;else for(v=d[w].second,K=G,q=c-1;q>=0;q--)O=v>>>q&1,O?(K.right||(K.right=new B),K=K.right):(K.left||(K.left=new B),K=K.left),q===0&&!K.val&&(K.val=b[1]);return{decodeLut:N,numBitsLUTQick:y,numBitsLUT:F,tree:G,stuffedData:m,srcPtr:T,bitPos:x}},readHuffman:function(I,n,a,Q){var l=n.headerInfo,g=l.numDims,C=n.headerInfo.height,f=n.headerInfo.width,E=f*C,d=this.readHuffmanTree(I,n),u=d.decodeLut,w=d.tree,D=d.stuffedData,c=d.srcPtr,h=d.bitPos,_=d.numBitsLUTQick,p=d.numBitsLUT,S=n.headerInfo.imageType===0?128:0,m,x,k,T=n.pixels.resultMask,F,y,G,N,b,v,R,q=0;h>0&&(c++,h=0);var O=D[c],K=n.encodeMode===1,U=new a(E*g),L=U,M;if(g<2||K){for(M=0;M<g;M++)if(g>1&&(L=new a(U.buffer,E*M,E),q=0),n.headerInfo.numValidPixel===f*C)for(v=0,N=0;N<C;N++)for(b=0;b<f;b++,v++){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,K?(b>0?k+=q:N>0?k+=L[v-f]:k+=q,k&=255,L[v]=k,q=k):L[v]=k}else for(v=0,N=0;N<C;N++)for(b=0;b<f;b++,v++)if(T[v]){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,K?(b>0&&T[v-1]?k+=q:N>0&&T[v-f]?k+=L[v-f]:k+=q,k&=255,L[v]=k,q=k):L[v]=k}}else for(v=0,N=0;N<C;N++)for(b=0;b<f;b++)if(v=N*f+b,!T||T[v])for(M=0;M<g;M++,v+=E){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,L[v]=k}n.ptr=n.ptr+(c+1)*4+(h>0?4:0),n.pixels.resultPixels=U,g>1&&!Q&&(n.pixels.resultPixels=o.swapDimensionOrder(U,E,g,a))},decodeBits:function(I,n,a,Q,l){{var g=n.headerInfo,C=g.fileVersion,f=0,E=I.byteLength-n.ptr>=5?5:I.byteLength-n.ptr,d=new DataView(I,n.ptr,E),u=d.getUint8(0);f++;var w=u>>6,D=w===0?4:3-w,c=(u&32)>0,h=u&31,_=0;if(D===1)_=d.getUint8(f),f++;else if(D===2)_=d.getUint16(f,!0),f+=2;else if(D===4)_=d.getUint32(f,!0),f+=4;else throw"Invalid valid pixel count type";var p=2*g.maxZError,S,m,x,k,T,F,y,G,N,b,v=g.numDims>1?g.maxValues[l]:g.zMax;if(c){for(n.counter.lut++,G=d.getUint8(f),N=h,f++,k=Math.ceil((G-1)*h/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),n.ptr+=f,x.set(new Uint8Array(I,n.ptr,k)),y=new Uint32Array(m),n.ptr+=k,b=0;G-1>>>b;)b++;k=Math.ceil(_*b/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),x.set(new Uint8Array(I,n.ptr,k)),S=new Uint32Array(m),n.ptr+=k,C>=3?F=r.unstuffLUT2(y,h,G-1,Q,p,v):F=r.unstuffLUT(y,h,G-1,Q,p,v),C>=3?r.unstuff2(S,a,b,_,F):r.unstuff(S,a,b,_,F)}else n.counter.bitstuffer++,b=h,n.ptr+=f,b>0&&(k=Math.ceil(_*b/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),x.set(new Uint8Array(I,n.ptr,k)),S=new Uint32Array(m),n.ptr+=k,C>=3?Q==null?r.originalUnstuff2(S,a,b,_):r.unstuff2(S,a,b,_,!1,Q,p,v):Q==null?r.originalUnstuff(S,a,b,_):r.unstuff(S,a,b,_,!1,Q,p,v))}},readTiles:function(I,n,a,Q){var l=n.headerInfo,g=l.width,C=l.height,f=g*C,E=l.microBlockSize,d=l.imageType,u=o.getDataTypeSize(d),w=Math.ceil(g/E),D=Math.ceil(C/E);n.pixels.numBlocksY=D,n.pixels.numBlocksX=w,n.pixels.ptr=0;var c=0,h=0,_=0,p=0,S=0,m=0,x=0,k=0,T=0,F=0,y=0,G=0,N=0,b=0,v=0,R=0,q,O,K,U,L,M,V=new a(E*E),Z=C%E||E,X=g%E||E,j,AA,rA=l.numDims,vA,BA=n.pixels.resultMask,oA=n.pixels.resultPixels,Yn=l.fileVersion,Ot=Yn>=5?14:15,pA,We=l.zMax,_A;for(_=0;_<D;_++)for(S=_!==D-1?E:Z,p=0;p<w;p++)for(m=p!==w-1?E:X,y=_*g*E+p*E,G=g-m,vA=0;vA<rA;vA++){if(rA>1?(_A=oA,y=_*g*E+p*E,oA=new a(n.pixels.resultPixels.buffer,f*vA*u,f),We=l.maxValues[vA]):_A=null,x=I.byteLength-n.ptr,q=new DataView(I,n.ptr,Math.min(10,x)),O={},R=0,k=q.getUint8(0),R++,pA=l.fileVersion>=5?k&4:0,T=k>>6&255,F=k>>2&Ot,F!==(p*E>>3&Ot)||pA&&vA===0)throw"integrity issue";if(M=k&3,M>3)throw n.ptr+=R,"Invalid block encoding ("+M+")";if(M===2){if(pA)if(BA)for(c=0;c<S;c++)for(h=0;h<m;h++)BA[y]&&(oA[y]=_A[y]),y++;else for(c=0;c<S;c++)for(h=0;h<m;h++)oA[y]=_A[y],y++;n.counter.constant++,n.ptr+=R;continue}else if(M===0){if(pA)throw"integrity issue";if(n.counter.uncompressed++,n.ptr+=R,N=S*m*u,b=I.byteLength-n.ptr,N=N<b?N:b,K=new ArrayBuffer(N%u===0?N:N+u-N%u),U=new Uint8Array(K),U.set(new Uint8Array(I,n.ptr,N)),L=new a(K),v=0,BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=L[v++]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y++]=L[v++];y+=G}n.ptr+=v*u}else if(j=o.getDataTypeUsed(pA&&d<6?4:d,T),AA=o.getOnePixel(O,R,j,q),R+=o.getDataTypeSize(j),M===3)if(n.ptr+=R,n.counter.constantoffset++,BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=pA?Math.min(We,_A[y]+AA):AA),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y]=pA?Math.min(We,_A[y]+AA):AA,y++;y+=G}else if(n.ptr+=R,o.decodeBits(I,n,V,AA,vA),R=0,pA)if(BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=V[R++]+_A[y]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y]=V[R++]+_A[y],y++;y+=G}else if(BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=V[R++]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y++]=V[R++];y+=G}}rA>1&&!Q&&(n.pixels.resultPixels=o.swapDimensionOrder(n.pixels.resultPixels,f,rA,a))},formatFileInfo:function(I){return{fileIdentifierString:I.headerInfo.fileIdentifierString,fileVersion:I.headerInfo.fileVersion,imageType:I.headerInfo.imageType,height:I.headerInfo.height,width:I.headerInfo.width,numValidPixel:I.headerInfo.numValidPixel,microBlockSize:I.headerInfo.microBlockSize,blobSize:I.headerInfo.blobSize,maxZError:I.headerInfo.maxZError,pixelType:o.getPixelType(I.headerInfo.imageType),eofOffset:I.eofOffset,mask:I.mask?{numBytes:I.mask.numBytes}:null,pixels:{numBlocksX:I.pixels.numBlocksX,numBlocksY:I.pixels.numBlocksY,maxValue:I.headerInfo.zMax,minValue:I.headerInfo.zMin,noDataValue:I.noDataValue}}},constructConstantSurface:function(I,n){var a=I.headerInfo.zMax,Q=I.headerInfo.zMin,l=I.headerInfo.maxValues,g=I.headerInfo.numDims,C=I.headerInfo.height*I.headerInfo.width,f=0,E=0,d=0,u=I.pixels.resultMask,w=I.pixels.resultPixels;if(u)if(g>1){if(n)for(f=0;f<g;f++)for(d=f*C,a=l[f],E=0;E<C;E++)u[E]&&(w[d+E]=a);else for(E=0;E<C;E++)if(u[E])for(d=E*g,f=0;f<g;f++)w[d+g]=l[f]}else for(E=0;E<C;E++)u[E]&&(w[E]=a);else if(g>1&&Q!==a)if(n)for(f=0;f<g;f++)for(d=f*C,a=l[f],E=0;E<C;E++)w[d+E]=a;else for(E=0;E<C;E++)for(d=E*g,f=0;f<g;f++)w[d+f]=l[f];else for(E=0;E<C*g;E++)w[E]=a},getDataTypeArray:function(I){var n;switch(I){case 0:n=Int8Array;break;case 1:n=Uint8Array;break;case 2:n=Int16Array;break;case 3:n=Uint16Array;break;case 4:n=Int32Array;break;case 5:n=Uint32Array;break;case 6:n=Float32Array;break;case 7:n=Float64Array;break;default:n=Float32Array}return n},getPixelType:function(I){var n;switch(I){case 0:n="S8";break;case 1:n="U8";break;case 2:n="S16";break;case 3:n="U16";break;case 4:n="S32";break;case 5:n="U32";break;case 6:n="F32";break;case 7:n="F64";break;default:n="F32"}return n},isValidPixelValue:function(I,n){if(n==null)return!1;var a;switch(I){case 0:a=n>=-128&&n<=127;break;case 1:a=n>=0&&n<=255;break;case 2:a=n>=-32768&&n<=32767;break;case 3:a=n>=0&&n<=65536;break;case 4:a=n>=-2147483648&&n<=2147483647;break;case 5:a=n>=0&&n<=4294967296;break;case 6:a=n>=-34027999387901484e22&&n<=34027999387901484e22;break;case 7:a=n>=-17976931348623157e292&&n<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(I){var n=0;switch(I){case 0:case 1:n=1;break;case 2:case 3:n=2;break;case 4:case 5:case 6:n=4;break;case 7:n=8;break;default:n=I}return n},getDataTypeUsed:function(I,n){var a=I;switch(I){case 2:case 4:a=I-n;break;case 3:case 5:a=I-2*n;break;case 6:n===0?a=I:n===1?a=2:a=1;break;case 7:n===0?a=I:a=I-2*n+1;break;default:a=I;break}return a},getOnePixel:function(I,n,a,Q){var l=0;switch(a){case 0:l=Q.getInt8(n);break;case 1:l=Q.getUint8(n);break;case 2:l=Q.getInt16(n,!0);break;case 3:l=Q.getUint16(n,!0);break;case 4:l=Q.getInt32(n,!0);break;case 5:l=Q.getUInt32(n,!0);break;case 6:l=Q.getFloat32(n,!0);break;case 7:l=Q.getFloat64(n,!0);break;default:throw"the decoder does not understand this pixel type"}return l},swapDimensionOrder:function(I,n,a,Q,l){var g=0,C=0,f=0,E=0,d=I;if(a>1)if(d=new Q(n*a),l)for(g=0;g<n;g++)for(E=g,f=0;f<a;f++,E+=n)d[E]=I[C++];else for(g=0;g<n;g++)for(E=g,f=0;f<a;f++,E+=n)d[C++]=I[E];return d}},B=function(I,n,a){this.val=I,this.left=n,this.right=a},s={decode:function(I,n){n=n||{};var a=n.noDataValue,Q=0,l={};if(l.ptr=n.inputOffset||0,l.pixels={},!!o.readHeaderInfo(I,l)){var g=l.headerInfo,C=g.fileVersion,f=o.getDataTypeArray(g.imageType);if(C>5)throw"unsupported lerc version 2."+C;o.readMask(I,l),g.numValidPixel!==g.width*g.height&&!l.pixels.resultMask&&(l.pixels.resultMask=n.maskData);var E=g.width*g.height;l.pixels.resultPixels=new f(E*g.numDims),l.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!n.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)o.constructConstantSurface(l,d);else if(C>=4&&o.checkMinMaxRanges(I,l))o.constructConstantSurface(l,d);else{var u=new DataView(I,l.ptr,2),w=u.getUint8(0);if(l.ptr++,w)o.readDataOneSweep(I,l,f,d);else if(C>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var D=u.getUint8(1);if(l.ptr++,l.encodeMode=D,D>2||C<4&&D>1)throw"Invalid Huffman flag "+D;D?o.readHuffman(I,l,f,d):o.readTiles(I,l,f,d)}else o.readTiles(I,l,f,d)}l.eofOffset=l.ptr;var c;n.inputOffset?(c=l.headerInfo.blobSize+n.inputOffset-l.ptr,Math.abs(c)>=1&&(l.eofOffset=n.inputOffset+l.headerInfo.blobSize)):(c=l.headerInfo.blobSize-l.ptr,Math.abs(c)>=1&&(l.eofOffset=l.headerInfo.blobSize));var h={width:g.width,height:g.height,pixelData:l.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:l.pixels.resultMask};if(l.pixels.resultMask&&o.isValidPixelValue(g.imageType,a)){var _=l.pixels.resultMask;for(Q=0;Q<E;Q++)_[Q]||(h.pixelData[Q]=a);h.noDataValue=a}return l.noDataValue=a,n.returnFileInfo&&(h.fileInfo=o.formatFileInfo(l)),h}},getBandCount:function(I){var n=0,a=0,Q={};for(Q.ptr=0,Q.pixels={};a<I.byteLength-58;)o.readHeaderInfo(I,Q),a+=Q.headerInfo.blobSize,n++,Q.ptr=a;return n}};return s}(),e=function(){var r=new ArrayBuffer(4),o=new Uint8Array(r),B=new Uint32Array(r);return B[0]=1,o[0]===1}(),i={decode:function(r,o){if(!e)throw"Big endian system is not supported.";o=o||{};var B=o.inputOffset||0,s=new Uint8Array(r,B,10),I=String.fromCharCode.apply(null,s),n,a;if(I.trim()==="CntZImage")n=A,a=1;else if(I.substring(0,5)==="Lerc2")n=t,a=2;else throw"Unexpected file identifier string: "+I;for(var Q=0,l=r.byteLength-10,g,C=[],f,E,d={width:0,height:0,pixels:[],pixelType:o.pixelType,mask:null,statistics:[]},u=0;B<l;){var w=n.decode(r,{inputOffset:B,encodedMaskData:g,maskData:E,returnMask:Q===0,returnEncodedMask:Q===0,returnFileInfo:!0,returnPixelInterleavedDims:o.returnPixelInterleavedDims,pixelType:o.pixelType||null,noDataValue:o.noDataValue||null});B=w.fileInfo.eofOffset,E=w.maskData,Q===0&&(g=w.encodedMaskData,d.width=w.width,d.height=w.height,d.dimCount=w.dimCount||1,d.pixelType=w.pixelType||w.fileInfo.pixelType,d.mask=E),a>1&&(E&&C.push(E),w.fileInfo.mask&&w.fileInfo.mask.numBytes>0&&u++),Q++,d.pixels.push(w.pixelData),d.statistics.push({minValue:w.minValue,maxValue:w.maxValue,noDataValue:w.noDataValue,dimStats:w.dimStats})}var D,c,h;if(a>1&&u>1){for(h=d.width*d.height,d.bandMasks=C,E=new Uint8Array(h),E.set(C[0]),D=1;D<C.length;D++)for(f=C[D],c=0;c<h;c++)E[c]=E[c]&f[c];d.maskData=E}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Ve<"u"&&Ve.exports?Ve.exports=i:this.Lerc=i})()});var Ee,DA,Ht,qt,Ze,Gn,Rn=gA(()=>{qt={env:{emscripten_notify_memory_growth:function(A){Ht=new Uint8Array(DA.exports.memory.buffer)}}},Ze=class{init(){return Ee||(typeof fetch<"u"?Ee=fetch("data:application/wasm;base64,"+Gn).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,qt)).then(this._init):Ee=WebAssembly.instantiate(Buffer.from(Gn,"base64"),qt).then(this._init),Ee)}_init(t){DA=t.instance,qt.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!DA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=DA.exports.malloc(i);Ht.set(t,r),e=e||Number(DA.exports.ZSTD_findDecompressedSize(r,i));let o=DA.exports.malloc(e),B=DA.exports.ZSTD_decompress(o,e,r,i),s=Ht.slice(o,o+B);return DA.exports.free(r),DA.exports.free(o),s}},Gn="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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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 Mn={};yA(Mn,{default:()=>Pe,zstd:()=>Un});var Ln,Un,Pe,Nn=gA(()=>{Tt();Ln=je(vn(),1);Rn();cA();Wt();Un=new Ze,Pe=class extends P{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[Xt.AddCompression]}decodeBlock(t){switch(this.addCompression){case we.None:break;case we.Deflate:t=Ye(new Uint8Array(t)).buffer;break;case we.Zstandard:t=Un.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Ln.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var Tn={};yA(Tn,{default:()=>Xe});var Xe,qn=gA(()=>{cA();Xe=class extends P{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,e){let i=new Blob([e]),r=await createImageBitmap(i),o;typeof document<"u"?(o=document.createElement("canvas"),o.width=r.width,o.height=r.height):o=new OffscreenCanvas(r.width,r.height);let B=o.getContext("2d");return B.drawImage(r,0,0),B.getImageData(0,0,r.width,r.height).data.buffer}}});var jo={};yA(jo,{default:()=>Qe});module.exports=Xn(jo);var aA=je(require("sharp")),On=je(Pt());var Vo=new Map;function lA(A,t){Array.isArray(A)||(A=[A]),A.forEach(e=>Vo.set(e,t))}lA([void 0,1],()=>Promise.resolve().then(()=>(ei(),Ai)).then(A=>A.default));lA(5,()=>Promise.resolve().then(()=>(ni(),ii)).then(A=>A.default));lA(6,()=>{throw new Error("old style JPEG compression is not supported.")});lA(7,()=>Promise.resolve().then(()=>(oi(),ri)).then(A=>A.default));lA([8,32946],()=>Promise.resolve().then(()=>(Fn(),kn)).then(A=>A.default));lA(32773,()=>Promise.resolve().then(()=>(bn(),Sn)).then(A=>A.default));lA(34887,()=>Promise.resolve().then(()=>(Nn(),Mn)).then(async A=>(await A.zstd.init(),A)).then(A=>A.default));lA(50001,()=>Promise.resolve().then(()=>(qn(),Tn)).then(A=>A.default));cA();var Zo=1e8,Hn=1e4,Jn=1e4,Po=512,Xo=512,Wo={2:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByWhListed","sizeByForcedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"],2.1:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByConfinedWh","sizeByDistortedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeByWhListed","sizeByForcedWh"],3:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeUpscaling"]},Jt=class extends P{async decode(t,e){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,r=(0,aA.default)(e,{sequentialRead:!0}),B=(await r.metadata()).channels||4;i===4&&B<4&&r.ensureAlpha?r=r.ensureAlpha():i===3&&B>3&&r.removeAlpha&&(r=r.removeAlpha());let{data:s,info:I}=await r.raw().toBuffer({resolveWithObject:!0});if(I.channels!==i){let n=I.width*I.height,a=Buffer.alloc(n*i),Q=s;for(let l=0;l<n;l+=1){let g=l*I.channels,C=l*i;for(let f=0;f<i;f+=1)f<I.channels?a[C+f]=Q[g+f]:a[C+f]=f===3?255:0}return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}};lA(50001,()=>Promise.resolve(Jt));var Qe=class extends On.default{constructor(e,i,r=!1,o=Zo,B=Hn,s=Jn,I=Po,n=Xo){super(e,i,o,B,s,I,n);this.enableHD=r}regionImpl(e,i){e&&(i=i.extract({left:e.x,top:e.y,width:e.w,height:e.h}))}sizeImpl(e,i){e&&(i=i.resize({...e,fit:"fill"}))}rotationImpl(e,i){e&&(e.isMirror&&(i=i.flop()),i=i.rotate(e.degree))}qualityFormatImpl(e,i,r,o,B){e&&(e==="color"?r=r.toColorspace("srgb"):e==="gray"||e==="grey"?r=r.grayscale():e==="bitonal"&&(r=r.threshold())),i&&(r=r.toFormat(i)),o==="png"&&(B.paletteBitDepth===1||B.space==="b-w")&&(r=r.toColorspace("b-w").png({colors:2}))}async generateImageTile(e,i,r){let o=e.split("/"),B=o.pop(),s=B.split(".")[0],I=B.split(".")[1],n=o.pop(),a=o.pop(),Q=o.pop(),l=o.pop(),g={width:i.width,height:i.height},C=super.normalizeRegionParams(Q,g),f=super.normalizeSizeParams(a,{width:C?C.w:g.width,height:C?C.h:g.height}),{x:E,y:d,w:u,h:w}=C!=null?C:{x:0,y:0,w:g.width,h:g.height},{width:D,height:c}=f,h=await r.getImage();console.log(`Source dimensions: ${h.getWidth()} x ${h.getHeight()}`),console.log(`Extracting region: x=${E}, y=${d}, w=${u}, h=${w}`),console.log(`Output size: ${D} x ${c}`);let _=await r.getImageCount();console.log(`Total images (including overviews): ${_}`);let p=h.getSamplesPerPixel(),S;p>=3?(S=[0,1,2],p>=4&&S.push(3)):S=[0],console.log("Using automatic overview selection based on resolution...");let m=Math.max(u/D,w/c),x=h,k=1;for(let O=0;O<_;O++){let K=await r.getImage(O),U=h.getWidth()/K.getWidth();U<=m&&U>k&&(k=U,x=K)}console.log(`Selected overview with scale: ${k.toFixed(2)}x`),console.log(`Overview dimensions: ${x.getWidth()} x ${x.getHeight()}`);let T=[Math.floor(E/k),Math.floor(d/k),Math.floor((E+u)/k),Math.floor((d+w)/k)],F=await x.readRasters({window:T,width:D,height:c,samples:S,interleave:!0,resampleMethod:"bilinear"}),y=S.length,G=Buffer.from(F.buffer,F.byteOffset,F.byteLength),N=(0,aA.default)(G,{raw:{width:D,height:c,channels:y}}),b=super.normalizeRotationParams(n);this.rotationImpl(b,N);let v=super.normalizeQualityParams(s),R=super.normalizeFormatParams(I,i.format);this.qualityFormatImpl(v,R,N,I,i);let q={};return q.body=N,q.contentType=super.getContentType(R),q}iiifTransform(e,i){let r=this.enableHD?(0,aA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(),o=e.split("/"),B=o.pop(),s=B.split(".")[0],I=B.split(".")[1],n=o.pop(),a=o.pop(),Q=o.pop(),l=!1,g=r,C={width:i.width,height:i.height};i&&i.orientation&&(l=!0,g=g.rotate(),i.orientation>=5&&(C={width:i.height,height:i.width}));let f=super.normalizeRegionParams(Q,C);this.regionImpl(f,g);let E=super.normalizeSizeParams(a,{width:f?f.w:C.width,height:f?f.h:C.height});this.sizeImpl(E,g);let d=super.normalizeRotationParams(n);this.rotationImpl(d,g);let u=super.normalizeQualityParams(s),w=super.normalizeFormatParams(I,i.format);return this.qualityFormatImpl(u,w,g,I,i),f||E||d||u||w||l?g:(console.log("skip iiif transform"),null)}async generateIiifImage(e,i,r=256){let o=this.enableHD?(0,aA.default)(i,{limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(i),B=e.split("/"),s=B.pop(),I=s.split(".")[0],n=s.split(".")[1],a=B.pop(),Q=B.pop(),l=B.pop(),g=await o.metadata(),C={width:g.width,height:g.height},f={},E=o,d=super.normalizeRegionParams(l,C);this.regionImpl(d,E);let u=super.normalizeSizeParams(Q,{width:d?d.w:C.width,height:d?d.h:C.height});this.sizeImpl(u,E);let{x:w,y:D,w:c,h}=d||{x:0,y:0,w:C.width,h:C.height},{width:_,height:p}=u||{width:C.width,height:C.height};try{if(c*h>_*p*r&&_<Hn&&p<Jn&&g.pages&&g.pages>1){console.log("thumbnail");let k=Math.max(_/c,p/h),[T,F,y,G]=[Math.round(w*k),Math.round(D*k),Math.round(c*k),Math.round(h*k)],[N,b]=[Math.round(C.width*k),Math.round(C.height*k)];console.log("rawMeta.pages: "+g.pages);let v=Math.max(0,g.pages-1);console.log("selectedPage1: "+v),v>=g.pages&&(console.log("Warning: Selected page exceeds available pages, using last available page"),v=Math.max(0,g.pages-1));let R=this.enableHD?await(0,aA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).metadata():await(0,aA.default)(i,{page:v}).metadata(),q=R.width,O=R.height;for(;v>0&&(O<b||q<N);)O*=2,q*=2,v--;(v<0||v>=g.pages)&&(console.log("Warning: Invalid page index after calculation, using page 0"),v=0),console.log("selectedPage2: "+v);let K={width:N,height:b,fastShrinkOnLoad:!1},U=this.enableHD?await(0,aA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).resize(K).toBuffer():await(0,aA.default)(i,{page:v}).resize(K).toBuffer(),L=this.enableHD?(0,aA.default)(U,{limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(U),M=await L.metadata();console.log(M),F+G>M.height&&(G=M.height-F,console.log("adjested sh: "+G)),T+y>M.width&&(y=M.width-T,console.log("adjusted sw: "+y));let V={x:T,y:F,w:y,h:G};this.regionImpl(V,L),this.sizeImpl(u,L),console.log(M.width,M.height,K.width,K.height,V,u),E=L}}catch(k){console.trace(k),console.log(k)}let S=super.normalizeRotationParams(a);this.rotationImpl(S,E);let m=super.normalizeQualityParams(I);console.log(n,g.format);let x=super.normalizeFormatParams(n,g.format);return this.qualityFormatImpl(m,x,E,n,g),console.log("pipeline "+E),f.body=E,f.contentType=super.getContentType(x),f}generateImageInfo(e,i,r=""){let o=this.version,B=this.level,s={width:i.width,height:i.height};i&&i.orientation&&i.orientation>=5&&(console.log(i.orientation),s={width:i.height,height:i.width});let I=super.generateImageInfoTemp(e,s),n=I.info;if((o==="2.0"||o==="2.1")&&(n.profile=[super.uriPattern("compliance")],B==="2")){let a={};a.formats=["jpg","png","webp","jp2","pdf","tif"],a.qualities=["color","gray","bitonal","default","native","grey"],a.supports=Wo[Number(o)],n.profile.push(a)}return o==="3.0"&&r&&(n.extraFormats=[r],n.preferredFormats=[r]),r&&(n.formats=[r]),I}};module.exports=Qe;
9
2
  /*! Bundled license information:
10
3
 
11
4
  pako/dist/pako.esm.mjs:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etu-wiki/sharp-iiif-shims",
3
- "version": "0.0.98",
3
+ "version": "0.0.100",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {