@zip.js/zip.js 2.8.28 → 2.8.30
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/BENCHMARKS.md +203 -0
- package/deno.json +1 -1
- package/dist/zip-core.js +590 -53
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +476 -53
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +652 -57
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +655 -55
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +591 -54
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +594 -57
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +597 -55
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +652 -57
- package/index-native.min.js +1 -1
- package/index.cjs +655 -55
- package/index.d.ts +126 -1
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +10 -1
- package/lib/core/options.js +11 -1
- package/lib/core/streams/codecs/crc32.js +39 -11
- package/lib/core/streams/zip-entry-stream.js +139 -9
- package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
- package/lib/core/streams/zlib-wasm/zlib-streams.js +6 -1
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/util/opfs-temp-stream.js +175 -0
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +58 -0
- package/lib/core/zip-reader.js +219 -31
- package/lib/core/zip-writer.js +11 -0
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-core-base.js +4 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:A,String:n,Number:i,BigInt:r,Math:a,Date:s,Map:o,Set:g,Response:c,URL:l,Error:d,Uint8Array:u,Uint16Array:m,Uint32Array:B,DataView:p,Blob:f,Promise:h,TextEncoder:w,TextDecoder:I,document:E,crypto:C,btoa:x,TransformStream:y,ReadableStream:D,WritableStream:F,CompressionStream:b,DecompressionStream:Q,navigator:v,Worker:Y}="undefined"!=typeof globalThis?globalThis:this||self;var S=void 0!==E?E.currentScript:null;const k=4294967295,M=65535,U=255,z=67324752,G=134695760,W=G,O=33639248,R=101010256,T=101075792,K=117853008,H=22,N=21589,L=2048,J=16384,P=2048,Z=1024,X="/",V=30,j=new s(2107,11,31),q=new s(1980,0,1),_=void 0,$=1/0,ee="undefined",te="function";let Ae=2;try{typeof v!=ee&&v.hardwareConcurrency&&(Ae=v.hardwareConcurrency)}catch{}const ne={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Ae,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof b!=ee&&b,DecompressionStream:typeof Q!=ee&&Q},ie=A.assign({},ne);function re(){return ie}function ae(e){return a.max(e.chunkSize,64)}function se(e){const{baseURI:t,chunkSize:A,maxWorkers:n,terminateWorkerTimeout:i,workerStarvationTimeout:r,useCompressionStream:a,useWebWorkers:s,CompressionStream:o,DecompressionStream:g,CompressionStreamZlib:c,DecompressionStreamZlib:l,workerURI:d,wasmURI:u}=e;oe("baseURI",t),oe("wasmURI",u),oe("workerURI",d),oe("chunkSize",A),oe("maxWorkers",n),oe("terminateWorkerTimeout",i),oe("workerStarvationTimeout",r),oe("useCompressionStream",a),oe("useWebWorkers",s),oe("CompressionStream",o),oe("DecompressionStream",g),oe("CompressionStreamZlib",c),oe("DecompressionStreamZlib",l)}function oe(e,t){t!==_&&(ie[e]=t)}const ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ce=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;ce[e]=t}class le{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let A=0,n=0|e.length;n>A;A++)t=t>>>8^ce[255&(t^e[A])];this.crc=t}get(){return~this.crc}}class de extends y{constructor(){let e;const t=new le;super({transform(e,A){t.append(e),A.enqueue(e)},flush(){const A=new u(4);new p(A.buffer).setUint32(0,t.get()),e.value=A}}),e=this}}function ue(e){if(typeof w==ee){const t=new u((e=unescape(encodeURIComponent(e))).length);for(let A=0;A<t.length;A++)t[A]=e.charCodeAt(A);return t}return(new w).encode(e)}const me={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const A=e[e.length-1],n=me.getPartial(A);return 32===n?e.concat(t):me._shiftRight(t,n,0|A,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const A=e[t-1];return 32*(t-1)+me.getPartial(A)},clamp(e,t){if(32*e.length<t)return e;const A=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,A>0&&t&&(e[A-1]=me.partial(t,e[A-1]&2147483648>>t-1,1)),e},partial:(e,t,A)=>32===e?t:(A?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,A,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(A),A=0;if(0===t)return n.concat(e);for(let i=0;i<e.length;i++)n.push(A|e[i]>>>t),A=e[i]<<32-t;const i=e.length?e[e.length-1]:0,r=me.getPartial(i);return n.push(me.partial(t+r&31,t+r>32?A:n.pop(),1)),n}},Be={bytes:{fromBits(e){const t=me.bitLength(e)/8,A=new u(t);let n;for(let i=0;t>i;i++)3&i||(n=e[i/4]),A[i]=n>>>24,n<<=8;return A},toBits(e){const t=[];let A,n=0;for(A=0;A<e.length;A++)n=n<<8|e[A],3&~A||(t.push(n),n=0);return 3&A&&t.push(me.partial(8*(3&A),n)),t}}},pe=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Be.utf8String.toBits(e));const A=t._buffer=me.concat(t._buffer,e),n=t._length,i=t._length=n+me.bitLength(e);if(i>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const r=new B(A);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);i>=e;e+=t.blockSize)t._block(r.subarray(16*a,16*(a+1))),a+=1;return A.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const A=e._h;t=me.concat(t,[me.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),A}_f(e,t,A,n){return e>19?e>39?e>59?e>79?void 0:t^A^n:t&A|t&n|A&n:t^A^n:t&A|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const A=this,n=A._h,i=t(80);for(let t=0;16>t;t++)i[t]=e[t];let r=n[0],s=n[1],o=n[2],g=n[3],c=n[4];for(let e=0;79>=e;e++){16>e||(i[e]=A._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=A._S(5,r)+A._f(e,s,o,g)+c+i[e]+A._key[a.floor(e/20)]|0;c=g,g=o,o=A._S(30,s),s=r,r=t}n[0]=n[0]+r|0,n[1]=n[1]+s|0,n[2]=n[2]+o|0,n[3]=n[3]+g|0,n[4]=n[4]+c|0}},fe={importKey:e=>new fe.hmacSha1(Be.bytes.toBits(e)),pbkdf2(e,t,A,n){if(A=A||1e4,0>n||0>A)throw new d("invalid params to pbkdf2");const i=1+(n>>5)<<2;let r,a,s,o,g;const c=new ArrayBuffer(i),l=new p(c);let u=0;const m=me;for(t=Be.bytes.toBits(t),g=1;(i||1)>u;g++){for(r=a=e.encrypt(m.concat(t,[g])),s=1;A>s;s++)for(a=e.encrypt(a),o=0;o<a.length;o++)r[o]^=a[o];for(s=0;(i||1)>u&&s<r.length;s++)l.setInt32(u,r[s]),u+=4}return c.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,A=t._hash=pe,n=[[],[]];t._baseHash=[new A,new A];const i=t._baseHash[0].blockSize/32;e.length>i&&(e=(new A).update(e).finalize());for(let t=0;i>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new A(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),A=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),A}encrypt(e){if(this._updated)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},he=typeof C!=ee&&typeof C.getRandomValues==te,we="Invalid password",Ie="Invalid signature",Ee="zipjs-abort-check-password";function Ce(e){if(he)return C.getRandomValues(e);throw new d("Crypto API not supported")}const xe=16,ye={name:"PBKDF2"},De=A.assign({hash:{name:"HMAC"}},ye),Fe=A.assign({iterations:1e3,hash:{name:"SHA-1"}},ye),be=["deriveBits"],Qe=[8,12,16],ve=[16,24,32],Ye=10,Se=[0,0,0,0],ke=typeof C!=ee,Me=ke&&C.subtle,Ue=ke&&typeof Me!=ee,ze=Be.bytes,Ge=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const A=t._tables[0][4],n=t._tables[1],i=e.length;let r,a,s,o=1;if(4!==i&&6!==i&&8!==i)throw new d("invalid aes key size");for(t._key=[a=e.slice(0),s=[]],r=i;4*i+28>r;r++){let e=a[r-1];(r%i===0||8===i&&r%i===4)&&(e=A[e>>>24]<<24^A[e>>16&255]<<16^A[e>>8&255]<<8^A[255&e],r%i===0&&(e=e<<8^e>>>24^o<<24,o=o<<1^283*(o>>7))),a[r]=a[r-i]^e}for(let e=0;r;e++,r--){const t=a[3&e?r:r-4];s[e]=4>=r||4>e?t:n[0][A[t>>>24]]^n[1][A[t>>16&255]]^n[2][A[t>>8&255]]^n[3][A[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],A=e[4],n=t[4],i=[],r=[];let a,s,o,g;for(let e=0;256>e;e++)r[(i[e]=e<<1^283*(e>>7))^e]=e;for(let c=a=0;!A[c];c^=s||1,a=r[a]||1){let r=a^a<<1^a<<2^a<<3^a<<4;r=r>>8^255&r^99,A[c]=r,n[r]=c,g=i[o=i[s=i[c]]];let l=16843009*g^65537*o^257*s^16843008*c,d=257*i[r]^16843008*r;for(let A=0;4>A;A++)e[A][c]=d=d<<24^d>>>8,t[A][r]=l=l<<24^l>>>8}for(let A=0;5>A;A++)e[A]=e[A].slice(0),t[A]=t[A].slice(0)}_crypt(e,t){if(4!==e.length)throw new d("invalid aes block size");const A=this._key[t],n=A.length/4-2,i=[0,0,0,0],r=this._tables[t],a=r[0],s=r[1],o=r[2],g=r[3],c=r[4];let l,u,m,B=e[0]^A[0],p=e[t?3:1]^A[1],f=e[2]^A[2],h=e[t?1:3]^A[3],w=4;for(let e=0;n>e;e++)l=a[B>>>24]^s[p>>16&255]^o[f>>8&255]^g[255&h]^A[w],u=a[p>>>24]^s[f>>16&255]^o[h>>8&255]^g[255&B]^A[w+1],m=a[f>>>24]^s[h>>16&255]^o[B>>8&255]^g[255&p]^A[w+2],h=a[h>>>24]^s[B>>16&255]^o[p>>8&255]^g[255&f]^A[w+3],w+=4,B=l,p=u,f=m;for(let e=0;4>e;e++)i[t?3&-e:e]=c[B>>>24]<<24^c[p>>16&255]<<16^c[f>>8&255]<<8^c[255&h]^A[w++],l=B,B=p,p=f,f=h,h=l;return i}},We=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,A=e>>8&255,n=255&e;255===t?(t=0,255===A?(A=0,255===n?n=0:++n):++A):++t,e=0,e+=t<<16,e+=A<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,A){let n;if(!(n=t.length))return[];const i=me.bitLength(t);for(let i=0;n>i;i+=4){this.incCounter(A);const n=e.encrypt(A);t[i]^=n[0],t[i+1]^=n[1],t[i+2]^=n[2],t[i+3]^=n[3]}return me.clamp(t,i)}},Oe=fe.hmacSha1;let Re=ke&&Ue&&typeof Me.importKey==te,Te=ke&&Ue&&typeof Me.deriveBits==te;class Ke extends y{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:i}){super({start(){A.assign(this,{ready:new h(e=>this.resolveReady=e),password:Je(e,t),strength:n-1,pending:new u})},async transform(e,t){const A=this,{password:n,strength:r,resolveReady:a,ready:s}=A;n?(await(async(e,t,A,n)=>{const i=await Le(e,t,A,Ze(n,0,Qe[t])),r=Ze(n,Qe[t]);if(i[0]!=r[0]||i[1]!=r[1])throw new d(we)})(A,r,n,Ze(e,0,Qe[r]+2)),e=Ze(e,Qe[r]+2),i?t.error(new d(Ee)):a()):await s;const o=new u(e.length-Ye-(e.length-Ye)%xe);t.enqueue(Ne(A,e,o,0,Ye,!0))},async flush(e){const{ctr:t,hmac:A,pending:n,ready:i}=this;if(A&&t){await i;const r=Ze(n,0,n.length-Ye),a=Ze(n,n.length-Ye);let s=new u;if(r.length){const e=Ve(ze,r);A.update(e);const n=t.update(e);s=Xe(ze,n)}const o=Ze(Xe(ze,A.digest()),0,Ye);let g=n.length<Ye?1:0;for(let e=0;Ye>e;e++)g|=o[e]^a[e];if(g)throw new d(Ie);e.enqueue(s)}}})}}class He extends y{constructor({password:e,rawPassword:t,encryptionStrength:n}){let i;super({start(){A.assign(this,{ready:new h(e=>this.resolveReady=e),password:Je(e,t),strength:n-1,pending:new u})},async transform(e,t){const A=this,{password:n,strength:i,resolveReady:r,ready:a}=A;let s=new u;n?(s=await(async(e,t,A)=>{const n=Ce(new u(Qe[t]));return Pe(n,await Le(e,t,A,n))})(A,i,n),r()):await a;const o=new u(s.length+e.length-e.length%xe);o.set(s,0),t.enqueue(Ne(A,e,o,s.length,0))},async flush(e){const{ctr:t,hmac:A,pending:n,ready:r}=this;if(A&&t){await r;let a=new u;if(n.length){const e=t.update(Ve(ze,n));A.update(e),a=Xe(ze,e)}i.signature=Xe(ze,A.digest()).slice(0,Ye),e.enqueue(Pe(a,i.signature))}}}),i=this}}function Ne(e,t,A,n,i,r){const{ctr:a,hmac:s,pending:o}=e;o.length&&(t=Pe(o,t));const g=t.length-i;let c;for(A=((e,t)=>{if(t&&t>e.length){const A=e;(e=new u(t)).set(A,0)}return e})(A,n+(g-g%xe)),c=0;g-xe>=c;c+=xe){const e=Ve(ze,Ze(t,c,c+xe));r&&s.update(e);const i=a.update(e);r||s.update(i),A.set(Xe(ze,i),c+n)}return e.pending=Ze(t,c),A}async function Le(e,n,i,r){e.password=null;const a=await(async(e,t,A,n,i)=>{if(!Re)return fe.importKey(t);try{return await Me.importKey("raw",t,A,!1,i)}catch{return Re=!1,fe.importKey(t)}})(0,i,De,0,be),s=await(async(e,t,A)=>{if(!Te)return fe.pbkdf2(t,e.salt,Fe.iterations,A);try{return await Me.deriveBits(e,t,A)}catch{return Te=!1,fe.pbkdf2(t,e.salt,Fe.iterations,A)}})(A.assign({salt:r},Fe),a,8*(2*ve[n]+2)),o=new u(s),g=Ve(ze,Ze(o,0,ve[n])),c=Ve(ze,Ze(o,ve[n],2*ve[n])),l=Ze(o,2*ve[n]);return A.assign(e,{keys:{key:g,authentication:c,passwordVerification:l},ctr:new We(new Ge(g),t.from(Se)),hmac:new Oe(c)}),l}function Je(e,t){return t===_?ue(e):t}function Pe(e,t){let A=e;return e.length+t.length&&(A=new u(e.length+t.length),A.set(e,0),A.set(t,e.length)),A}function Ze(e,t,A){return e.subarray(t,A)}function Xe(e,t){return e.fromBits(t)}function Ve(e,t){return e.toBits(t)}class je extends y{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){A.assign(this,{password:e,rawPassword:t,passwordVerification:n}),et(this,e,t)},transform(e,t){const A=this;if(A.password||A.rawPassword){const t=_e(A,e.subarray(0,12));if(A.password=A.rawPassword=null,0!=(t.at(-1)^A.passwordVerification))throw new d(we);e=e.subarray(12)}i?t.error(new d(Ee)):t.enqueue(_e(A,e))}})}}class qe extends y{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){A.assign(this,{password:e,rawPassword:t,passwordVerification:n}),et(this,e,t)},transform(e,t){const A=this;let n,i;if(A.password||A.rawPassword){A.password=A.rawPassword=null;const t=Ce(new u(12));t[11]=A.passwordVerification,n=new u(e.length+t.length),n.set($e(A,t),0),i=12}else n=new u(e.length),i=0;n.set($e(A,e),i),t.enqueue(n)}})}}function _e(e,t){const A=new u(t.length);for(let n=0;n<t.length;n++)A[n]=At(e)^t[n],tt(e,A[n]);return A}function $e(e,t){const A=new u(t.length);for(let n=0;n<t.length;n++)A[n]=At(e)^t[n],tt(e,t[n]);return A}function et(e,t,n){const i=[305419896,591751049,878082192];if(A.assign(e,{keys:i,crcKey0:new le(i[0]),crcKey2:new le(i[2])}),n)for(let t=0;t<n.length;t++)tt(e,n[t]);else for(let A=0;A<t.length;A++)tt(e,t.charCodeAt(A))}function tt(e,t){let[,A]=e.keys;e.crcKey0.append([t]);const n=~e.crcKey0.get();A=it(a.imul(it(A+nt(n)),134775813)+1),e.crcKey2.append([A>>>24]);const i=~e.crcKey2.get();e.keys=[n,A,i]}function At(e){const t=2|e.keys[2];return nt(a.imul(t,1^t)>>>8)}function nt(e){return 255&e}function it(e){return 4294967295&e}const rt="Invalid uncompressed size",at="Invalid compressed data";class st extends y{constructor(e,{chunkSize:t,CompressionStreamZlib:A,CompressionStream:n}){super({});const{compressed:i,encrypted:r,useCompressionStream:a,zipCrypto:s,signed:o,level:g}=e,c=this;let l,d,u=super.readable;r&&!s||!o||(l=new de,u=lt(u,l)),i&&(u=ct(u,a,{level:g,chunkSize:t},n,A,n)),r&&(s?u=lt(u,new qe(e)):(d=new He(e),u=lt(u,d))),gt(c,u,()=>{let e;r&&!s&&(e=d.signature),r&&!s||!o||(e=new p(l.value.buffer).getUint32(0)),c.signature=e})}}class ot extends y{constructor(e,{chunkSize:t,DecompressionStreamZlib:A,DecompressionStream:n}){super({});const{zipCrypto:i,encrypted:r,signed:a,signature:s,compressed:o,useCompressionStream:g,deflate64:c}=e;let l,u,m=super.readable;r&&(i?m=lt(m,new je(e)):(u=new Ke(e),m=lt(m,u))),o&&(m=ct(m,g,{chunkSize:t,deflate64:c},n,A,n),m=(e=>{const t=e.getReader();return new D({async pull(e){let A;try{A=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(at);throw t.cause=e,t}const{value:n,done:i}=A;i?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(m)),r&&!i||!a||(l=new de,m=lt(m,l)),gt(this,m,()=>{if((!r||i)&&a){const e=new p(l.value.buffer);if(s!=e.getUint32(0,!1))throw new d(Ie)}})}}function gt(e,t,n){t=lt(t,new y({flush:n})),A.defineProperty(e,"readable",{get:()=>t})}function ct(e,t,A,n,i,r){const a=t&&n?n:i||r,s=A.deflate64?"deflate64-raw":"deflate-raw";try{e=lt(e,new a(s,A))}catch(n){if(!t)throw n;if(i)e=lt(e,new i(s,A));else{if(!r)throw n;e=lt(e,new r(s,A))}}return e}function lt(e,t){return e.pipeThrough(t)}const dt="data",ut="deflate",mt="inflate";class Bt extends y{constructor(e,t){super({});const n=this,{codecType:i}=e;let r;i.startsWith(ut)?r=st:i.startsWith(mt)&&(r=ot),n.outputSize=0;let a=0;const s=new r(e,t),o=super.readable,g=new y({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){A.assign(n,{inputSize:a})}}),c=new y({transform(t,A){if(t&&t.length&&(A.enqueue(t),n.outputSize+=t.length,e.outputSize!==_&&n.outputSize>e.outputSize))throw new d(rt)},flush(){const{signature:e}=s;A.assign(n,{signature:e,inputSize:a})}});A.defineProperty(n,"readable",{get:()=>o.pipeThrough(g).pipeThrough(s).pipeThrough(c)})}}class pt extends y{constructor(e){let t;1>e&&(e=65536),super({transform:(A,n)=>{if(t){const e=new u(t.length+A.length);e.set(t),e.set(A,t.length),A=e,t=null}let i=0;for(;A.length-i>e;)n.enqueue(A.slice(i,i+e)),i+=e;t=i?A.slice(i):A},flush(e){t&&t.length&&e.enqueue(t)}})}}const ft={type:"module"},ht="error";let wt,It,Et,Ct,xt=!0;try{xt=typeof structuredClone==te&&structuredClone(new DOMException("","AbortError")).code!==_}catch{}class yt{constructor(e,{readable:t,writable:n},{options:i,config:r,streamOptions:a,useWebWorkers:s,transferStreams:o,workerURI:g},c){const{signal:l}=a;return A.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:t.pipeThrough(new pt(ae(r))).pipeThrough(new Dt(a),{signal:l}),writable:n,options:A.assign({},i),workerURI:g,transferStreams:o,terminate:()=>new h(t=>{const{worker:A,busy:n}=e;A?(n?e.resolveTerminated=t:(A.terminate(),t()),e.interface=null):t()}),onTaskFinished(){if(e.busy){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,c(e)}}}),wt===_&&(wt=typeof Y!=ee),(s&&wt?Qt:bt)(e,r)}}class Dt extends y{constructor({onstart:e,onprogress:t,size:A,onend:n}){let i=0;super({async start(){e&&await Ft(e,A)},async transform(e,n){i+=e.length,t&&await Ft(t,i,A),n.enqueue(e)},async flush(){n&&await Ft(n,i)}})}}async function Ft(e,...t){try{await e(...t)}catch{}}function bt(e,t){return{run:()=>(async({options:e,readable:t,writable:A,onTaskFinished:n},i)=>{let r;try{if(!e.useCompressionStream)try{await void 0}catch{e.useCompressionStream=!0}r=new Bt(e,i),await t.pipeThrough(r).pipeTo(A,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:a,outputSize:s}=r;return{signature:n,inputSize:a,outputSize:s}}catch(e){throw r&&(e.outputSize=r.outputSize),e}finally{n()}})(e,t)}}function Qt(e,t){const{baseURI:n,chunkSize:i}=t;let{wasmURI:r}=t;if(!e.interface){let a;typeof r==te&&(r=r());try{a=Yt(e.workerURI,n,e)}catch{return wt=!1,bt(e,t)}A.assign(e,{worker:a,terminated:!1,interface:{run:()=>(async(e,t)=>{let n,i;const r=new h((e,t)=>{n=e,i=t});A.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:r});const{readable:a,options:s}=e,{writable:o,closed:g,abortPipe:c}=(e=>{const t=new AbortController,{writable:A,readable:n}=new y,i=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return i.catch(()=>{}),{writable:A,closed:i,abortPipe:()=>t.abort()}})(e.writable);let l;try{l=kt({type:"start",options:s,config:t,readable:a,writable:o},e)}catch(t){c();try{await g}catch{}throw e.onTaskFinished(),t}l||A.assign(e,{reader:a.getReader(),writer:o.getWriter()});try{const e=await r;return await d(),await g,e}catch(e){await d(),c();try{await g}catch{}throw e}async function d(){if(!l&&!o.locked)try{await o.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:r,baseURI:n})}})}return e.interface}function vt(e){const{worker:t}=e;if(t)try{t.terminate()}catch{}e.interface=null}function Yt(e,t,n,i,r=!0){let a,s,o;if(Et===_||It!==e){const A=typeof e==te;s=A?e(r):e;const g=s.startsWith("data:"),c=s.startsWith("blob:");if(g||c){i===_&&(i=!1),i&&(o=ft);try{a=new Y(s,o)}catch(r){if(c)try{l.revokeObjectURL(s)}catch{}if(A&&c)return Yt(e,t,n,i,!1);if(i)throw r;return Yt(e,t,n,!0,!1)}}else{i===_&&(i=!0),i&&(o=ft);try{s=new l(s,t)}catch{}try{a=new Y(s,o)}catch(A){if(i)throw A;return Yt(e,t,n,!1,r)}}It=e,Et=s,Ct=o}else a=new Y(Et,Ct);return a.addEventListener("message",e=>(async({data:e},t)=>{const{type:n,value:i,messageId:r,result:a,error:s}=e,{reader:o,writer:g,resolveResult:c,rejectResult:l,onTaskFinished:m,generation:B}=t,p=()=>t.generation!=B;try{if(s){const{message:e,stack:t,code:n,name:i,outputSize:r}=s,a=new d(e);A.assign(a,{stack:t,code:n,name:i,outputSize:r}),f(a)}else{if("pull"==n){const{value:e,done:A}=await o.read();p()||kt({type:dt,value:e,done:A,messageId:r},t)}n==dt&&(await g.ready,await g.write(new u(i)),p()||kt({type:"ack",messageId:r},t)),"close"==n&&f(null,a)}}catch(s){p()||(vt(t),f(s))}function f(e,t){p()||(e?l(e):c(t),g&&g.releaseLock(),m())}})(e,n)),a.addEventListener(ht,e=>St(e,n)),a.addEventListener("messageerror",e=>St(e,n)),a}function St(e,t){e.preventDefault&&e.preventDefault();const{rejectResult:A,writer:n,onTaskFinished:i}=t;vt(t),A&&(A(e.error||new d(e.message||ht)),n&&n.releaseLock(),i())}function kt(e,{worker:t,writer:A,transferStreams:n}){try{const{value:A,readable:i,writable:r}=e,a=[];if(A&&(e.value=A,a.push(e.value.buffer)),n&&xt?(i&&a.push(i),r&&a.push(r)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{xt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw A&&A.releaseLock(),e}}let Mt=[];const Ut=[];let zt,Gt,Wt=0;async function Ot(e,t){const{options:A,config:n}=t,{transferStreams:r,useWebWorkers:a,useCompressionStream:s,compressed:o,signed:g,encrypted:c}=A,{workerURI:l,maxWorkers:d}=n;t.transferStreams=r||r===_;const u=!(o||g||c||t.transferStreams);return t.useWebWorkers=!u&&(a||a===_&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&l?l:_,A.useCompressionStream=s||s===_&&n.useCompressionStream,(await(async()=>{const A=Mt.find(e=>!e.busy);if(A)return Nt(A),new yt(A,e,t,m);if(Mt.length<d){const A={indexWorker:Wt};return Wt++,Mt.push(A),new yt(A,e,t,m)}return new h(A=>{Ut.push({resolve:A,stream:e,workerOptions:t}),Gt=n.workerStarvationTimeout,Rt()})})()).run();function m(e){if(Tt(),Ut.length){const[{resolve:t,stream:A,workerOptions:n}]=Ut.splice(0,1);t(new yt(e,A,n,m)),Rt()}else e.worker?(Nt(e),((e,t)=>{const{config:A}=t,{terminateWorkerTimeout:n}=A;i.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Mt=Mt.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Mt=Mt.filter(t=>t!=e)}}function Rt(){!zt&&Ut.length&&i.isFinite(Gt)&&Gt>=0&&(zt=setTimeout(Kt,Gt))}function Tt(){zt&&(clearTimeout(zt),zt=null)}function Kt(){if(zt=null,Ut.length){const[{resolve:e,stream:t,workerOptions:n}]=Ut.splice(0,1),i=A.assign({},n,{useWebWorkers:!1,workerURI:_});e(new yt({},t,i,Ht)),Rt()}}function Ht(){Tt(),Rt()}function Nt(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Lt="HTTP error ",Jt="HTTP Range not supported",Pt="Content-Range",Zt="Range",Xt="GET",Vt="bytes",jt=65536,qt="writable";class _t{constructor(){this.size=0}init(){this.initialized=!0}}class $t extends _t{get readable(){const e=this,{chunkSize:t=jt}=e,A=new D({start(){this.chunkOffset=0},async pull(n){const{offset:i=0,size:r,diskNumberStart:s}=A,{chunkOffset:o}=this,g=r===_?t:a.min(t,r-o),c=await QA(e,i+o,g,s);n.enqueue(c),o+t>r||r===_&&!c.length&&g?n.close():this.chunkOffset+=t}});return A}}class eA extends _t{constructor(){super();const e=this,t=new F({write(t){if(!e.initialized)throw new d("Writer not initialized");return e.writeUint8Array(t)}});A.defineProperty(e,qt,{get:()=>t})}writeUint8Array(){}}class tA extends $t{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;A.assign(this,{dataURI:e,dataStart:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:A,dataURI:n}=this,i=new u(t),r=4*a.floor(e/3),s=atob(n.substring(r+A,4*a.ceil((e+t)/3)+A)),o=e-3*a.floor(r/4);let g=0;for(let e=o;o+t>e&&e<s.length;e++)i[e-o]=s.charCodeAt(e),g++;return g<i.length?i.subarray(0,g):i}}class AA extends eA{constructor(e){super(),A.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let A,i=t.pending;const r=t.pending.length;for(t.pending="",A=0;A<3*a.floor((r+e.length)/3)-r;A++)i+=n.fromCharCode(e[A]);for(;A<e.length;A++)t.pending+=n.fromCharCode(e[A]);i.length>2?t.data+=x(i):t.pending=i+t.pending}getData(){return this.data+x(this.pending)}}class nA extends $t{constructor(e){super(),A.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const A=this,n=e+t,i=e||n<A.size?A.blob.slice(e,n):A.blob;let r=await i.arrayBuffer();return r.byteLength>t&&(r=r.slice(e,n)),new u(r)}}class iA extends _t{constructor(e){super();const t=this,n=new y,i=[];e&&i.push(["Content-Type",e]),A.defineProperty(t,qt,{get:()=>n.writable}),t.blob=new c(n.readable,{headers:i}).blob(),t.blob.catch(()=>{})}getData(){return this.blob}}class rA extends nA{constructor(e){super(new f([e],{type:"text/plain"}))}}class aA extends iA{constructor(e){super(e),A.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new h((i,r)=>{A.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>r(t.error)}),t.readAsText(n,e)})}}}class sA extends $t{constructor(e,t){super(),gA(this,e,t)}async init(){await cA(this,hA,mA),super.init()}readUint8Array(e,t){return lA(this,e,t,hA,mA)}}class oA extends $t{constructor(e,t){super(),gA(this,e,t)}async init(){await cA(this,wA,BA),super.init()}readUint8Array(e,t){return lA(this,e,t,wA,BA)}}function gA(e,t,n){const{preventHeadRequest:i,useRangeHeader:r,forceRangeRequests:a,combineSizeEocd:s,fetch:o}=n;delete(n=A.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,delete n.fetch,A.assign(e,{url:t,options:n,preventHeadRequest:i,useRangeHeader:r,forceRangeRequests:a,combineSizeEocd:s,fetch:o})}async function cA(e,t,A){const{url:n,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=re(),{protocol:A}=new l(e,t);return"http:"==A||"https:"==A})(n)&&(a||s)&&(void 0===r||r)){const n=await t(Xt,e,dA(e,o?-22:void 0)),r=n.headers.get("Accept-Ranges");if(!(s||r&&r.toLowerCase()==Vt))throw new d(Jt);{if(o){const t=new u(await n.arrayBuffer());206==n.status&&t.length==H&&(e.eocdCache=t)}let r;const a=n.headers.get(Pt);if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(r=i(t))}}r===_?await fA(e,t,A):e.size=r}}else await fA(e,t,A)}async function lA(e,t,A,n,r){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:g,options:c}=e;if(a||s){if(o&&t==g-H&&A==H)return o;if(g>t&&0!==A){t+A>g&&(A=g-t);const r=await n(Xt,e,dA(e,t,A));if(206!=r.status)throw new d(Jt);const a=r.headers.get(Pt);if(a){const e=i(a.trim().split(/[\s-]+/)[1]);if(!i.isNaN(e)&&e!=t)throw new d(Jt)}const s=new u(await r.arrayBuffer());if(s.length!=A)throw new d(Jt);return s}return new u}{const{data:n}=e;return n||await r(e,c),new u(e.data.subarray(t,t+A))}}function dA(e,t=0,n=1){return A.assign({},uA(e),{[Zt]:Vt+"="+(0>t?t:t+"-"+(t+n-1))})}function uA({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?A.fromEntries(t):t}async function mA(e){await pA(e,hA)}async function BA(e){await pA(e,wA)}async function pA(e,t){const A=await t(Xt,e,uA(e));e.data=new u(await A.arrayBuffer()),e.size=e.data.length}async function fA(e,t,A){if(e.preventHeadRequest)await A(e,e.options);else{const n=await t("HEAD",e,uA(e)),r=n.headers.get("Content-Length");r&&!n.headers.get("Content-Encoding")?e.size=i(r):await A(e,e.options)}}async function hA(e,{fetch:t=fetch,options:n,url:i},r){const a=await t(i,A.assign({},n,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new d(Jt):new d(Lt+(a.statusText||a.status))}function wA(e,{url:t},n){return new h((i,r)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const A=t.trim().split(/\s*:\s*/);A[0]=A[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(A)}),i({status:a.status,arrayBuffer:()=>a.response,headers:new o(e)})}else r(416==a.status?new d(Jt):new d(Lt+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>r(e.detail?e.detail.error:new d("Network error")),!1),a.open(e,t),n)for(const e of A.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class IA extends $t{constructor(e,t={}){super(),A.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new oA(e,t):new sA(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class EA extends $t{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),A.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class CA extends eA{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){A.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,A=t.offset+e.length;if(A>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;A>e;)e*=2;const n=t.array;t.array=new u(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class xA extends $t{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await h.all(t.map(async(A,n)=>{await bA(A),n!=t.length-1&&(e.lastDiskOffset+=A.size),e.size+=A.size})),super.init()}async readUint8Array(e,t,A=0){const n=this,{readers:i}=this;let r,s=A;-1==s&&(s=i.length-1);let o=e;for(;i[s]&&o>=i[s].size;)o-=i[s].size,s++;const g=i[s];if(g){const i=g.size;if(o+t>i){const a=i-o;r=new u(t);const s=await QA(g,o,a);r.set(s,0);const c=await n.readUint8Array(e+a,t-a,A);r.set(c,a),s.length+c.length<t&&(r=r.subarray(0,s.length+c.length))}else r=await QA(g,o,t)}else r=new u;return n.lastDiskNumber=a.max(s,n.lastDiskNumber),r}}class yA extends _t{constructor(e,t=4294967295){super();const n=this;let i,r,a;A.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new F({async write(t){const{availableSize:A}=n;if(a)t.length<A?await o(t):(await o(t.subarray(0,A)),await g(),n.diskOffset+=i.size,n.diskNumber++,a=null,n.availableSize=n.maxSize,t.length>A&&await this.write(t.subarray(A)));else{const{value:A,done:s}=await e.next();if(s&&!A)throw new d("Writer iterator completed too soon");i=A,i.size=0,i.maxSize&&(n.maxSize=i.maxSize),n.availableSize=n.maxSize,await bA(i),r=A.writable,a=r.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await g())},async abort(e){a&&await a.abort(e)}});async function o(e){const t=e.length;t&&(await a.ready,await a.write(e),i.size+=t,n.availableSize-=t)}async function g(){await a.close()}A.defineProperty(n,qt,{get:()=>s})}}class DA{constructor(e){return t.isArray(e)&&(e=new xA(e)),e instanceof D&&(e={readable:e}),e}}class FA{constructor(e){return e.writable===_&&typeof e.next==te&&(e=new yA(e)),e instanceof F&&(e={writable:e}),e.size===_&&(e.size=0),e instanceof yA||A.assign(e,{diskNumber:0,diskOffset:0,availableSize:$,maxSize:$}),e}}async function bA(e,t){if(!e.init||e.initialized)return h.resolve();await e.init(t)}function QA(e,t,A,n){return e.readUint8Array(t,A,n)}const vA="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function YA(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let A=0;A<e.length;A++)t+=vA[e[A]];return t}})(e):new I(t,{ignoreBOM:!0}).decode(e)}const SA="filename",kA="rawFilename",MA="comment",UA="rawComment",zA="uncompressedSize",GA="compressedSize",WA="offset",OA="diskNumberStart",RA="lastModDate",TA="rawLastModDate",KA="lastAccessDate",HA="creationDate",NA="rawCreationDate",LA="internalFileAttributes",JA="externalFileAttributes",PA="msdosAttributesRaw",ZA="msdosAttributes",XA="msDosCompatible",VA="zip64",jA="encrypted",qA="version",_A="versionMadeBy",$A="zipCrypto",en="directory",tn="executable",An="compressionMethod",nn="signature",rn="extraField",an="unixMode",sn="setuid",on="setgid",gn="sticky",cn=[SA,kA,zA,GA,RA,TA,MA,UA,KA,HA,NA,WA,OA,LA,JA,PA,ZA,XA,VA,jA,qA,_A,$A,en,tn,An,nn,rn,"extraFieldUnix","extraFieldInfoZip","uid","gid",an,sn,on,gn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ln{constructor(e){cn.forEach(t=>this[t]=e[t])}}const dn="password",un="rawPassword",mn="passThrough",Bn="signal",pn="checkAmbiguity",fn="useWebWorkers",hn="useCompressionStream",wn="transferStreams",In="preventClose",En="offset",Cn="File format is not recognized",xn="End of central directory not found",yn="End of Zip64 central directory locator not found",Dn="Central directory header not found",Fn="Local file header not found",bn="Zip64 extra field not found",Qn="File contains encrypted entry",vn="Encryption method not supported",Yn="Compression method not supported",Sn="Split zip file",kn="Overlapping entry found",Mn="Ambiguous archive",Un="utf-8",zn="cp437",Gn=[[zA,k],[GA,k],[WA,k],[OA,M]],Wn={[M]:{getValue:qn,bytes:4},[k]:{getValue:_n,bytes:8}};class On{constructor(e,t={}){A.assign(this,{reader:new DA(e),options:t,config:re(),readRanges:new o})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await bA(n),n.size!==_&&n.readUint8Array||(n=new nA(await new c(n.readable).blob()),await bA(n)),n.size<H)throw new d(Cn);n.chunkSize=ae(i);const r=await(async(e,t,A)=>{const n=new u(4);var i;return i=t,$n(n).setUint32(0,i,!0),await r(22)||await r(a.min(1048582,A));async function r(t){const i=A-t,r=await QA(e,i,t);for(let e=r.length-22;e>=0;e--)if(r[e]==n[0]&&r[e+1]==n[1]&&r[e+2]==n[2]&&r[e+3]==n[3])return{offset:i+e,buffer:r.slice(e,e+22).buffer}}})(n,R,n.size);if(!r)throw qn($n(await QA(n,0,4)))==G?new d(Sn):new d(xn);const s=$n(r);let o=qn(s,12),l=qn(s,16);const m=r.offset,B=jn(s,20),p=m+H+B,f=Pn(t,e,pn);f&&p!=n.size&&Jn("appended data");let w=jn(s,4);const I=n.lastDiskNumber||0;let E,C,x=jn(s,6),D=jn(s,10),F=0;if(l==k||o==k||D==M||x==M){const e=20>r.offset?new u:await QA(n,r.offset-20,20),t=$n(e);if(20==e.length&&qn(t,0)==K){l=_n(t,8);let e=await QA(n,l,56,-1),A=$n(e);const i=r.offset-20-56-(n.lastDiskOffset||0);if((56>e.length||qn(A,0)!=T)&&l!=i&&i>=0){const t=l;l=i,l>t&&(F=l-t),e=await QA(n,l,56,-1),A=$n(e)}if(56>e.length||qn(A,0)!=T)throw new d(yn);C=!0,w==M?w=qn(A,16):f&&w!=qn(A,16)&&Jn("mismatched zip64 end of central directory record"),x==M?x=qn(A,20):f&&x!=qn(A,20)&&Jn("mismatched zip64 end of central directory record"),D==M?D=_n(A,32):f&&D!=_n(A,32)&&Jn("mismatched zip64 end of central directory record"),o==k?o=_n(A,40):f&&o!=_n(A,40)&&Jn("mismatched zip64 end of central directory record"),l=_n(A,48)+F}}const b=o,Q=r.offset-(C?76:0);if(l<n.size||(F=n.size-l-o-H,l=n.size-o-H),I!=w)throw new d(Sn);if(0>l)throw new d(Cn);let v=0,Y=await QA(n,l,o,x),S=$n(Y);if(o){if(4>Y.length)throw new d(Cn);const e=Q-o-(n.lastDiskOffset||0);if(qn(S,v)!=O&&l!=e&&x==w){const t=l;l=e,l>t&&(F+=l-t),Y=await QA(n,l,o,x),S=$n(Y)}}const z=Q-l-(n.lastDiskOffset||0);if(o==z||0>z||x!=w||(o=z,Y=await QA(n,l,o,x),S=$n(Y)),0>l||l>=n.size)throw new d(Cn);E=l;const W=Pn(t,e,"filenameEncoding"),N=Pn(t,e,"commentEncoding"),L=f?new g:_;let V;for(let r=0;D>r;r++){const s=new Rn(n,i,t.options);if(v+46>Y.length||qn(S,v)!=O)throw new d(Dn);Tn(s,S,v+6);const o=!!s.bitFlag.languageEncodingFlag,g=v+46,l=g+s.filenameLength,u=l+s.extraFieldLength,m=jn(S,v+4),B=!(m>>8),p=m>>8==3,w=Y.subarray(g,l),I=jn(S,v+32),C=u+I,x=Y.subarray(u,C),b=o,Q=o,k=qn(S,v+38),z=k&U,G={readOnly:!!(1&z),hidden:!!(2&z),system:!!(4&z),directory:!!(16&z),archive:!!(32&z)},R=qn(S,v+42),T=Pn(t,e,"decodeText")||YA,K=b?Un:W||zn,H=Q?Un:N||zn;let j=T(w,K);j===_&&(j=YA(w,K));let q=T(x,H);q===_&&(q=YA(x,H)),A.assign(s,{index:r,versionMadeBy:m,msDosCompatible:B,compressedSize:0,uncompressedSize:0,commentLength:I,offset:R,diskNumberStart:jn(S,v+34),internalFileAttributes:jn(S,v+36),externalFileAttributes:k,msdosAttributesRaw:z,msdosAttributes:G,rawFilename:w,filenameUTF8:b,commentUTF8:Q,rawExtraField:Y.subarray(l,u),rawComment:x,filename:j,comment:q}),Kn(s,s,S,v+6),s.offset+=F,E=a.min(s.offset,E),f&&(L.has(s.filename)&&(V=!0),L.add(s.filename));const $=s.externalFileAttributes>>16&M;s.unixMode===_&&16877&$&&(s.unixMode=$);const ee=!!(s.unixMode&P),te=!!(s.unixMode&Z),Ae=!!(512&s.unixMode),ne=s.unixMode!==_?!!(73&s.unixMode):p&&!!(73&$),ie=s.unixMode!==_&&(61440&s.unixMode)==J,re=(61440&$)==J;A.assign(s,{setuid:ee,setgid:te,sticky:Ae,unixExternalUpper:$,internalFileAttribute:s.internalFileAttributes,externalFileAttribute:s.externalFileAttributes,executable:ne,directory:ie||re||B&&G.directory||s.filename.endsWith(X)&&!s.uncompressedSize,zipCrypto:s.encrypted&&!s.extraFieldAES});const ae=new ln(s);ae.getData=(e,A)=>s.getData(e,ae,t.readRanges,A),ae.arrayBuffer=async e=>{const A=new y,[n]=await h.all([new c(A.readable).arrayBuffer(),s.getData(A,ae,t.readRanges,e)]);return n},v=C;const{onprogress:se}=e;if(se)try{await se(r+1,D,new ln(s))}catch{}yield ae}f&&v!=b&&Jn("trailing central directory data"),V&&Jn("duplicate filename"),f&&(F||D&&E>0)&&Jn("prepended data");const j=Pn(t,e,"extractPrependedData"),q=Pn(t,e,"extractAppendedData");return j&&(t.prependedData=E>0?await QA(n,0,E):new u),t.comment=B?await QA(n,m+H,B):new u,q&&(t.appendedData=p<n.size?await QA(n,p,n.size-p):new u),!0}async getEntries(e={}){const t=[];for await(const A of this.getEntriesGenerator(e))t.push(A);return t}async close(){}}let Rn=class{constructor(e,t,n){A.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n,i={}){const r=this,{reader:s,index:o,offset:g,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:m,compressionMethod:B,config:p,bitFlag:f,signature:h,rawLastModDate:w,uncompressedSize:I,compressedSize:E}=r,{dataDescriptor:C}=f,x=t.localDirectory={},y=await QA(s,g,V,c),D=$n(y);let b=Pn(r,i,dn),Q=Pn(r,i,un);const v=Pn(r,i,mn);if(b=b&&b.length&&b,Q=Q&&Q.length&&Q,l&&99!=l.originalCompressionMethod)throw new d(Yn);if(0!=B&&8!=B&&9!=B&&!v)throw new d(Yn);if(y.length<V||qn(D,0)!=z)throw new d(Fn);Tn(x,D,4);const{extraFieldLength:Y,filenameLength:S}=x,k=Pn(r,i,pn);let M=new u;if(k&&(S||Y)){const e=await QA(s,g+V,S+Y,c);M=e.subarray(0,S),x.rawExtraField=e.subarray(S)}else x.rawExtraField=Y?await QA(s,g+V+S,Y,c):new u;Kn(r,x,D,4,!0),k&&((e,t,A)=>{const{rawFilename:n}=e;(A.length!=n.length||A.some((e,t)=>e!=n[t]))&&Jn("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Jn("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Jn("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Jn("mismatched local file header (signature or sizes)")})(r,x,M);const{lastAccessDate:G,creationDate:O}=x;G&&(t.lastAccessDate=G),O&&(t.creationDate=O);const R=r.encrypted&&x.encrypted&&!v,T=R&&!l;if(v||(t.zipCrypto=T),R){if(!T&&l.strength===_)throw new d(vn);if(!b&&!Q)throw new d(Qn)}const K=g+V+S+Y,H=E,N=s.readable;A.assign(N,{diskNumberStart:c,offset:K,size:H});const L=Pn(r,i,Bn),J=Pn(r,i,"checkPasswordOnly");let P=Pn(r,i,"checkOverlappingEntry");const Z=Pn(r,i,"checkOverlappingEntryOnly");Z&&(P=!0);const{onstart:X,onprogress:j,onend:q}=i,$=9==B;let ee=Pn(r,i,hn);$&&(ee=!1);const te={options:{codecType:mt,password:b,rawPassword:Q,zipCrypto:T,encryptionStrength:l&&l.strength,signed:Pn(r,i,"checkSignature")&&!v,passwordVerification:T&&(C?w>>>8&U:h>>>24&U),outputSize:v?E:I,signature:h,compressed:0!=B&&!v,encrypted:R,useWebWorkers:Pn(r,i,fn),useCompressionStream:ee,transferStreams:Pn(r,i,wn),deflate64:$,checkPasswordOnly:J},config:p,streamOptions:{signal:L,size:H,onstart:X,onprogress:j,onend:q}};let Ae;P&&await(async({reader:e,fileEntry:t,index:A,offset:n,diskNumberStart:i,signature:r,compressedSize:s,uncompressedSize:o,dataOffset:g,dataDescriptor:c,extraFieldZip64:l,readRanges:u})=>{let m=0;if(i&&e.readers)for(let t=0;t<a.min(i,e.readers.length);t++)m+=e.readers[t].size;let B=0;if(c&&(B=l?20:12),B){const A=await QA(e,g+s,B+4,i);if(A.length==B+4&&qn($n(A),0)==W){const e=qn($n(A),4);let n,i;l?(n=_n($n(A),8),i=_n($n(A),16)):(n=qn($n(A),8),i=qn($n(A),12)),(t.encrypted&&!t.zipCrypto||e==r)&&n==s&&i==o&&(B+=4)}}const p={start:m+n,end:m+g+s+B,fileEntry:t};for(const[e,t]of u)if(e!=A&&p.start<t.end&&t.start<p.end){const e=new d(kn);throw e.overlappingEntry=t.fileEntry,e}u.set(A,p)})({reader:s,fileEntry:t,index:o,offset:g,diskNumberStart:c,signature:h,compressedSize:E,uncompressedSize:I,dataOffset:K,dataDescriptor:C||x.bitFlag.dataDescriptor,extraFieldZip64:m||x.extraFieldZip64,readRanges:n});try{if(!Z){J&&(e=new F),e=new FA(e),await bA(e,v?E:I),({writable:Ae}=e);const{outputSize:t}=await Ot({readable:N,writable:Ae},te);if(e.size+=t,t!=(v?E:I))throw new d(rt)}}catch(t){if(t.outputSize!==_&&(e.size+=t.outputSize),!J||t.message!=Ee)throw t}finally{Pn(r,i,In)||!Ae||Ae.locked||await Ae.getWriter().close()}return J||Z?_:e.getData?e.getData():Ae}};function Tn(e,t,n){const i=e.rawBitFlag=jn(t,n+2),r=!(1&~i),a=qn(t,n+6);A.assign(e,{encrypted:r,version:jn(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:!(8&~i),languageEncodingFlag:(i&L)==L},rawLastModDate:a,lastModDate:Zn(a),filenameLength:jn(t,n+22),extraFieldLength:jn(t,n+24)})}function Kn(e,t,n,i,r){const{rawExtraField:a}=t,g=t.extraField=new o,c=$n(new u(a));let l=0;try{for(;l<a.length;){const e=jn(c,l),t=jn(c,l+2);g.set(e,{type:e,data:a.slice(l+4,l+4+t)}),l+=4+t}}catch{}const m=jn(n,i+4);A.assign(t,{signature:qn(n,i+10),compressedSize:qn(n,i+14),uncompressedSize:qn(n,i+18)});const B=g.get(1);B&&(((e,t)=>{t.zip64=!0;const A=$n(e.data),n=Gn.filter(([e,A])=>t[e]==A),i=n.reduce((e,[,t])=>e+Wn[t].bytes,0);if(e.data.length<i)throw new d(bn);for(let i=0,r=0;i<n.length;i++){const[a,s]=n[i],o=Wn[s];t[a]=e[a]=o.getValue(A,r),r+=o.bytes}})(B,t),t.extraFieldZip64=B);const p=g.get(28789);p&&(Hn(p,SA,kA,t,e),t.extraFieldUnicodePath=p);const f=g.get(25461);f&&(Hn(f,MA,UA,t,e),t.extraFieldUnicodeComment=f);const h=g.get(39169);h&&h.data.length>=7?(((e,t,n)=>{const i=$n(e.data),r=Vn(i,4);A.assign(e,{vendorVersion:Vn(i,0),vendorId:Vn(i,2),strength:r,originalCompressionMethod:n,compressionMethod:jn(i,5)}),t.compressionMethod=e.compressionMethod})(h,t,m),t.extraFieldAES=h):t.compressionMethod=m;const w=g.get(10);w&&(((e,t)=>{const n=$n(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=jn(n,r),A=jn(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+A)),r+=4+A}}catch{}try{if(i&&24==i.length){const n=$n(i),r=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);A.assign(e,{rawLastModDate:r,rawLastAccessDate:a,rawCreationDate:s});const o={lastModDate:Xn(r),lastAccessDate:Xn(a),creationDate:Xn(s)};A.assign(e,o),A.assign(t,o)}}catch{}})(w,t),t.extraFieldNTFS=w);const I=g.get(30805);if(I)Nn(I,t,!1),t.extraFieldUnix=I;else{const e=g.get(30837);e&&(Nn(e,t,!0),t.extraFieldInfoZip=e)}const E=g.get(N);E&&(((e,t,A)=>{if(!e.data.length)return;const n=$n(e.data),i=Vn(n,0),r=[],a=[];A?(1&~i||(r.push(RA),a.push(TA)),2&~i||(r.push(KA),a.push("rawLastAccessDate")),4&~i||(r.push(HA),a.push(NA))):5>e.data.length||(r.push(RA),a.push(TA));let o=1;r.forEach((A,i)=>{if(e.data.length>=o+4){const r=qn(n,o);t[A]=e[A]=new s(1e3*(0|r));const g=a[i];e[g]=r}o+=4})})(E,t,r),t.extraFieldExtendedTimestamp=E);const C=g.get(6534);C&&(t.extraFieldUSDZ=C)}function Hn(e,t,n,i,r){if(5>e.data.length)return void(e.valid=!1);const a=$n(e.data),s=new le;s.append(r[n]);const o=$n(new u(4));o.setUint32(0,s.get(),!0);const g=qn(a,1);A.assign(e,{version:Vn(a,0),[t]:YA(e.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&g==qn(o,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Nn(e,t,n){try{const i=$n(new u(e.data));let r,a;if(n){let t=0;const n=Vn(i,t++),s=Vn(i,t++);r=Ln(e.data.subarray(t,t+s)),t+=s;const o=Vn(i,t++);a=Ln(e.data.subarray(t,t+o)),A.assign(e,{version:n,uid:r,gid:a})}else 4>e.data.length||(r=jn(i,0),a=jn(i,2),A.assign(e,{uid:r,gid:a}));r!==_&&(t.uid=r),a!==_&&(t.gid=a)}catch{}}function Ln(e){const t=new u(4);return t.set(e,0),new p(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Jn(e){const t=new d(Mn);throw t.reason=e,t}function Pn(e,t,A){return t[A]===_?e.options[A]:t[A]}function Zn(e){const t=(4294901760&e)>>16,A=e&M;try{return new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&A)>>11,(2016&A)>>5,2*(31&A),0)}catch{}}function Xn(e){return new s(i(e/r(1e4)-r(116444736e5)))}function Vn(e,t){return e.getUint8(t)}function jn(e,t){return e.getUint16(t,!0)}function qn(e,t){return e.getUint32(t,!0)}function _n(e,t){return i(e.getBigUint64(t,!0))}function $n(e){return new p(e.buffer,e.byteOffset,e.byteLength)}const ei="File already exists",ti="Zip file comment exceeds 64KB",Ai="File entry comment exceeds 64KB",ni="File entry name exceeds 64KB",ii="Version exceeds 65535",ri="The strength must equal 1, 2, or 3",ai="Extra field type exceeds 65535",si="Extra field data exceeds 64KB",oi=-2147483648,gi=2147483647,ci="Zip64 is not supported (set the 'zip64' option to 'true')",li="Undefined uncompressed size",di="Undefined reader",ui="Zip file not empty",mi=new u([7,0,2,0,65,69,3,0,0]),Bi="infozip",pi="unix";let fi=0;const hi=[];class wi{constructor(e,t={}){const n=(e=new FA(e)).availableSize!==_&&e.availableSize>0&&e.availableSize!==$&&e.maxSize!==_&&e.maxSize>0&&e.maxSize!==$;A.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:re(),files:new o,filenames:new g,offset:t[En]===_?e.size||e.writable.size||0:t[En],initialOffset:t[En]===_?0:t[En]-(e.size||e.writable.size||0),pendingAddFileCalls:new g,bufferedWrites:0,lastFileEntry:_})}async prependZip(e){if(this.filenames.size)throw new d(ui);e=new DA(e),await bA(e);const t=new On(e.readable),n=await t.getEntries();await t.close(),await bA(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new g(n.map(e=>e.filename)),this.files=new o(n.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:i,creationDate:r,rawFilename:a,bitFlag:s,encrypted:o,uncompressedSize:g,compressedSize:c,diskOffset:l,diskNumber:d,zip64:m}=e;let{compressionMethod:B,rawExtraFieldZip64:p,rawExtraFieldAES:f,rawExtraFieldExtendedTimestamp:h,rawExtraFieldNTFS:w,rawExtraFieldUnix:I,rawExtraField:E}=e;const{level:C,languageEncodingFlag:x,dataDescriptor:y}=s;p=p||new u,f=f||new u,h=h||new u,w=w||new u,I=I||new u,E=E||new u,e.extraFieldAES&&(B=99);const D=Wi(p,f,h,w,I,E),F=m&&g>=k,b=m&&c>=k,Q=-7&Ri(C,x,y,o,B)|C<<1,{headerArray:v,headerView:Y}=Oi({version:t,bitFlag:Q,compressionMethod:B,uncompressedSize:g,compressedSize:c,rawLastModDate:n,rawFilename:a,zip64CompressedSize:b,zip64UncompressedSize:F,extraFieldLength:D}),{signature:S}=e;return S!==_&&Mi(Y,10,S),A.assign(e,{zip64UncompressedSize:F,zip64CompressedSize:b,zip64Offset:m&&this.offset-l>=k,zip64DiskNumberStart:m&&d>=M,rawExtraFieldZip64:p,rawExtraFieldAES:f,rawExtraFieldExtendedTimestamp:h,rawExtraFieldNTFS:w,rawExtraFieldUnix:I,rawExtraField:E,extendedTimestamp:h.length>0||w.length>0,extraFieldExtendedTimestampFlag:1+(i?2:0)+(r?4:0),headerArray:v,headerView:Y}),[e.filename,e]}))}async add(e="",t,n={}){const i=this;n=A.assign({},n);const{pendingAddFileCalls:a,config:o}=i;let g,c;fi<o.maxWorkers?fi++:await new h(e=>hi.push(e));try{if(e=e.trim(),Yi(i,n,en)&&!e.endsWith(X)&&(e+=X),i.filenames.has(e))throw new d(ei);return i.filenames.add(e),c=!0,g=(async(e,t,n,i)=>{const a=((e,t,A)=>{t=t.trim();let n=Yi(e,A,XA),i=Yi(e,A,_A,n?20:768);const r=Yi(e,A,tn),a=Yi(e,A,"uid"),s=Yi(e,A,"gid");let o=Yi(e,A,an),g=Yi(e,A,"unixExtraFieldType"),c=Yi(e,A,sn),l=Yi(e,A,on),u=Yi(e,A,gn);if(a!==_&&(0>a||a>k))throw new d("Invalid uid (must be integer 0..2^32-1)");if(s!==_&&(0>s||s>k))throw new d("Invalid gid (must be integer 0..2^32-1)");if(o!==_&&(0>o||o>M))throw new d("Invalid UNIX mode (must be integer 0..65535)");if(g!==_&&g!==Bi&&g!==pi)throw new d("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(g===pi&&(a!==_&&a>M||s!==_&&s>M))throw new d("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");g!==_||a===_&&s===_||(g=Bi);let m=Yi(e,A,PA),B=Yi(e,A,ZA);const p=m!==_||B!==_;if(a!==_||s!==_||o!==_||g?(n=!1,i=i&M|768):p&&(n=!0,i&=U),m!==_&&(0>m||m>U))throw new d("Invalid msdosAttributesRaw (must be integer 0..255)");if(B&&"object"!=typeof B)throw new d("Invalid msdosAttributes (must be an object with boolean flags)");if(i>M)throw new d(ii);let f=Yi(e,A,JA,0);!A[en]&&t.endsWith(X)&&(A[en]=!0);const h=Yi(e,A,en);let w;return h?(t.endsWith(X)||(t+=X),0===f&&(f=16,n||(f|=16877<<16))):n||0!==f||(f=r?493<<16:27525120),n||(w=f>>16&M,o=o===_?w:o&M,c?o|=P:c=!!(o&P),l?o|=Z:l=!!(o&Z),u?o|=512:u=!!(512&o),h&&(o|=J),f=(o&M)<<16|f&U),({msdosAttributesRaw:m,msdosAttributes:B}=((e,t)=>{if(e!==_)e&=U;else if(t!==_){const{readOnly:A,hidden:n,system:i,directory:r,archive:a}=t;let s=0;A&&(s|=1),n&&(s|=2),i&&(s|=4),r&&(s|=16),a&&(s|=32),e=s&U}return t===_&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,B)),p&&(f=f&k|m&U),{name:t,resolvedOptions:{versionMadeBy:i,msDosCompatible:n,externalFileAttributes:f,unixExternalUpper:w,uid:a,gid:s,unixMode:o,unixExtraFieldType:g,setuid:c,setgid:l,sticky:u,msdosAttributesRaw:m,msdosAttributes:B}}})(e,t,i);({name:t}=a);const o=((e,t,A)=>{const n=Yi(e,A,"encodeText",ue);let i=n(t);if(i===_&&(i=ue(t)),Wi(i)>M)throw new d(ni);const r=A[MA]||"";let a=n(r);if(a===_&&(a=ue(r)),Wi(a)>M)throw new d(Ai);const o=Yi(e,A,qA,20);if(o>M)throw new d(ii);const g=Yi(e,A,RA,new s),c=Yi(e,A,KA),l=Yi(e,A,HA),m=Yi(e,A,LA,0),B=Yi(e,A,mn);let p,f;B||(p=Yi(e,A,dn),f=Yi(e,A,un));const h=Yi(e,A,"encryptionStrength",3),w=Yi(e,A,$A),I=Yi(e,A,"extendedTimestamp",!0),E=Yi(e,A,"keepOrder",!0),C=Yi(e,A,fn),x=Yi(e,A,wn,!0),y=Yi(e,A,"bufferedWrite"),D=Yi(e,A,"createTempStream"),F=Yi(e,A,"dataDescriptorSignature",!0),b=Yi(e,A,Bn),Q=Yi(e,A,"useUnicodeFileNames",!0),v=Yi(e,A,An);if(!B&&v!==_&&0!==v&&8!==v)throw new d("Compression method not supported");let Y=Yi(e,A,"level"),S=Yi(e,A,hn),k=Yi(e,A,"dataDescriptor");y&&k===_&&(k=!1),(k===_||w)&&(k=!0),Y!==_&&6!=Y&&(S=!1),S||e.config.CompressionStream!==_||e.config.CompressionStreamZlib!==_||(Y=0);const U=Yi(e,A,VA);if(!w&&(p!==_||f!==_)&&(1>h||h>3))throw new d(ri);let z=new u;const G=A[rn];if(G){let e=0,t=0;G.forEach(t=>e+=4+Wi(t)),z=new u(e);const A=Gi(z);G.forEach((e,n)=>{if(n>M)throw new d(ai);if(Wi(e)>M)throw new d(si);ki(A,t,n),ki(A,t+2,Wi(e)),zi(z,e,t+4),t+=4+Wi(e)})}return{comment:r,resolvedOptions:{rawFilename:i,rawComment:a,version:o,lastModDate:g,lastAccessDate:c,creationDate:l,internalFileAttributes:m,passThrough:B,password:p,rawPassword:f,encryptionStrength:h,zipCrypto:w,extendedTimestamp:I,keepOrder:E,useWebWorkers:C,transferStreams:x,bufferedWrite:y,createTempStream:D,dataDescriptorSignature:F,signal:b,useUnicodeFileNames:Q,compressionMethod:v,level:Y,useCompressionStream:S,dataDescriptor:k,zip64:U,rawExtraField:z}}})(e,t,i),{comment:g}=o,c=i[rn];let l;e.files.set(t,_);try{const s=await(async(e,t,{resolvedOptions:A},n)=>{const{passThrough:i,zipCrypto:r,password:a,rawPassword:s,encryptionStrength:o}=A;let{dataDescriptor:g,zip64:c,level:l,compressionMethod:u}=A,m=0,B=0;if(i){if(!t)throw new d(di);if(B=n[zA],B===_)throw new d(li)}const p=!0===c,f=Yi(e,n,jA),h=!!t&&(!!(a&&Wi(a)||s&&Wi(s))||i&&f);t||(l=0,u=0);const w=h?r?12:16+4*o:0;t&&(t=new DA(t),await bA(t),i?(n.uncompressedSize=B,m=Si(B)+w):t.size===_?(g=!0,(c||c===_)&&(c=!0,B=m=4294967296)):(n.uncompressedSize=B=t.size,m=Si(B)+w));const I=p||B>=k,E=p||m>=k;if(I||E){if(!1===c)throw new d(ci);c=!0}return c=c||!1,{reader:t,resolvedOptions:{dataDescriptor:g,zip64:c,zip64UncompressedSize:I,zip64CompressedSize:E,uncompressedSize:B,level:l,compressionMethod:u,encrypted:h}}})(e,n,o,i);({reader:n}=s);const{diskOffset:g,diskNumber:c}=e.writer,m=(e=>{const{rawFilename:t,lastModDate:A,lastAccessDate:n,creationDate:i,level:r,zip64:a,zipCrypto:s,useUnicodeFileNames:o,dataDescriptor:g,directory:c,rawExtraField:l,encryptionStrength:m,extendedTimestamp:B,passThrough:p,encrypted:f,zip64UncompressedSize:h,zip64CompressedSize:w,uncompressedSize:I}=e;let{version:E,compressionMethod:C}=e;const x=!c&&(C===_?r===_||r>0:0!==C);let y;const D=p||!x,F=a&&(e.bufferedWrite||!g||!h&&!w||D),b=F||a&&g&&(h||w);if(a&&(h||w)){const e=20,t=xi(e);if(t.uint16(1),t.uint16(e-4),y=t.array,F&&(t.uint64(I),D)){const e=f?s?12:16+4*m:0;t.uint64(p?0:I+e)}}else y=new u;let Q,v,Y,S,k;if(f&&!s){const e=xi(Wi(mi)+2);e.uint16(39169),e.bytes(mi),Q=e.array,Q[8]=m}else Q=new u;if(B){const e=bi(A);if(Qi(e)){const t=9+(n?4:0)+(i?4:0),A=xi(t);S=1+(n?2:0)+(i?4:0),A.uint16(N),A.uint16(t-4),A.uint8(S),A.uint32(e),n&&A.uint32(vi(bi(n))),i&&A.uint32(vi(bi(i))),Y=A.array}else Y=new u;try{const e=Fi(A),t=xi(36);t.uint16(10),t.uint16(32),t.skip(4),t.uint16(1),t.uint16(24),t.uint64(e),t.uint64(Fi(n)||e),t.uint64(Fi(i)||e),v=t.array}catch{v=new u}}else v=Y=new u;try{const{uid:t,gid:A,unixExtraFieldType:n}=e;if(n!=Bi||t===_&&A===_)if(n!=pi||t===_&&A===_)k=new u;else{const e=xi(8);e.uint16(30805),e.uint16(4),e.uint16((t===_?0:t)&M),e.uint16((A===_?0:A)&M),k=e.array}else{const e=Ci(t),n=Ci(A),i=3+e.length+n.length,r=xi(4+i);r.uint16(30837),r.uint16(i),r.uint8(1),r.uint8(e.length),r.bytes(e),r.uint8(n.length),r.bytes(n),k=r.array}}catch{k=new u}C===_&&(C=x?8:0),a&&(E=E>45?E:45),f&&!s&&(E=E>51?E:51,Q[9]=C,C=99);const U=b?Wi(y):0,G=U+Wi(Q,Y,v,k,l);if(G>M)throw new d(si);const{headerArray:W,headerView:O,rawLastModDate:R}=Oi({version:E,bitFlag:Ri(r,o,g,f,C),compressionMethod:C,uncompressedSize:I,lastModDate:q>A?q:A>j?j:A,rawFilename:t,zip64CompressedSize:w,zip64UncompressedSize:h,extraFieldLength:G}),T=xi(V+Wi(t)+G),K=T.array,H=Gi(K);return T.uint32(z),T.bytes(W),T.bytes(t),b&&T.bytes(y),T.bytes(Q),T.bytes(Y),T.bytes(v),T.bytes(k),T.bytes(l),g&&(w||Mi(H,18,0),h||Mi(H,22,0)),{localHeaderArray:K,localHeaderView:H,headerArray:W,headerView:O,lastModDate:A,rawLastModDate:R,encrypted:f,compressed:x,version:E,compressionMethod:C,extraFieldExtendedTimestampFlag:S,rawExtraFieldZip64:new u,localExtraFieldZip64Length:U,rawExtraFieldExtendedTimestamp:Y,rawExtraFieldNTFS:v,rawExtraFieldUnix:k,rawExtraFieldAES:Q,extraFieldLength:G}})(i=A.assign({},i,a.resolvedOptions,o.resolvedOptions,s.resolvedOptions,{internalFileAttribute:o.resolvedOptions.internalFileAttributes,externalFileAttribute:a.resolvedOptions.externalFileAttributes,signature:i[nn],offset:e.offset-g,diskNumberStart:c})),B=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:A})=>{let n,i=new u,r=0,a=e?20:12;return A&&(a+=4),t&&(i=new u(a),n=Gi(i),A&&(r=4,Mi(n,0,W))),{dataDescriptorArray:i,dataDescriptorView:n,dataDescriptorOffset:r}})(i),p=Wi(m.localHeaderArray,B.dataDescriptorArray);l=await(async(e,t,n,i,a)=>{const{files:s,writer:o}=e,{keepOrder:g,dataDescriptor:c,signal:l}=a,{headerInfo:m}=i,B=e.options.usdz,p=e.lastFileEntry;let f,w,I,E,C,x,D,b={},Q=0;s.set(t,b),e.lastFileEntry=b;try{let w;g&&(w=p&&p.lock,b.lock=new h(e=>I=e)),a.bufferedWrite||!g||e.writerLocked||e.bufferedWrites||!c?(f=!0,e.bufferedWrites++,D=a.createTempStream?await a.createTempStream():new y(_,_,{highWaterMark:$}),D.size=0,await bA(o)):(D=o,await v()),await bA(D);const{diskOffset:S}=o;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new u(4);Mi(Gi(t),0,G),await Di(o,t),e.offset+=4}B&&!f&&Ei(i,e.offset-S);const{localHeaderArray:M}=m;f||(await w,await Y());const z=o.diskNumber,W=yi(e,o);if(b.diskNumberStart=z,f||(C=!0,x=o.size,await Di(D,M)),b=await(async(e,t,{diskNumberStart:n,lock:i},a,s,o)=>{const{headerInfo:g,dataDescriptorInfo:c,metadataSize:l}=a,{headerArray:u,headerView:m,lastModDate:B,rawLastModDate:p,encrypted:f,compressed:h,version:w,compressionMethod:I,rawExtraFieldZip64:E,localExtraFieldZip64Length:C,rawExtraFieldExtendedTimestamp:x,extraFieldExtendedTimestampFlag:y,rawExtraFieldNTFS:D,rawExtraFieldUnix:F,rawExtraFieldAES:b}=g,{dataDescriptorArray:Q}=c,{rawFilename:v,lastAccessDate:Y,creationDate:S,password:M,rawPassword:z,level:G,zip64:W,zip64UncompressedSize:O,zip64CompressedSize:R,zipCrypto:T,dataDescriptor:K,directory:H,executable:N,versionMadeBy:L,rawComment:J,rawExtraField:P,useWebWorkers:Z,transferStreams:X,onstart:V,onprogress:j,onend:q,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:Ae,internalFileAttributes:ne,externalFileAttributes:ie,uid:re,gid:se,unixMode:oe,setuid:ge,setgid:ce,sticky:le,unixExternalUpper:de,msdosAttributesRaw:ue,msdosAttributes:me,useCompressionStream:Be,passThrough:pe}=o,fe={lock:i,versionMadeBy:L,zip64:W,directory:!!H,executable:!!N,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:J,rawExtraFieldZip64:E,localExtraFieldZip64Length:C,rawExtraFieldExtendedTimestamp:x,rawExtraFieldNTFS:D,rawExtraFieldUnix:F,rawExtraFieldAES:b,rawExtraField:P,extendedTimestamp:te,msDosCompatible:Ae,internalFileAttributes:ne,externalFileAttributes:ie,diskNumberStart:n,uid:re,gid:se,unixMode:oe,setuid:ge,setgid:ce,sticky:le,unixExternalUpper:de,msdosAttributesRaw:ue,msdosAttributes:me};let{signature:he,uncompressedSize:we}=o,Ie=0;pe||(we=0);const{writable:Ee}=t;if(e){e.chunkSize=ae(s);const A=e.readable,n=e.size,i={options:{codecType:ut,level:G,rawPassword:z,password:M,encryptionStrength:ee,zipCrypto:f&&T,passwordVerification:f&&T&&p>>8&U,signed:!pe,compressed:h&&!pe,encrypted:f&&!pe,useWebWorkers:Z,useCompressionStream:Be,transferStreams:X},config:s,streamOptions:{signal:$,size:n,onstart:V,onprogress:j,onend:q}};try{const e=await Ot({readable:A,writable:Ee},i);if(Ie=e.outputSize,t.size+=Ie,pe||(we=e.inputSize,he=e.signature),!R&&Ie>=k||!O&&we>=k)throw new d(ci)}catch(e){throw e.outputSize!==_&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:A,headerInfo:n,dataDescriptorInfo:i},{zip64:a,zipCrypto:s,dataDescriptor:o})=>{const{headerView:g,encrypted:c}=n,{dataDescriptorView:l,dataDescriptorOffset:d}=i;c&&!s||e===_||(Mi(g,10,e),o&&Mi(l,d,e)),a?o&&(Ui(l,d+4,r(t)),Ui(l,d+12,r(A))):(Mi(g,14,t),Mi(g,18,A),o&&(Mi(l,d+4,t),Mi(l,d+8,A)))})({signature:he,compressedSize:Ie,uncompressedSize:we,headerInfo:g,dataDescriptorInfo:c},o),K&&await Di(t,Q),A.assign(fe,{uncompressedSize:we,compressedSize:Ie,lastModDate:B,rawLastModDate:p,creationDate:S,lastAccessDate:Y,encrypted:f,zipCrypto:T,size:l+Ie,compressionMethod:I,version:w,headerArray:u,headerView:m,signature:he,extraFieldExtendedTimestampFlag:y,zip64UncompressedSize:O,zip64CompressedSize:R}),fe})(n,D,b,i,e.config,a),f||(C=!1),s.set(t,b),b.filename=t,f){if(await h.all([D.writable.getWriter().close(),w]),await v(),E=!0,x=o.size,await Y(),b.diskNumberStart=o.diskNumber,b.offset=yi(e,o),B){const t=i.metadataSize;Ei(i,e.offset-o.diskOffset),b.size+=i.metadataSize-t}(({rawFilename:e,encrypted:t,zip64:A,localExtraFieldZip64Length:n,signature:i,compressedSize:a,uncompressedSize:s,zip64UncompressedSize:o,zip64CompressedSize:g},c,{dataDescriptor:l})=>{if(l||(t||Mi(c,14,i),g||Mi(c,18,a),o||Mi(c,22,s)),A&&n){const t=V+Wi(e)+4;Ui(c,t,r(s)),Ui(c,t+8,r(a))}})(b,m.localHeaderView,a),await Di(o,m.localHeaderArray),await(async(e,t,A)=>{const n=t.writable.getWriter();try{await e.pipeTo(new F({async write(e){var t;await n.ready,await n.write(e),t=Wi(e),Q+=t}}),{preventClose:!0,preventAbort:!0,signal:A})}finally{n.releaseLock()}})(D.readable,o,l),o.size+=D.size,E=!1}else b.diskNumberStart=z,b.offset=W;return e.offset+=b.size,b}catch(A){if(E||C){if(e.hasCorruptedEntries=!0,A)try{A.corruptedEntry=!0}catch{}e.offset+=o.size-x,f&&(e.offset+=Q)}throw s.delete(t),A}finally{f&&e.bufferedWrites--,I&&I(),w&&w()}async function v(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new h(t=>w=()=>{e.writerLocked=!1,t()}),await t}async function Y(){Wi(m.localHeaderArray)>o.availableSize&&(o.availableSize=0,await Di(o,new u))}})(e,t,n,{headerInfo:m,dataDescriptorInfo:B,metadataSize:p},i)}catch(A){throw e.files.delete(t),A}return A.assign(l,{name:t,comment:g,extraField:c}),new ln(l)})(i,e,t,n),a.add(g),await g}catch(t){throw c&&i.filenames.delete(e),t}finally{a.delete(g);const e=hi.shift();e?e():fi--}}remove(e){const{filenames:t,files:A}=this;if("string"==typeof e&&(e=A.get(e)),e&&e.filename!==_){const{filename:n}=e;if(t.has(n)&&A.has(n))return t.delete(n),A.delete(n),!0}return!1}async close(e=new u,A={}){const{pendingAddFileCalls:n,writer:i}=this,{writable:a}=i;if(Wi(e)>M)throw new d(ti);for(;n.size;)await h.allSettled(t.from(n));return await(async(e,A,n)=>{const i=(e=>{let t=0;for(const[,A]of e){const{rawFilename:e,rawExtraFieldAES:n,rawComment:i,rawExtraFieldNTFS:r,rawExtraFieldUnix:a,rawExtraField:s,extendedTimestamp:o,extraFieldExtendedTimestampFlag:g,lastModDate:c,zip64UncompressedSize:l,zip64CompressedSize:m,uncompressedSize:B,compressedSize:p}=A,f=A.offset>=k,h=A.diskNumberStart>=M;let w,I;if(f||h||l||m){const e=4+(l?8:0)+(m?8:0)+(f?8:0)+(h?4:0),t=xi(e);t.uint16(1),t.uint16(e-4),l&&t.uint64(B),m&&t.uint64(p),f&&t.uint64(A.offset),h&&t.uint32(A.diskNumberStart),w=t.array}else w=new u;A.rawExtraFieldZip64=w,A.zip64Offset=f,A.zip64DiskNumberStart=h;const E=bi(c);if(o&&Qi(E)){const e=xi(9);e.uint16(N),e.uint16(5),e.uint8(g),e.uint32(E),I=e.array}else I=new u;A.rawExtraFieldExtendedTimestamp=I;const C=Wi(w,n,r,a,I,s);if(C>M)throw new d(si);t+=46+Wi(e,i)+C}return t})(e.files),{cdStartDiskNumber:a,cdStartDiskOffset:s}=await(async(e,A,n)=>{const{files:i,writer:r}=e,a=new u(A);await bA(r);let s=0,o=0,g=r.diskNumber,c=r.diskOffset;for(const[e,A]of t.from(i.values()).entries()){const{offset:t,rawFilename:l,rawExtraFieldZip64:d,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:B,rawExtraFieldNTFS:p,rawExtraFieldUnix:f,rawExtraField:h,rawComment:w,versionMadeBy:I,headerArray:E,headerView:C,zip64UncompressedSize:x,zip64CompressedSize:y,zip64DiskNumberStart:D,zip64Offset:F,internalFileAttributes:b,externalFileAttributes:Q,diskNumberStart:v,uncompressedSize:Y,compressedSize:S}=A,U=Wi(d,m,B,p,f,h),z=46+Wi(l,w)+U;s+z-o>r.availableSize&&(await Di(r,a.slice(o,s)),o=s,r.availableSize=0,await Di(r,new u)),0==e&&(g=r.diskNumber,c=r.diskOffset),x||Mi(C,18,Y),y||Mi(C,14,S),(F||D)&&45>A.version&&ki(C,0,45);const G=xi(z);if(G.uint32(O),G.uint16(I),G.bytes(E.subarray(0,24)),G.uint16(U),G.uint16(Wi(w)),G.uint16(D?M:v),G.uint16(b),G.uint32(Q),G.uint32(F?k:t),G.bytes(l),G.bytes(d),G.bytes(m),G.bytes(B),G.bytes(p),G.bytes(f),G.bytes(h),G.bytes(w),zi(a,G.array,s),s+=z,n.onprogress)try{await n.onprogress(e+1,i.size,new ln(A))}catch{}}return await Di(r,o?a.slice(o):a),{cdStartDiskNumber:g,cdStartDiskOffset:c}})(e,i,n);await(async(e,t,A,n)=>{const{writer:i}=e,{cdStartDiskNumber:a,cdStartDiskOffset:s}=n;let{directoryDataLength:o}=n,g=e.files.size,c=a,l=e.offset-s-(a?e.initialOffset:0),m=i.diskNumber;i.availableSize<H&&m++;let B=Yi(e,A,VA);if(!(k>l&&k>o&&M>g&&M>m)){if(!1===B)throw new d(ci);B=!0}const p=Wi(t);if(p>M)throw new d(ti);const f=xi(B?98:H);Wi(f.array)+p>i.availableSize&&(i.availableSize=0,await Di(i,new u)),m=i.diskNumber,B&&(f.uint32(T),f.uint64(44),f.uint16(45),f.uint16(45),f.uint32(m),f.uint32(c),f.uint64(g),f.uint64(g),f.uint64(o),f.uint64(l),f.uint32(K),f.uint32(m),f.uint64(r(e.offset)+r(o)-r(i.diskOffset)-r(i.diskNumber?e.initialOffset:0)),f.uint32(m+1),Yi(e,A,"supportZip64SplitFile",!0)&&(m=M,c=M),g=M,l=k,o=k),f.uint32(R),f.uint16(m),f.uint16(c),f.uint16(g),f.uint16(g),f.uint32(o),f.uint32(l),f.uint16(p),await Di(i,f.array),p&&await Di(i,t)})(e,A,n,{cdStartDiskNumber:a,cdStartDiskOffset:s,directoryDataLength:i})})(this,e,A),Yi(this,A,In)||await a.getWriter().close(),i.getData?i.getData():a}}function Ii(e,t,A){e.pendingAddFileCalls.add(t),t.catch(e=>{try{A(e)}catch{}})}function Ei(e,t){const{headerInfo:A}=e;let n,{localHeaderArray:i,extraFieldLength:r}=A,a=64-(t+Wi(i))%64;4>a&&(a+=64);const s=new u(a),o=Gi(s);ki(o,0,6534),ki(o,2,a-4);const g=i;A.localHeaderArray=i=new u(Wi(g)+a),zi(i,g),zi(i,s,Wi(g)),n=Gi(i),ki(n,28,r+a),A.localHeaderView=n,e.metadataSize+=a}function Ci(e){if(e===_)return new u;{const t=new u(4);Gi(t).setUint32(0,e,!0);let A=4;for(;A>1&&0===t[A-1];)A--;return t.subarray(0,A)}}function xi(e){const t=new u(e),A=Gi(t);let n=0;return{array:t,uint8:e=>{((e,t,A)=>{e.setUint8(t,A)})(A,n,e),n+=1},uint16:e=>{ki(A,n,e),n+=2},uint32:e=>{Mi(A,n,e),n+=4},uint64:e=>{Ui(A,n,r(e)),n+=8},bytes:e=>{zi(t,e,n),n+=Wi(e)},skip:e=>n+=e}}function yi(e,t){return e.offset-t.diskOffset-(t.diskNumber?e.initialOffset:0)}async function Di(e,t){const{writable:A}=e,n=A.getWriter();try{await n.ready,e.size+=Wi(t),await n.write(t)}finally{n.releaseLock()}}function Fi(e){if(e)return(r(e.getTime())+r(116444736e5))*r(1e4)}function bi(e){return a.floor(e.getTime()/1e3)}function Qi(e){return e>=oi&&gi>=e}function vi(e){return a.min(gi,a.max(oi,e))}function Yi(e,t,A,n){const i=t[A]===_?e.options[A]:t[A];return i===_?n:i}function Si(e){return e+5*(a.floor(e/16383)+1)}function ki(e,t,A){e.setUint16(t,A,!0)}function Mi(e,t,A){e.setUint32(t,A,!0)}function Ui(e,t,A){e.setBigUint64(t,A,!0)}function zi(e,t,A){e.set(t,A)}function Gi(e){return new p(e.buffer,e.byteOffset,e.byteLength)}function Wi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Oi({version:e,bitFlag:t,compressionMethod:A,uncompressedSize:n,compressedSize:i,lastModDate:r,rawLastModDate:a,rawFilename:s,zip64CompressedSize:o,zip64UncompressedSize:g,extraFieldLength:c}){const l=xi(26),d=l.array,u=Gi(d);if(l.uint16(e),l.uint16(t),l.uint16(A),a===_){const e=new B(1),t=Gi(e);ki(t,0,(r.getHours()<<6|r.getMinutes())<<5|r.getSeconds()/2),ki(t,2,(r.getFullYear()-1980<<4|r.getMonth()+1)<<5|r.getDate()),a=e[0]}return l.uint32(a),l.skip(4),o||i!==_?l.uint32(o?k:i):l.skip(4),g||n!==_?l.uint32(g?k:n):l.skip(4),l.uint16(Wi(s)),l.uint16(c),{headerArray:d,headerView:u,rawLastModDate:a}}function Ri(e,t,A,n,i){let r=0;return t&&(r|=L),A&&(r|=8),8!=i&&9!=i||(0>e||e>3||(r|=6),e>3&&5>=e&&(r|=4),9==e&&(r|=2)),n&&(r|=1),r}try{se({baseURI:void 0===E&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===E?location.href:S&&"SCRIPT"===S.tagName.toUpperCase()&&S.src||new l("zip-fs-native.min.js",E.baseURI).href})}catch{}var{Uint8Array:Ti,Uint16Array:Ki,Int32Array:Hi,TransformStream:Ni,Math:Li,Error:Ji,Array:Pi}=globalThis,Zi=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Xi=new Ti(0),Vi=new Ki(0),ji=[];for(let e=0;6>e;e++)ji.push(e,0==e?8:4);ji.push(0,1);var qi=[];for(let e=0;14>e;e++)qi.push(e,0==e?4:2);var _i=new Ki([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),$i=new Ki([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function er(e,t,A,n,i){if(0==i)return;let r=e instanceof Ti?e:new Ti(e.buffer,e.byteOffset,e.byteLength),a=A instanceof Ti?A.subarray(n,n+i):new Ti(A.buffer,A.byteOffset+n,i);r.set(a,t)}function tr(e,t,A){0!=A&&(e instanceof Ti?e:new Ti(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+A)}function Ar(){return{next_in:Xi,next_in_index:0,avail_in:0,total_in:0,next_out:Xi,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function nr(e,t){let A=1<<t;return{o:e,u:new Ti(A),h:A,k:t,m:0,v:0,p:0,M:0}}function ir(e){let t=[];for(let A=0;A<e.length;A+=2){let n=e[A],i=e[A+1];for(let e=0;i>e;e++)t.push(n)}return new Ki(t)}var rr=class{constructor(e,t){this.L=e,this.Z=t,this.q=0}},ar=class{constructor(e,t,A,n,i){this.N=e,this.V=t,this.W=A,this.S=n,this.$=i}};function sr(e){return Ur[-6>e||e>2?9:2-e]||""}function or(e,t){try{e.msg=sr(t)}catch(A){e.msg="zlib error "+n(t)+" ("+A+")"}return t}function gr(e,t){let A=e>>>0,n=0;for(let e=0;t>e;e++)n=n<<1|1&A,A>>>=1;return n}function cr(e,t){e.I[e.D++]=t}function lr(e,t){cr(e,255&t),cr(e,t>>>8&255)}function dr(e,t,A){let n=255&A,i=65535&t,r=e.A+e.U;return e.I[r]=255&i,e.I[r+1]=i>>>8&255,e.I[r+2]=n,e.U+=3,i=i-1&65535,e.R[Hr[n]+Fr+1].P++,e.X[Br(i)].P++,e.U==e.C}function ur(e,t){let A=255&t,n=e.A+e.U;return e.I[n]=0,e.I[n+1]=0,e.I[n+2]=A,e.U+=3,e.R[A].P++,e.U==e.C}function mr(e){return e.h-yr}function Br(e){return 256>e?Nr[e]:Nr[256+(e>>7)]}function pr(e){let t=Er+7,A=1<<t,n=(1<<t)-1,i=Li.floor((t+Cr-1)/Cr),r=1<<8+Er;return{...nr(e,15),o:e,H:42,O:0,T:void 0,Y:32767,B:t,F:A,j:n,G:i,J:new Ki(32768),K:new Ki(A),ee:r,I:new Ti(32768),te:0,ne:32768,D:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,me:0,ve:0,xe:0,ye:0,pe:new Hi(2*br+1),ze:new Ti(2*br+1),Me:new Ki(Sr+1),U:0,C:0,Le:Xi,A:0,Ee:0,Ze:0,qe:8,Ne:32768,Ve:0,We:0,Se:0,R:new Pi(Yr).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),X:new Pi(2*Qr+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),$e:new Pi(2*vr+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),Ie:wr(),De:wr(),Ae:wr()}}function fr(e){let t=[];for(let A=0;A<e.length;A+=2){let n=e[A],i=e[A+1],r=hr();r.Qe=n,r.Ue=i,t.push(r)}return t}function hr(){return{P:0,Qe:0,Pe:0,Ue:0}}function wr(){return new rr([],new ar(null,Xi,0,0,0))}function Ir(e){let{code:t,length:A}=(e=>{let t=Li.max(...e),A=new Pi(t+1).fill(0);for(let t of e)t>0&&A[t]++;let n=new Pi(e.length).fill(0),i=new Pi(t+1).fill(0),r=0;for(let e=1;t>=e;e++)r=r+A[e-1]<<1,i[e]=r;for(let t=0;t<e.length;t++){let A=e[t];0!=A&&(n[t]=i[A]++)}return{code:n,length:e}})(e),n=new Ki(2*e.length),i=0;for(let r=0;r<e.length;r++){let e=A[r]||0,a=t[r]||0;n[i++]=e?gr(a,e):0,n[i++]=e}return new Ki(n)}var Er=8,Cr=3,xr=258,yr=xr+Cr+1,Dr=xr,Fr=256,br=Fr+1+29,Qr=30,vr=19,Yr=2*br+1,Sr=15,kr=256,Mr=-1,Ur=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],zr=ir(ji),Gr=ir(qi),Wr=new Ki(19);Wr[16]=2,Wr[17]=3,Wr[18]=7;var Or=Ir((()=>{let e=new Pi(288).fill(0);for(let t=0;143>=t;t++)e[t]=8;for(let t=144;255>=t;t++)e[t]=9;for(let t=256;279>=t;t++)e[t]=7;for(let t=280;287>=t;t++)e[t]=8;return e})()),Rr=Ir(new Pi(30).fill(5)),Tr=fr(Or),Kr=fr(Rr),Hr=((e,t)=>{let A=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,r=e[n]+i-1;r>A&&(A=r)}258>A&&(A=258);let n=new Ti(A+1);for(let i=0;A>=i;i++)for(let A=0;A<e.length;A++){let r=t[A]?1<<t[A]:1,a=e[A];if(i>=a&&a+r-1>=i){n[i]=A;break}}return n})($i,zr),Nr=(e=>{let t=new Ti(512),A=e.length-1;for(let n=0;256>n;n++)t[n]=n>A?e[A]:e[n];for(let n=256;A>=n;n++){let A=n>>7;t[256+(A>255?255:A)]=e[n]}for(let e=257;512>e;e++)0==t[e]&&(t[e]=t[e-1]);return t})(((e,t)=>{let A=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,r=e[n]+i-1;r>A&&(A=r)}let n=new Ti(A+1);for(let i=0;A>=i;i++)for(let A=0;A<e.length;A++){let r=t[A]?1<<t[A]:1,a=e[A];if(i>=a&&a+r-1>=i){n[i]=A;break}}return n})(_i,Gr));function Lr(e){return e%65521>>>0}function Jr(e,t,A){if(void 0===t||void 0===A)return 1;let n=e>>>16&65535;if(e&=65535,1==A)return(e+=t[0])>=65521&&(e-=65521),n+=e,n>=65521&&(n-=65521),(n<<16|e)>>>0;if(16>A){for(let i=0;A>i;i++)n+=e+=t[i];return e>=65521&&(e-=65521),n=Lr(n),(n<<16|e)>>>0}for(;A>=5552;){A-=5552;let i=Li.floor(347);do{for(let A=0;16>A;A++)n+=e+=t[A];t=t.subarray(16)}while(--i);e=Lr(e),n=Lr(n)}if(A){for(;A>=16;){A-=16;for(let A=0;16>A;A++)n+=e+=t[A];t=t.subarray(16)}for(let i=0;A>i;i++)n+=e+=t[i];e=Lr(e),n=Lr(n)}return(n<<16|e)>>>0}var Pr=(()=>{let e=new Pi(256);for(let t=0;256>t;t++){let A=t;for(let e=0;8>e;e++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A>>>0}return e})();function Zr(e=0,t,A){if(!t)return 0;void 0===A&&(A=t.length),A=Li.min(A,t.length),e=~e>>>0;for(let n=0;A>n;n++)e=e>>>8^Pr[255&(e^t[n])];return(4294967295^e)>>>0}function Xr(e){16==e.M?(lr(e,e.p),e.p=0,e.M=0):e.M>=8&&(cr(e,e.p),e.p>>=8,e.M-=8)}function Vr(e){e.M>8?lr(e,e.p):e.M>0&&cr(e,e.p),e.Ee=1+(e.M-1&7),e.p=0,e.M=0}function jr(e,t,A){e.M>16-A?(e.p=65535&(e.p|t<<e.M),lr(e,e.p),e.p=t>>16-e.M&65535,e.M+=A-16):(e.p=65535&(e.p|t<<e.M),e.M+=A)}function qr(e){for(let t=0;t<e.R.length;t++)e.R[t].P=0;for(let t=0;t<e.X.length;t++)e.X[t].P=0;for(let t=0;t<e.$e.length;t++)e.$e[t].P=0;e.R[kr].P=1,e.ie=e.fe=0,e.U=e._e=0}function _r(e,t,A){return A=e.pe[1],e.pe[1]=e.pe[e.We--],ea(e,t,1),A}function $r(e,t,A,n){return e[t].P<e[A].P||e[t].P==e[A].P&&n[t]<=n[A]}function ea(e,t,A){let n=e.pe[A],i=A<<1;for(;i<=e.We&&(i<e.We&&$r(t,e.pe[i+1],e.pe[i],e.ze)&&i++,!$r(t,n,e.pe[i],e.ze));)e.pe[A]=e.pe[i],A=i,i<<=1;e.pe[A]=n}function ta(e,t){let A,n,i,r=t.L,a=t.Z.N,s=t.Z.S,o=-1;for(e.We=0,e.Se=Yr,A=0;s>A;A++)0!=r[A].P?(e.pe[++e.We]=o=A,e.ze[A]=0):r[A].Ue=0;for(;2>e.We;)i=e.pe[++e.We]=2>o?++o:0,r[i].P=1,e.ze[i]=0,e.ie--,a&&(e.fe-=a[i].Ue);for(t.q=o,A=Li.floor(e.We/2);A>=1;A--)ea(e,r,A);i=s;do{A=_r(e,r,A),n=e.pe[1],e.pe[--e.Se]=A,e.pe[--e.Se]=n,r[i].P=r[A].P+r[n].P,e.ze[i]=(e.ze[A]<e.ze[n]?e.ze[n]:e.ze[A])+1,r[A].Pe=r[n].Pe=i,e.pe[1]=i++,ea(e,r,1)}while(e.We>=2);e.pe[--e.Se]=e.pe[1],((e,t)=>{let A,n,i,r,a,s,o=t.L,g=t.q,c=t.Z.N,l=t.Z.V,d=t.Z.W,u=t.Z.$,m=0;for(r=0;Sr>=r;r++)e.Me[r]=0;for(o[e.pe[e.Se]].Ue=0,A=e.Se+1;Yr>A;A++)n=e.pe[A],r=o[o[n].Pe].Ue+1,r>u&&(r=u,m++),o[n].Ue=r,g>=n&&(e.Me[r]++,a=0,n>=d&&(a=l[n-d]),s=o[n].P,e.ie+=s*(r+a),c&&(e.fe+=s*(c[n].Ue+a)));if(0!=m){do{for(r=u-1;0==e.Me[r];)r--;e.Me[r]--,e.Me[r+1]+=2,e.Me[u]--,m-=2}while(m>0);for(r=u;0!=r;r--)for(n=e.Me[r];0!=n;)i=e.pe[--A],g>=i&&(o[i].Ue!=r&&(e.ie+=(r-o[i].Ue)*o[i].P,o[i].Ue=r),n--)}})(e,t),((e,t,A)=>{let n,i,r=[],a=0;for(n=1;Sr>=n;n++)a=a+A[n-1]<<1,r[n]=a;for(i=0;t>=i;i++){let t=e[i].Ue;0!=t&&(e[i].Qe=gr(r[t]++,t))}})(r,t.q,e.Me)}function Aa(e,t,A){let n,i,r=-1,a=t[0].Ue,s=0,o=7,g=4;for(0==a&&(o=138,g=3),t[A+1].Ue=65535,n=0;A>=n;n++)i=a,a=t[n+1].Ue,(++s>=o||i!=a)&&(g>s?e.$e[i].P+=s:0!=i?(i!=r&&e.$e[i].P++,e.$e[16].P++):s>10?e.$e[18].P++:e.$e[17].P++,s=0,r=i,0==a?(o=138,g=3):i==a?(o=6,g=3):(o=7,g=4))}function na(e,t,A){let n,i=-1,r=t[0].Ue,a=0,s=7,o=4;0==r&&(s=138,o=3);for(let g=0;A>=g;g++)if(n=r,r=t[g+1].Ue,++a>=s||n!=r){if(o>a)do{jr(e,e.$e[n].Qe,e.$e[n].Ue)}while(0!=--a);else 0!=n?(n!=i&&(jr(e,e.$e[n].Qe,e.$e[n].Ue),a--),jr(e,e.$e[16].Qe,e.$e[16].Ue),jr(e,a-3,2)):a>10?(jr(e,e.$e[18].Qe,e.$e[18].Ue),jr(e,a-11,7)):(jr(e,e.$e[17].Qe,e.$e[17].Ue),jr(e,a-3,3));a=0,i=n,0==r?(s=138,o=3):n==r?(s=6,o=3):(s=7,o=4)}}function ia(e,t,A,n,i=0){jr(e,0+n,3),Vr(e),lr(e,A),lr(e,~A),A&&t&&er(e.I,e.D,t,i,A),e.D+=A}function ra(e,t,A){let n,i,r,a,s=0;if(0!=e.U)do{n=255&e.Le[s],n+=(255&e.Le[s+1])<<8,i=e.Le[s+2],s+=3,0==n?jr(e,t[i].Qe,t[i].Ue):(r=Hr[i],jr(e,t[r+Fr+1].Qe,t[r+Fr+1].Ue),a=zr[r],0!=a&&(i-=$i[r],jr(e,i,a)),n--,r=Br(n),jr(e,A[r].Qe,A[r].Ue),a=Gr[r],0!=a&&(n-=_i[r],jr(e,n,a)))}while(s<e.U);jr(e,t[kr].Qe,t[kr].Ue)}var aa=[{Re:Da,Xe:0,Ce:0,He:0,Oe:0},{Re:Fa,Xe:4,Ce:4,He:8,Oe:4},{Re:Fa,Xe:5,Ce:5,He:16,Oe:8},{Re:Fa,Xe:6,Ce:16,He:32,Oe:32},{Re:ba,Xe:4,Ce:4,He:16,Oe:16},{Re:ba,Xe:16,Ce:8,He:16,Oe:32},{Re:ba,Xe:16,Ce:16,He:32,Oe:128},{Re:ba,Xe:32,Ce:32,He:128,Oe:256},{Re:ba,Xe:128,Ce:128,He:256,Oe:1024},{Re:ba,Xe:258,Ce:258,He:258,Oe:4096}];function sa(e){return 2*e-(e>4?9:0)}function oa(e,t,A){return((t<<e.G^A)&e.j)>>>0}function ga(e,t){e.ke=oa(e,e.ke,e.u[t+(Cr-1)]);let A=e.J[t&e.Y]=e.K[e.ke];return e.K[e.ke]=t,A}function ca(e){e.K[e.F-1]=0,tr(e.K,0,(e.F-1)*e.K.BYTES_PER_ELEMENT)}function la(e){let t,A,n=e.h;for(t=e.F;t>0;)t--,A=e.K[t],e.K[t]=n>A?0:A-n;for(t=n;t>0;)t--,A=e.J[t],e.J[t]=n>A?0:A-n}function da(e,t,A,n){let i=e.avail_in;return i>n&&(i=n),0==i?0:(e.avail_in-=i,er(t,A,e.next_in,e.next_in_index,i),1==e.l.O?e.i=Jr(e.i,new Ti(t.buffer,t.byteOffset+A,i),i):2==e.l.O&&(e.i=Zr(e.i,new Ti(t.buffer,t.byteOffset+A,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function ua(e){let t,A,n=e.h;do{if(A=e.Ne-e.ce-e.ae,0==A&&0==e.ae&&0==e.ce?A=n:-1==A&&A--,e.ae>=n+mr(e)&&(er(e.u,0,e.u,n,n-A),e.Ve-=n,e.ae-=n,e.ue-=n,e.le>e.ae&&(e.le=e.ae),la(e),A+=n),0==e.o.avail_in)break;if(t=da(e.o,e.u,e.ae+e.ce,A),e.ce+=t,e.ce+e.le>=Cr){let t=e.ae-e.le;for(e.ke=e.u[t],e.ke=oa(e,e.ke,e.u[t+1]);e.le&&(e.ke=oa(e,e.ke,e.u[t+Cr-1]),e.J[t&e.Y]=e.K[e.ke],e.K[e.ke]=t,t++,e.le--,e.ce+e.le>=Cr););}}while(e.ce<yr&&0!=e.o.avail_in);if(e.m<e.Ne){let t,A=e.ae+e.ce;e.m<A?(t=e.Ne-A,t>Dr&&(t=Dr),tr(e.u,A,t),e.m=A+t):e.m<A+Dr&&(t=A+Dr-e.m,t>e.Ne-e.m&&(t=e.Ne-e.m),tr(e.u,e.m,t),e.m+=t)}}function ma(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.H&&57!=t.H&&69!=t.H&&73!=t.H&&91!=t.H&&103!=t.H&&113!=t.H&&666!=t.H}function Ba(e,t){cr(e,t>>8),cr(e,255&t)}function pa(e){let t,A=e.l;(e=>{Xr(e)})(A),t=A.D,t>e.avail_out&&(t=e.avail_out),0!=t&&(er(e.next_out,e.next_out_index,A.I,A.re,t),e.next_out_index+=t,A.re+=t,e.total_out+=t,e.avail_out-=t,A.D-=t,0==A.D&&(A.re=A.te))}function fa(e,t){let A=e.l;A.T&&A.T.Te&&(e.i=Zr(e.i,new Ti(A.I.buffer,A.te+t,A.D-t),A.D-t))}function ha(e,t){let A,n=e.l;if(ma(e)||t>5||0>t)return or(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==n.H&&4!=t)return or(e,-2);if(0==e.avail_out)return or(e,-5);if(A=n.oe,n.oe=t,0!=n.D){if(pa(e),0==e.avail_out)return n.oe=Mr,0}else if(0==e.avail_in&&sa(t)<=sa(A)&&4!=t)return or(e,-5);if(666==n.H&&0!=e.avail_in)return or(e,-5);if(42==n.H&&0==n.O&&(n.H=113),42==n.H){let t,A=8+(n.k-8<<4)<<8;if(t=n.ge>=2||2>n.be?0:6>n.be?1:6==n.be?2:3,A|=t<<6,0!=n.ae&&(A|=32),A+=31-A%31,Ba(n,A),0!=n.ae&&(Ba(n,e.i>>16),Ba(n,65535&e.i)),e.i=1,n.H=113,pa(e),0!=n.D)return n.oe=Mr,0}if(57==n.H)if(e.i=Zr(0),cr(n,31),cr(n,139),cr(n,8),n.T)cr(n,(n.T.Ye?1:0)+(n.T.Te?2:0)+(null==n.T.Be?0:4)+(null==n.T.Fe?0:8)+(null==n.T.je?0:16)),cr(n,255&n.T.Ge),cr(n,n.T.Ge>>>8&255),cr(n,n.T.Ge>>>16&255),cr(n,n.T.Ge>>>24&255),cr(n,9==n.be?2:n.ge>=2||2>n.be?4:0),cr(n,255&n.T.Je),null!=n.T.Be&&(cr(n,255&n.T.Ke),cr(n,n.T.Ke>>>8&255)),n.T.Te&&(e.i=Zr(e.i,n.I,n.D)),n.Ze=0,n.H=69;else if(cr(n,0),cr(n,0),cr(n,0),cr(n,0),cr(n,0),cr(n,9==n.be?2:n.ge>=2||2>n.be?4:0),cr(n,255),n.H=113,pa(e),0!=n.D)return n.oe=Mr,0;if(69==n.H){if(n.T&&null!=n.T.Be){let t=n.D,A=(65535&n.T.Ke)-n.Ze;for(;n.D+A>n.ne;){let i=n.ne-n.D;if(er(n.I,n.D,n.T.Be,n.Ze,i),n.D=n.ne,fa(e,t),n.Ze+=i,pa(e),0!=n.D)return n.oe=Mr,0;t=0,A-=i}er(n.I,n.D,n.T.Be,n.Ze,A),n.D+=A,fa(e,t),n.Ze=0}n.H=73}if(73==n.H){if(n.T&&n.T.Fe&&n.T.Fe.length){let t,A=n.D;do{if(n.D==n.ne){if(fa(e,A),pa(e),0!=n.D)return n.oe=Mr,0;A=0}t=n.T.Fe[n.Ze++],cr(n,t)}while(0!=t);fa(e,A),n.Ze=0}n.H=91}if(91==n.H){if(n.T&&n.T.je&&n.T.je.length){let t,A=n.D;do{if(n.D==n.ne){if(fa(e,A),pa(e),0!=n.D)return n.oe=Mr,0;A=0}t=n.T.je[n.Ze++],cr(n,t)}while(0!=t);fa(e,A)}n.H=103}if(103==n.H){if(n.T&&n.T.Te){if(n.D+2>n.ne&&(pa(e),0!=n.D))return n.oe=Mr,0;cr(n,255&e.i),cr(n,e.i>>>8&255),e.i=Zr(0)}if(n.H=113,pa(e),0!=n.D)return n.oe=Mr,0}if(0!=e.avail_in||0!=n.ce||0!=t&&666!=n.H){let A=0==n.be?Da(n,t):2==n.ge?((e,t)=>{let A=!1;for(;;){if(0==e.ce&&(ua(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,A=ur(e,e.u[e.ae]),e.ce--,e.ae++,A){let t=Ca(e,!1);if(null!=t)return t}}if(e.le=0,4==t)return Ca(e,!0)??3;if(e.U){let t=Ca(e,!1);if(null!=t)return t}return 1})(n,t):3==n.ge?((e,t)=>{let A,n,i,r;for(;;){if(e.ce<=xr){if(ua(e),e.ce<=xr&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=Cr&&e.ae>0&&(i=e.ae-1,n=e.u[i],n==++i&&n==++i&&n==++i)){r=e.ae+xr;do{}while(n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&r>i);e.se=xr-(r-i),e.se>e.ce&&(e.se=e.ce)}if(e.se<Cr?(A=ur(e,e.u[e.ae]),e.ce--,e.ae++):(e.ae,e.ae,e.se,A=dr(e,1,e.se-Cr),e.ce-=e.se,e.ae+=e.se,e.se=0),A){let t=Ca(e,!1);if(null!=t)return t}}if(e.le=0,4==t)return Ca(e,!0)??3;if(e.U){let t=Ca(e,!1);if(null!=t)return t}return 1})(n,t):aa[n.be].Re(n,t);if((2==A||3==A)&&(n.H=666),0==A||2==A)return 0==e.avail_out&&(n.oe=Mr),0;if(1==A&&(1==t?(e=>{jr(e,2,3),jr(e,Tr[kr].Qe,Tr[kr].Ue),Xr(e)})(n):5!=t&&(ia(n,null,0,0),3==t&&(ca(n),0==n.ce&&(n.ae=0,n.ue=0,n.le=0))),pa(e),0==e.avail_out))return n.oe=Mr,0}return 4!=t?0:n.O>0?(2==n.O?(cr(n,255&e.i),cr(n,e.i>>>8&255),cr(n,e.i>>>16&255),cr(n,e.i>>>24&255),cr(n,255&e.total_in),cr(n,e.total_in>>>8&255),cr(n,e.total_in>>>16&255),cr(n,e.total_in>>>24&255)):(Ba(n,e.i>>>16&65535),Ba(n,65535&e.i)),pa(e),n.O>0&&(n.O=-n.O),0!=n.D?0:1):1}function wa(e){if(ma(e))return-2;let t=e.l,A=t.H;return t.u=Xi,t.J=Vi,t.K=Vi,t.I=Xi,t.Le=Xi,t.pe=new Hi(0),t.ze=Xi,t.Me=Vi,t.R.length=0,t.X.length=0,t.$e.length=0,t.T=void 0,t.te=0,t.re=0,t.A=0,113==A?-3:0}function Ia(e,t){let A,n,i=e.xe,r=e.ae,a=e.de,s=e.ve,o=e.ae>mr(e)?e.ae-mr(e):0,g=e.J,c=e.Y,l=e.u[r],d=e.u[r+1],u=e.u[r+a-1],m=e.u[r+a];e.de>=e.me&&(i>>=2),s>e.ce&&(s=e.ce);do{if(A=t,e.u[A+a]!=m||e.u[A+a-1]!=u||e.u[A]!=l||e.u[A+1]!=d)continue;let i=Li.min(xr,e.ce),o=2;for(;i>o&&e.u[r+o]==e.u[A+o];)o++;if(n=o,n>a){if(e.Ve=t,a=n,n>=s)break;u=e.u[r+a-1],m=e.u[r+a]}}while((t=g[t&c])>o&&0!=--i);return a>e.ce?e.ce:a}function Ea(e,t){((e,t,A,n,i=0)=>{let r,a,s=0;e.be>0?(2==e.o.t&&(e.o.t=(e=>{let t,A=4093624447;for(t=0;31>=t;t++,A>>=1)if(1&A&&0!=e.R[t].P)return 0;if(0!=e.R[9].P||0!=e.R[10].P||0!=e.R[13].P)return 1;for(t=32;Fr>t;t++)if(0!=e.R[t].P)return 1;return 0})(e)),ta(e,e.Ie),ta(e,e.De),s=(e=>{let t;for(Aa(e,e.R,e.Ie.q),Aa(e,e.X,e.De.q),ta(e,e.Ae),t=vr-1;t>=3&&0==e.$e[Zi[t]].Ue;t--);return e.ie+=3*(t+1)+5+5+4,t})(e),r=e.ie+3+7>>3,a=e.fe+3+7>>3,(r>=a||4==e.ge)&&(r=a)):r=a=A+5,r>=A+4&&t?ia(e,t,A,n,i):a==r?(jr(e,2+n,3),ra(e,Tr,Kr)):(jr(e,4+n,3),((e,t,A,n)=>{let i;for(jr(e,t-257,5),jr(e,A-1,5),jr(e,n-4,4),i=0;n>i;i++)jr(e,e.$e[Zi[i]].Ue,3);na(e,e.R,t-1),na(e,e.X,A-1)})(e,e.Ie.q+1,e.De.q+1,s+1),ra(e,e.R,e.X)),qr(e),n&&Vr(e)})(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,pa(e.o)}function Ca(e,t){return Ea(e,t?1:0),0==e.o.avail_out?t?2:0:null}var xa=65535;function ya(e,t){return t>e?e:t}function Da(e,t){let A,n,i,r=ya(e.ne-5,e.h),a=0,s=e.o.avail_in;do{if(A=xa,i=e.M+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,n=e.ae-e.ue,A>n+e.o.avail_in&&(A=n+e.o.avail_in),A>i&&(A=i),r>A&&(0==A&&4!=t||0==t||A!=n+e.o.avail_in)))break;a=4==t&&A==n+e.o.avail_in?1:0,ia(e,null,0,a),e.I[e.D-4]=A,e.I[e.D-3]=A>>8,e.I[e.D-2]=~A,e.I[e.D-1]=~A>>8,pa(e.o),n&&(n>A&&(n=A),er(e.o.next_out,e.o.next_out_index,e.u,e.ue,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n,e.ue+=n,A-=n),A&&(da(e.o,e.o.next_out,e.o.next_out_index,A),e.o.next_out_index+=A,e.o.avail_out-=A,e.o.total_out+=A)}while(0==a);if(s-=e.o.avail_in,s){if(s<e.h)e.Ne-e.ae<=s&&(e.ae-=e.h,er(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,e.le>e.ae&&(e.le=e.ae)),er(e.u,e.ae,e.o.next_in,e.o.next_in_index-s,s),e.ae+=s,e.le+=ya(s,e.h-e.le);else{e._e=2;let t=e.o.next_in_index-e.h;er(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae}e.ue=e.ae}return e.m<e.ae&&(e.m=e.ae),a?(e.Ee=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.Ne-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,er(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(da(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ya(i,e.h-e.le)),e.m<e.ae&&(e.m=e.ae),i=e.M+42>>3,i=ya(e.ne-i,xa),r=ya(i,e.h),n=e.ae-e.ue,(n>=r||(n||4==t)&&0!=t&&0==e.o.avail_in&&i>=n)&&(A=ya(n,i),a=4==t&&0==e.o.avail_in&&A==n?1:0,ia(e,e.u,A,a,e.ue),e.ue+=A,pa(e.o)),a&&(e.Ee=8),a?2:0)}function Fa(e,t){let A,n=!1;for(;;){if(e.ce<yr){if(ua(e),e.ce<yr&&0==t)return 0;if(0==e.ce)break}if(A=0,e.ce>=Cr&&(A=ga(e,e.ae)),0!=A&&e.ae-A<=mr(e)&&(e.se=Ia(e,A)),e.se<Cr)n=ur(e,e.u[e.ae]),e.ce--,e.ae++;else if(e.ae,e.Ve,e.se,n=dr(e,e.ae-e.Ve,e.se-Cr),e.ce-=e.se,e.se>e.ye||e.ce<Cr)e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=oa(e,e.ke,e.u[e.ae+1]);else{e.se--;do{e.ae++,A=ga(e,e.ae)}while(0!=--e.se);e.ae++}if(n){let t=Ca(e,!1);if(null!=t)return t}}if(e.le=e.ae<Cr-1?e.ae:Cr-1,4==t)return Ca(e,!0)??3;if(e.U){let t=Ca(e,!1);if(null!=t)return t}return 1}function ba(e,t){let A,n=!1;for(;;){if(e.ce<yr){if(ua(e),e.ce<yr&&0==t)return 0;if(0==e.ce)break}if(A=0,e.ce>=Cr&&(A=ga(e,e.ae)),e.de=e.se,e.he=e.Ve,e.se=Cr-1,0!=A&&e.de<e.ye&&e.ae-A<=mr(e)&&(e.se=Ia(e,A),5>=e.se&&1==e.ge&&(e.se=Cr-1)),e.de<Cr||e.se>e.de)if(e.we){if(n=ur(e,e.u[e.ae-1]),n&&Ea(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;else{let t=e.ae+e.ce-Cr;e.ae,e.he,e.de,n=dr(e,e.ae-1-e.he,e.de-Cr),e.ce-=e.de-1,e.de-=2;do{++e.ae<=t&&(A=ga(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=Cr-1,e.ae++,n){let t=Ca(e,!1);if(null!=t)return t}}}if(e.we&&(n=ur(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<Cr-1?e.ae:Cr-1,4==t)return Ca(e,!0)??3;if(e.U){let t=Ca(e,!1);if(null!=t)return t}return 1}var Qa=852,va=_i.map(e=>e+1),Ya=$i.subarray(0,-1).map(e=>e+3),Sa=qi.map(Na),ka=qi.map(La);Sa.push(64,2),ka.push(142,2);var Ma=ji.slice(0,-2).map(Na),Ua=ji.slice(0,-2).map(La);Ma.push(16,1,73,1,200,1),Ua.push(144,1,72,1,78,1);var za=new Ki([...Ya,258,0,0]),Ga=new Ki([...Ya,3,0,0]),Wa=ir(Ma),Oa=ir(Ua),Ra=new Ki([...va,0,0]),Ta=new Ki([...va,32769,49153]),Ka=ir(Sa),Ha=ir(ka);function Na(e,t){return t%2?e:e+16}function La(e,t){return t%2?e:e+128}function Ja(e,t){let A,n=e.l,i=e.next_in_index,r=e.next_out_index,a=e.next_in,s=e.next_out,o=n.u,g=n.p>>>0,c=n.M>>>0,l=n.et,d=n.tt,u=(1<<n.nt)-1,m=(1<<n.rt)-1,B=n.h>>>0,p=n.m>>>0,f=n.v>>>0,h=n.it,w=r-(t-e.avail_out),I=r+(e.avail_out-257),E=i+(e.avail_in-5),C=0,x=0,y=0,D=0;e:do{for(;15>c;){if(i>=a.length)break e;g+=a[i++]<<c,c+=8}for(A=l[g&u];;){if(y=A.ft,g>>>=y,c-=y,y=A._t,0==y){s[r++]=A.lt;break}if(16&y){if(C=A.lt,y&=15,y){for(;y>c;){if(i>=a.length){n.ot=16200;break e}g+=a[i++]<<c,c+=8}C+=g&(1<<y)-1,g>>>=y,c-=y}for(;15>c;){if(i>=a.length){n.ot=16200;break e}g+=a[i++]<<c,c+=8}for(A=d[g&m];;){if(y=A.ft,g>>>=y,c-=y,y=A._t,16&y){if(x=A.lt,y&=15,y){for(;y>c;){if(i>=a.length){n.ot=16200;break e}g+=a[i++]<<c,c+=8}x+=g&(1<<y)-1,g>>>=y,c-=y}let t=C,l=r-w;if(x>l){let A=x-l;if(A>p&&h){e.msg="invalid distance too far back",n.ot=16209;break e}if(0==f){if(D=B-A,A>=t){for(let e=0;t>e;++e)s[r++]=o[D++];continue e}for(let e=0;A>e;++e)s[r++]=o[D++];t-=A,D=r-x}else if(A>f){D=B+f-A;let e=A-f;if(e>=t){for(let e=0;t>e;++e)s[r++]=o[D++];continue e}for(let t=0;e>t;++t)s[r++]=o[D++];if(t-=e,D=0,t>f){for(let e=0;f>e;++e)s[r++]=o[D++];t-=f,D=r-x}}else{if(D=f-A,A>=t){for(let e=0;t>e;++e)s[r++]=o[D++];continue e}for(let e=0;A>e;++e)s[r++]=o[D++];t-=A,D=r-x}for(;t>2;)s[r++]=s[D++],s[r++]=s[D++],s[r++]=s[D++],t-=3;t&&(s[r++]=s[D++],t>1&&(s[r++]=s[D++]))}else{for(D=r-x;t>2;)s[r++]=s[D++],s[r++]=s[D++],s[r++]=s[D++],t-=3;t&&(s[r++]=s[D++],t>1&&(s[r++]=s[D++]))}break}if(64&y){e.msg="invalid distance code",n.ot=16209;break e}A=d[A.lt+(g&(1<<y)-1)]}break}if(64&y){if(32&y){n.ot=16191;break e}e.msg="invalid literal/length code",n.ot=16209;break e}A=l[A.lt+(g&(1<<y)-1)]}}while(E>i&&I>r);let F=c>>3;i-=F,c-=F<<3,g&=(1<<c)-1,e.next_in_index=i,e.next_out_index=r,e.avail_in=E>i?E-i+5:5-(i-E),e.avail_out=I>r?I-r+257:257-(r-I),n.p=g>>>0,n.M=c>>>0}function Pa(e,t){let A=[],n=t?1446:1444;return{...nr(e,0),o:e,ot:16180,ut:!1,O:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Xi,kt:0,bt:0,Be:0,et:A,tt:A,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,zt:A,Mt:new Ki(320),Lt:new Ki(288),Et:new Pi(n).fill(null).map(()=>Za()),Zt:0,it:!0,qt:0,Nt:0,Vt:t}}function Za(e=0,t=0,A=0){return{_t:e,ft:t,lt:A}}function Xa(e=1){return{_t:64,ft:e,lt:0}}function Va(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var ja={Vt:!1,Wt:za,St:Wa,$t:Ra,It:Ka,Dt:20,At:257,Qt:0,Ut:592,Pt:!1,Rt:!0},qa={Vt:!0,Wt:Ga,St:Oa,$t:Ta,It:Ha,Dt:19,At:256,Qt:-1,Ut:594,Pt:!0,Rt:!1};function _a(e,t,A,n,i,r,a,s){let o,g,c,l,d,u,m,B,p,f,h,w,I,E,C,x,y,D,F,b=new Ki(16),Q=new Ki(16),v=s?qa:ja;for(o=0;15>=o;o++)b[o]=0;for(g=0;A>g;g++)b[t[g]]++;for(d=i.Xt,l=15;l>=1&&0==b[l];l--);if(d>l&&(d=l),0==l)return v.Rt?(C=Xa(1),n.Xt[0]=C,n.Xt[1]=C,i.Xt=1,0):-1;for(c=1;l>c&&0==b[c];c++);for(c>d&&(d=c),B=1,o=1;15>=o;o++)if(B<<=1,B-=b[o],0>B)return-1;if(B>0&&(0==e||1!=l))return-1;for(Q[1]=0,o=1;15>o;o++)Q[o+1]=Q[o]+b[o];for(g=0;A>g;g++)0!=t[g]&&(r[Q[t[g]]++]=g);switch(e){case 0:y=D=r,F=v.Dt;break;case 1:y=v.Wt,D=v.St,F=v.At;break;default:y=v.$t,D=v.It,F=v.Qt}if(f=0,g=0,o=c,x=a.Xt,u=d,m=0,I=-1,p=1<<d,E=p-1,1==e&&(v.Pt?p>=Qa:p>Qa)||2==e&&(v.Pt?p>=v.Ut:p>v.Ut))return 1;for(;;){C=$a(r,g,o,m,e,y,D,F,v.Vt),h=1<<o-m,w=1<<u,c=w;do{w-=h;let e=(f>>m)+w;n.Xt[x+e]={...C}}while(0!=w);for(h=1<<o-1;f&h;)h>>=1;if(0!=h?(f&=h-1,f+=h):f=0,g++,0==--b[o]){if(o==l)break;o=t[r[g]]}if(o>d&&(f&E)!=I){for(0==m&&(m=d),x+=1<<u,u=o-m,B=1<<u;l>u+m&&(B-=b[u+m],B>0);)u++,B<<=1;if(p+=1<<u,1==e&&(v.Pt?p>=Qa:p>Qa)||2==e&&(v.Pt?p>=v.Ut:p>v.Ut))return 1;I=f&E,n.Xt[a.Xt+I]={_t:u,ft:d,lt:x-a.Xt}}}if(0!=f)for(C=Xa(o-m);0!=f;){for(0!=m&&(f&E)!=I&&(m=0,o=d,x=a.Xt,u=d,C.ft=o),n.Xt[x+(f>>m)]={...C},h=1<<o-1;f&h;)h>>=1;0!=h?(f&=h-1,f+=h):f=0}return a.Xt+=p,i.Xt=d,0}function $a(e,t,A,n,i,r,a,s,o){let g;if(o?e[t]<s:e[t]+1<s)g=Za(0,A-n,e[t]);else if(o?e[t]>s:e[t]>=s)if(o&&1==i){let i=e[t]-257;g=Za(a[i],A-n,r[i])}else{let i=o?e[t]:e[t]-s;g=Za(a[i],A-n,r[i])}else g=((e=0)=>({_t:96,ft:e,lt:0}))(A-n);return g}var es={Ct:!0,Ht:new Pi(544),Ot:[],Tt:[]},ts={Ct:!0,Ht:new Pi(544),Ot:[],Tt:[]};function As(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.Vt&&(16191>t.ot||t.ot>16209)||!t.Vt&&(16180>t.ot||t.ot>16211))))}function ns(e){let t=e.Vt?ts:es,A={Xt:0};if(t.Ct){let n,i,r;for(n=0;144>n;)e.Mt[n++]=8;for(;256>n;)e.Mt[n++]=9;for(;280>n;)e.Mt[n++]=7;for(;288>n;)e.Mt[n++]=8;for(let e=0;544>e;e++)t.Ht[e]=Za();r=t.Ht,t.Ot=r,i=9;let a={Xt:r},s={Xt:i},o={Xt:0};for(_a(1,e.Mt,288,a,s,e.Lt,o,e.Vt),r=a.Xt,i=s.Xt,e.Zt=o.Xt,n=0;32>n;)e.Mt[n++]=5;i=5;let g=o.Xt,c={Xt:r},l={Xt:i};A.Xt=g,_a(2,e.Mt,32,c,l,e.Lt,A,e.Vt),t.Tt=r.slice(g),t.Ct=!1}e.et=t.Ot,e.nt=9,e.tt=t.Tt,e.rt=5,e.Zt=A.Xt}var is=class extends Ji{constructor(){super("Need more input")}};function rs(e,t){let A,n,i,r,a,s,o,g,c,l,d,u,m,B,p,f,h,w=new Ti(4);if(As(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;s=0,g=0,o=0,c=0,n=Xi,i=0,r=Xi,a=0,A=e.l,16191==A.ot&&(A.ot=16192),y(),l=s,d=o,h=0;try{for(;;)switch(A.ot){case 16180:if(0==A.O){A.ot=16192;break}if(Q(16),2&A.O&&35615==g){0==A.k&&(A.k=15),A.ht=Zr(0),A.ht=C(A.ht,g),F(),A.ot=16181;break}if(A.T&&(A.T.Yt=-1),!(1&A.O)||((v(8)<<8)+(g>>8))%31){e.msg="incorrect header check",A.ot=16209;break}if(8!=v(4)){e.msg="unknown compression method",A.ot=16209;break}if(Y(4),f=v(4)+8,0==A.k&&(A.k=f),f>15||f>A.k){e.msg="invalid window size",A.ot=16209;break}A.dt=1<<f,A.st=0,e.i=A.ht=Jr(0),A.ot=512&g?16189:16191,F();break;case 16181:if(Q(16),A.st=g,8!=(255&A.st)){e.msg="unknown compression method",A.ot=16209;break}if(57344&A.st){e.msg="unknown header flags set",A.ot=16209;break}A.T&&(A.T.Ye=g>>8&1),512&A.st&&4&A.O&&(A.ht=C(A.ht,g)),F(),A.ot=16182;case 16182:Q(32),A.T&&(A.T.Ge=g),512&A.st&&4&A.O&&(A.ht=x(A.ht,g)),F(),A.ot=16183;case 16183:Q(16),A.T&&(A.T.Bt=255&g,A.T.Je=g>>8),512&A.st&&4&A.O&&(A.ht=C(A.ht,g)),F(),A.ot=16184;case 16184:1024&A.st?(Q(16),A.kt=g,A.T&&(A.T.Ke=g),512&A.st&&4&A.O&&(A.ht=C(A.ht,g)),F()):A.T&&(A.T.Be=Xi),A.ot=16185;case 16185:if(1024&A.st&&(u=A.kt,u>s&&(u=s),u&&(A.T&&A.T.Be&&A.T.Ft&&(f=A.T.Ke-A.kt)<A.T.Ft&&er(A.T.Be,f,n,i,u),512&A.st&&4&A.O&&(A.ht=Zr(A.ht,n.subarray(i,i+u),u)),s-=u,i+=u,A.kt-=u),A.kt))return I();A.kt=0,A.ot=16186;case 16186:if(2048&A.st){if(0==s)return I();u=0;do{f=n[i+u++],A.T&&A.T.jt&&A.kt<A.T.jt&&(A.T.Fe[A.kt++]=f)}while(f&&s>u);if(512&A.st&&4&A.O&&(A.ht=Zr(A.ht,n.subarray(i,i+u),u)),s-=u,i+=u,f)return I()}else A.T&&(A.T.Fe=Xi);A.kt=0,A.ot=16187;case 16187:if(4096&A.st){if(0==s)return I();u=0;do{f=n[i+u++],A.T&&A.T.Gt&&A.kt<A.T.Gt&&(A.T.je[A.kt++]=f)}while(f&&s>u);if(512&A.st&&4&A.O&&(A.ht=Zr(A.ht,n.subarray(i,i+u),u)),s-=u,i+=u,f)return I()}else A.T&&(A.T.je=Xi);A.ot=16188;case 16188:if(512&A.st){if(Q(16),4&A.O&&g!=(65535&A.ht)){e.msg="header crc mismatch",A.ot=16209;break}F()}A.T&&(A.T.Te=A.st>>9&1,A.T.Yt=1),e.i=A.ht=Zr(0),A.ot=16191;break;case 16189:Q(32),e.i=A.ht=Va(g),F(),A.ot=16190;case 16190:if(!A.ct)return D(),2;e.i=A.ht=Jr(0),A.ot=16191;case 16191:if(5==t||6==t)return I();case 16192:if(A.ut){S(),A.ot=16206;break}switch(Q(3),A.ut=!!v(1),Y(1),v(2)){case 0:A.ot=16193;break;case 1:if(ns(A),A.ot=16199,6==t)return Y(2),I();break;case 2:A.ot=16196;break;case 3:e.msg="invalid block type",A.ot=16209}Y(2);break;case 16193:if(S(),Q(32),(65535&g)!=(g>>>16^65535)){e.msg="invalid stored block lengths",A.ot=16209;break}if(A.kt=65535&g,F(),A.ot=16194,6==t)return I();case 16194:A.ot=16195;case 16195:if(u=A.kt,u){if(u>s&&(u=s),u>o&&(u=o),0==u)return I();er(r,a,n,i,u),s-=u,i+=u,o-=u,a+=u,A.kt-=u;break}A.ot=16191;break;case 16196:if(Q(14),A.vt=v(5)+257,Y(5),A.xt=v(5)+1,Y(5),A.gt=v(4)+4,Y(4),A.vt>286||!A.Vt&&A.xt>30){e.msg=A.Vt?"too many length":"too many length or distance symbols",A.ot=16209;break}A.yt=0,A.ot=16197;case 16197:for(;A.yt<A.gt;)Q(3),A.Mt[Zi[A.yt++]]=v(3),Y(3);for(;19>A.yt;)A.Mt[Zi[A.yt++]]=0;A.zt=A.Et,A.et=A.tt=A.zt,A.nt=7;let l={Xt:A.zt},w={Xt:A.nt},k={Xt:0};if(h=_a(0,A.Mt,19,l,w,A.Lt,k,A.Vt),A.zt=l.Xt,A.nt=w.Xt,h){e.msg="invalid code lengths set",A.ot=16209;break}A.yt=0,A.ot=16198;case 16198:for(;A.yt<A.vt+A.xt;){for(;B=A.et[v(A.nt)],B.ft>c;)b();if(16>B.lt)Y(B.ft),A.Mt[A.yt++]=B.lt;else{if(16==B.lt){if(Q(B.ft+2),Y(B.ft),0==A.yt){e.msg="invalid bit length repeat",A.ot=16209;break}f=A.Mt[A.yt-1],u=3+v(2),Y(2)}else 17==B.lt?(Q(B.ft+3),Y(B.ft),f=0,u=3+v(3),Y(3)):(Q(B.ft+7),Y(B.ft),f=0,u=11+v(7),Y(7));if(A.yt+u>A.vt+A.xt){e.msg="invalid bit length repeat",A.ot=16209;break}for(;u--;)A.Mt[A.yt++]=f}}if(16209==A.ot)break;if(0==A.Mt[256]){e.msg="invalid code -- missing end-of-block",A.ot=16209;break}A.zt=A.Et,A.nt=9;let M={Xt:A.zt},U={Xt:A.nt},z={Xt:0};h=_a(1,A.Mt,A.vt,M,U,A.Lt,z,A.Vt),A.zt=M.Xt,A.nt=U.Xt;let G=z.Xt;if(A.et=A.zt.slice(0,G),h){e.msg="invalid literal/lengths set",A.ot=16209;break}A.rt=6;let W=A.Mt.subarray(A.vt,A.vt+A.xt),O={Xt:A.zt},R={Xt:A.rt},T={Xt:G};if(h=_a(2,W,A.xt,O,R,A.Lt,T,A.Vt),A.zt=O.Xt,A.rt=R.Xt,A.tt=A.zt.slice(G),h){e.msg="invalid distances set",A.ot=16209;break}if(A.ot=16199,6==t)return I();case 16199:A.ot=16200;case 16200:if(!A.Vt&&s>=6&&o>=258){D(),Ja(e,d),y(),16191==A.ot&&(A.qt=-1);break}for(A.qt=0;B=A.et[v(A.nt)],B.ft>c;)b();if(B._t&&!(240&B._t)){for(p=B;B=A.et[p.lt+(v(p.ft+p._t)>>p.ft)],p.ft+B.ft>c;)b();Y(p.ft),A.qt+=p.ft}if(Y(B.ft),A.qt+=B.ft,A.kt=B.lt,0==B._t){A.ot=16205;break}if(32&B._t){A.qt=-1,A.ot=16191;break}if(64&B._t){e.msg="invalid literal/length code",A.ot=16209;break}A.Be=B._t&(A.Vt?31:15),A.ot=16201;case 16201:A.Be&&(Q(A.Be),A.kt+=v(A.Be),Y(A.Be),A.qt+=A.Be),A.Nt=A.kt,A.ot=16202;case 16202:for(;B=A.tt[v(A.rt)],B.ft>c;)b();if(!(240&B._t)){for(p=B;B=A.tt[p.lt+(v(p.ft+p._t)>>p.ft)],p.ft+B.ft>c;)b();Y(p.ft),A.qt+=p.ft}if(Y(B.ft),A.qt+=B.ft,64&B._t){e.msg="invalid distance code",A.ot=16209;break}A.bt=B.lt,A.Be=15&B._t,A.ot=16203;case 16203:A.Be&&(Q(A.Be),A.bt+=v(A.Be),Y(A.Be),A.qt+=A.Be),A.ot=16204;case 16204:if(0==o)return I();if(u=d-o,A.bt>u){if(u=A.bt-u,u>A.m&&A.it){e.msg="invalid distance too far back",A.ot=16209;break}u>A.v?(u-=A.v,m=A.h-u):m=A.v-u,u>A.kt&&(u=A.kt),u>o&&(u=o);for(let e=0;u>e;++e)r[a]=255&A.u[m],++a,++m}else{m=a-A.bt,u=A.kt,u>o&&(u=o);for(let e=0;u>e;++e)r[a]=r[m],++a,++m}u>o&&(u=o),o-=u,A.kt-=u,0==A.kt&&(A.ot=16200);break;case 16205:if(0==o)return I();r[a++]=A.kt,o--,A.ot=16200;break;case 16206:if(A.O){if(Q(32),d-=o,e.total_out+=d,A.wt+=d,4&A.O&&d){let t=r.subarray(a-d,a);e.i=A.ht=E(A.ht,t,d)}if(d=o,4&A.O&&(A.st?g:Va(g)>>>0)!=A.ht){e.msg="incorrect data check",A.ot=16209;break}F()}A.ot=16207;case 16207:if(A.O&&A.st){if(Q(32),4&A.O&&g!=(4294967295&A.wt)){e.msg="incorrect length check",A.ot=16209;break}F()}A.ot=16208;case 16208:return h=1,I();case 16209:return h=-3,I();case 16210:return-4;default:return-2}}catch(e){if(e instanceof is)return I();throw e}function I(){if(D(),A.h||d!=e.avail_out&&16209>A.ot&&(A.Vt?16208>A.ot:16206>A.ot)||4!=t){let t=d-e.avail_out;if(((e,t,A)=>{let n=e.l;if(!(n.u&&0!=n.u.length||(n.u=new Ti(1<<n.k),n.u)))return 1;if(0==n.h&&(n.h=1<<n.k,n.v=0,n.m=0),A<n.h){let e=n.h-n.v;e>A&&(e=A),er(n.u,n.v,t,t.length-A,e),(A-=e)?(er(n.u,0,t,t.length-A,A),n.v=A,n.m=n.h):(n.v+=e,n.v==n.h&&(n.v=0),n.m<n.h&&(n.m+=e))}else er(n.u,0,t,t.length-n.h,n.h),n.v=0,n.m=n.h;return 0})(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return A.ot=16210,-4}return l-=e.avail_in,d-=e.avail_out,e.total_in+=l,e.total_out+=d,A.wt+=d,4&A.O&&d&&(e.i=A.ht=E(A.ht,e.next_out.subarray(e.next_out_index-d,e.next_out_index),d)),e.t=A.M+(A.ut?64:0)+(16191==A.ot?128:0)+(16199==A.ot||16194==A.ot?256:0),(0==l&&0==d&&0==h||4==t&&0==h)&&(h=-5),h}function E(e,t,n){return A.st?Zr(e,t,n):Jr(e,t,n)}function C(e,t){return w[0]=255&t,w[1]=t>>>8&255,Zr(e,w,2)>>>0}function x(e,t){return w[0]=255&t,w[1]=t>>>8&255,w[2]=t>>>16&255,w[3]=t>>>24&255,Zr(e,w,4)>>>0}function y(){r=e.next_out,a=e.next_out_index,o=e.avail_out,n=e.next_in,i=e.next_in_index,s=e.avail_in,g=A.p,c=A.M}function D(){e.next_out=r,e.next_out_index=a,e.avail_out=o,e.next_in=n,e.next_in_index=i,e.avail_in=s,A.p=g,A.M=c}function F(){g=0,c=0}function b(){if(0==s)throw new is;s--,g+=(255&n[i])<<c,i++,g>>>=0,c+=8}function Q(e){for(;e>c;)b()}function v(e){return g&(1<<e)-1}function Y(e){g>>>=e,c-=e}function S(){g>>>=7&c,c-=7&c}}function as(e){return As(e)?-2:0}var ss=65536,os=class{constructor(e=16,t=ss){this.Jt=[],this.Kt=e;for(let A=0;A<Li.min(e,4);A++)this.Jt.push(new Ti(t))}acquire(e=ss){for(let t=this.Jt.length-1;t>=0;t--){let A=this.Jt[t];if(A.length>=e)return this.Jt.splice(t,1),A}return new Ti(e)}release(e){this.Jt.length<this.Kt&&this.Jt.push(e)}};function gs(e){let t=new os(32,ss),A=null;function n(e){try{t.release(e)}catch{}}return new Ni({start(){},transform(i,r){if(!A){let t=e.en(),n=e.tn(t);if(0!=n&&0!=n)throw new Ji("init failed: "+n);A={o:t}}let a=A.o,s=0;for(;s<i.length;){let A=Li.min(i.length-s,32768),o=i.subarray(s,s+A);for(a.next_in=o,a.next_in_index=0,a.avail_in=o.length;a.avail_in>0;){let A=t.acquire(),i=!1;try{a.next_out=A,a.next_out_index=0,a.avail_out=A.length;let n=e.nn(a,0),s=A.length-a.avail_out;if(s>0){let e=!1,n={rn:A.subarray(0,s),release:()=>{e||(e=!0,t.release(A))}};i=!0,r.enqueue(n)}if(0!=n&&1!=n)throw new Ji("process error: "+n)}finally{i||n(A)}}s+=A}},flush(i){if(!A)return;let r=A.o;for(;;){let A=t.acquire(),a=!1;try{r.next_out=A,r.next_out_index=0,r.avail_out=A.length;let n=e.nn(r,4),s=A.length-r.avail_out;if(s>0){let e=!1,n={rn:A.subarray(0,s),release:()=>{e||(e=!0,t.release(A))}};a=!0,i.enqueue(n)}if(1==n)break;if(0!=n)throw new Ji("finalization error: "+n)}finally{a||n(A)}}let a=e.fn(r);if(0!=a&&0!=a)throw new Ji("end failed: "+a)}})}function cs(){return new Ni({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}se({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",t){let A=function(e="deflate",t){let A="gzip"==e?31:"deflate-raw"==e?-15:15,n=t&&"number"==typeof t.level?t.level:-1;return gs({en:()=>(()=>{let e=Ar();return e.l=pr(e),e})(),tn:e=>((e,t,A=8,n=15,i=Er,r=0)=>{let a=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),0>n){if(a=0,-15>n)return-2;n=-n}else n>15&&(a=2,n-=16);if(1>i||i>9||8!=A||8>n||n>15||0>t||t>9||0>r||r>4||8==n&&1!=a)return-2;8==n&&(n=9);let s=pr(e);return s?(e.l=s,s.o=e,s.H=42,s.O=a,s.T=void 0,s.k=n,s.h=1<<s.k,s.Y=s.h-1,s.B=i+7,s.F=1<<s.B,s.j=s.F-1,s.G=(s.B+Cr-1)/Cr,s.u=new Ti(2*s.h),s.J=new Ki(s.h),s.K=new Ki(s.F),s.m=0,s.ee=1<<i+6,s.I=new Ti(4*s.ee),s.ne=4*s.ee,s.u&&s.J&&s.K&&s.I?(s.Le=s.I.subarray(s.ee),s.A=s.te+s.ee,s.C=3*(s.ee-1),s.be=t,s.ge=r,s.qe=A,(e=>{let t=(e=>{let t;return ma(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.D=0,t.re=t.te,0>t.O&&(t.O=-t.O),t.H=2==t.O?57:42,e.i=2==t.O?Zr(0):Jr(0),t.oe=-2,(e=>{if(e.R&&e.R.length>=Yr)for(let t=0;Yr>t;t++)e.R[t]=hr();else{e.R=[];for(let t=0;Yr>t;t++)e.R.push(hr())}if(e.X&&e.X.length>=2*Qr+1)for(let t=0;2*Qr+1>t;t++)e.X[t]=hr();else{e.X=[];for(let t=0;2*Qr+1>t;t++)e.X.push(hr())}if(e.$e&&e.$e.length>=2*vr+1)for(let t=0;2*vr+1>t;t++)e.$e[t]=hr();else{e.$e=[];for(let t=0;2*vr+1>t;t++)e.$e.push(hr())}e.Ie=new rr(e.R,new ar(Tr,zr,Fr+1,br,Sr)),e.De=new rr(e.X,new ar(Kr,Gr,0,Qr,Sr)),e.Ae=new rr(e.$e,new ar(null,Wr,0,vr,7)),e.p=0,e.M=0,e.Ee=0,qr(e)})(t),0)})(e);return 0==t&&(e=>{e.Ne=2*e.h,ca(e),e.ye=aa[e.be].Xe,e.me=aa[e.be].Ce,e.ve=aa[e.be].He,e.xe=aa[e.be].Oe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=Cr-1,e.we=0,e.ke=0})(e.l),t})(e)):(s.H=666,e.msg=sr(-4),wa(e),-4)):-4})(e,n,8,A,8,0),nn:ha,fn:wa})}(e,t);this.writable=A.writable,this.readable=A.readable.pipeThrough(cs())}},DecompressionStreamZlib:class{constructor(e="deflate"){let t=((e="deflate")=>{let t="gzip"==e?31:"deflate-raw"==e?-15:15;return gs({en:()=>(e=>{let t=Ar();return t.l=Pa(t,!!e),t})("deflate64-raw"==e),tn:e=>function(e,t){let A,n;if(!e)return-2;e.msg="";let i=!!e.l.Vt;return n=Pa(e,i),i&&(t=-16),e.l=n,n.o=e,n.ot=n.Vt?16191:16180,A=((e,t)=>{let A,n,i;if(As(e))return-2;if(n=e.l,n.Vt?(t=-16,i=16):i=15,0>t){if(-i>t)return-2;A=0,t=-t}else A=5+(t>>4),!n.Vt&&48>t&&(t&=15);return t&&(8>t||t>i)?-2:(n.u.length>0&&n.k!=t&&(n.u=Xi),n.O=A,n.k=t,(e=>{let t;return As(e)?-2:(t=e.l,t.h=0,t.m=0,t.v=0,(e=>{let t;return As(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.O&&(e.i=1&t.O),t.ot=t.Vt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.Vt?65536:32768,delete t.T,t.p=0,t.M=0,t.et=t.Et,t.tt=t.Et,t.zt=t.Et,t.it=!0,t.qt=-1,0)})(e))})(e))})(e,t),A}(e,t),nn:rs,fn:as})})(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(cs())}}});const ls="Entry filename already exists";class ds{constructor(e,t,n,i){const r=this;if(e.root&&i&&i.getChildByName(t))throw new d(ls);n||(n={}),A.assign(r,{fs:e,name:t,data:n.data,options:n.options,id:e.entryIdCounter++,parent:i,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!i&&e.root||(e.entries[r.id]=r),i&&r.parent.children.push(r)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,A=this.parent;for(;A&&A!=e;)t=(A.name?A.name+"/":"")+t,A=A.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new d(ls);this.name=e}}class us extends ds{constructor(e,t,A,n){super(e,t,A,n);const i=this;i.Reader=A.Reader,i.Writer=A.Writer,A.getData&&(i.getData=A.getData)}clone(){return new us(this.fs,this.name,this)}async getData(e,t={}){const A=this;if(!e||e.constructor==A.Writer&&A.data)return A.data;{const n=A.reader=new A.Reader(A.data,t),i=A.data?A.data.uncompressedSize:n.size;await h.all([bA(n),bA(e,i)]);const{readable:r}=n;return A.uncompressedSize=n.size,await r.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,A.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==we)return!1;throw e}}getText(e,t){return this.getData(new aA(e),t)}getBlob(e,t){return this.getData(new iA(e),t)}getData64URI(e,t){return this.getData(new AA(e),t)}getUint8Array(e){return this.getData(new CA,e)}getWritable(e=new F,t){return this.getData({writable:e},t)}async getArrayBuffer(e){const t=await this.getUint8Array(e);return t.byteOffset||t.byteLength!=t.buffer.byteLength?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):t.buffer}replaceBlob(e){A.assign(this,{data:e,Reader:nA,Writer:iA,reader:null})}replaceText(e){A.assign(this,{data:e,Reader:rA,Writer:aA,reader:null})}replaceData64URI(e){A.assign(this,{data:e,Reader:tA,Writer:AA,reader:null})}replaceUint8Array(e){A.assign(this,{data:e,Reader:EA,Writer:CA,reader:null})}replaceReadable(e){A.assign(this,{data:null,Reader:ps(e),Writer:null,reader:null})}}class ms extends ds{constructor(e,t,A,n){super(e,t,A,n),this.directory=!0}clone(e){const t=this,A=new ms(t.fs,t.name,t);return e&&(A.children=t.children.map(t=>{const n=t.clone(e);return n.parent=A,n})),A}addDirectory(e,t){return xs(this,e,{options:t},!0)}addText(e,t,A={}){return xs(this,e,{data:t,Reader:rA,Writer:aA,options:A,uncompressedSize:t.length})}addBlob(e,t,A={}){return xs(this,e,{data:t,Reader:nA,Writer:iA,options:A,uncompressedSize:t.size})}addData64URI(e,t,A={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const i=t.indexOf(",")+1;return xs(this,e,{data:t,Reader:tA,Writer:AA,options:A,uncompressedSize:a.floor(.75*(n-i))})}addUint8Array(e,t,A={}){return xs(this,e,{data:t,Reader:EA,Writer:CA,options:A,uncompressedSize:t.length})}addHttpContent(e,t,A={}){return xs(this,e,{data:t,Reader:class extends IA{constructor(e){super(e,A)}},options:A})}addReadable(e,t,A={}){return xs(this,e,{Reader:ps(t),options:A})}addFileSystemEntry(e,t={}){return Is(this,e,t)}addFileSystemHandle(e,t={}){return Is(this,e,t)}addFile(e,t={}){return(t=A.assign({},t)).lastModDate||(t.lastModDate=new s(e.lastModified)),xs(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}addData(e,t){return xs(this,e,t)}importBlob(e,t){return this.importZip(new nA(e),t)}importData64URI(e,t){return this.importZip(new tA(e),t)}importUint8Array(e,t){return this.importZip(new EA(e),t)}importHttpContent(e,t){return this.importZip(new IA(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new iA(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new AA(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new CA,e)}async exportWritable(e=new F,t={}){return await this.exportZip({writable:e},t),e}async importZip(e,t={}){await bA(e);const n=new On(e,t),i=[],r=await n.getEntries();for(const e of r){let n=this;try{const r=e.filename.split("/"),a=r.pop();if(r.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new d(ls)}else n=new ms(this.fs,e,{data:null},t),i.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new d(ls)}else t=new ms(this.fs,a,{data:null},n),i.push(t);t==this||t.data||(t.data=e)}else i.push(xs(n,a,{data:e,Reader:fs(A.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return i}async exportZip(e,n={}){const i=this;(n=A.assign({},n)).bufferedWrite===_&&(n.bufferedWrite=!0);const[r]=await h.all([hs(i,n.readerOptions),bA(e)]),a=new wi(e,n);return await(async(e,n,i,r,a)=>{const s=n,g=new o;await async function e(n,o){async function c(o){const c=r.relativePath?o.getRelativeName(s):o.getFullname(),l=o.options||{};let d={};if(o.data instanceof ln){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:i,creationDate:r,lastAccessDate:a,uncompressedSize:s,encrypted:g,zipCrypto:c,signature:l,compressionMethod:u,extraFieldAES:m}=o.data;if(d={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:i,creationDate:r,lastAccessDate:a},o.passThrough){let e,t;0===u&&(e=0),m&&(t=m.strength),d=A.assign(d,{passThrough:!0,encrypted:g,zipCrypto:c,signature:l,uncompressedSize:s,level:e,encryptionStrength:t,compressionMethod:u})}}await n.add(c,a.get(o),A.assign({},r,d,l,{directory:o.directory,onprogress:async e=>{if(r.onprogress){g.set(c,e);try{await r.onprogress(t.from(g.values()).reduce((e,t)=>e+t),i)}catch{}}}})),await e(n,o)}await(async()=>{if(r.bufferedWrite){const e=(await h.allSettled(o.children.map(c))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of o.children)await c(e)})()}(e,n)})(a,i,(e=>{let A=0;const n=t.from(e);for(;n.length;){const e=n.pop();A+=e.uncompressedSize||0;for(const t of e.children)n.push(t)}return A})([i]),n,r),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let A=0;A<t.length;A++){const n=t[A];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const A=this.children;return!(await h.all(A.map(A=>A.checkPassword(e,t)))).includes(!1)}}const Bs={FS:class{constructor(){Cs(this)}get children(){return this.root.children}remove(e){ws(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const A of e.children)t.push(A)}e.parent=_}move(e,t){if(e==this.root)throw new d("Root directory cannot be moved");if(!t.directory)throw new d("Target entry is not a directory");if(t.isDescendantOf(e))throw new d("Entry is a ancestor of target entry");if(e!=t){const A=t.getChildByName(e.name);if(A){if(A!=e)throw new d(ls)}else ws(e),e.parent=t,t.children.push(e),((e,t)=>{const A=[t];for(;A.length;){const t=A.pop();e.entries[t.id]=t;for(const e of t.children)A.push(e)}})(this,e)}}find(e){const t=e.split("/");let A=this.root;for(let e=0;A&&e<t.length;e++)A=A.getChildByName(t[e]);return A||(A=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),A}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,A){return this.root.addText(e,t,A)}addBlob(e,t,A){return this.root.addBlob(e,t,A)}addData64URI(e,t,A){return this.root.addData64URI(e,t,A)}addUint8Array(e,t,A){return this.root.addUint8Array(e,t,A)}addHttpContent(e,t,A){return this.root.addHttpContent(e,t,A)}addReadable(e,t,A){return this.root.addReadable(e,t,A)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}addData(e,t){return this.root.addData(e,t)}importBlob(e,t){return Cs(this),this.root.importBlob(e,t)}importData64URI(e,t){return Cs(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return Cs(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return Cs(this),this.root.importHttpContent(e,t)}importReadable(e,t){return Cs(this),this.root.importReadable(e,t)}importZip(e,t){return Cs(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:ms,ZipFileEntry:us};function ps(e){let t;return()=>{if(t)throw new d("Readable stream already consumed");return t=!0,{readable:e}}}function fs(e){return class extends $t{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new iA,A.assign({},e,t.options));t.data=n,t.blobReader=new nA(n),super.init()}readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}}}async function hs(e,t){const A=[],n=[e],i=new o;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):A.push(t)}return await h.all(A.map(async e=>{const A=e.reader=new e.Reader(e.data,t);i.set(e,A);try{await bA(A)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}A.size!==_&&(e.uncompressedSize=A.size)})),i}function ws(e){if(e.parent){const t=e.parent.children;t.forEach((A,n)=>{A.id==e.id&&t.splice(n,1)})}}function Is(e,t,n){return async function e(t,i,r){if(i)try{if((i.isFile||i.isDirectory)&&(i=await Es(i)),"file"==i.kind){const e=await i.getFile();r.push(t.addData(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:A.assign({},{lastModDate:new s(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==i.kind){const A=t.addDirectory(i.name);r.push(A);for await(const t of i.values())await e(A,t,r)}}catch(e){const t=e.message+(i?" ("+i.name+")":"");throw new d(t,{cause:e})}return r}(e,t,[])}async function Es(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new h((t,A)=>e.file(t,A))),e.isDirectory){t.kind="directory";const A=await(async e=>{const t=[];function A(e,n,i){e.readEntries(async r=>{if(r.length){for(const e of r)t.push(await Es(e));A(e,n,i)}else n(t)},i)}return await new h((t,n)=>A(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const A={value:t[e],done:e==t.length};return e++,A}}}}})(e);t.values=()=>A}return t}function Cs(e){e.entries=[],e.entryIdCounter=0,e.root=new ms(e)}function xs(e,t,A,n){if(e.directory)return n?new ms(e.fs,t,A,e):new us(e.fs,t,A,e);throw new d("Parent entry is not a directory")}const ys={application:{"andrew-inset":"ez",annodex:"anx","atom+xml":"atom","atomcat+xml":"atomcat","atomserv+xml":"atomsrv",bbolin:"lin","cu-seeme":"cu","davmount+xml":"davmount",dsptype:"tsp",ecmascript:["es","ecma"],futuresplash:"spl",hta:"hta","java-archive":"jar","java-serialized-object":"ser","java-vm":"class",m3g:"m3g","mac-binhex40":"hqx",mathematica:["nb","ma","mb"],msaccess:"mdb",msword:["doc","dot","wiz"],mxf:"mxf",oda:"oda",ogg:"ogx",pdf:"pdf","pgp-keys":"key","pgp-signature":["asc","sig"],"pics-rules":"prf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],rar:"rar","rdf+xml":"rdf","rss+xml":"rss",rtf:"rtf","xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd","xpdl"],"xspf+xml":"xspf",zip:"zip","vnd.android.package-archive":"apk","vnd.cinderella":"cdy","vnd.google-earth.kml+xml":"kml","vnd.google-earth.kmz":"kmz","vnd.mozilla.xul+xml":"xul","vnd.ms-excel":["xls","xlb","xlt","xlm","xla","xlc","xlw"],"vnd.ms-pki.seccat":"cat","vnd.ms-pki.stl":"stl","vnd.ms-powerpoint":["ppt","pps","pot","ppa","pwz"],"vnd.oasis.opendocument.chart":"odc","vnd.oasis.opendocument.database":"odb","vnd.oasis.opendocument.formula":"odf","vnd.oasis.opendocument.graphics":"odg","vnd.oasis.opendocument.graphics-template":"otg","vnd.oasis.opendocument.image":"odi","vnd.oasis.opendocument.presentation":"odp","vnd.oasis.opendocument.presentation-template":"otp","vnd.oasis.opendocument.spreadsheet":"ods","vnd.oasis.opendocument.spreadsheet-template":"ots","vnd.oasis.opendocument.text":"odt","vnd.oasis.opendocument.text-master":["odm","otm"],"vnd.oasis.opendocument.text-template":"ott","vnd.oasis.opendocument.text-web":"oth","vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","vnd.openxmlformats-officedocument.spreadsheetml.template":"xltx","vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","vnd.openxmlformats-officedocument.presentationml.slideshow":"ppsx","vnd.openxmlformats-officedocument.presentationml.template":"potx","vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","vnd.openxmlformats-officedocument.wordprocessingml.template":"dotx","vnd.smaf":"mmf","vnd.stardivision.calc":"sdc","vnd.stardivision.chart":"sds","vnd.stardivision.draw":"sda","vnd.stardivision.impress":"sdd","vnd.stardivision.math":["sdf","smf"],"vnd.stardivision.writer":["sdw","vor"],"vnd.stardivision.writer-global":"sgl","vnd.sun.xml.calc":"sxc","vnd.sun.xml.calc.template":"stc","vnd.sun.xml.draw":"sxd","vnd.sun.xml.draw.template":"std","vnd.sun.xml.impress":"sxi","vnd.sun.xml.impress.template":"sti","vnd.sun.xml.math":"sxm","vnd.sun.xml.writer":"sxw","vnd.sun.xml.writer.global":"sxg","vnd.sun.xml.writer.template":"stw","vnd.symbian.install":["sis","sisx"],"vnd.visio":["vsd","vst","vss","vsw","vsdx","vssx","vstx","vssm","vstm"],"vnd.wap.wbxml":"wbxml","vnd.wap.wmlc":"wmlc","vnd.wap.wmlscriptc":"wmlsc","vnd.wordperfect":"wpd","vnd.wordperfect5.1":"wp5","x-123":"wk","x-7z-compressed":"7z","x-abiword":"abw","x-apple-diskimage":"dmg","x-bcpio":"bcpio","x-bittorrent":"torrent","x-cbr":["cbr","cba","cbt","cb7"],"x-cbz":"cbz","x-cdf":["cdf","cda"],"x-cdlink":"vcd","x-chess-pgn":"pgn","x-cpio":"cpio","x-csh":"csh","x-director":["dir","dxr","cst","cct","cxt","w3d","fgd","swa"],"x-dms":"dms","x-doom":"wad","x-dvi":"dvi","x-httpd-eruby":"rhtml","x-font":"pcf.Z","x-freemind":"mm","x-gnumeric":"gnumeric","x-go-sgf":"sgf","x-graphing-calculator":"gcf","x-gtar":["gtar","taz"],"x-hdf":"hdf","x-httpd-php":["phtml","pht","php"],"x-httpd-php-source":"phps","x-httpd-php3":"php3","x-httpd-php3-preprocessed":"php3p","x-httpd-php4":"php4","x-httpd-php5":"php5","x-ica":"ica","x-info":"info","x-internet-signup":["ins","isp"],"x-iphone":"iii","x-iso9660-image":"iso","x-java-jnlp-file":"jnlp","x-jmol":"jmz","x-killustrator":"kil","x-latex":"latex","x-lyx":"lyx","x-lzx":"lzx","x-maker":["frm","fb","fbdoc"],"x-ms-wmd":"wmd","x-msdos-program":["com","exe","bat","dll"],"x-netcdf":["nc"],"x-ns-proxy-autoconfig":["pac","dat"],"x-nwc":"nwc","x-object":"o","x-oz-application":"oza","x-pkcs7-certreqresp":"p7r","x-python-code":["pyc","pyo"],"x-qgis":["qgs","shp","shx"],"x-quicktimeplayer":"qtl","x-redhat-package-manager":["rpm","rpa"],"x-ruby":"rb","x-sh":"sh","x-shar":"shar","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","x-stuffit":"sit","x-sv4cpio":"sv4cpio","x-sv4crc":"sv4crc","x-tar":"tar","x-tex-gf":"gf","x-tex-pk":"pk","x-texinfo":["texinfo","texi"],"x-trash":["~","%","bak","old","sik"],"x-ustar":"ustar","x-wais-source":"src","x-wingz":"wz","x-x509-ca-cert":["crt","der","cer"],"x-xcf":"xcf","x-xfig":"fig","x-xpinstall":"xpi",applixware:"aw","atomsvc+xml":"atomsvc","ccxml+xml":"ccxml","cdmi-capability":"cdmia","cdmi-container":"cdmic","cdmi-domain":"cdmid","cdmi-object":"cdmio","cdmi-queue":"cdmiq","docbook+xml":"dbk","dssc+der":"dssc","dssc+xml":"xdssc","emma+xml":"emma","epub+zip":"epub",exi:"exi","font-tdpfr":"pfr","gml+xml":"gml","gpx+xml":"gpx",gxf:"gxf",hyperstudio:"stk","inkml+xml":["ink","inkml"],ipfix:"ipfix","jsonml+json":"jsonml","lost+xml":"lostxml","mads+xml":"mads",marc:"mrc","marcxml+xml":"mrcx","mathml+xml":["mathml","mml"],mbox:"mbox","mediaservercontrol+xml":"mscml","metalink+xml":"metalink","metalink4+xml":"meta4","mets+xml":"mets","mods+xml":"mods",mp21:["m21","mp21"],mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",onenote:["onetoc","onetoc2","onetmp","onepkg"],oxps:"oxps","patch-ops-error+xml":"xer","pgp-encrypted":"pgp",pkcs10:"p10","pkcs7-mime":["p7m","p7c"],"pkcs7-signature":"p7s",pkcs8:"p8","pkix-attr-cert":"ac","pkix-crl":"crl","pkix-pkipath":"pkipath",pkixcmp:"pki","pls+xml":"pls","prs.cww":"cww","pskc+xml":"pskcxml","reginfo+xml":"rif","relax-ng-compact-syntax":"rnc","resource-lists+xml":"rl","resource-lists-diff+xml":"rld","rls-services+xml":"rs","rpki-ghostbusters":"gbr","rpki-manifest":"mft","rpki-roa":"roa","rsd+xml":"rsd","sbml+xml":"sbml","scvp-cv-request":"scq","scvp-cv-response":"scs","scvp-vp-request":"spq","scvp-vp-response":"spp",sdp:"sdp","set-payment-initiation":"setpay","set-registration-initiation":"setreg","shf+xml":"shf","sparql-query":"rq","sparql-results+xml":"srx",srgs:"gram","srgs+xml":"grxml","sru+xml":"sru","ssdl+xml":"ssdl","ssml+xml":"ssml","tei+xml":["tei","teicorpus"],"thraud+xml":"tfi","timestamped-data":"tsd","vnd.3gpp.pic-bw-large":"plb","vnd.3gpp.pic-bw-small":"psb","vnd.3gpp.pic-bw-var":"pvb","vnd.3gpp2.tcap":"tcap","vnd.3m.post-it-notes":"pwn","vnd.accpac.simply.aso":"aso","vnd.accpac.simply.imp":"imp","vnd.acucobol":"acu","vnd.acucorp":["atc","acutc"],"vnd.adobe.air-application-installer-package+zip":"air","vnd.adobe.formscentral.fcdt":"fcdt","vnd.adobe.fxp":["fxp","fxpl"],"vnd.adobe.xdp+xml":"xdp","vnd.adobe.xfdf":"xfdf","vnd.ahead.space":"ahead","vnd.airzip.filesecure.azf":"azf","vnd.airzip.filesecure.azs":"azs","vnd.amazon.ebook":"azw","vnd.americandynamics.acc":"acc","vnd.amiga.ami":"ami","vnd.anser-web-certificate-issue-initiation":"cii","vnd.anser-web-funds-transfer-initiation":"fti","vnd.antix.game-component":"atx","vnd.apple.installer+xml":"mpkg","vnd.apple.mpegurl":"m3u8","vnd.aristanetworks.swi":"swi","vnd.astraea-software.iota":"iota","vnd.audiograph":"aep","vnd.blueice.multipass":"mpm","vnd.bmi":"bmi","vnd.businessobjects":"rep","vnd.chemdraw+xml":"cdxml","vnd.chipnuts.karaoke-mmd":"mmd","vnd.claymore":"cla","vnd.cloanto.rp9":"rp9","vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"vnd.cluetrust.cartomobile-config":"c11amc","vnd.cluetrust.cartomobile-config-pkg":"c11amz","vnd.commonspace":"csp","vnd.contact.cmsg":"cdbcmsg","vnd.cosmocaller":"cmc","vnd.crick.clicker":"clkx","vnd.crick.clicker.keyboard":"clkk","vnd.crick.clicker.palette":"clkp","vnd.crick.clicker.template":"clkt","vnd.crick.clicker.wordbank":"clkw","vnd.criticaltools.wbs+xml":"wbs","vnd.ctc-posml":"pml","vnd.cups-ppd":"ppd","vnd.curl.car":"car","vnd.curl.pcurl":"pcurl","vnd.dart":"dart","vnd.data-vision.rdz":"rdz","vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"vnd.dece.ttml+xml":["uvt","uvvt"],"vnd.dece.unspecified":["uvx","uvvx"],"vnd.dece.zip":["uvz","uvvz"],"vnd.denovo.fcselayout-link":"fe_launch","vnd.dna":"dna","vnd.dolby.mlp":"mlp","vnd.dpgraph":"dpg","vnd.dreamfactory":"dfac","vnd.ds-keypoint":"kpxx","vnd.dvb.ait":"ait","vnd.dvb.service":"svc","vnd.dynageo":"geo","vnd.ecowin.chart":"mag","vnd.enliven":"nml","vnd.epson.esf":"esf","vnd.epson.msf":"msf","vnd.epson.quickanime":"qam","vnd.epson.salt":"slt","vnd.epson.ssf":"ssf","vnd.eszigno3+xml":["es3","et3"],"vnd.ezpix-album":"ez2","vnd.ezpix-package":"ez3","vnd.fdf":"fdf","vnd.fdsn.mseed":"mseed","vnd.fdsn.seed":["seed","dataless"],"vnd.flographit":"gph","vnd.fluxtime.clip":"ftc","vnd.framemaker":["fm","frame","maker","book"],"vnd.frogans.fnc":"fnc","vnd.frogans.ltf":"ltf","vnd.fsc.weblaunch":"fsc","vnd.fujitsu.oasys":"oas","vnd.fujitsu.oasys2":"oa2","vnd.fujitsu.oasys3":"oa3","vnd.fujitsu.oasysgp":"fg5","vnd.fujitsu.oasysprs":"bh2","vnd.fujixerox.ddd":"ddd","vnd.fujixerox.docuworks":"xdw","vnd.fujixerox.docuworks.binder":"xbd","vnd.fuzzysheet":"fzs","vnd.genomatix.tuxedo":"txd","vnd.geogebra.file":"ggb","vnd.geogebra.tool":"ggt","vnd.geometry-explorer":["gex","gre"],"vnd.geonext":"gxt","vnd.geoplan":"g2w","vnd.geospace":"g3w","vnd.gmx":"gmx","vnd.grafeq":["gqf","gqs"],"vnd.groove-account":"gac","vnd.groove-help":"ghf","vnd.groove-identity-message":"gim","vnd.groove-injector":"grv","vnd.groove-tool-message":"gtm","vnd.groove-tool-template":"tpl","vnd.groove-vcard":"vcg","vnd.hal+xml":"hal","vnd.handheld-entertainment+xml":"zmm","vnd.hbci":"hbci","vnd.hhe.lesson-player":"les","vnd.hp-hpgl":"hpgl","vnd.hp-hpid":"hpid","vnd.hp-hps":"hps","vnd.hp-jlyt":"jlt","vnd.hp-pcl":"pcl","vnd.hp-pclxl":"pclxl","vnd.hydrostatix.sof-data":"sfd-hdstx","vnd.ibm.minipay":"mpy","vnd.ibm.modcap":["afp","listafp","list3820"],"vnd.ibm.rights-management":"irm","vnd.ibm.secure-container":"sc","vnd.iccprofile":["icc","icm"],"vnd.igloader":"igl","vnd.immervision-ivp":"ivp","vnd.immervision-ivu":"ivu","vnd.insors.igm":"igm","vnd.intercon.formnet":["xpw","xpx"],"vnd.intergeo":"i2g","vnd.intu.qbo":"qbo","vnd.intu.qfx":"qfx","vnd.ipunplugged.rcprofile":"rcprofile","vnd.irepository.package+xml":"irp","vnd.is-xpr":"xpr","vnd.isac.fcs":"fcs","vnd.jam":"jam","vnd.jcp.javame.midlet-rms":"rms","vnd.jisp":"jisp","vnd.joost.joda-archive":"joda","vnd.kahootz":["ktz","ktr"],"vnd.kde.karbon":"karbon","vnd.kde.kchart":"chrt","vnd.kde.kformula":"kfo","vnd.kde.kivio":"flw","vnd.kde.kontour":"kon","vnd.kde.kpresenter":["kpr","kpt"],"vnd.kde.kspread":"ksp","vnd.kde.kword":["kwd","kwt"],"vnd.kenameaapp":"htke","vnd.kidspiration":"kia","vnd.kinar":["kne","knp"],"vnd.koan":["skp","skd","skt","skm"],"vnd.kodak-descriptor":"sse","vnd.las.las+xml":"lasxml","vnd.llamagraphics.life-balance.desktop":"lbd","vnd.llamagraphics.life-balance.exchange+xml":"lbe","vnd.lotus-1-2-3":"123","vnd.lotus-approach":"apr","vnd.lotus-freelance":"pre","vnd.lotus-notes":"nsf","vnd.lotus-organizer":"org","vnd.lotus-screencam":"scm","vnd.lotus-wordpro":"lwp","vnd.macports.portpkg":"portpkg","vnd.mcd":"mcd","vnd.medcalcdata":"mc1","vnd.mediastation.cdkey":"cdkey","vnd.mfer":"mwf","vnd.mfmp":"mfm","vnd.micrografx.flo":"flo","vnd.micrografx.igx":"igx","vnd.mif":"mif","vnd.mobius.daf":"daf","vnd.mobius.dis":"dis","vnd.mobius.mbk":"mbk","vnd.mobius.mqy":"mqy","vnd.mobius.msl":"msl","vnd.mobius.plc":"plc","vnd.mobius.txf":"txf","vnd.mophun.application":"mpn","vnd.mophun.certificate":"mpc","vnd.ms-artgalry":"cil","vnd.ms-cab-compressed":"cab","vnd.ms-excel.addin.macroenabled.12":"xlam","vnd.ms-excel.sheet.binary.macroenabled.12":"xlsb","vnd.ms-excel.sheet.macroenabled.12":"xlsm","vnd.ms-excel.template.macroenabled.12":"xltm","vnd.ms-fontobject":"eot","vnd.ms-htmlhelp":"chm","vnd.ms-ims":"ims","vnd.ms-lrm":"lrm","vnd.ms-officetheme":"thmx","vnd.ms-powerpoint.addin.macroenabled.12":"ppam","vnd.ms-powerpoint.presentation.macroenabled.12":"pptm","vnd.ms-powerpoint.slide.macroenabled.12":"sldm","vnd.ms-powerpoint.slideshow.macroenabled.12":"ppsm","vnd.ms-powerpoint.template.macroenabled.12":"potm","vnd.ms-project":["mpp","mpt"],"vnd.ms-word.document.macroenabled.12":"docm","vnd.ms-word.template.macroenabled.12":"dotm","vnd.ms-works":["wps","wks","wcm","wdb"],"vnd.ms-wpl":"wpl","vnd.ms-xpsdocument":"xps","vnd.mseq":"mseq","vnd.musician":"mus","vnd.muvee.style":"msty","vnd.mynfc":"taglet","vnd.neurolanguage.nlu":"nlu","vnd.nitf":["ntf","nitf"],"vnd.noblenet-directory":"nnd","vnd.noblenet-sealer":"nns","vnd.noblenet-web":"nnw","vnd.nokia.n-gage.data":"ngdat","vnd.nokia.n-gage.symbian.install":"n-gage","vnd.nokia.radio-preset":"rpst","vnd.nokia.radio-presets":"rpss","vnd.novadigm.edm":"edm","vnd.novadigm.edx":"edx","vnd.novadigm.ext":"ext","vnd.oasis.opendocument.chart-template":"otc","vnd.oasis.opendocument.formula-template":"odft","vnd.oasis.opendocument.image-template":"oti","vnd.olpc-sugar":"xo","vnd.oma.dd2+xml":"dd2","vnd.openofficeorg.extension":"oxt","vnd.openxmlformats-officedocument.presentationml.slide":"sldx","vnd.osgeo.mapguide.package":"mgp","vnd.osgi.dp":"dp","vnd.osgi.subsystem":"esa","vnd.palm":["pdb","pqa","oprc"],"vnd.pawaafile":"paw","vnd.pg.format":"str","vnd.pg.osasli":"ei6","vnd.picsel":"efif","vnd.pmi.widget":"wg","vnd.pocketlearn":"plf","vnd.powerbuilder6":"pbd","vnd.previewsystems.box":"box","vnd.proteus.magazine":"mgz","vnd.publishare-delta-tree":"qps","vnd.pvi.ptid1":"ptid","vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"vnd.realvnc.bed":"bed","vnd.recordare.musicxml":"mxl","vnd.recordare.musicxml+xml":"musicxml","vnd.rig.cryptonote":"cryptonote","vnd.rn-realmedia":"rm","vnd.rn-realmedia-vbr":"rmvb","vnd.route66.link66+xml":"link66","vnd.sailingtracker.track":"st","vnd.seemail":"see","vnd.sema":"sema","vnd.semd":"semd","vnd.semf":"semf","vnd.shana.informed.formdata":"ifm","vnd.shana.informed.formtemplate":"itp","vnd.shana.informed.interchange":"iif","vnd.shana.informed.package":"ipk","vnd.simtech-mindmapper":["twd","twds"],"vnd.smart.teacher":"teacher","vnd.solent.sdkm+xml":["sdkm","sdkd"],"vnd.spotfire.dxp":"dxp","vnd.spotfire.sfs":"sfs","vnd.stepmania.package":"smzip","vnd.stepmania.stepchart":"sm","vnd.sus-calendar":["sus","susp"],"vnd.svd":"svd","vnd.syncml+xml":"xsm","vnd.syncml.dm+wbxml":"bdm","vnd.syncml.dm+xml":"xdm","vnd.tao.intent-module-archive":"tao","vnd.tcpdump.pcap":["pcap","cap","dmp"],"vnd.tmobile-livetv":"tmo","vnd.trid.tpt":"tpt","vnd.triscape.mxs":"mxs","vnd.trueapp":"tra","vnd.ufdl":["ufd","ufdl"],"vnd.uiq.theme":"utz","vnd.umajin":"umj","vnd.unity":"unityweb","vnd.uoml+xml":"uoml","vnd.vcx":"vcx","vnd.visionary":"vis","vnd.vsf":"vsf","vnd.webturbo":"wtb","vnd.wolfram.player":"nbp","vnd.wqd":"wqd","vnd.wt.stf":"stf","vnd.xara":"xar","vnd.xfdl":"xfdl","vnd.yamaha.hv-dic":"hvd","vnd.yamaha.hv-script":"hvs","vnd.yamaha.hv-voice":"hvp","vnd.yamaha.openscoreformat":"osf","vnd.yamaha.openscoreformat.osfpvg+xml":"osfpvg","vnd.yamaha.smaf-audio":"saf","vnd.yamaha.smaf-phrase":"spf","vnd.yellowriver-custom-menu":"cmp","vnd.zul":["zir","zirz"],"vnd.zzazz.deck+xml":"zaz","voicexml+xml":"vxml",widget:"wgt",winhlp:"hlp","wsdl+xml":"wsdl","wspolicy+xml":"wspolicy","x-ace-compressed":"ace","x-authorware-bin":["aab","x32","u32","vox"],"x-authorware-map":"aam","x-authorware-seg":"aas","x-blorb":["blb","blorb"],"x-bzip":"bz","x-bzip2":["bz2","boz"],"x-cfs-compressed":"cfs","x-chat":"chat","x-conference":"nsc","x-dgc-compressed":"dgc","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-eva":"eva","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-freearc":"arc","x-gca-compressed":"gca","x-glulx":"ulx","x-gramps-xml":"gramps","x-install-instructions":"install","x-lzh-compressed":["lzh","lha"],"x-mie":"mie","x-mobipocket-ebook":["prc","mobi"],"x-ms-application":"application","x-ms-shortcut":"lnk","x-ms-xbap":"xbap","x-msbinder":"obd","x-mscardfile":"crd","x-msclip":"clp","application/x-ms-installer":"msi","x-msmediaview":["mvb","m13","m14"],"x-msmetafile":["wmf","wmz","emf","emz"],"x-msmoney":"mny","x-mspublisher":"pub","x-msschedule":"scd","x-msterminal":"trm","x-mswrite":"wri","x-nzb":"nzb","x-pkcs12":["p12","pfx"],"x-pkcs7-certificates":["p7b","spc"],"x-research-info-systems":"ris","x-silverlight-app":"xap","x-sql":"sql","x-stuffitx":"sitx","x-subrip":"srt","x-t3vm-image":"t3","x-tex-tfm":"tfm","x-tgif":"obj","x-xliff+xml":"xlf","x-xz":"xz","x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"xaml+xml":"xaml","xcap-diff+xml":"xdf","xenc+xml":"xenc","xml-dtd":"dtd","xop+xml":"xop","xproc+xml":"xpl","xslt+xml":"xslt","xv+xml":["mxml","xhvml","xvml","xvm"],yang:"yang","yin+xml":"yin",envoy:"evy",fractals:"fif","internet-property-stream":"acx",olescript:"axs","vnd.ms-outlook":"msg","vnd.ms-pkicertstore":"sst","x-compress":"z","x-perfmon":["pma","pmc","pmr","pmw"],"ynd.ms-pkipko":"pko",gzip:["gz","tgz"],"smil+xml":["smi","smil"],"vnd.debian.binary-package":["deb","udeb"],"vnd.hzn-3d-crossword":"x3d","vnd.sqlite3":["db","sqlite","sqlite3","db-wal","sqlite-wal","db-shm","sqlite-shm"],"vnd.wap.sic":"sic","vnd.wap.slc":"slc","x-krita":["kra","krz"],"x-perl":["pm","pl"],yaml:["yaml","yml"]},audio:{amr:"amr","amr-wb":"awb",annodex:"axa",basic:["au","snd"],flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"prs.sid":"sid","x-aiff":"aifc","x-gsm":"gsm","x-ms-wma":"wma","x-ms-wax":"wax","x-pn-realaudio":"ram","x-realaudio":"ra","x-sd2":"sd2",adpcm:"adp",mp4:"mp4a",s3m:"s3m",silk:"sil","vnd.dece.audio":["uva","uvva"],"vnd.digital-winds":"eol","vnd.dra":"dra","vnd.dts":"dts","vnd.dts.hd":"dtshd","vnd.lucent.voice":"lvp","vnd.ms-playready.media.pya":"pya","vnd.nuera.ecelp4800":"ecelp4800","vnd.nuera.ecelp7470":"ecelp7470","vnd.nuera.ecelp9600":"ecelp9600","vnd.rip":"rip",webm:"weba","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",aac:"aac",aiff:["aiff","aif","aff"],opus:"opus",wav:"wav"},chemical:{"x-alchemy":"alc","x-cache":["cac","cache"],"x-cache-csf":"csf","x-cactvs-binary":["cbin","cascii","ctab"],"x-cdx":"cdx","x-chem3d":"c3d","x-cif":"cif","x-cmdf":"cmdf","x-cml":"cml","x-compass":"cpa","x-crossfire":"bsd","x-csml":["csml","csm"],"x-ctx":"ctx","x-cxf":["cxf","cef"],"x-embl-dl-nucleotide":["emb","embl"],"x-gamess-input":["inp","gam","gamin"],"x-gaussian-checkpoint":["fch","fchk"],"x-gaussian-cube":"cub","x-gaussian-input":["gau","gjc","gjf"],"x-gaussian-log":"gal","x-gcg8-sequence":"gcg","x-genbank":"gen","x-hin":"hin","x-isostar":["istr","ist"],"x-jcamp-dx":["jdx","dx"],"x-kinemage":"kin","x-macmolecule":"mcm","x-macromodel-input":"mmod","x-mdl-molfile":"mol","x-mdl-rdfile":"rd","x-mdl-rxnfile":"rxn","x-mdl-sdfile":"sd","x-mdl-tgf":"tgf","x-mmcif":"mcif","x-mol2":"mol2","x-molconn-Z":"b","x-mopac-graph":"gpt","x-mopac-input":["mop","mopcrt","zmt"],"x-mopac-out":"moo","x-ncbi-asn1":"asn","x-ncbi-asn1-ascii":["prt","ent"],"x-ncbi-asn1-binary":"val","x-rosdal":"ros","x-swissprot":"sw","x-vamas-iso14976":"vms","x-vmd":"vmd","x-xtel":"xtel","x-xyz":"xyz"},font:{otf:"otf",woff:"woff",woff2:"woff2"},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe","jfif","jfif-tbnl","jif"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"vnd.djvu":["djvu","djv"],"vnd.wap.wbmp":"wbmp","x-canon-cr2":"cr2","x-canon-crw":"crw","x-cmu-raster":"ras","x-coreldraw":"cdr","x-coreldrawpattern":"pat","x-coreldrawtemplate":"cdt","x-corelphotopaint":"cpt","x-epson-erf":"erf","x-icon":"ico","x-jg":"art","x-jng":"jng","x-nikon-nef":"nef","x-olympus-orf":"orf","x-portable-anymap":"pnm","x-portable-bitmap":"pbm","x-portable-graymap":"pgm","x-portable-pixmap":"ppm","x-rgb":"rgb","x-xbitmap":"xbm","x-xpixmap":"xpm","x-xwindowdump":"xwd",bmp:"bmp",cgm:"cgm",g3fax:"g3",ktx:"ktx","prs.btif":"btif",sgi:"sgi","vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"vnd.dwg":"dwg","vnd.dxf":"dxf","vnd.fastbidsheet":"fbs","vnd.fpx":"fpx","vnd.fst":"fst","vnd.fujixerox.edmics-mmr":"mmr","vnd.fujixerox.edmics-rlc":"rlc","vnd.ms-modi":"mdi","vnd.ms-photo":"wdp","vnd.net-fpx":"npx","vnd.xiff":"xif",webp:"webp","x-3ds":"3ds","x-cmx":"cmx","x-freehand":["fh","fhc","fh4","fh5","fh7"],"x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod",avif:"avifs",heic:["heif","heic"],pjpeg:["pjpg"],"vnd.adobe.photoshop":"psd","x-adobe-dng":"dng","x-fuji-raf":"raf","x-icns":"icns","x-kodak-dcr":"dcr","x-kodak-k25":"k25","x-kodak-kdc":"kdc","x-minolta-mrw":"mrw","x-panasonic-raw":["raw","rw2","rwl"],"x-pentax-pef":["pef","ptx"],"x-sigma-x3f":"x3f","x-sony-arw":"arw","x-sony-sr2":"sr2","x-sony-srf":"srf"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},model:{iges:["igs","iges"],mesh:["msh","mesh","silo"],vrml:["wrl","vrml"],"x3d+vrml":["x3dv","x3dvz"],"x3d+xml":"x3dz","x3d+binary":["x3db","x3dbz"],"vnd.collada+xml":"dae","vnd.dwf":"dwf","vnd.gdl":"gdl","vnd.gtw":"gtw","vnd.mts":"mts","vnd.usdz+zip":"usdz","vnd.vtu":"vtu"},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",plain:["txt","text","brf","conf","def","list","log","in","bas","diff","ksh"],richtext:"rtx",scriptlet:["sct","wsc"],texmacs:"tm","tab-separated-values":"tsv","vnd.sun.j2me.app-descriptor":"jad","vnd.wap.wml":"wml","vnd.wap.wmlscript":"wmls","x-bibtex":"bib","x-boo":"boo","x-c++hdr":["h++","hpp","hxx","hh"],"x-c++src":["c++","cpp","cxx","cc"],"x-component":"htc","x-dsrc":"d","x-diff":"patch","x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas","pp","inc"],"x-pcs-gcd":"gcd","x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcalendar":"vcs","x-vcard":"vcf",n3:"n3","prs.lines.tag":"dsc",sgml:["sgml","sgm"],troff:["t","tr","roff","man","me","ms"],turtle:"ttl","uri-list":["uri","uris","urls"],vcard:"vcard","vnd.curl":"curl","vnd.curl.dcurl":"dcurl","vnd.curl.scurl":"scurl","vnd.curl.mcurl":"mcurl","vnd.dvb.subtitle":"sub","vnd.fly":"fly","vnd.fmi.flexstor":"flx","vnd.graphviz":"gv","vnd.in3d.3dml":"3dml","vnd.in3d.spot":"spot","x-asm":["s","asm"],"x-c":["c","h","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt",javascript:"js",json:"json",markdown:["md","markdown","mdown","markdn"],"vnd.wap.si":"si","vnd.wap.sl":"sl"},video:{avif:"avif","3gpp":"3gp",annodex:"axv",dl:"dl",dv:["dif","dv"],fli:"fli",gl:"gl",mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.dece.hd":["uvh","uvvh"],"vnd.dece.mobile":["uvm","uvvm"],"vnd.dece.pd":["uvp","uvvp"],"vnd.dece.sd":["uvs","uvvs"],"vnd.dece.video":["uvv","uvvv"],"vnd.dvb.file":"dvb","vnd.fvt":"fvt","vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv",mp2t:"ts"},"x-conference":{"x-cooltalk":"ice"},"x-world":{"x-vrml":["vrm","flr","wrz","xaf","xof"]}},Ds=(()=>{const e={};for(const t of A.keys(ys))for(const n of A.keys(ys[t])){const A=ys[t][n];if("string"==typeof A)e[A]=t+"/"+n;else for(let i=0;i<A.length;i++)e[A[i]]=t+"/"+n}return e})();(e=>{e({workerURI:e=>{const t="text/javascript",A=(e=>{e=(e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,A=[];for(let n=0;t>n;n+=4){const t=ge.indexOf(e[n])<<18|ge.indexOf(e[n+1])<<12|(63&ge.indexOf(e[n+2]))<<6|63&ge.indexOf(e[n+3]);A.push(t>>16&255),"="!==e[n+2]&&A.push(t>>8&255),"="!==e[n+3]&&A.push(255&t)}return new u(A)})(e);let t=new u(1024),A=0;for(let i=0;i<e.length;){const r=e[i++];if(128&r){const a=3+(127&r),s=e[i++]<<8|e[i++],o=A-s;n(A+a);for(let e=0;a>e;e++)t[A++]=t[o+e]}else{const a=r;n(A+a);for(let n=0;a>n&&i<e.length;n++)t[A++]=e[i++]}}return(e=>{let t="";const A=e.length;let n=0;for(;A>n+2;n+=3){const A=e[n]<<16|e[n+1]<<8|e[n+2];t+=ge[A>>18&63]+ge[A>>12&63]+ge[A>>6&63]+ge[63&A]}const i=A-n;if(1===i){const A=e[n]<<16;t+=ge[A>>18&63]+ge[A>>12&63]+"=="}else if(2===i){const A=e[n]<<16|e[n+1]<<8;t+=ge[A>>18&63]+ge[A>>12&63]+ge[A>>6&63]+"="}return t})(new u(t.buffer.slice(0,A)));function n(e){if(t.length<e){let n=2*t.length;for(;e>n;)n*=2;const i=new u(n);i.set(t.subarray(0,A)),t=i}}})("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");if(e){const e=atob(A),n=new f([e],{type:t});return l.createObjectURL(n)}return"data:"+t+";base64,"+A}})})(se),e.BlobReader=nA,e.BlobWriter=iA,e.Data64URIReader=tA,e.Data64URIWriter=AA,e.ERR_AMBIGUOUS_ARCHIVE=Mn,e.ERR_BAD_FORMAT=Cn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Dn,e.ERR_DUPLICATED_NAME=ei,e.ERR_ENCRYPTED=Qn,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=yn,e.ERR_EOCDR_NOT_FOUND=xn,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=bn,e.ERR_HTTP_RANGE=Jt,e.ERR_INVALID_COMMENT=ti,e.ERR_INVALID_COMPRESSED_DATA=at,e.ERR_INVALID_ENCRYPTION_STRENGTH=ri,e.ERR_INVALID_ENTRY_COMMENT=Ai,e.ERR_INVALID_ENTRY_NAME=ni,e.ERR_INVALID_EXTRAFIELD_DATA=si,e.ERR_INVALID_EXTRAFIELD_TYPE=ai,e.ERR_INVALID_PASSWORD=we,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_INVALID_UNCOMPRESSED_SIZE=rt,e.ERR_INVALID_VERSION=ii,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Fn,e.ERR_OVERLAPPING_ENTRY=kn,e.ERR_SPLIT_ZIP_FILE=Sn,e.ERR_UNDEFINED_READER=di,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=li,e.ERR_UNSUPPORTED_COMPRESSION=Yn,e.ERR_UNSUPPORTED_ENCRYPTION=vn,e.ERR_UNSUPPORTED_FORMAT=ci,e.ERR_ZIP_NOT_EMPTY=ui,e.HttpRangeReader=class extends IA{constructor(e,t={}){super(e,A.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=IA,e.Reader=$t,e.SplitDataReader=xA,e.SplitDataWriter=yA,e.TextReader=rA,e.TextWriter=aA,e.Uint8ArrayReader=EA,e.Uint8ArrayWriter=CA,e.Writer=eA,e.ZipReader=On,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:A}=new y,n=new On(t,e).getEntriesGenerator();this.readable=new D({async pull(e){const{done:t,value:A}=await n.next();if(t)return e.close();const i={...A,readable:(()=>{const{readable:e,writable:t}=new y;if(A.getData)return(async()=>{try{await A.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete i.getData,e.enqueue(i)}}),this.writable=A}},e.ZipWriter=wi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:A}=new y;this.readable=t,this.zipWriter=new wi(A,e),this.pendingAddFileCalls=new g}transform(e){const t=this.zipWriter;let A;const{readable:n,writable:i}=new y({start(e){A=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Ii(this,this.zipWriter.add(e,n),e=>A.error(e)),{readable:this.readable,writable:i}}writable(e){let t;const{readable:A,writable:n}=new y({start(e){t=e}});return Ii(this,this.zipWriter.add(e,A),e=>t.error(e)),n}async close(e,A={}){return await h.all(t.from(this.pendingAddFileCalls)),this.zipWriter.close(e,A)}},e.configure=se,e.fs=Bs,e.getMimeType=e=>e&&Ds[e.split(".").pop().toLowerCase()]||"application/octet-stream",e.terminateWorkers=async()=>{await h.allSettled(Mt.map(e=>(Nt(e),e.terminate())))}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:A,String:n,Number:r,BigInt:i,Math:a,Date:s,Map:o,Set:g,Response:c,URL:l,Error:d,Uint8Array:u,Uint16Array:f,Uint32Array:m,DataView:B,Blob:p,Promise:h,TextEncoder:w,TextDecoder:I,document:E,crypto:C,btoa:x,TransformStream:y,ReadableStream:F,WritableStream:Y,CompressionStream:D,DecompressionStream:b,navigator:v,Worker:Q}="undefined"!=typeof globalThis?globalThis:this||self;var S=void 0!==E?E.currentScript:null;const k=4294967295,M=65535,U=255,z=67324752,G=134695760,W=G,T=33639248,O=101010256,R=101075792,K=117853008,L=22,H=20,N=21589,J=2048,P=16384,j=2048,q=1024,Z="/",V=30,X=new s(2107,11,31),_=new s(1980,0,1),$=void 0,ee=1/0,te="undefined",Ae="function";let ne=2;try{typeof v!=te&&v.hardwareConcurrency&&(ne=v.hardwareConcurrency)}catch{}const re={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ne,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof D!=te&&D,DecompressionStream:typeof b!=te&&b},ie=A.assign({},re);function ae(){return ie}function se(e){return a.max(e.chunkSize,64)}function oe(e){const{baseURI:t,chunkSize:A,maxWorkers:n,terminateWorkerTimeout:r,workerStarvationTimeout:i,useCompressionStream:a,useWebWorkers:s,CompressionStream:o,DecompressionStream:g,CompressionStreamZlib:c,DecompressionStreamZlib:l,workerURI:d,wasmURI:u}=e;ge("baseURI",t),ge("wasmURI",u),ge("workerURI",d),ge("chunkSize",A),ge("maxWorkers",n),ge("terminateWorkerTimeout",r),ge("workerStarvationTimeout",i),ge("useCompressionStream",a),ge("useWebWorkers",s),ge("CompressionStream",o),ge("DecompressionStream",g),ge("CompressionStreamZlib",c),ge("DecompressionStreamZlib",l)}function ge(e,t){t!==$&&(ie[e]=t)}const ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",le=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;le[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const A=le[t-1][e];le[t][e]=A>>>8^le[0][255&A]}const[de,ue,fe,me,Be,pe,he,we]=le;class Ie{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;const A=0|e.length;let n=0;if(A>=8&&e.buffer){const r=new B(e.buffer,e.byteOffset,A),i=A-8;for(;i>=n;n+=8){const e=t^r.getInt32(n,!0),A=r.getInt32(n+4,!0);t=we[255&e]^he[e>>>8&255]^pe[e>>>16&255]^Be[e>>>24&255]^me[255&A]^fe[A>>>8&255]^ue[A>>>16&255]^de[A>>>24&255]}}for(;A>n;n++)t=t>>>8^de[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Ee extends y{constructor(){let e;const t=new Ie;super({transform(e,A){t.append(e),A.enqueue(e)},flush(){const A=new u(4);new B(A.buffer).setUint32(0,t.get()),e.value=A}}),e=this}}function Ce(e){if(typeof w==te){const t=new u((e=unescape(encodeURIComponent(e))).length);for(let A=0;A<t.length;A++)t[A]=e.charCodeAt(A);return t}return(new w).encode(e)}const xe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const A=e[e.length-1],n=xe.getPartial(A);return 32===n?e.concat(t):xe._shiftRight(t,n,0|A,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const A=e[t-1];return 32*(t-1)+xe.getPartial(A)},clamp(e,t){if(32*e.length<t)return e;const A=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,A>0&&t&&(e[A-1]=xe.partial(t,e[A-1]&2147483648>>t-1,1)),e},partial:(e,t,A)=>32===e?t:(A?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,A,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(A),A=0;if(0===t)return n.concat(e);for(let r=0;r<e.length;r++)n.push(A|e[r]>>>t),A=e[r]<<32-t;const r=e.length?e[e.length-1]:0,i=xe.getPartial(r);return n.push(xe.partial(t+i&31,t+i>32?A:n.pop(),1)),n}},ye={bytes:{fromBits(e){const t=xe.bitLength(e)/8,A=new u(t);let n;for(let r=0;t>r;r++)3&r||(n=e[r/4]),A[r]=n>>>24,n<<=8;return A},toBits(e){const t=[];let A,n=0;for(A=0;A<e.length;A++)n=n<<8|e[A],3&~A||(t.push(n),n=0);return 3&A&&t.push(xe.partial(8*(3&A),n)),t}}},Fe=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=ye.utf8String.toBits(e));const A=t._buffer=xe.concat(t._buffer,e),n=t._length,r=t._length=n+xe.bitLength(e);if(r>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(A);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);r>=e;e+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return A.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const A=e._h;t=xe.concat(t,[xe.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),A}_f(e,t,A,n){return e>19?e>39?e>59?e>79?void 0:t^A^n:t&A|t&n|A&n:t^A^n:t&A|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const A=this,n=A._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let i=n[0],s=n[1],o=n[2],g=n[3],c=n[4];for(let e=0;79>=e;e++){16>e||(r[e]=A._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=A._S(5,i)+A._f(e,s,o,g)+c+r[e]+A._key[a.floor(e/20)]|0;c=g,g=o,o=A._S(30,s),s=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+o|0,n[3]=n[3]+g|0,n[4]=n[4]+c|0}},Ye={importKey:e=>new Ye.hmacSha1(ye.bytes.toBits(e)),pbkdf2(e,t,A,n){if(A=A||1e4,0>n||0>A)throw new d("invalid params to pbkdf2");const r=1+(n>>5)<<2;let i,a,s,o,g;const c=new ArrayBuffer(r),l=new B(c);let u=0;const f=xe;for(t=ye.bytes.toBits(t),g=1;(r||1)>u;g++){for(i=a=e.encrypt(f.concat(t,[g])),s=1;A>s;s++)for(a=e.encrypt(a),o=0;o<a.length;o++)i[o]^=a[o];for(s=0;(r||1)>u&&s<i.length;s++)l.setInt32(u,i[s]),u+=4}return c.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,A=t._hash=Fe,n=[[],[]];t._baseHash=[new A,new A];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new A).update(e).finalize());for(let t=0;r>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new A(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),A=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),A}encrypt(e){if(this._updated)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},De=typeof C!=te&&typeof C.getRandomValues==Ae,be="Invalid password",ve="Invalid signature",Qe="zipjs-abort-check-password";function Se(e){if(De)return C.getRandomValues(e);throw new d("Crypto API not supported")}const ke=16,Me={name:"PBKDF2"},Ue=A.assign({hash:{name:"HMAC"}},Me),ze=A.assign({iterations:1e3,hash:{name:"SHA-1"}},Me),Ge=["deriveBits"],We=[8,12,16],Te=[16,24,32],Oe=10,Re=[0,0,0,0],Ke=typeof C!=te,Le=Ke&&C.subtle,He=Ke&&typeof Le!=te,Ne=ye.bytes,Je=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const A=t._tables[0][4],n=t._tables[1],r=e.length;let i,a,s,o=1;if(4!==r&&6!==r&&8!==r)throw new d("invalid aes key size");for(t._key=[a=e.slice(0),s=[]],i=r;4*r+28>i;i++){let e=a[i-1];(i%r===0||8===r&&i%r===4)&&(e=A[e>>>24]<<24^A[e>>16&255]<<16^A[e>>8&255]<<8^A[255&e],i%r===0&&(e=e<<8^e>>>24^o<<24,o=o<<1^283*(o>>7))),a[i]=a[i-r]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];s[e]=4>=i||4>e?t:n[0][A[t>>>24]]^n[1][A[t>>16&255]]^n[2][A[t>>8&255]]^n[3][A[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],A=e[4],n=t[4],r=[],i=[];let a,s,o,g;for(let e=0;256>e;e++)i[(r[e]=e<<1^283*(e>>7))^e]=e;for(let c=a=0;!A[c];c^=s||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,A[c]=i,n[i]=c,g=r[o=r[s=r[c]]];let l=16843009*g^65537*o^257*s^16843008*c,d=257*r[i]^16843008*i;for(let A=0;4>A;A++)e[A][c]=d=d<<24^d>>>8,t[A][i]=l=l<<24^l>>>8}for(let A=0;5>A;A++)e[A]=e[A].slice(0),t[A]=t[A].slice(0)}_crypt(e,t){if(4!==e.length)throw new d("invalid aes block size");const A=this._key[t],n=A.length/4-2,r=[0,0,0,0],i=this._tables[t],a=i[0],s=i[1],o=i[2],g=i[3],c=i[4];let l,u,f,m=e[0]^A[0],B=e[t?3:1]^A[1],p=e[2]^A[2],h=e[t?1:3]^A[3],w=4;for(let e=0;n>e;e++)l=a[m>>>24]^s[B>>16&255]^o[p>>8&255]^g[255&h]^A[w],u=a[B>>>24]^s[p>>16&255]^o[h>>8&255]^g[255&m]^A[w+1],f=a[p>>>24]^s[h>>16&255]^o[m>>8&255]^g[255&B]^A[w+2],h=a[h>>>24]^s[m>>16&255]^o[B>>8&255]^g[255&p]^A[w+3],w+=4,m=l,B=u,p=f;for(let e=0;4>e;e++)r[t?3&-e:e]=c[m>>>24]<<24^c[B>>16&255]<<16^c[p>>8&255]<<8^c[255&h]^A[w++],l=m,m=B,B=p,p=h,h=l;return r}},Pe=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,A=e>>8&255,n=255&e;255===t?(t=0,255===A?(A=0,255===n?n=0:++n):++A):++t,e=0,e+=t<<16,e+=A<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,A){let n;if(!(n=t.length))return[];const r=xe.bitLength(t);for(let r=0;n>r;r+=4){this.incCounter(A);const n=e.encrypt(A);t[r]^=n[0],t[r+1]^=n[1],t[r+2]^=n[2],t[r+3]^=n[3]}return xe.clamp(t,r)}},je=Ye.hmacSha1;let qe=Ke&&He&&typeof Le.importKey==Ae,Ze=Ke&&He&&typeof Le.deriveBits==Ae;class Ve extends y{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r}){super({start(){A.assign(this,{ready:new h(e=>this.resolveReady=e),password:et(e,t),strength:n-1,pending:new u})},async transform(e,t){const A=this,{password:n,strength:i,resolveReady:a,ready:s}=A;n?(await(async(e,t,A,n)=>{const r=await $e(e,t,A,At(n,0,We[t])),i=At(n,We[t]);if(r[0]!=i[0]||r[1]!=i[1])throw new d(be)})(A,i,n,At(e,0,We[i]+2)),e=At(e,We[i]+2),r?t.error(new d(Qe)):a()):await s;const o=new u(e.length-Oe-(e.length-Oe)%ke);t.enqueue(_e(A,e,o,0,Oe,!0))},async flush(e){const{ctr:t,hmac:A,pending:n,ready:r}=this;if(A&&t){await r;const i=At(n,0,n.length-Oe),a=At(n,n.length-Oe);let s=new u;if(i.length){const e=rt(Ne,i);A.update(e);const n=t.update(e);s=nt(Ne,n)}const o=At(nt(Ne,A.digest()),0,Oe);let g=n.length<Oe?1:0;for(let e=0;Oe>e;e++)g|=o[e]^a[e];if(g)throw new d(ve);e.enqueue(s)}}})}}class Xe extends y{constructor({password:e,rawPassword:t,encryptionStrength:n}){let r;super({start(){A.assign(this,{ready:new h(e=>this.resolveReady=e),password:et(e,t),strength:n-1,pending:new u})},async transform(e,t){const A=this,{password:n,strength:r,resolveReady:i,ready:a}=A;let s=new u;n?(s=await(async(e,t,A)=>{const n=Se(new u(We[t]));return tt(n,await $e(e,t,A,n))})(A,r,n),i()):await a;const o=new u(s.length+e.length-e.length%ke);o.set(s,0),t.enqueue(_e(A,e,o,s.length,0))},async flush(e){const{ctr:t,hmac:A,pending:n,ready:i}=this;if(A&&t){await i;let a=new u;if(n.length){const e=t.update(rt(Ne,n));A.update(e),a=nt(Ne,e)}r.signature=nt(Ne,A.digest()).slice(0,Oe),e.enqueue(tt(a,r.signature))}}}),r=this}}function _e(e,t,A,n,r,i){const{ctr:a,hmac:s,pending:o}=e;o.length&&(t=tt(o,t));const g=t.length-r;let c;for(A=((e,t)=>{if(t&&t>e.length){const A=e;(e=new u(t)).set(A,0)}return e})(A,n+(g-g%ke)),c=0;g-ke>=c;c+=ke){const e=rt(Ne,At(t,c,c+ke));i&&s.update(e);const r=a.update(e);i||s.update(r),A.set(nt(Ne,r),c+n)}return e.pending=At(t,c),A}async function $e(e,n,r,i){e.password=null;const a=await(async(e,t,A,n,r)=>{if(!qe)return Ye.importKey(t);try{return await Le.importKey("raw",t,A,!1,r)}catch{return qe=!1,Ye.importKey(t)}})(0,r,Ue,0,Ge),s=await(async(e,t,A)=>{if(!Ze)return Ye.pbkdf2(t,e.salt,ze.iterations,A);try{return await Le.deriveBits(e,t,A)}catch{return Ze=!1,Ye.pbkdf2(t,e.salt,ze.iterations,A)}})(A.assign({salt:i},ze),a,8*(2*Te[n]+2)),o=new u(s),g=rt(Ne,At(o,0,Te[n])),c=rt(Ne,At(o,Te[n],2*Te[n])),l=At(o,2*Te[n]);return A.assign(e,{keys:{key:g,authentication:c,passwordVerification:l},ctr:new Pe(new Je(g),t.from(Re)),hmac:new je(c)}),l}function et(e,t){return t===$?Ce(e):t}function tt(e,t){let A=e;return e.length+t.length&&(A=new u(e.length+t.length),A.set(e,0),A.set(t,e.length)),A}function At(e,t,A){return e.subarray(t,A)}function nt(e,t){return e.fromBits(t)}function rt(e,t){return e.toBits(t)}class it extends y{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){A.assign(this,{password:e,rawPassword:t,passwordVerification:n}),gt(this,e,t)},transform(e,t){const A=this;if(A.password||A.rawPassword){const t=st(A,e.subarray(0,12));if(A.password=A.rawPassword=null,0!=(t.at(-1)^A.passwordVerification))throw new d(be);e=e.subarray(12)}r?t.error(new d(Qe)):t.enqueue(st(A,e))}})}}class at extends y{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){A.assign(this,{password:e,rawPassword:t,passwordVerification:n}),gt(this,e,t)},transform(e,t){const A=this;let n,r;if(A.password||A.rawPassword){A.password=A.rawPassword=null;const t=Se(new u(12));t[11]=A.passwordVerification,n=new u(e.length+t.length),n.set(ot(A,t),0),r=12}else n=new u(e.length),r=0;n.set(ot(A,e),r),t.enqueue(n)}})}}function st(e,t){const A=new u(t.length);for(let n=0;n<t.length;n++)A[n]=lt(e)^t[n],ct(e,A[n]);return A}function ot(e,t){const A=new u(t.length);for(let n=0;n<t.length;n++)A[n]=lt(e)^t[n],ct(e,t[n]);return A}function gt(e,t,n){const r=[305419896,591751049,878082192];if(A.assign(e,{keys:r,crcKey0:new Ie(r[0]),crcKey2:new Ie(r[2])}),n)for(let t=0;t<n.length;t++)ct(e,n[t]);else for(let A=0;A<t.length;A++)ct(e,t.charCodeAt(A))}function ct(e,t){let[,A]=e.keys;e.crcKey0.append([t]);const n=~e.crcKey0.get();A=ut(a.imul(ut(A+dt(n)),134775813)+1),e.crcKey2.append([A>>>24]);const r=~e.crcKey2.get();e.keys=[n,A,r]}function lt(e){const t=2|e.keys[2];return dt(a.imul(t,1^t)>>>8)}function dt(e){return 255&e}function ut(e){return 4294967295&e}const ft="Invalid uncompressed size",mt="Invalid compressed data";class Bt extends y{constructor(e,{chunkSize:t,CompressionStreamZlib:A,CompressionStream:n}){super({});const{compressed:r,encrypted:i,useCompressionStream:a,zipCrypto:s,signed:o,level:g,deflate64:c}=e,l=this;let d,u,f,m=super.readable;const p=o&&r&&!c&&(!i||s)&&!(!a||!n);i&&!s||!o||p||(d=new Ee,m=Et(m,d)),r&&(p?(f=new pt,m=Ct(m,new n("gzip")),m=Et(m,f)):m=It(m,a,{level:g,chunkSize:t},n,A,n)),i&&(s?m=Et(m,new at(e)):(u=new Xe(e),m=Et(m,u))),wt(l,m,()=>{let e;i&&!s&&(e=u.signature),i&&!s||!o||(e=p?f.signature:new B(d.value.buffer).getUint32(0)),l.signature=e})}}class pt extends y{constructor(){let e,t=10,A=new u(0);super({transform(e,n){if(t){const A=a.min(t,e.length);if(t-=A,!(e=e.subarray(A)).length)return}const r=A.length+e.length;if(8>=r){const t=new u(r);return t.set(A),t.set(e,A.length),void(A=t)}const i=r-8,s=new u(i),o=a.min(i,A.length);s.set(A.subarray(0,o),0),i>o&&s.set(e.subarray(0,i-o),o),n.enqueue(s);const g=new u(8),c=A.length-o;c&&g.set(A.subarray(o),0),g.set(e.subarray(i-o),c),A=g},flush(){const t=new B(A.buffer,A.byteOffset,A.byteLength);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class ht extends y{constructor(e,{chunkSize:t,DecompressionStreamZlib:A,DecompressionStream:n}){super({});const{zipCrypto:r,encrypted:i,signed:a,signature:s,compressed:o,useCompressionStream:g,deflate64:c}=e;let l,u,f=super.readable;i&&(r?f=Et(f,new it(e)):(u=new Ve(e),f=Et(f,u))),o&&(f=It(f,g,{chunkSize:t,deflate64:c},n,A,n),f=(e=>{const t=e.getReader();return new F({async pull(e){let A;try{A=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(mt);throw t.cause=e,t}const{value:n,done:r}=A;r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(f)),i&&!r||!a||(l=new Ee,f=Et(f,l)),wt(this,f,()=>{if((!i||r)&&a){const e=new B(l.value.buffer);if(s!=e.getUint32(0,!1))throw new d(ve)}})}}function wt(e,t,n){t=Et(t,new y({flush:n})),A.defineProperty(e,"readable",{get:()=>t})}function It(e,t,A,n,r,i){const a=t&&n?n:r||i,s=A.deflate64?"deflate64-raw":"deflate-raw";let o;try{o=new a(s,A)}catch(e){if(!t)throw e;if(r)o=new r(s,A);else{if(!i)throw e;o=new i(s,A)}}return Ct(e,o)}function Et(e,t){return e.pipeThrough(t)}function Ct(e,t){const A=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await A.ready;const e=await n.read();if(e.done){await A.close();break}await A.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(A,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const xt="data",yt="deflate",Ft="inflate";class Yt extends y{constructor(e,t){super({});const n=this,{codecType:r}=e;let i;r.startsWith(yt)?i=Bt:r.startsWith(Ft)&&(i=ht),n.outputSize=0;let a=0;const s=new i(e,t),o=super.readable,g=new y({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){A.assign(n,{inputSize:a})}}),c=new y({transform(t,A){if(t&&t.length&&(A.enqueue(t),n.outputSize+=t.length,e.outputSize!==$&&n.outputSize>e.outputSize))throw new d(ft)},flush(){const{signature:e}=s;A.assign(n,{signature:e,inputSize:a})}});A.defineProperty(n,"readable",{get:()=>o.pipeThrough(g).pipeThrough(s).pipeThrough(c)})}}class Dt extends y{constructor(e){let t;1>e&&(e=65536),super({transform:(A,n)=>{if(t){const e=new u(t.length+A.length);e.set(t),e.set(A,t.length),A=e,t=null}let r=0;for(;A.length-r>e;)n.enqueue(A.slice(r,r+e)),r+=e;t=r?A.slice(r):A},flush(e){t&&t.length&&e.enqueue(t)}})}}const bt={type:"module"},vt="error";let Qt,St,kt,Mt,Ut=!0;try{Ut=typeof structuredClone==Ae&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class zt{constructor(e,{readable:t,writable:n},{options:r,config:i,streamOptions:a,useWebWorkers:s,transferStreams:o,workerURI:g},c){const{signal:l}=a;return A.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:t.pipeThrough(new Dt(se(i))).pipeThrough(new Gt(a),{signal:l}),writable:n,options:A.assign({},r),workerURI:g,transferStreams:o,terminate:()=>new h(t=>{const{worker:A,busy:n}=e;A?(n?e.resolveTerminated=t:(A.terminate(),t()),e.interface=null):t()}),onTaskFinished(){if(e.busy){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,c(e)}}}),Qt===$&&(Qt=typeof Q!=te),(s&&Qt?Ot:Tt)(e,i)}}class Gt extends y{constructor({onstart:e,onprogress:t,size:A,onend:n}){let r=0;super({async start(){e&&await Wt(e,A)},async transform(e,n){r+=e.length,t&&await Wt(t,r,A),n.enqueue(e)},async flush(){n&&await Wt(n,r)}})}}async function Wt(e,...t){try{await e(...t)}catch{}}function Tt(e,t){return{run:()=>(async({options:e,readable:t,writable:A,onTaskFinished:n},r)=>{let i;try{if(!e.useCompressionStream)try{await void 0}catch{const t=e.codecType.startsWith(yt)?r.CompressionStreamZlib:r.DecompressionStreamZlib;t&&!t.requiresModule||(e.useCompressionStream=!0)}i=new Yt(e,r),await t.pipeThrough(i).pipeTo(A,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:a,outputSize:s}=i;return{signature:n,inputSize:a,outputSize:s}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}})(e,t)}}function Ot(e,t){const{baseURI:n,chunkSize:r}=t;let{wasmURI:i}=t;if(!e.interface){let a;typeof i==Ae&&(i=i());try{a=Kt(e.workerURI,n,e)}catch{return Qt=!1,Tt(e,t)}A.assign(e,{worker:a,terminated:!1,interface:{run:()=>(async(e,t)=>{let n,r;const i=new h((e,t)=>{n=e,r=t});A.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:r,result:i});const{readable:a,options:s}=e,{writable:o,closed:g,abortPipe:c}=(e=>{const t=new AbortController,{writable:A,readable:n}=new y,r=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return r.catch(()=>{}),{writable:A,closed:r,abortPipe:()=>t.abort()}})(e.writable);let l;try{l=Ht({type:"start",options:s,config:t,readable:a,writable:o},e)}catch(t){c();try{await g}catch{}throw e.onTaskFinished(),t}l||A.assign(e,{reader:a.getReader(),writer:o.getWriter()});try{const e=await i;return await d(),await g,e}catch(e){await d(),c();try{await g}catch{}throw e}async function d(){if(!l&&!o.locked)try{await o.getWriter().close()}catch{}}})(e,{chunkSize:r,wasmURI:i,baseURI:n})}})}return e.interface}function Rt(e){const{worker:t}=e;if(t)try{t.terminate()}catch{}e.interface=null}function Kt(e,t,n,r,i=!0){let a,s,o;if(kt===$||St!==e){const A=typeof e==Ae;s=A?e(i):e;const g=s.startsWith("data:"),c=s.startsWith("blob:");if(g||c){r===$&&(r=!1),r&&(o=bt);try{a=new Q(s,o)}catch(i){if(c)try{l.revokeObjectURL(s)}catch{}if(A&&c)return Kt(e,t,n,r,!1);if(r)throw i;return Kt(e,t,n,!0,!1)}}else{r===$&&(r=!0),r&&(o=bt);try{s=new l(s,t)}catch{}try{a=new Q(s,o)}catch(A){if(r)throw A;return Kt(e,t,n,!1,i)}}St=e,kt=s,Mt=o}else a=new Q(kt,Mt);return a.addEventListener("message",e=>(async({data:e},t)=>{const{type:n,value:r,messageId:i,result:a,error:s}=e,{reader:o,writer:g,resolveResult:c,rejectResult:l,onTaskFinished:f,generation:m}=t,B=()=>t.generation!=m;try{if(s){const{message:e,stack:t,code:n,name:r,outputSize:i}=s,a=new d(e);A.assign(a,{stack:t,code:n,name:r,outputSize:i}),p(a)}else{if("pull"==n){const{value:e,done:A}=await o.read();B()||Ht({type:xt,value:e,done:A,messageId:i},t)}n==xt&&(await g.ready,await g.write(new u(r)),B()||Ht({type:"ack",messageId:i},t)),"close"==n&&p(null,a)}}catch(s){B()||(Rt(t),p(s))}function p(e,t){B()||(e?l(e):c(t),g&&g.releaseLock(),f())}})(e,n)),a.addEventListener(vt,e=>Lt(e,n)),a.addEventListener("messageerror",e=>Lt(e,n)),a}function Lt(e,t){e.preventDefault&&e.preventDefault();const{rejectResult:A,writer:n,onTaskFinished:r}=t;Rt(t),A&&(A(e.error||new d(e.message||vt)),n&&n.releaseLock(),r())}function Ht(e,{worker:t,writer:A,transferStreams:n}){try{const{value:A,readable:r,writable:i}=e,a=[];if(A&&(e.value=A,a.push(e.value.buffer)),n&&Ut?(r&&a.push(r),i&&a.push(i)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{Ut=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw A&&A.releaseLock(),e}}let Nt=[];const Jt=[];let Pt,jt,qt=0;async function Zt(e,t){const{options:A,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:s,compressed:o,signed:g,encrypted:c}=A,{workerURI:l,maxWorkers:d}=n;t.transferStreams=i||i===$;const u=!(o||g||c||t.transferStreams);return t.useWebWorkers=!u&&(a||a===$&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&l?l:$,A.useCompressionStream=s||s===$&&n.useCompressionStream,(await(async()=>{const A=Nt.find(e=>!e.busy);if(A)return eA(A),new zt(A,e,t,f);if(Nt.length<d){const A={indexWorker:qt};return qt++,Nt.push(A),new zt(A,e,t,f)}return new h(A=>{Jt.push({resolve:A,stream:e,workerOptions:t}),jt=n.workerStarvationTimeout,Vt()})})()).run();function f(e){if(Xt(),Jt.length){const[{resolve:t,stream:A,workerOptions:n}]=Jt.splice(0,1);t(new zt(e,A,n,f)),Vt()}else e.worker?(eA(e),((e,t)=>{const{config:A}=t,{terminateWorkerTimeout:n}=A;r.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Nt=Nt.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Nt=Nt.filter(t=>t!=e)}}function Vt(){!Pt&&Jt.length&&r.isFinite(jt)&&jt>=0&&(Pt=setTimeout(_t,jt))}function Xt(){Pt&&(clearTimeout(Pt),Pt=null)}function _t(){if(Pt=null,Jt.length){const[{resolve:e,stream:t,workerOptions:n}]=Jt.splice(0,1),r=A.assign({},n,{useWebWorkers:!1,workerURI:$});e(new zt({},t,r,$t)),Vt()}}function $t(){Xt(),Vt()}function eA(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const tA="HTTP error ",AA="HTTP Range not supported",nA="Content-Range",rA="Range",iA="GET",aA="bytes",sA=65536,oA="writable";class gA{constructor(){this.size=0}init(){this.initialized=!0}}class cA extends gA{get readable(){const e=this,{chunkSize:t=sA}=e,A=new F({start(){this.chunkOffset=0},async pull(n){const{offset:r=0,size:i,diskNumberStart:s}=A,{chunkOffset:o}=this,g=i===$?t:a.min(t,i-o),c=await OA(e,r+o,g,s);n.enqueue(c),o+t>i||i===$&&!c.length&&g?n.close():this.chunkOffset+=t}});return A}}class lA extends gA{constructor(){super();const e=this,t=new Y({write(t){if(!e.initialized)throw new d("Writer not initialized");return e.writeUint8Array(t)}});A.defineProperty(e,oA,{get:()=>t})}writeUint8Array(){}}class dA extends cA{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;A.assign(this,{dataURI:e,dataStart:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:A,dataURI:n}=this,r=new u(t),i=4*a.floor(e/3),s=atob(n.substring(i+A,4*a.ceil((e+t)/3)+A)),o=e-3*a.floor(i/4);let g=0;for(let e=o;o+t>e&&e<s.length;e++)r[e-o]=s.charCodeAt(e),g++;return g<r.length?r.subarray(0,g):r}}class uA extends lA{constructor(e){super(),A.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let A,r=t.pending;const i=t.pending.length;for(t.pending="",A=0;A<3*a.floor((i+e.length)/3)-i;A++)r+=n.fromCharCode(e[A]);for(;A<e.length;A++)t.pending+=n.fromCharCode(e[A]);r.length>2?t.data+=x(r):t.pending=r+t.pending}getData(){return this.data+x(this.pending)}}class fA extends cA{constructor(e){super(),A.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const A=this,n=e+t,r=e||n<A.size?A.blob.slice(e,n):A.blob;let i=await r.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new u(i)}}class mA extends gA{constructor(e){super();const t=this,n=new y,r=[];e&&r.push(["Content-Type",e]),A.defineProperty(t,oA,{get:()=>n.writable}),t.blob=new c(n.readable,{headers:r}).blob(),t.blob.catch(()=>{})}getData(){return this.blob}}class BA extends fA{constructor(e){super(new p([e],{type:"text/plain"}))}}class pA extends mA{constructor(e){super(e),A.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new h((r,i)=>{A.assign(t,{onload:({target:e})=>r(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class hA extends cA{constructor(e,t){super(),IA(this,e,t)}async init(){await EA(this,vA,FA),super.init()}readUint8Array(e,t){return CA(this,e,t,vA,FA)}}class wA extends cA{constructor(e,t){super(),IA(this,e,t)}async init(){await EA(this,QA,YA),super.init()}readUint8Array(e,t){return CA(this,e,t,QA,YA)}}function IA(e,t,n){const{preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,fetch:o}=n;delete(n=A.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,delete n.fetch,A.assign(e,{url:t,options:n,preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,fetch:o})}async function EA(e,t,A){const{url:n,preventHeadRequest:i,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ae(),{protocol:A}=new l(e,t);return"http:"==A||"https:"==A})(n)&&(a||s)&&(void 0===i||i)){const n=await t(iA,e,xA(e,o?-22:void 0)),i=n.headers.get("Accept-Ranges");if(!(s||i&&i.toLowerCase()==aA))throw new d(AA);{if(o){const t=new u(await n.arrayBuffer());206==n.status&&t.length==L&&(e.eocdCache=t)}let i;const a=n.headers.get(nA);if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(i=r(t))}}i===$?await bA(e,t,A):e.size=i}}else await bA(e,t,A)}async function CA(e,t,A,n,i){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:g,options:c}=e;if(a||s){if(o&&t==g-L&&A==L)return o;if(g>t&&0!==A){t+A>g&&(A=g-t);const i=await n(iA,e,xA(e,t,A));if(206!=i.status)throw new d(AA);const a=i.headers.get(nA);if(a){const e=r(a.trim().split(/[\s-]+/)[1]);if(!r.isNaN(e)&&e!=t)throw new d(AA)}const s=new u(await i.arrayBuffer());if(s.length!=A)throw new d(AA);return s}return new u}{const{data:n}=e;return n||await i(e,c),new u(e.data.subarray(t,t+A))}}function xA(e,t=0,n=1){return A.assign({},yA(e),{[rA]:aA+"="+(0>t?t:t+"-"+(t+n-1))})}function yA({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?A.fromEntries(t):t}async function FA(e){await DA(e,vA)}async function YA(e){await DA(e,QA)}async function DA(e,t){const A=await t(iA,e,yA(e));e.data=new u(await A.arrayBuffer()),e.size=e.data.length}async function bA(e,t,A){if(e.preventHeadRequest)await A(e,e.options);else{const n=await t("HEAD",e,yA(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=r(i):await A(e,e.options)}}async function vA(e,{fetch:t=fetch,options:n,url:r},i){const a=await t(r,A.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new d(AA):new d(tA+(a.statusText||a.status))}function QA(e,{url:t},n){return new h((r,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const A=t.trim().split(/\s*:\s*/);A[0]=A[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(A)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new o(e)})}else i(416==a.status?new d(AA):new d(tA+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),a.open(e,t),n)for(const e of A.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class SA extends cA{constructor(e,t={}){super(),A.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new wA(e,t):new hA(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class kA extends cA{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),A.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class MA extends lA{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){A.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,A=t.offset+e.length;if(A>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;A>e;)e*=2;const n=t.array;t.array=new u(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class UA extends cA{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await h.all(t.map(async(A,n)=>{await TA(A),n!=t.length-1&&(e.lastDiskOffset+=A.size),e.size+=A.size})),super.init()}async readUint8Array(e,t,A=0){const n=this,{readers:r}=this;let i,s=A;-1==s&&(s=r.length-1);let o=e;for(;r[s]&&o>=r[s].size;)o-=r[s].size,s++;const g=r[s];if(g){const r=g.size;if(o+t>r){const a=r-o;i=new u(t);const s=await OA(g,o,a);i.set(s,0);const c=await n.readUint8Array(e+a,t-a,A);i.set(c,a),s.length+c.length<t&&(i=i.subarray(0,s.length+c.length))}else i=await OA(g,o,t)}else i=new u;return n.lastDiskNumber=a.max(s,n.lastDiskNumber),i}}class zA extends gA{constructor(e,t=4294967295){super();const n=this;let r,i,a;A.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new Y({async write(t){const{availableSize:A}=n;if(a)t.length<A?await o(t):(await o(t.subarray(0,A)),await g(),n.diskOffset+=r.size,n.diskNumber++,a=null,n.availableSize=n.maxSize,t.length>A&&await this.write(t.subarray(A)));else{const{value:A,done:s}=await e.next();if(s&&!A)throw new d("Writer iterator completed too soon");r=A,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await TA(r),i=A.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await g())},async abort(e){a&&await a.abort(e)}});async function o(e){const t=e.length;t&&(await a.ready,await a.write(e),r.size+=t,n.availableSize-=t)}async function g(){await a.close()}A.defineProperty(n,oA,{get:()=>s})}}class GA{constructor(e){return t.isArray(e)&&(e=new UA(e)),e instanceof F&&(e={readable:e}),e}}class WA{constructor(e){return e.writable===$&&typeof e.next==Ae&&(e=new zA(e)),e instanceof Y&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof zA||A.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function TA(e,t){if(!e.init||e.initialized)return h.resolve();await e.init(t)}function OA(e,t,A,n){return e.readUint8Array(t,A,n)}const RA="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function KA(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let A=0;A<e.length;A++)t+=RA[e[A]];return t}})(e):new I(t,{ignoreBOM:!0}).decode(e)}const LA="filename",HA="rawFilename",NA="comment",JA="rawComment",PA="uncompressedSize",jA="compressedSize",qA="offset",ZA="diskNumberStart",VA="lastModDate",XA="rawLastModDate",_A="lastAccessDate",$A="creationDate",en="rawCreationDate",tn="internalFileAttributes",An="externalFileAttributes",nn="msdosAttributesRaw",rn="msdosAttributes",an="msDosCompatible",sn="zip64",on="encrypted",gn="version",cn="versionMadeBy",ln="zipCrypto",dn="directory",un="executable",fn="compressionMethod",mn="signature",Bn="extraField",pn="unixMode",hn="setuid",wn="setgid",In="sticky",En=[LA,HA,PA,jA,VA,XA,NA,JA,_A,$A,en,qA,ZA,tn,An,nn,rn,an,sn,on,gn,cn,ln,dn,un,fn,mn,Bn,"extraFieldUnix","extraFieldInfoZip","uid","gid",pn,hn,wn,In,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Cn{constructor(e){En.forEach(t=>this[t]=e[t])}}const xn="password",yn="rawPassword",Fn="passThrough",Yn="signal",Dn="checkAmbiguity",bn="useWebWorkers",vn="useCompressionStream",Qn="transferStreams",Sn="preventClose",kn="offset",Mn="strictness",Un="strict",zn="tolerant",Gn="File format is not recognized",Wn="End of central directory not found",Tn="End of Zip64 central directory locator not found",On="Central directory header not found",Rn="Local file header not found",Kn="Zip64 extra field not found",Ln="File contains encrypted entry",Hn="Encryption method not supported",Nn="Compression method not supported",Jn="Split zip file",Pn="Overlapping entry found",jn="Ambiguous archive",qn="utf-8",Zn="cp437",Vn=[[PA,k],[jA,k],[qA,k],[ZA,M]],Xn={[M]:{getValue:hr,bytes:4},[k]:{getValue:wr,bytes:8}};class _n{constructor(e,t={}){A.assign(this,{reader:new GA(e),options:t,config:ae(),readRanges:new o})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:r}=t;if(await TA(n),n.size!==$&&n.readUint8Array||(n=new fA(await new c(n.readable).blob()),await TA(n)),n.size<L)throw new d(Gn);n.chunkSize=se(r);const i=ir(ur(t,e,Mn),ur(t,e,Dn)),s=i==Un,o=i!=zn,l=((e,t)=>e!==$?e:t==Un?0:t==zn?1/0:M)(ur(t,e,"maxAppendedDataSize"),i),{endOfDirectoryInfo:f,endOfDirectoryReachingEndCount:m}=await(async(e,t,A)=>{const{size:n}=e,r=a.min(n,65557),i=n-r,s=await OA(e,i,r),o=Ir(s),g={count:ar};let c,l,d=0;for(let A=s.length-L;A>=0;A--)if(hr(o,A)==O){const r=i+A,a=pr(o,A+20);if(r+L+a==n){const a=await cr(e,o,i,A,r,n,g);if(a==gr){if(c||(c={offset:r,buffer:s.slice(A,A+L).buffer}),d++,!t||d>1)break}else a!=or||l||(l={offset:r,buffer:s.slice(A,A+L).buffer})}}return c||(c=l),c||(c=await(async(e,t,A)=>{const{size:n}=e,r=a.min(n,t==1/0?n:65557+t),i=n-r,s=await OA(e,i,r),o=Ir(s);let g,c;for(let t=s.length-L;t>=0;t--)if(hr(o,t)==O){const r=i+t,a={offset:r,buffer:s.slice(t,t+L).buffer};g||(g=a);const l=await cr(e,o,i,t,r,n,A);if(l==gr)return a;l!=or||c||(c=a)}return c||g})(e,A,g)),{endOfDirectoryInfo:c,endOfDirectoryReachingEndCount:d}})(n,o,l);if(!f)throw hr(Ir(await OA(n,0,4)))==G?new d(Jn):new d(Wn);o&&m>1&&dr("multiple end of central directory records");const B=Ir(f);let p=hr(B,12),w=hr(B,16);const I=f.offset,E=pr(B,20),C=I+L+E;n.size-C>l&&dr("appended data");let x=pr(B,4);const F=n.lastDiskNumber||0;let Y,D,b=pr(B,6),v=pr(B,10),Q=0;if(w==k||p==k||v==M||b==M){const e=f.offset<H?new u:await OA(n,f.offset-H,H),t=Ir(e);if(e.length==H&&hr(t,0)==K){w=wr(t,8);let e=await OA(n,w,56,-1),A=Ir(e);const r=f.offset-H-56-(n.lastDiskOffset||0);if((56>e.length||hr(A,0)!=R)&&w!=r&&r>=0){const t=w;w=r,w>t&&(Q=w-t),e=await OA(n,w,56,-1),A=Ir(e)}if(56>e.length||hr(A,0)!=R)throw new d(Tn);D=!0,x==M?x=hr(A,16):s&&x!=hr(A,16)&&dr("mismatched zip64 end of central directory record"),b==M?b=hr(A,20):s&&b!=hr(A,20)&&dr("mismatched zip64 end of central directory record"),v==M?v=wr(A,32):s&&v!=wr(A,32)&&dr("mismatched zip64 end of central directory record"),p==k?p=wr(A,40):s&&p!=wr(A,40)&&dr("mismatched zip64 end of central directory record"),w=wr(A,48)+Q}}const S=p,z=f.offset-(D?76:0);if(w<n.size||(Q=n.size-w-p-L,w=n.size-p-L),F!=x)throw new d(Jn);if(0>w)throw new d(Gn);let W=0,N=await OA(n,w,p,b),J=Ir(N);if(p){if(4>N.length)throw new d(Gn);const e=z-p-(n.lastDiskOffset||0);if(w!=e&&b==x){let t=!(hr(J,W)==T);if(t||0>e||e+4>n.size||(t=hr(Ir(await OA(n,e,4,b)),0)==T),t){const t=w;w=e,w>t&&(Q+=w-t),N=await OA(n,w,p,b),J=Ir(N)}}}const V=z-w-(n.lastDiskOffset||0);if(p==V||0>V||b!=x||(p=V,N=await OA(n,w,p,b),J=Ir(N)),0>w||w>=n.size)throw new d(Gn);Y=w;const X=ur(t,e,"filenameEncoding"),_=ur(t,e,"commentEncoding"),ee=s?new g:$;let te;for(let i=0;v>i;i++){const o=new $n(n,r,t.options);if(W+46>N.length||hr(J,W)!=T)throw new d(On);er(o,J,W+6);const g=!!o.bitFlag.languageEncodingFlag,l=W+46,u=l+o.filenameLength,f=u+o.extraFieldLength,m=pr(J,W+4),B=!(m>>8),p=m>>8==3,w=N.subarray(l,u),I=pr(J,W+32),E=f+I,C=N.subarray(f,E),x=g,F=g,D=hr(J,W+38),b=D&U,S={readOnly:!!(1&b),hidden:!!(2&b),system:!!(4&b),directory:!!(16&b),archive:!!(32&b)},k=hr(J,W+42),z=ur(t,e,"decodeText")||KA,G=x?qn:X||Zn,O=F?qn:_||Zn;let R=z(w,G);R===$&&(R=KA(w,G));let K=z(C,O);K===$&&(K=KA(C,O)),A.assign(o,{index:i,versionMadeBy:m,msDosCompatible:B,compressedSize:0,uncompressedSize:0,commentLength:I,offset:k,diskNumberStart:pr(J,W+34),internalFileAttributes:pr(J,W+36),externalFileAttributes:D,msdosAttributesRaw:b,msdosAttributes:S,rawFilename:w,filenameUTF8:x,commentUTF8:F,rawExtraField:N.subarray(u,f),rawComment:C,filename:R,comment:K}),tr(o,o,J,W+6),o.offset+=Q,Y=a.min(o.offset,Y),s&&(ee.has(o.filename)&&(te=!0),ee.add(o.filename));const L=o.externalFileAttributes>>16&M;o.unixMode===$&&16877&L&&(o.unixMode=L);const H=!!(o.unixMode&j),V=!!(o.unixMode&q),Ae=!!(512&o.unixMode),ne=o.unixMode!==$?!!(73&o.unixMode):p&&!!(73&L),re=o.unixMode!==$&&(61440&o.unixMode)==P,ie=(61440&L)==P;A.assign(o,{setuid:H,setgid:V,sticky:Ae,unixExternalUpper:L,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:ne,directory:re||ie||B&&S.directory||o.filename.endsWith(Z)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new Cn(o);ae.getData=(e,A)=>o.getData(e,ae,t.readRanges,A),ae.arrayBuffer=async e=>{const A=new y,[n]=await h.all([new c(A.readable).arrayBuffer(),o.getData(A,ae,t.readRanges,e)]);return n},W=E;const{onprogress:se}=e;if(se)try{await se(i+1,v,new Cn(o))}catch{}yield ae}s&&W!=S&&dr("trailing central directory data"),te&&dr("duplicate filename"),s&&(Q||v&&Y>0)&&dr("prepended data");const Ae=ur(t,e,"extractPrependedData"),ne=ur(t,e,"extractAppendedData");return Ae&&(t.prependedData=Y>0?await OA(n,0,Y):new u),t.comment=E?await OA(n,I+L,E):new u,ne&&(t.appendedData=C<n.size?await OA(n,C,n.size-C):new u),!0}async getEntries(e={}){const t=[];for await(const A of this.getEntriesGenerator(e))t.push(A);return t}async close(){}}let $n=class{constructor(e,t,n){A.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n,r={}){const i=this,{reader:s,index:o,offset:g,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:f,compressionMethod:m,config:B,bitFlag:p,signature:h,rawLastModDate:w,uncompressedSize:I,compressedSize:E}=i,{dataDescriptor:C}=p,x=t.localDirectory={},y=await OA(s,g,V,c),F=Ir(y);let D=ur(i,r,xn),b=ur(i,r,yn);const v=ur(i,r,Fn);if(D=D&&D.length&&D,b=b&&b.length&&b,l&&99!=l.originalCompressionMethod)throw new d(Nn);if(0!=m&&8!=m&&9!=m&&!v)throw new d(Nn);if(y.length<V||hr(F,0)!=z)throw new d(Rn);er(x,F,4);const{extraFieldLength:Q,filenameLength:S}=x,k=ir(ur(i,r,Mn),ur(i,r,Dn))==Un;let M=new u;if(k&&(S||Q)){const e=await OA(s,g+V,S+Q,c);M=e.subarray(0,S),x.rawExtraField=e.subarray(S)}else x.rawExtraField=Q?await OA(s,g+V+S,Q,c):new u;tr(i,x,F,4,!0),k&&((e,t,A)=>{const{rawFilename:n}=e;(A.length!=n.length||A.some((e,t)=>e!=n[t]))&&dr("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&dr("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&dr("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||dr("mismatched local file header (signature or sizes)")})(i,x,M);const{lastAccessDate:G,creationDate:T}=x;G&&(t.lastAccessDate=G),T&&(t.creationDate=T);const O=i.encrypted&&x.encrypted&&!v,R=O&&!l;if(v||(t.zipCrypto=R),O){if(!R&&l.strength===$)throw new d(Hn);if(!D&&!b)throw new d(Ln)}const K=g+V+S+Q,L=E,H=s.readable;A.assign(H,{diskNumberStart:c,offset:K,size:L});const N=ur(i,r,Yn),J=ur(i,r,"checkPasswordOnly");let P=ur(i,r,"checkOverlappingEntry");const j=ur(i,r,"checkOverlappingEntryOnly");j&&(P=!0);const{onstart:q,onprogress:Z,onend:X}=r,_=9==m;let ee=ur(i,r,vn);_&&(ee=!1);const te={options:{codecType:Ft,password:D,rawPassword:b,zipCrypto:R,encryptionStrength:l&&l.strength,signed:ur(i,r,"checkSignature")&&!v,passwordVerification:R&&(C?w>>>8&U:h>>>24&U),outputSize:v?E:I,signature:h,compressed:0!=m&&!v,encrypted:O,useWebWorkers:ur(i,r,bn),useCompressionStream:ee,transferStreams:ur(i,r,Qn),deflate64:_,checkPasswordOnly:J},config:B,streamOptions:{signal:N,size:L,onstart:q,onprogress:Z,onend:X}};let Ae;P&&await(async({reader:e,fileEntry:t,index:A,offset:n,diskNumberStart:r,signature:i,compressedSize:s,uncompressedSize:o,dataOffset:g,dataDescriptor:c,extraFieldZip64:l,readRanges:u})=>{let f=0;if(r&&e.readers)for(let t=0;t<a.min(r,e.readers.length);t++)f+=e.readers[t].size;let m=0;if(c&&(m=l?20:12),m){const A=await OA(e,g+s,m+4,r);if(A.length==m+4&&hr(Ir(A),0)==W){const e=hr(Ir(A),4);let n,r;l?(n=wr(Ir(A),8),r=wr(Ir(A),16)):(n=hr(Ir(A),8),r=hr(Ir(A),12)),(t.encrypted&&!t.zipCrypto||e==i)&&n==s&&r==o&&(m+=4)}}const B={start:f+n,end:f+g+s+m,fileEntry:t};for(const[e,t]of u)if(e!=A&&B.start<t.end&&t.start<B.end){const e=new d(Pn);throw e.overlappingEntry=t.fileEntry,e}u.set(A,B)})({reader:s,fileEntry:t,index:o,offset:g,diskNumberStart:c,signature:h,compressedSize:E,uncompressedSize:I,dataOffset:K,dataDescriptor:C||x.bitFlag.dataDescriptor,extraFieldZip64:f||x.extraFieldZip64,readRanges:n});try{if(!j){J&&(e=new Y),e=new WA(e),await TA(e,v?E:I),({writable:Ae}=e);const{outputSize:t}=await Zt({readable:H,writable:Ae},te);if(e.size+=t,t!=(v?E:I))throw new d(ft)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!J||t.message!=Qe)throw t}finally{ur(i,r,Sn)||!Ae||Ae.locked||await Ae.getWriter().close()}return J||j?$:e.getData?e.getData():Ae}};function er(e,t,n){const r=e.rawBitFlag=pr(t,n+2),i=!(1&~r),a=hr(t,n+6);A.assign(e,{encrypted:i,version:pr(t,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&J)==J},rawLastModDate:a,lastModDate:fr(a),filenameLength:pr(t,n+22),extraFieldLength:pr(t,n+24)})}function tr(e,t,n,r,i){const{rawExtraField:a}=t,g=t.extraField=new o,c=Ir(new u(a));let l=0;try{for(;l<a.length;){const e=pr(c,l),t=pr(c,l+2);g.set(e,{type:e,data:a.slice(l+4,l+4+t)}),l+=4+t}}catch{}const f=pr(n,r+4);A.assign(t,{signature:hr(n,r+10),compressedSize:hr(n,r+14),uncompressedSize:hr(n,r+18)});const m=g.get(1);m&&(((e,t)=>{t.zip64=!0;const A=Ir(e.data),n=Vn.filter(([e,A])=>t[e]==A),r=n.reduce((e,[,t])=>e+Xn[t].bytes,0);if(e.data.length<r)throw new d(Kn);for(let r=0,i=0;r<n.length;r++){const[a,s]=n[r],o=Xn[s];t[a]=e[a]=o.getValue(A,i),i+=o.bytes}})(m,t),t.extraFieldZip64=m);const B=g.get(28789);B&&(Ar(B,LA,HA,t,e),t.extraFieldUnicodePath=B);const p=g.get(25461);p&&(Ar(p,NA,JA,t,e),t.extraFieldUnicodeComment=p);const h=g.get(39169);h&&h.data.length>=7?(((e,t,n)=>{const r=Ir(e.data),i=Br(r,4);A.assign(e,{vendorVersion:Br(r,0),vendorId:Br(r,2),strength:i,originalCompressionMethod:n,compressionMethod:pr(r,5)}),t.compressionMethod=e.compressionMethod})(h,t,f),t.extraFieldAES=h):t.compressionMethod=f;const w=g.get(10);w&&(((e,t)=>{const n=Ir(e.data);let r,i=4;try{for(;i<e.data.length&&!r;){const t=pr(n,i),A=pr(n,i+2);1==t&&(r=e.data.slice(i+4,i+4+A)),i+=4+A}}catch{}try{if(r&&24==r.length){const n=Ir(r),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);A.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:s});const o={lastModDate:mr(i),lastAccessDate:mr(a),creationDate:mr(s)};A.assign(e,o),A.assign(t,o)}}catch{}})(w,t),t.extraFieldNTFS=w);const I=g.get(30805);if(I)nr(I,t,!1),t.extraFieldUnix=I;else{const e=g.get(30837);e&&(nr(e,t,!0),t.extraFieldInfoZip=e)}const E=g.get(N);E&&(((e,t,A)=>{if(!e.data.length)return;const n=Ir(e.data),r=Br(n,0),i=[],a=[];A?(1&~r||(i.push(VA),a.push(XA)),2&~r||(i.push(_A),a.push("rawLastAccessDate")),4&~r||(i.push($A),a.push(en))):5>e.data.length||(i.push(VA),a.push(XA));let o=1;i.forEach((A,r)=>{if(e.data.length>=o+4){const i=hr(n,o);t[A]=e[A]=new s(1e3*(0|i));const g=a[r];e[g]=i}o+=4})})(E,t,i),t.extraFieldExtendedTimestamp=E);const C=g.get(6534);C&&(t.extraFieldUSDZ=C)}function Ar(e,t,n,r,i){if(5>e.data.length)return void(e.valid=!1);const a=Ir(e.data),s=new Ie;s.append(i[n]);const o=Ir(new u(4));o.setUint32(0,s.get(),!0);const g=hr(a,1);A.assign(e,{version:Br(a,0),[t]:KA(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&g==hr(o,0)}),e.valid&&(r[t]=e[t],r[t+"UTF8"]=!0)}function nr(e,t,n){try{const r=Ir(new u(e.data));let i,a;if(n){let t=0;const n=Br(r,t++),s=Br(r,t++);i=rr(e.data.subarray(t,t+s)),t+=s;const o=Br(r,t++);a=rr(e.data.subarray(t,t+o)),A.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=pr(r,0),a=pr(r,2),A.assign(e,{uid:i,gid:a}));i!==$&&(t.uid=i),a!==$&&(t.gid=a)}catch{}}function rr(e){const t=new u(4);return t.set(e,0),new B(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ir(e,t){return e===$?t?Un:"balanced":e}const ar=64,sr=0,or=1,gr=2;async function cr(e,t,A,n,r,i,a){const s=pr(t,n+10),o=hr(t,n+12),g=hr(t,n+16);if(s==M||o==k||g==k)return await lr(e,t,A,r-H,i,a)==K?gr:sr;if(!s&&!o)return or;for(const n of[r-o,g])if(await lr(e,t,A,n,i,a)==T)return gr;return sr}async function lr(e,t,A,n,r,i){return 0>n||n+4>r?$:A>n?i.count>0?(i.count--,hr(Ir(await OA(e,n,4)),0)):$:hr(t,n-A)}function dr(e){const t=new d(jn);throw t.reason=e,t}function ur(e,t,A){return t[A]===$?e.options[A]:t[A]}function fr(e){const t=(4294901760&e)>>16,A=e&M;try{return new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&A)>>11,(2016&A)>>5,2*(31&A),0)}catch{}}function mr(e){return new s(r(e/i(1e4)-i(116444736e5)))}function Br(e,t){return e.getUint8(t)}function pr(e,t){return e.getUint16(t,!0)}function hr(e,t){return e.getUint32(t,!0)}function wr(e,t){return r(e.getBigUint64(t,!0))}function Ir(e){return new B(e.buffer,e.byteOffset,e.byteLength)}const Er="File already exists",Cr="Zip file comment exceeds 64KB",xr="File entry comment exceeds 64KB",yr="File entry name exceeds 64KB",Fr="Version exceeds 65535",Yr="The strength must equal 1, 2, or 3",Dr="Extra field type exceeds 65535",br="Extra field data exceeds 64KB",vr=-2147483648,Qr=2147483647,Sr="Zip64 is not supported (set the 'zip64' option to 'true')",kr="Undefined uncompressed size",Mr="Undefined reader",Ur="Zip file not empty",zr=new u([7,0,2,0,65,69,3,0,0]),Gr="infozip",Wr="unix";let Tr=0;const Or=[];class Rr{constructor(e,t={}){const n=(e=new WA(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;A.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:ae(),files:new o,filenames:new g,offset:t[kn]===$?e.size||e.writable.size||0:t[kn],initialOffset:t[kn]===$?0:t[kn]-(e.size||e.writable.size||0),pendingAddFileCalls:new g,bufferedWrites:0,lastFileEntry:$})}async prependZip(e){if(this.filenames.size)throw new d(Ur);e=new GA(e),await TA(e);const t=new _n(e.readable),n=await t.getEntries();await t.close(),await TA(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new g(n.map(e=>e.filename)),this.files=new o(n.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:r,creationDate:i,rawFilename:a,bitFlag:s,encrypted:o,uncompressedSize:g,compressedSize:c,diskOffset:l,diskNumber:d,zip64:f}=e;let{compressionMethod:m,rawExtraFieldZip64:B,rawExtraFieldAES:p,rawExtraFieldExtendedTimestamp:h,rawExtraFieldNTFS:w,rawExtraFieldUnix:I,rawExtraField:E}=e;const{level:C,languageEncodingFlag:x,dataDescriptor:y}=s;B=B||new u,p=p||new u,h=h||new u,w=w||new u,I=I||new u,E=E||new u,e.extraFieldAES&&(m=99);const F=ri(B,p,h,w,I,E),Y=f&&g>=k,D=f&&c>=k,b=-7&ai(C,x,y,o,m)|C<<1,{headerArray:v,headerView:Q}=ii({version:t,bitFlag:b,compressionMethod:m,uncompressedSize:g,compressedSize:c,rawLastModDate:n,rawFilename:a,zip64CompressedSize:D,zip64UncompressedSize:Y,extraFieldLength:F}),{signature:S}=e;return S!==$&&ei(Q,10,S),A.assign(e,{zip64UncompressedSize:Y,zip64CompressedSize:D,zip64Offset:f&&this.offset-l>=k,zip64DiskNumberStart:f&&d>=M,rawExtraFieldZip64:B,rawExtraFieldAES:p,rawExtraFieldExtendedTimestamp:h,rawExtraFieldNTFS:w,rawExtraFieldUnix:I,rawExtraField:E,extendedTimestamp:h.length>0||w.length>0,extraFieldExtendedTimestampFlag:1+(r?2:0)+(i?4:0),headerArray:v,headerView:Q}),[e.filename,e]}))}async add(e="",t,n={}){const r=this;n=A.assign({},n);const{pendingAddFileCalls:a,config:o}=r;let g,c;Tr<o.maxWorkers?Tr++:await new h(e=>Or.push(e));try{if(e=e.trim(),Xr(r,n,dn)&&!e.endsWith(Z)&&(e+=Z),r.filenames.has(e))throw new d(Er);return r.filenames.add(e),c=!0,g=(async(e,t,n,r)=>{const a=((e,t,A)=>{t=t.trim();let n=Xr(e,A,an),r=Xr(e,A,cn,n?20:768);const i=Xr(e,A,un),a=Xr(e,A,"uid"),s=Xr(e,A,"gid");let o=Xr(e,A,pn),g=Xr(e,A,"unixExtraFieldType"),c=Xr(e,A,hn),l=Xr(e,A,wn),u=Xr(e,A,In);if(a!==$&&(0>a||a>k))throw new d("Invalid uid (must be integer 0..2^32-1)");if(s!==$&&(0>s||s>k))throw new d("Invalid gid (must be integer 0..2^32-1)");if(o!==$&&(0>o||o>M))throw new d("Invalid UNIX mode (must be integer 0..65535)");if(g!==$&&g!==Gr&&g!==Wr)throw new d("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(g===Wr&&(a!==$&&a>M||s!==$&&s>M))throw new d("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");g!==$||a===$&&s===$||(g=Gr);let f=Xr(e,A,nn),m=Xr(e,A,rn);const B=f!==$||m!==$;if(a!==$||s!==$||o!==$||g?(n=!1,r=r&M|768):B&&(n=!0,r&=U),f!==$&&(0>f||f>U))throw new d("Invalid msdosAttributesRaw (must be integer 0..255)");if(m&&"object"!=typeof m)throw new d("Invalid msdosAttributes (must be an object with boolean flags)");if(r>M)throw new d(Fr);let p=Xr(e,A,An,0);!A[dn]&&t.endsWith(Z)&&(A[dn]=!0);const h=Xr(e,A,dn);let w;return h?(t.endsWith(Z)||(t+=Z),0===p&&(p=16,n||(p|=16877<<16))):n||0!==p||(p=i?493<<16:27525120),n||(w=p>>16&M,o=o===$?w:o&M,c?o|=j:c=!!(o&j),l?o|=q:l=!!(o&q),u?o|=512:u=!!(512&o),h&&(o|=P),p=(o&M)<<16|p&U),({msdosAttributesRaw:f,msdosAttributes:m}=((e,t)=>{if(e!==$)e&=U;else if(t!==$){const{readOnly:A,hidden:n,system:r,directory:i,archive:a}=t;let s=0;A&&(s|=1),n&&(s|=2),r&&(s|=4),i&&(s|=16),a&&(s|=32),e=s&U}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(f,m)),B&&(p=p&k|f&U),{name:t,resolvedOptions:{versionMadeBy:r,msDosCompatible:n,externalFileAttributes:p,unixExternalUpper:w,uid:a,gid:s,unixMode:o,unixExtraFieldType:g,setuid:c,setgid:l,sticky:u,msdosAttributesRaw:f,msdosAttributes:m}}})(e,t,r);({name:t}=a);const o=((e,t,A)=>{const n=Xr(e,A,"encodeText",Ce);let r=n(t);if(r===$&&(r=Ce(t)),ri(r)>M)throw new d(yr);const i=A[NA]||"";let a=n(i);if(a===$&&(a=Ce(i)),ri(a)>M)throw new d(xr);const o=Xr(e,A,gn,20);if(o>M)throw new d(Fr);const g=Xr(e,A,VA,new s),c=Xr(e,A,_A),l=Xr(e,A,$A),f=Xr(e,A,tn,0),m=Xr(e,A,Fn);let B,p;m||(B=Xr(e,A,xn),p=Xr(e,A,yn));const h=Xr(e,A,"encryptionStrength",3),w=Xr(e,A,ln),I=Xr(e,A,"extendedTimestamp",!0),E=Xr(e,A,"keepOrder",!0),C=Xr(e,A,bn),x=Xr(e,A,Qn,!0),y=Xr(e,A,"bufferedWrite"),F=Xr(e,A,"createTempStream"),Y=Xr(e,A,"dataDescriptorSignature",!0),D=Xr(e,A,Yn),b=Xr(e,A,"useUnicodeFileNames",!0),v=Xr(e,A,fn);if(!m&&v!==$&&0!==v&&8!==v)throw new d("Compression method not supported");let Q=Xr(e,A,"level"),S=Xr(e,A,vn),k=Xr(e,A,"dataDescriptor");y&&k===$&&(k=!1),(k===$||w)&&(k=!0),Q!==$&&6!=Q&&(S=!1),S||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(Q=0);const U=Xr(e,A,sn);if(!w&&(B!==$||p!==$)&&(1>h||h>3))throw new d(Yr);let z=new u;const G=A[Bn];if(G){let e=0,t=0;G.forEach(t=>e+=4+ri(t)),z=new u(e);const A=ni(z);G.forEach((e,n)=>{if(n>M)throw new d(Dr);if(ri(e)>M)throw new d(br);$r(A,t,n),$r(A,t+2,ri(e)),Ai(z,e,t+4),t+=4+ri(e)})}return{comment:i,resolvedOptions:{rawFilename:r,rawComment:a,version:o,lastModDate:g,lastAccessDate:c,creationDate:l,internalFileAttributes:f,passThrough:m,password:B,rawPassword:p,encryptionStrength:h,zipCrypto:w,extendedTimestamp:I,keepOrder:E,useWebWorkers:C,transferStreams:x,bufferedWrite:y,createTempStream:F,dataDescriptorSignature:Y,signal:D,useUnicodeFileNames:b,compressionMethod:v,level:Q,useCompressionStream:S,dataDescriptor:k,zip64:U,rawExtraField:z}}})(e,t,r),{comment:g}=o,c=r[Bn];let l;e.files.set(t,$);try{const s=await(async(e,t,{resolvedOptions:A},n)=>{const{passThrough:r,zipCrypto:i,password:a,rawPassword:s,encryptionStrength:o}=A;let{dataDescriptor:g,zip64:c,level:l,compressionMethod:u}=A,f=0,m=0;if(r){if(!t)throw new d(Mr);if(m=n[PA],m===$)throw new d(kr)}const B=!0===c,p=Xr(e,n,on),h=!!t&&(!!(a&&ri(a)||s&&ri(s))||r&&p);t||(l=0,u=0);const w=h?i?12:16+4*o:0;t&&(t=new GA(t),await TA(t),r?(n.uncompressedSize=m,f=_r(m)+w):t.size===$?(g=!0,(c||c===$)&&(c=!0,m=f=4294967296)):(n.uncompressedSize=m=t.size,f=_r(m)+w));const I=B||m>=k,E=B||f>=k;if(I||E){if(!1===c)throw new d(Sr);c=!0}return c=c||!1,{reader:t,resolvedOptions:{dataDescriptor:g,zip64:c,zip64UncompressedSize:I,zip64CompressedSize:E,uncompressedSize:m,level:l,compressionMethod:u,encrypted:h}}})(e,n,o,r);({reader:n}=s);const{diskOffset:g,diskNumber:c}=e.writer,f=(e=>{const{rawFilename:t,lastModDate:A,lastAccessDate:n,creationDate:r,level:i,zip64:a,zipCrypto:s,useUnicodeFileNames:o,dataDescriptor:g,directory:c,rawExtraField:l,encryptionStrength:f,extendedTimestamp:m,passThrough:B,encrypted:p,zip64UncompressedSize:h,zip64CompressedSize:w,uncompressedSize:I}=e;let{version:E,compressionMethod:C}=e;const x=!c&&(C===$?i===$||i>0:0!==C);let y;const F=B||!x,Y=a&&(e.bufferedWrite||!g||!h&&!w||F),D=Y||a&&g&&(h||w);if(a&&(h||w)){const e=20,t=Nr(e);if(t.uint16(1),t.uint16(e-4),y=t.array,Y&&(t.uint64(I),F)){const e=p?s?12:16+4*f:0;t.uint64(B?0:I+e)}}else y=new u;let b,v,Q,S,k;if(p&&!s){const e=Nr(ri(zr)+2);e.uint16(39169),e.bytes(zr),b=e.array,b[8]=f}else b=new u;if(m){const e=qr(A);if(Zr(e)){const t=9+(n?4:0)+(r?4:0),A=Nr(t);S=1+(n?2:0)+(r?4:0),A.uint16(N),A.uint16(t-4),A.uint8(S),A.uint32(e),n&&A.uint32(Vr(qr(n))),r&&A.uint32(Vr(qr(r))),Q=A.array}else Q=new u;try{const e=jr(A),t=Nr(36);t.uint16(10),t.uint16(32),t.skip(4),t.uint16(1),t.uint16(24),t.uint64(e),t.uint64(jr(n)||e),t.uint64(jr(r)||e),v=t.array}catch{v=new u}}else v=Q=new u;try{const{uid:t,gid:A,unixExtraFieldType:n}=e;if(n!=Gr||t===$&&A===$)if(n!=Wr||t===$&&A===$)k=new u;else{const e=Nr(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&M),e.uint16((A===$?0:A)&M),k=e.array}else{const e=Hr(t),n=Hr(A),r=3+e.length+n.length,i=Nr(4+r);i.uint16(30837),i.uint16(r),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),k=i.array}}catch{k=new u}C===$&&(C=x?8:0),a&&(E=E>45?E:45),p&&!s&&(E=E>51?E:51,b[9]=C,C=99);const U=D?ri(y):0,G=U+ri(b,Q,v,k,l);if(G>M)throw new d(br);const{headerArray:W,headerView:T,rawLastModDate:O}=ii({version:E,bitFlag:ai(i,o,g,p,C),compressionMethod:C,uncompressedSize:I,lastModDate:_>A?_:A>X?X:A,rawFilename:t,zip64CompressedSize:w,zip64UncompressedSize:h,extraFieldLength:G}),R=Nr(V+ri(t)+G),K=R.array,L=ni(K);return R.uint32(z),R.bytes(W),R.bytes(t),D&&R.bytes(y),R.bytes(b),R.bytes(Q),R.bytes(v),R.bytes(k),R.bytes(l),g&&(w||ei(L,18,0),h||ei(L,22,0)),{localHeaderArray:K,localHeaderView:L,headerArray:W,headerView:T,lastModDate:A,rawLastModDate:O,encrypted:p,compressed:x,version:E,compressionMethod:C,extraFieldExtendedTimestampFlag:S,rawExtraFieldZip64:new u,localExtraFieldZip64Length:U,rawExtraFieldExtendedTimestamp:Q,rawExtraFieldNTFS:v,rawExtraFieldUnix:k,rawExtraFieldAES:b,extraFieldLength:G}})(r=A.assign({},r,a.resolvedOptions,o.resolvedOptions,s.resolvedOptions,{internalFileAttribute:o.resolvedOptions.internalFileAttributes,externalFileAttribute:a.resolvedOptions.externalFileAttributes,signature:r[mn],offset:e.offset-g,diskNumberStart:c})),m=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:A})=>{let n,r=new u,i=0,a=e?20:12;return A&&(a+=4),t&&(r=new u(a),n=ni(r),A&&(i=4,ei(n,0,W))),{dataDescriptorArray:r,dataDescriptorView:n,dataDescriptorOffset:i}})(r),B=ri(f.localHeaderArray,m.dataDescriptorArray);l=await(async(e,t,n,r,a)=>{const{files:s,writer:o}=e,{keepOrder:g,dataDescriptor:c,signal:l}=a,{headerInfo:f}=r,m=e.options.usdz,B=e.lastFileEntry;let p,w,I,E,C,x,F,D={},b=0;s.set(t,D),e.lastFileEntry=D;try{let w;g&&(w=B&&B.lock,D.lock=new h(e=>I=e)),a.bufferedWrite||!g||e.writerLocked||e.bufferedWrites||!c?(p=!0,e.bufferedWrites++,F=a.createTempStream?await a.createTempStream():new y($,$,{highWaterMark:ee}),F.size=0,await TA(o)):(F=o,await v()),await TA(F);const{diskOffset:S}=o;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new u(4);ei(ni(t),0,G),await Pr(o,t),e.offset+=4}m&&!p&&Lr(r,e.offset-S);const{localHeaderArray:M}=f;p||(await w,await Q());const z=o.diskNumber,W=Jr(e,o);if(D.diskNumberStart=z,p||(C=!0,x=o.size,await Pr(F,M)),D=await(async(e,t,{diskNumberStart:n,lock:r},a,s,o)=>{const{headerInfo:g,dataDescriptorInfo:c,metadataSize:l}=a,{headerArray:u,headerView:f,lastModDate:m,rawLastModDate:B,encrypted:p,compressed:h,version:w,compressionMethod:I,rawExtraFieldZip64:E,localExtraFieldZip64Length:C,rawExtraFieldExtendedTimestamp:x,extraFieldExtendedTimestampFlag:y,rawExtraFieldNTFS:F,rawExtraFieldUnix:Y,rawExtraFieldAES:D}=g,{dataDescriptorArray:b}=c,{rawFilename:v,lastAccessDate:Q,creationDate:S,password:M,rawPassword:z,level:G,zip64:W,zip64UncompressedSize:T,zip64CompressedSize:O,zipCrypto:R,dataDescriptor:K,directory:L,executable:H,versionMadeBy:N,rawComment:J,rawExtraField:P,useWebWorkers:j,transferStreams:q,onstart:Z,onprogress:V,onend:X,signal:_,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:Ae,internalFileAttributes:ne,externalFileAttributes:re,uid:ie,gid:ae,unixMode:oe,setuid:ge,setgid:ce,sticky:le,unixExternalUpper:de,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:me,passThrough:Be}=o,pe={lock:r,versionMadeBy:N,zip64:W,directory:!!L,executable:!!H,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:J,rawExtraFieldZip64:E,localExtraFieldZip64Length:C,rawExtraFieldExtendedTimestamp:x,rawExtraFieldNTFS:F,rawExtraFieldUnix:Y,rawExtraFieldAES:D,rawExtraField:P,extendedTimestamp:te,msDosCompatible:Ae,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ge,setgid:ce,sticky:le,unixExternalUpper:de,msdosAttributesRaw:ue,msdosAttributes:fe};let{signature:he,uncompressedSize:we}=o,Ie=0;Be||(we=0);const{writable:Ee}=t;if(e){e.chunkSize=se(s);const A=e.readable,n=e.size,r={options:{codecType:yt,level:G,rawPassword:z,password:M,encryptionStrength:ee,zipCrypto:p&&R,passwordVerification:p&&R&&B>>8&U,signed:!Be,compressed:h&&!Be,encrypted:p&&!Be,useWebWorkers:j,useCompressionStream:me,transferStreams:q},config:s,streamOptions:{signal:_,size:n,onstart:Z,onprogress:V,onend:X}};try{const e=await Zt({readable:A,writable:Ee},r);if(Ie=e.outputSize,t.size+=Ie,Be||(we=e.inputSize,he=e.signature),!O&&Ie>=k||!T&&we>=k)throw new d(Sr)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:A,headerInfo:n,dataDescriptorInfo:r},{zip64:a,zipCrypto:s,dataDescriptor:o})=>{const{headerView:g,encrypted:c}=n,{dataDescriptorView:l,dataDescriptorOffset:d}=r;c&&!s||e===$||(ei(g,10,e),o&&ei(l,d,e)),a?o&&(ti(l,d+4,i(t)),ti(l,d+12,i(A))):(ei(g,14,t),ei(g,18,A),o&&(ei(l,d+4,t),ei(l,d+8,A)))})({signature:he,compressedSize:Ie,uncompressedSize:we,headerInfo:g,dataDescriptorInfo:c},o),K&&await Pr(t,b),A.assign(pe,{uncompressedSize:we,compressedSize:Ie,lastModDate:m,rawLastModDate:B,creationDate:S,lastAccessDate:Q,encrypted:p,zipCrypto:R,size:l+Ie,compressionMethod:I,version:w,headerArray:u,headerView:f,signature:he,extraFieldExtendedTimestampFlag:y,zip64UncompressedSize:T,zip64CompressedSize:O}),pe})(n,F,D,r,e.config,a),p||(C=!1),s.set(t,D),D.filename=t,p){if(await h.all([F.writable.getWriter().close(),w]),await v(),E=!0,x=o.size,await Q(),D.diskNumberStart=o.diskNumber,D.offset=Jr(e,o),m){const t=r.metadataSize;Lr(r,e.offset-o.diskOffset),D.size+=r.metadataSize-t}(({rawFilename:e,encrypted:t,zip64:A,localExtraFieldZip64Length:n,signature:r,compressedSize:a,uncompressedSize:s,zip64UncompressedSize:o,zip64CompressedSize:g},c,{dataDescriptor:l})=>{if(l||(t||ei(c,14,r),g||ei(c,18,a),o||ei(c,22,s)),A&&n){const t=V+ri(e)+4;ti(c,t,i(s)),ti(c,t+8,i(a))}})(D,f.localHeaderView,a),await Pr(o,f.localHeaderArray),await(async(e,t,A)=>{const n=t.writable.getWriter();try{await e.pipeTo(new Y({async write(e){var t;await n.ready,await n.write(e),t=ri(e),b+=t}}),{preventClose:!0,preventAbort:!0,signal:A})}finally{n.releaseLock()}})(F.readable,o,l),o.size+=F.size,E=!1}else D.diskNumberStart=z,D.offset=W;return e.offset+=D.size,D}catch(A){if(E||C){if(e.hasCorruptedEntries=!0,A)try{A.corruptedEntry=!0}catch{}e.offset+=o.size-x,p&&(e.offset+=b)}throw s.delete(t),A}finally{if(p&&e.bufferedWrites--,I&&I(),w&&w(),p&&F&&F.dispose)try{await F.dispose()}catch{}}async function v(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new h(t=>w=()=>{e.writerLocked=!1,t()}),await t}async function Q(){ri(f.localHeaderArray)>o.availableSize&&(o.availableSize=0,await Pr(o,new u))}})(e,t,n,{headerInfo:f,dataDescriptorInfo:m,metadataSize:B},r)}catch(A){throw e.files.delete(t),A}return A.assign(l,{name:t,comment:g,extraField:c}),new Cn(l)})(r,e,t,n),a.add(g),await g}catch(t){throw c&&r.filenames.delete(e),t}finally{a.delete(g);const e=Or.shift();e?e():Tr--}}remove(e){const{filenames:t,files:A}=this;if("string"==typeof e&&(e=A.get(e)),e&&e.filename!==$){const{filename:n}=e;if(t.has(n)&&A.has(n))return t.delete(n),A.delete(n),!0}return!1}async close(e=new u,A={}){const{pendingAddFileCalls:n,writer:r}=this,{writable:a}=r;if(ri(e)>M)throw new d(Cr);for(;n.size;)await h.allSettled(t.from(n));return await(async(e,A,n)=>{const r=(e=>{let t=0;for(const[,A]of e){const{rawFilename:e,rawExtraFieldAES:n,rawComment:r,rawExtraFieldNTFS:i,rawExtraFieldUnix:a,rawExtraField:s,extendedTimestamp:o,extraFieldExtendedTimestampFlag:g,lastModDate:c,zip64UncompressedSize:l,zip64CompressedSize:f,uncompressedSize:m,compressedSize:B}=A,p=A.offset>=k,h=A.diskNumberStart>=M;let w,I;if(p||h||l||f){const e=4+(l?8:0)+(f?8:0)+(p?8:0)+(h?4:0),t=Nr(e);t.uint16(1),t.uint16(e-4),l&&t.uint64(m),f&&t.uint64(B),p&&t.uint64(A.offset),h&&t.uint32(A.diskNumberStart),w=t.array}else w=new u;A.rawExtraFieldZip64=w,A.zip64Offset=p,A.zip64DiskNumberStart=h;const E=qr(c);if(o&&Zr(E)){const e=Nr(9);e.uint16(N),e.uint16(5),e.uint8(g),e.uint32(E),I=e.array}else I=new u;A.rawExtraFieldExtendedTimestamp=I;const C=ri(w,n,i,a,I,s);if(C>M)throw new d(br);t+=46+ri(e,r)+C}return t})(e.files),{cdStartDiskNumber:a,cdStartDiskOffset:s}=await(async(e,A,n)=>{const{files:r,writer:i}=e,a=new u(A);await TA(i);let s=0,o=0,g=i.diskNumber,c=i.diskOffset;for(const[e,A]of t.from(r.values()).entries()){const{offset:t,rawFilename:l,rawExtraFieldZip64:d,rawExtraFieldAES:f,rawExtraFieldExtendedTimestamp:m,rawExtraFieldNTFS:B,rawExtraFieldUnix:p,rawExtraField:h,rawComment:w,versionMadeBy:I,headerArray:E,headerView:C,zip64UncompressedSize:x,zip64CompressedSize:y,zip64DiskNumberStart:F,zip64Offset:Y,internalFileAttributes:D,externalFileAttributes:b,diskNumberStart:v,uncompressedSize:Q,compressedSize:S}=A,U=ri(d,f,m,B,p,h),z=46+ri(l,w)+U;s+z-o>i.availableSize&&(await Pr(i,a.slice(o,s)),o=s,i.availableSize=0,await Pr(i,new u)),0==e&&(g=i.diskNumber,c=i.diskOffset),x||ei(C,18,Q),y||ei(C,14,S),(Y||F)&&45>A.version&&$r(C,0,45);const G=Nr(z);if(G.uint32(T),G.uint16(I),G.bytes(E.subarray(0,24)),G.uint16(U),G.uint16(ri(w)),G.uint16(F?M:v),G.uint16(D),G.uint32(b),G.uint32(Y?k:t),G.bytes(l),G.bytes(d),G.bytes(f),G.bytes(m),G.bytes(B),G.bytes(p),G.bytes(h),G.bytes(w),Ai(a,G.array,s),s+=z,n.onprogress)try{await n.onprogress(e+1,r.size,new Cn(A))}catch{}}return await Pr(i,o?a.slice(o):a),{cdStartDiskNumber:g,cdStartDiskOffset:c}})(e,r,n);await(async(e,t,A,n)=>{const{writer:r}=e,{cdStartDiskNumber:a,cdStartDiskOffset:s}=n;let{directoryDataLength:o}=n,g=e.files.size,c=a,l=e.offset-s-(a?e.initialOffset:0),f=r.diskNumber;r.availableSize<L&&f++;let m=Xr(e,A,sn);if(!(k>l&&k>o&&M>g&&M>f)){if(!1===m)throw new d(Sr);m=!0}const B=ri(t);if(B>M)throw new d(Cr);const p=Nr(m?98:L);ri(p.array)+B>r.availableSize&&(r.availableSize=0,await Pr(r,new u)),f=r.diskNumber,m&&(p.uint32(R),p.uint64(44),p.uint16(45),p.uint16(45),p.uint32(f),p.uint32(c),p.uint64(g),p.uint64(g),p.uint64(o),p.uint64(l),p.uint32(K),p.uint32(f),p.uint64(i(e.offset)+i(o)-i(r.diskOffset)-i(r.diskNumber?e.initialOffset:0)),p.uint32(f+1),Xr(e,A,"supportZip64SplitFile",!0)&&(f=M,c=M),g=M,l=k,o=k),p.uint32(O),p.uint16(f),p.uint16(c),p.uint16(g),p.uint16(g),p.uint32(o),p.uint32(l),p.uint16(B),await Pr(r,p.array),B&&await Pr(r,t)})(e,A,n,{cdStartDiskNumber:a,cdStartDiskOffset:s,directoryDataLength:r})})(this,e,A),Xr(this,A,Sn)||await a.getWriter().close(),r.getData?r.getData():a}}function Kr(e,t,A){e.pendingAddFileCalls.add(t),t.catch(e=>{try{A(e)}catch{}})}function Lr(e,t){const{headerInfo:A}=e;let n,{localHeaderArray:r,extraFieldLength:i}=A,a=64-(t+ri(r))%64;4>a&&(a+=64);const s=new u(a),o=ni(s);$r(o,0,6534),$r(o,2,a-4);const g=r;A.localHeaderArray=r=new u(ri(g)+a),Ai(r,g),Ai(r,s,ri(g)),n=ni(r),$r(n,28,i+a),A.localHeaderView=n,e.metadataSize+=a}function Hr(e){if(e===$)return new u;{const t=new u(4);ni(t).setUint32(0,e,!0);let A=4;for(;A>1&&0===t[A-1];)A--;return t.subarray(0,A)}}function Nr(e){const t=new u(e),A=ni(t);let n=0;return{array:t,uint8:e=>{((e,t,A)=>{e.setUint8(t,A)})(A,n,e),n+=1},uint16:e=>{$r(A,n,e),n+=2},uint32:e=>{ei(A,n,e),n+=4},uint64:e=>{ti(A,n,i(e)),n+=8},bytes:e=>{Ai(t,e,n),n+=ri(e)},skip:e=>n+=e}}function Jr(e,t){return e.offset-t.diskOffset-(t.diskNumber?e.initialOffset:0)}async function Pr(e,t){const{writable:A}=e,n=A.getWriter();try{await n.ready,e.size+=ri(t),await n.write(t)}finally{n.releaseLock()}}function jr(e){if(e)return(i(e.getTime())+i(116444736e5))*i(1e4)}function qr(e){return a.floor(e.getTime()/1e3)}function Zr(e){return e>=vr&&Qr>=e}function Vr(e){return a.min(Qr,a.max(vr,e))}function Xr(e,t,A,n){const r=t[A]===$?e.options[A]:t[A];return r===$?n:r}function _r(e){return e+5*(a.floor(e/16383)+1)}function $r(e,t,A){e.setUint16(t,A,!0)}function ei(e,t,A){e.setUint32(t,A,!0)}function ti(e,t,A){e.setBigUint64(t,A,!0)}function Ai(e,t,A){e.set(t,A)}function ni(e){return new B(e.buffer,e.byteOffset,e.byteLength)}function ri(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ii({version:e,bitFlag:t,compressionMethod:A,uncompressedSize:n,compressedSize:r,lastModDate:i,rawLastModDate:a,rawFilename:s,zip64CompressedSize:o,zip64UncompressedSize:g,extraFieldLength:c}){const l=Nr(26),d=l.array,u=ni(d);if(l.uint16(e),l.uint16(t),l.uint16(A),a===$){const e=new m(1),t=ni(e);$r(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),$r(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return l.uint32(a),l.skip(4),o||r!==$?l.uint32(o?k:r):l.skip(4),g||n!==$?l.uint32(g?k:n):l.skip(4),l.uint16(ri(s)),l.uint16(c),{headerArray:d,headerView:u,rawLastModDate:a}}function ai(e,t,A,n,r){let i=0;return t&&(i|=J),A&&(i|=8),8!=r&&9!=r||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const si=1048576,oi=".zip.js-temp";try{oe({baseURI:void 0===E&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===E?location.href:S&&"SCRIPT"===S.tagName.toUpperCase()&&S.src||new l("zip-fs-native.min.js",E.baseURI).href})}catch{}var{Uint8Array:gi,Uint16Array:ci,Int32Array:li,TransformStream:di,Math:ui,Error:fi,Array:mi}=globalThis,Bi=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],pi=new gi(0),hi=new ci(0),wi=[];for(let e=0;6>e;e++)wi.push(e,0==e?8:4);wi.push(0,1);var Ii=[];for(let e=0;14>e;e++)Ii.push(e,0==e?4:2);var Ei=new ci([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Ci=new ci([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function xi(e,t,A,n,r){if(0==r)return;let i=e instanceof gi?e:new gi(e.buffer,e.byteOffset,e.byteLength),a=A instanceof gi?A.subarray(n,n+r):new gi(A.buffer,A.byteOffset+n,r);i.set(a,t)}function yi(e,t,A){0!=A&&(e instanceof gi?e:new gi(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+A)}function Fi(){return{next_in:pi,next_in_index:0,avail_in:0,total_in:0,next_out:pi,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Yi(e,t){let A=1<<t;return{o:e,u:new gi(A),h:A,k:t,v:0,m:0,p:0,L:0}}function Di(e){let t=[];for(let A=0;A<e.length;A+=2){let n=e[A],r=e[A+1];for(let e=0;r>e;e++)t.push(n)}return new ci(t)}var bi=class{constructor(e,t){this.M=e,this.Z=t,this.N=0}},vi=class{constructor(e,t,A,n,r){this.W=e,this.j=t,this.D=A,this.S=n,this.$=r}};function Qi(e){return na[-6>e||e>2?9:2-e]||""}function Si(e,t){try{e.msg=Qi(t)}catch(A){e.msg="zlib error "+n(t)+" ("+A+")"}return t}function ki(e,t){let A=e>>>0,n=0;for(let e=0;t>e;e++)n=n<<1|1&A,A>>>=1;return n}function Mi(e,t){e.q[e.T++]=t}function Ui(e,t){Mi(e,255&t),Mi(e,t>>>8&255)}function zi(e,t,A){let n=255&A,r=65535&t,i=e.A+e.I;return e.q[i]=255&r,e.q[i+1]=r>>>8&255,e.q[i+2]=n,e.I+=3,r=r-1&65535,e.B[la[n]+Zi+1].U++,e.C[Ti(r)].U++,e.I==e.X}function Gi(e,t){let A=255&t,n=e.A+e.I;return e.q[n]=0,e.q[n+1]=0,e.q[n+2]=A,e.I+=3,e.B[A].U++,e.I==e.X}function Wi(e){return e.h-ji}function Ti(e){return 256>e?da[e]:da[256+(e>>7)]}function Oi(e){let t=Ni+7,A=1<<t,n=(1<<t)-1,r=ui.floor((t+Ji-1)/Ji),i=1<<8+Ni;return{...Yi(e,15),o:e,F:42,H:0,Y:void 0,O:32767,P:t,R:A,J:n,K:r,V:new ci(32768),G:new ci(A),ee:i,q:new gi(32768),te:0,ne:32768,T:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,ve:0,me:0,xe:0,ye:0,pe:new li(2*Vi+1),Le:new gi(2*Vi+1),Me:new ci(ea+1),I:0,X:0,Ee:pi,A:0,ze:0,Ze:0,Ne:8,We:32768,je:0,Qe:0,De:0,B:new mi($i).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),C:new mi(2*Xi+1).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),Se:new mi(2*_i+1).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),$e:Li(),qe:Li(),Te:Li()}}function Ri(e){let t=[];for(let A=0;A<e.length;A+=2){let n=e[A],r=e[A+1],i=Ki();i.Ae=n,i.Ie=r,t.push(i)}return t}function Ki(){return{U:0,Ae:0,Ue:0,Ie:0}}function Li(){return new bi([],new vi(null,pi,0,0,0))}function Hi(e){let{code:t,length:A}=(e=>{let t=ui.max(...e),A=new mi(t+1).fill(0);for(let t of e)t>0&&A[t]++;let n=new mi(e.length).fill(0),r=new mi(t+1).fill(0),i=0;for(let e=1;t>=e;e++)i=i+A[e-1]<<1,r[e]=i;for(let t=0;t<e.length;t++){let A=e[t];0!=A&&(n[t]=r[A]++)}return{code:n,length:e}})(e),n=new ci(2*e.length),r=0;for(let i=0;i<e.length;i++){let e=A[i]||0,a=t[i]||0;n[r++]=e?ki(a,e):0,n[r++]=e}return new ci(n)}var Ni=8,Ji=3,Pi=258,ji=Pi+Ji+1,qi=Pi,Zi=256,Vi=Zi+1+29,Xi=30,_i=19,$i=2*Vi+1,ea=15,ta=256,Aa=-1,na=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],ra=Di(wi),ia=Di(Ii),aa=new ci(19);aa[16]=2,aa[17]=3,aa[18]=7;var sa=Hi((()=>{let e=new mi(288).fill(0);for(let t=0;143>=t;t++)e[t]=8;for(let t=144;255>=t;t++)e[t]=9;for(let t=256;279>=t;t++)e[t]=7;for(let t=280;287>=t;t++)e[t]=8;return e})()),oa=Hi(new mi(30).fill(5)),ga=Ri(sa),ca=Ri(oa),la=((e,t)=>{let A=0;for(let n=0;n<e.length;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>A&&(A=i)}258>A&&(A=258);let n=new gi(A+1);for(let r=0;A>=r;r++)for(let A=0;A<e.length;A++){let i=t[A]?1<<t[A]:1,a=e[A];if(r>=a&&a+i-1>=r){n[r]=A;break}}return n})(Ci,ra),da=(e=>{let t=new gi(512),A=e.length-1;for(let n=0;256>n;n++)t[n]=n>A?e[A]:e[n];for(let n=256;A>=n;n++){let A=n>>7;t[256+(A>255?255:A)]=e[n]}for(let e=257;512>e;e++)0==t[e]&&(t[e]=t[e-1]);return t})(((e,t)=>{let A=0;for(let n=0;n<e.length;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>A&&(A=i)}let n=new gi(A+1);for(let r=0;A>=r;r++)for(let A=0;A<e.length;A++){let i=t[A]?1<<t[A]:1,a=e[A];if(r>=a&&a+i-1>=r){n[r]=A;break}}return n})(Ei,ia));function ua(e){return e%65521>>>0}function fa(e,t,A){if(void 0===t||void 0===A)return 1;let n=e>>>16&65535;if(e&=65535,1==A)return(e+=t[0])>=65521&&(e-=65521),n+=e,n>=65521&&(n-=65521),(n<<16|e)>>>0;if(16>A){for(let r=0;A>r;r++)n+=e+=t[r];return e>=65521&&(e-=65521),n=ua(n),(n<<16|e)>>>0}for(;A>=5552;){A-=5552;let r=ui.floor(347);do{for(let A=0;16>A;A++)n+=e+=t[A];t=t.subarray(16)}while(--r);e=ua(e),n=ua(n)}if(A){for(;A>=16;){A-=16;for(let A=0;16>A;A++)n+=e+=t[A];t=t.subarray(16)}for(let r=0;A>r;r++)n+=e+=t[r];e=ua(e),n=ua(n)}return(n<<16|e)>>>0}var ma=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?3988292384^t>>>1:t>>>1;ma[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){let A=ma[t-1][e];ma[t][e]=A>>>8^ma[0][255&A]}var[Ba,pa,ha,wa,Ia,Ea,Ca,xa]=ma;function ya(e=0,t,A){if(!t)return 0;void 0===A&&(A=t.length);let n=0|~e,r=0;if((A=ui.min(A,t.length))>=8){let e=new B(t.buffer,t.byteOffset,A),i=A-8;for(;i>=r;r+=8){let t=n^e.getInt32(r,!0),A=e.getInt32(r+4,!0);n=xa[255&t]^Ca[t>>>8&255]^Ea[t>>>16&255]^Ia[t>>>24&255]^wa[255&A]^ha[A>>>8&255]^pa[A>>>16&255]^Ba[A>>>24&255]}}for(;A>r;r++)n=n>>>8^Ba[255&(n^t[r])];return(4294967295^n)>>>0}function Fa(e){16==e.L?(Ui(e,e.p),e.p=0,e.L=0):e.L>=8&&(Mi(e,e.p),e.p>>=8,e.L-=8)}function Ya(e){e.L>8?Ui(e,e.p):e.L>0&&Mi(e,e.p),e.ze=1+(e.L-1&7),e.p=0,e.L=0}function Da(e,t,A){e.L>16-A?(e.p=65535&(e.p|t<<e.L),Ui(e,e.p),e.p=t>>16-e.L&65535,e.L+=A-16):(e.p=65535&(e.p|t<<e.L),e.L+=A)}function ba(e){for(let t=0;t<e.B.length;t++)e.B[t].U=0;for(let t=0;t<e.C.length;t++)e.C[t].U=0;for(let t=0;t<e.Se.length;t++)e.Se[t].U=0;e.B[ta].U=1,e.ie=e.fe=0,e.I=e._e=0}function va(e,t,A){return A=e.pe[1],e.pe[1]=e.pe[e.Qe--],Sa(e,t,1),A}function Qa(e,t,A,n){return e[t].U<e[A].U||e[t].U==e[A].U&&n[t]<=n[A]}function Sa(e,t,A){let n=e.pe[A],r=A<<1;for(;r<=e.Qe&&(r<e.Qe&&Qa(t,e.pe[r+1],e.pe[r],e.Le)&&r++,!Qa(t,n,e.pe[r],e.Le));)e.pe[A]=e.pe[r],A=r,r<<=1;e.pe[A]=n}function ka(e,t){let A,n,r,i=t.M,a=t.Z.W,s=t.Z.S,o=-1;for(e.Qe=0,e.De=$i,A=0;s>A;A++)0!=i[A].U?(e.pe[++e.Qe]=o=A,e.Le[A]=0):i[A].Ie=0;for(;2>e.Qe;)r=e.pe[++e.Qe]=2>o?++o:0,i[r].U=1,e.Le[r]=0,e.ie--,a&&(e.fe-=a[r].Ie);for(t.N=o,A=ui.floor(e.Qe/2);A>=1;A--)Sa(e,i,A);r=s;do{A=va(e,i,A),n=e.pe[1],e.pe[--e.De]=A,e.pe[--e.De]=n,i[r].U=i[A].U+i[n].U,e.Le[r]=(e.Le[A]<e.Le[n]?e.Le[n]:e.Le[A])+1,i[A].Ue=i[n].Ue=r,e.pe[1]=r++,Sa(e,i,1)}while(e.Qe>=2);e.pe[--e.De]=e.pe[1],((e,t)=>{let A,n,r,i,a,s,o=t.M,g=t.N,c=t.Z.W,l=t.Z.j,d=t.Z.D,u=t.Z.$,f=0;for(i=0;ea>=i;i++)e.Me[i]=0;for(o[e.pe[e.De]].Ie=0,A=e.De+1;$i>A;A++)n=e.pe[A],i=o[o[n].Ue].Ie+1,i>u&&(i=u,f++),o[n].Ie=i,g>=n&&(e.Me[i]++,a=0,n>=d&&(a=l[n-d]),s=o[n].U,e.ie+=s*(i+a),c&&(e.fe+=s*(c[n].Ie+a)));if(0!=f){do{for(i=u-1;0==e.Me[i];)i--;e.Me[i]--,e.Me[i+1]+=2,e.Me[u]--,f-=2}while(f>0);for(i=u;0!=i;i--)for(n=e.Me[i];0!=n;)r=e.pe[--A],g>=r&&(o[r].Ie!=i&&(e.ie+=(i-o[r].Ie)*o[r].U,o[r].Ie=i),n--)}})(e,t),((e,t,A)=>{let n,r,i=[],a=0;for(n=1;ea>=n;n++)a=a+A[n-1]<<1,i[n]=a;for(r=0;t>=r;r++){let t=e[r].Ie;0!=t&&(e[r].Ae=ki(i[t]++,t))}})(i,t.N,e.Me)}function Ma(e,t,A){let n,r,i=-1,a=t[0].Ie,s=0,o=7,g=4;for(0==a&&(o=138,g=3),t[A+1].Ie=65535,n=0;A>=n;n++)r=a,a=t[n+1].Ie,(++s>=o||r!=a)&&(g>s?e.Se[r].U+=s:0!=r?(r!=i&&e.Se[r].U++,e.Se[16].U++):s>10?e.Se[18].U++:e.Se[17].U++,s=0,i=r,0==a?(o=138,g=3):r==a?(o=6,g=3):(o=7,g=4))}function Ua(e,t,A){let n,r=-1,i=t[0].Ie,a=0,s=7,o=4;0==i&&(s=138,o=3);for(let g=0;A>=g;g++)if(n=i,i=t[g+1].Ie,++a>=s||n!=i){if(o>a)do{Da(e,e.Se[n].Ae,e.Se[n].Ie)}while(0!=--a);else 0!=n?(n!=r&&(Da(e,e.Se[n].Ae,e.Se[n].Ie),a--),Da(e,e.Se[16].Ae,e.Se[16].Ie),Da(e,a-3,2)):a>10?(Da(e,e.Se[18].Ae,e.Se[18].Ie),Da(e,a-11,7)):(Da(e,e.Se[17].Ae,e.Se[17].Ie),Da(e,a-3,3));a=0,r=n,0==i?(s=138,o=3):n==i?(s=6,o=3):(s=7,o=4)}}function za(e,t,A,n,r=0){Da(e,0+n,3),Ya(e),Ui(e,A),Ui(e,~A),A&&t&&xi(e.q,e.T,t,r,A),e.T+=A}function Ga(e,t,A){let n,r,i,a,s=0;if(0!=e.I)do{n=255&e.Ee[s],n+=(255&e.Ee[s+1])<<8,r=e.Ee[s+2],s+=3,0==n?Da(e,t[r].Ae,t[r].Ie):(i=la[r],Da(e,t[i+Zi+1].Ae,t[i+Zi+1].Ie),a=ra[i],0!=a&&(r-=Ci[i],Da(e,r,a)),n--,i=Ti(n),Da(e,A[i].Ae,A[i].Ie),a=ia[i],0!=a&&(n-=Ei[i],Da(e,n,a)))}while(s<e.I);Da(e,t[ta].Ae,t[ta].Ie)}var Wa=[{Be:As,Ce:0,Xe:0,Fe:0,He:0},{Be:ns,Ce:4,Xe:4,Fe:8,He:4},{Be:ns,Ce:5,Xe:5,Fe:16,He:8},{Be:ns,Ce:6,Xe:16,Fe:32,He:32},{Be:rs,Ce:4,Xe:4,Fe:16,He:16},{Be:rs,Ce:16,Xe:8,Fe:16,He:32},{Be:rs,Ce:16,Xe:16,Fe:32,He:128},{Be:rs,Ce:32,Xe:32,Fe:128,He:256},{Be:rs,Ce:128,Xe:128,Fe:256,He:1024},{Be:rs,Ce:258,Xe:258,Fe:258,He:4096}];function Ta(e){return 2*e-(e>4?9:0)}function Oa(e,t,A){return((t<<e.K^A)&e.J)>>>0}function Ra(e,t){e.ke=Oa(e,e.ke,e.u[t+(Ji-1)]);let A=e.V[t&e.O]=e.G[e.ke];return e.G[e.ke]=t,A}function Ka(e){e.G[e.R-1]=0,yi(e.G,0,(e.R-1)*e.G.BYTES_PER_ELEMENT)}function La(e){let t,A,n=e.h;for(t=e.R;t>0;)t--,A=e.G[t],e.G[t]=n>A?0:A-n;for(t=n;t>0;)t--,A=e.V[t],e.V[t]=n>A?0:A-n}function Ha(e,t,A,n){let r=e.avail_in;return r>n&&(r=n),0==r?0:(e.avail_in-=r,xi(t,A,e.next_in,e.next_in_index,r),1==e.l.H?e.i=fa(e.i,new gi(t.buffer,t.byteOffset+A,r),r):2==e.l.H&&(e.i=ya(e.i,new gi(t.buffer,t.byteOffset+A,r),r)),e.next_in_index+=r,e.total_in+=r,r)}function Na(e){let t,A,n=e.h;do{if(A=e.We-e.ce-e.ae,0==A&&0==e.ae&&0==e.ce?A=n:-1==A&&A--,e.ae>=n+Wi(e)&&(xi(e.u,0,e.u,n,n-A),e.je-=n,e.ae-=n,e.ue-=n,e.le>e.ae&&(e.le=e.ae),La(e),A+=n),0==e.o.avail_in)break;if(t=Ha(e.o,e.u,e.ae+e.ce,A),e.ce+=t,e.ce+e.le>=Ji){let t=e.ae-e.le;for(e.ke=e.u[t],e.ke=Oa(e,e.ke,e.u[t+1]);e.le&&(e.ke=Oa(e,e.ke,e.u[t+Ji-1]),e.V[t&e.O]=e.G[e.ke],e.G[e.ke]=t,t++,e.le--,e.ce+e.le>=Ji););}}while(e.ce<ji&&0!=e.o.avail_in);if(e.v<e.We){let t,A=e.ae+e.ce;e.v<A?(t=e.We-A,t>qi&&(t=qi),yi(e.u,A,t),e.v=A+t):e.v<A+qi&&(t=A+qi-e.v,t>e.We-e.v&&(t=e.We-e.v),yi(e.u,e.v,t),e.v+=t)}}function Ja(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.F&&57!=t.F&&69!=t.F&&73!=t.F&&91!=t.F&&103!=t.F&&113!=t.F&&666!=t.F}function Pa(e,t){Mi(e,t>>8),Mi(e,255&t)}function ja(e){let t,A=e.l;(e=>{Fa(e)})(A),t=A.T,t>e.avail_out&&(t=e.avail_out),0!=t&&(xi(e.next_out,e.next_out_index,A.q,A.re,t),e.next_out_index+=t,A.re+=t,e.total_out+=t,e.avail_out-=t,A.T-=t,0==A.T&&(A.re=A.te))}function qa(e,t){let A=e.l;A.Y&&A.Y.Ye&&(e.i=ya(e.i,new gi(A.q.buffer,A.te+t,A.T-t),A.T-t))}function Za(e,t){let A,n=e.l;if(Ja(e)||t>5||0>t)return Si(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==n.F&&4!=t)return Si(e,-2);if(0==e.avail_out)return Si(e,-5);if(A=n.oe,n.oe=t,0!=n.T){if(ja(e),0==e.avail_out)return n.oe=Aa,0}else if(0==e.avail_in&&Ta(t)<=Ta(A)&&4!=t)return Si(e,-5);if(666==n.F&&0!=e.avail_in)return Si(e,-5);if(42==n.F&&0==n.H&&(n.F=113),42==n.F){let t,A=8+(n.k-8<<4)<<8;if(t=n.ge>=2||2>n.be?0:6>n.be?1:6==n.be?2:3,A|=t<<6,0!=n.ae&&(A|=32),A+=31-A%31,Pa(n,A),0!=n.ae&&(Pa(n,e.i>>16),Pa(n,65535&e.i)),e.i=1,n.F=113,ja(e),0!=n.T)return n.oe=Aa,0}if(57==n.F)if(e.i=ya(0),Mi(n,31),Mi(n,139),Mi(n,8),n.Y)Mi(n,(n.Y.Oe?1:0)+(n.Y.Ye?2:0)+(null==n.Y.Pe?0:4)+(null==n.Y.Re?0:8)+(null==n.Y.Je?0:16)),Mi(n,255&n.Y.Ke),Mi(n,n.Y.Ke>>>8&255),Mi(n,n.Y.Ke>>>16&255),Mi(n,n.Y.Ke>>>24&255),Mi(n,9==n.be?2:n.ge>=2||2>n.be?4:0),Mi(n,255&n.Y.Ve),null!=n.Y.Pe&&(Mi(n,255&n.Y.Ge),Mi(n,n.Y.Ge>>>8&255)),n.Y.Ye&&(e.i=ya(e.i,n.q,n.T)),n.Ze=0,n.F=69;else if(Mi(n,0),Mi(n,0),Mi(n,0),Mi(n,0),Mi(n,0),Mi(n,9==n.be?2:n.ge>=2||2>n.be?4:0),Mi(n,255),n.F=113,ja(e),0!=n.T)return n.oe=Aa,0;if(69==n.F){if(n.Y&&null!=n.Y.Pe){let t=n.T,A=(65535&n.Y.Ge)-n.Ze;for(;n.T+A>n.ne;){let r=n.ne-n.T;if(xi(n.q,n.T,n.Y.Pe,n.Ze,r),n.T=n.ne,qa(e,t),n.Ze+=r,ja(e),0!=n.T)return n.oe=Aa,0;t=0,A-=r}xi(n.q,n.T,n.Y.Pe,n.Ze,A),n.T+=A,qa(e,t),n.Ze=0}n.F=73}if(73==n.F){if(n.Y&&n.Y.Re&&n.Y.Re.length){let t,A=n.T;do{if(n.T==n.ne){if(qa(e,A),ja(e),0!=n.T)return n.oe=Aa,0;A=0}t=n.Y.Re[n.Ze++],Mi(n,t)}while(0!=t);qa(e,A),n.Ze=0}n.F=91}if(91==n.F){if(n.Y&&n.Y.Je&&n.Y.Je.length){let t,A=n.T;do{if(n.T==n.ne){if(qa(e,A),ja(e),0!=n.T)return n.oe=Aa,0;A=0}t=n.Y.Je[n.Ze++],Mi(n,t)}while(0!=t);qa(e,A)}n.F=103}if(103==n.F){if(n.Y&&n.Y.Ye){if(n.T+2>n.ne&&(ja(e),0!=n.T))return n.oe=Aa,0;Mi(n,255&e.i),Mi(n,e.i>>>8&255),e.i=ya(0)}if(n.F=113,ja(e),0!=n.T)return n.oe=Aa,0}if(0!=e.avail_in||0!=n.ce||0!=t&&666!=n.F){let A=0==n.be?As(n,t):2==n.ge?((e,t)=>{let A=!1;for(;;){if(0==e.ce&&(Na(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,A=Gi(e,e.u[e.ae]),e.ce--,e.ae++,A){let t=$a(e,!1);if(null!=t)return t}}if(e.le=0,4==t)return $a(e,!0)??3;if(e.I){let t=$a(e,!1);if(null!=t)return t}return 1})(n,t):3==n.ge?((e,t)=>{let A,n,r,i;for(;;){if(e.ce<=Pi){if(Na(e),e.ce<=Pi&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=Ji&&e.ae>0&&(r=e.ae-1,n=e.u[r],n==++r&&n==++r&&n==++r)){i=e.ae+Pi;do{}while(n==++r&&n==++r&&n==++r&&n==++r&&n==++r&&n==++r&&n==++r&&n==++r&&i>r);e.se=Pi-(i-r),e.se>e.ce&&(e.se=e.ce)}if(e.se<Ji?(A=Gi(e,e.u[e.ae]),e.ce--,e.ae++):(e.ae,e.ae,e.se,A=zi(e,1,e.se-Ji),e.ce-=e.se,e.ae+=e.se,e.se=0),A){let t=$a(e,!1);if(null!=t)return t}}if(e.le=0,4==t)return $a(e,!0)??3;if(e.I){let t=$a(e,!1);if(null!=t)return t}return 1})(n,t):Wa[n.be].Be(n,t);if((2==A||3==A)&&(n.F=666),0==A||2==A)return 0==e.avail_out&&(n.oe=Aa),0;if(1==A&&(1==t?(e=>{Da(e,2,3),Da(e,ga[ta].Ae,ga[ta].Ie),Fa(e)})(n):5!=t&&(za(n,null,0,0),3==t&&(Ka(n),0==n.ce&&(n.ae=0,n.ue=0,n.le=0))),ja(e),0==e.avail_out))return n.oe=Aa,0}return 4!=t?0:n.H>0?(2==n.H?(Mi(n,255&e.i),Mi(n,e.i>>>8&255),Mi(n,e.i>>>16&255),Mi(n,e.i>>>24&255),Mi(n,255&e.total_in),Mi(n,e.total_in>>>8&255),Mi(n,e.total_in>>>16&255),Mi(n,e.total_in>>>24&255)):(Pa(n,e.i>>>16&65535),Pa(n,65535&e.i)),ja(e),n.H>0&&(n.H=-n.H),0!=n.T?0:1):1}function Va(e){if(Ja(e))return-2;let t=e.l,A=t.F;return t.u=pi,t.V=hi,t.G=hi,t.q=pi,t.Ee=pi,t.pe=new li(0),t.Le=pi,t.Me=hi,t.B.length=0,t.C.length=0,t.Se.length=0,t.Y=void 0,t.te=0,t.re=0,t.A=0,113==A?-3:0}function Xa(e,t){let A,n,r=e.xe,i=e.ae,a=e.de,s=e.me,o=e.ae>Wi(e)?e.ae-Wi(e):0,g=e.V,c=e.O,l=e.u[i],d=e.u[i+1],u=e.u[i+a-1],f=e.u[i+a];e.de>=e.ve&&(r>>=2),s>e.ce&&(s=e.ce);do{if(A=t,e.u[A+a]!=f||e.u[A+a-1]!=u||e.u[A]!=l||e.u[A+1]!=d)continue;let r=ui.min(Pi,e.ce),o=2;for(;r>o&&e.u[i+o]==e.u[A+o];)o++;if(n=o,n>a){if(e.je=t,a=n,n>=s)break;u=e.u[i+a-1],f=e.u[i+a]}}while((t=g[t&c])>o&&0!=--r);return a>e.ce?e.ce:a}function _a(e,t){((e,t,A,n,r=0)=>{let i,a,s=0;e.be>0?(2==e.o.t&&(e.o.t=(e=>{let t,A=4093624447;for(t=0;31>=t;t++,A>>=1)if(1&A&&0!=e.B[t].U)return 0;if(0!=e.B[9].U||0!=e.B[10].U||0!=e.B[13].U)return 1;for(t=32;Zi>t;t++)if(0!=e.B[t].U)return 1;return 0})(e)),ka(e,e.$e),ka(e,e.qe),s=(e=>{let t;for(Ma(e,e.B,e.$e.N),Ma(e,e.C,e.qe.N),ka(e,e.Te),t=_i-1;t>=3&&0==e.Se[Bi[t]].Ie;t--);return e.ie+=3*(t+1)+5+5+4,t})(e),i=e.ie+3+7>>3,a=e.fe+3+7>>3,(i>=a||4==e.ge)&&(i=a)):i=a=A+5,i>=A+4&&t?za(e,t,A,n,r):a==i?(Da(e,2+n,3),Ga(e,ga,ca)):(Da(e,4+n,3),((e,t,A,n)=>{let r;for(Da(e,t-257,5),Da(e,A-1,5),Da(e,n-4,4),r=0;n>r;r++)Da(e,e.Se[Bi[r]].Ie,3);Ua(e,e.B,t-1),Ua(e,e.C,A-1)})(e,e.$e.N+1,e.qe.N+1,s+1),Ga(e,e.B,e.C)),ba(e),n&&Ya(e)})(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,ja(e.o)}function $a(e,t){return _a(e,t?1:0),0==e.o.avail_out?t?2:0:null}var es=65535;function ts(e,t){return t>e?e:t}function As(e,t){let A,n,r,i=ts(e.ne-5,e.h),a=0,s=e.o.avail_in;do{if(A=es,r=e.L+42>>3,e.o.avail_out<r||(r=e.o.avail_out-r,n=e.ae-e.ue,A>n+e.o.avail_in&&(A=n+e.o.avail_in),A>r&&(A=r),i>A&&(0==A&&4!=t||0==t||A!=n+e.o.avail_in)))break;a=4==t&&A==n+e.o.avail_in?1:0,za(e,null,0,a),e.q[e.T-4]=A,e.q[e.T-3]=A>>8,e.q[e.T-2]=~A,e.q[e.T-1]=~A>>8,ja(e.o),n&&(n>A&&(n=A),xi(e.o.next_out,e.o.next_out_index,e.u,e.ue,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n,e.ue+=n,A-=n),A&&(Ha(e.o,e.o.next_out,e.o.next_out_index,A),e.o.next_out_index+=A,e.o.avail_out-=A,e.o.total_out+=A)}while(0==a);if(s-=e.o.avail_in,s){if(s<e.h)e.We-e.ae<=s&&(e.ae-=e.h,xi(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,e.le>e.ae&&(e.le=e.ae)),xi(e.u,e.ae,e.o.next_in,e.o.next_in_index-s,s),e.ae+=s,e.le+=ts(s,e.h-e.le);else{e._e=2;let t=e.o.next_in_index-e.h;xi(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae}e.ue=e.ae}return e.v<e.ae&&(e.v=e.ae),a?(e.ze=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(r=e.We-e.ae,e.o.avail_in>r&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,xi(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,r+=e.h,e.le>e.ae&&(e.le=e.ae)),r>e.o.avail_in&&(r=e.o.avail_in),r&&(Ha(e.o,e.u,e.ae,r),e.ae+=r,e.le+=ts(r,e.h-e.le)),e.v<e.ae&&(e.v=e.ae),r=e.L+42>>3,r=ts(e.ne-r,es),i=ts(r,e.h),n=e.ae-e.ue,(n>=i||(n||4==t)&&0!=t&&0==e.o.avail_in&&r>=n)&&(A=ts(n,r),a=4==t&&0==e.o.avail_in&&A==n?1:0,za(e,e.u,A,a,e.ue),e.ue+=A,ja(e.o)),a&&(e.ze=8),a?2:0)}function ns(e,t){let A,n=!1;for(;;){if(e.ce<ji){if(Na(e),e.ce<ji&&0==t)return 0;if(0==e.ce)break}if(A=0,e.ce>=Ji&&(A=Ra(e,e.ae)),0!=A&&e.ae-A<=Wi(e)&&(e.se=Xa(e,A)),e.se<Ji)n=Gi(e,e.u[e.ae]),e.ce--,e.ae++;else if(e.ae,e.je,e.se,n=zi(e,e.ae-e.je,e.se-Ji),e.ce-=e.se,e.se>e.ye||e.ce<Ji)e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=Oa(e,e.ke,e.u[e.ae+1]);else{e.se--;do{e.ae++,A=Ra(e,e.ae)}while(0!=--e.se);e.ae++}if(n){let t=$a(e,!1);if(null!=t)return t}}if(e.le=e.ae<Ji-1?e.ae:Ji-1,4==t)return $a(e,!0)??3;if(e.I){let t=$a(e,!1);if(null!=t)return t}return 1}function rs(e,t){let A,n=!1;for(;;){if(e.ce<ji){if(Na(e),e.ce<ji&&0==t)return 0;if(0==e.ce)break}if(A=0,e.ce>=Ji&&(A=Ra(e,e.ae)),e.de=e.se,e.he=e.je,e.se=Ji-1,0!=A&&e.de<e.ye&&e.ae-A<=Wi(e)&&(e.se=Xa(e,A),5>=e.se&&1==e.ge&&(e.se=Ji-1)),e.de<Ji||e.se>e.de)if(e.we){if(n=Gi(e,e.u[e.ae-1]),n&&_a(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;else{let t=e.ae+e.ce-Ji;e.ae,e.he,e.de,n=zi(e,e.ae-1-e.he,e.de-Ji),e.ce-=e.de-1,e.de-=2;do{++e.ae<=t&&(A=Ra(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=Ji-1,e.ae++,n){let t=$a(e,!1);if(null!=t)return t}}}if(e.we&&(n=Gi(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<Ji-1?e.ae:Ji-1,4==t)return $a(e,!0)??3;if(e.I){let t=$a(e,!1);if(null!=t)return t}return 1}var is=852,as=Ei.map(e=>e+1),ss=Ci.subarray(0,-1).map(e=>e+3),os=Ii.map(Is),gs=Ii.map(Es);os.push(64,2),gs.push(142,2);var cs=wi.slice(0,-2).map(Is),ls=wi.slice(0,-2).map(Es);cs.push(16,1,73,1,200,1),ls.push(144,1,72,1,78,1);var ds=new ci([...ss,258,0,0]),us=new ci([...ss,3,0,0]),fs=Di(cs),ms=Di(ls),Bs=new ci([...as,0,0]),ps=new ci([...as,32769,49153]),hs=Di(os),ws=Di(gs);function Is(e,t){return t%2?e:e+16}function Es(e,t){return t%2?e:e+128}function Cs(e,t){let A,n=e.l,r=e.next_in_index,i=e.next_out_index,a=e.next_in,s=e.next_out,o=n.u,g=n.p>>>0,c=n.L>>>0,l=n.et,d=n.tt,u=(1<<n.nt)-1,f=(1<<n.rt)-1,m=n.h>>>0,B=n.v>>>0,p=n.m>>>0,h=n.it,w=i-(t-e.avail_out),I=i+(e.avail_out-257),E=r+(e.avail_in-5),C=0,x=0,y=0,F=0;e:do{for(;15>c;){if(r>=a.length)break e;g+=a[r++]<<c,c+=8}for(A=l[g&u];;){if(y=A.ft,g>>>=y,c-=y,y=A._t,0==y){s[i++]=A.lt;break}if(16&y){if(C=A.lt,y&=15,y){for(;y>c;){if(r>=a.length){n.ot=16200;break e}g+=a[r++]<<c,c+=8}C+=g&(1<<y)-1,g>>>=y,c-=y}for(;15>c;){if(r>=a.length){n.ot=16200;break e}g+=a[r++]<<c,c+=8}for(A=d[g&f];;){if(y=A.ft,g>>>=y,c-=y,y=A._t,16&y){if(x=A.lt,y&=15,y){for(;y>c;){if(r>=a.length){n.ot=16200;break e}g+=a[r++]<<c,c+=8}x+=g&(1<<y)-1,g>>>=y,c-=y}let t=C,l=i-w;if(x>l){let A=x-l;if(A>B&&h){e.msg="invalid distance too far back",n.ot=16209;break e}if(0==p){if(F=m-A,A>=t){for(let e=0;t>e;++e)s[i++]=o[F++];continue e}for(let e=0;A>e;++e)s[i++]=o[F++];t-=A,F=i-x}else if(A>p){F=m+p-A;let e=A-p;if(e>=t){for(let e=0;t>e;++e)s[i++]=o[F++];continue e}for(let t=0;e>t;++t)s[i++]=o[F++];if(t-=e,F=0,t>p){for(let e=0;p>e;++e)s[i++]=o[F++];t-=p,F=i-x}}else{if(F=p-A,A>=t){for(let e=0;t>e;++e)s[i++]=o[F++];continue e}for(let e=0;A>e;++e)s[i++]=o[F++];t-=A,F=i-x}for(;t>2;)s[i++]=s[F++],s[i++]=s[F++],s[i++]=s[F++],t-=3;t&&(s[i++]=s[F++],t>1&&(s[i++]=s[F++]))}else{for(F=i-x;t>2;)s[i++]=s[F++],s[i++]=s[F++],s[i++]=s[F++],t-=3;t&&(s[i++]=s[F++],t>1&&(s[i++]=s[F++]))}break}if(64&y){e.msg="invalid distance code",n.ot=16209;break e}A=d[A.lt+(g&(1<<y)-1)]}break}if(64&y){if(32&y){n.ot=16191;break e}e.msg="invalid literal/length code",n.ot=16209;break e}A=l[A.lt+(g&(1<<y)-1)]}}while(E>r&&I>i);let Y=c>>3;r-=Y,c-=Y<<3,g&=(1<<c)-1,e.next_in_index=r,e.next_out_index=i,e.avail_in=E>r?E-r+5:5-(r-E),e.avail_out=I>i?I-i+257:257-(i-I),n.p=g>>>0,n.L=c>>>0}function xs(e,t){let A=[],n=t?1446:1444;return{...Yi(e,0),o:e,ot:16180,ut:!1,H:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:pi,kt:0,bt:0,Pe:0,et:A,tt:A,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,Lt:A,Mt:new ci(320),Et:new ci(288),zt:new mi(n).fill(null).map(()=>ys()),Zt:0,it:!0,Nt:0,Wt:0,jt:t}}function ys(e=0,t=0,A=0){return{_t:e,ft:t,lt:A}}function Fs(e=1){return{_t:64,ft:e,lt:0}}function Ys(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Ds={jt:!1,Qt:ds,Dt:fs,St:Bs,$t:hs,qt:20,Tt:257,At:0,It:592,Ut:!1,Bt:!0},bs={jt:!0,Qt:us,Dt:ms,St:ps,$t:ws,qt:19,Tt:256,At:-1,It:594,Ut:!0,Bt:!1};function vs(e,t,A,n,r,i,a,s){let o,g,c,l,d,u,f,m,B,p,h,w,I,E,C,x,y,F,Y,D=new ci(16),b=new ci(16),v=s?bs:Ds;for(o=0;15>=o;o++)D[o]=0;for(g=0;A>g;g++)D[t[g]]++;for(d=r.Ct,l=15;l>=1&&0==D[l];l--);if(d>l&&(d=l),0==l)return v.Bt?(C=Fs(1),n.Ct[0]=C,n.Ct[1]=C,r.Ct=1,0):-1;for(c=1;l>c&&0==D[c];c++);for(c>d&&(d=c),m=1,o=1;15>=o;o++)if(m<<=1,m-=D[o],0>m)return-1;if(m>0&&(0==e||1!=l))return-1;for(b[1]=0,o=1;15>o;o++)b[o+1]=b[o]+D[o];for(g=0;A>g;g++)0!=t[g]&&(i[b[t[g]]++]=g);switch(e){case 0:y=F=i,Y=v.qt;break;case 1:y=v.Qt,F=v.Dt,Y=v.Tt;break;default:y=v.St,F=v.$t,Y=v.At}if(p=0,g=0,o=c,x=a.Ct,u=d,f=0,I=-1,B=1<<d,E=B-1,1==e&&(v.Ut?B>=is:B>is)||2==e&&(v.Ut?B>=v.It:B>v.It))return 1;for(;;){C=Qs(i,g,o,f,e,y,F,Y,v.jt),h=1<<o-f,w=1<<u,c=w;do{w-=h;let e=(p>>f)+w;n.Ct[x+e]={...C}}while(0!=w);for(h=1<<o-1;p&h;)h>>=1;if(0!=h?(p&=h-1,p+=h):p=0,g++,0==--D[o]){if(o==l)break;o=t[i[g]]}if(o>d&&(p&E)!=I){for(0==f&&(f=d),x+=1<<u,u=o-f,m=1<<u;l>u+f&&(m-=D[u+f],m>0);)u++,m<<=1;if(B+=1<<u,1==e&&(v.Ut?B>=is:B>is)||2==e&&(v.Ut?B>=v.It:B>v.It))return 1;I=p&E,n.Ct[a.Ct+I]={_t:u,ft:d,lt:x-a.Ct}}}if(0!=p)for(C=Fs(o-f);0!=p;){for(0!=f&&(p&E)!=I&&(f=0,o=d,x=a.Ct,u=d,C.ft=o),n.Ct[x+(p>>f)]={...C},h=1<<o-1;p&h;)h>>=1;0!=h?(p&=h-1,p+=h):p=0}return a.Ct+=B,r.Ct=d,0}function Qs(e,t,A,n,r,i,a,s,o){let g;if(o?e[t]<s:e[t]+1<s)g=ys(0,A-n,e[t]);else if(o?e[t]>s:e[t]>=s)if(o&&1==r){let r=e[t]-257;g=ys(a[r],A-n,i[r])}else{let r=o?e[t]:e[t]-s;g=ys(a[r],A-n,i[r])}else g=((e=0)=>({_t:96,ft:e,lt:0}))(A-n);return g}var Ss={Xt:!0,Ft:new mi(544),Ht:[],Yt:[]},ks={Xt:!0,Ft:new mi(544),Ht:[],Yt:[]};function Ms(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.jt&&(16191>t.ot||t.ot>16209)||!t.jt&&(16180>t.ot||t.ot>16211))))}function Us(e){let t=e.jt?ks:Ss,A={Ct:0};if(t.Xt){let n,r,i;for(n=0;144>n;)e.Mt[n++]=8;for(;256>n;)e.Mt[n++]=9;for(;280>n;)e.Mt[n++]=7;for(;288>n;)e.Mt[n++]=8;for(let e=0;544>e;e++)t.Ft[e]=ys();i=t.Ft,t.Ht=i,r=9;let a={Ct:i},s={Ct:r},o={Ct:0};for(vs(1,e.Mt,288,a,s,e.Et,o,e.jt),i=a.Ct,r=s.Ct,e.Zt=o.Ct,n=0;32>n;)e.Mt[n++]=5;r=5;let g=o.Ct,c={Ct:i},l={Ct:r};A.Ct=g,vs(2,e.Mt,32,c,l,e.Et,A,e.jt),t.Yt=i.slice(g),t.Xt=!1}e.et=t.Ht,e.nt=9,e.tt=t.Yt,e.rt=5,e.Zt=A.Ct}var zs=class extends fi{constructor(){super("Need more input")}};function Gs(e,t){let A,n,r,i,a,s,o,g,c,l,d,u,f,m,B,p,h,w=new gi(4);if(Ms(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;s=0,g=0,o=0,c=0,n=pi,r=0,i=pi,a=0,A=e.l,16191==A.ot&&(A.ot=16192),y(),l=s,d=o,h=0;try{for(;;)switch(A.ot){case 16180:if(0==A.H){A.ot=16192;break}if(b(16),2&A.H&&35615==g){0==A.k&&(A.k=15),A.ht=ya(0),A.ht=C(A.ht,g),Y(),A.ot=16181;break}if(A.Y&&(A.Y.Ot=-1),!(1&A.H)||((v(8)<<8)+(g>>8))%31){e.msg="incorrect header check",A.ot=16209;break}if(8!=v(4)){e.msg="unknown compression method",A.ot=16209;break}if(Q(4),p=v(4)+8,0==A.k&&(A.k=p),p>15||p>A.k){e.msg="invalid window size",A.ot=16209;break}A.dt=1<<p,A.st=0,e.i=A.ht=fa(0),A.ot=512&g?16189:16191,Y();break;case 16181:if(b(16),A.st=g,8!=(255&A.st)){e.msg="unknown compression method",A.ot=16209;break}if(57344&A.st){e.msg="unknown header flags set",A.ot=16209;break}A.Y&&(A.Y.Oe=g>>8&1),512&A.st&&4&A.H&&(A.ht=C(A.ht,g)),Y(),A.ot=16182;case 16182:b(32),A.Y&&(A.Y.Ke=g),512&A.st&&4&A.H&&(A.ht=x(A.ht,g)),Y(),A.ot=16183;case 16183:b(16),A.Y&&(A.Y.Pt=255&g,A.Y.Ve=g>>8),512&A.st&&4&A.H&&(A.ht=C(A.ht,g)),Y(),A.ot=16184;case 16184:1024&A.st?(b(16),A.kt=g,A.Y&&(A.Y.Ge=g),512&A.st&&4&A.H&&(A.ht=C(A.ht,g)),Y()):A.Y&&(A.Y.Pe=pi),A.ot=16185;case 16185:if(1024&A.st&&(u=A.kt,u>s&&(u=s),u&&(A.Y&&A.Y.Pe&&A.Y.Rt&&(p=A.Y.Ge-A.kt)<A.Y.Rt&&xi(A.Y.Pe,p,n,r,u),512&A.st&&4&A.H&&(A.ht=ya(A.ht,n.subarray(r,r+u),u)),s-=u,r+=u,A.kt-=u),A.kt))return I();A.kt=0,A.ot=16186;case 16186:if(2048&A.st){if(0==s)return I();u=0;do{p=n[r+u++],A.Y&&A.Y.Jt&&A.kt<A.Y.Jt&&(A.Y.Re[A.kt++]=p)}while(p&&s>u);if(512&A.st&&4&A.H&&(A.ht=ya(A.ht,n.subarray(r,r+u),u)),s-=u,r+=u,p)return I()}else A.Y&&(A.Y.Re=pi);A.kt=0,A.ot=16187;case 16187:if(4096&A.st){if(0==s)return I();u=0;do{p=n[r+u++],A.Y&&A.Y.Kt&&A.kt<A.Y.Kt&&(A.Y.Je[A.kt++]=p)}while(p&&s>u);if(512&A.st&&4&A.H&&(A.ht=ya(A.ht,n.subarray(r,r+u),u)),s-=u,r+=u,p)return I()}else A.Y&&(A.Y.Je=pi);A.ot=16188;case 16188:if(512&A.st){if(b(16),4&A.H&&g!=(65535&A.ht)){e.msg="header crc mismatch",A.ot=16209;break}Y()}A.Y&&(A.Y.Ye=A.st>>9&1,A.Y.Ot=1),e.i=A.ht=ya(0),A.ot=16191;break;case 16189:b(32),e.i=A.ht=Ys(g),Y(),A.ot=16190;case 16190:if(!A.ct)return F(),2;e.i=A.ht=fa(0),A.ot=16191;case 16191:if(5==t||6==t)return I();case 16192:if(A.ut){S(),A.ot=16206;break}switch(b(3),A.ut=!!v(1),Q(1),v(2)){case 0:A.ot=16193;break;case 1:if(Us(A),A.ot=16199,6==t)return Q(2),I();break;case 2:A.ot=16196;break;case 3:e.msg="invalid block type",A.ot=16209}Q(2);break;case 16193:if(S(),b(32),(65535&g)!=(g>>>16^65535)){e.msg="invalid stored block lengths",A.ot=16209;break}if(A.kt=65535&g,Y(),A.ot=16194,6==t)return I();case 16194:A.ot=16195;case 16195:if(u=A.kt,u){if(u>s&&(u=s),u>o&&(u=o),0==u)return I();xi(i,a,n,r,u),s-=u,r+=u,o-=u,a+=u,A.kt-=u;break}A.ot=16191;break;case 16196:if(b(14),A.vt=v(5)+257,Q(5),A.xt=v(5)+1,Q(5),A.gt=v(4)+4,Q(4),A.vt>286||!A.jt&&A.xt>30){e.msg=A.jt?"too many length":"too many length or distance symbols",A.ot=16209;break}A.yt=0,A.ot=16197;case 16197:for(;A.yt<A.gt;)b(3),A.Mt[Bi[A.yt++]]=v(3),Q(3);for(;19>A.yt;)A.Mt[Bi[A.yt++]]=0;A.Lt=A.zt,A.et=A.tt=A.Lt,A.nt=7;let l={Ct:A.Lt},w={Ct:A.nt},k={Ct:0};if(h=vs(0,A.Mt,19,l,w,A.Et,k,A.jt),A.Lt=l.Ct,A.nt=w.Ct,h){e.msg="invalid code lengths set",A.ot=16209;break}A.yt=0,A.ot=16198;case 16198:for(;A.yt<A.vt+A.xt;){for(;m=A.et[v(A.nt)],m.ft>c;)D();if(16>m.lt)Q(m.ft),A.Mt[A.yt++]=m.lt;else{if(16==m.lt){if(b(m.ft+2),Q(m.ft),0==A.yt){e.msg="invalid bit length repeat",A.ot=16209;break}p=A.Mt[A.yt-1],u=3+v(2),Q(2)}else 17==m.lt?(b(m.ft+3),Q(m.ft),p=0,u=3+v(3),Q(3)):(b(m.ft+7),Q(m.ft),p=0,u=11+v(7),Q(7));if(A.yt+u>A.vt+A.xt){e.msg="invalid bit length repeat",A.ot=16209;break}for(;u--;)A.Mt[A.yt++]=p}}if(16209==A.ot)break;if(0==A.Mt[256]){e.msg="invalid code -- missing end-of-block",A.ot=16209;break}A.Lt=A.zt,A.nt=9;let M={Ct:A.Lt},U={Ct:A.nt},z={Ct:0};h=vs(1,A.Mt,A.vt,M,U,A.Et,z,A.jt),A.Lt=M.Ct,A.nt=U.Ct;let G=z.Ct;if(A.et=A.Lt.slice(0,G),h){e.msg="invalid literal/lengths set",A.ot=16209;break}A.rt=6;let W=A.Mt.subarray(A.vt,A.vt+A.xt),T={Ct:A.Lt},O={Ct:A.rt},R={Ct:G};if(h=vs(2,W,A.xt,T,O,A.Et,R,A.jt),A.Lt=T.Ct,A.rt=O.Ct,A.tt=A.Lt.slice(G),h){e.msg="invalid distances set",A.ot=16209;break}if(A.ot=16199,6==t)return I();case 16199:A.ot=16200;case 16200:if(!A.jt&&s>=6&&o>=258){F(),Cs(e,d),y(),16191==A.ot&&(A.Nt=-1);break}for(A.Nt=0;m=A.et[v(A.nt)],m.ft>c;)D();if(m._t&&!(240&m._t)){for(B=m;m=A.et[B.lt+(v(B.ft+B._t)>>B.ft)],B.ft+m.ft>c;)D();Q(B.ft),A.Nt+=B.ft}if(Q(m.ft),A.Nt+=m.ft,A.kt=m.lt,0==m._t){A.ot=16205;break}if(32&m._t){A.Nt=-1,A.ot=16191;break}if(64&m._t){e.msg="invalid literal/length code",A.ot=16209;break}A.Pe=m._t&(A.jt?31:15),A.ot=16201;case 16201:A.Pe&&(b(A.Pe),A.kt+=v(A.Pe),Q(A.Pe),A.Nt+=A.Pe),A.Wt=A.kt,A.ot=16202;case 16202:for(;m=A.tt[v(A.rt)],m.ft>c;)D();if(!(240&m._t)){for(B=m;m=A.tt[B.lt+(v(B.ft+B._t)>>B.ft)],B.ft+m.ft>c;)D();Q(B.ft),A.Nt+=B.ft}if(Q(m.ft),A.Nt+=m.ft,64&m._t){e.msg="invalid distance code",A.ot=16209;break}A.bt=m.lt,A.Pe=15&m._t,A.ot=16203;case 16203:A.Pe&&(b(A.Pe),A.bt+=v(A.Pe),Q(A.Pe),A.Nt+=A.Pe),A.ot=16204;case 16204:if(0==o)return I();if(u=d-o,A.bt>u){if(u=A.bt-u,u>A.v&&A.it){e.msg="invalid distance too far back",A.ot=16209;break}u>A.m?(u-=A.m,f=A.h-u):f=A.m-u,u>A.kt&&(u=A.kt),u>o&&(u=o);for(let e=0;u>e;++e)i[a]=255&A.u[f],++a,++f}else{f=a-A.bt,u=A.kt,u>o&&(u=o);for(let e=0;u>e;++e)i[a]=i[f],++a,++f}u>o&&(u=o),o-=u,A.kt-=u,0==A.kt&&(A.ot=16200);break;case 16205:if(0==o)return I();i[a++]=A.kt,o--,A.ot=16200;break;case 16206:if(A.H){if(b(32),d-=o,e.total_out+=d,A.wt+=d,4&A.H&&d){let t=i.subarray(a-d,a);e.i=A.ht=E(A.ht,t,d)}if(d=o,4&A.H&&(A.st?g:Ys(g)>>>0)!=A.ht){e.msg="incorrect data check",A.ot=16209;break}Y()}A.ot=16207;case 16207:if(A.H&&A.st){if(b(32),4&A.H&&g!=(4294967295&A.wt)){e.msg="incorrect length check",A.ot=16209;break}Y()}A.ot=16208;case 16208:return h=1,I();case 16209:return h=-3,I();case 16210:return-4;default:return-2}}catch(e){if(e instanceof zs)return I();throw e}function I(){if(F(),A.h||d!=e.avail_out&&16209>A.ot&&(A.jt?16208>A.ot:16206>A.ot)||4!=t){let t=d-e.avail_out;if(((e,t,A)=>{let n=e.l;if(!(n.u&&0!=n.u.length||(n.u=new gi(1<<n.k),n.u)))return 1;if(0==n.h&&(n.h=1<<n.k,n.m=0,n.v=0),A<n.h){let e=n.h-n.m;e>A&&(e=A),xi(n.u,n.m,t,t.length-A,e),(A-=e)?(xi(n.u,0,t,t.length-A,A),n.m=A,n.v=n.h):(n.m+=e,n.m==n.h&&(n.m=0),n.v<n.h&&(n.v+=e))}else xi(n.u,0,t,t.length-n.h,n.h),n.m=0,n.v=n.h;return 0})(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return A.ot=16210,-4}return l-=e.avail_in,d-=e.avail_out,e.total_in+=l,e.total_out+=d,A.wt+=d,4&A.H&&d&&(e.i=A.ht=E(A.ht,e.next_out.subarray(e.next_out_index-d,e.next_out_index),d)),e.t=A.L+(A.ut?64:0)+(16191==A.ot?128:0)+(16199==A.ot||16194==A.ot?256:0),(0==l&&0==d&&0==h||4==t&&0==h)&&(h=-5),h}function E(e,t,n){return A.st?ya(e,t,n):fa(e,t,n)}function C(e,t){return w[0]=255&t,w[1]=t>>>8&255,ya(e,w,2)>>>0}function x(e,t){return w[0]=255&t,w[1]=t>>>8&255,w[2]=t>>>16&255,w[3]=t>>>24&255,ya(e,w,4)>>>0}function y(){i=e.next_out,a=e.next_out_index,o=e.avail_out,n=e.next_in,r=e.next_in_index,s=e.avail_in,g=A.p,c=A.L}function F(){e.next_out=i,e.next_out_index=a,e.avail_out=o,e.next_in=n,e.next_in_index=r,e.avail_in=s,A.p=g,A.L=c}function Y(){g=0,c=0}function D(){if(0==s)throw new zs;s--,g+=(255&n[r])<<c,r++,g>>>=0,c+=8}function b(e){for(;e>c;)D()}function v(e){return g&(1<<e)-1}function Q(e){g>>>=e,c-=e}function S(){g>>>=7&c,c-=7&c}}function Ws(e){return Ms(e)?-2:0}var Ts=65536,Os=class{constructor(e=16,t=Ts){this.Vt=[],this.Gt=e;for(let A=0;A<ui.min(e,4);A++)this.Vt.push(new gi(t))}acquire(e=Ts){for(let t=this.Vt.length-1;t>=0;t--){let A=this.Vt[t];if(A.length>=e)return this.Vt.splice(t,1),A}return new gi(e)}release(e){this.Vt.length<this.Gt&&this.Vt.push(e)}};function Rs(e){let t=new Os(32,Ts),A=null;function n(e){try{t.release(e)}catch{}}return new di({start(){},transform(r,i){if(!A){let t=e.en(),n=e.tn(t);if(0!=n&&0!=n)throw new fi("init failed: "+n);A={o:t}}let a=A.o,s=0;for(;s<r.length;){let A=ui.min(r.length-s,32768),o=r.subarray(s,s+A);for(a.next_in=o,a.next_in_index=0,a.avail_in=o.length;a.avail_in>0;){let A=t.acquire(),r=!1;try{a.next_out=A,a.next_out_index=0,a.avail_out=A.length;let n=e.nn(a,0),s=A.length-a.avail_out;if(s>0){let e=!1,n={rn:A.subarray(0,s),release:()=>{e||(e=!0,t.release(A))}};r=!0,i.enqueue(n)}if(0!=n&&1!=n)throw new fi("process error: "+n)}finally{r||n(A)}}s+=A}},flush(r){if(!A)return;let i=A.o;for(;;){let A=t.acquire(),a=!1;try{i.next_out=A,i.next_out_index=0,i.avail_out=A.length;let n=e.nn(i,4),s=A.length-i.avail_out;if(s>0){let e=!1,n={rn:A.subarray(0,s),release:()=>{e||(e=!0,t.release(A))}};a=!0,r.enqueue(n)}if(1==n)break;if(0!=n)throw new fi("finalization error: "+n)}finally{a||n(A)}}let a=e.fn(i);if(0!=a&&0!=a)throw new fi("end failed: "+a)}})}function Ks(){return new di({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}oe({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",t){let A=function(e="deflate",t){let A="gzip"==e?31:"deflate-raw"==e?-15:15,n=t&&"number"==typeof t.level?t.level:-1;return Rs({en:()=>(()=>{let e=Fi();return e.l=Oi(e),e})(),tn:e=>((e,t,A=8,n=15,r=Ni,i=0)=>{let a=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),0>n){if(a=0,-15>n)return-2;n=-n}else n>15&&(a=2,n-=16);if(1>r||r>9||8!=A||8>n||n>15||0>t||t>9||0>i||i>4||8==n&&1!=a)return-2;8==n&&(n=9);let s=Oi(e);return s?(e.l=s,s.o=e,s.F=42,s.H=a,s.Y=void 0,s.k=n,s.h=1<<s.k,s.O=s.h-1,s.P=r+7,s.R=1<<s.P,s.J=s.R-1,s.K=(s.P+Ji-1)/Ji,s.u=new gi(2*s.h),s.V=new ci(s.h),s.G=new ci(s.R),s.v=0,s.ee=1<<r+6,s.q=new gi(4*s.ee),s.ne=4*s.ee,s.u&&s.V&&s.G&&s.q?(s.Ee=s.q.subarray(s.ee),s.A=s.te+s.ee,s.X=3*(s.ee-1),s.be=t,s.ge=i,s.Ne=A,(e=>{let t=(e=>{let t;return Ja(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.T=0,t.re=t.te,0>t.H&&(t.H=-t.H),t.F=2==t.H?57:42,e.i=2==t.H?ya(0):fa(0),t.oe=-2,(e=>{if(e.B&&e.B.length>=$i)for(let t=0;$i>t;t++)e.B[t]=Ki();else{e.B=[];for(let t=0;$i>t;t++)e.B.push(Ki())}if(e.C&&e.C.length>=2*Xi+1)for(let t=0;2*Xi+1>t;t++)e.C[t]=Ki();else{e.C=[];for(let t=0;2*Xi+1>t;t++)e.C.push(Ki())}if(e.Se&&e.Se.length>=2*_i+1)for(let t=0;2*_i+1>t;t++)e.Se[t]=Ki();else{e.Se=[];for(let t=0;2*_i+1>t;t++)e.Se.push(Ki())}e.$e=new bi(e.B,new vi(ga,ra,Zi+1,Vi,ea)),e.qe=new bi(e.C,new vi(ca,ia,0,Xi,ea)),e.Te=new bi(e.Se,new vi(null,aa,0,_i,7)),e.p=0,e.L=0,e.ze=0,ba(e)})(t),0)})(e);return 0==t&&(e=>{e.We=2*e.h,Ka(e),e.ye=Wa[e.be].Ce,e.ve=Wa[e.be].Xe,e.me=Wa[e.be].Fe,e.xe=Wa[e.be].He,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=Ji-1,e.we=0,e.ke=0})(e.l),t})(e)):(s.F=666,e.msg=Qi(-4),Va(e),-4)):-4})(e,n,8,A,8,0),nn:Za,fn:Va})}(e,t);this.writable=A.writable,this.readable=A.readable.pipeThrough(Ks())}},DecompressionStreamZlib:class{constructor(e="deflate"){let t=((e="deflate")=>{let t="gzip"==e?31:"deflate-raw"==e?-15:15;return Rs({en:()=>(e=>{let t=Fi();return t.l=xs(t,!!e),t})("deflate64-raw"==e),tn:e=>function(e,t){let A,n;if(!e)return-2;e.msg="";let r=!!e.l.jt;return n=xs(e,r),r&&(t=-16),e.l=n,n.o=e,n.ot=n.jt?16191:16180,A=((e,t)=>{let A,n,r;if(Ms(e))return-2;if(n=e.l,n.jt?(t=-16,r=16):r=15,0>t){if(-r>t)return-2;A=0,t=-t}else A=5+(t>>4),!n.jt&&48>t&&(t&=15);return t&&(8>t||t>r)?-2:(n.u.length>0&&n.k!=t&&(n.u=pi),n.H=A,n.k=t,(e=>{let t;return Ms(e)?-2:(t=e.l,t.h=0,t.v=0,t.m=0,(e=>{let t;return Ms(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.H&&(e.i=1&t.H),t.ot=t.jt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.jt?65536:32768,delete t.Y,t.p=0,t.L=0,t.et=t.zt,t.tt=t.zt,t.Lt=t.zt,t.it=!0,t.Nt=-1,0)})(e))})(e))})(e,t),A}(e,t),nn:Gs,fn:Ws})})(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(Ks())}}});const Ls="Entry filename already exists";class Hs{constructor(e,t,n,r){const i=this;if(e.root&&r&&r.getChildByName(t))throw new d(Ls);n||(n={}),A.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.entryIdCounter++,parent:r,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!r&&e.root||(e.entries[i.id]=i),r&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,A=this.parent;for(;A&&A!=e;)t=(A.name?A.name+"/":"")+t,A=A.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new d(Ls);this.name=e}}class Ns extends Hs{constructor(e,t,A,n){super(e,t,A,n);const r=this;r.Reader=A.Reader,r.Writer=A.Writer,A.getData&&(r.getData=A.getData)}clone(){return new Ns(this.fs,this.name,this)}async getData(e,t={}){const A=this;if(!e||e.constructor==A.Writer&&A.data)return A.data;{const n=A.reader=new A.Reader(A.data,t),r=A.data?A.data.uncompressedSize:n.size;await h.all([TA(n),TA(e,r)]);const{readable:i}=n;return A.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,A.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==be)return!1;throw e}}getText(e,t){return this.getData(new pA(e),t)}getBlob(e,t){return this.getData(new mA(e),t)}getData64URI(e,t){return this.getData(new uA(e),t)}getUint8Array(e){return this.getData(new MA,e)}getWritable(e=new Y,t){return this.getData({writable:e},t)}async getArrayBuffer(e){const t=await this.getUint8Array(e);return t.byteOffset||t.byteLength!=t.buffer.byteLength?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):t.buffer}replaceBlob(e){A.assign(this,{data:e,Reader:fA,Writer:mA,reader:null})}replaceText(e){A.assign(this,{data:e,Reader:BA,Writer:pA,reader:null})}replaceData64URI(e){A.assign(this,{data:e,Reader:dA,Writer:uA,reader:null})}replaceUint8Array(e){A.assign(this,{data:e,Reader:kA,Writer:MA,reader:null})}replaceReadable(e){A.assign(this,{data:null,Reader:qs(e),Writer:null,reader:null})}}class Js extends Hs{constructor(e,t,A,n){super(e,t,A,n),this.directory=!0}clone(e){const t=this,A=new Js(t.fs,t.name,t);return e&&(A.children=t.children.map(t=>{const n=t.clone(e);return n.parent=A,n})),A}addDirectory(e,t){return to(this,e,{options:t},!0)}addText(e,t,A={}){return to(this,e,{data:t,Reader:BA,Writer:pA,options:A,uncompressedSize:t.length})}addBlob(e,t,A={}){return to(this,e,{data:t,Reader:fA,Writer:mA,options:A,uncompressedSize:t.size})}addData64URI(e,t,A={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const r=t.indexOf(",")+1;return to(this,e,{data:t,Reader:dA,Writer:uA,options:A,uncompressedSize:a.floor(.75*(n-r))})}addUint8Array(e,t,A={}){return to(this,e,{data:t,Reader:kA,Writer:MA,options:A,uncompressedSize:t.length})}addHttpContent(e,t,A={}){return to(this,e,{data:t,Reader:class extends SA{constructor(e){super(e,A)}},options:A})}addReadable(e,t,A={}){return to(this,e,{Reader:qs(t),options:A})}addFileSystemEntry(e,t={}){return _s(this,e,t)}addFileSystemHandle(e,t={}){return _s(this,e,t)}addFile(e,t={}){return(t=A.assign({},t)).lastModDate||(t.lastModDate=new s(e.lastModified)),to(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}addData(e,t){return to(this,e,t)}importBlob(e,t){return this.importZip(new fA(e),t)}importData64URI(e,t){return this.importZip(new dA(e),t)}importUint8Array(e,t){return this.importZip(new kA(e),t)}importHttpContent(e,t){return this.importZip(new SA(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new mA(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new uA(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new MA,e)}async exportWritable(e=new Y,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,r)=>{const i=js([e],"uncompressedSize"),a=new o;return await s(e,n),n;async function s(e,t){if(r.concurrent){const A=(await h.allSettled(e.children.map(e=>g(e,t)))).find(e=>"rejected"==e.status);if(A)throw A.reason}else for(const A of e.children)await g(A,t)}async function g(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await s(e,t)}else{const s=await n.getFileHandle(e.name,{create:!0}),o=await s.createWritable();await e.getData({writable:o},A.assign({},r,{onprogress:async A=>{if(r.onprogress){a.set(e.id,A);try{await r.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new d(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await TA(e);const n=new _n(e,t),r=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new d(Ls)}else n=new Js(this.fs,e,{data:null},t),r.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new d(Ls)}else t=new Js(this.fs,a,{data:null},n),r.push(t);t==this||t.data||(t.data=e)}else r.push(to(n,a,{data:e,Reader:Zs(A.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return r}async exportZip(e,n={}){const r=this;(n=A.assign({},n)).bufferedWrite===$&&(n.bufferedWrite=!0);const[i]=await h.all([Vs(r,n.readerOptions),TA(e)]),a=new Rr(e,n);return await(async(e,n,r,i,a)=>{const s=n,g=new o;await async function e(n,o){async function c(o){const c=i.relativePath?o.getRelativeName(s):o.getFullname(),l=o.options||{};let d={};if(o.data instanceof Cn){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:r,creationDate:i,lastAccessDate:a,uncompressedSize:s,encrypted:g,zipCrypto:c,signature:l,compressionMethod:u,extraFieldAES:f}=o.data;if(d={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:r,creationDate:i,lastAccessDate:a},o.passThrough){let e,t;0===u&&(e=0),f&&(t=f.strength),d=A.assign(d,{passThrough:!0,encrypted:g,zipCrypto:c,signature:l,uncompressedSize:s,level:e,encryptionStrength:t,compressionMethod:u})}}await n.add(c,a.get(o),A.assign({},i,d,l,{directory:o.directory,onprogress:async e=>{if(i.onprogress){g.set(c,e);try{await i.onprogress(t.from(g.values()).reduce((e,t)=>e+t),r)}catch{}}}})),await e(n,o)}await(async()=>{if(i.bufferedWrite){const e=(await h.allSettled(o.children.map(c))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of o.children)await c(e)})()}(e,n)})(a,r,js([r],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let A=0;A<t.length;A++){const n=t[A];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const A=this.children;return!(await h.all(A.map(A=>A.checkPassword(e,t)))).includes(!1)}}const Ps={FS:class{constructor(){eo(this)}get children(){return this.root.children}remove(e){Xs(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const A of e.children)t.push(A)}e.parent=$}move(e,t){if(e==this.root)throw new d("Root directory cannot be moved");if(!t.directory)throw new d("Target entry is not a directory");if(t.isDescendantOf(e))throw new d("Entry is a ancestor of target entry");if(e!=t){const A=t.getChildByName(e.name);if(A){if(A!=e)throw new d(Ls)}else Xs(e),e.parent=t,t.children.push(e),((e,t)=>{const A=[t];for(;A.length;){const t=A.pop();e.entries[t.id]=t;for(const e of t.children)A.push(e)}})(this,e)}}find(e){const t=e.split("/");let A=this.root;for(let e=0;A&&e<t.length;e++)A=A.getChildByName(t[e]);return A||(A=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),A}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,A){return this.root.addText(e,t,A)}addBlob(e,t,A){return this.root.addBlob(e,t,A)}addData64URI(e,t,A){return this.root.addData64URI(e,t,A)}addUint8Array(e,t,A){return this.root.addUint8Array(e,t,A)}addHttpContent(e,t,A){return this.root.addHttpContent(e,t,A)}addReadable(e,t,A){return this.root.addReadable(e,t,A)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}addData(e,t){return this.root.addData(e,t)}importBlob(e,t){return eo(this),this.root.importBlob(e,t)}importData64URI(e,t){return eo(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return eo(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return eo(this),this.root.importHttpContent(e,t)}importReadable(e,t){return eo(this),this.root.importReadable(e,t)}importZip(e,t){return eo(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Js,ZipFileEntry:Ns};function js(e,A){let n=0;const r=t.from(e);for(;r.length;){const e=r.pop();n+=e[A]||0;for(const t of e.children)r.push(t)}return n}function qs(e){let t;return()=>{if(t)throw new d("Readable stream already consumed");return t=!0,{readable:e}}}function Zs(e){return class extends cA{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new mA,A.assign({},e,t.options));t.data=n,t.blobReader=new fA(n),super.init()}readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}}}async function Vs(e,t){const A=[],n=[e],r=new o;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):A.push(t)}return await h.all(A.map(async e=>{const A=e.reader=new e.Reader(e.data,t);r.set(e,A);try{await TA(A)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}A.size!==$&&(e.uncompressedSize=A.size)})),r}function Xs(e){if(e.parent){const t=e.parent.children;t.forEach((A,n)=>{A.id==e.id&&t.splice(n,1)})}}function _s(e,t,n){return async function e(t,r,i){if(r)try{if((r.isFile||r.isDirectory)&&(r=await $s(r)),"file"==r.kind){const e=await r.getFile();i.push(t.addData(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:A.assign({},{lastModDate:new s(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==r.kind){const A=t.addDirectory(r.name);i.push(A);for await(const t of r.values())await e(A,t,i)}}catch(e){const t=e.message+(r?" ("+r.name+")":"");throw new d(t,{cause:e})}return i}(e,t,[])}async function $s(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new h((t,A)=>e.file(t,A))),e.isDirectory){t.kind="directory";const A=await(async e=>{const t=[];function A(e,n,r){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await $s(e));A(e,n,r)}else n(t)},r)}return await new h((t,n)=>A(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const A={value:t[e],done:e==t.length};return e++,A}}}}})(e);t.values=()=>A}return t}function eo(e){e.entries=[],e.entryIdCounter=0,e.root=new Js(e)}function to(e,t,A,n){if(e.directory)return n?new Js(e.fs,t,A,e):new Ns(e.fs,t,A,e);throw new d("Parent entry is not a directory")}const Ao={application:{"andrew-inset":"ez",annodex:"anx","atom+xml":"atom","atomcat+xml":"atomcat","atomserv+xml":"atomsrv",bbolin:"lin","cu-seeme":"cu","davmount+xml":"davmount",dsptype:"tsp",ecmascript:["es","ecma"],futuresplash:"spl",hta:"hta","java-archive":"jar","java-serialized-object":"ser","java-vm":"class",m3g:"m3g","mac-binhex40":"hqx",mathematica:["nb","ma","mb"],msaccess:"mdb",msword:["doc","dot","wiz"],mxf:"mxf",oda:"oda",ogg:"ogx",pdf:"pdf","pgp-keys":"key","pgp-signature":["asc","sig"],"pics-rules":"prf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],rar:"rar","rdf+xml":"rdf","rss+xml":"rss",rtf:"rtf","xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd","xpdl"],"xspf+xml":"xspf",zip:"zip","vnd.android.package-archive":"apk","vnd.cinderella":"cdy","vnd.google-earth.kml+xml":"kml","vnd.google-earth.kmz":"kmz","vnd.mozilla.xul+xml":"xul","vnd.ms-excel":["xls","xlb","xlt","xlm","xla","xlc","xlw"],"vnd.ms-pki.seccat":"cat","vnd.ms-pki.stl":"stl","vnd.ms-powerpoint":["ppt","pps","pot","ppa","pwz"],"vnd.oasis.opendocument.chart":"odc","vnd.oasis.opendocument.database":"odb","vnd.oasis.opendocument.formula":"odf","vnd.oasis.opendocument.graphics":"odg","vnd.oasis.opendocument.graphics-template":"otg","vnd.oasis.opendocument.image":"odi","vnd.oasis.opendocument.presentation":"odp","vnd.oasis.opendocument.presentation-template":"otp","vnd.oasis.opendocument.spreadsheet":"ods","vnd.oasis.opendocument.spreadsheet-template":"ots","vnd.oasis.opendocument.text":"odt","vnd.oasis.opendocument.text-master":["odm","otm"],"vnd.oasis.opendocument.text-template":"ott","vnd.oasis.opendocument.text-web":"oth","vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","vnd.openxmlformats-officedocument.spreadsheetml.template":"xltx","vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","vnd.openxmlformats-officedocument.presentationml.slideshow":"ppsx","vnd.openxmlformats-officedocument.presentationml.template":"potx","vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","vnd.openxmlformats-officedocument.wordprocessingml.template":"dotx","vnd.smaf":"mmf","vnd.stardivision.calc":"sdc","vnd.stardivision.chart":"sds","vnd.stardivision.draw":"sda","vnd.stardivision.impress":"sdd","vnd.stardivision.math":["sdf","smf"],"vnd.stardivision.writer":["sdw","vor"],"vnd.stardivision.writer-global":"sgl","vnd.sun.xml.calc":"sxc","vnd.sun.xml.calc.template":"stc","vnd.sun.xml.draw":"sxd","vnd.sun.xml.draw.template":"std","vnd.sun.xml.impress":"sxi","vnd.sun.xml.impress.template":"sti","vnd.sun.xml.math":"sxm","vnd.sun.xml.writer":"sxw","vnd.sun.xml.writer.global":"sxg","vnd.sun.xml.writer.template":"stw","vnd.symbian.install":["sis","sisx"],"vnd.visio":["vsd","vst","vss","vsw","vsdx","vssx","vstx","vssm","vstm"],"vnd.wap.wbxml":"wbxml","vnd.wap.wmlc":"wmlc","vnd.wap.wmlscriptc":"wmlsc","vnd.wordperfect":"wpd","vnd.wordperfect5.1":"wp5","x-123":"wk","x-7z-compressed":"7z","x-abiword":"abw","x-apple-diskimage":"dmg","x-bcpio":"bcpio","x-bittorrent":"torrent","x-cbr":["cbr","cba","cbt","cb7"],"x-cbz":"cbz","x-cdf":["cdf","cda"],"x-cdlink":"vcd","x-chess-pgn":"pgn","x-cpio":"cpio","x-csh":"csh","x-director":["dir","dxr","cst","cct","cxt","w3d","fgd","swa"],"x-dms":"dms","x-doom":"wad","x-dvi":"dvi","x-httpd-eruby":"rhtml","x-font":"pcf.Z","x-freemind":"mm","x-gnumeric":"gnumeric","x-go-sgf":"sgf","x-graphing-calculator":"gcf","x-gtar":["gtar","taz"],"x-hdf":"hdf","x-httpd-php":["phtml","pht","php"],"x-httpd-php-source":"phps","x-httpd-php3":"php3","x-httpd-php3-preprocessed":"php3p","x-httpd-php4":"php4","x-httpd-php5":"php5","x-ica":"ica","x-info":"info","x-internet-signup":["ins","isp"],"x-iphone":"iii","x-iso9660-image":"iso","x-java-jnlp-file":"jnlp","x-jmol":"jmz","x-killustrator":"kil","x-latex":"latex","x-lyx":"lyx","x-lzx":"lzx","x-maker":["frm","fb","fbdoc"],"x-ms-wmd":"wmd","x-msdos-program":["com","exe","bat","dll"],"x-netcdf":["nc"],"x-ns-proxy-autoconfig":["pac","dat"],"x-nwc":"nwc","x-object":"o","x-oz-application":"oza","x-pkcs7-certreqresp":"p7r","x-python-code":["pyc","pyo"],"x-qgis":["qgs","shp","shx"],"x-quicktimeplayer":"qtl","x-redhat-package-manager":["rpm","rpa"],"x-ruby":"rb","x-sh":"sh","x-shar":"shar","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","x-stuffit":"sit","x-sv4cpio":"sv4cpio","x-sv4crc":"sv4crc","x-tar":"tar","x-tex-gf":"gf","x-tex-pk":"pk","x-texinfo":["texinfo","texi"],"x-trash":["~","%","bak","old","sik"],"x-ustar":"ustar","x-wais-source":"src","x-wingz":"wz","x-x509-ca-cert":["crt","der","cer"],"x-xcf":"xcf","x-xfig":"fig","x-xpinstall":"xpi",applixware:"aw","atomsvc+xml":"atomsvc","ccxml+xml":"ccxml","cdmi-capability":"cdmia","cdmi-container":"cdmic","cdmi-domain":"cdmid","cdmi-object":"cdmio","cdmi-queue":"cdmiq","docbook+xml":"dbk","dssc+der":"dssc","dssc+xml":"xdssc","emma+xml":"emma","epub+zip":"epub",exi:"exi","font-tdpfr":"pfr","gml+xml":"gml","gpx+xml":"gpx",gxf:"gxf",hyperstudio:"stk","inkml+xml":["ink","inkml"],ipfix:"ipfix","jsonml+json":"jsonml","lost+xml":"lostxml","mads+xml":"mads",marc:"mrc","marcxml+xml":"mrcx","mathml+xml":["mathml","mml"],mbox:"mbox","mediaservercontrol+xml":"mscml","metalink+xml":"metalink","metalink4+xml":"meta4","mets+xml":"mets","mods+xml":"mods",mp21:["m21","mp21"],mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",onenote:["onetoc","onetoc2","onetmp","onepkg"],oxps:"oxps","patch-ops-error+xml":"xer","pgp-encrypted":"pgp",pkcs10:"p10","pkcs7-mime":["p7m","p7c"],"pkcs7-signature":"p7s",pkcs8:"p8","pkix-attr-cert":"ac","pkix-crl":"crl","pkix-pkipath":"pkipath",pkixcmp:"pki","pls+xml":"pls","prs.cww":"cww","pskc+xml":"pskcxml","reginfo+xml":"rif","relax-ng-compact-syntax":"rnc","resource-lists+xml":"rl","resource-lists-diff+xml":"rld","rls-services+xml":"rs","rpki-ghostbusters":"gbr","rpki-manifest":"mft","rpki-roa":"roa","rsd+xml":"rsd","sbml+xml":"sbml","scvp-cv-request":"scq","scvp-cv-response":"scs","scvp-vp-request":"spq","scvp-vp-response":"spp",sdp:"sdp","set-payment-initiation":"setpay","set-registration-initiation":"setreg","shf+xml":"shf","sparql-query":"rq","sparql-results+xml":"srx",srgs:"gram","srgs+xml":"grxml","sru+xml":"sru","ssdl+xml":"ssdl","ssml+xml":"ssml","tei+xml":["tei","teicorpus"],"thraud+xml":"tfi","timestamped-data":"tsd","vnd.3gpp.pic-bw-large":"plb","vnd.3gpp.pic-bw-small":"psb","vnd.3gpp.pic-bw-var":"pvb","vnd.3gpp2.tcap":"tcap","vnd.3m.post-it-notes":"pwn","vnd.accpac.simply.aso":"aso","vnd.accpac.simply.imp":"imp","vnd.acucobol":"acu","vnd.acucorp":["atc","acutc"],"vnd.adobe.air-application-installer-package+zip":"air","vnd.adobe.formscentral.fcdt":"fcdt","vnd.adobe.fxp":["fxp","fxpl"],"vnd.adobe.xdp+xml":"xdp","vnd.adobe.xfdf":"xfdf","vnd.ahead.space":"ahead","vnd.airzip.filesecure.azf":"azf","vnd.airzip.filesecure.azs":"azs","vnd.amazon.ebook":"azw","vnd.americandynamics.acc":"acc","vnd.amiga.ami":"ami","vnd.anser-web-certificate-issue-initiation":"cii","vnd.anser-web-funds-transfer-initiation":"fti","vnd.antix.game-component":"atx","vnd.apple.installer+xml":"mpkg","vnd.apple.mpegurl":"m3u8","vnd.aristanetworks.swi":"swi","vnd.astraea-software.iota":"iota","vnd.audiograph":"aep","vnd.blueice.multipass":"mpm","vnd.bmi":"bmi","vnd.businessobjects":"rep","vnd.chemdraw+xml":"cdxml","vnd.chipnuts.karaoke-mmd":"mmd","vnd.claymore":"cla","vnd.cloanto.rp9":"rp9","vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"vnd.cluetrust.cartomobile-config":"c11amc","vnd.cluetrust.cartomobile-config-pkg":"c11amz","vnd.commonspace":"csp","vnd.contact.cmsg":"cdbcmsg","vnd.cosmocaller":"cmc","vnd.crick.clicker":"clkx","vnd.crick.clicker.keyboard":"clkk","vnd.crick.clicker.palette":"clkp","vnd.crick.clicker.template":"clkt","vnd.crick.clicker.wordbank":"clkw","vnd.criticaltools.wbs+xml":"wbs","vnd.ctc-posml":"pml","vnd.cups-ppd":"ppd","vnd.curl.car":"car","vnd.curl.pcurl":"pcurl","vnd.dart":"dart","vnd.data-vision.rdz":"rdz","vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"vnd.dece.ttml+xml":["uvt","uvvt"],"vnd.dece.unspecified":["uvx","uvvx"],"vnd.dece.zip":["uvz","uvvz"],"vnd.denovo.fcselayout-link":"fe_launch","vnd.dna":"dna","vnd.dolby.mlp":"mlp","vnd.dpgraph":"dpg","vnd.dreamfactory":"dfac","vnd.ds-keypoint":"kpxx","vnd.dvb.ait":"ait","vnd.dvb.service":"svc","vnd.dynageo":"geo","vnd.ecowin.chart":"mag","vnd.enliven":"nml","vnd.epson.esf":"esf","vnd.epson.msf":"msf","vnd.epson.quickanime":"qam","vnd.epson.salt":"slt","vnd.epson.ssf":"ssf","vnd.eszigno3+xml":["es3","et3"],"vnd.ezpix-album":"ez2","vnd.ezpix-package":"ez3","vnd.fdf":"fdf","vnd.fdsn.mseed":"mseed","vnd.fdsn.seed":["seed","dataless"],"vnd.flographit":"gph","vnd.fluxtime.clip":"ftc","vnd.framemaker":["fm","frame","maker","book"],"vnd.frogans.fnc":"fnc","vnd.frogans.ltf":"ltf","vnd.fsc.weblaunch":"fsc","vnd.fujitsu.oasys":"oas","vnd.fujitsu.oasys2":"oa2","vnd.fujitsu.oasys3":"oa3","vnd.fujitsu.oasysgp":"fg5","vnd.fujitsu.oasysprs":"bh2","vnd.fujixerox.ddd":"ddd","vnd.fujixerox.docuworks":"xdw","vnd.fujixerox.docuworks.binder":"xbd","vnd.fuzzysheet":"fzs","vnd.genomatix.tuxedo":"txd","vnd.geogebra.file":"ggb","vnd.geogebra.tool":"ggt","vnd.geometry-explorer":["gex","gre"],"vnd.geonext":"gxt","vnd.geoplan":"g2w","vnd.geospace":"g3w","vnd.gmx":"gmx","vnd.grafeq":["gqf","gqs"],"vnd.groove-account":"gac","vnd.groove-help":"ghf","vnd.groove-identity-message":"gim","vnd.groove-injector":"grv","vnd.groove-tool-message":"gtm","vnd.groove-tool-template":"tpl","vnd.groove-vcard":"vcg","vnd.hal+xml":"hal","vnd.handheld-entertainment+xml":"zmm","vnd.hbci":"hbci","vnd.hhe.lesson-player":"les","vnd.hp-hpgl":"hpgl","vnd.hp-hpid":"hpid","vnd.hp-hps":"hps","vnd.hp-jlyt":"jlt","vnd.hp-pcl":"pcl","vnd.hp-pclxl":"pclxl","vnd.hydrostatix.sof-data":"sfd-hdstx","vnd.ibm.minipay":"mpy","vnd.ibm.modcap":["afp","listafp","list3820"],"vnd.ibm.rights-management":"irm","vnd.ibm.secure-container":"sc","vnd.iccprofile":["icc","icm"],"vnd.igloader":"igl","vnd.immervision-ivp":"ivp","vnd.immervision-ivu":"ivu","vnd.insors.igm":"igm","vnd.intercon.formnet":["xpw","xpx"],"vnd.intergeo":"i2g","vnd.intu.qbo":"qbo","vnd.intu.qfx":"qfx","vnd.ipunplugged.rcprofile":"rcprofile","vnd.irepository.package+xml":"irp","vnd.is-xpr":"xpr","vnd.isac.fcs":"fcs","vnd.jam":"jam","vnd.jcp.javame.midlet-rms":"rms","vnd.jisp":"jisp","vnd.joost.joda-archive":"joda","vnd.kahootz":["ktz","ktr"],"vnd.kde.karbon":"karbon","vnd.kde.kchart":"chrt","vnd.kde.kformula":"kfo","vnd.kde.kivio":"flw","vnd.kde.kontour":"kon","vnd.kde.kpresenter":["kpr","kpt"],"vnd.kde.kspread":"ksp","vnd.kde.kword":["kwd","kwt"],"vnd.kenameaapp":"htke","vnd.kidspiration":"kia","vnd.kinar":["kne","knp"],"vnd.koan":["skp","skd","skt","skm"],"vnd.kodak-descriptor":"sse","vnd.las.las+xml":"lasxml","vnd.llamagraphics.life-balance.desktop":"lbd","vnd.llamagraphics.life-balance.exchange+xml":"lbe","vnd.lotus-1-2-3":"123","vnd.lotus-approach":"apr","vnd.lotus-freelance":"pre","vnd.lotus-notes":"nsf","vnd.lotus-organizer":"org","vnd.lotus-screencam":"scm","vnd.lotus-wordpro":"lwp","vnd.macports.portpkg":"portpkg","vnd.mcd":"mcd","vnd.medcalcdata":"mc1","vnd.mediastation.cdkey":"cdkey","vnd.mfer":"mwf","vnd.mfmp":"mfm","vnd.micrografx.flo":"flo","vnd.micrografx.igx":"igx","vnd.mif":"mif","vnd.mobius.daf":"daf","vnd.mobius.dis":"dis","vnd.mobius.mbk":"mbk","vnd.mobius.mqy":"mqy","vnd.mobius.msl":"msl","vnd.mobius.plc":"plc","vnd.mobius.txf":"txf","vnd.mophun.application":"mpn","vnd.mophun.certificate":"mpc","vnd.ms-artgalry":"cil","vnd.ms-cab-compressed":"cab","vnd.ms-excel.addin.macroenabled.12":"xlam","vnd.ms-excel.sheet.binary.macroenabled.12":"xlsb","vnd.ms-excel.sheet.macroenabled.12":"xlsm","vnd.ms-excel.template.macroenabled.12":"xltm","vnd.ms-fontobject":"eot","vnd.ms-htmlhelp":"chm","vnd.ms-ims":"ims","vnd.ms-lrm":"lrm","vnd.ms-officetheme":"thmx","vnd.ms-powerpoint.addin.macroenabled.12":"ppam","vnd.ms-powerpoint.presentation.macroenabled.12":"pptm","vnd.ms-powerpoint.slide.macroenabled.12":"sldm","vnd.ms-powerpoint.slideshow.macroenabled.12":"ppsm","vnd.ms-powerpoint.template.macroenabled.12":"potm","vnd.ms-project":["mpp","mpt"],"vnd.ms-word.document.macroenabled.12":"docm","vnd.ms-word.template.macroenabled.12":"dotm","vnd.ms-works":["wps","wks","wcm","wdb"],"vnd.ms-wpl":"wpl","vnd.ms-xpsdocument":"xps","vnd.mseq":"mseq","vnd.musician":"mus","vnd.muvee.style":"msty","vnd.mynfc":"taglet","vnd.neurolanguage.nlu":"nlu","vnd.nitf":["ntf","nitf"],"vnd.noblenet-directory":"nnd","vnd.noblenet-sealer":"nns","vnd.noblenet-web":"nnw","vnd.nokia.n-gage.data":"ngdat","vnd.nokia.n-gage.symbian.install":"n-gage","vnd.nokia.radio-preset":"rpst","vnd.nokia.radio-presets":"rpss","vnd.novadigm.edm":"edm","vnd.novadigm.edx":"edx","vnd.novadigm.ext":"ext","vnd.oasis.opendocument.chart-template":"otc","vnd.oasis.opendocument.formula-template":"odft","vnd.oasis.opendocument.image-template":"oti","vnd.olpc-sugar":"xo","vnd.oma.dd2+xml":"dd2","vnd.openofficeorg.extension":"oxt","vnd.openxmlformats-officedocument.presentationml.slide":"sldx","vnd.osgeo.mapguide.package":"mgp","vnd.osgi.dp":"dp","vnd.osgi.subsystem":"esa","vnd.palm":["pdb","pqa","oprc"],"vnd.pawaafile":"paw","vnd.pg.format":"str","vnd.pg.osasli":"ei6","vnd.picsel":"efif","vnd.pmi.widget":"wg","vnd.pocketlearn":"plf","vnd.powerbuilder6":"pbd","vnd.previewsystems.box":"box","vnd.proteus.magazine":"mgz","vnd.publishare-delta-tree":"qps","vnd.pvi.ptid1":"ptid","vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"vnd.realvnc.bed":"bed","vnd.recordare.musicxml":"mxl","vnd.recordare.musicxml+xml":"musicxml","vnd.rig.cryptonote":"cryptonote","vnd.rn-realmedia":"rm","vnd.rn-realmedia-vbr":"rmvb","vnd.route66.link66+xml":"link66","vnd.sailingtracker.track":"st","vnd.seemail":"see","vnd.sema":"sema","vnd.semd":"semd","vnd.semf":"semf","vnd.shana.informed.formdata":"ifm","vnd.shana.informed.formtemplate":"itp","vnd.shana.informed.interchange":"iif","vnd.shana.informed.package":"ipk","vnd.simtech-mindmapper":["twd","twds"],"vnd.smart.teacher":"teacher","vnd.solent.sdkm+xml":["sdkm","sdkd"],"vnd.spotfire.dxp":"dxp","vnd.spotfire.sfs":"sfs","vnd.stepmania.package":"smzip","vnd.stepmania.stepchart":"sm","vnd.sus-calendar":["sus","susp"],"vnd.svd":"svd","vnd.syncml+xml":"xsm","vnd.syncml.dm+wbxml":"bdm","vnd.syncml.dm+xml":"xdm","vnd.tao.intent-module-archive":"tao","vnd.tcpdump.pcap":["pcap","cap","dmp"],"vnd.tmobile-livetv":"tmo","vnd.trid.tpt":"tpt","vnd.triscape.mxs":"mxs","vnd.trueapp":"tra","vnd.ufdl":["ufd","ufdl"],"vnd.uiq.theme":"utz","vnd.umajin":"umj","vnd.unity":"unityweb","vnd.uoml+xml":"uoml","vnd.vcx":"vcx","vnd.visionary":"vis","vnd.vsf":"vsf","vnd.webturbo":"wtb","vnd.wolfram.player":"nbp","vnd.wqd":"wqd","vnd.wt.stf":"stf","vnd.xara":"xar","vnd.xfdl":"xfdl","vnd.yamaha.hv-dic":"hvd","vnd.yamaha.hv-script":"hvs","vnd.yamaha.hv-voice":"hvp","vnd.yamaha.openscoreformat":"osf","vnd.yamaha.openscoreformat.osfpvg+xml":"osfpvg","vnd.yamaha.smaf-audio":"saf","vnd.yamaha.smaf-phrase":"spf","vnd.yellowriver-custom-menu":"cmp","vnd.zul":["zir","zirz"],"vnd.zzazz.deck+xml":"zaz","voicexml+xml":"vxml",widget:"wgt",winhlp:"hlp","wsdl+xml":"wsdl","wspolicy+xml":"wspolicy","x-ace-compressed":"ace","x-authorware-bin":["aab","x32","u32","vox"],"x-authorware-map":"aam","x-authorware-seg":"aas","x-blorb":["blb","blorb"],"x-bzip":"bz","x-bzip2":["bz2","boz"],"x-cfs-compressed":"cfs","x-chat":"chat","x-conference":"nsc","x-dgc-compressed":"dgc","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-eva":"eva","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-freearc":"arc","x-gca-compressed":"gca","x-glulx":"ulx","x-gramps-xml":"gramps","x-install-instructions":"install","x-lzh-compressed":["lzh","lha"],"x-mie":"mie","x-mobipocket-ebook":["prc","mobi"],"x-ms-application":"application","x-ms-shortcut":"lnk","x-ms-xbap":"xbap","x-msbinder":"obd","x-mscardfile":"crd","x-msclip":"clp","application/x-ms-installer":"msi","x-msmediaview":["mvb","m13","m14"],"x-msmetafile":["wmf","wmz","emf","emz"],"x-msmoney":"mny","x-mspublisher":"pub","x-msschedule":"scd","x-msterminal":"trm","x-mswrite":"wri","x-nzb":"nzb","x-pkcs12":["p12","pfx"],"x-pkcs7-certificates":["p7b","spc"],"x-research-info-systems":"ris","x-silverlight-app":"xap","x-sql":"sql","x-stuffitx":"sitx","x-subrip":"srt","x-t3vm-image":"t3","x-tex-tfm":"tfm","x-tgif":"obj","x-xliff+xml":"xlf","x-xz":"xz","x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"xaml+xml":"xaml","xcap-diff+xml":"xdf","xenc+xml":"xenc","xml-dtd":"dtd","xop+xml":"xop","xproc+xml":"xpl","xslt+xml":"xslt","xv+xml":["mxml","xhvml","xvml","xvm"],yang:"yang","yin+xml":"yin",envoy:"evy",fractals:"fif","internet-property-stream":"acx",olescript:"axs","vnd.ms-outlook":"msg","vnd.ms-pkicertstore":"sst","x-compress":"z","x-perfmon":["pma","pmc","pmr","pmw"],"ynd.ms-pkipko":"pko",gzip:["gz","tgz"],"smil+xml":["smi","smil"],"vnd.debian.binary-package":["deb","udeb"],"vnd.hzn-3d-crossword":"x3d","vnd.sqlite3":["db","sqlite","sqlite3","db-wal","sqlite-wal","db-shm","sqlite-shm"],"vnd.wap.sic":"sic","vnd.wap.slc":"slc","x-krita":["kra","krz"],"x-perl":["pm","pl"],yaml:["yaml","yml"]},audio:{amr:"amr","amr-wb":"awb",annodex:"axa",basic:["au","snd"],flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"prs.sid":"sid","x-aiff":"aifc","x-gsm":"gsm","x-ms-wma":"wma","x-ms-wax":"wax","x-pn-realaudio":"ram","x-realaudio":"ra","x-sd2":"sd2",adpcm:"adp",mp4:"mp4a",s3m:"s3m",silk:"sil","vnd.dece.audio":["uva","uvva"],"vnd.digital-winds":"eol","vnd.dra":"dra","vnd.dts":"dts","vnd.dts.hd":"dtshd","vnd.lucent.voice":"lvp","vnd.ms-playready.media.pya":"pya","vnd.nuera.ecelp4800":"ecelp4800","vnd.nuera.ecelp7470":"ecelp7470","vnd.nuera.ecelp9600":"ecelp9600","vnd.rip":"rip",webm:"weba","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",aac:"aac",aiff:["aiff","aif","aff"],opus:"opus",wav:"wav"},chemical:{"x-alchemy":"alc","x-cache":["cac","cache"],"x-cache-csf":"csf","x-cactvs-binary":["cbin","cascii","ctab"],"x-cdx":"cdx","x-chem3d":"c3d","x-cif":"cif","x-cmdf":"cmdf","x-cml":"cml","x-compass":"cpa","x-crossfire":"bsd","x-csml":["csml","csm"],"x-ctx":"ctx","x-cxf":["cxf","cef"],"x-embl-dl-nucleotide":["emb","embl"],"x-gamess-input":["inp","gam","gamin"],"x-gaussian-checkpoint":["fch","fchk"],"x-gaussian-cube":"cub","x-gaussian-input":["gau","gjc","gjf"],"x-gaussian-log":"gal","x-gcg8-sequence":"gcg","x-genbank":"gen","x-hin":"hin","x-isostar":["istr","ist"],"x-jcamp-dx":["jdx","dx"],"x-kinemage":"kin","x-macmolecule":"mcm","x-macromodel-input":"mmod","x-mdl-molfile":"mol","x-mdl-rdfile":"rd","x-mdl-rxnfile":"rxn","x-mdl-sdfile":"sd","x-mdl-tgf":"tgf","x-mmcif":"mcif","x-mol2":"mol2","x-molconn-Z":"b","x-mopac-graph":"gpt","x-mopac-input":["mop","mopcrt","zmt"],"x-mopac-out":"moo","x-ncbi-asn1":"asn","x-ncbi-asn1-ascii":["prt","ent"],"x-ncbi-asn1-binary":"val","x-rosdal":"ros","x-swissprot":"sw","x-vamas-iso14976":"vms","x-vmd":"vmd","x-xtel":"xtel","x-xyz":"xyz"},font:{otf:"otf",woff:"woff",woff2:"woff2"},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe","jfif","jfif-tbnl","jif"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"vnd.djvu":["djvu","djv"],"vnd.wap.wbmp":"wbmp","x-canon-cr2":"cr2","x-canon-crw":"crw","x-cmu-raster":"ras","x-coreldraw":"cdr","x-coreldrawpattern":"pat","x-coreldrawtemplate":"cdt","x-corelphotopaint":"cpt","x-epson-erf":"erf","x-icon":"ico","x-jg":"art","x-jng":"jng","x-nikon-nef":"nef","x-olympus-orf":"orf","x-portable-anymap":"pnm","x-portable-bitmap":"pbm","x-portable-graymap":"pgm","x-portable-pixmap":"ppm","x-rgb":"rgb","x-xbitmap":"xbm","x-xpixmap":"xpm","x-xwindowdump":"xwd",bmp:"bmp",cgm:"cgm",g3fax:"g3",ktx:"ktx","prs.btif":"btif",sgi:"sgi","vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"vnd.dwg":"dwg","vnd.dxf":"dxf","vnd.fastbidsheet":"fbs","vnd.fpx":"fpx","vnd.fst":"fst","vnd.fujixerox.edmics-mmr":"mmr","vnd.fujixerox.edmics-rlc":"rlc","vnd.ms-modi":"mdi","vnd.ms-photo":"wdp","vnd.net-fpx":"npx","vnd.xiff":"xif",webp:"webp","x-3ds":"3ds","x-cmx":"cmx","x-freehand":["fh","fhc","fh4","fh5","fh7"],"x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod",avif:"avifs",heic:["heif","heic"],pjpeg:["pjpg"],"vnd.adobe.photoshop":"psd","x-adobe-dng":"dng","x-fuji-raf":"raf","x-icns":"icns","x-kodak-dcr":"dcr","x-kodak-k25":"k25","x-kodak-kdc":"kdc","x-minolta-mrw":"mrw","x-panasonic-raw":["raw","rw2","rwl"],"x-pentax-pef":["pef","ptx"],"x-sigma-x3f":"x3f","x-sony-arw":"arw","x-sony-sr2":"sr2","x-sony-srf":"srf"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},model:{iges:["igs","iges"],mesh:["msh","mesh","silo"],vrml:["wrl","vrml"],"x3d+vrml":["x3dv","x3dvz"],"x3d+xml":"x3dz","x3d+binary":["x3db","x3dbz"],"vnd.collada+xml":"dae","vnd.dwf":"dwf","vnd.gdl":"gdl","vnd.gtw":"gtw","vnd.mts":"mts","vnd.usdz+zip":"usdz","vnd.vtu":"vtu"},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",plain:["txt","text","brf","conf","def","list","log","in","bas","diff","ksh"],richtext:"rtx",scriptlet:["sct","wsc"],texmacs:"tm","tab-separated-values":"tsv","vnd.sun.j2me.app-descriptor":"jad","vnd.wap.wml":"wml","vnd.wap.wmlscript":"wmls","x-bibtex":"bib","x-boo":"boo","x-c++hdr":["h++","hpp","hxx","hh"],"x-c++src":["c++","cpp","cxx","cc"],"x-component":"htc","x-dsrc":"d","x-diff":"patch","x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas","pp","inc"],"x-pcs-gcd":"gcd","x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcalendar":"vcs","x-vcard":"vcf",n3:"n3","prs.lines.tag":"dsc",sgml:["sgml","sgm"],troff:["t","tr","roff","man","me","ms"],turtle:"ttl","uri-list":["uri","uris","urls"],vcard:"vcard","vnd.curl":"curl","vnd.curl.dcurl":"dcurl","vnd.curl.scurl":"scurl","vnd.curl.mcurl":"mcurl","vnd.dvb.subtitle":"sub","vnd.fly":"fly","vnd.fmi.flexstor":"flx","vnd.graphviz":"gv","vnd.in3d.3dml":"3dml","vnd.in3d.spot":"spot","x-asm":["s","asm"],"x-c":["c","h","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt",javascript:"js",json:"json",markdown:["md","markdown","mdown","markdn"],"vnd.wap.si":"si","vnd.wap.sl":"sl"},video:{avif:"avif","3gpp":"3gp",annodex:"axv",dl:"dl",dv:["dif","dv"],fli:"fli",gl:"gl",mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.dece.hd":["uvh","uvvh"],"vnd.dece.mobile":["uvm","uvvm"],"vnd.dece.pd":["uvp","uvvp"],"vnd.dece.sd":["uvs","uvvs"],"vnd.dece.video":["uvv","uvvv"],"vnd.dvb.file":"dvb","vnd.fvt":"fvt","vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv",mp2t:"ts"},"x-conference":{"x-cooltalk":"ice"},"x-world":{"x-vrml":["vrm","flr","wrz","xaf","xof"]}},no=(()=>{const e={};for(const t of A.keys(Ao))for(const n of A.keys(Ao[t])){const A=Ao[t][n];if("string"==typeof A)e[A]=t+"/"+n;else for(let r=0;r<A.length;r++)e[A[r]]=t+"/"+n}return e})();(e=>{e({workerURI:e=>{const t="text/javascript",A=(e=>{e=(e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,A=[];for(let n=0;t>n;n+=4){const t=ce.indexOf(e[n])<<18|ce.indexOf(e[n+1])<<12|(63&ce.indexOf(e[n+2]))<<6|63&ce.indexOf(e[n+3]);A.push(t>>16&255),"="!==e[n+2]&&A.push(t>>8&255),"="!==e[n+3]&&A.push(255&t)}return new u(A)})(e);let t=new u(1024),A=0;for(let r=0;r<e.length;){const i=e[r++];if(128&i){const a=3+(127&i),s=e[r++]<<8|e[r++],o=A-s;n(A+a);for(let e=0;a>e;e++)t[A++]=t[o+e]}else{const a=i;n(A+a);for(let n=0;a>n&&r<e.length;n++)t[A++]=e[r++]}}return(e=>{let t="";const A=e.length;let n=0;for(;A>n+2;n+=3){const A=e[n]<<16|e[n+1]<<8|e[n+2];t+=ce[A>>18&63]+ce[A>>12&63]+ce[A>>6&63]+ce[63&A]}const r=A-n;if(1===r){const A=e[n]<<16;t+=ce[A>>18&63]+ce[A>>12&63]+"=="}else if(2===r){const A=e[n]<<16|e[n+1]<<8;t+=ce[A>>18&63]+ce[A>>12&63]+ce[A>>6&63]+"="}return t})(new u(t.buffer.slice(0,A)));function n(e){if(t.length<e){let n=2*t.length;for(;e>n;)n*=2;const r=new u(n);r.set(t.subarray(0,A)),t=r}}})("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");if(e){const e=atob(A),n=new p([e],{type:t});return l.createObjectURL(n)}return"data:"+t+";base64,"+A}})})(oe),e.BlobReader=fA,e.BlobWriter=mA,e.Data64URIReader=dA,e.Data64URIWriter=uA,e.ERR_AMBIGUOUS_ARCHIVE=jn,e.ERR_BAD_FORMAT=Gn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=On,e.ERR_DUPLICATED_NAME=Er,e.ERR_ENCRYPTED=Ln,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Tn,e.ERR_EOCDR_NOT_FOUND=Wn,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Kn,e.ERR_HTTP_RANGE=AA,e.ERR_INVALID_COMMENT=Cr,e.ERR_INVALID_COMPRESSED_DATA=mt,e.ERR_INVALID_ENCRYPTION_STRENGTH=Yr,e.ERR_INVALID_ENTRY_COMMENT=xr,e.ERR_INVALID_ENTRY_NAME=yr,e.ERR_INVALID_EXTRAFIELD_DATA=br,e.ERR_INVALID_EXTRAFIELD_TYPE=Dr,e.ERR_INVALID_PASSWORD=be,e.ERR_INVALID_SIGNATURE=ve,e.ERR_INVALID_UNCOMPRESSED_SIZE=ft,e.ERR_INVALID_VERSION=Fr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Rn,e.ERR_OVERLAPPING_ENTRY=Pn,e.ERR_SPLIT_ZIP_FILE=Jn,e.ERR_UNDEFINED_READER=Mr,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=kr,e.ERR_UNSUPPORTED_COMPRESSION=Nn,e.ERR_UNSUPPORTED_ENCRYPTION=Hn,e.ERR_UNSUPPORTED_FORMAT=Sr,e.ERR_ZIP_NOT_EMPTY=Ur,e.HttpRangeReader=class extends SA{constructor(e,t={}){super(e,A.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=SA,e.Reader=cA,e.SplitDataReader=UA,e.SplitDataWriter=zA,e.TextReader=BA,e.TextWriter=pA,e.Uint8ArrayReader=kA,e.Uint8ArrayWriter=MA,e.Writer=lA,e.ZipReader=_n,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:A}=new y,n=new _n(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:A}=await n.next();if(t)return e.close();const r={...A,readable:(()=>{const{readable:e,writable:t}=new y;if(A.getData)return(async()=>{try{await A.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete r.getData,e.enqueue(r)}}),this.writable=A}},e.ZipWriter=Rr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:A}=new y;this.readable=t,this.zipWriter=new Rr(A,e),this.pendingAddFileCalls=new g}transform(e){const t=this.zipWriter;let A;const{readable:n,writable:r}=new y({start(e){A=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Kr(this,this.zipWriter.add(e,n),e=>A.error(e)),{readable:this.readable,writable:r}}writable(e){let t;const{readable:A,writable:n}=new y({start(e){t=e}});return Kr(this,this.zipWriter.add(e,A),e=>t.error(e)),n}async close(e,A={}){return await h.all(t.from(this.pendingAddFileCalls)),this.zipWriter.close(e,A)}},e.configure=oe,e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=si,directoryName:A=oi,getDirectory:n=()=>v.storage.getDirectory()}=e;let r;function i(){return r||(r=h.resolve(n()).then(e=>e.getDirectoryHandle(A,{create:!0}))),r}return async()=>{const e=[];let A,n,r,a,s=0,o=!1;const g=new Y({async write(a){o?await r.write(a):(e.push(a),s+=a.length,s>t&&await(async()=>{const t=await i();A=C.randomUUID(),n=await t.getFileHandle(A,{create:!0}),r=(await n.createWritable()).getWriter(),o=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:g,readable:new F({async pull(t){if(o){if(!a){const e=await n.getFile();a=e.stream().getReader()}const{value:e,done:A}=await a.read();A?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.close()}catch{}r=null}if(A){try{const e=await i();await e.removeEntry(A)}catch{}n=A=null}e.length=0}}}},e.fs=Ps,e.getMimeType=e=>e&&no[e.split(".").pop().toLowerCase()]||"application/octet-stream",e.terminateWorkers=async()=>{await h.allSettled(Nt.map(e=>(eA(e),e.terminate())))}});
|