UNPKG

ja-geotiff

Version:

GeoTIFF image decoding in JavaScript

8 lines 239 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const web_worker_1 = __importDefault(require("web-worker")); function create() { const source = "const A=new Map,I=new Map;function g(g,B,C=!0){Array.isArray(g)||(g=[g]),g.forEach(g=>{A.set(g,B),I.set(g,C)})}g([void 0,1],()=>Promise.resolve().then(function(){return i}).then(A=>A.default),!1),g(5,()=>Promise.resolve().then(function(){return o}).then(A=>A.default)),g(6,()=>{throw new Error(\"old style JPEG compression is not supported.\")}),g(7,()=>Promise.resolve().then(function(){return k}).then(A=>A.default)),g([8,32946],()=>Promise.resolve().then(function(){return Hg}).then(A=>A.default)),g(32773,()=>Promise.resolve().then(function(){return pg}).then(A=>A.default)),g(34887,()=>Promise.resolve().then(function(){return zg}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default)),g(5e4,()=>Promise.resolve().then(function(){return QB}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default)),g(50001,()=>Promise.resolve().then(function(){return EB}).then(A=>A.default),!1);const B=globalThis;function C(A,I){let g=A.length-I,B=0;do{for(let g=I;g>0;g--)A[B+I]+=A[B],B++;g-=I}while(g>0)}function Q(A,I,g){let B=0,C=A.length;const Q=C/g;for(;C>I;){for(let g=I;g>0;--g)A[B+I]+=A[B],++B;C-=I}const E=A.slice();for(let I=0;I<Q;++I)for(let B=0;B<g;++B)A[g*I+B]=E[(g-B-1)*Q+I]}B.addEventListener(\"message\",async I=>{const{fileDirectory:g,buffer:C,...Q}=I.data;try{const I=await async function(I){const g=A.get(I.Compression);if(!g)throw new Error(`Unknown compression method identifier: ${I.Compression}`);return new(await g())(I)}(g),E=await I.decode(g,C);B.postMessage({decoded:E,...Q},[E])}catch(A){B.postMessage({error:A.message,...Q})}});class E{async decode(A,I){const g=await this.decodeBlock(I),B=A.Predictor||1;if(1!==B){const I=!A.StripOffsets;return function(A,I,g,B,E,i){if(!I||1===I)return A;for(let A=0;A<E.length;++A){if(E[A]%8!=0)throw new Error(\"When decoding with predictor, only multiple of 8 bits are supported.\");if(E[A]!==E[0])throw new Error(\"When decoding with predictor, all samples must have the same size.\")}const s=E[0]/8,t=2===i?1:E.length;for(let i=0;i<B&&!(i*t*g*s>=A.byteLength);++i){let B;if(2===I){switch(E[0]){case 8:B=new Uint8Array(A,i*t*g*s,t*g*s);break;case 16:B=new Uint16Array(A,i*t*g*s,t*g*s/2);break;case 32:B=new Uint32Array(A,i*t*g*s,t*g*s/4);break;default:throw new Error(`Predictor 2 not allowed with ${E[0]} bits per sample.`)}C(B,t)}else 3===I&&(B=new Uint8Array(A,i*t*g*s,t*g*s),Q(B,t,s))}return A}(g,B,I?A.TileWidth:A.ImageWidth,I?A.TileLength:A.RowsPerStrip||A.ImageLength,A.BitsPerSample,A.PlanarConfiguration)}return g}}var i=Object.freeze({__proto__:null,default:class extends E{decodeBlock(A){return A}}});function s(A,I){for(let g=I.length-1;g>=0;g--)A.push(I[g]);return A}function t(A){const I=new Uint16Array(4093),g=new Uint8Array(4093);for(let A=0;A<=257;A++)I[A]=4096,g[A]=A;let B=258,C=9,Q=0;function E(){B=258,C=9}function i(A){const I=function(A,I,g){const B=I%8,C=Math.floor(I/8),Q=8-B,E=I+g-8*(C+1);let i=8*(C+2)-(I+g);const s=8*(C+2)-I;if(i=Math.max(0,i),C>=A.length)return console.warn(\"ran off the end of the buffer before finding EOI_CODE (end on input code)\"),257;let t=A[C]&2**(8-B)-1;t<<=g-Q;let o=t;if(C+1<A.length){let I=A[C+1]>>>i;I<<=Math.max(0,g-s),o+=I}if(E>8&&C+2<A.length){const B=8*(C+3)-(I+g);o+=A[C+2]>>>B}return o}(A,Q,C);return Q+=C,I}function t(A,C){return g[B]=C,I[B]=A,B++,B-1}function o(A){const B=[];for(let C=A;4096!==C;C=I[C])B.push(g[C]);return B}const a=[];E();const e=new Uint8Array(A);let r,D=i(e);for(;257!==D;){if(256===D){for(E(),D=i(e);256===D;)D=i(e);if(257===D)break;if(D>256)throw new Error(`corrupted code at scanline ${D}`);s(a,o(D)),r=D}else if(D<B){const A=o(D);s(a,A),t(r,A[A.length-1]),r=D}else{const A=o(r);if(!A)throw new Error(`Bogus entry. Not in dictionary, ${r} / ${B}, position: ${Q}`);s(a,A),a.push(A[A.length-1]),t(r,A[A.length-1]),r=D}B+1>=2**C&&(12===C?r=void 0:C++),D=i(e)}return new Uint8Array(a)}var o=Object.freeze({__proto__:null,default:class extends E{decodeBlock(A){return t(A).buffer}}});const a=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,r=799,D=3406,h=2276,n=1567,w=3784,y=5793,G=2896;function S(A,I){let g=0;const B=[];let C=16;for(;C>0&&!A[C-1];)--C;B.push({children:[],index:0});let Q,E=B[0];for(let i=0;i<C;i++){for(let C=0;C<A[i];C++){for(E=B.pop(),E.children[E.index]=I[g];E.index>0;)E=B.pop();for(E.index++,B.push(E);B.length<=i;)B.push(Q={children:[],index:0}),E.children[E.index]=Q.children,E=Q;g++}i+1<C&&(B.push(Q={children:[],index:0}),E.children[E.index]=Q.children,E=Q)}return B[0].children}function N(A,I,g,B,C,Q,E,i,s){const{mcusPerLine:t,progressive:o}=g,e=I;let r=I,D=0,h=0;function n(){if(h>0)return h--,D>>h&1;if(D=A[r++],255===D){const I=A[r++];if(I)throw new Error(`unexpected marker: ${(D<<8|I).toString(16)}`)}return h=7,D>>>7}function w(A){let I,g=A;for(;null!==(I=n());){if(g=g[I],\"number\"==typeof g)return g;if(\"object\"!=typeof g)throw new Error(\"invalid huffman sequence\")}return null}function y(A){let I=A,g=0;for(;I>0;){const A=n();if(null===A)return;g=g<<1|A,--I}return g}function G(A){const I=y(A);return I>=1<<A-1?I:I+(-1<<A)+1}let S=0;let N,c=0;function d(A,I,g,B,C){const Q=g%t,E=(g/t|0)*A.v+B,i=Q*A.h+C;I(A,A.blocks[E][i])}function k(A,I,g){const B=g/A.blocksPerLine|0,C=g%A.blocksPerLine;I(A,A.blocks[B][C])}const F=B.length;let l,R,U,L,Y,f;f=o?0===Q?0===i?function(A,I){const g=w(A.huffmanTableDC),B=0===g?0:G(g)<<s;A.pred+=B,I[0]=A.pred}:function(A,I){I[0]|=n()<<s}:0===i?function(A,I){if(S>0)return void S--;let g=Q;const B=E;for(;g<=B;){const B=w(A.huffmanTableAC),C=15&B,Q=B>>4;if(0===C){if(Q<15){S=y(Q)+(1<<Q)-1;break}g+=16}else g+=Q,I[a[g]]=G(C)*(1<<s),g++}}:function(A,I){let g=Q;const B=E;let C=0;for(;g<=B;){const B=a[g],Q=I[B]<0?-1:1;switch(c){case 0:{const I=w(A.huffmanTableAC),g=15&I;if(C=I>>4,0===g)C<15?(S=y(C)+(1<<C),c=4):(C=16,c=1);else{if(1!==g)throw new Error(\"invalid ACn encoding\");N=G(g),c=C?2:3}continue}case 1:case 2:I[B]?I[B]+=(n()<<s)*Q:(C--,0===C&&(c=2===c?3:0));break;case 3:I[B]?I[B]+=(n()<<s)*Q:(I[B]=N<<s,c=0);break;case 4:I[B]&&(I[B]+=(n()<<s)*Q)}g++}4===c&&(S--,0===S&&(c=0))}:function(A,I){const g=w(A.huffmanTableDC),B=0===g?0:G(g);A.pred+=B,I[0]=A.pred;let C=1;for(;C<64;){const g=w(A.huffmanTableAC),B=15&g,Q=g>>4;if(0===B){if(Q<15)break;C+=16}else C+=Q,I[a[C]]=G(B),C++}};let K,u,M=0;u=1===F?B[0].blocksPerLine*B[0].blocksPerColumn:t*g.mcusPerColumn;const J=C||u;for(;M<u;){for(R=0;R<F;R++)B[R].pred=0;if(S=0,1===F)for(l=B[0],Y=0;Y<J;Y++)k(l,f,M),M++;else for(Y=0;Y<J;Y++){for(R=0;R<F;R++){l=B[R];const{h:A,v:I}=l;for(U=0;U<I;U++)for(L=0;L<A;L++)d(l,f,M,U,L)}if(M++,M===u)break}if(h=0,K=A[r]<<8|A[r+1],K<65280)throw new Error(\"marker was not found\");if(!(K>=65488&&K<=65495))break;r+=2}return r-e}function c(A,I){const g=[],{blocksPerLine:B,blocksPerColumn:C}=I,Q=B<<3,E=new Int32Array(64),i=new Uint8Array(64);function s(A,g,B){const C=I.quantizationTable;let Q,E,i,s,t,o,a,S,N;const c=B;let d;for(d=0;d<64;d++)c[d]=A[d]*C[d];for(d=0;d<8;++d){const A=8*d;0!==c[1+A]||0!==c[2+A]||0!==c[3+A]||0!==c[4+A]||0!==c[5+A]||0!==c[6+A]||0!==c[7+A]?(Q=y*c[0+A]+128>>8,E=y*c[4+A]+128>>8,i=c[2+A],s=c[6+A],t=G*(c[1+A]-c[7+A])+128>>8,S=G*(c[1+A]+c[7+A])+128>>8,o=c[3+A]<<4,a=c[5+A]<<4,N=Q-E+1>>1,Q=Q+E+1>>1,E=N,N=i*w+s*n+128>>8,i=i*n-s*w+128>>8,s=N,N=t-a+1>>1,t=t+a+1>>1,a=N,N=S+o+1>>1,o=S-o+1>>1,S=N,N=Q-s+1>>1,Q=Q+s+1>>1,s=N,N=E-i+1>>1,E=E+i+1>>1,i=N,N=t*h+S*D+2048>>12,t=t*D-S*h+2048>>12,S=N,N=o*r+a*e+2048>>12,o=o*e-a*r+2048>>12,a=N,c[0+A]=Q+S,c[7+A]=Q-S,c[1+A]=E+a,c[6+A]=E-a,c[2+A]=i+o,c[5+A]=i-o,c[3+A]=s+t,c[4+A]=s-t):(N=y*c[0+A]+512>>10,c[0+A]=N,c[1+A]=N,c[2+A]=N,c[3+A]=N,c[4+A]=N,c[5+A]=N,c[6+A]=N,c[7+A]=N)}for(d=0;d<8;++d){const A=d;0!==c[8+A]||0!==c[16+A]||0!==c[24+A]||0!==c[32+A]||0!==c[40+A]||0!==c[48+A]||0!==c[56+A]?(Q=y*c[0+A]+2048>>12,E=y*c[32+A]+2048>>12,i=c[16+A],s=c[48+A],t=G*(c[8+A]-c[56+A])+2048>>12,S=G*(c[8+A]+c[56+A])+2048>>12,o=c[24+A],a=c[40+A],N=Q-E+1>>1,Q=Q+E+1>>1,E=N,N=i*w+s*n+2048>>12,i=i*n-s*w+2048>>12,s=N,N=t-a+1>>1,t=t+a+1>>1,a=N,N=S+o+1>>1,o=S-o+1>>1,S=N,N=Q-s+1>>1,Q=Q+s+1>>1,s=N,N=E-i+1>>1,E=E+i+1>>1,i=N,N=t*h+S*D+2048>>12,t=t*D-S*h+2048>>12,S=N,N=o*r+a*e+2048>>12,o=o*e-a*r+2048>>12,a=N,c[0+A]=Q+S,c[56+A]=Q-S,c[8+A]=E+a,c[48+A]=E-a,c[16+A]=i+o,c[40+A]=i-o,c[24+A]=s+t,c[32+A]=s-t):(N=y*B[d+0]+8192>>14,c[0+A]=N,c[8+A]=N,c[16+A]=N,c[24+A]=N,c[32+A]=N,c[40+A]=N,c[48+A]=N,c[56+A]=N)}for(d=0;d<64;++d){const A=128+(c[d]+8>>4);g[d]=A<0?0:A>255?255:A}}for(let A=0;A<C;A++){const C=A<<3;for(let A=0;A<8;A++)g.push(new Uint8Array(Q));for(let Q=0;Q<B;Q++){s(I.blocks[A][Q],i,E);let B=0;const t=Q<<3;for(let A=0;A<8;A++){const I=g[C+A];for(let A=0;A<8;A++)I[t+A]=i[B++]}}}return g}class d{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(A){let I=0;function g(){const g=A[I]<<8|A[I+1];return I+=2,g}function B(){const B=g(),C=A.subarray(I,I+B-2);return I+=C.length,C}function C(A){let I,g,B=0,C=0;for(g in A.components)A.components.hasOwnProperty(g)&&(I=A.components[g],B<I.h&&(B=I.h),C<I.v&&(C=I.v));const Q=Math.ceil(A.samplesPerLine/8/B),E=Math.ceil(A.scanLines/8/C);for(g in A.components)if(A.components.hasOwnProperty(g)){I=A.components[g];const i=Math.ceil(Math.ceil(A.samplesPerLine/8)*I.h/B),s=Math.ceil(Math.ceil(A.scanLines/8)*I.v/C),t=Q*I.h,o=E*I.v,a=[];for(let A=0;A<o;A++){const A=[];for(let I=0;I<t;I++)A.push(new Int32Array(64));a.push(A)}I.blocksPerLine=i,I.blocksPerColumn=s,I.blocks=a}A.maxH=B,A.maxV=C,A.mcusPerLine=Q,A.mcusPerColumn=E}let Q=g();if(65496!==Q)throw new Error(\"SOI not found\");for(Q=g();65497!==Q;){switch(Q){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:{const A=B();65504===Q&&74===A[0]&&70===A[1]&&73===A[2]&&70===A[3]&&0===A[4]&&(this.jfif={version:{major:A[5],minor:A[6]},densityUnits:A[7],xDensity:A[8]<<8|A[9],yDensity:A[10]<<8|A[11],thumbWidth:A[12],thumbHeight:A[13],thumbData:A.subarray(14,14+3*A[12]*A[13])}),65518===Q&&65===A[0]&&100===A[1]&&111===A[2]&&98===A[3]&&101===A[4]&&0===A[5]&&(this.adobe={version:A[6],flags0:A[7]<<8|A[8],flags1:A[9]<<8|A[10],transformCode:A[11]});break}case 65499:{const B=g()+I-2;for(;I<B;){const B=A[I++],C=new Int32Array(64);if(B>>4){if(B>>4!=1)throw new Error(\"DQT: invalid table spec\");for(let A=0;A<64;A++){C[a[A]]=g()}}else for(let g=0;g<64;g++){C[a[g]]=A[I++]}this.quantizationTables[15&B]=C}break}case 65472:case 65473:case 65474:{g();const B={extended:65473===Q,progressive:65474===Q,precision:A[I++],scanLines:g(),samplesPerLine:g(),components:{},componentsOrder:[]},E=A[I++];let i;for(let g=0;g<E;g++){i=A[I];const g=A[I+1]>>4,C=15&A[I+1],Q=A[I+2];B.componentsOrder.push(i),B.components[i]={h:g,v:C,quantizationIdx:Q},I+=3}C(B),this.frames.push(B);break}case 65476:{const B=g();for(let g=2;g<B;){const B=A[I++],C=new Uint8Array(16);let Q=0;for(let g=0;g<16;g++,I++)C[g]=A[I],Q+=C[g];const E=new Uint8Array(Q);for(let g=0;g<Q;g++,I++)E[g]=A[I];g+=17+Q,B>>4?this.huffmanTablesAC[15&B]=S(C,E):this.huffmanTablesDC[15&B]=S(C,E)}break}case 65501:g(),this.resetInterval=g();break;case 65498:{g();const B=A[I++],C=[],Q=this.frames[0];for(let g=0;g<B;g++){const g=Q.components[A[I++]],B=A[I++];g.huffmanTableDC=this.huffmanTablesDC[B>>4],g.huffmanTableAC=this.huffmanTablesAC[15&B],C.push(g)}const E=A[I++],i=A[I++],s=A[I++],t=N(A,I,Q,C,this.resetInterval,E,i,s>>4,15&s);I+=t;break}case 65535:255!==A[I]&&I--;break;default:if(255===A[I-3]&&A[I-2]>=192&&A[I-2]<=254){I-=3;break}throw new Error(`unknown JPEG marker ${Q.toString(16)}`)}Q=g()}}getResult(){const{frames:A}=this;if(0===this.frames.length)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++){const I=this.frames[A].components;for(const A of Object.keys(I))I[A].quantizationTable=this.quantizationTables[I[A].quantizationIdx],delete I[A].quantizationIdx}const I=A[0],{components:g,componentsOrder:B}=I,C=[],Q=I.samplesPerLine,E=I.scanLines;for(let A=0;A<B.length;A++){const Q=g[B[A]];C.push({lines:c(0,Q),scaleX:Q.h/I.maxH,scaleY:Q.v/I.maxV})}const i=new Uint8Array(Q*E*C.length);let s=0;for(let A=0;A<E;++A)for(let I=0;I<Q;++I)for(let g=0;g<C.length;++g){const B=C[g];i[s]=B.lines[0|A*B.scaleY][0|I*B.scaleX],++s}return i}}var k=Object.freeze({__proto__:null,default:class extends E{constructor(A){super(),this.reader=new d,A.JPEGTables&&this.reader.parse(A.JPEGTables)}decodeBlock(A){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(A)),this.reader.getResult().buffer}}});\n/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function F(A){let I=A.length;for(;--I>=0;)A[I]=0}const l=256,R=286,U=30,L=15,Y=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]),f=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]),K=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),M=new Array(576);F(M);const J=new Array(60);F(J);const H=new Array(512);F(H);const m=new Array(256);F(m);const p=new Array(29);F(p);const q=new Array(U);function b(A,I,g,B,C){this.static_tree=A,this.extra_bits=I,this.extra_base=g,this.elems=B,this.max_length=C,this.has_stree=A&&A.length}let x,_,O;function T(A,I){this.dyn_tree=A,this.max_code=0,this.stat_desc=I}F(q);const Z=A=>A<256?H[A]:H[256+(A>>>7)],v=(A,I)=>{A.pending_buf[A.pending++]=255&I,A.pending_buf[A.pending++]=I>>>8&255},P=(A,I,g)=>{A.bi_valid>16-g?(A.bi_buf|=I<<A.bi_valid&65535,v(A,A.bi_buf),A.bi_buf=I>>16-A.bi_valid,A.bi_valid+=g-16):(A.bi_buf|=I<<A.bi_valid&65535,A.bi_valid+=g)},j=(A,I,g)=>{P(A,g[2*I],g[2*I+1])},W=(A,I)=>{let g=0;do{g|=1&A,A>>>=1,g<<=1}while(--I>0);return g>>>1},V=(A,I,g)=>{const B=new Array(16);let C,Q,E=0;for(C=1;C<=L;C++)E=E+g[C-1]<<1,B[C]=E;for(Q=0;Q<=I;Q++){let I=A[2*Q+1];0!==I&&(A[2*Q]=W(B[I]++,I))}},z=A=>{let I;for(I=0;I<R;I++)A.dyn_ltree[2*I]=0;for(I=0;I<U;I++)A.dyn_dtree[2*I]=0;for(I=0;I<19;I++)A.bl_tree[2*I]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},X=A=>{A.bi_valid>8?v(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},$=(A,I,g,B)=>{const C=2*I,Q=2*g;return A[C]<A[Q]||A[C]===A[Q]&&B[I]<=B[g]},AA=(A,I,g)=>{const B=A.heap[g];let C=g<<1;for(;C<=A.heap_len&&(C<A.heap_len&&$(I,A.heap[C+1],A.heap[C],A.depth)&&C++,!$(I,B,A.heap[C],A.depth));)A.heap[g]=A.heap[C],g=C,C<<=1;A.heap[g]=B},IA=(A,I,g)=>{let B,C,Q,E,i=0;if(0!==A.sym_next)do{B=255&A.pending_buf[A.sym_buf+i++],B+=(255&A.pending_buf[A.sym_buf+i++])<<8,C=A.pending_buf[A.sym_buf+i++],0===B?j(A,C,I):(Q=m[C],j(A,Q+l+1,I),E=Y[Q],0!==E&&(C-=p[Q],P(A,C,E)),B--,Q=Z(B),j(A,Q,g),E=f[Q],0!==E&&(B-=q[Q],P(A,B,E)))}while(i<A.sym_next);j(A,256,I)},gA=(A,I)=>{const g=I.dyn_tree,B=I.stat_desc.static_tree,C=I.stat_desc.has_stree,Q=I.stat_desc.elems;let E,i,s,t=-1;for(A.heap_len=0,A.heap_max=573,E=0;E<Q;E++)0!==g[2*E]?(A.heap[++A.heap_len]=t=E,A.depth[E]=0):g[2*E+1]=0;for(;A.heap_len<2;)s=A.heap[++A.heap_len]=t<2?++t:0,g[2*s]=1,A.depth[s]=0,A.opt_len--,C&&(A.static_len-=B[2*s+1]);for(I.max_code=t,E=A.heap_len>>1;E>=1;E--)AA(A,g,E);s=Q;do{E=A.heap[1],A.heap[1]=A.heap[A.heap_len--],AA(A,g,1),i=A.heap[1],A.heap[--A.heap_max]=E,A.heap[--A.heap_max]=i,g[2*s]=g[2*E]+g[2*i],A.depth[s]=(A.depth[E]>=A.depth[i]?A.depth[E]:A.depth[i])+1,g[2*E+1]=g[2*i+1]=s,A.heap[1]=s++,AA(A,g,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],((A,I)=>{const g=I.dyn_tree,B=I.max_code,C=I.stat_desc.static_tree,Q=I.stat_desc.has_stree,E=I.stat_desc.extra_bits,i=I.stat_desc.extra_base,s=I.stat_desc.max_length;let t,o,a,e,r,D,h=0;for(e=0;e<=L;e++)A.bl_count[e]=0;for(g[2*A.heap[A.heap_max]+1]=0,t=A.heap_max+1;t<573;t++)o=A.heap[t],e=g[2*g[2*o+1]+1]+1,e>s&&(e=s,h++),g[2*o+1]=e,o>B||(A.bl_count[e]++,r=0,o>=i&&(r=E[o-i]),D=g[2*o],A.opt_len+=D*(e+r),Q&&(A.static_len+=D*(C[2*o+1]+r)));if(0!==h){do{for(e=s-1;0===A.bl_count[e];)e--;A.bl_count[e]--,A.bl_count[e+1]+=2,A.bl_count[s]--,h-=2}while(h>0);for(e=s;0!==e;e--)for(o=A.bl_count[e];0!==o;)a=A.heap[--t],a>B||(g[2*a+1]!==e&&(A.opt_len+=(e-g[2*a+1])*g[2*a],g[2*a+1]=e),o--)}})(A,I),V(g,t,A.bl_count)},BA=(A,I,g)=>{let B,C,Q=-1,E=I[1],i=0,s=7,t=4;for(0===E&&(s=138,t=3),I[2*(g+1)+1]=65535,B=0;B<=g;B++)C=E,E=I[2*(B+1)+1],++i<s&&C===E||(i<t?A.bl_tree[2*C]+=i:0!==C?(C!==Q&&A.bl_tree[2*C]++,A.bl_tree[32]++):i<=10?A.bl_tree[34]++:A.bl_tree[36]++,i=0,Q=C,0===E?(s=138,t=3):C===E?(s=6,t=3):(s=7,t=4))},CA=(A,I,g)=>{let B,C,Q=-1,E=I[1],i=0,s=7,t=4;for(0===E&&(s=138,t=3),B=0;B<=g;B++)if(C=E,E=I[2*(B+1)+1],!(++i<s&&C===E)){if(i<t)do{j(A,C,A.bl_tree)}while(0!==--i);else 0!==C?(C!==Q&&(j(A,C,A.bl_tree),i--),j(A,16,A.bl_tree),P(A,i-3,2)):i<=10?(j(A,17,A.bl_tree),P(A,i-3,3)):(j(A,18,A.bl_tree),P(A,i-11,7));i=0,Q=C,0===E?(s=138,t=3):C===E?(s=6,t=3):(s=7,t=4)}};let QA=!1;const EA=(A,I,g,B)=>{P(A,0+(B?1:0),3),X(A),v(A,g),v(A,~g),g&&A.pending_buf.set(A.window.subarray(I,I+g),A.pending),A.pending+=g};var iA=(A,I,g,B)=>{let C,Q,E=0;A.level>0?(2===A.strm.data_type&&(A.strm.data_type=(A=>{let I,g=4093624447;for(I=0;I<=31;I++,g>>>=1)if(1&g&&0!==A.dyn_ltree[2*I])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(I=32;I<l;I++)if(0!==A.dyn_ltree[2*I])return 1;return 0})(A)),gA(A,A.l_desc),gA(A,A.d_desc),E=(A=>{let I;for(BA(A,A.dyn_ltree,A.l_desc.max_code),BA(A,A.dyn_dtree,A.d_desc.max_code),gA(A,A.bl_desc),I=18;I>=3&&0===A.bl_tree[2*u[I]+1];I--);return A.opt_len+=3*(I+1)+5+5+4,I})(A),C=A.opt_len+3+7>>>3,Q=A.static_len+3+7>>>3,Q<=C&&(C=Q)):C=Q=g+5,g+4<=C&&-1!==I?EA(A,I,g,B):4===A.strategy||Q===C?(P(A,2+(B?1:0),3),IA(A,M,J)):(P(A,4+(B?1:0),3),((A,I,g,B)=>{let C;for(P(A,I-257,5),P(A,g-1,5),P(A,B-4,4),C=0;C<B;C++)P(A,A.bl_tree[2*u[C]+1],3);CA(A,A.dyn_ltree,I-1),CA(A,A.dyn_dtree,g-1)})(A,A.l_desc.max_code+1,A.d_desc.max_code+1,E+1),IA(A,A.dyn_ltree,A.dyn_dtree)),z(A),B&&X(A)},sA={_tr_init:A=>{QA||((()=>{let A,I,g,B,C;const Q=new Array(16);for(g=0,B=0;B<28;B++)for(p[B]=g,A=0;A<1<<Y[B];A++)m[g++]=B;for(m[g-1]=B,C=0,B=0;B<16;B++)for(q[B]=C,A=0;A<1<<f[B];A++)H[C++]=B;for(C>>=7;B<U;B++)for(q[B]=C<<7,A=0;A<1<<f[B]-7;A++)H[256+C++]=B;for(I=0;I<=L;I++)Q[I]=0;for(A=0;A<=143;)M[2*A+1]=8,A++,Q[8]++;for(;A<=255;)M[2*A+1]=9,A++,Q[9]++;for(;A<=279;)M[2*A+1]=7,A++,Q[7]++;for(;A<=287;)M[2*A+1]=8,A++,Q[8]++;for(V(M,287,Q),A=0;A<U;A++)J[2*A+1]=5,J[2*A]=W(A,5);x=new b(M,Y,257,R,L),_=new b(J,f,0,U,L),O=new b(new Array(0),K,0,19,7)})(),QA=!0),A.l_desc=new T(A.dyn_ltree,x),A.d_desc=new T(A.dyn_dtree,_),A.bl_desc=new T(A.bl_tree,O),A.bi_buf=0,A.bi_valid=0,z(A)},_tr_stored_block:EA,_tr_flush_block:iA,_tr_tally:(A,I,g)=>(A.pending_buf[A.sym_buf+A.sym_next++]=I,A.pending_buf[A.sym_buf+A.sym_next++]=I>>8,A.pending_buf[A.sym_buf+A.sym_next++]=g,0===I?A.dyn_ltree[2*g]++:(A.matches++,I--,A.dyn_ltree[2*(m[g]+l+1)]++,A.dyn_dtree[2*Z(I)]++),A.sym_next===A.sym_end),_tr_align:A=>{P(A,2,3),j(A,256,M),(A=>{16===A.bi_valid?(v(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)})(A)}};var tA=(A,I,g,B)=>{let C=65535&A,Q=A>>>16&65535,E=0;for(;0!==g;){E=g>2e3?2e3:g,g-=E;do{C=C+I[B++]|0,Q=Q+C|0}while(--E);C%=65521,Q%=65521}return C|Q<<16};const oA=new Uint32Array((()=>{let A,I=[];for(var g=0;g<256;g++){A=g;for(var B=0;B<8;B++)A=1&A?3988292384^A>>>1:A>>>1;I[g]=A}return I})());var aA=(A,I,g,B)=>{const C=oA,Q=B+g;A^=-1;for(let g=B;g<Q;g++)A=A>>>8^C[255&(A^I[g])];return-1^A},eA={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\"},rA={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};const{_tr_init:DA,_tr_stored_block:hA,_tr_flush_block:nA,_tr_tally:wA,_tr_align:yA}=sA,{Z_NO_FLUSH:GA,Z_PARTIAL_FLUSH:SA,Z_FULL_FLUSH:NA,Z_FINISH:cA,Z_BLOCK:dA,Z_OK:kA,Z_STREAM_END:FA,Z_STREAM_ERROR:lA,Z_DATA_ERROR:RA,Z_BUF_ERROR:UA,Z_DEFAULT_COMPRESSION:LA,Z_FILTERED:YA,Z_HUFFMAN_ONLY:fA,Z_RLE:KA,Z_FIXED:uA,Z_DEFAULT_STRATEGY:MA,Z_UNKNOWN:JA,Z_DEFLATED:HA}=rA,mA=258,pA=262,qA=42,bA=113,xA=666,_A=(A,I)=>(A.msg=eA[I],I),OA=A=>2*A-(A>4?9:0),TA=A=>{let I=A.length;for(;--I>=0;)A[I]=0},ZA=A=>{let I,g,B,C=A.w_size;I=A.hash_size,B=I;do{g=A.head[--B],A.head[B]=g>=C?g-C:0}while(--I);I=C,B=I;do{g=A.prev[--B],A.prev[B]=g>=C?g-C:0}while(--I)};let vA=(A,I,g)=>(I<<A.hash_shift^g)&A.hash_mask;const PA=A=>{const I=A.state;let g=I.pending;g>A.avail_out&&(g=A.avail_out),0!==g&&(A.output.set(I.pending_buf.subarray(I.pending_out,I.pending_out+g),A.next_out),A.next_out+=g,I.pending_out+=g,A.total_out+=g,A.avail_out-=g,I.pending-=g,0===I.pending&&(I.pending_out=0))},jA=(A,I)=>{nA(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,I),A.block_start=A.strstart,PA(A.strm)},WA=(A,I)=>{A.pending_buf[A.pending++]=I},VA=(A,I)=>{A.pending_buf[A.pending++]=I>>>8&255,A.pending_buf[A.pending++]=255&I},zA=(A,I,g,B)=>{let C=A.avail_in;return C>B&&(C=B),0===C?0:(A.avail_in-=C,I.set(A.input.subarray(A.next_in,A.next_in+C),g),1===A.state.wrap?A.adler=tA(A.adler,I,C,g):2===A.state.wrap&&(A.adler=aA(A.adler,I,C,g)),A.next_in+=C,A.total_in+=C,C)},XA=(A,I)=>{let g,B,C=A.max_chain_length,Q=A.strstart,E=A.prev_length,i=A.nice_match;const s=A.strstart>A.w_size-pA?A.strstart-(A.w_size-pA):0,t=A.window,o=A.w_mask,a=A.prev,e=A.strstart+mA;let r=t[Q+E-1],D=t[Q+E];A.prev_length>=A.good_match&&(C>>=2),i>A.lookahead&&(i=A.lookahead);do{if(g=I,t[g+E]===D&&t[g+E-1]===r&&t[g]===t[Q]&&t[++g]===t[Q+1]){Q+=2,g++;do{}while(t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&t[++Q]===t[++g]&&Q<e);if(B=mA-(e-Q),Q=e-mA,B>E){if(A.match_start=I,E=B,B>=i)break;r=t[Q+E-1],D=t[Q+E]}}}while((I=a[I&o])>s&&0!==--C);return E<=A.lookahead?E:A.lookahead},$A=A=>{const I=A.w_size;let g,B,C;do{if(B=A.window_size-A.lookahead-A.strstart,A.strstart>=I+(I-pA)&&(A.window.set(A.window.subarray(I,I+I-B),0),A.match_start-=I,A.strstart-=I,A.block_start-=I,A.insert>A.strstart&&(A.insert=A.strstart),ZA(A),B+=I),0===A.strm.avail_in)break;if(g=zA(A.strm,A.window,A.strstart+A.lookahead,B),A.lookahead+=g,A.lookahead+A.insert>=3)for(C=A.strstart-A.insert,A.ins_h=A.window[C],A.ins_h=vA(A,A.ins_h,A.window[C+1]);A.insert&&(A.ins_h=vA(A,A.ins_h,A.window[C+3-1]),A.prev[C&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=C,C++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<pA&&0!==A.strm.avail_in)},AI=(A,I)=>{let g,B,C,Q=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,E=0,i=A.strm.avail_in;do{if(g=65535,C=A.bi_valid+42>>3,A.strm.avail_out<C)break;if(C=A.strm.avail_out-C,B=A.strstart-A.block_start,g>B+A.strm.avail_in&&(g=B+A.strm.avail_in),g>C&&(g=C),g<Q&&(0===g&&I!==cA||I===GA||g!==B+A.strm.avail_in))break;E=I===cA&&g===B+A.strm.avail_in?1:0,hA(A,0,0,E),A.pending_buf[A.pending-4]=g,A.pending_buf[A.pending-3]=g>>8,A.pending_buf[A.pending-2]=~g,A.pending_buf[A.pending-1]=~g>>8,PA(A.strm),B&&(B>g&&(B=g),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+B),A.strm.next_out),A.strm.next_out+=B,A.strm.avail_out-=B,A.strm.total_out+=B,A.block_start+=B,g-=B),g&&(zA(A.strm,A.strm.output,A.strm.next_out,g),A.strm.next_out+=g,A.strm.avail_out-=g,A.strm.total_out+=g)}while(0===E);return i-=A.strm.avail_in,i&&(i>=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<=i&&(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-i,A.strm.next_in),A.strstart),A.strstart+=i,A.insert+=i>A.w_size-A.insert?A.w_size-A.insert:i),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),E?4:I!==GA&&I!==cA&&0===A.strm.avail_in&&A.strstart===A.block_start?2:(C=A.window_size-A.strstart,A.strm.avail_in>C&&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++,C+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),C>A.strm.avail_in&&(C=A.strm.avail_in),C&&(zA(A.strm,A.window,A.strstart,C),A.strstart+=C,A.insert+=C>A.w_size-A.insert?A.w_size-A.insert:C),A.high_water<A.strstart&&(A.high_water=A.strstart),C=A.bi_valid+42>>3,C=A.pending_buf_size-C>65535?65535:A.pending_buf_size-C,Q=C>A.w_size?A.w_size:C,B=A.strstart-A.block_start,(B>=Q||(B||I===cA)&&I!==GA&&0===A.strm.avail_in&&B<=C)&&(g=B>C?C:B,E=I===cA&&0===A.strm.avail_in&&g===B?1:0,hA(A,A.block_start,g,E),A.block_start+=g,PA(A.strm)),E?3:1)},II=(A,I)=>{let g,B;for(;;){if(A.lookahead<pA){if($A(A),A.lookahead<pA&&I===GA)return 1;if(0===A.lookahead)break}if(g=0,A.lookahead>=3&&(A.ins_h=vA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==g&&A.strstart-g<=A.w_size-pA&&(A.match_length=XA(A,g)),A.match_length>=3)if(B=wA(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=vA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=vA(A,A.ins_h,A.window[A.strstart+1]);else B=wA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(B&&(jA(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,I===cA?(jA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(jA(A,!1),0===A.strm.avail_out)?1:2},gI=(A,I)=>{let g,B,C;for(;;){if(A.lookahead<pA){if($A(A),A.lookahead<pA&&I===GA)return 1;if(0===A.lookahead)break}if(g=0,A.lookahead>=3&&(A.ins_h=vA(A,A.ins_h,A.window[A.strstart+3-1]),g=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=2,0!==g&&A.prev_length<A.max_lazy_match&&A.strstart-g<=A.w_size-pA&&(A.match_length=XA(A,g),A.match_length<=5&&(A.strategy===YA||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){C=A.strstart+A.lookahead-3,B=wA(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=C&&(A.ins_h=vA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,B&&(jA(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if(B=wA(A,0,A.window[A.strstart-1]),B&&jA(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(B=wA(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,I===cA?(jA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(jA(A,!1),0===A.strm.avail_out)?1:2};function BI(A,I,g,B,C){this.good_length=A,this.max_lazy=I,this.nice_length=g,this.max_chain=B,this.func=C}const CI=[new BI(0,0,0,0,AI),new BI(4,4,8,4,II),new BI(4,5,16,8,II),new BI(4,6,32,32,II),new BI(4,4,16,16,gI),new BI(8,16,32,32,gI),new BI(8,16,128,128,gI),new BI(8,32,128,256,gI),new BI(32,128,258,1024,gI),new BI(32,258,258,4096,gI)];function QI(){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=HA,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(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),TA(this.dyn_ltree),TA(this.dyn_dtree),TA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),TA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),TA(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}const EI=A=>{if(!A)return 1;const I=A.state;return!I||I.strm!==A||I.status!==qA&&57!==I.status&&69!==I.status&&73!==I.status&&91!==I.status&&103!==I.status&&I.status!==bA&&I.status!==xA?1:0},iI=A=>{if(EI(A))return _A(A,lA);A.total_in=A.total_out=0,A.data_type=JA;const I=A.state;return I.pending=0,I.pending_out=0,I.wrap<0&&(I.wrap=-I.wrap),I.status=2===I.wrap?57:I.wrap?qA:bA,A.adler=2===I.wrap?0:1,I.last_flush=-2,DA(I),kA},sI=A=>{const I=iI(A);var g;return I===kA&&((g=A.state).window_size=2*g.w_size,TA(g.head),g.max_lazy_match=CI[g.level].max_lazy,g.good_match=CI[g.level].good_length,g.nice_match=CI[g.level].nice_length,g.max_chain_length=CI[g.level].max_chain,g.strstart=0,g.block_start=0,g.lookahead=0,g.insert=0,g.match_length=g.prev_length=2,g.match_available=0,g.ins_h=0),I},tI=(A,I,g,B,C,Q)=>{if(!A)return lA;let E=1;if(I===LA&&(I=6),B<0?(E=0,B=-B):B>15&&(E=2,B-=16),C<1||C>9||g!==HA||B<8||B>15||I<0||I>9||Q<0||Q>uA||8===B&&1!==E)return _A(A,lA);8===B&&(B=9);const i=new QI;return A.state=i,i.strm=A,i.status=qA,i.wrap=E,i.gzhead=null,i.w_bits=B,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=C+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+3-1)/3),i.window=new Uint8Array(2*i.w_size),i.head=new Uint16Array(i.hash_size),i.prev=new Uint16Array(i.w_size),i.lit_bufsize=1<<C+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new Uint8Array(i.pending_buf_size),i.sym_buf=i.lit_bufsize,i.sym_end=3*(i.lit_bufsize-1),i.level=I,i.strategy=Q,i.method=g,sI(A)};var oI={deflateInit:(A,I)=>tI(A,I,HA,15,8,MA),deflateInit2:tI,deflateReset:sI,deflateResetKeep:iI,deflateSetHeader:(A,I)=>EI(A)||2!==A.state.wrap?lA:(A.state.gzhead=I,kA),deflate:(A,I)=>{if(EI(A)||I>dA||I<0)return A?_A(A,lA):lA;const g=A.state;if(!A.output||0!==A.avail_in&&!A.input||g.status===xA&&I!==cA)return _A(A,0===A.avail_out?UA:lA);const B=g.last_flush;if(g.last_flush=I,0!==g.pending){if(PA(A),0===A.avail_out)return g.last_flush=-1,kA}else if(0===A.avail_in&&OA(I)<=OA(B)&&I!==cA)return _A(A,UA);if(g.status===xA&&0!==A.avail_in)return _A(A,UA);if(g.status===qA&&0===g.wrap&&(g.status=bA),g.status===qA){let I=HA+(g.w_bits-8<<4)<<8,B=-1;if(B=g.strategy>=fA||g.level<2?0:g.level<6?1:6===g.level?2:3,I|=B<<6,0!==g.strstart&&(I|=32),I+=31-I%31,VA(g,I),0!==g.strstart&&(VA(g,A.adler>>>16),VA(g,65535&A.adler)),A.adler=1,g.status=bA,PA(A),0!==g.pending)return g.last_flush=-1,kA}if(57===g.status)if(A.adler=0,WA(g,31),WA(g,139),WA(g,8),g.gzhead)WA(g,(g.gzhead.text?1:0)+(g.gzhead.hcrc?2:0)+(g.gzhead.extra?4:0)+(g.gzhead.name?8:0)+(g.gzhead.comment?16:0)),WA(g,255&g.gzhead.time),WA(g,g.gzhead.time>>8&255),WA(g,g.gzhead.time>>16&255),WA(g,g.gzhead.time>>24&255),WA(g,9===g.level?2:g.strategy>=fA||g.level<2?4:0),WA(g,255&g.gzhead.os),g.gzhead.extra&&g.gzhead.extra.length&&(WA(g,255&g.gzhead.extra.length),WA(g,g.gzhead.extra.length>>8&255)),g.gzhead.hcrc&&(A.adler=aA(A.adler,g.pending_buf,g.pending,0)),g.gzindex=0,g.status=69;else if(WA(g,0),WA(g,0),WA(g,0),WA(g,0),WA(g,0),WA(g,9===g.level?2:g.strategy>=fA||g.level<2?4:0),WA(g,3),g.status=bA,PA(A),0!==g.pending)return g.last_flush=-1,kA;if(69===g.status){if(g.gzhead.extra){let I=g.pending,B=(65535&g.gzhead.extra.length)-g.gzindex;for(;g.pending+B>g.pending_buf_size;){let C=g.pending_buf_size-g.pending;if(g.pending_buf.set(g.gzhead.extra.subarray(g.gzindex,g.gzindex+C),g.pending),g.pending=g.pending_buf_size,g.gzhead.hcrc&&g.pending>I&&(A.adler=aA(A.adler,g.pending_buf,g.pending-I,I)),g.gzindex+=C,PA(A),0!==g.pending)return g.last_flush=-1,kA;I=0,B-=C}let C=new Uint8Array(g.gzhead.extra);g.pending_buf.set(C.subarray(g.gzindex,g.gzindex+B),g.pending),g.pending+=B,g.gzhead.hcrc&&g.pending>I&&(A.adler=aA(A.adler,g.pending_buf,g.pending-I,I)),g.gzindex=0}g.status=73}if(73===g.status){if(g.gzhead.name){let I,B=g.pending;do{if(g.pending===g.pending_buf_size){if(g.gzhead.hcrc&&g.pending>B&&(A.adler=aA(A.adler,g.pending_buf,g.pending-B,B)),PA(A),0!==g.pending)return g.last_flush=-1,kA;B=0}I=g.gzindex<g.gzhead.name.length?255&g.gzhead.name.charCodeAt(g.gzindex++):0,WA(g,I)}while(0!==I);g.gzhead.hcrc&&g.pending>B&&(A.adler=aA(A.adler,g.pending_buf,g.pending-B,B)),g.gzindex=0}g.status=91}if(91===g.status){if(g.gzhead.comment){let I,B=g.pending;do{if(g.pending===g.pending_buf_size){if(g.gzhead.hcrc&&g.pending>B&&(A.adler=aA(A.adler,g.pending_buf,g.pending-B,B)),PA(A),0!==g.pending)return g.last_flush=-1,kA;B=0}I=g.gzindex<g.gzhead.comment.length?255&g.gzhead.comment.charCodeAt(g.gzindex++):0,WA(g,I)}while(0!==I);g.gzhead.hcrc&&g.pending>B&&(A.adler=aA(A.adler,g.pending_buf,g.pending-B,B))}g.status=103}if(103===g.status){if(g.gzhead.hcrc){if(g.pending+2>g.pending_buf_size&&(PA(A),0!==g.pending))return g.last_flush=-1,kA;WA(g,255&A.adler),WA(g,A.adler>>8&255),A.adler=0}if(g.status=bA,PA(A),0!==g.pending)return g.last_flush=-1,kA}if(0!==A.avail_in||0!==g.lookahead||I!==GA&&g.status!==xA){let B=0===g.level?AI(g,I):g.strategy===fA?((A,I)=>{let g;for(;;){if(0===A.lookahead&&($A(A),0===A.lookahead)){if(I===GA)return 1;break}if(A.match_length=0,g=wA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,g&&(jA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,I===cA?(jA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(jA(A,!1),0===A.strm.avail_out)?1:2})(g,I):g.strategy===KA?((A,I)=>{let g,B,C,Q;const E=A.window;for(;;){if(A.lookahead<=mA){if($A(A),A.lookahead<=mA&&I===GA)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(C=A.strstart-1,B=E[C],B===E[++C]&&B===E[++C]&&B===E[++C])){Q=A.strstart+mA;do{}while(B===E[++C]&&B===E[++C]&&B===E[++C]&&B===E[++C]&&B===E[++C]&&B===E[++C]&&B===E[++C]&&B===E[++C]&&C<Q);A.match_length=mA-(Q-C),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(g=wA(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(g=wA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),g&&(jA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,I===cA?(jA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(jA(A,!1),0===A.strm.avail_out)?1:2})(g,I):CI[g.level].func(g,I);if(3!==B&&4!==B||(g.status=xA),1===B||3===B)return 0===A.avail_out&&(g.last_flush=-1),kA;if(2===B&&(I===SA?yA(g):I!==dA&&(hA(g,0,0,!1),I===NA&&(TA(g.head),0===g.lookahead&&(g.strstart=0,g.block_start=0,g.insert=0))),PA(A),0===A.avail_out))return g.last_flush=-1,kA}return I!==cA?kA:g.wrap<=0?FA:(2===g.wrap?(WA(g,255&A.adler),WA(g,A.adler>>8&255),WA(g,A.adler>>16&255),WA(g,A.adler>>24&255),WA(g,255&A.total_in),WA(g,A.total_in>>8&255),WA(g,A.total_in>>16&255),WA(g,A.total_in>>24&255)):(VA(g,A.adler>>>16),VA(g,65535&A.adler)),PA(A),g.wrap>0&&(g.wrap=-g.wrap),0!==g.pending?kA:FA)},deflateEnd:A=>{if(EI(A))return lA;const I=A.state.status;return A.state=null,I===bA?_A(A,RA):kA},deflateSetDictionary:(A,I)=>{let g=I.length;if(EI(A))return lA;const B=A.state,C=B.wrap;if(2===C||1===C&&B.status!==qA||B.lookahead)return lA;if(1===C&&(A.adler=tA(A.adler,I,g,0)),B.wrap=0,g>=B.w_size){0===C&&(TA(B.head),B.strstart=0,B.block_start=0,B.insert=0);let A=new Uint8Array(B.w_size);A.set(I.subarray(g-B.w_size,g),0),I=A,g=B.w_size}const Q=A.avail_in,E=A.next_in,i=A.input;for(A.avail_in=g,A.next_in=0,A.input=I,$A(B);B.lookahead>=3;){let A=B.strstart,I=B.lookahead-2;do{B.ins_h=vA(B,B.ins_h,B.window[A+3-1]),B.prev[A&B.w_mask]=B.head[B.ins_h],B.head[B.ins_h]=A,A++}while(--I);B.strstart=A,B.lookahead=2,$A(B)}return B.strstart+=B.lookahead,B.block_start=B.strstart,B.insert=B.lookahead,B.lookahead=0,B.match_length=B.prev_length=2,B.match_available=0,A.next_in=E,A.input=i,A.avail_in=Q,B.wrap=C,kA},deflateInfo:\"pako deflate (from Nodeca project)\"};const aI=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var eI=function(A){const I=Array.prototype.slice.call(arguments,1);for(;I.length;){const g=I.shift();if(g){if(\"object\"!=typeof g)throw new TypeError(g+\"must be non-object\");for(const I in g)aI(g,I)&&(A[I]=g[I])}}return A},rI=A=>{let I=0;for(let g=0,B=A.length;g<B;g++)I+=A[g].length;const g=new Uint8Array(I);for(let I=0,B=0,C=A.length;I<C;I++){let C=A[I];g.set(C,B),B+=C.length}return g};let DI=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){DI=!1}const hI=new Uint8Array(256);for(let A=0;A<256;A++)hI[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;hI[254]=hI[254]=1;var nI=A=>{if(\"function\"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let I,g,B,C,Q,E=A.length,i=0;for(C=0;C<E;C++)g=A.charCodeAt(C),55296==(64512&g)&&C+1<E&&(B=A.charCodeAt(C+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),C++)),i+=g<128?1:g<2048?2:g<65536?3:4;for(I=new Uint8Array(i),Q=0,C=0;Q<i;C++)g=A.charCodeAt(C),55296==(64512&g)&&C+1<E&&(B=A.charCodeAt(C+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),C++)),g<128?I[Q++]=g:g<2048?(I[Q++]=192|g>>>6,I[Q++]=128|63&g):g<65536?(I[Q++]=224|g>>>12,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g):(I[Q++]=240|g>>>18,I[Q++]=128|g>>>12&63,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g);return I},wI=(A,I)=>{const g=I||A.length;if(\"function\"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,I));let B,C;const Q=new Array(2*g);for(C=0,B=0;B<g;){let I=A[B++];if(I<128){Q[C++]=I;continue}let E=hI[I];if(E>4)Q[C++]=65533,B+=E-1;else{for(I&=2===E?31:3===E?15:7;E>1&&B<g;)I=I<<6|63&A[B++],E--;E>1?Q[C++]=65533:I<65536?Q[C++]=I:(I-=65536,Q[C++]=55296|I>>10&1023,Q[C++]=56320|1023&I)}}return((A,I)=>{if(I<65534&&A.subarray&&DI)return String.fromCharCode.apply(null,A.length===I?A:A.subarray(0,I));let g=\"\";for(let B=0;B<I;B++)g+=String.fromCharCode(A[B]);return g})(Q,C)},yI=(A,I)=>{(I=I||A.length)>A.length&&(I=A.length);let g=I-1;for(;g>=0&&128==(192&A[g]);)g--;return g<0||0===g?I:g+hI[A[g]]>I?g:I};var GI=function(){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};const SI=Object.prototype.toString,{Z_NO_FLUSH:NI,Z_SYNC_FLUSH:cI,Z_FULL_FLUSH:dI,Z_FINISH:kI,Z_OK:FI,Z_STREAM_END:lI,Z_DEFAULT_COMPRESSION:RI,Z_DEFAULT_STRATEGY:UI,Z_DEFLATED:LI}=rA;function YI(A){this.options=eI({level:RI,method:LI,chunkSize:16384,windowBits:15,memLevel:8,strategy:UI},A||{});let I=this.options;I.raw&&I.windowBits>0?I.windowBits=-I.windowBits:I.gzip&&I.windowBits>0&&I.windowBits<16&&(I.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new GI,this.strm.avail_out=0;let g=oI.deflateInit2(this.strm,I.level,I.method,I.windowBits,I.memLevel,I.strategy);if(g!==FI)throw new Error(eA[g]);if(I.header&&oI.deflateSetHeader(this.strm,I.header),I.dictionary){let A;if(A=\"string\"==typeof I.dictionary?nI(I.dictionary):\"[object ArrayBuffer]\"===SI.call(I.dictionary)?new Uint8Array(I.dictionary):I.dictionary,g=oI.deflateSetDictionary(this.strm,A),g!==FI)throw new Error(eA[g]);this._dict_set=!0}}YI.prototype.push=function(A,I){const g=this.strm,B=this.options.chunkSize;let C,Q;if(this.ended)return!1;for(Q=I===~~I?I:!0===I?kI:NI,\"string\"==typeof A?g.input=nI(A):\"[object ArrayBuffer]\"===SI.call(A)?g.input=new Uint8Array(A):g.input=A,g.next_in=0,g.avail_in=g.input.length;;)if(0===g.avail_out&&(g.output=new Uint8Array(B),g.next_out=0,g.avail_out=B),(Q===cI||Q===dI)&&g.avail_out<=6)this.onData(g.output.subarray(0,g.next_out)),g.avail_out=0;else{if(C=oI.deflate(g,Q),C===lI)return g.next_out>0&&this.onData(g.output.subarray(0,g.next_out)),C=oI.deflateEnd(this.strm),this.onEnd(C),this.ended=!0,C===FI;if(0!==g.avail_out){if(Q>0&&g.next_out>0)this.onData(g.output.subarray(0,g.next_out)),g.avail_out=0;else if(0===g.avail_in)break}else this.onData(g.output)}return!0},YI.prototype.onData=function(A){this.chunks.push(A)},YI.prototype.onEnd=function(A){A===FI&&(this.result=rI(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};const fI=16209;var KI=function(A,I){let g,B,C,Q,E,i,s,t,o,a,e,r,D,h,n,w,y,G,S,N,c,d,k,F;const l=A.state;g=A.next_in,k=A.input,B=g+(A.avail_in-5),C=A.next_out,F=A.output,Q=C-(I-A.avail_out),E=C+(A.avail_out-257),i=l.dmax,s=l.wsize,t=l.whave,o=l.wnext,a=l.window,e=l.hold,r=l.bits,D=l.lencode,h=l.distcode,n=(1<<l.lenbits)-1,w=(1<<l.distbits)-1;A:do{r<15&&(e+=k[g++]<<r,r+=8,e+=k[g++]<<r,r+=8),y=D[e&n];I:for(;;){if(G=y>>>24,e>>>=G,r-=G,G=y>>>16&255,0===G)F[C++]=65535&y;else{if(!(16&G)){if(64&G){if(32&G){l.mode=16191;break A}A.msg=\"invalid literal/length code\",l.mode=fI;break A}y=D[(65535&y)+(e&(1<<G)-1)];continue I}for(S=65535&y,G&=15,G&&(r<G&&(e+=k[g++]<<r,r+=8),S+=e&(1<<G)-1,e>>>=G,r-=G),r<15&&(e+=k[g++]<<r,r+=8,e+=k[g++]<<r,r+=8),y=h[e&w];;){if(G=y>>>24,e>>>=G,r-=G,G=y>>>16&255,16&G){if(N=65535&y,G&=15,r<G&&(e+=k[g++]<<r,r+=8,r<G&&(e+=k[g++]<<r,r+=8)),N+=e&(1<<G)-1,N>i){A.msg=\"invalid distance too far back\",l.mode=fI;break A}if(e>>>=G,r-=G,G=C-Q,N>G){if(G=N-G,G>t&&l.sane){A.msg=\"invalid distance too far back\",l.mode=fI;break A}if(c=0,d=a,0===o){if(c+=s-G,G<S){S-=G;do{F[C++]=a[c++]}while(--G);c=C-N,d=F}}else if(o<G){if(c+=s+o-G,G-=o,G<S){S-=G;do{F[C++]=a[c++]}while(--G);if(c=0,o<S){G=o,S-=G;do{F[C++]=a[c++]}while(--G);c=C-N,d=F}}}else if(c+=o-G,G<S){S-=G;do{F[C++]=a[c++]}while(--G);c=C-N,d=F}for(;S>2;)F[C++]=d[c++],F[C++]=d[c++],F[C++]=d[c++],S-=3;S&&(F[C++]=d[c++],S>1&&(F[C++]=d[c++]))}else{c=C-N;do{F[C++]=F[c++],F[C++]=F[c++],F[C++]=F[c++],S-=3}while(S>2);S&&(F[C++]=F[c++],S>1&&(F[C++]=F[c++]))}break}if(64&G){A.msg=\"invalid distance code\",l.mode=fI;break A}y=h[(65535&y)+(e&(1<<G)-1)]}}break}}while(g<B&&C<E);S=r>>3,g-=S,r-=S<<3,e&=(1<<r)-1,A.next_in=g,A.next_out=C,A.avail_in=g<B?B-g+5:5-(g-B),A.avail_out=C<E?E-C+257:257-(C-E),l.hold=e,l.bits=r};const uI=15,MI=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]),JI=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]),HI=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]),mI=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]);var pI=(A,I,g,B,C,Q,E,i)=>{const s=i.bits;let t,o,a,e,r,D,h=0,n=0,w=0,y=0,G=0,S=0,N=0,c=0,d=0,k=0,F=null;const l=new Uint16Array(16),R=new Uint16Array(16);let U,L,Y,f=null;for(h=0;h<=uI;h++)l[h]=0;for(n=0;n<B;n++)l[I[g+n]]++;for(G=s,y=uI;y>=1&&0===l[y];y--);if(G>y&&(G=y),0===y)return C[Q++]=20971520,C[Q++]=20971520,i.bits=1,0;for(w=1;w<y&&0===l[w];w++);for(G<w&&(G=w),c=1,h=1;h<=uI;h++)if(c<<=1,c-=l[h],c<0)return-1;if(c>0&&(0===A||1!==y))return-1;for(R[1]=0,h=1;h<uI;h++)R[h+1]=R[h]+l[h];for(n=0;n<B;n++)0!==I[g+n]&&(E[R[I[g+n]]++]=n);if(0===A?(F=f=E,D=20):1===A?(F=MI,f=JI,D=257):(F=HI,f=mI,D=0),k=0,n=0,h=w,r=Q,S=G,N=0,a=-1,d=1<<G,e=d-1,1===A&&d>852||2===A&&d>592)return 1;for(;;){U=h-N,E[n]+1<D?(L=0,Y=E[n]):E[n]>=D?(L=f[E[n]-D],Y=F[E[n]-D]):(L=96,Y=0),t=1<<h-N,o=1<<S,w=o;do{o-=t,C[r+(k>>N)+o]=U<<24|L<<16|Y}while(0!==o);for(t=1<<h-1;k&t;)t>>=1;if(0!==t?(k&=t-1,k+=t):k=0,n++,0===--l[h]){if(h===y)break;h=I[g+E[n]]}if(h>G&&(k&e)!==a){for(0===N&&(N=G),r+=w,S=h-N,c=1<<S;S+N<y&&(c-=l[S+N],!(c<=0));)S++,c<<=1;if(d+=1<<S,1===A&&d>852||2===A&&d>592)return 1;a=k&e,C[a]=G<<24|S<<16|r-Q}}return 0!==k&&(C[r+k]=h-N<<24|64<<16),i.bits=G,0};const{Z_FINISH:qI,Z_BLOCK:bI,Z_TREES:xI,Z_OK:_I,Z_STREAM_END:OI,Z_NEED_DICT:TI,Z_STREAM_ERROR:ZI,Z_DATA_ERROR:vI,Z_MEM_ERROR:PI,Z_BUF_ERROR:jI,Z_DEFLATED:WI}=rA,VI=16180,zI=16190,XI=16191,$I=16192,Ag=16194,Ig=16199,gg=16200,Bg=16206,Cg=16209,Qg=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function Eg(){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}const ig=A=>{if(!A)return 1;const I=A.state;return!I||I.strm!==A||I.mode<VI||I.mode>16211?1:0},sg=A=>{if(ig(A))return ZI;const I=A.state;return A.total_in=A.total_out=I.total=0,A.msg=\"\",I.wrap&&(A.adler=1&I.wrap),I.mode=VI,I.last=0,I.havedict=0,I.flags=-1,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new Int32Array(852),I.distcode=I.distdyn=new Int32Array(592),I.sane=1,I.back=-1,_I},tg=A=>{if(ig(A))return ZI;const I=A.state;return I.wsize=0,I.whave=0,I.wnext=0,sg(A)},og=(A,I)=>{let g;if(ig(A))return ZI;const B=A.state;return I<0?(g=0,I=-I):(g=5+(I>>4),I<48&&(I&=15)),I&&(I<8||I>15)?ZI:(null!==B.window&&B.wbits!==I&&(B.window=null),B.wrap=g,B.wbits=I,tg(A))},ag=(A,I)=>{if(!A)return ZI;const g=new Eg;A.state=g,g.strm=A,g.window=null,g.mode=VI;const B=og(A,I);return B!==_I&&(A.state=null),B};let eg,rg,Dg=!0;const hg=A=>{if(Dg){eg=new Int32Array(512),rg=new Int32Array(32);let I=0;for(;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(pI(1,A.lens,0,288,eg,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;pI(2,A.lens,0,32,rg,0,A.work,{bits:5}),Dg=!1}A.lencode=eg,A.lenbits=9,A.distcode=rg,A.distbits=5},ng=(A,I,g,B)=>{let C;const Q=A.state;return null===Q.window&&(Q.wsize=1<<Q.wbits,Q.wnext=0,Q.whave=0,Q.window=new Uint8Array(Q.wsize)),B>=Q.wsize?(Q.window.set(I.subarray(g-Q.wsize,g),0),Q.wnext=0,Q.whave=Q.wsize):(C=Q.wsize-Q.wnext,C>B&&(C=B),Q.window.set(I.subarray(g-B,g-B+C),Q.wnext),(B-=C)?(Q.window.set(I.subarray(g-B,g),0),Q.wnext=B,Q.whave=Q.wsize):(Q.wnext+=C,Q.wnext===Q.wsize&&(Q.wnext=0),Q.whave<Q.wsize&&(Q.whave+=C))),0};var wg={inflateReset:tg,inflateReset2:og,inflateResetKeep:sg,inflateInit:A=>ag(A,15),inflateInit2:ag,inflate:(A,I)=>{let g,B,C,Q,E,i,s,t,o,a,e,r,D,h,n,w,y,G,S,N,c,d,k=0;const F=new Uint8Array(4);let l,R;const U=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ig(A)||!A.output||!A.input&&0!==A.avail_in)return ZI;g=A.state,g.mode===XI&&(g.mode=$I),E=A.next_out,C=A.output,s=A.avail_out,Q=A.next_in,B=A.input,i=A.avail_in,t=g.hold,o=g.bits,a=i,e=s,d=_I;A:for(;;)switch(g.mode){case VI:if(0===g.wrap){g.mode=$I;break}for(;o<16;){if(0===i)break A;i--,t+=B[Q++]<<o,o+=8}if(2&g.wrap&&35615===t){0===g.wbits&&(g.wbits=15),g.check=0,F[0]=255&t,F[1]=t>>>8&255,g.check=aA(g.check,F,2,0),t=0,o=0,g.mode=16181;break}if(g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&t)<<8)+(t>>8))%31){A.msg=\"incorrect header check\",g.mode=Cg;break}if((15&t)!==WI){A.msg=\"unknown compression method\",g.mode=Cg;break}if(t>>>=4,o-=4,c=8+(15&t),0===g.wbits&&(g.wbits=c),c>15||c>g.wbits){A.msg=\"invalid window size\",g.mode=Cg;break}g.dmax=1<<g.wbits,g.flags=0,A.adler=g.check=1,g.mode=512&t?16189:XI,t=0,o=0;break;case 16181:for(;o<16;){if(0===i)break A;i--,t+=B[Q++]<<o,o+=8}if(g.flags=t,(255&g.flags)!==WI){A.msg=\"unknown compression method\",g.mode=Cg;break}if(57344&g.flags){A.msg=\"unknown header flags set\",g.mode=Cg;break}g.head&&(g.head.text=t>>8&1),512&g.flags&&4&g.wrap&&(F[0]=255&t,F[1]=t>>>8&255,g.check=aA(g.check,F,2,0)),t=0,o=0,g.mode=16182;case 16182:for(;o<32;){if(0===i)break A;i--,t+=B[Q++]<<o,o+=8}g.head&&(g.head.time=t),512&g.flags&&4&g.wrap&&(F[0]=255&t,F[1]=t>>>8&255,F[2]=t>>>16&255,F[3]=t>>>24&255,g.check=aA(g.check,F,4,0)),t=0,o=0,g.mode=16183;case 16183:for(;o<16;){if(0===i)break A;i--,t+=B[Q++]<<o,o+=8}g.head&&(g.head.xflags=255&t,g.head.os=t>>8),512&g.flags&&4&g.wrap&&(F[0]=255&t,F[1]=t>>>8&255,g.check=aA(g.check,F,2,0)),t=0,o=0,g.mode=16184;case 16184:if(1024&g.flags){for(;o<16;){if(0===i)break A;i--,t+=B[Q++]<<o,o+=8}g.length=t,g.head&&(g.head.extra_len=t),512&g.flags&&4&g.wrap&&(F[0]=255&t,F[1]=t>>>8&255,g.check=aA(g.check,F,2,0)),t=0,o=0}else g.head&&(g.head.extra=null);g.mode=16185;case 16185:if(1024&g.flags&&(r=g.length,r>i&&(r=i),r&&(g.head&&(c=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Uint8Array(g.head.extra_len)),g.head.extra.set(B.subarray(Q,Q+r),c)),512&g.flags&&4&g.wrap&&(g.check=aA(g.check,B,r,Q)),i-=r,Q+=r,g.length-=r),g.length))break A;g.length=0,g.mode=16186;case 16186:if(2048&g.flags){if(0===i)break A;r=0;do{c=B[Q+r++],g.head&&c&&g.length<65536&&(g.head.name+=String.fromCharCode(c))}while(c&&r<i);if(512&g.flags&&4&g.wrap&&(g.check=aA(g.check,B,r,Q)),i-=r,Q+=r,c)break A}else g.head&&(g.head.name=null);g.length=0,g.mode=16187;case 16187:if(4096&g.flags){if(0===i)break A;r=0;do{c=B[Q+r++],g.head&&c&&g.length<65536&&(g.head.comment+=String.fromCharCode(c))}while(c&&r<i);if(512&g.flags&&4&g.wrap&&(g.check=aA(g.check,B,r,Q)),i-=r,Q+=r,c)break A}else g.head&&(g.