@zip.js/zip.js 2.8.30 → 2.8.32

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.
Files changed (56) hide show
  1. package/BENCHMARKS.md +82 -1
  2. package/deno.json +5 -4
  3. package/dist/zip-core.js +403 -339
  4. package/dist/zip-core.min.js +1 -1
  5. package/dist/zip-fs-core.js +116 -278
  6. package/dist/zip-fs-core.min.js +1 -1
  7. package/dist/zip-fs-native.js +440 -378
  8. package/dist/zip-fs-native.min.js +1 -1
  9. package/dist/zip-fs.js +439 -377
  10. package/dist/zip-fs.min.js +1 -1
  11. package/dist/zip-legacy.js +408 -344
  12. package/dist/zip-legacy.min.js +1 -1
  13. package/dist/zip-module.wasm +0 -0
  14. package/dist/zip-native.js +411 -347
  15. package/dist/zip-native.min.js +1 -1
  16. package/dist/zip-web-worker-native.js +1 -1
  17. package/dist/zip-web-worker.js +1 -1
  18. package/dist/zip.js +410 -346
  19. package/dist/zip.min.js +1 -1
  20. package/index-native.cjs +440 -378
  21. package/index-native.min.js +1 -1
  22. package/index.cjs +439 -377
  23. package/index.d.cts +2853 -0
  24. package/index.d.ts +278 -1
  25. package/index.min.js +1 -1
  26. package/lib/core/codec-worker.js +1 -11
  27. package/lib/core/configuration.js +21 -33
  28. package/lib/core/constants.js +3 -0
  29. package/lib/core/io.js +11 -19
  30. package/lib/core/streams/aes-crypto-stream.js +16 -20
  31. package/lib/core/streams/common-crypto.js +0 -2
  32. package/lib/core/streams/zip-crypto-stream.js +12 -16
  33. package/lib/core/streams/zip-entry-stream.js +2 -32
  34. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  35. package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +1 -3
  36. package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
  37. package/lib/core/util/base64.js +68 -0
  38. package/lib/core/util/blob-temp-stream.js +124 -0
  39. package/lib/core/util/decode-text.js +0 -1
  40. package/lib/core/util/default-mime-type.js +0 -3
  41. package/lib/core/util/inflate.js +194 -0
  42. package/lib/core/util/mime-type.js +26 -22
  43. package/lib/core/util/opfs-temp-stream.js +1 -37
  44. package/lib/core/util/sync-access-handle-temp-stream.js +147 -0
  45. package/lib/core/web-worker-inline-native.js +1 -1
  46. package/lib/core/web-worker-inline-template-native.js +5 -5
  47. package/lib/core/web-worker-inline-wasm.js +1 -1
  48. package/lib/core/zip-fs.js +6 -13
  49. package/lib/core/zip-reader.js +48 -127
  50. package/lib/core/zip-writer.js +27 -45
  51. package/lib/core/zlib-streams-inline-template.js +3 -2
  52. package/lib/core/zlib-streams-inline.js +1 -1
  53. package/lib/zip-core-base.js +10 -2
  54. package/package.json +9 -6
  55. package/reserved-property-names.js +50 -0
  56. package/lib/core/util/mini-lz.js +0 -198
@@ -1 +1 @@
1
- ((e,A)=>{"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:A,Object:t,String:i,Number:r,BigInt:n,Math:o,Date:a,Map:s,Set:g,Response:l,URL:B,Error:c,Uint8Array:u,Uint16Array:I,Uint32Array:h,DataView:f,Blob:w,Promise:d,TextEncoder:E,TextDecoder:C,document:Y,crypto:F,btoa:Q,TransformStream:p,ReadableStream:D,WritableStream:m,CompressionStream:y,DecompressionStream:S,navigator:b,Worker:M}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==Y?Y.currentScript:null;const G=4294967295,k=65535,W=255,O=67324752,T=134695760,x=T,K=33639248,R=101010256,z=101075792,L=117853008,H=22,N=20,J=21589,v=2048,P=16384,V=2048,X=1024,Z="/",q=30,j=new a(2107,11,31),_=new a(1980,0,1),$=void 0,ee=1/0,Ae="undefined",te="function";let ie=2;try{typeof b!=Ae&&b.hardwareConcurrency&&(ie=b.hardwareConcurrency)}catch{}const re={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof y!=Ae&&y,DecompressionStream:typeof S!=Ae&&S},ne=t.assign({},re);function oe(){return ne}function ae(e){return o.max(e.chunkSize,64)}function se(e){const{baseURI:A,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,workerStarvationTimeout:n,useCompressionStream:o,useWebWorkers:a,CompressionStream:s,DecompressionStream:g,CompressionStreamZlib:l,DecompressionStreamZlib:B,workerURI:c,wasmURI:u}=e;ge("baseURI",A),ge("wasmURI",u),ge("workerURI",c),ge("chunkSize",t),ge("maxWorkers",i),ge("terminateWorkerTimeout",r),ge("workerStarvationTimeout",n),ge("useCompressionStream",o),ge("useWebWorkers",a),ge("CompressionStream",s),ge("DecompressionStream",g),ge("CompressionStreamZlib",l),ge("DecompressionStreamZlib",B)}function ge(e,A){A!==$&&(ne[e]=A)}const le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let A=e;for(let e=0;8>e;e++)A=1&A?A>>>1^3988292384:A>>>1;Be[0][e]=A}for(let e=0;256>e;e++)for(let A=1;8>A;A++){const t=Be[A-1][e];Be[A][e]=t>>>8^Be[0][255&t]}const[ce,ue,Ie,he,fe,we,de,Ee]=Be;class Ce{constructor(e){this.crc=e||-1}append(e){let A=0|this.crc;const t=0|e.length;let i=0;if(t>=8&&e.buffer){const r=new f(e.buffer,e.byteOffset,t),n=t-8;for(;n>=i;i+=8){const e=A^r.getInt32(i,!0),t=r.getInt32(i+4,!0);A=Ee[255&e]^de[e>>>8&255]^we[e>>>16&255]^fe[e>>>24&255]^he[255&t]^Ie[t>>>8&255]^ue[t>>>16&255]^ce[t>>>24&255]}}for(;t>i;i++)A=A>>>8^ce[255&(A^e[i])];this.crc=A}get(){return~this.crc}}class Ye extends p{constructor(){let e;const A=new Ce;super({transform(e,t){A.append(e),t.enqueue(e)},flush(){const t=new u(4);new f(t.buffer).setUint32(0,A.get()),e.value=t}}),e=this}}function Fe(e){if(typeof E==Ae){const A=new u((e=unescape(encodeURIComponent(e))).length);for(let t=0;t<A.length;t++)A[t]=e.charCodeAt(t);return A}return(new E).encode(e)}const Qe={concat(e,A){if(0===e.length||0===A.length)return e.concat(A);const t=e[e.length-1],i=Qe.getPartial(t);return 32===i?e.concat(A):Qe._shiftRight(A,i,0|t,e.slice(0,e.length-1))},bitLength(e){const A=e.length;if(0===A)return 0;const t=e[A-1];return 32*(A-1)+Qe.getPartial(t)},clamp(e,A){if(32*e.length<A)return e;const t=(e=e.slice(0,o.ceil(A/32))).length;return A&=31,t>0&&A&&(e[t-1]=Qe.partial(A,e[t-1]&2147483648>>A-1,1)),e},partial:(e,A,t)=>32===e?A:(t?0|A:A<<32-e)+1099511627776*e,getPartial:e=>o.round(e/1099511627776)||32,_shiftRight(e,A,t,i){for(void 0===i&&(i=[]);A>=32;A-=32)i.push(t),t=0;if(0===A)return i.concat(e);for(let r=0;r<e.length;r++)i.push(t|e[r]>>>A),t=e[r]<<32-A;const r=e.length?e[e.length-1]:0,n=Qe.getPartial(r);return i.push(Qe.partial(A+n&31,A+n>32?t:i.pop(),1)),i}},pe={bytes:{fromBits(e){const A=Qe.bitLength(e)/8,t=new u(A);let i;for(let r=0;A>r;r++)3&r||(i=e[r/4]),t[r]=i>>>24,i<<=8;return t},toBits(e){const A=[];let t,i=0;for(t=0;t<e.length;t++)i=i<<8|e[t],3&~t||(A.push(i),i=0);return 3&t&&A.push(Qe.partial(8*(3&t),i)),A}}},De=class{constructor(e){const A=this;A.blockSize=512,A._init=[1732584193,4023233417,2562383102,271733878,3285377520],A._key=[1518500249,1859775393,2400959708,3395469782],e?(A._h=e._h.slice(0),A._buffer=e._buffer.slice(0),A._length=e._length):A.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const A=this;"string"==typeof e&&(e=pe.utf8String.toBits(e));const t=A._buffer=Qe.concat(A._buffer,e),i=A._length,r=A._length=i+Qe.bitLength(e);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const n=new h(t);let o=0;for(let e=A.blockSize+i-(A.blockSize+i&A.blockSize-1);r>=e;e+=A.blockSize)A._block(n.subarray(16*o,16*(o+1))),o+=1;return t.splice(0,16*o),A}finalize(){const e=this;let A=e._buffer;const t=e._h;A=Qe.concat(A,[Qe.partial(1,1)]);for(let e=A.length+2;15&e;e++)A.push(0);for(A.push(o.floor(e._length/4294967296)),A.push(0|e._length);A.length;)e._block(A.splice(0,16));return e.reset(),t}_f(e,A,t,i){return e>19?e>39?e>59?e>79?void 0:A^t^i:A&t|A&i|t&i:A^t^i:A&t|~A&i}_S(e,A){return A<<e|A>>>32-e}_block(e){const t=this,i=t._h,r=A(80);for(let A=0;16>A;A++)r[A]=e[A];let n=i[0],a=i[1],s=i[2],g=i[3],l=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const A=t._S(5,n)+t._f(e,a,s,g)+l+r[e]+t._key[o.floor(e/20)]|0;l=g,g=s,s=t._S(30,a),a=n,n=A}i[0]=i[0]+n|0,i[1]=i[1]+a|0,i[2]=i[2]+s|0,i[3]=i[3]+g|0,i[4]=i[4]+l|0}},me={importKey:e=>new me.hmacSha1(pe.bytes.toBits(e)),pbkdf2(e,A,t,i){if(t=t||1e4,0>i||0>t)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let n,o,a,s,g;const l=new ArrayBuffer(r),B=new f(l);let u=0;const I=Qe;for(A=pe.bytes.toBits(A),g=1;(r||1)>u;g++){for(n=o=e.encrypt(I.concat(A,[g])),a=1;t>a;a++)for(o=e.encrypt(o),s=0;s<o.length;s++)n[s]^=o[s];for(a=0;(r||1)>u&&a<n.length;a++)B.setInt32(u,n[a]),u+=4}return l.slice(0,i/8)},hmacSha1:class{constructor(e){const A=this,t=A._hash=De,i=[[],[]];A._baseHash=[new t,new t];const r=A._baseHash[0].blockSize/32;e.length>r&&(e=(new t).update(e).finalize());for(let A=0;r>A;A++)i[0][A]=909522486^e[A],i[1][A]=1549556828^e[A];A._baseHash[0].update(i[0]),A._baseHash[1].update(i[1]),A._resultHash=new t(A._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,A=e._resultHash.finalize(),t=new e._hash(e._baseHash[1]).update(A).finalize();return e.reset(),t}encrypt(e){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},ye=typeof F!=Ae&&typeof F.getRandomValues==te,Se="Invalid password",be="Invalid signature",Me="zipjs-abort-check-password";function Ue(e){if(ye)return F.getRandomValues(e);throw new c("Crypto API not supported")}const Ge=16,ke={name:"PBKDF2"},We=t.assign({hash:{name:"HMAC"}},ke),Oe=t.assign({iterations:1e3,hash:{name:"SHA-1"}},ke),Te=["deriveBits"],xe=[8,12,16],Ke=[16,24,32],Re=10,ze=[0,0,0,0],Le=typeof F!=Ae,He=Le&&F.subtle,Ne=Le&&typeof He!=Ae,Je=pe.bytes,ve=class{constructor(e){const A=this;A._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],A._tables[0][0][0]||A._precompute();const t=A._tables[0][4],i=A._tables[1],r=e.length;let n,o,a,s=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(A._key=[o=e.slice(0),a=[]],n=r;4*r+28>n;n++){let e=o[n-1];(n%r===0||8===r&&n%r===4)&&(e=t[e>>>24]<<24^t[e>>16&255]<<16^t[e>>8&255]<<8^t[255&e],n%r===0&&(e=e<<8^e>>>24^s<<24,s=s<<1^283*(s>>7))),o[n]=o[n-r]^e}for(let e=0;n;e++,n--){const A=o[3&e?n:n-4];a[e]=4>=n||4>e?A:i[0][t[A>>>24]]^i[1][t[A>>16&255]]^i[2][t[A>>8&255]]^i[3][t[255&A]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],A=this._tables[1],t=e[4],i=A[4],r=[],n=[];let o,a,s,g;for(let e=0;256>e;e++)n[(r[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!t[l];l^=a||1,o=n[o]||1){let n=o^o<<1^o<<2^o<<3^o<<4;n=n>>8^255&n^99,t[l]=n,i[n]=l,g=r[s=r[a=r[l]]];let B=16843009*g^65537*s^257*a^16843008*l,c=257*r[n]^16843008*n;for(let t=0;4>t;t++)e[t][l]=c=c<<24^c>>>8,A[t][n]=B=B<<24^B>>>8}for(let t=0;5>t;t++)e[t]=e[t].slice(0),A[t]=A[t].slice(0)}_crypt(e,A){if(4!==e.length)throw new c("invalid aes block size");const t=this._key[A],i=t.length/4-2,r=[0,0,0,0],n=this._tables[A],o=n[0],a=n[1],s=n[2],g=n[3],l=n[4];let B,u,I,h=e[0]^t[0],f=e[A?3:1]^t[1],w=e[2]^t[2],d=e[A?1:3]^t[3],E=4;for(let e=0;i>e;e++)B=o[h>>>24]^a[f>>16&255]^s[w>>8&255]^g[255&d]^t[E],u=o[f>>>24]^a[w>>16&255]^s[d>>8&255]^g[255&h]^t[E+1],I=o[w>>>24]^a[d>>16&255]^s[h>>8&255]^g[255&f]^t[E+2],d=o[d>>>24]^a[h>>16&255]^s[f>>8&255]^g[255&w]^t[E+3],E+=4,h=B,f=u,w=I;for(let e=0;4>e;e++)r[A?3&-e:e]=l[h>>>24]<<24^l[f>>16&255]<<16^l[w>>8&255]<<8^l[255&d]^t[E++],B=h,h=f,f=w,w=d,d=B;return r}},Pe=class{constructor(e,A){this._prf=e,this._initIv=A,this._iv=A}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 A=e>>16&255,t=e>>8&255,i=255&e;255===A?(A=0,255===t?(t=0,255===i?i=0:++i):++t):++A,e=0,e+=A<<16,e+=t<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,A,t){let i;if(!(i=A.length))return[];const r=Qe.bitLength(A);for(let r=0;i>r;r+=4){this.incCounter(t);const i=e.encrypt(t);A[r]^=i[0],A[r+1]^=i[1],A[r+2]^=i[2],A[r+3]^=i[3]}return Qe.clamp(A,r)}},Ve=me.hmacSha1;let Xe=Le&&Ne&&typeof He.importKey==te,Ze=Le&&Ne&&typeof He.deriveBits==te;class qe extends p{constructor({password:e,rawPassword:A,encryptionStrength:i,checkPasswordOnly:r}){super({start(){t.assign(this,{ready:new d(e=>this.resolveReady=e),password:eA(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:n,resolveReady:o,ready:a}=t;i?(await(async(e,A,t,i)=>{const r=await $e(e,A,t,tA(i,0,xe[A])),n=tA(i,xe[A]);if(r[0]!=n[0]||r[1]!=n[1])throw new c(Se)})(t,n,i,tA(e,0,xe[n]+2)),e=tA(e,xe[n]+2),r?A.error(new c(Me)):o()):await a;const s=new u(e.length-Re-(e.length-Re)%Ge);A.enqueue(_e(t,e,s,0,Re,!0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:r}=this;if(t&&A){await r;const n=tA(i,0,i.length-Re),o=tA(i,i.length-Re);let a=new u;if(n.length){const e=rA(Je,n);t.update(e);const i=A.update(e);a=iA(Je,i)}const s=tA(iA(Je,t.digest()),0,Re);let g=i.length<Re?1:0;for(let e=0;Re>e;e++)g|=s[e]^o[e];if(g)throw new c(be);e.enqueue(a)}}})}}class je extends p{constructor({password:e,rawPassword:A,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new d(e=>this.resolveReady=e),password:eA(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:r,resolveReady:n,ready:o}=t;let a=new u;i?(a=await(async(e,A,t)=>{const i=Ue(new u(xe[A]));return AA(i,await $e(e,A,t,i))})(t,r,i),n()):await o;const s=new u(a.length+e.length-e.length%Ge);s.set(a,0),A.enqueue(_e(t,e,s,a.length,0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:n}=this;if(t&&A){await n;let o=new u;if(i.length){const e=A.update(rA(Je,i));t.update(e),o=iA(Je,e)}r.signature=iA(Je,t.digest()).slice(0,Re),e.enqueue(AA(o,r.signature))}}}),r=this}}function _e(e,A,t,i,r,n){const{ctr:o,hmac:a,pending:s}=e;s.length&&(A=AA(s,A));const g=A.length-r;let l;for(t=((e,A)=>{if(A&&A>e.length){const t=e;(e=new u(A)).set(t,0)}return e})(t,i+(g-g%Ge)),l=0;g-Ge>=l;l+=Ge){const e=rA(Je,tA(A,l,l+Ge));n&&a.update(e);const r=o.update(e);n||a.update(r),t.set(iA(Je,r),l+i)}return e.pending=tA(A,l),t}async function $e(e,i,r,n){e.password=null;const o=await(async(e,A,t,i,r)=>{if(!Xe)return me.importKey(A);try{return await He.importKey("raw",A,t,!1,r)}catch{return Xe=!1,me.importKey(A)}})(0,r,We,0,Te),a=await(async(e,A,t)=>{if(!Ze)return me.pbkdf2(A,e.salt,Oe.iterations,t);try{return await He.deriveBits(e,A,t)}catch{return Ze=!1,me.pbkdf2(A,e.salt,Oe.iterations,t)}})(t.assign({salt:n},Oe),o,8*(2*Ke[i]+2)),s=new u(a),g=rA(Je,tA(s,0,Ke[i])),l=rA(Je,tA(s,Ke[i],2*Ke[i])),B=tA(s,2*Ke[i]);return t.assign(e,{keys:{key:g,authentication:l,passwordVerification:B},ctr:new Pe(new ve(g),A.from(ze)),hmac:new Ve(l)}),B}function eA(e,A){return A===$?Fe(e):A}function AA(e,A){let t=e;return e.length+A.length&&(t=new u(e.length+A.length),t.set(e,0),t.set(A,e.length)),t}function tA(e,A,t){return e.subarray(A,t)}function iA(e,A){return e.fromBits(A)}function rA(e,A){return e.toBits(A)}class nA extends p{constructor({password:e,rawPassword:A,passwordVerification:i,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),gA(this,e,A)},transform(e,A){const t=this;if(t.password||t.rawPassword){const A=aA(t,e.subarray(0,12));if(t.password=t.rawPassword=null,0!=(A.at(-1)^t.passwordVerification))throw new c(Se);e=e.subarray(12)}r?A.error(new c(Me)):A.enqueue(aA(t,e))}})}}class oA extends p{constructor({password:e,rawPassword:A,passwordVerification:i}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),gA(this,e,A)},transform(e,A){const t=this;let i,r;if(t.password||t.rawPassword){t.password=t.rawPassword=null;const A=Ue(new u(12));A[11]=t.passwordVerification,i=new u(e.length+A.length),i.set(sA(t,A),0),r=12}else i=new u(e.length),r=0;i.set(sA(t,e),r),A.enqueue(i)}})}}function aA(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=BA(e)^A[i],lA(e,t[i]);return t}function sA(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=BA(e)^A[i],lA(e,A[i]);return t}function gA(e,A,i){const r=[305419896,591751049,878082192];if(t.assign(e,{keys:r,crcKey0:new Ce(r[0]),crcKey2:new Ce(r[2])}),i)for(let A=0;A<i.length;A++)lA(e,i[A]);else for(let t=0;t<A.length;t++)lA(e,A.charCodeAt(t))}function lA(e,A){let[,t]=e.keys;e.crcKey0.append([A]);const i=~e.crcKey0.get();t=uA(o.imul(uA(t+cA(i)),134775813)+1),e.crcKey2.append([t>>>24]);const r=~e.crcKey2.get();e.keys=[i,t,r]}function BA(e){const A=2|e.keys[2];return cA(o.imul(A,1^A)>>>8)}function cA(e){return 255&e}function uA(e){return 4294967295&e}const IA="Invalid uncompressed size",hA="Invalid compressed data";class fA extends p{constructor(e,{chunkSize:A,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:n,useCompressionStream:o,zipCrypto:a,signed:s,level:g,deflate64:l}=e,B=this;let c,u,I,h=super.readable;const w=s&&r&&!l&&(!n||a)&&!(!o||!i);n&&!a||!s||w||(c=new Ye,h=YA(h,c)),r&&(w?(I=new wA,h=FA(h,new i("gzip")),h=YA(h,I)):h=CA(h,o,{level:g,chunkSize:A},i,t,i)),n&&(a?h=YA(h,new oA(e)):(u=new je(e),h=YA(h,u))),EA(B,h,()=>{let e;n&&!a&&(e=u.signature),n&&!a||!s||(e=w?I.signature:new f(c.value.buffer).getUint32(0)),B.signature=e})}}class wA extends p{constructor(){let e,A=10,t=new u(0);super({transform(e,i){if(A){const t=o.min(A,e.length);if(A-=t,!(e=e.subarray(t)).length)return}const r=t.length+e.length;if(8>=r){const A=new u(r);return A.set(t),A.set(e,t.length),void(t=A)}const n=r-8,a=new u(n),s=o.min(n,t.length);a.set(t.subarray(0,s),0),n>s&&a.set(e.subarray(0,n-s),s),i.enqueue(a);const g=new u(8),l=t.length-s;l&&g.set(t.subarray(s),0),g.set(e.subarray(n-s),l),t=g},flush(){const A=new f(t.buffer,t.byteOffset,t.byteLength);e.signature=A.getUint32(0,!0),e.uncompressedSize=A.getUint32(4,!0)}}),e=this}}class dA extends p{constructor(e,{chunkSize:A,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:n,signed:o,signature:a,compressed:s,useCompressionStream:g,deflate64:l}=e;let B,u,I=super.readable;n&&(r?I=YA(I,new nA(e)):(u=new qe(e),I=YA(I,u))),s&&(I=CA(I,g,{chunkSize:A,deflate64:l},i,t,i),I=(e=>{const A=e.getReader();return new D({async pull(e){let t;try{t=await A.read()}catch(e){if(e&&e.message)throw e;const A=new c(hA);throw A.cause=e,A}const{value:i,done:r}=t;r?e.close():e.enqueue(i)},cancel:e=>A.cancel(e)})})(I)),n&&!r||!o||(B=new Ye,I=YA(I,B)),EA(this,I,()=>{if((!n||r)&&o){const e=new f(B.value.buffer);if(a!=e.getUint32(0,!1))throw new c(be)}})}}function EA(e,A,i){A=YA(A,new p({flush:i})),t.defineProperty(e,"readable",{get:()=>A})}function CA(e,A,t,i,r,n){const o=A&&i?i:r||n,a=t.deflate64?"deflate64-raw":"deflate-raw";let s;try{s=new o(a,t)}catch(e){if(!A)throw e;if(r)s=new r(a,t);else{if(!n)throw e;s=new n(a,t)}}return FA(e,s)}function YA(e,A){return e.pipeThrough(A)}function FA(e,A){const t=A.writable.getWriter(),i=e.getReader();return(async()=>{try{for(;;){await t.ready;const e=await i.read();if(e.done){await t.close();break}await t.write(e.value)}}catch(e){await(async(e,A)=>{try{await e.abort(A)}catch{}})(t,e),await(async(e,A)=>{try{await e.cancel(A)}catch{}})(i,e)}})(),A.readable}const QA="data",pA="deflate",DA="inflate";class mA extends p{constructor(e,A){super({});const i=this,{codecType:r}=e;let n;r.startsWith(pA)?n=fA:r.startsWith(DA)&&(n=dA),i.outputSize=0;let o=0;const a=new n(e,A),s=super.readable,g=new p({transform(e,A){e&&e.length&&(o+=e.length,A.enqueue(e))},flush(){t.assign(i,{inputSize:o})}}),l=new p({transform(A,t){if(A&&A.length&&(t.enqueue(A),i.outputSize+=A.length,e.outputSize!==$&&i.outputSize>e.outputSize))throw new c(IA)},flush(){const{signature:e}=a;t.assign(i,{signature:e,inputSize:o})}});t.defineProperty(i,"readable",{get:()=>s.pipeThrough(g).pipeThrough(a).pipeThrough(l)})}}class yA extends p{constructor(e){let A;1>e&&(e=65536),super({transform:(t,i)=>{if(A){const e=new u(A.length+t.length);e.set(A),e.set(t,A.length),t=e,A=null}let r=0;for(;t.length-r>e;)i.enqueue(t.slice(r,r+e)),r+=e;A=r?t.slice(r):t},flush(e){A&&A.length&&e.enqueue(A)}})}}const SA={type:"module"},bA="error";let MA,UA,GA,kA,WA=!0;try{WA=typeof structuredClone==te&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class OA{constructor(e,{readable:A,writable:i},{options:r,config:n,streamOptions:o,useWebWorkers:a,transferStreams:s,workerURI:g},l){const{signal:B}=o;return t.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:A.pipeThrough(new yA(ae(n))).pipeThrough(new TA(o),{signal:B}),writable:i,options:t.assign({},r),workerURI:g,transferStreams:s,terminate:()=>new d(A=>{const{worker:t,busy:i}=e;t?(i?e.resolveTerminated=A:(t.terminate(),A()),e.interface=null):A()}),onTaskFinished(){if(e.busy){const{resolveTerminated:A}=e;A&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),A()),e.busy=!1,l(e)}}}),MA===$&&(MA=typeof M!=Ae),(a&&MA?RA:KA)(e,n)}}class TA extends p{constructor({onstart:e,onprogress:A,size:t,onend:i}){let r=0;super({async start(){e&&await xA(e,t)},async transform(e,i){r+=e.length,A&&await xA(A,r,t),i.enqueue(e)},async flush(){i&&await xA(i,r)}})}}async function xA(e,...A){try{await e(...A)}catch{}}function KA(e,A){return{run:()=>(async({options:e,readable:A,writable:t,onTaskFinished:i},r)=>{let n;try{if(!e.useCompressionStream)try{await void 0}catch{const A=e.codecType.startsWith(pA)?r.CompressionStreamZlib:r.DecompressionStreamZlib;A&&!A.requiresModule||(e.useCompressionStream=!0)}n=new mA(e,r),await A.pipeThrough(n).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:o,outputSize:a}=n;return{signature:i,inputSize:o,outputSize:a}}catch(e){throw n&&(e.outputSize=n.outputSize),e}finally{i()}})(e,A)}}function RA(e,A){const{baseURI:i,chunkSize:r}=A;let{wasmURI:n}=A;if(!e.interface){let o;typeof n==te&&(n=n());try{o=LA(e.workerURI,i,e)}catch{return MA=!1,KA(e,A)}t.assign(e,{worker:o,terminated:!1,interface:{run:()=>(async(e,A)=>{let i,r;const n=new d((e,A)=>{i=e,r=A});t.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:n});const{readable:o,options:a}=e,{writable:s,closed:g,abortPipe:l}=(e=>{const A=new AbortController,{writable:t,readable:i}=new p,r=i.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:A.signal});return r.catch(()=>{}),{writable:t,closed:r,abortPipe:()=>A.abort()}})(e.writable);let B;try{B=NA({type:"start",options:a,config:A,readable:o,writable:s},e)}catch(A){l();try{await g}catch{}throw e.onTaskFinished(),A}B||t.assign(e,{reader:o.getReader(),writer:s.getWriter()});try{const e=await n;return await c(),await g,e}catch(e){await c(),l();try{await g}catch{}throw e}async function c(){if(!B&&!s.locked)try{await s.getWriter().close()}catch{}}})(e,{chunkSize:r,wasmURI:n,baseURI:i})}})}return e.interface}function zA(e){const{worker:A}=e;if(A)try{A.terminate()}catch{}e.interface=null}function LA(e,A,i,r,n=!0){let o,a,s;if(GA===$||UA!==e){const t=typeof e==te;a=t?e(n):e;const g=a.startsWith("data:"),l=a.startsWith("blob:");if(g||l){r===$&&(r=!1),r&&(s=SA);try{o=new M(a,s)}catch(n){if(l)try{B.revokeObjectURL(a)}catch{}if(t&&l)return LA(e,A,i,r,!1);if(r)throw n;return LA(e,A,i,!0,!1)}}else{r===$&&(r=!0),r&&(s=SA);try{a=new B(a,A)}catch{}try{o=new M(a,s)}catch(t){if(r)throw t;return LA(e,A,i,!1,n)}}UA=e,GA=a,kA=s}else o=new M(GA,kA);return o.addEventListener("message",e=>(async({data:e},A)=>{const{type:i,value:r,messageId:n,result:o,error:a}=e,{reader:s,writer:g,resolveResult:l,rejectResult:B,onTaskFinished:I,generation:h}=A,f=()=>A.generation!=h;try{if(a){const{message:e,stack:A,code:i,name:r,outputSize:n}=a,o=new c(e);t.assign(o,{stack:A,code:i,name:r,outputSize:n}),w(o)}else{if("pull"==i){const{value:e,done:t}=await s.read();f()||NA({type:QA,value:e,done:t,messageId:n},A)}i==QA&&(await g.ready,await g.write(new u(r)),f()||NA({type:"ack",messageId:n},A)),"close"==i&&w(null,o)}}catch(a){f()||(zA(A),w(a))}function w(e,A){f()||(e?B(e):l(A),g&&g.releaseLock(),I())}})(e,i)),o.addEventListener(bA,e=>HA(e,i)),o.addEventListener("messageerror",e=>HA(e,i)),o}function HA(e,A){e.preventDefault&&e.preventDefault();const{rejectResult:t,writer:i,onTaskFinished:r}=A;zA(A),t&&(t(e.error||new c(e.message||bA)),i&&i.releaseLock(),r())}function NA(e,{worker:A,writer:t,transferStreams:i}){try{const{value:t,readable:r,writable:n}=e,o=[];if(t&&(e.value=t,o.push(e.value.buffer)),i&&WA?(r&&o.push(r),n&&o.push(n)):e.readable=e.writable=null,o.length)try{return A.postMessage(e,o),!0}catch{WA=!1,e.readable=e.writable=null,A.postMessage(e)}else A.postMessage(e)}catch(e){throw t&&t.releaseLock(),e}}let JA=[];const vA=[];let PA,VA,XA=0;async function ZA(e,A){const{options:t,config:i}=A,{transferStreams:n,useWebWorkers:o,useCompressionStream:a,compressed:s,signed:g,encrypted:l}=t,{workerURI:B,maxWorkers:c}=i;A.transferStreams=n||n===$;const u=!(s||g||l||A.transferStreams);return A.useWebWorkers=!u&&(o||o===$&&i.useWebWorkers),A.workerURI=A.useWebWorkers&&B?B:$,t.useCompressionStream=a||a===$&&i.useCompressionStream,(await(async()=>{const t=JA.find(e=>!e.busy);if(t)return et(t),new OA(t,e,A,I);if(JA.length<c){const t={indexWorker:XA};return XA++,JA.push(t),new OA(t,e,A,I)}return new d(t=>{vA.push({resolve:t,stream:e,workerOptions:A}),VA=i.workerStarvationTimeout,qA()})})()).run();function I(e){if(jA(),vA.length){const[{resolve:A,stream:t,workerOptions:i}]=vA.splice(0,1);A(new OA(e,t,i,I)),qA()}else e.worker?(et(e),((e,A)=>{const{config:t}=A,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{JA=JA.filter(A=>A!=e);try{await e.terminate()}catch{}},i))})(e,A)):JA=JA.filter(A=>A!=e)}}function qA(){!PA&&vA.length&&r.isFinite(VA)&&VA>=0&&(PA=setTimeout(_A,VA))}function jA(){PA&&(clearTimeout(PA),PA=null)}function _A(){if(PA=null,vA.length){const[{resolve:e,stream:A,workerOptions:i}]=vA.splice(0,1),r=t.assign({},i,{useWebWorkers:!1,workerURI:$});e(new OA({},A,r,$A)),qA()}}function $A(){jA(),qA()}function et(e){const{terminateTimeout:A}=e;A&&(clearTimeout(A),e.terminateTimeout=null)}const At="HTTP error ",tt="HTTP Range not supported",it="Content-Range",rt="Range",nt="GET",ot="bytes",at=65536,st="writable";class gt{constructor(){this.size=0}init(){this.initialized=!0}}class lt extends gt{get readable(){const e=this,{chunkSize:A=at}=e,t=new D({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:n,diskNumberStart:a}=t,{chunkOffset:s}=this,g=n===$?A:o.min(A,n-s),l=await kt(e,r+s,g,a);i.enqueue(l),s+A>n||n===$&&!l.length&&g?i.close():this.chunkOffset+=A}});return t}}class Bt extends gt{constructor(){super();const e=this,A=new m({write(A){if(!e.initialized)throw new c("Writer not initialized");return e.writeUint8Array(A)}});t.defineProperty(e,st,{get:()=>A})}writeUint8Array(){}}class ct extends lt{constructor(e){super(),t.assign(this,{blob:e,size:e.size})}async readUint8Array(e,A){const t=this,i=e+A,r=e||i<t.size?t.blob.slice(e,i):t.blob;let n=await r.arrayBuffer();return n.byteLength>A&&(n=n.slice(e,i)),new u(n)}}class ut extends gt{constructor(e){super();const A=this,i=new p,r=[];e&&r.push(["Content-Type",e]),t.defineProperty(A,st,{get:()=>i.writable}),A.blob=new l(i.readable,{headers:r}).blob(),A.blob.catch(()=>{})}getData(){return this.blob}}class It extends lt{constructor(e,A){super(),ft(this,e,A)}async init(){await wt(this,Dt,Yt),super.init()}readUint8Array(e,A){return dt(this,e,A,Dt,Yt)}}class ht extends lt{constructor(e,A){super(),ft(this,e,A)}async init(){await wt(this,mt,Ft),super.init()}readUint8Array(e,A){return dt(this,e,A,mt,Ft)}}function ft(e,A,i){const{preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:o,combineSizeEocd:a,fetch:s}=i;delete(i=t.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,delete i.fetch,t.assign(e,{url:A,options:i,preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:o,combineSizeEocd:a,fetch:s})}async function wt(e,A,t){const{url:i,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:s}=e;if((e=>{const{baseURI:A}=oe(),{protocol:t}=new B(e,A);return"http:"==t||"https:"==t})(i)&&(o||a)&&(void 0===n||n)){const i=await A(nt,e,Et(e,s?-22:void 0)),n=i.headers.get("Accept-Ranges");if(!(a||n&&n.toLowerCase()==ot))throw new c(tt);{if(s){const A=new u(await i.arrayBuffer());206==i.status&&A.length==H&&(e.eocdCache=A)}let n;const o=i.headers.get(it);if(o){const e=o.trim().split(/\s*\/\s*/);if(e.length){const A=e[1];A&&"*"!=A&&(n=r(A))}}n===$?await pt(e,A,t):e.size=n}}else await pt(e,A,t)}async function dt(e,A,t,i,n){const{useRangeHeader:o,forceRangeRequests:a,eocdCache:s,size:g,options:l}=e;if(o||a){if(s&&A==g-H&&t==H)return s;if(g>A&&0!==t){A+t>g&&(t=g-A);const n=await i(nt,e,Et(e,A,t));if(206!=n.status)throw new c(tt);const o=n.headers.get(it);if(o){const e=r(o.trim().split(/[\s-]+/)[1]);if(!r.isNaN(e)&&e!=A)throw new c(tt)}const a=new u(await n.arrayBuffer());if(a.length!=t)throw new c(tt);return a}return new u}{const{data:i}=e;return i||await n(e,l),new u(e.data.subarray(A,A+t))}}function Et(e,A=0,i=1){return t.assign({},Ct(e),{[rt]:ot+"="+(0>A?A:A+"-"+(A+i-1))})}function Ct({options:e}){const{headers:A}=e;if(A)return Symbol.iterator in A?t.fromEntries(A):A}async function Yt(e){await Qt(e,Dt)}async function Ft(e){await Qt(e,mt)}async function Qt(e,A){const t=await A(nt,e,Ct(e));e.data=new u(await t.arrayBuffer()),e.size=e.data.length}async function pt(e,A,t){if(e.preventHeadRequest)await t(e,e.options);else{const i=await A("HEAD",e,Ct(e)),n=i.headers.get("Content-Length");n&&!i.headers.get("Content-Encoding")?e.size=r(n):await t(e,e.options)}}async function Dt(e,{fetch:A=fetch,options:i,url:r},n){const o=await A(r,t.assign({},i,{method:e,headers:n}));if(400>o.status)return o;throw 416==o.status?new c(tt):new c(At+(o.statusText||o.status))}function mt(e,{url:A},i){return new d((r,n)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(400>o.status){const e=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(A=>{const t=A.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(t)}),r({status:o.status,arrayBuffer:()=>o.response,headers:new s(e)})}else n(416==o.status?new c(tt):new c(At+(o.statusText||o.status)))},!1),o.addEventListener("error",e=>n(e.detail?e.detail.error:new c("Network error")),!1),o.open(e,A),i)for(const e of t.entries(i))o.setRequestHeader(e[0],e[1]);o.responseType="arraybuffer",o.send()})}class yt extends lt{constructor(e,A={}){super(),t.assign(this,{url:e,reader:A.useXHR&&!A.fetch?new ht(e,A):new It(e,A)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,A){return this.reader.readUint8Array(e,A)}}class St extends lt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:A}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await d.all(A.map(async(t,i)=>{await Gt(t),i!=A.length-1&&(e.lastDiskOffset+=t.size),e.size+=t.size})),super.init()}async readUint8Array(e,A,t=0){const i=this,{readers:r}=this;let n,a=t;-1==a&&(a=r.length-1);let s=e;for(;r[a]&&s>=r[a].size;)s-=r[a].size,a++;const g=r[a];if(g){const r=g.size;if(s+A>r){const o=r-s;n=new u(A);const a=await kt(g,s,o);n.set(a,0);const l=await i.readUint8Array(e+o,A-o,t);n.set(l,o),a.length+l.length<A&&(n=n.subarray(0,a.length+l.length))}else n=await kt(g,s,A)}else n=new u;return i.lastDiskNumber=o.max(a,i.lastDiskNumber),n}}class bt extends gt{constructor(e,A=4294967295){super();const i=this;let r,n,o;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:A,availableSize:A});const a=new m({async write(A){const{availableSize:t}=i;if(o)A.length<t?await s(A):(await s(A.subarray(0,t)),await g(),i.diskOffset+=r.size,i.diskNumber++,o=null,i.availableSize=i.maxSize,A.length>t&&await this.write(A.subarray(t)));else{const{value:t,done:a}=await e.next();if(a&&!t)throw new c("Writer iterator completed too soon");r=t,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await Gt(r),n=t.writable,o=n.getWriter(),await this.write(A)}},async close(){o&&(await o.ready,await g())},async abort(e){o&&await o.abort(e)}});async function s(e){const A=e.length;A&&(await o.ready,await o.write(e),r.size+=A,i.availableSize-=A)}async function g(){await o.close()}t.defineProperty(i,st,{get:()=>a})}}class Mt{constructor(e){return A.isArray(e)&&(e=new St(e)),e instanceof D&&(e={readable:e}),e}}class Ut{constructor(e){return e.writable===$&&typeof e.next==te&&(e=new bt(e)),e instanceof m&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof bt||t.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function Gt(e,A){if(!e.init||e.initialized)return d.resolve();await e.init(A)}function kt(e,A,t,i){return e.readUint8Array(A,t,i)}const Wt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Ot(e,A){return A&&"cp437"==A.trim().toLowerCase()?(e=>{{let A="";for(let t=0;t<e.length;t++)A+=Wt[e[t]];return A}})(e):new C(A,{ignoreBOM:!0}).decode(e)}const Tt="filename",xt="rawFilename",Kt="comment",Rt="rawComment",zt="uncompressedSize",Lt="compressedSize",Ht="offset",Nt="diskNumberStart",Jt="lastModDate",vt="rawLastModDate",Pt="lastAccessDate",Vt="creationDate",Xt="rawCreationDate",Zt="internalFileAttributes",qt="externalFileAttributes",jt="msdosAttributesRaw",_t="msdosAttributes",$t="msDosCompatible",ei="zip64",Ai="encrypted",ti="version",ii="versionMadeBy",ri="zipCrypto",ni="directory",oi="executable",ai="compressionMethod",si="signature",gi="extraField",li="unixMode",Bi="setuid",ci="setgid",ui="sticky",Ii=[Tt,xt,zt,Lt,Jt,vt,Kt,Rt,Pt,Vt,Xt,Ht,Nt,Zt,qt,jt,_t,$t,ei,Ai,ti,ii,ri,ni,oi,ai,si,gi,"extraFieldUnix","extraFieldInfoZip","uid","gid",li,Bi,ci,ui,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class hi{constructor(e){Ii.forEach(A=>this[A]=e[A])}}const fi="password",wi="rawPassword",di="passThrough",Ei="signal",Ci="checkAmbiguity",Yi="useWebWorkers",Fi="useCompressionStream",Qi="transferStreams",pi="preventClose",Di="offset",mi="strictness",yi="strict",Si="tolerant",bi="File format is not recognized",Mi="End of central directory not found",Ui="End of Zip64 central directory locator not found",Gi="Central directory header not found",ki="Local file header not found",Wi="Zip64 extra field not found",Oi="File contains encrypted entry",Ti="Encryption method not supported",xi="Compression method not supported",Ki="Split zip file",Ri="Overlapping entry found",zi="Ambiguous archive",Li="utf-8",Hi="cp437",Ni=[[zt,G],[Lt,G],[Ht,G],[Nt,k]],Ji={[k]:{getValue:Br,bytes:4},[G]:{getValue:cr,bytes:8}};class vi{constructor(e,A={}){t.assign(this,{reader:new Mt(e),options:A,config:oe(),readRanges:new s})}async*getEntriesGenerator(e={}){const A=this;let{reader:i}=A;const{config:r}=A;if(await Gt(i),i.size!==$&&i.readUint8Array||(i=new ct(await new l(i.readable).blob()),await Gt(i)),i.size<H)throw new c(bi);i.chunkSize=ae(r);const n=_i(or(A,e,mi),or(A,e,Ci)),a=n==yi,s=n!=Si,B=((e,A)=>e!==$?e:A==yi?0:A==Si?1/0:k)(or(A,e,"maxAppendedDataSize"),n),{endOfDirectoryInfo:I,endOfDirectoryReachingEndCount:h}=await(async(e,A,t)=>{const{size:i}=e,r=o.min(i,65557),n=i-r,a=await kt(e,n,r),s=ur(a),g={count:$i};let l,B,c=0;for(let t=a.length-H;t>=0;t--)if(Br(s,t)==R){const r=n+t,o=lr(s,t+20);if(r+H+o==i){const o=await ir(e,s,n,t,r,i,g);if(o==tr){if(l||(l={offset:r,buffer:a.slice(t,t+H).buffer}),c++,!A||c>1)break}else o!=Ar||B||(B={offset:r,buffer:a.slice(t,t+H).buffer})}}return l||(l=B),l||(l=await(async(e,A,t)=>{const{size:i}=e,r=o.min(i,A==1/0?i:65557+A),n=i-r,a=await kt(e,n,r),s=ur(a);let g,l;for(let A=a.length-H;A>=0;A--)if(Br(s,A)==R){const r=n+A,o={offset:r,buffer:a.slice(A,A+H).buffer};g||(g=o);const B=await ir(e,s,n,A,r,i,t);if(B==tr)return o;B!=Ar||l||(l=o)}return l||g})(e,t,g)),{endOfDirectoryInfo:l,endOfDirectoryReachingEndCount:c}})(i,s,B);if(!I)throw Br(ur(await kt(i,0,4)))==T?new c(Ki):new c(Mi);s&&h>1&&nr("multiple end of central directory records");const f=ur(I);let w=Br(f,12),E=Br(f,16);const C=I.offset,Y=lr(f,20),F=C+H+Y;i.size-F>B&&nr("appended data");let Q=lr(f,4);const D=i.lastDiskNumber||0;let m,y,S=lr(f,6),b=lr(f,10),M=0;if(E==G||w==G||b==k||S==k){const e=I.offset<N?new u:await kt(i,I.offset-N,N),A=ur(e);if(e.length==N&&Br(A,0)==L){E=cr(A,8);let e=await kt(i,E,56,-1),t=ur(e);const r=I.offset-N-56-(i.lastDiskOffset||0);if((56>e.length||Br(t,0)!=z)&&E!=r&&r>=0){const A=E;E=r,E>A&&(M=E-A),e=await kt(i,E,56,-1),t=ur(e)}if(56>e.length||Br(t,0)!=z)throw new c(Ui);y=!0,Q==k?Q=Br(t,16):a&&Q!=Br(t,16)&&nr("mismatched zip64 end of central directory record"),S==k?S=Br(t,20):a&&S!=Br(t,20)&&nr("mismatched zip64 end of central directory record"),b==k?b=cr(t,32):a&&b!=cr(t,32)&&nr("mismatched zip64 end of central directory record"),w==G?w=cr(t,40):a&&w!=cr(t,40)&&nr("mismatched zip64 end of central directory record"),E=cr(t,48)+M}}const U=w,O=I.offset-(y?76:0);if(E<i.size||(M=i.size-E-w-H,E=i.size-w-H),D!=Q)throw new c(Ki);if(0>E)throw new c(bi);let x=0,J=await kt(i,E,w,S),v=ur(J);if(w){if(4>J.length)throw new c(bi);const e=O-w-(i.lastDiskOffset||0);if(E!=e&&S==Q){let A=!(Br(v,x)==K);if(A||0>e||e+4>i.size||(A=Br(ur(await kt(i,e,4,S)),0)==K),A){const A=E;E=e,E>A&&(M+=E-A),J=await kt(i,E,w,S),v=ur(J)}}}const q=O-E-(i.lastDiskOffset||0);if(w==q||0>q||S!=Q||(w=q,J=await kt(i,E,w,S),v=ur(J)),0>E||E>=i.size)throw new c(bi);m=E;const j=or(A,e,"filenameEncoding"),_=or(A,e,"commentEncoding"),ee=a?new g:$;let Ae;for(let n=0;b>n;n++){const s=new Pi(i,r,A.options);if(x+46>J.length||Br(v,x)!=K)throw new c(Gi);Vi(s,v,x+6);const g=!!s.bitFlag.languageEncodingFlag,B=x+46,u=B+s.filenameLength,I=u+s.extraFieldLength,h=lr(v,x+4),f=!(h>>8),w=h>>8==3,E=J.subarray(B,u),C=lr(v,x+32),Y=I+C,F=J.subarray(I,Y),Q=g,D=g,y=Br(v,x+38),S=y&W,U={readOnly:!!(1&S),hidden:!!(2&S),system:!!(4&S),directory:!!(16&S),archive:!!(32&S)},G=Br(v,x+42),O=or(A,e,"decodeText")||Ot,T=Q?Li:j||Hi,R=D?Li:_||Hi;let z=O(E,T);z===$&&(z=Ot(E,T));let L=O(F,R);L===$&&(L=Ot(F,R)),t.assign(s,{index:n,versionMadeBy:h,msDosCompatible:f,compressedSize:0,uncompressedSize:0,commentLength:C,offset:G,diskNumberStart:lr(v,x+34),internalFileAttributes:lr(v,x+36),externalFileAttributes:y,msdosAttributesRaw:S,msdosAttributes:U,rawFilename:E,filenameUTF8:Q,commentUTF8:D,rawExtraField:J.subarray(u,I),rawComment:F,filename:z,comment:L}),Xi(s,s,v,x+6),s.offset+=M,m=o.min(s.offset,m),a&&(ee.has(s.filename)&&(Ae=!0),ee.add(s.filename));const H=s.externalFileAttributes>>16&k;s.unixMode===$&&16877&H&&(s.unixMode=H);const N=!!(s.unixMode&V),q=!!(s.unixMode&X),te=!!(512&s.unixMode),ie=s.unixMode!==$?!!(73&s.unixMode):w&&!!(73&H),re=s.unixMode!==$&&(61440&s.unixMode)==P,ne=(61440&H)==P;t.assign(s,{setuid:N,setgid:q,sticky:te,unixExternalUpper:H,internalFileAttribute:s.internalFileAttributes,externalFileAttribute:s.externalFileAttributes,executable:ie,directory:re||ne||f&&U.directory||s.filename.endsWith(Z)&&!s.uncompressedSize,zipCrypto:s.encrypted&&!s.extraFieldAES});const oe=new hi(s);oe.getData=(e,t)=>s.getData(e,oe,A.readRanges,t),oe.arrayBuffer=async e=>{const t=new p,[i]=await d.all([new l(t.readable).arrayBuffer(),s.getData(t,oe,A.readRanges,e)]);return i},x=Y;const{onprogress:ae}=e;if(ae)try{await ae(n+1,b,new hi(s))}catch{}yield oe}a&&x!=U&&nr("trailing central directory data"),Ae&&nr("duplicate filename"),a&&(M||b&&m>0)&&nr("prepended data");const te=or(A,e,"extractPrependedData"),ie=or(A,e,"extractAppendedData");return te&&(A.prependedData=m>0?await kt(i,0,m):new u),A.comment=Y?await kt(i,C+H,Y):new u,ie&&(A.appendedData=F<i.size?await kt(i,F,i.size-F):new u),!0}async getEntries(e={}){const A=[];for await(const t of this.getEntriesGenerator(e))A.push(t);return A}async close(){}}class Pi{constructor(e,A,i){t.assign(this,{reader:e,config:A,options:i})}async getData(e,A,i,r={}){const n=this,{reader:a,index:s,offset:g,diskNumberStart:l,extraFieldAES:B,extraFieldZip64:I,compressionMethod:h,config:f,bitFlag:w,signature:d,rawLastModDate:E,uncompressedSize:C,compressedSize:Y}=n,{dataDescriptor:F}=w,Q=A.localDirectory={},p=await kt(a,g,q,l),D=ur(p);let y=or(n,r,fi),S=or(n,r,wi);const b=or(n,r,di);if(y=y&&y.length&&y,S=S&&S.length&&S,B&&99!=B.originalCompressionMethod)throw new c(xi);if(0!=h&&8!=h&&9!=h&&!b)throw new c(xi);if(p.length<q||Br(D,0)!=O)throw new c(ki);Vi(Q,D,4);const{extraFieldLength:M,filenameLength:U}=Q,G=_i(or(n,r,mi),or(n,r,Ci))==yi;let k=new u;if(G&&(U||M)){const e=await kt(a,g+q,U+M,l);k=e.subarray(0,U),Q.rawExtraField=e.subarray(U)}else Q.rawExtraField=M?await kt(a,g+q+U,M,l):new u;Xi(n,Q,D,4,!0),G&&((e,A,t)=>{const{rawFilename:i}=e;(t.length!=i.length||t.some((e,A)=>e!=i[A]))&&nr("mismatched local file header (filename)"),(2057&A.rawBitFlag)!=(2057&e.rawBitFlag)&&nr("mismatched local file header (general purpose bit flag)"),A.compressionMethod!=e.compressionMethod&&nr("mismatched local file header (compression method)"),A.bitFlag.dataDescriptor||!(A.signature||A.compressedSize||A.uncompressedSize)||A.signature==e.signature&&A.compressedSize==e.compressedSize&&A.uncompressedSize==e.uncompressedSize||nr("mismatched local file header (signature or sizes)")})(n,Q,k);const{lastAccessDate:T,creationDate:K}=Q;T&&(A.lastAccessDate=T),K&&(A.creationDate=K);const R=n.encrypted&&Q.encrypted&&!b,z=R&&!B;if(b||(A.zipCrypto=z),R){if(!z&&B.strength===$)throw new c(Ti);if(!y&&!S)throw new c(Oi)}const L=g+q+U+M,H=Y,N=a.readable;t.assign(N,{diskNumberStart:l,offset:L,size:H});const J=or(n,r,Ei),v=or(n,r,"checkPasswordOnly");let P=or(n,r,"checkOverlappingEntry");const V=or(n,r,"checkOverlappingEntryOnly");V&&(P=!0);const{onstart:X,onprogress:Z,onend:j}=r,_=9==h;let ee=or(n,r,Fi);_&&(ee=!1);const Ae={options:{codecType:DA,password:y,rawPassword:S,zipCrypto:z,encryptionStrength:B&&B.strength,signed:or(n,r,"checkSignature")&&!b,passwordVerification:z&&(F?E>>>8&W:d>>>24&W),outputSize:b?Y:C,signature:d,compressed:0!=h&&!b,encrypted:R,useWebWorkers:or(n,r,Yi),useCompressionStream:ee,transferStreams:or(n,r,Qi),deflate64:_,checkPasswordOnly:v},config:f,streamOptions:{signal:J,size:H,onstart:X,onprogress:Z,onend:j}};let te;P&&await(async({reader:e,fileEntry:A,index:t,offset:i,diskNumberStart:r,signature:n,compressedSize:a,uncompressedSize:s,dataOffset:g,dataDescriptor:l,extraFieldZip64:B,readRanges:u})=>{let I=0;if(r&&e.readers)for(let A=0;A<o.min(r,e.readers.length);A++)I+=e.readers[A].size;let h=0;if(l&&(h=B?20:12),h){const t=await kt(e,g+a,h+4,r);if(t.length==h+4&&Br(ur(t),0)==x){const e=Br(ur(t),4);let i,r;B?(i=cr(ur(t),8),r=cr(ur(t),16)):(i=Br(ur(t),8),r=Br(ur(t),12)),(A.encrypted&&!A.zipCrypto||e==n)&&i==a&&r==s&&(h+=4)}}const f={start:I+i,end:I+g+a+h,fileEntry:A};for(const[e,A]of u)if(e!=t&&f.start<A.end&&A.start<f.end){const e=new c(Ri);throw e.overlappingEntry=A.fileEntry,e}u.set(t,f)})({reader:a,fileEntry:A,index:s,offset:g,diskNumberStart:l,signature:d,compressedSize:Y,uncompressedSize:C,dataOffset:L,dataDescriptor:F||Q.bitFlag.dataDescriptor,extraFieldZip64:I||Q.extraFieldZip64,readRanges:i});try{if(!V){v&&(e=new m),e=new Ut(e),await Gt(e,b?Y:C),({writable:te}=e);const{outputSize:A}=await ZA({readable:N,writable:te},Ae);if(e.size+=A,A!=(b?Y:C))throw new c(IA)}}catch(A){if(A.outputSize!==$&&(e.size+=A.outputSize),!v||A.message!=Me)throw A}finally{or(n,r,pi)||!te||te.locked||await te.getWriter().close()}return v||V?$:e.getData?e.getData():te}}function Vi(e,A,i){const r=e.rawBitFlag=lr(A,i+2),n=!(1&~r),o=Br(A,i+6);t.assign(e,{encrypted:n,version:lr(A,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&v)==v},rawLastModDate:o,lastModDate:ar(o),filenameLength:lr(A,i+22),extraFieldLength:lr(A,i+24)})}function Xi(e,A,i,r,n){const{rawExtraField:o}=A,g=A.extraField=new s,l=ur(new u(o));let B=0;try{for(;B<o.length;){const e=lr(l,B),A=lr(l,B+2);g.set(e,{type:e,data:o.slice(B+4,B+4+A)}),B+=4+A}}catch{}const I=lr(i,r+4);t.assign(A,{signature:Br(i,r+10),compressedSize:Br(i,r+14),uncompressedSize:Br(i,r+18)});const h=g.get(1);h&&(((e,A)=>{A.zip64=!0;const t=ur(e.data),i=Ni.filter(([e,t])=>A[e]==t),r=i.reduce((e,[,A])=>e+Ji[A].bytes,0);if(e.data.length<r)throw new c(Wi);for(let r=0,n=0;r<i.length;r++){const[o,a]=i[r],s=Ji[a];A[o]=e[o]=s.getValue(t,n),n+=s.bytes}})(h,A),A.extraFieldZip64=h);const f=g.get(28789);f&&(Zi(f,Tt,xt,A,e),A.extraFieldUnicodePath=f);const w=g.get(25461);w&&(Zi(w,Kt,Rt,A,e),A.extraFieldUnicodeComment=w);const d=g.get(39169);d&&d.data.length>=7?(((e,A,i)=>{const r=ur(e.data),n=gr(r,4);t.assign(e,{vendorVersion:gr(r,0),vendorId:gr(r,2),strength:n,originalCompressionMethod:i,compressionMethod:lr(r,5)}),A.compressionMethod=e.compressionMethod})(d,A,I),A.extraFieldAES=d):A.compressionMethod=I;const E=g.get(10);E&&(((e,A)=>{const i=ur(e.data);let r,n=4;try{for(;n<e.data.length&&!r;){const A=lr(i,n),t=lr(i,n+2);1==A&&(r=e.data.slice(n+4,n+4+t)),n+=4+t}}catch{}try{if(r&&24==r.length){const i=ur(r),n=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),a=i.getBigUint64(16,!0);t.assign(e,{rawLastModDate:n,rawLastAccessDate:o,rawCreationDate:a});const s={lastModDate:sr(n),lastAccessDate:sr(o),creationDate:sr(a)};t.assign(e,s),t.assign(A,s)}}catch{}})(E,A),A.extraFieldNTFS=E);const C=g.get(30805);if(C)qi(C,A,!1),A.extraFieldUnix=C;else{const e=g.get(30837);e&&(qi(e,A,!0),A.extraFieldInfoZip=e)}const Y=g.get(J);Y&&(((e,A,t)=>{if(!e.data.length)return;const i=ur(e.data),r=gr(i,0),n=[],o=[];t?(1&~r||(n.push(Jt),o.push(vt)),2&~r||(n.push(Pt),o.push("rawLastAccessDate")),4&~r||(n.push(Vt),o.push(Xt))):5>e.data.length||(n.push(Jt),o.push(vt));let s=1;n.forEach((t,r)=>{if(e.data.length>=s+4){const n=Br(i,s);A[t]=e[t]=new a(1e3*(0|n));const g=o[r];e[g]=n}s+=4})})(Y,A,n),A.extraFieldExtendedTimestamp=Y);const F=g.get(6534);F&&(A.extraFieldUSDZ=F)}function Zi(e,A,i,r,n){if(5>e.data.length)return void(e.valid=!1);const o=ur(e.data),a=new Ce;a.append(n[i]);const s=ur(new u(4));s.setUint32(0,a.get(),!0);const g=Br(o,1);t.assign(e,{version:gr(o,0),[A]:Ot(e.data.subarray(5)),valid:!n.bitFlag.languageEncodingFlag&&g==Br(s,0)}),e.valid&&(r[A]=e[A],r[A+"UTF8"]=!0)}function qi(e,A,i){try{const r=ur(new u(e.data));let n,o;if(i){let A=0;const i=gr(r,A++),a=gr(r,A++);n=ji(e.data.subarray(A,A+a)),A+=a;const s=gr(r,A++);o=ji(e.data.subarray(A,A+s)),t.assign(e,{version:i,uid:n,gid:o})}else 4>e.data.length||(n=lr(r,0),o=lr(r,2),t.assign(e,{uid:n,gid:o}));n!==$&&(A.uid=n),o!==$&&(A.gid=o)}catch{}}function ji(e){const A=new u(4);return A.set(e,0),new f(A.buffer,A.byteOffset,4).getUint32(0,!0)}function _i(e,A){return e===$?A?yi:"balanced":e}const $i=64,er=0,Ar=1,tr=2;async function ir(e,A,t,i,r,n,o){const a=lr(A,i+10),s=Br(A,i+12),g=Br(A,i+16);if(a==k||s==G||g==G)return await rr(e,A,t,r-N,n,o)==L?tr:er;if(!a&&!s)return Ar;for(const i of[r-s,g])if(await rr(e,A,t,i,n,o)==K)return tr;return er}async function rr(e,A,t,i,r,n){return 0>i||i+4>r?$:t>i?n.count>0?(n.count--,Br(ur(await kt(e,i,4)),0)):$:Br(A,i-t)}function nr(e){const A=new c(zi);throw A.reason=e,A}function or(e,A,t){return A[t]===$?e.options[t]:A[t]}function ar(e){const A=(4294901760&e)>>16,t=e&k;try{return new a(1980+((65024&A)>>9),((480&A)>>5)-1,31&A,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function sr(e){return new a(r(e/n(1e4)-n(116444736e5)))}function gr(e,A){return e.getUint8(A)}function lr(e,A){return e.getUint16(A,!0)}function Br(e,A){return e.getUint32(A,!0)}function cr(e,A){return r(e.getBigUint64(A,!0))}function ur(e){return new f(e.buffer,e.byteOffset,e.byteLength)}const Ir="File already exists",hr="Zip file comment exceeds 64KB",fr="File entry comment exceeds 64KB",wr="File entry name exceeds 64KB",dr="Version exceeds 65535",Er="The strength must equal 1, 2, or 3",Cr="Extra field type exceeds 65535",Yr="Extra field data exceeds 64KB",Fr=-2147483648,Qr=2147483647,pr="Zip64 is not supported (set the 'zip64' option to 'true')",Dr="Undefined uncompressed size",mr="Undefined reader",yr="Zip file not empty",Sr=new u([7,0,2,0,65,69,3,0,0]),br="infozip",Mr="unix";let Ur=0;const Gr=[];class kr{constructor(e,A={}){const i=(e=new Ut(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;t.assign(this,{writer:e,addSplitZipSignature:i,options:A,config:oe(),files:new s,filenames:new g,offset:A[Di]===$?e.size||e.writable.size||0:A[Di],initialOffset:A[Di]===$?0:A[Di]-(e.size||e.writable.size||0),pendingAddFileCalls:new g,bufferedWrites:0,lastFileEntry:$})}async prependZip(e){if(this.filenames.size)throw new c(yr);e=new Mt(e),await Gt(e);const A=new vi(e.readable),i=await A.getEntries();await A.close(),await Gt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new g(i.map(e=>e.filename)),this.files=new s(i.map(e=>{const{version:A,rawLastModDate:i,lastAccessDate:r,creationDate:n,rawFilename:o,bitFlag:a,encrypted:s,uncompressedSize:g,compressedSize:l,diskOffset:B,diskNumber:c,zip64:I}=e;let{compressionMethod:h,rawExtraFieldZip64:f,rawExtraFieldAES:w,rawExtraFieldExtendedTimestamp:d,rawExtraFieldNTFS:E,rawExtraFieldUnix:C,rawExtraField:Y}=e;const{level:F,languageEncodingFlag:Q,dataDescriptor:p}=a;f=f||new u,w=w||new u,d=d||new u,E=E||new u,C=C||new u,Y=Y||new u,e.extraFieldAES&&(h=99);const D=jr(f,w,d,E,C,Y),m=I&&g>=G,y=I&&l>=G,S=-7&$r(F,Q,p,s,h)|F<<1,{headerArray:b,headerView:M}=_r({version:A,bitFlag:S,compressionMethod:h,uncompressedSize:g,compressedSize:l,rawLastModDate:i,rawFilename:o,zip64CompressedSize:y,zip64UncompressedSize:m,extraFieldLength:D}),{signature:U}=e;return U!==$&&Vr(M,10,U),t.assign(e,{zip64UncompressedSize:m,zip64CompressedSize:y,zip64Offset:I&&this.offset-B>=G,zip64DiskNumberStart:I&&c>=k,rawExtraFieldZip64:f,rawExtraFieldAES:w,rawExtraFieldExtendedTimestamp:d,rawExtraFieldNTFS:E,rawExtraFieldUnix:C,rawExtraField:Y,extendedTimestamp:d.length>0||E.length>0,extraFieldExtendedTimestampFlag:1+(r?2:0)+(n?4:0),headerArray:b,headerView:M}),[e.filename,e]}))}async add(e="",A,i={}){const r=this;i=t.assign({},i);const{pendingAddFileCalls:o,config:s}=r;let g,l;Ur<s.maxWorkers?Ur++:await new d(e=>Gr.push(e));try{if(e=e.trim(),Jr(r,i,ni)&&!e.endsWith(Z)&&(e+=Z),r.filenames.has(e))throw new c(Ir);return r.filenames.add(e),l=!0,g=(async(e,A,i,r)=>{const o=((e,A,t)=>{A=A.trim();let i=Jr(e,t,$t),r=Jr(e,t,ii,i?20:768);const n=Jr(e,t,oi),o=Jr(e,t,"uid"),a=Jr(e,t,"gid");let s=Jr(e,t,li),g=Jr(e,t,"unixExtraFieldType"),l=Jr(e,t,Bi),B=Jr(e,t,ci),u=Jr(e,t,ui);if(o!==$&&(0>o||o>G))throw new c("Invalid uid (must be integer 0..2^32-1)");if(a!==$&&(0>a||a>G))throw new c("Invalid gid (must be integer 0..2^32-1)");if(s!==$&&(0>s||s>k))throw new c("Invalid UNIX mode (must be integer 0..65535)");if(g!==$&&g!==br&&g!==Mr)throw new c("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(g===Mr&&(o!==$&&o>k||a!==$&&a>k))throw new c("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");g!==$||o===$&&a===$||(g=br);let I=Jr(e,t,jt),h=Jr(e,t,_t);const f=I!==$||h!==$;if(o!==$||a!==$||s!==$||g?(i=!1,r=r&k|768):f&&(i=!0,r&=W),I!==$&&(0>I||I>W))throw new c("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new c("Invalid msdosAttributes (must be an object with boolean flags)");if(r>k)throw new c(dr);let w=Jr(e,t,qt,0);!t[ni]&&A.endsWith(Z)&&(t[ni]=!0);const d=Jr(e,t,ni);let E;return d?(A.endsWith(Z)||(A+=Z),0===w&&(w=16,i||(w|=16877<<16))):i||0!==w||(w=n?493<<16:27525120),i||(E=w>>16&k,s=s===$?E:s&k,l?s|=V:l=!!(s&V),B?s|=X:B=!!(s&X),u?s|=512:u=!!(512&s),d&&(s|=P),w=(s&k)<<16|w&W),({msdosAttributesRaw:I,msdosAttributes:h}=((e,A)=>{if(e!==$)e&=W;else if(A!==$){const{readOnly:t,hidden:i,system:r,directory:n,archive:o}=A;let a=0;t&&(a|=1),i&&(a|=2),r&&(a|=4),n&&(a|=16),o&&(a|=32),e=a&W}return A===$&&(A={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:A}})(I,h)),f&&(w=w&G|I&W),{name:A,resolvedOptions:{versionMadeBy:r,msDosCompatible:i,externalFileAttributes:w,unixExternalUpper:E,uid:o,gid:a,unixMode:s,unixExtraFieldType:g,setuid:l,setgid:B,sticky:u,msdosAttributesRaw:I,msdosAttributes:h}}})(e,A,r);({name:A}=o);const s=((e,A,t)=>{const i=Jr(e,t,"encodeText",Fe);let r=i(A);if(r===$&&(r=Fe(A)),jr(r)>k)throw new c(wr);const n=t[Kt]||"";let o=i(n);if(o===$&&(o=Fe(n)),jr(o)>k)throw new c(fr);const s=Jr(e,t,ti,20);if(s>k)throw new c(dr);const g=Jr(e,t,Jt,new a),l=Jr(e,t,Pt),B=Jr(e,t,Vt),I=Jr(e,t,Zt,0),h=Jr(e,t,di);let f,w;h||(f=Jr(e,t,fi),w=Jr(e,t,wi));const d=Jr(e,t,"encryptionStrength",3),E=Jr(e,t,ri),C=Jr(e,t,"extendedTimestamp",!0),Y=Jr(e,t,"keepOrder",!0),F=Jr(e,t,Yi),Q=Jr(e,t,Qi,!0),p=Jr(e,t,"bufferedWrite"),D=Jr(e,t,"createTempStream"),m=Jr(e,t,"dataDescriptorSignature",!0),y=Jr(e,t,Ei),S=Jr(e,t,"useUnicodeFileNames",!0),b=Jr(e,t,ai);if(!h&&b!==$&&0!==b&&8!==b)throw new c("Compression method not supported");let M=Jr(e,t,"level"),U=Jr(e,t,Fi),G=Jr(e,t,"dataDescriptor");p&&G===$&&(G=!1),(G===$||E)&&(G=!0),M!==$&&6!=M&&(U=!1),U||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(M=0);const W=Jr(e,t,ei);if(!E&&(f!==$||w!==$)&&(1>d||d>3))throw new c(Er);let O=new u;const T=t[gi];if(T){let e=0,A=0;T.forEach(A=>e+=4+jr(A)),O=new u(e);const t=qr(O);T.forEach((e,i)=>{if(i>k)throw new c(Cr);if(jr(e)>k)throw new c(Yr);Pr(t,A,i),Pr(t,A+2,jr(e)),Zr(O,e,A+4),A+=4+jr(e)})}return{comment:n,resolvedOptions:{rawFilename:r,rawComment:o,version:s,lastModDate:g,lastAccessDate:l,creationDate:B,internalFileAttributes:I,passThrough:h,password:f,rawPassword:w,encryptionStrength:d,zipCrypto:E,extendedTimestamp:C,keepOrder:Y,useWebWorkers:F,transferStreams:Q,bufferedWrite:p,createTempStream:D,dataDescriptorSignature:m,signal:y,useUnicodeFileNames:S,compressionMethod:b,level:M,useCompressionStream:U,dataDescriptor:G,zip64:W,rawExtraField:O}}})(e,A,r),{comment:g}=s,l=r[gi];let B;e.files.set(A,$);try{const a=await(async(e,A,{resolvedOptions:t},i)=>{const{passThrough:r,zipCrypto:n,password:o,rawPassword:a,encryptionStrength:s}=t;let{dataDescriptor:g,zip64:l,level:B,compressionMethod:u}=t,I=0,h=0;if(r){if(!A)throw new c(mr);if(h=i[zt],h===$)throw new c(Dr)}const f=!0===l,w=Jr(e,i,Ai),d=!!A&&(!!(o&&jr(o)||a&&jr(a))||r&&w);A||(B=0,u=0);const E=d?n?12:16+4*s:0;A&&(A=new Mt(A),await Gt(A),r?(i.uncompressedSize=h,I=vr(h)+E):A.size===$?(g=!0,(l||l===$)&&(l=!0,h=I=4294967296)):(i.uncompressedSize=h=A.size,I=vr(h)+E));const C=f||h>=G,Y=f||I>=G;if(C||Y){if(!1===l)throw new c(pr);l=!0}return l=l||!1,{reader:A,resolvedOptions:{dataDescriptor:g,zip64:l,zip64UncompressedSize:C,zip64CompressedSize:Y,uncompressedSize:h,level:B,compressionMethod:u,encrypted:d}}})(e,i,s,r);({reader:i}=a);const{diskOffset:g,diskNumber:l}=e.writer,I=(e=>{const{rawFilename:A,lastModDate:t,lastAccessDate:i,creationDate:r,level:n,zip64:o,zipCrypto:a,useUnicodeFileNames:s,dataDescriptor:g,directory:l,rawExtraField:B,encryptionStrength:I,extendedTimestamp:h,passThrough:f,encrypted:w,zip64UncompressedSize:d,zip64CompressedSize:E,uncompressedSize:C}=e;let{version:Y,compressionMethod:F}=e;const Q=!l&&(F===$?n===$||n>0:0!==F);let p;const D=f||!Q,m=o&&(e.bufferedWrite||!g||!d&&!E||D),y=m||o&&g&&(d||E);if(o&&(d||E)){const e=20,A=xr(e);if(A.uint16(1),A.uint16(e-4),p=A.array,m&&(A.uint64(C),D)){const e=w?a?12:16+4*I:0;A.uint64(f?0:C+e)}}else p=new u;let S,b,M,U,G;if(w&&!a){const e=xr(jr(Sr)+2);e.uint16(39169),e.bytes(Sr),S=e.array,S[8]=I}else S=new u;if(h){const e=Lr(t);if(Hr(e)){const A=9+(i?4:0)+(r?4:0),t=xr(A);U=1+(i?2:0)+(r?4:0),t.uint16(J),t.uint16(A-4),t.uint8(U),t.uint32(e),i&&t.uint32(Nr(Lr(i))),r&&t.uint32(Nr(Lr(r))),M=t.array}else M=new u;try{const e=zr(t),A=xr(36);A.uint16(10),A.uint16(32),A.skip(4),A.uint16(1),A.uint16(24),A.uint64(e),A.uint64(zr(i)||e),A.uint64(zr(r)||e),b=A.array}catch{b=new u}}else b=M=new u;try{const{uid:A,gid:t,unixExtraFieldType:i}=e;if(i!=br||A===$&&t===$)if(i!=Mr||A===$&&t===$)G=new u;else{const e=xr(8);e.uint16(30805),e.uint16(4),e.uint16((A===$?0:A)&k),e.uint16((t===$?0:t)&k),G=e.array}else{const e=Tr(A),i=Tr(t),r=3+e.length+i.length,n=xr(4+r);n.uint16(30837),n.uint16(r),n.uint8(1),n.uint8(e.length),n.bytes(e),n.uint8(i.length),n.bytes(i),G=n.array}}catch{G=new u}F===$&&(F=Q?8:0),o&&(Y=Y>45?Y:45),w&&!a&&(Y=Y>51?Y:51,S[9]=F,F=99);const W=y?jr(p):0,T=W+jr(S,M,b,G,B);if(T>k)throw new c(Yr);const{headerArray:x,headerView:K,rawLastModDate:R}=_r({version:Y,bitFlag:$r(n,s,g,w,F),compressionMethod:F,uncompressedSize:C,lastModDate:_>t?_:t>j?j:t,rawFilename:A,zip64CompressedSize:E,zip64UncompressedSize:d,extraFieldLength:T}),z=xr(q+jr(A)+T),L=z.array,H=qr(L);return z.uint32(O),z.bytes(x),z.bytes(A),y&&z.bytes(p),z.bytes(S),z.bytes(M),z.bytes(b),z.bytes(G),z.bytes(B),g&&(E||Vr(H,18,0),d||Vr(H,22,0)),{localHeaderArray:L,localHeaderView:H,headerArray:x,headerView:K,lastModDate:t,rawLastModDate:R,encrypted:w,compressed:Q,version:Y,compressionMethod:F,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:new u,localExtraFieldZip64Length:W,rawExtraFieldExtendedTimestamp:M,rawExtraFieldNTFS:b,rawExtraFieldUnix:G,rawExtraFieldAES:S,extraFieldLength:T}})(r=t.assign({},r,o.resolvedOptions,s.resolvedOptions,a.resolvedOptions,{internalFileAttribute:s.resolvedOptions.internalFileAttributes,externalFileAttribute:o.resolvedOptions.externalFileAttributes,signature:r[si],offset:e.offset-g,diskNumberStart:l})),h=(({zip64:e,dataDescriptor:A,dataDescriptorSignature:t})=>{let i,r=new u,n=0,o=e?20:12;return t&&(o+=4),A&&(r=new u(o),i=qr(r),t&&(n=4,Vr(i,0,x))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:n}})(r),f=jr(I.localHeaderArray,h.dataDescriptorArray);B=await(async(e,A,i,r,o)=>{const{files:a,writer:s}=e,{keepOrder:g,dataDescriptor:l,signal:B}=o,{headerInfo:I}=r,h=e.options.usdz,f=e.lastFileEntry;let w,E,C,Y,F,Q,D,y={},S=0;a.set(A,y),e.lastFileEntry=y;try{let E;g&&(E=f&&f.lock,y.lock=new d(e=>C=e)),o.bufferedWrite||!g||e.writerLocked||e.bufferedWrites||!l?(w=!0,e.bufferedWrites++,D=o.createTempStream?await o.createTempStream():new p($,$,{highWaterMark:ee}),D.size=0,await Gt(s)):(D=s,await b()),await Gt(D);const{diskOffset:U}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const A=new u(4);Vr(qr(A),0,T),await Rr(s,A),e.offset+=4}h&&!w&&Or(r,e.offset-U);const{localHeaderArray:k}=I;w||(await E,await M());const O=s.diskNumber,x=Kr(e,s);if(y.diskNumberStart=O,w||(F=!0,Q=s.size,await Rr(D,k)),y=await(async(e,A,{diskNumberStart:i,lock:r},o,a,s)=>{const{headerInfo:g,dataDescriptorInfo:l,metadataSize:B}=o,{headerArray:u,headerView:I,lastModDate:h,rawLastModDate:f,encrypted:w,compressed:d,version:E,compressionMethod:C,rawExtraFieldZip64:Y,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,extraFieldExtendedTimestampFlag:p,rawExtraFieldNTFS:D,rawExtraFieldUnix:m,rawExtraFieldAES:y}=g,{dataDescriptorArray:S}=l,{rawFilename:b,lastAccessDate:M,creationDate:U,password:k,rawPassword:O,level:T,zip64:x,zip64UncompressedSize:K,zip64CompressedSize:R,zipCrypto:z,dataDescriptor:L,directory:H,executable:N,versionMadeBy:J,rawComment:v,rawExtraField:P,useWebWorkers:V,transferStreams:X,onstart:Z,onprogress:q,onend:j,signal:_,encryptionStrength:ee,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,uid:ne,gid:oe,unixMode:se,setuid:ge,setgid:le,sticky:Be,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:Ie,useCompressionStream:he,passThrough:fe}=s,we={lock:r,versionMadeBy:J,zip64:x,directory:!!H,executable:!!N,filenameUTF8:!0,rawFilename:b,commentUTF8:!0,rawComment:v,rawExtraFieldZip64:Y,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,rawExtraFieldNTFS:D,rawExtraFieldUnix:m,rawExtraFieldAES:y,rawExtraField:P,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,diskNumberStart:i,uid:ne,gid:oe,unixMode:se,setuid:ge,setgid:le,sticky:Be,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:Ie};let{signature:de,uncompressedSize:Ee}=s,Ce=0;fe||(Ee=0);const{writable:Ye}=A;if(e){e.chunkSize=ae(a);const t=e.readable,i=e.size,r={options:{codecType:pA,level:T,rawPassword:O,password:k,encryptionStrength:ee,zipCrypto:w&&z,passwordVerification:w&&z&&f>>8&W,signed:!fe,compressed:d&&!fe,encrypted:w&&!fe,useWebWorkers:V,useCompressionStream:he,transferStreams:X},config:a,streamOptions:{signal:_,size:i,onstart:Z,onprogress:q,onend:j}};try{const e=await ZA({readable:t,writable:Ye},r);if(Ce=e.outputSize,A.size+=Ce,fe||(Ee=e.inputSize,de=e.signature),!R&&Ce>=G||!K&&Ee>=G)throw new c(pr)}catch(e){throw e.outputSize!==$&&(A.size+=e.outputSize),e}}return(({signature:e,compressedSize:A,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:o,zipCrypto:a,dataDescriptor:s})=>{const{headerView:g,encrypted:l}=i,{dataDescriptorView:B,dataDescriptorOffset:c}=r;l&&!a||e===$||(Vr(g,10,e),s&&Vr(B,c,e)),o?s&&(Xr(B,c+4,n(A)),Xr(B,c+12,n(t))):(Vr(g,14,A),Vr(g,18,t),s&&(Vr(B,c+4,A),Vr(B,c+8,t)))})({signature:de,compressedSize:Ce,uncompressedSize:Ee,headerInfo:g,dataDescriptorInfo:l},s),L&&await Rr(A,S),t.assign(we,{uncompressedSize:Ee,compressedSize:Ce,lastModDate:h,rawLastModDate:f,creationDate:U,lastAccessDate:M,encrypted:w,zipCrypto:z,size:B+Ce,compressionMethod:C,version:E,headerArray:u,headerView:I,signature:de,extraFieldExtendedTimestampFlag:p,zip64UncompressedSize:K,zip64CompressedSize:R}),we})(i,D,y,r,e.config,o),w||(F=!1),a.set(A,y),y.filename=A,w){if(await d.all([D.writable.getWriter().close(),E]),await b(),Y=!0,Q=s.size,await M(),y.diskNumberStart=s.diskNumber,y.offset=Kr(e,s),h){const A=r.metadataSize;Or(r,e.offset-s.diskOffset),y.size+=r.metadataSize-A}(({rawFilename:e,encrypted:A,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:o,uncompressedSize:a,zip64UncompressedSize:s,zip64CompressedSize:g},l,{dataDescriptor:B})=>{if(B||(A||Vr(l,14,r),g||Vr(l,18,o),s||Vr(l,22,a)),t&&i){const A=q+jr(e)+4;Xr(l,A,n(a)),Xr(l,A+8,n(o))}})(y,I.localHeaderView,o),await Rr(s,I.localHeaderArray),await(async(e,A,t)=>{const i=A.writable.getWriter();try{await e.pipeTo(new m({async write(e){var A;await i.ready,await i.write(e),A=jr(e),S+=A}}),{preventClose:!0,preventAbort:!0,signal:t})}finally{i.releaseLock()}})(D.readable,s,B),s.size+=D.size,Y=!1}else y.diskNumberStart=O,y.offset=x;return e.offset+=y.size,y}catch(t){if(Y||F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=s.size-Q,w&&(e.offset+=S)}throw a.delete(A),t}finally{if(w&&e.bufferedWrites--,C&&C(),E&&E(),w&&D&&D.dispose)try{await D.dispose()}catch{}}async function b(){e.writerLocked=!0;const{lockWriter:A}=e;e.lockWriter=new d(A=>E=()=>{e.writerLocked=!1,A()}),await A}async function M(){jr(I.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Rr(s,new u))}})(e,A,i,{headerInfo:I,dataDescriptorInfo:h,metadataSize:f},r)}catch(t){throw e.files.delete(A),t}return t.assign(B,{name:A,comment:g,extraField:l}),new hi(B)})(r,e,A,i),o.add(g),await g}catch(A){throw l&&r.filenames.delete(e),A}finally{o.delete(g);const e=Gr.shift();e?e():Ur--}}remove(e){const{filenames:A,files:t}=this;if("string"==typeof e&&(e=t.get(e)),e&&e.filename!==$){const{filename:i}=e;if(A.has(i)&&t.has(i))return A.delete(i),t.delete(i),!0}return!1}async close(e=new u,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;if(jr(e)>k)throw new c(hr);for(;i.size;)await d.allSettled(A.from(i));return await(async(e,t,i)=>{const r=(e=>{let A=0;for(const[,t]of e){const{rawFilename:e,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:n,rawExtraFieldUnix:o,rawExtraField:a,extendedTimestamp:s,extraFieldExtendedTimestampFlag:g,lastModDate:l,zip64UncompressedSize:B,zip64CompressedSize:I,uncompressedSize:h,compressedSize:f}=t,w=t.offset>=G,d=t.diskNumberStart>=k;let E,C;if(w||d||B||I){const e=4+(B?8:0)+(I?8:0)+(w?8:0)+(d?4:0),A=xr(e);A.uint16(1),A.uint16(e-4),B&&A.uint64(h),I&&A.uint64(f),w&&A.uint64(t.offset),d&&A.uint32(t.diskNumberStart),E=A.array}else E=new u;t.rawExtraFieldZip64=E,t.zip64Offset=w,t.zip64DiskNumberStart=d;const Y=Lr(l);if(s&&Hr(Y)){const e=xr(9);e.uint16(J),e.uint16(5),e.uint8(g),e.uint32(Y),C=e.array}else C=new u;t.rawExtraFieldExtendedTimestamp=C;const F=jr(E,i,n,o,C,a);if(F>k)throw new c(Yr);A+=46+jr(e,r)+F}return A})(e.files),{cdStartDiskNumber:o,cdStartDiskOffset:a}=await(async(e,t,i)=>{const{files:r,writer:n}=e,o=new u(t);await Gt(n);let a=0,s=0,g=n.diskNumber,l=n.diskOffset;for(const[e,t]of A.from(r.values()).entries()){const{offset:A,rawFilename:B,rawExtraFieldZip64:c,rawExtraFieldAES:I,rawExtraFieldExtendedTimestamp:h,rawExtraFieldNTFS:f,rawExtraFieldUnix:w,rawExtraField:d,rawComment:E,versionMadeBy:C,headerArray:Y,headerView:F,zip64UncompressedSize:Q,zip64CompressedSize:p,zip64DiskNumberStart:D,zip64Offset:m,internalFileAttributes:y,externalFileAttributes:S,diskNumberStart:b,uncompressedSize:M,compressedSize:U}=t,W=jr(c,I,h,f,w,d),O=46+jr(B,E)+W;a+O-s>n.availableSize&&(await Rr(n,o.slice(s,a)),s=a,n.availableSize=0,await Rr(n,new u)),0==e&&(g=n.diskNumber,l=n.diskOffset),Q||Vr(F,18,M),p||Vr(F,14,U),(m||D)&&45>t.version&&Pr(F,0,45);const T=xr(O);if(T.uint32(K),T.uint16(C),T.bytes(Y.subarray(0,24)),T.uint16(W),T.uint16(jr(E)),T.uint16(D?k:b),T.uint16(y),T.uint32(S),T.uint32(m?G:A),T.bytes(B),T.bytes(c),T.bytes(I),T.bytes(h),T.bytes(f),T.bytes(w),T.bytes(d),T.bytes(E),Zr(o,T.array,a),a+=O,i.onprogress)try{await i.onprogress(e+1,r.size,new hi(t))}catch{}}return await Rr(n,s?o.slice(s):o),{cdStartDiskNumber:g,cdStartDiskOffset:l}})(e,r,i);await(async(e,A,t,i)=>{const{writer:r}=e,{cdStartDiskNumber:o,cdStartDiskOffset:a}=i;let{directoryDataLength:s}=i,g=e.files.size,l=o,B=e.offset-a-(o?e.initialOffset:0),I=r.diskNumber;r.availableSize<H&&I++;let h=Jr(e,t,ei);if(!(G>B&&G>s&&k>g&&k>I)){if(!1===h)throw new c(pr);h=!0}const f=jr(A);if(f>k)throw new c(hr);const w=xr(h?98:H);jr(w.array)+f>r.availableSize&&(r.availableSize=0,await Rr(r,new u)),I=r.diskNumber,h&&(w.uint32(z),w.uint64(44),w.uint16(45),w.uint16(45),w.uint32(I),w.uint32(l),w.uint64(g),w.uint64(g),w.uint64(s),w.uint64(B),w.uint32(L),w.uint32(I),w.uint64(n(e.offset)+n(s)-n(r.diskOffset)-n(r.diskNumber?e.initialOffset:0)),w.uint32(I+1),Jr(e,t,"supportZip64SplitFile",!0)&&(I=k,l=k),g=k,B=G,s=G),w.uint32(R),w.uint16(I),w.uint16(l),w.uint16(g),w.uint16(g),w.uint32(s),w.uint32(B),w.uint16(f),await Rr(r,w.array),f&&await Rr(r,A)})(e,t,i,{cdStartDiskNumber:o,cdStartDiskOffset:a,directoryDataLength:r})})(this,e,t),Jr(this,t,pi)||await o.getWriter().close(),r.getData?r.getData():o}}function Wr(e,A,t){e.pendingAddFileCalls.add(A),A.catch(e=>{try{t(e)}catch{}})}function Or(e,A){const{headerInfo:t}=e;let i,{localHeaderArray:r,extraFieldLength:n}=t,o=64-(A+jr(r))%64;4>o&&(o+=64);const a=new u(o),s=qr(a);Pr(s,0,6534),Pr(s,2,o-4);const g=r;t.localHeaderArray=r=new u(jr(g)+o),Zr(r,g),Zr(r,a,jr(g)),i=qr(r),Pr(i,28,n+o),t.localHeaderView=i,e.metadataSize+=o}function Tr(e){if(e===$)return new u;{const A=new u(4);qr(A).setUint32(0,e,!0);let t=4;for(;t>1&&0===A[t-1];)t--;return A.subarray(0,t)}}function xr(e){const A=new u(e),t=qr(A);let i=0;return{array:A,uint8:e=>{((e,A,t)=>{e.setUint8(A,t)})(t,i,e),i+=1},uint16:e=>{Pr(t,i,e),i+=2},uint32:e=>{Vr(t,i,e),i+=4},uint64:e=>{Xr(t,i,n(e)),i+=8},bytes:e=>{Zr(A,e,i),i+=jr(e)},skip:e=>i+=e}}function Kr(e,A){return e.offset-A.diskOffset-(A.diskNumber?e.initialOffset:0)}async function Rr(e,A){const{writable:t}=e,i=t.getWriter();try{await i.ready,e.size+=jr(A),await i.write(A)}finally{i.releaseLock()}}function zr(e){if(e)return(n(e.getTime())+n(116444736e5))*n(1e4)}function Lr(e){return o.floor(e.getTime()/1e3)}function Hr(e){return e>=Fr&&Qr>=e}function Nr(e){return o.min(Qr,o.max(Fr,e))}function Jr(e,A,t,i){const r=A[t]===$?e.options[t]:A[t];return r===$?i:r}function vr(e){return e+5*(o.floor(e/16383)+1)}function Pr(e,A,t){e.setUint16(A,t,!0)}function Vr(e,A,t){e.setUint32(A,t,!0)}function Xr(e,A,t){e.setBigUint64(A,t,!0)}function Zr(e,A,t){e.set(A,t)}function qr(e){return new f(e.buffer,e.byteOffset,e.byteLength)}function jr(...e){let A=0;return e.forEach(e=>e&&(A+=e.length)),A}function _r({version:e,bitFlag:A,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:n,rawLastModDate:o,rawFilename:a,zip64CompressedSize:s,zip64UncompressedSize:g,extraFieldLength:l}){const B=xr(26),c=B.array,u=qr(c);if(B.uint16(e),B.uint16(A),B.uint16(t),o===$){const e=new h(1),A=qr(e);Pr(A,0,(n.getHours()<<6|n.getMinutes())<<5|n.getSeconds()/2),Pr(A,2,(n.getFullYear()-1980<<4|n.getMonth()+1)<<5|n.getDate()),o=e[0]}return B.uint32(o),B.skip(4),s||r!==$?B.uint32(s?G:r):B.skip(4),g||i!==$?B.uint32(g?G:i):B.skip(4),B.uint16(jr(a)),B.uint16(l),{headerArray:c,headerView:u,rawLastModDate:o}}function $r(e,A,t,i,r){let n=0;return A&&(n|=v),t&&(n|=8),8!=r&&9!=r||(0>e||e>3||(n|=6),e>3&&5>=e&&(n|=4),9==e&&(n|=2)),i&&(n|=1),n}const en=1048576,An=".zip.js-temp";try{se({baseURI:void 0===Y&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===Y?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new B("zip-native.min.js",Y.baseURI).href})}catch{}var{Uint8Array:tn,Uint16Array:rn,Int32Array:nn,TransformStream:on,Math:an,Error:sn,Array:gn}=globalThis,ln=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Bn=new tn(0),cn=new rn(0),un=[];for(let e=0;6>e;e++)un.push(e,0==e?8:4);un.push(0,1);var In=[];for(let e=0;14>e;e++)In.push(e,0==e?4:2);var hn=new rn([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]),fn=new rn([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 wn(e,A,t,i,r){if(0==r)return;let n=e instanceof tn?e:new tn(e.buffer,e.byteOffset,e.byteLength),o=t instanceof tn?t.subarray(i,i+r):new tn(t.buffer,t.byteOffset+i,r);n.set(o,A)}function dn(e,A,t){0!=t&&(e instanceof tn?e:new tn(e.buffer,e.byteOffset,e.byteLength)).fill(0,A,A+t)}function En(){return{next_in:Bn,next_in_index:0,avail_in:0,total_in:0,next_out:Bn,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Cn(e,A){let t=1<<A;return{o:e,u:new tn(t),h:t,k:A,v:0,m:0,p:0,L:0}}function Yn(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1];for(let e=0;r>e;e++)A.push(i)}return new rn(A)}var Fn=class{constructor(e,A){this.M=e,this.Z=A,this.N=0}},Qn=class{constructor(e,A,t,i,r){this.W=e,this.j=A,this.D=t,this.S=i,this.$=r}};function pn(e){return jn[-6>e||e>2?9:2-e]||""}function Dn(e,A){try{e.msg=pn(A)}catch(t){e.msg="zlib error "+i(A)+" ("+t+")"}return A}function mn(e,A){let t=e>>>0,i=0;for(let e=0;A>e;e++)i=i<<1|1&t,t>>>=1;return i}function yn(e,A){e.q[e.T++]=A}function Sn(e,A){yn(e,255&A),yn(e,A>>>8&255)}function bn(e,A,t){let i=255&t,r=65535&A,n=e.A+e.I;return e.q[n]=255&r,e.q[n+1]=r>>>8&255,e.q[n+2]=i,e.I+=3,r=r-1&65535,e.B[no[i]+Nn+1].U++,e.C[Gn(r)].U++,e.I==e.X}function Mn(e,A){let t=255&A,i=e.A+e.I;return e.q[i]=0,e.q[i+1]=0,e.q[i+2]=t,e.I+=3,e.B[t].U++,e.I==e.X}function Un(e){return e.h-Ln}function Gn(e){return 256>e?oo[e]:oo[256+(e>>7)]}function kn(e){let A=Kn+7,t=1<<A,i=(1<<A)-1,r=an.floor((A+Rn-1)/Rn),n=1<<8+Kn;return{...Cn(e,15),o:e,F:42,H:0,Y:void 0,O:32767,P:A,R:t,J:i,K:r,V:new rn(32768),G:new rn(t),ee:n,q:new tn(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 nn(2*Jn+1),Le:new tn(2*Jn+1),Me:new rn(Xn+1),I:0,X:0,Ee:Bn,A:0,ze:0,Ze:0,Ne:8,We:32768,je:0,Qe:0,De:0,B:new gn(Vn).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),C:new gn(2*vn+1).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),Se:new gn(2*Pn+1).fill(0).map(()=>({U:0,Ae:0,Ue:0,Ie:0})),$e:Tn(),qe:Tn(),Te:Tn()}}function Wn(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1],n=On();n.Ae=i,n.Ie=r,A.push(n)}return A}function On(){return{U:0,Ae:0,Ue:0,Ie:0}}function Tn(){return new Fn([],new Qn(null,Bn,0,0,0))}function xn(e){let{code:A,length:t}=(e=>{let A=an.max(...e),t=new gn(A+1).fill(0);for(let A of e)A>0&&t[A]++;let i=new gn(e.length).fill(0),r=new gn(A+1).fill(0),n=0;for(let e=1;A>=e;e++)n=n+t[e-1]<<1,r[e]=n;for(let A=0;A<e.length;A++){let t=e[A];0!=t&&(i[A]=r[t]++)}return{code:i,length:e}})(e),i=new rn(2*e.length),r=0;for(let n=0;n<e.length;n++){let e=t[n]||0,o=A[n]||0;i[r++]=e?mn(o,e):0,i[r++]=e}return new rn(i)}var Kn=8,Rn=3,zn=258,Ln=zn+Rn+1,Hn=zn,Nn=256,Jn=Nn+1+29,vn=30,Pn=19,Vn=2*Jn+1,Xn=15,Zn=256,qn=-1,jn=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],_n=Yn(un),$n=Yn(In),eo=new rn(19);eo[16]=2,eo[17]=3,eo[18]=7;var Ao=xn((()=>{let e=new gn(288).fill(0);for(let A=0;143>=A;A++)e[A]=8;for(let A=144;255>=A;A++)e[A]=9;for(let A=256;279>=A;A++)e[A]=7;for(let A=280;287>=A;A++)e[A]=8;return e})()),to=xn(new gn(30).fill(5)),io=Wn(Ao),ro=Wn(to),no=((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}258>t&&(t=258);let i=new tn(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,o=e[t];if(r>=o&&o+n-1>=r){i[r]=t;break}}return i})(fn,_n),oo=(e=>{let A=new tn(512),t=e.length-1;for(let i=0;256>i;i++)A[i]=i>t?e[t]:e[i];for(let i=256;t>=i;i++){let t=i>>7;A[256+(t>255?255:t)]=e[i]}for(let e=257;512>e;e++)0==A[e]&&(A[e]=A[e-1]);return A})(((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}let i=new tn(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,o=e[t];if(r>=o&&o+n-1>=r){i[r]=t;break}}return i})(hn,$n));function ao(e){return e%65521>>>0}function so(e,A,t){if(void 0===A||void 0===t)return 1;let i=e>>>16&65535;if(e&=65535,1==t)return(e+=A[0])>=65521&&(e-=65521),i+=e,i>=65521&&(i-=65521),(i<<16|e)>>>0;if(16>t){for(let r=0;t>r;r++)i+=e+=A[r];return e>=65521&&(e-=65521),i=ao(i),(i<<16|e)>>>0}for(;t>=5552;){t-=5552;let r=an.floor(347);do{for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}while(--r);e=ao(e),i=ao(i)}if(t){for(;t>=16;){t-=16;for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}for(let r=0;t>r;r++)i+=e+=A[r];e=ao(e),i=ao(i)}return(i<<16|e)>>>0}var go=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let A=e;for(let e=0;8>e;e++)A=1&A?3988292384^A>>>1:A>>>1;go[0][e]=A}for(let e=0;256>e;e++)for(let A=1;8>A;A++){let t=go[A-1][e];go[A][e]=t>>>8^go[0][255&t]}var[lo,Bo,co,uo,Io,ho,fo,wo]=go;function Eo(e=0,A,t){if(!A)return 0;void 0===t&&(t=A.length);let i=0|~e,r=0;if((t=an.min(t,A.length))>=8){let e=new f(A.buffer,A.byteOffset,t),n=t-8;for(;n>=r;r+=8){let A=i^e.getInt32(r,!0),t=e.getInt32(r+4,!0);i=wo[255&A]^fo[A>>>8&255]^ho[A>>>16&255]^Io[A>>>24&255]^uo[255&t]^co[t>>>8&255]^Bo[t>>>16&255]^lo[t>>>24&255]}}for(;t>r;r++)i=i>>>8^lo[255&(i^A[r])];return(4294967295^i)>>>0}function Co(e){16==e.L?(Sn(e,e.p),e.p=0,e.L=0):e.L>=8&&(yn(e,e.p),e.p>>=8,e.L-=8)}function Yo(e){e.L>8?Sn(e,e.p):e.L>0&&yn(e,e.p),e.ze=1+(e.L-1&7),e.p=0,e.L=0}function Fo(e,A,t){e.L>16-t?(e.p=65535&(e.p|A<<e.L),Sn(e,e.p),e.p=A>>16-e.L&65535,e.L+=t-16):(e.p=65535&(e.p|A<<e.L),e.L+=t)}function Qo(e){for(let A=0;A<e.B.length;A++)e.B[A].U=0;for(let A=0;A<e.C.length;A++)e.C[A].U=0;for(let A=0;A<e.Se.length;A++)e.Se[A].U=0;e.B[Zn].U=1,e.ie=e.fe=0,e.I=e._e=0}function po(e,A,t){return t=e.pe[1],e.pe[1]=e.pe[e.Qe--],mo(e,A,1),t}function Do(e,A,t,i){return e[A].U<e[t].U||e[A].U==e[t].U&&i[A]<=i[t]}function mo(e,A,t){let i=e.pe[t],r=t<<1;for(;r<=e.Qe&&(r<e.Qe&&Do(A,e.pe[r+1],e.pe[r],e.Le)&&r++,!Do(A,i,e.pe[r],e.Le));)e.pe[t]=e.pe[r],t=r,r<<=1;e.pe[t]=i}function yo(e,A){let t,i,r,n=A.M,o=A.Z.W,a=A.Z.S,s=-1;for(e.Qe=0,e.De=Vn,t=0;a>t;t++)0!=n[t].U?(e.pe[++e.Qe]=s=t,e.Le[t]=0):n[t].Ie=0;for(;2>e.Qe;)r=e.pe[++e.Qe]=2>s?++s:0,n[r].U=1,e.Le[r]=0,e.ie--,o&&(e.fe-=o[r].Ie);for(A.N=s,t=an.floor(e.Qe/2);t>=1;t--)mo(e,n,t);r=a;do{t=po(e,n,t),i=e.pe[1],e.pe[--e.De]=t,e.pe[--e.De]=i,n[r].U=n[t].U+n[i].U,e.Le[r]=(e.Le[t]<e.Le[i]?e.Le[i]:e.Le[t])+1,n[t].Ue=n[i].Ue=r,e.pe[1]=r++,mo(e,n,1)}while(e.Qe>=2);e.pe[--e.De]=e.pe[1],((e,A)=>{let t,i,r,n,o,a,s=A.M,g=A.N,l=A.Z.W,B=A.Z.j,c=A.Z.D,u=A.Z.$,I=0;for(n=0;Xn>=n;n++)e.Me[n]=0;for(s[e.pe[e.De]].Ie=0,t=e.De+1;Vn>t;t++)i=e.pe[t],n=s[s[i].Ue].Ie+1,n>u&&(n=u,I++),s[i].Ie=n,g>=i&&(e.Me[n]++,o=0,i>=c&&(o=B[i-c]),a=s[i].U,e.ie+=a*(n+o),l&&(e.fe+=a*(l[i].Ie+o)));if(0!=I){do{for(n=u-1;0==e.Me[n];)n--;e.Me[n]--,e.Me[n+1]+=2,e.Me[u]--,I-=2}while(I>0);for(n=u;0!=n;n--)for(i=e.Me[n];0!=i;)r=e.pe[--t],g>=r&&(s[r].Ie!=n&&(e.ie+=(n-s[r].Ie)*s[r].U,s[r].Ie=n),i--)}})(e,A),((e,A,t)=>{let i,r,n=[],o=0;for(i=1;Xn>=i;i++)o=o+t[i-1]<<1,n[i]=o;for(r=0;A>=r;r++){let A=e[r].Ie;0!=A&&(e[r].Ae=mn(n[A]++,A))}})(n,A.N,e.Me)}function So(e,A,t){let i,r,n=-1,o=A[0].Ie,a=0,s=7,g=4;for(0==o&&(s=138,g=3),A[t+1].Ie=65535,i=0;t>=i;i++)r=o,o=A[i+1].Ie,(++a>=s||r!=o)&&(g>a?e.Se[r].U+=a:0!=r?(r!=n&&e.Se[r].U++,e.Se[16].U++):a>10?e.Se[18].U++:e.Se[17].U++,a=0,n=r,0==o?(s=138,g=3):r==o?(s=6,g=3):(s=7,g=4))}function bo(e,A,t){let i,r=-1,n=A[0].Ie,o=0,a=7,s=4;0==n&&(a=138,s=3);for(let g=0;t>=g;g++)if(i=n,n=A[g+1].Ie,++o>=a||i!=n){if(s>o)do{Fo(e,e.Se[i].Ae,e.Se[i].Ie)}while(0!=--o);else 0!=i?(i!=r&&(Fo(e,e.Se[i].Ae,e.Se[i].Ie),o--),Fo(e,e.Se[16].Ae,e.Se[16].Ie),Fo(e,o-3,2)):o>10?(Fo(e,e.Se[18].Ae,e.Se[18].Ie),Fo(e,o-11,7)):(Fo(e,e.Se[17].Ae,e.Se[17].Ie),Fo(e,o-3,3));o=0,r=i,0==n?(a=138,s=3):i==n?(a=6,s=3):(a=7,s=4)}}function Mo(e,A,t,i,r=0){Fo(e,0+i,3),Yo(e),Sn(e,t),Sn(e,~t),t&&A&&wn(e.q,e.T,A,r,t),e.T+=t}function Uo(e,A,t){let i,r,n,o,a=0;if(0!=e.I)do{i=255&e.Ee[a],i+=(255&e.Ee[a+1])<<8,r=e.Ee[a+2],a+=3,0==i?Fo(e,A[r].Ae,A[r].Ie):(n=no[r],Fo(e,A[n+Nn+1].Ae,A[n+Nn+1].Ie),o=_n[n],0!=o&&(r-=fn[n],Fo(e,r,o)),i--,n=Gn(i),Fo(e,t[n].Ae,t[n].Ie),o=$n[n],0!=o&&(i-=hn[n],Fo(e,i,o)))}while(a<e.I);Fo(e,A[Zn].Ae,A[Zn].Ie)}var Go=[{Be:jo,Ce:0,Xe:0,Fe:0,He:0},{Be:_o,Ce:4,Xe:4,Fe:8,He:4},{Be:_o,Ce:5,Xe:5,Fe:16,He:8},{Be:_o,Ce:6,Xe:16,Fe:32,He:32},{Be:$o,Ce:4,Xe:4,Fe:16,He:16},{Be:$o,Ce:16,Xe:8,Fe:16,He:32},{Be:$o,Ce:16,Xe:16,Fe:32,He:128},{Be:$o,Ce:32,Xe:32,Fe:128,He:256},{Be:$o,Ce:128,Xe:128,Fe:256,He:1024},{Be:$o,Ce:258,Xe:258,Fe:258,He:4096}];function ko(e){return 2*e-(e>4?9:0)}function Wo(e,A,t){return((A<<e.K^t)&e.J)>>>0}function Oo(e,A){e.ke=Wo(e,e.ke,e.u[A+(Rn-1)]);let t=e.V[A&e.O]=e.G[e.ke];return e.G[e.ke]=A,t}function To(e){e.G[e.R-1]=0,dn(e.G,0,(e.R-1)*e.G.BYTES_PER_ELEMENT)}function xo(e){let A,t,i=e.h;for(A=e.R;A>0;)A--,t=e.G[A],e.G[A]=i>t?0:t-i;for(A=i;A>0;)A--,t=e.V[A],e.V[A]=i>t?0:t-i}function Ko(e,A,t,i){let r=e.avail_in;return r>i&&(r=i),0==r?0:(e.avail_in-=r,wn(A,t,e.next_in,e.next_in_index,r),1==e.l.H?e.i=so(e.i,new tn(A.buffer,A.byteOffset+t,r),r):2==e.l.H&&(e.i=Eo(e.i,new tn(A.buffer,A.byteOffset+t,r),r)),e.next_in_index+=r,e.total_in+=r,r)}function Ro(e){let A,t,i=e.h;do{if(t=e.We-e.ce-e.ae,0==t&&0==e.ae&&0==e.ce?t=i:-1==t&&t--,e.ae>=i+Un(e)&&(wn(e.u,0,e.u,i,i-t),e.je-=i,e.ae-=i,e.ue-=i,e.le>e.ae&&(e.le=e.ae),xo(e),t+=i),0==e.o.avail_in)break;if(A=Ko(e.o,e.u,e.ae+e.ce,t),e.ce+=A,e.ce+e.le>=Rn){let A=e.ae-e.le;for(e.ke=e.u[A],e.ke=Wo(e,e.ke,e.u[A+1]);e.le&&(e.ke=Wo(e,e.ke,e.u[A+Rn-1]),e.V[A&e.O]=e.G[e.ke],e.G[e.ke]=A,A++,e.le--,e.ce+e.le>=Rn););}}while(e.ce<Ln&&0!=e.o.avail_in);if(e.v<e.We){let A,t=e.ae+e.ce;e.v<t?(A=e.We-t,A>Hn&&(A=Hn),dn(e.u,t,A),e.v=t+A):e.v<t+Hn&&(A=t+Hn-e.v,A>e.We-e.v&&(A=e.We-e.v),dn(e.u,e.v,A),e.v+=A)}}function zo(e){if(null==e)return!0;let A=e.l;return!A||A.o!=e||42!=A.F&&57!=A.F&&69!=A.F&&73!=A.F&&91!=A.F&&103!=A.F&&113!=A.F&&666!=A.F}function Lo(e,A){yn(e,A>>8),yn(e,255&A)}function Ho(e){let A,t=e.l;(e=>{Co(e)})(t),A=t.T,A>e.avail_out&&(A=e.avail_out),0!=A&&(wn(e.next_out,e.next_out_index,t.q,t.re,A),e.next_out_index+=A,t.re+=A,e.total_out+=A,e.avail_out-=A,t.T-=A,0==t.T&&(t.re=t.te))}function No(e,A){let t=e.l;t.Y&&t.Y.Ye&&(e.i=Eo(e.i,new tn(t.q.buffer,t.te+A,t.T-A),t.T-A))}function Jo(e,A){let t,i=e.l;if(zo(e)||A>5||0>A)return Dn(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==i.F&&4!=A)return Dn(e,-2);if(0==e.avail_out)return Dn(e,-5);if(t=i.oe,i.oe=A,0!=i.T){if(Ho(e),0==e.avail_out)return i.oe=qn,0}else if(0==e.avail_in&&ko(A)<=ko(t)&&4!=A)return Dn(e,-5);if(666==i.F&&0!=e.avail_in)return Dn(e,-5);if(42==i.F&&0==i.H&&(i.F=113),42==i.F){let A,t=8+(i.k-8<<4)<<8;if(A=i.ge>=2||2>i.be?0:6>i.be?1:6==i.be?2:3,t|=A<<6,0!=i.ae&&(t|=32),t+=31-t%31,Lo(i,t),0!=i.ae&&(Lo(i,e.i>>16),Lo(i,65535&e.i)),e.i=1,i.F=113,Ho(e),0!=i.T)return i.oe=qn,0}if(57==i.F)if(e.i=Eo(0),yn(i,31),yn(i,139),yn(i,8),i.Y)yn(i,(i.Y.Oe?1:0)+(i.Y.Ye?2:0)+(null==i.Y.Pe?0:4)+(null==i.Y.Re?0:8)+(null==i.Y.Je?0:16)),yn(i,255&i.Y.Ke),yn(i,i.Y.Ke>>>8&255),yn(i,i.Y.Ke>>>16&255),yn(i,i.Y.Ke>>>24&255),yn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),yn(i,255&i.Y.Ve),null!=i.Y.Pe&&(yn(i,255&i.Y.Ge),yn(i,i.Y.Ge>>>8&255)),i.Y.Ye&&(e.i=Eo(e.i,i.q,i.T)),i.Ze=0,i.F=69;else if(yn(i,0),yn(i,0),yn(i,0),yn(i,0),yn(i,0),yn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),yn(i,255),i.F=113,Ho(e),0!=i.T)return i.oe=qn,0;if(69==i.F){if(i.Y&&null!=i.Y.Pe){let A=i.T,t=(65535&i.Y.Ge)-i.Ze;for(;i.T+t>i.ne;){let r=i.ne-i.T;if(wn(i.q,i.T,i.Y.Pe,i.Ze,r),i.T=i.ne,No(e,A),i.Ze+=r,Ho(e),0!=i.T)return i.oe=qn,0;A=0,t-=r}wn(i.q,i.T,i.Y.Pe,i.Ze,t),i.T+=t,No(e,A),i.Ze=0}i.F=73}if(73==i.F){if(i.Y&&i.Y.Re&&i.Y.Re.length){let A,t=i.T;do{if(i.T==i.ne){if(No(e,t),Ho(e),0!=i.T)return i.oe=qn,0;t=0}A=i.Y.Re[i.Ze++],yn(i,A)}while(0!=A);No(e,t),i.Ze=0}i.F=91}if(91==i.F){if(i.Y&&i.Y.Je&&i.Y.Je.length){let A,t=i.T;do{if(i.T==i.ne){if(No(e,t),Ho(e),0!=i.T)return i.oe=qn,0;t=0}A=i.Y.Je[i.Ze++],yn(i,A)}while(0!=A);No(e,t)}i.F=103}if(103==i.F){if(i.Y&&i.Y.Ye){if(i.T+2>i.ne&&(Ho(e),0!=i.T))return i.oe=qn,0;yn(i,255&e.i),yn(i,e.i>>>8&255),e.i=Eo(0)}if(i.F=113,Ho(e),0!=i.T)return i.oe=qn,0}if(0!=e.avail_in||0!=i.ce||0!=A&&666!=i.F){let t=0==i.be?jo(i,A):2==i.ge?((e,A)=>{let t=!1;for(;;){if(0==e.ce&&(Ro(e),0==e.ce)){if(0==A)return 0;break}if(e.se=0,t=Mn(e,e.u[e.ae]),e.ce--,e.ae++,t){let A=Xo(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return Xo(e,!0)??3;if(e.I){let A=Xo(e,!1);if(null!=A)return A}return 1})(i,A):3==i.ge?((e,A)=>{let t,i,r,n;for(;;){if(e.ce<=zn){if(Ro(e),e.ce<=zn&&0==A)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=Rn&&e.ae>0&&(r=e.ae-1,i=e.u[r],i==++r&&i==++r&&i==++r)){n=e.ae+zn;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&n>r);e.se=zn-(n-r),e.se>e.ce&&(e.se=e.ce)}if(e.se<Rn?(t=Mn(e,e.u[e.ae]),e.ce--,e.ae++):(e.ae,e.ae,e.se,t=bn(e,1,e.se-Rn),e.ce-=e.se,e.ae+=e.se,e.se=0),t){let A=Xo(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return Xo(e,!0)??3;if(e.I){let A=Xo(e,!1);if(null!=A)return A}return 1})(i,A):Go[i.be].Be(i,A);if((2==t||3==t)&&(i.F=666),0==t||2==t)return 0==e.avail_out&&(i.oe=qn),0;if(1==t&&(1==A?(e=>{Fo(e,2,3),Fo(e,io[Zn].Ae,io[Zn].Ie),Co(e)})(i):5!=A&&(Mo(i,null,0,0),3==A&&(To(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),Ho(e),0==e.avail_out))return i.oe=qn,0}return 4!=A?0:i.H>0?(2==i.H?(yn(i,255&e.i),yn(i,e.i>>>8&255),yn(i,e.i>>>16&255),yn(i,e.i>>>24&255),yn(i,255&e.total_in),yn(i,e.total_in>>>8&255),yn(i,e.total_in>>>16&255),yn(i,e.total_in>>>24&255)):(Lo(i,e.i>>>16&65535),Lo(i,65535&e.i)),Ho(e),i.H>0&&(i.H=-i.H),0!=i.T?0:1):1}function vo(e){if(zo(e))return-2;let A=e.l,t=A.F;return A.u=Bn,A.V=cn,A.G=cn,A.q=Bn,A.Ee=Bn,A.pe=new nn(0),A.Le=Bn,A.Me=cn,A.B.length=0,A.C.length=0,A.Se.length=0,A.Y=void 0,A.te=0,A.re=0,A.A=0,113==t?-3:0}function Po(e,A){let t,i,r=e.xe,n=e.ae,o=e.de,a=e.me,s=e.ae>Un(e)?e.ae-Un(e):0,g=e.V,l=e.O,B=e.u[n],c=e.u[n+1],u=e.u[n+o-1],I=e.u[n+o];e.de>=e.ve&&(r>>=2),a>e.ce&&(a=e.ce);do{if(t=A,e.u[t+o]!=I||e.u[t+o-1]!=u||e.u[t]!=B||e.u[t+1]!=c)continue;let r=an.min(zn,e.ce),s=2;for(;r>s&&e.u[n+s]==e.u[t+s];)s++;if(i=s,i>o){if(e.je=A,o=i,i>=a)break;u=e.u[n+o-1],I=e.u[n+o]}}while((A=g[A&l])>s&&0!=--r);return o>e.ce?e.ce:o}function Vo(e,A){((e,A,t,i,r=0)=>{let n,o,a=0;e.be>0?(2==e.o.t&&(e.o.t=(e=>{let A,t=4093624447;for(A=0;31>=A;A++,t>>=1)if(1&t&&0!=e.B[A].U)return 0;if(0!=e.B[9].U||0!=e.B[10].U||0!=e.B[13].U)return 1;for(A=32;Nn>A;A++)if(0!=e.B[A].U)return 1;return 0})(e)),yo(e,e.$e),yo(e,e.qe),a=(e=>{let A;for(So(e,e.B,e.$e.N),So(e,e.C,e.qe.N),yo(e,e.Te),A=Pn-1;A>=3&&0==e.Se[ln[A]].Ie;A--);return e.ie+=3*(A+1)+5+5+4,A})(e),n=e.ie+3+7>>3,o=e.fe+3+7>>3,(n>=o||4==e.ge)&&(n=o)):n=o=t+5,n>=t+4&&A?Mo(e,A,t,i,r):o==n?(Fo(e,2+i,3),Uo(e,io,ro)):(Fo(e,4+i,3),((e,A,t,i)=>{let r;for(Fo(e,A-257,5),Fo(e,t-1,5),Fo(e,i-4,4),r=0;i>r;r++)Fo(e,e.Se[ln[r]].Ie,3);bo(e,e.B,A-1),bo(e,e.C,t-1)})(e,e.$e.N+1,e.qe.N+1,a+1),Uo(e,e.B,e.C)),Qo(e),i&&Yo(e)})(e,e.u,e.ae-e.ue,A,e.ue),e.ue=e.ae,Ho(e.o)}function Xo(e,A){return Vo(e,A?1:0),0==e.o.avail_out?A?2:0:null}var Zo=65535;function qo(e,A){return A>e?e:A}function jo(e,A){let t,i,r,n=qo(e.ne-5,e.h),o=0,a=e.o.avail_in;do{if(t=Zo,r=e.L+42>>3,e.o.avail_out<r||(r=e.o.avail_out-r,i=e.ae-e.ue,t>i+e.o.avail_in&&(t=i+e.o.avail_in),t>r&&(t=r),n>t&&(0==t&&4!=A||0==A||t!=i+e.o.avail_in)))break;o=4==A&&t==i+e.o.avail_in?1:0,Mo(e,null,0,o),e.q[e.T-4]=t,e.q[e.T-3]=t>>8,e.q[e.T-2]=~t,e.q[e.T-1]=~t>>8,Ho(e.o),i&&(i>t&&(i=t),wn(e.o.next_out,e.o.next_out_index,e.u,e.ue,i),e.o.next_out_index+=i,e.o.avail_out-=i,e.o.total_out+=i,e.ue+=i,t-=i),t&&(Ko(e.o,e.o.next_out,e.o.next_out_index,t),e.o.next_out_index+=t,e.o.avail_out-=t,e.o.total_out+=t)}while(0==o);if(a-=e.o.avail_in,a){if(a<e.h)e.We-e.ae<=a&&(e.ae-=e.h,wn(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,e.le>e.ae&&(e.le=e.ae)),wn(e.u,e.ae,e.o.next_in,e.o.next_in_index-a,a),e.ae+=a,e.le+=qo(a,e.h-e.le);else{e._e=2;let A=e.o.next_in_index-e.h;wn(e.u,0,e.o.next_in,A,e.h),e.ae=e.h,e.le=e.ae}e.ue=e.ae}return e.v<e.ae&&(e.v=e.ae),o?(e.ze=8,3):0!=A&&4!=A&&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,wn(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&&(Ko(e.o,e.u,e.ae,r),e.ae+=r,e.le+=qo(r,e.h-e.le)),e.v<e.ae&&(e.v=e.ae),r=e.L+42>>3,r=qo(e.ne-r,Zo),n=qo(r,e.h),i=e.ae-e.ue,(i>=n||(i||4==A)&&0!=A&&0==e.o.avail_in&&r>=i)&&(t=qo(i,r),o=4==A&&0==e.o.avail_in&&t==i?1:0,Mo(e,e.u,t,o,e.ue),e.ue+=t,Ho(e.o)),o&&(e.ze=8),o?2:0)}function _o(e,A){let t,i=!1;for(;;){if(e.ce<Ln){if(Ro(e),e.ce<Ln&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=Rn&&(t=Oo(e,e.ae)),0!=t&&e.ae-t<=Un(e)&&(e.se=Po(e,t)),e.se<Rn)i=Mn(e,e.u[e.ae]),e.ce--,e.ae++;else if(e.ae,e.je,e.se,i=bn(e,e.ae-e.je,e.se-Rn),e.ce-=e.se,e.se>e.ye||e.ce<Rn)e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=Wo(e,e.ke,e.u[e.ae+1]);else{e.se--;do{e.ae++,t=Oo(e,e.ae)}while(0!=--e.se);e.ae++}if(i){let A=Xo(e,!1);if(null!=A)return A}}if(e.le=e.ae<Rn-1?e.ae:Rn-1,4==A)return Xo(e,!0)??3;if(e.I){let A=Xo(e,!1);if(null!=A)return A}return 1}function $o(e,A){let t,i=!1;for(;;){if(e.ce<Ln){if(Ro(e),e.ce<Ln&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=Rn&&(t=Oo(e,e.ae)),e.de=e.se,e.he=e.je,e.se=Rn-1,0!=t&&e.de<e.ye&&e.ae-t<=Un(e)&&(e.se=Po(e,t),5>=e.se&&1==e.ge&&(e.se=Rn-1)),e.de<Rn||e.se>e.de)if(e.we){if(i=Mn(e,e.u[e.ae-1]),i&&Vo(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;else{let A=e.ae+e.ce-Rn;e.ae,e.he,e.de,i=bn(e,e.ae-1-e.he,e.de-Rn),e.ce-=e.de-1,e.de-=2;do{++e.ae<=A&&(t=Oo(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=Rn-1,e.ae++,i){let A=Xo(e,!1);if(null!=A)return A}}}if(e.we&&(i=Mn(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<Rn-1?e.ae:Rn-1,4==A)return Xo(e,!0)??3;if(e.I){let A=Xo(e,!1);if(null!=A)return A}return 1}var ea=852,Aa=hn.map(e=>e+1),ta=fn.subarray(0,-1).map(e=>e+3),ia=In.map(ha),ra=In.map(fa);ia.push(64,2),ra.push(142,2);var na=un.slice(0,-2).map(ha),oa=un.slice(0,-2).map(fa);na.push(16,1,73,1,200,1),oa.push(144,1,72,1,78,1);var aa=new rn([...ta,258,0,0]),sa=new rn([...ta,3,0,0]),ga=Yn(na),la=Yn(oa),Ba=new rn([...Aa,0,0]),ca=new rn([...Aa,32769,49153]),ua=Yn(ia),Ia=Yn(ra);function ha(e,A){return A%2?e:e+16}function fa(e,A){return A%2?e:e+128}function wa(e,A){let t,i=e.l,r=e.next_in_index,n=e.next_out_index,o=e.next_in,a=e.next_out,s=i.u,g=i.p>>>0,l=i.L>>>0,B=i.et,c=i.tt,u=(1<<i.nt)-1,I=(1<<i.rt)-1,h=i.h>>>0,f=i.v>>>0,w=i.m>>>0,d=i.it,E=n-(A-e.avail_out),C=n+(e.avail_out-257),Y=r+(e.avail_in-5),F=0,Q=0,p=0,D=0;e:do{for(;15>l;){if(r>=o.length)break e;g+=o[r++]<<l,l+=8}for(t=B[g&u];;){if(p=t.ft,g>>>=p,l-=p,p=t._t,0==p){a[n++]=t.lt;break}if(16&p){if(F=t.lt,p&=15,p){for(;p>l;){if(r>=o.length){i.ot=16200;break e}g+=o[r++]<<l,l+=8}F+=g&(1<<p)-1,g>>>=p,l-=p}for(;15>l;){if(r>=o.length){i.ot=16200;break e}g+=o[r++]<<l,l+=8}for(t=c[g&I];;){if(p=t.ft,g>>>=p,l-=p,p=t._t,16&p){if(Q=t.lt,p&=15,p){for(;p>l;){if(r>=o.length){i.ot=16200;break e}g+=o[r++]<<l,l+=8}Q+=g&(1<<p)-1,g>>>=p,l-=p}let A=F,B=n-E;if(Q>B){let t=Q-B;if(t>f&&d){e.msg="invalid distance too far back",i.ot=16209;break e}if(0==w){if(D=h-t,t>=A){for(let e=0;A>e;++e)a[n++]=s[D++];continue e}for(let e=0;t>e;++e)a[n++]=s[D++];A-=t,D=n-Q}else if(t>w){D=h+w-t;let e=t-w;if(e>=A){for(let e=0;A>e;++e)a[n++]=s[D++];continue e}for(let A=0;e>A;++A)a[n++]=s[D++];if(A-=e,D=0,A>w){for(let e=0;w>e;++e)a[n++]=s[D++];A-=w,D=n-Q}}else{if(D=w-t,t>=A){for(let e=0;A>e;++e)a[n++]=s[D++];continue e}for(let e=0;t>e;++e)a[n++]=s[D++];A-=t,D=n-Q}for(;A>2;)a[n++]=a[D++],a[n++]=a[D++],a[n++]=a[D++],A-=3;A&&(a[n++]=a[D++],A>1&&(a[n++]=a[D++]))}else{for(D=n-Q;A>2;)a[n++]=a[D++],a[n++]=a[D++],a[n++]=a[D++],A-=3;A&&(a[n++]=a[D++],A>1&&(a[n++]=a[D++]))}break}if(64&p){e.msg="invalid distance code",i.ot=16209;break e}t=c[t.lt+(g&(1<<p)-1)]}break}if(64&p){if(32&p){i.ot=16191;break e}e.msg="invalid literal/length code",i.ot=16209;break e}t=B[t.lt+(g&(1<<p)-1)]}}while(Y>r&&C>n);let m=l>>3;r-=m,l-=m<<3,g&=(1<<l)-1,e.next_in_index=r,e.next_out_index=n,e.avail_in=Y>r?Y-r+5:5-(r-Y),e.avail_out=C>n?C-n+257:257-(n-C),i.p=g>>>0,i.L=l>>>0}function da(e,A){let t=[],i=A?1446:1444;return{...Cn(e,0),o:e,ot:16180,ut:!1,H:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Bn,kt:0,bt:0,Pe:0,et:t,tt:t,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,Lt:t,Mt:new rn(320),Et:new rn(288),zt:new gn(i).fill(null).map(()=>Ea()),Zt:0,it:!0,Nt:0,Wt:0,jt:A}}function Ea(e=0,A=0,t=0){return{_t:e,ft:A,lt:t}}function Ca(e=1){return{_t:64,ft:e,lt:0}}function Ya(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Fa={jt:!1,Qt:aa,Dt:ga,St:Ba,$t:ua,qt:20,Tt:257,At:0,It:592,Ut:!1,Bt:!0},Qa={jt:!0,Qt:sa,Dt:la,St:ca,$t:Ia,qt:19,Tt:256,At:-1,It:594,Ut:!0,Bt:!1};function pa(e,A,t,i,r,n,o,a){let s,g,l,B,c,u,I,h,f,w,d,E,C,Y,F,Q,p,D,m,y=new rn(16),S=new rn(16),b=a?Qa:Fa;for(s=0;15>=s;s++)y[s]=0;for(g=0;t>g;g++)y[A[g]]++;for(c=r.Ct,B=15;B>=1&&0==y[B];B--);if(c>B&&(c=B),0==B)return b.Bt?(F=Ca(1),i.Ct[0]=F,i.Ct[1]=F,r.Ct=1,0):-1;for(l=1;B>l&&0==y[l];l++);for(l>c&&(c=l),h=1,s=1;15>=s;s++)if(h<<=1,h-=y[s],0>h)return-1;if(h>0&&(0==e||1!=B))return-1;for(S[1]=0,s=1;15>s;s++)S[s+1]=S[s]+y[s];for(g=0;t>g;g++)0!=A[g]&&(n[S[A[g]]++]=g);switch(e){case 0:p=D=n,m=b.qt;break;case 1:p=b.Qt,D=b.Dt,m=b.Tt;break;default:p=b.St,D=b.$t,m=b.At}if(w=0,g=0,s=l,Q=o.Ct,u=c,I=0,C=-1,f=1<<c,Y=f-1,1==e&&(b.Ut?f>=ea:f>ea)||2==e&&(b.Ut?f>=b.It:f>b.It))return 1;for(;;){F=Da(n,g,s,I,e,p,D,m,b.jt),d=1<<s-I,E=1<<u,l=E;do{E-=d;let e=(w>>I)+E;i.Ct[Q+e]={...F}}while(0!=E);for(d=1<<s-1;w&d;)d>>=1;if(0!=d?(w&=d-1,w+=d):w=0,g++,0==--y[s]){if(s==B)break;s=A[n[g]]}if(s>c&&(w&Y)!=C){for(0==I&&(I=c),Q+=1<<u,u=s-I,h=1<<u;B>u+I&&(h-=y[u+I],h>0);)u++,h<<=1;if(f+=1<<u,1==e&&(b.Ut?f>=ea:f>ea)||2==e&&(b.Ut?f>=b.It:f>b.It))return 1;C=w&Y,i.Ct[o.Ct+C]={_t:u,ft:c,lt:Q-o.Ct}}}if(0!=w)for(F=Ca(s-I);0!=w;){for(0!=I&&(w&Y)!=C&&(I=0,s=c,Q=o.Ct,u=c,F.ft=s),i.Ct[Q+(w>>I)]={...F},d=1<<s-1;w&d;)d>>=1;0!=d?(w&=d-1,w+=d):w=0}return o.Ct+=f,r.Ct=c,0}function Da(e,A,t,i,r,n,o,a,s){let g;if(s?e[A]<a:e[A]+1<a)g=Ea(0,t-i,e[A]);else if(s?e[A]>a:e[A]>=a)if(s&&1==r){let r=e[A]-257;g=Ea(o[r],t-i,n[r])}else{let r=s?e[A]:e[A]-a;g=Ea(o[r],t-i,n[r])}else g=((e=0)=>({_t:96,ft:e,lt:0}))(t-i);return g}var ma={Xt:!0,Ft:new gn(544),Ht:[],Yt:[]},ya={Xt:!0,Ft:new gn(544),Ht:[],Yt:[]};function Sa(e){let A;return!(e&&(A=e.l,!(!A||A.o!=e||A.jt&&(16191>A.ot||A.ot>16209)||!A.jt&&(16180>A.ot||A.ot>16211))))}function ba(e){let A=e.jt?ya:ma,t={Ct:0};if(A.Xt){let i,r,n;for(i=0;144>i;)e.Mt[i++]=8;for(;256>i;)e.Mt[i++]=9;for(;280>i;)e.Mt[i++]=7;for(;288>i;)e.Mt[i++]=8;for(let e=0;544>e;e++)A.Ft[e]=Ea();n=A.Ft,A.Ht=n,r=9;let o={Ct:n},a={Ct:r},s={Ct:0};for(pa(1,e.Mt,288,o,a,e.Et,s,e.jt),n=o.Ct,r=a.Ct,e.Zt=s.Ct,i=0;32>i;)e.Mt[i++]=5;r=5;let g=s.Ct,l={Ct:n},B={Ct:r};t.Ct=g,pa(2,e.Mt,32,l,B,e.Et,t,e.jt),A.Yt=n.slice(g),A.Xt=!1}e.et=A.Ht,e.nt=9,e.tt=A.Yt,e.rt=5,e.Zt=t.Ct}var Ma=class extends sn{constructor(){super("Need more input")}};function Ua(e,A){let t,i,r,n,o,a,s,g,l,B,c,u,I,h,f,w,d,E=new tn(4);if(Sa(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;a=0,g=0,s=0,l=0,i=Bn,r=0,n=Bn,o=0,t=e.l,16191==t.ot&&(t.ot=16192),p(),B=a,c=s,d=0;try{for(;;)switch(t.ot){case 16180:if(0==t.H){t.ot=16192;break}if(S(16),2&t.H&&35615==g){0==t.k&&(t.k=15),t.ht=Eo(0),t.ht=F(t.ht,g),m(),t.ot=16181;break}if(t.Y&&(t.Y.Ot=-1),!(1&t.H)||((b(8)<<8)+(g>>8))%31){e.msg="incorrect header check",t.ot=16209;break}if(8!=b(4)){e.msg="unknown compression method",t.ot=16209;break}if(M(4),w=b(4)+8,0==t.k&&(t.k=w),w>15||w>t.k){e.msg="invalid window size",t.ot=16209;break}t.dt=1<<w,t.st=0,e.i=t.ht=so(0),t.ot=512&g?16189:16191,m();break;case 16181:if(S(16),t.st=g,8!=(255&t.st)){e.msg="unknown compression method",t.ot=16209;break}if(57344&t.st){e.msg="unknown header flags set",t.ot=16209;break}t.Y&&(t.Y.Oe=g>>8&1),512&t.st&&4&t.H&&(t.ht=F(t.ht,g)),m(),t.ot=16182;case 16182:S(32),t.Y&&(t.Y.Ke=g),512&t.st&&4&t.H&&(t.ht=Q(t.ht,g)),m(),t.ot=16183;case 16183:S(16),t.Y&&(t.Y.Pt=255&g,t.Y.Ve=g>>8),512&t.st&&4&t.H&&(t.ht=F(t.ht,g)),m(),t.ot=16184;case 16184:1024&t.st?(S(16),t.kt=g,t.Y&&(t.Y.Ge=g),512&t.st&&4&t.H&&(t.ht=F(t.ht,g)),m()):t.Y&&(t.Y.Pe=Bn),t.ot=16185;case 16185:if(1024&t.st&&(u=t.kt,u>a&&(u=a),u&&(t.Y&&t.Y.Pe&&t.Y.Rt&&(w=t.Y.Ge-t.kt)<t.Y.Rt&&wn(t.Y.Pe,w,i,r,u),512&t.st&&4&t.H&&(t.ht=Eo(t.ht,i.subarray(r,r+u),u)),a-=u,r+=u,t.kt-=u),t.kt))return C();t.kt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==a)return C();u=0;do{w=i[r+u++],t.Y&&t.Y.Jt&&t.kt<t.Y.Jt&&(t.Y.Re[t.kt++]=w)}while(w&&a>u);if(512&t.st&&4&t.H&&(t.ht=Eo(t.ht,i.subarray(r,r+u),u)),a-=u,r+=u,w)return C()}else t.Y&&(t.Y.Re=Bn);t.kt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==a)return C();u=0;do{w=i[r+u++],t.Y&&t.Y.Kt&&t.kt<t.Y.Kt&&(t.Y.Je[t.kt++]=w)}while(w&&a>u);if(512&t.st&&4&t.H&&(t.ht=Eo(t.ht,i.subarray(r,r+u),u)),a-=u,r+=u,w)return C()}else t.Y&&(t.Y.Je=Bn);t.ot=16188;case 16188:if(512&t.st){if(S(16),4&t.H&&g!=(65535&t.ht)){e.msg="header crc mismatch",t.ot=16209;break}m()}t.Y&&(t.Y.Ye=t.st>>9&1,t.Y.Ot=1),e.i=t.ht=Eo(0),t.ot=16191;break;case 16189:S(32),e.i=t.ht=Ya(g),m(),t.ot=16190;case 16190:if(!t.ct)return D(),2;e.i=t.ht=so(0),t.ot=16191;case 16191:if(5==A||6==A)return C();case 16192:if(t.ut){U(),t.ot=16206;break}switch(S(3),t.ut=!!b(1),M(1),b(2)){case 0:t.ot=16193;break;case 1:if(ba(t),t.ot=16199,6==A)return M(2),C();break;case 2:t.ot=16196;break;case 3:e.msg="invalid block type",t.ot=16209}M(2);break;case 16193:if(U(),S(32),(65535&g)!=(g>>>16^65535)){e.msg="invalid stored block lengths",t.ot=16209;break}if(t.kt=65535&g,m(),t.ot=16194,6==A)return C();case 16194:t.ot=16195;case 16195:if(u=t.kt,u){if(u>a&&(u=a),u>s&&(u=s),0==u)return C();wn(n,o,i,r,u),a-=u,r+=u,s-=u,o+=u,t.kt-=u;break}t.ot=16191;break;case 16196:if(S(14),t.vt=b(5)+257,M(5),t.xt=b(5)+1,M(5),t.gt=b(4)+4,M(4),t.vt>286||!t.jt&&t.xt>30){e.msg=t.jt?"too many length":"too many length or distance symbols",t.ot=16209;break}t.yt=0,t.ot=16197;case 16197:for(;t.yt<t.gt;)S(3),t.Mt[ln[t.yt++]]=b(3),M(3);for(;19>t.yt;)t.Mt[ln[t.yt++]]=0;t.Lt=t.zt,t.et=t.tt=t.Lt,t.nt=7;let B={Ct:t.Lt},E={Ct:t.nt},G={Ct:0};if(d=pa(0,t.Mt,19,B,E,t.Et,G,t.jt),t.Lt=B.Ct,t.nt=E.Ct,d){e.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.vt+t.xt;){for(;h=t.et[b(t.nt)],h.ft>l;)y();if(16>h.lt)M(h.ft),t.Mt[t.yt++]=h.lt;else{if(16==h.lt){if(S(h.ft+2),M(h.ft),0==t.yt){e.msg="invalid bit length repeat",t.ot=16209;break}w=t.Mt[t.yt-1],u=3+b(2),M(2)}else 17==h.lt?(S(h.ft+3),M(h.ft),w=0,u=3+b(3),M(3)):(S(h.ft+7),M(h.ft),w=0,u=11+b(7),M(7));if(t.yt+u>t.vt+t.xt){e.msg="invalid bit length repeat",t.ot=16209;break}for(;u--;)t.Mt[t.yt++]=w}}if(16209==t.ot)break;if(0==t.Mt[256]){e.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.Lt=t.zt,t.nt=9;let k={Ct:t.Lt},W={Ct:t.nt},O={Ct:0};d=pa(1,t.Mt,t.vt,k,W,t.Et,O,t.jt),t.Lt=k.Ct,t.nt=W.Ct;let T=O.Ct;if(t.et=t.Lt.slice(0,T),d){e.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let x=t.Mt.subarray(t.vt,t.vt+t.xt),K={Ct:t.Lt},R={Ct:t.rt},z={Ct:T};if(d=pa(2,x,t.xt,K,R,t.Et,z,t.jt),t.Lt=K.Ct,t.rt=R.Ct,t.tt=t.Lt.slice(T),d){e.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==A)return C();case 16199:t.ot=16200;case 16200:if(!t.jt&&a>=6&&s>=258){D(),wa(e,c),p(),16191==t.ot&&(t.Nt=-1);break}for(t.Nt=0;h=t.et[b(t.nt)],h.ft>l;)y();if(h._t&&!(240&h._t)){for(f=h;h=t.et[f.lt+(b(f.ft+f._t)>>f.ft)],f.ft+h.ft>l;)y();M(f.ft),t.Nt+=f.ft}if(M(h.ft),t.Nt+=h.ft,t.kt=h.lt,0==h._t){t.ot=16205;break}if(32&h._t){t.Nt=-1,t.ot=16191;break}if(64&h._t){e.msg="invalid literal/length code",t.ot=16209;break}t.Pe=h._t&(t.jt?31:15),t.ot=16201;case 16201:t.Pe&&(S(t.Pe),t.kt+=b(t.Pe),M(t.Pe),t.Nt+=t.Pe),t.Wt=t.kt,t.ot=16202;case 16202:for(;h=t.tt[b(t.rt)],h.ft>l;)y();if(!(240&h._t)){for(f=h;h=t.tt[f.lt+(b(f.ft+f._t)>>f.ft)],f.ft+h.ft>l;)y();M(f.ft),t.Nt+=f.ft}if(M(h.ft),t.Nt+=h.ft,64&h._t){e.msg="invalid distance code",t.ot=16209;break}t.bt=h.lt,t.Pe=15&h._t,t.ot=16203;case 16203:t.Pe&&(S(t.Pe),t.bt+=b(t.Pe),M(t.Pe),t.Nt+=t.Pe),t.ot=16204;case 16204:if(0==s)return C();if(u=c-s,t.bt>u){if(u=t.bt-u,u>t.v&&t.it){e.msg="invalid distance too far back",t.ot=16209;break}u>t.m?(u-=t.m,I=t.h-u):I=t.m-u,u>t.kt&&(u=t.kt),u>s&&(u=s);for(let e=0;u>e;++e)n[o]=255&t.u[I],++o,++I}else{I=o-t.bt,u=t.kt,u>s&&(u=s);for(let e=0;u>e;++e)n[o]=n[I],++o,++I}u>s&&(u=s),s-=u,t.kt-=u,0==t.kt&&(t.ot=16200);break;case 16205:if(0==s)return C();n[o++]=t.kt,s--,t.ot=16200;break;case 16206:if(t.H){if(S(32),c-=s,e.total_out+=c,t.wt+=c,4&t.H&&c){let A=n.subarray(o-c,o);e.i=t.ht=Y(t.ht,A,c)}if(c=s,4&t.H&&(t.st?g:Ya(g)>>>0)!=t.ht){e.msg="incorrect data check",t.ot=16209;break}m()}t.ot=16207;case 16207:if(t.H&&t.st){if(S(32),4&t.H&&g!=(4294967295&t.wt)){e.msg="incorrect length check",t.ot=16209;break}m()}t.ot=16208;case 16208:return d=1,C();case 16209:return d=-3,C();case 16210:return-4;default:return-2}}catch(e){if(e instanceof Ma)return C();throw e}function C(){if(D(),t.h||c!=e.avail_out&&16209>t.ot&&(t.jt?16208>t.ot:16206>t.ot)||4!=A){let A=c-e.avail_out;if(((e,A,t)=>{let i=e.l;if(!(i.u&&0!=i.u.length||(i.u=new tn(1<<i.k),i.u)))return 1;if(0==i.h&&(i.h=1<<i.k,i.m=0,i.v=0),t<i.h){let e=i.h-i.m;e>t&&(e=t),wn(i.u,i.m,A,A.length-t,e),(t-=e)?(wn(i.u,0,A,A.length-t,t),i.m=t,i.v=i.h):(i.m+=e,i.m==i.h&&(i.m=0),i.v<i.h&&(i.v+=e))}else wn(i.u,0,A,A.length-i.h,i.h),i.m=0,i.v=i.h;return 0})(e,e.next_out.subarray(e.next_out_index-A,e.next_out_index),A))return t.ot=16210,-4}return B-=e.avail_in,c-=e.avail_out,e.total_in+=B,e.total_out+=c,t.wt+=c,4&t.H&&c&&(e.i=t.ht=Y(t.ht,e.next_out.subarray(e.next_out_index-c,e.next_out_index),c)),e.t=t.L+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==B&&0==c&&0==d||4==A&&0==d)&&(d=-5),d}function Y(e,A,i){return t.st?Eo(e,A,i):so(e,A,i)}function F(e,A){return E[0]=255&A,E[1]=A>>>8&255,Eo(e,E,2)>>>0}function Q(e,A){return E[0]=255&A,E[1]=A>>>8&255,E[2]=A>>>16&255,E[3]=A>>>24&255,Eo(e,E,4)>>>0}function p(){n=e.next_out,o=e.next_out_index,s=e.avail_out,i=e.next_in,r=e.next_in_index,a=e.avail_in,g=t.p,l=t.L}function D(){e.next_out=n,e.next_out_index=o,e.avail_out=s,e.next_in=i,e.next_in_index=r,e.avail_in=a,t.p=g,t.L=l}function m(){g=0,l=0}function y(){if(0==a)throw new Ma;a--,g+=(255&i[r])<<l,r++,g>>>=0,l+=8}function S(e){for(;e>l;)y()}function b(e){return g&(1<<e)-1}function M(e){g>>>=e,l-=e}function U(){g>>>=7&l,l-=7&l}}function Ga(e){return Sa(e)?-2:0}var ka=65536,Wa=class{constructor(e=16,A=ka){this.Vt=[],this.Gt=e;for(let t=0;t<an.min(e,4);t++)this.Vt.push(new tn(A))}acquire(e=ka){for(let A=this.Vt.length-1;A>=0;A--){let t=this.Vt[A];if(t.length>=e)return this.Vt.splice(A,1),t}return new tn(e)}release(e){this.Vt.length<this.Gt&&this.Vt.push(e)}};function Oa(e){let A=new Wa(32,ka),t=null;function i(e){try{A.release(e)}catch{}}return new on({start(){},transform(r,n){if(!t){let A=e.en(),i=e.tn(A);if(0!=i&&0!=i)throw new sn("init failed: "+i);t={o:A}}let o=t.o,a=0;for(;a<r.length;){let t=an.min(r.length-a,32768),s=r.subarray(a,a+t);for(o.next_in=s,o.next_in_index=0,o.avail_in=s.length;o.avail_in>0;){let t=A.acquire(),r=!1;try{o.next_out=t,o.next_out_index=0,o.avail_out=t.length;let i=e.nn(o,0),a=t.length-o.avail_out;if(a>0){let e=!1,i={rn:t.subarray(0,a),release:()=>{e||(e=!0,A.release(t))}};r=!0,n.enqueue(i)}if(0!=i&&1!=i)throw new sn("process error: "+i)}finally{r||i(t)}}a+=t}},flush(r){if(!t)return;let n=t.o;for(;;){let t=A.acquire(),o=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=e.nn(n,4),a=t.length-n.avail_out;if(a>0){let e=!1,i={rn:t.subarray(0,a),release:()=>{e||(e=!0,A.release(t))}};o=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new sn("finalization error: "+i)}finally{o||i(t)}}let o=e.fn(n);if(0!=o&&0!=o)throw new sn("end failed: "+o)}})}function Ta(){return new on({start(){},transform(e,A){try{A.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}se({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",A){let t=function(e="deflate",A){let t="gzip"==e?31:"deflate-raw"==e?-15:15,i=A&&"number"==typeof A.level?A.level:-1;return Oa({en:()=>(()=>{let e=En();return e.l=kn(e),e})(),tn:e=>((e,A,t=8,i=15,r=Kn,n=0)=>{let o=1;if(!e)return-2;if(e.msg="",-1==A&&(A=6),0>i){if(o=0,-15>i)return-2;i=-i}else i>15&&(o=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>A||A>9||0>n||n>4||8==i&&1!=o)return-2;8==i&&(i=9);let a=kn(e);return a?(e.l=a,a.o=e,a.F=42,a.H=o,a.Y=void 0,a.k=i,a.h=1<<a.k,a.O=a.h-1,a.P=r+7,a.R=1<<a.P,a.J=a.R-1,a.K=(a.P+Rn-1)/Rn,a.u=new tn(2*a.h),a.V=new rn(a.h),a.G=new rn(a.R),a.v=0,a.ee=1<<r+6,a.q=new tn(4*a.ee),a.ne=4*a.ee,a.u&&a.V&&a.G&&a.q?(a.Ee=a.q.subarray(a.ee),a.A=a.te+a.ee,a.X=3*(a.ee-1),a.be=A,a.ge=n,a.Ne=t,(e=>{let A=(e=>{let A;return zo(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,A=e.l,A.T=0,A.re=A.te,0>A.H&&(A.H=-A.H),A.F=2==A.H?57:42,e.i=2==A.H?Eo(0):so(0),A.oe=-2,(e=>{if(e.B&&e.B.length>=Vn)for(let A=0;Vn>A;A++)e.B[A]=On();else{e.B=[];for(let A=0;Vn>A;A++)e.B.push(On())}if(e.C&&e.C.length>=2*vn+1)for(let A=0;2*vn+1>A;A++)e.C[A]=On();else{e.C=[];for(let A=0;2*vn+1>A;A++)e.C.push(On())}if(e.Se&&e.Se.length>=2*Pn+1)for(let A=0;2*Pn+1>A;A++)e.Se[A]=On();else{e.Se=[];for(let A=0;2*Pn+1>A;A++)e.Se.push(On())}e.$e=new Fn(e.B,new Qn(io,_n,Nn+1,Jn,Xn)),e.qe=new Fn(e.C,new Qn(ro,$n,0,vn,Xn)),e.Te=new Fn(e.Se,new Qn(null,eo,0,Pn,7)),e.p=0,e.L=0,e.ze=0,Qo(e)})(A),0)})(e);return 0==A&&(e=>{e.We=2*e.h,To(e),e.ye=Go[e.be].Ce,e.ve=Go[e.be].Xe,e.me=Go[e.be].Fe,e.xe=Go[e.be].He,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=Rn-1,e.we=0,e.ke=0})(e.l),A})(e)):(a.F=666,e.msg=pn(-4),vo(e),-4)):-4})(e,i,8,t,8,0),nn:Jo,fn:vo})}(e,A);this.writable=t.writable,this.readable=t.readable.pipeThrough(Ta())}},DecompressionStreamZlib:class{constructor(e="deflate"){let A=((e="deflate")=>{let A="gzip"==e?31:"deflate-raw"==e?-15:15;return Oa({en:()=>(e=>{let A=En();return A.l=da(A,!!e),A})("deflate64-raw"==e),tn:e=>function(e,A){let t,i;if(!e)return-2;e.msg="";let r=!!e.l.jt;return i=da(e,r),r&&(A=-16),e.l=i,i.o=e,i.ot=i.jt?16191:16180,t=((e,A)=>{let t,i,r;if(Sa(e))return-2;if(i=e.l,i.jt?(A=-16,r=16):r=15,0>A){if(-r>A)return-2;t=0,A=-A}else t=5+(A>>4),!i.jt&&48>A&&(A&=15);return A&&(8>A||A>r)?-2:(i.u.length>0&&i.k!=A&&(i.u=Bn),i.H=t,i.k=A,(e=>{let A;return Sa(e)?-2:(A=e.l,A.h=0,A.v=0,A.m=0,(e=>{let A;return Sa(e)?-2:(A=e.l,e.total_in=e.total_out=A.wt=0,e.msg="",A.H&&(e.i=1&A.H),A.ot=A.jt?16191:16180,A.ut=!1,A.ct=!1,A.st=-1,A.dt=A.jt?65536:32768,delete A.Y,A.p=0,A.L=0,A.et=A.zt,A.tt=A.zt,A.Lt=A.zt,A.it=!0,A.Nt=-1,0)})(e))})(e))})(e,A),t}(e,A),nn:Ua,fn:Ga})})(e);this.writable=A.writable,this.readable=A.readable.pipeThrough(Ta())}}}),(e=>{e({workerURI:e=>{const A="text/javascript",t=(e=>{e=(e=>{const A=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let i=0;A>i;i+=4){const A=le.indexOf(e[i])<<18|le.indexOf(e[i+1])<<12|(63&le.indexOf(e[i+2]))<<6|63&le.indexOf(e[i+3]);t.push(A>>16&255),"="!==e[i+2]&&t.push(A>>8&255),"="!==e[i+3]&&t.push(255&A)}return new u(t)})(e);let A=new u(1024),t=0;for(let r=0;r<e.length;){const n=e[r++];if(128&n){const o=3+(127&n),a=e[r++]<<8|e[r++],s=t-a;i(t+o);for(let e=0;o>e;e++)A[t++]=A[s+e]}else{const o=n;i(t+o);for(let i=0;o>i&&r<e.length;i++)A[t++]=e[r++]}}return(e=>{let A="";const t=e.length;let i=0;for(;t>i+2;i+=3){const t=e[i]<<16|e[i+1]<<8|e[i+2];A+=le[t>>18&63]+le[t>>12&63]+le[t>>6&63]+le[63&t]}const r=t-i;if(1===r){const t=e[i]<<16;A+=le[t>>18&63]+le[t>>12&63]+"=="}else if(2===r){const t=e[i]<<16|e[i+1]<<8;A+=le[t>>18&63]+le[t>>12&63]+le[t>>6&63]+"="}return A})(new u(A.buffer.slice(0,t)));function i(e){if(A.length<e){let i=2*A.length;for(;e>i;)i*=2;const r=new u(i);r.set(A.subarray(0,t)),A=r}}})("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");if(e){const e=atob(t),i=new w([e],{type:A});return B.createObjectURL(i)}return"data:"+A+";base64,"+t}})})(se),e.BlobReader=ct,e.BlobWriter=ut,e.Data64URIReader=class extends lt{constructor(e){super();let A=e.length;for(;"="==e.charAt(A-1);)A--;const i=e.indexOf(",")+1;t.assign(this,{dataURI:e,dataStart:i,size:o.floor(.75*(A-i))})}readUint8Array(e,A){const{dataStart:t,dataURI:i}=this,r=new u(A),n=4*o.floor(e/3),a=atob(i.substring(n+t,4*o.ceil((e+A)/3)+t)),s=e-3*o.floor(n/4);let g=0;for(let e=s;s+A>e&&e<a.length;e++)r[e-s]=a.charCodeAt(e),g++;return g<r.length?r.subarray(0,g):r}},e.Data64URIWriter=class extends Bt{constructor(e){super(),t.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const A=this;let t,r=A.pending;const n=A.pending.length;for(A.pending="",t=0;t<3*o.floor((n+e.length)/3)-n;t++)r+=i.fromCharCode(e[t]);for(;t<e.length;t++)A.pending+=i.fromCharCode(e[t]);r.length>2?A.data+=Q(r):A.pending=r+A.pending}getData(){return this.data+Q(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=zi,e.ERR_BAD_FORMAT=bi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Gi,e.ERR_DUPLICATED_NAME=Ir,e.ERR_ENCRYPTED=Oi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ui,e.ERR_EOCDR_NOT_FOUND=Mi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Wi,e.ERR_HTTP_RANGE=tt,e.ERR_INVALID_COMMENT=hr,e.ERR_INVALID_COMPRESSED_DATA=hA,e.ERR_INVALID_ENCRYPTION_STRENGTH=Er,e.ERR_INVALID_ENTRY_COMMENT=fr,e.ERR_INVALID_ENTRY_NAME=wr,e.ERR_INVALID_EXTRAFIELD_DATA=Yr,e.ERR_INVALID_EXTRAFIELD_TYPE=Cr,e.ERR_INVALID_PASSWORD=Se,e.ERR_INVALID_SIGNATURE=be,e.ERR_INVALID_UNCOMPRESSED_SIZE=IA,e.ERR_INVALID_VERSION=dr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ki,e.ERR_OVERLAPPING_ENTRY=Ri,e.ERR_SPLIT_ZIP_FILE=Ki,e.ERR_UNDEFINED_READER=mr,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Dr,e.ERR_UNSUPPORTED_COMPRESSION=xi,e.ERR_UNSUPPORTED_ENCRYPTION=Ti,e.ERR_UNSUPPORTED_FORMAT=pr,e.ERR_ZIP_NOT_EMPTY=yr,e.HttpRangeReader=class extends yt{constructor(e,A={}){super(e,t.assign({},A,{useRangeHeader:!0}))}},e.HttpReader=yt,e.Reader=lt,e.SplitDataReader=St,e.SplitDataWriter=bt,e.TextReader=class extends ct{constructor(e){super(new w([e],{type:"text/plain"}))}},e.TextWriter=class extends ut{constructor(e){super(e),t.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:A}=this,i=await super.getData();if(i.text&&A)return i.text();{const A=new FileReader;return new d((r,n)=>{t.assign(A,{onload:({target:e})=>r(e.result),onerror:()=>n(A.error)}),A.readAsText(i,e)})}}},e.Uint8ArrayReader=class extends lt{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),t.assign(this,{array:e,size:e.length})}readUint8Array(e,A){return this.array.slice(e,e+A)}},e.Uint8ArrayWriter=class extends Bt{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){t.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const A=this,t=A.offset+e.length;if(t>A.array.length){let e=A.array.length?2*A.array.length:A.defaultBufferSize;for(;t>e;)e*=2;const i=A.array;A.array=new u(e),A.array.set(i)}A.array.set(e,A.offset),A.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Bt,e.ZipReader=vi,e.ZipReaderStream=class{constructor(e={}){const{readable:A,writable:t}=new p,i=new vi(A,e).getEntriesGenerator();this.readable=new D({async pull(e){const{done:A,value:t}=await i.next();if(A)return e.close();const r={...t,readable:(()=>{const{readable:e,writable:A}=new p;if(t.getData)return(async()=>{try{await t.getData(A)}catch(e){try{await A.abort(e)}catch{}}})(),e})()};delete r.getData,e.enqueue(r)}}),this.writable=t}},e.ZipWriter=kr,e.ZipWriterStream=class{constructor(e={}){const{readable:A,writable:t}=new p;this.readable=A,this.zipWriter=new kr(t,e),this.pendingAddFileCalls=new g}transform(e){const A=this.zipWriter;let t;const{readable:i,writable:r}=new p({start(e){t=e},flush:()=>{(async()=>{try{await A.close()}catch(e){try{await A.writer.writable.abort(e)}catch{}}})()}});return Wr(this,this.zipWriter.add(e,i),e=>t.error(e)),{readable:this.readable,writable:r}}writable(e){let A;const{readable:t,writable:i}=new p({start(e){A=e}});return Wr(this,this.zipWriter.add(e,t),e=>A.error(e)),i}async close(e,t={}){return await d.all(A.from(this.pendingAddFileCalls)),this.zipWriter.close(e,t)}},e.configure=se,e.createOPFSTempStream=(e={})=>{const{thresholdBytes:A=en,directoryName:t=An,getDirectory:i=()=>b.storage.getDirectory()}=e;let r;function n(){return r||(r=d.resolve(i()).then(e=>e.getDirectoryHandle(t,{create:!0}))),r}return async()=>{const e=[];let t,i,r,o,a=0,s=!1;const g=new m({async write(o){s?await r.write(o):(e.push(o),a+=o.length,a>A&&await(async()=>{const A=await n();t=F.randomUUID(),i=await A.getFileHandle(t,{create:!0}),r=(await i.createWritable()).getWriter(),s=!0;for(const A of e)await r.write(A);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let l=0;return{writable:g,readable:new D({async pull(A){if(s){if(!o){const e=await i.getFile();o=e.stream().getReader()}const{value:e,done:t}=await o.read();t?A.close():A.enqueue(e)}else l<e.length?A.enqueue(e[l++]):A.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.close()}catch{}r=null}if(t){try{const e=await n();await e.removeEntry(t)}catch{}i=t=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await d.allSettled(JA.map(e=>(et(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).t={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:i,BigInt:s,Math:a,Date:o,Map:c,Set:l,Response:f,URL:u,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:b,TextEncoder:x,TextDecoder:g,document:F,crypto:k,btoa:v,TransformStream:z,ReadableStream:S,WritableStream:R,CompressionStream:E,DecompressionStream:U,navigator:T,Worker:L}="undefined"!=typeof globalThis?globalThis:this||self;var D=void 0!==F?F.currentScript:null;const C=4294967295,I=65535,W=255,q=67324752,N=134695760,O=N,Z=33639248,P=101010256,V=101075792,j=117853008,G=22,M=20,K=21589,A=2048,X=16384,H=2048,B=1024,Y="/",J=30,Q=new o(2107,11,31),_=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function",ne=new w;let ie=2;try{typeof T!=te&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch{}const se={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof E!=te&&E,DecompressionStream:typeof U!=te&&U},ae=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","useCompressionStream","useWebWorkers","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],oe=r.assign({},se);function ce(){return oe}function le(e){return a.max(e.chunkSize,64)}function fe(e){for(const t of ae){const r=e[t];r!==$&&(oe[t]=r)}}const ue=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],de=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],we=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],pe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],he=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],me=new w(288);me.fill(8,0,144),me.fill(9,144,256),me.fill(7,256,280),me.fill(8,280,288);const ye=new w(30).fill(5);function be(e){const t=new p(16);for(const r of e)t[r]++;t[0]=0;const r=new p(17);for(let e=1;15>=e;e++)r[e+1]=r[e]+t[e];const n=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(n[r[e[t]]++]=t);return{i:t,symbols:n}}const xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ge=[[],[],[],[],[],[],[],[]];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;ge[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=ge[t-1][e];ge[t][e]=r>>>8^ge[0][255&r]}const[Fe,ke,ve,ze,Se,Re,Ee,Ue]=ge;class Te{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const i=new m(e.buffer,e.byteOffset,r),s=r-8;for(;s>=n;n+=8){const e=t^i.getInt32(n,!0),r=i.getInt32(n+4,!0);t=Ue[255&e]^Ee[e>>>8&255]^Re[e>>>16&255]^Se[e>>>24&255]^ze[255&r]^ve[r>>>8&255]^ke[r>>>16&255]^Fe[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Fe[255&(t^e[n])];this.o=t}get(){return~this.o}}class Le extends z{constructor(){let e;const t=new Te;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new w(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function De(e){if(typeof x==te){const t=new w((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const Ce={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Ce.l(r);return 32===n?e.concat(t):Ce.u(t,n,0|r,e.slice(0,e.length-1))},p(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ce.l(r)},h(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Ce.m(t,e[r-1]&2147483648>>t-1,1)),e},m:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>a.round(e/1099511627776)||32,u(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let i=0;i<e.length;i++)n.push(r|e[i]>>>t),r=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=Ce.l(i);return n.push(Ce.m(t+s&31,t+s>32?r:n.pop(),1)),n}},Ie={bytes:{F(e){const t=Ce.p(e)/8,r=new w(t);let n;for(let i=0;t>i;i++)3&i||(n=e[i/4]),r[i]=n>>>24,n<<=8;return r},k(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Ce.m(8*(3&r),n)),t}}},We=class{constructor(e){const t=this;t.blockSize=512,t.v=[1732584193,4023233417,2562383102,271733878,3285377520],t.S=[1518500249,1859775393,2400959708,3395469782],e?(t.R=e.R.slice(0),t.U=e.U.slice(0),t.T=e.T):t.reset()}reset(){const e=this;return e.R=e.v.slice(0),e.U=[],e.T=0,e}update(e){const t=this;"string"==typeof e&&(e=Ie.L.k(e));const r=t.U=Ce.concat(t.U,e),n=t.T,i=t.T=n+Ce.p(e);if(i>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const s=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);i>=e;e+=t.blockSize)t.D(s.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}C(){const e=this;let t=e.U;const r=e.R;t=Ce.concat(t,[Ce.m(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.T/4294967296)),t.push(0|e.T);t.length;)e.D(t.splice(0,16));return e.reset(),r}I(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}W(e,t){return t<<e|t>>>32-e}D(e){const r=this,n=r.R,i=t(80);for(let t=0;16>t;t++)i[t]=e[t];let s=n[0],o=n[1],c=n[2],l=n[3],f=n[4];for(let e=0;79>=e;e++){16>e||(i[e]=r.W(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=r.W(5,s)+r.I(e,o,c,l)+f+i[e]+r.S[a.floor(e/20)]|0;f=l,l=c,c=r.W(30,o),o=s,s=t}n[0]=n[0]+s|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+f|0}},qe={importKey:e=>new qe.q(Ie.bytes.k(e)),N(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new d("invalid params to pbkdf2");const i=1+(n>>5)<<2;let s,a,o,c,l;const f=new ArrayBuffer(i),u=new m(f);let w=0;const p=Ce;for(t=Ie.bytes.k(t),l=1;(i||1)>w;l++){for(s=a=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)s[c]^=a[c];for(o=0;(i||1)>w&&o<s.length;o++)u.setInt32(w,s[o]),w+=4}return f.slice(0,n/8)},q:class{constructor(e){const t=this,r=t.O=We,n=[[],[]];t.Z=[new r,new r];const i=t.Z[0].blockSize/32;e.length>i&&(e=(new r).update(e).C());for(let t=0;i>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.Z[0].update(n[0]),t.Z[1].update(n[1]),t.P=new r(t.Z[0])}reset(){const e=this;e.P=new e.O(e.Z[0]),e.V=!1}update(e){this.V=!0,this.P.update(e)}digest(){const e=this,t=e.P.C(),r=new e.O(e.Z[1]).update(t).C();return e.reset(),r}encrypt(e){if(this.V)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ne=typeof k!=te&&typeof k.getRandomValues==re,Oe="Invalid password",Ze="Invalid signature",Pe="zipjs-abort-check-password";function Ve(e){if(Ne)return k.getRandomValues(e);throw new d("Crypto API not supported")}const je=16,Ge={name:"PBKDF2"},Me=r.assign({hash:{name:"HMAC"}},Ge),Ke=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Ge),Ae=["deriveBits"],Xe=[8,12,16],He=[16,24,32],Be=10,Ye=[0,0,0,0],Je=typeof k!=te,Qe=Je&&k.subtle,_e=Je&&typeof Qe!=te,$e=Ie.bytes,et=class{constructor(e){const t=this;t.j=[[[],[],[],[],[]],[[],[],[],[],[]]],t.j[0][0][0]||t.G();const r=t.j[0][4],n=t.j[1],i=e.length;let s,a,o,c=1;if(4!==i&&6!==i&&8!==i)throw new d("invalid aes key size");for(t.S=[a=e.slice(0),o=[]],s=i;4*i+28>s;s++){let e=a[s-1];(s%i===0||8===i&&s%i===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],s%i===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=4>=s||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.M(e,0)}decrypt(e){return this.M(e,1)}G(){const e=this.j[0],t=this.j[1],r=e[4],n=t[4],i=[],s=[];let a,o,c,l;for(let e=0;256>e;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let f=a=0;!r[f];f^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,r[f]=s,n[s]=f,l=i[c=i[o=i[f]]];let u=16843009*l^65537*c^257*o^16843008*f,d=257*i[s]^16843008*s;for(let r=0;4>r;r++)e[r][f]=d=d<<24^d>>>8,t[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}M(e,t){if(4!==e.length)throw new d("invalid aes block size");const r=this.S[t],n=r.length/4-2,i=[0,0,0,0],s=this.j[t],a=s[0],o=s[1],c=s[2],l=s[3],f=s[4];let u,w,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],b=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&b]^r[x],w=a[m>>>24]^o[y>>16&255]^c[b>>8&255]^l[255&h]^r[x+1],p=a[y>>>24]^o[b>>16&255]^c[h>>8&255]^l[255&m]^r[x+2],b=a[b>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[x+3],x+=4,h=u,m=w,y=p;for(let e=0;4>e;e++)i[t?3&-e:e]=f[h>>>24]<<24^f[m>>16&255]<<16^f[y>>8&255]<<8^f[255&b]^r[x++],u=h,h=m,m=y,y=b,b=u;return i}},tt=class{constructor(e,t){this.K=e,this.A=t,this.X=t}reset(){this.X=this.A}update(e){return this.H(this.K,e,this.X)}B(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}Y(e){0===(e[0]=this.B(e[0]))&&(e[1]=this.B(e[1]))}H(e,t,r){let n;if(!(n=t.length))return[];const i=Ce.p(t);for(let i=0;n>i;i+=4){this.Y(r);const n=e.encrypt(r);t[i]^=n[0],t[i+1]^=n[1],t[i+2]^=n[2],t[i+3]^=n[3]}return Ce.h(t,i)}},rt=qe.q;let nt=Je&&_e&&typeof Qe.importKey==re,it=Je&&_e&&typeof Qe.deriveBits==re;class st extends z{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){ot(this,e,t,r)},async transform(e,t){const r=this,{password:i,strength:s,J:a,ready:o}=r;i?(await(async(e,t,r,n)=>{const i=await lt(e,t,r,dt(n,0,Xe[t])),s=dt(n,Xe[t]);if(i[0]!=s[0]||i[1]!=s[1])throw new d(Oe)})(r,s,i,dt(e,0,Xe[s]+2)),e=dt(e,Xe[s]+2),n?t.error(new d(Pe)):a()):await o;const c=new w(e.length-Be-(e.length-Be)%je);t.enqueue(ct(r,e,c,0,Be,!0))},async flush(e){const{_:t,$:r,pending:n,ready:i}=this;if(r&&t){await i;const s=dt(n,0,n.length-Be),a=dt(n,n.length-Be);let o=ne;if(s.length){const e=pt($e,s);r.update(e);const n=t.update(e);o=wt($e,n)}const c=dt(wt($e,r.digest()),0,Be);let l=n.length<Be?1:0;for(let e=0;Be>e;e++)l|=c[e]^a[e];if(l)throw new d(Ze);e.enqueue(o)}}})}}class at extends z{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){ot(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:i,J:s,ready:a}=r;let o=ne;n?(o=await(async(e,t,r)=>{const n=Ve(new w(Xe[t]));return ut(n,await lt(e,t,r,n))})(r,i,n),s()):await a;const c=new w(o.length+e.length-e.length%je);c.set(o,0),t.enqueue(ct(r,e,c,o.length,0))},async flush(e){const{_:t,$:r,pending:i,ready:s}=this;if(r&&t){await s;let a=ne;if(i.length){const e=t.update(pt($e,i));r.update(e),a=wt($e,e)}n.signature=wt($e,r.digest()).slice(0,Be),e.enqueue(ut(a,n.signature))}}}),n=this}}function ot(e,t,n,i){r.assign(e,{ready:new b(t=>e.J=t),password:ft(t,n),strength:i-1,pending:ne})}function ct(e,t,r,n,i,s){const{_:a,$:o,pending:c}=e;c.length&&(t=ut(c,t));const l=t.length-i;let f;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new w(t)).set(r,0)}return e})(r,n+(l-l%je)),f=0;l-je>=f;f+=je){const e=pt($e,dt(t,f,f+je));s&&o.update(e);const i=a.update(e);s||o.update(i),r.set(wt($e,i),f+n)}return e.pending=dt(t,f),r}async function lt(e,n,i,s){e.password=null;const a=await(async(e,t,r,n,i)=>{if(!nt)return qe.importKey(t);try{return await Qe.importKey("raw",t,r,!1,i)}catch{return nt=!1,qe.importKey(t)}})(0,i,Me,0,Ae),o=await(async(e,t,r)=>{if(!it)return qe.N(t,e.salt,Ke.iterations,r);try{return await Qe.deriveBits(e,t,r)}catch{return it=!1,qe.N(t,e.salt,Ke.iterations,r)}})(r.assign({salt:s},Ke),a,8*(2*He[n]+2)),c=new w(o),l=pt($e,dt(c,0,He[n])),f=pt($e,dt(c,He[n],2*He[n])),u=dt(c,2*He[n]);return r.assign(e,{keys:{key:l,ee:f,passwordVerification:u},_:new tt(new et(l),t.from(Ye)),$:new rt(f)}),u}function ft(e,t){return t===$?De(e):t}function ut(e,t){let r=e;return e.length+t.length&&(r=new w(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function dt(e,t,r){return e.subarray(t,r)}function wt(e,t){return e.F(t)}function pt(e,t){return e.k(t)}class ht extends z{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){yt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=bt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t.at(-1)^r.passwordVerification))throw new d(Oe);e=e.subarray(12)}n?t.error(new d(Pe)):t.enqueue(bt(r,e))}})}}class mt extends z{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){yt(this,e,t,r)},transform(e,t){const r=this;let n,i;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Ve(new w(12));t[11]=r.passwordVerification,n=new w(e.length+t.length),n.set(xt(r,t),0),i=12}else n=new w(e.length),i=0;n.set(xt(r,e),i),t.enqueue(n)}})}}function yt(e,t,n,i){r.assign(e,{password:t,rawPassword:n,passwordVerification:i}),((e,t,n)=>{const i=[305419896,591751049,878082192];if(r.assign(e,{keys:i,te:new Te(i[0]),re:new Te(i[2])}),n)for(let t=0;t<n.length;t++)gt(e,n[t]);else for(let r=0;r<t.length;r++)gt(e,t.charCodeAt(r))})(e,t,n)}function bt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=Ft(e)^t[n],gt(e,r[n]);return r}function xt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=Ft(e)^t[n],gt(e,t[n]);return r}function gt(e,t){let[,r]=e.keys;e.te.append([t]);const n=~e.te.get();r=vt(a.imul(vt(r+kt(n)),134775813)+1),e.re.append([r>>>24]);const i=~e.re.get();e.keys=[n,r,i]}function Ft(e){const t=2|e.keys[2];return kt(a.imul(t,1^t)>>>8)}function kt(e){return 255&e}function vt(e){return 4294967295&e}const zt="Invalid uncompressed size",St="Invalid compressed data";class Rt extends z{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:i,encrypted:s,useCompressionStream:a,zipCrypto:o,signed:c,level:l,deflate64:f}=e,u=this;let d,w,p,h=super.readable;const y=c&&i&&!f&&(!s||o)&&!(!a||!n);s&&!o||!c||y||(d=new Le,h=Dt(h,d)),i&&(y?(p=new Et,h=Ct(h,new n("gzip")),h=Dt(h,p)):h=Lt(h,a,{level:l,chunkSize:t},n,r,n)),s&&(o?h=Dt(h,new mt(e)):(w=new at(e),h=Dt(h,w))),Tt(u,h,()=>{let e;s&&!o&&(e=w.signature),s&&!o||!c||(e=y?p.signature:new m(d.value.buffer).getUint32(0)),u.signature=e})}}class Et extends z{constructor(){let e,t=10,r=new w(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const i=r.length+e.length;if(8>=i){const t=new w(i);return t.set(r),t.set(e,r.length),void(r=t)}const s=i-8,o=new w(s),c=a.min(s,r.length);o.set(r.subarray(0,c),0),s>c&&o.set(e.subarray(0,s-c),c),n.enqueue(o);const l=new w(8),f=r.length-c;f&&l.set(r.subarray(c),0),l.set(e.subarray(s-c),f),r=l},flush(){const t=new m(r.buffer,r.byteOffset,r.byteLength);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Ut extends z{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:i,encrypted:s,signed:a,signature:o,compressed:c,useCompressionStream:l,deflate64:f}=e;let u,w,p=super.readable;s&&(i?p=Dt(p,new ht(e)):(w=new st(e),p=Dt(p,w))),c&&(p=Lt(p,l,{chunkSize:t,deflate64:f},n,r,n),p=(e=>{const t=e.getReader();return new S({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(St);throw t.cause=e,t}const{value:n,done:i}=r;i?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(p)),s&&!i||!a||(u=new Le,p=Dt(p,u)),Tt(this,p,()=>{if((!s||i)&&a){const e=new m(u.value.buffer);if(o!=e.getUint32(0,!1))throw new d(Ze)}})}}function Tt(e,t,n){t=Dt(t,new z({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Lt(e,t,r,n,i,s){const a=t&&n?n:i||s,o=r.deflate64?"deflate64-raw":"deflate-raw";let c;try{c=new a(o,r)}catch(e){if(!t)throw e;if(i)c=new i(o,r);else{if(!s)throw e;c=new s(o,r)}}return Ct(e,c)}function Dt(e,t){return e.pipeThrough(t)}function Ct(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const It="data",Wt="deflate",qt="inflate";class Nt extends z{constructor(e,t){super({});const n=this,{codecType:i}=e;let s;i.startsWith(Wt)?s=Rt:i.startsWith(qt)&&(s=Ut),n.outputSize=0;let a=0;const o=new s(e,t),c=super.readable,l=new z({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),f=new z({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==$&&n.outputSize>e.outputSize))throw new d(zt)},flush(){const{signature:e}=o;r.assign(n,{signature:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(f)})}}class Ot extends z{constructor(e){let t;1>e&&(e=65536),super({transform:(r,n)=>{if(t){const e=new w(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}let i=0;for(;r.length-i>e;)n.enqueue(r.slice(i,i+e)),i+=e;t=i?r.slice(i):r},flush(e){t&&t.length&&e.enqueue(t)}})}}const Zt={type:"module"},Pt="error";let Vt,jt,Gt,Mt,Kt=!0;try{Kt=typeof structuredClone==re&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class At{constructor(e,{readable:t,writable:n},{options:i,config:s,ne:a,useWebWorkers:o,transferStreams:c,workerURI:l},f){const{signal:u}=a;return r.assign(e,{ie:!0,se:(e.se||0)+1,readable:t.pipeThrough(new Ot(le(s))).pipeThrough(new Xt(a),{signal:u}),writable:n,options:r.assign({},i),workerURI:l,transferStreams:c,terminate:()=>new b(t=>{const{ae:r,ie:n}=e;r?(n?e.oe=t:(r.terminate(),t()),e.ce=null):t()}),le(){if(e.ie){const{oe:t}=e;t&&(e.oe=null,e.fe=!0,e.ae.terminate(),t()),e.ie=!1,f(e)}}}),Vt===$&&(Vt=typeof L!=te),(o&&Vt?Yt:Bt)(e,s)}}class Xt extends z{constructor({onstart:e,onprogress:t,size:r,onend:n}){let i=0;super({async start(){e&&await Ht(e,r)},async transform(e,n){i+=e.length,t&&await Ht(t,i,r),n.enqueue(e)},async flush(){n&&await Ht(n,i)}})}}async function Ht(e,...t){try{await e(...t)}catch{}}function Bt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,le:n},i)=>{let s;try{if(!e.useCompressionStream)try{await void 0}catch{const t=e.codecType.startsWith(Wt)?i.CompressionStreamZlib:i.DecompressionStreamZlib;t&&!t.ue||(e.useCompressionStream=!0)}s=new Nt(e,i),await t.pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:a,outputSize:o}=s;return{signature:n,inputSize:a,outputSize:o}}catch(e){throw s&&(e.outputSize=s.outputSize),e}finally{n()}})(e,t)}}function Yt(e,t){const{baseURI:n,chunkSize:i}=t;let{wasmURI:s}=t;if(!e.ce){let a;typeof s==re&&(s=s());try{a=Qt(e.workerURI,n,e)}catch{return Vt=!1,Bt(e,t)}r.assign(e,{ae:a,fe:!1,ce:{run:()=>(async(e,t)=>{let n,i;const s=new b((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,de:n,we:i,result:s});const{readable:a,options:o}=e,{writable:c,closed:l,pe:f}=(e=>{const t=new AbortController,{writable:r,readable:n}=new z,i=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return i.catch(()=>{}),{writable:r,closed:i,pe:()=>t.abort()}})(e.writable);let u;try{u=$t({type:"start",options:o,config:t,readable:a,writable:c},e)}catch(t){f();try{await l}catch{}throw e.le(),t}u||r.assign(e,{reader:a.getReader(),writer:c.getWriter()});try{const e=await s;return await d(),await l,e}catch(e){await d(),f();try{await l}catch{}throw e}async function d(){if(!u&&!c.locked)try{await c.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:s,baseURI:n})}})}return e.ce}function Jt(e){const{ae:t}=e;if(t)try{t.terminate()}catch{}e.ce=null}function Qt(e,t,n,i,s=!0){let a,o,c;if(Gt===$||jt!==e){const r=typeof e==re;o=r?e(s):e;const l=o.startsWith("data:"),f=o.startsWith("blob:");if(l||f){i===$&&(i=!1),i&&(c=Zt);try{a=new L(o,c)}catch(s){if(f)try{u.revokeObjectURL(o)}catch{}if(r&&f)return Qt(e,t,n,i,!1);if(i)throw s;return Qt(e,t,n,!0,!1)}}else{i===$&&(i=!0),i&&(c=Zt);try{o=new u(o,t)}catch{}try{a=new L(o,c)}catch(r){if(i)throw r;return Qt(e,t,n,!1,s)}}jt=e,Gt=o,Mt=c}else a=new L(Gt,Mt);return a.addEventListener("message",e=>(async({data:e},t)=>{const{type:n,value:i,messageId:s,result:a,error:o}=e,{reader:c,writer:l,de:f,we:u,le:p,se:h}=t,m=()=>t.se!=h;try{if(o){const{message:e,stack:t,code:n,name:i,outputSize:s}=o,a=new d(e);r.assign(a,{stack:t,code:n,name:i,outputSize:s}),y(a)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||$t({type:It,value:e,done:r,messageId:s},t)}n==It&&(await l.ready,await l.write(new w(i)),m()||$t({type:"ack",messageId:s},t)),"close"==n&&y(null,a)}}catch(o){m()||(Jt(t),y(o))}function y(e,t){m()||(e?u(e):f(t),l&&l.releaseLock(),p())}})(e,n)),a.addEventListener(Pt,e=>_t(e,n)),a.addEventListener("messageerror",e=>_t(e,n)),a}function _t(e,t){e.preventDefault&&e.preventDefault();const{we:r,writer:n,le:i}=t;Jt(t),r&&(r(e.error||new d(e.message||Pt)),n&&n.releaseLock(),i())}function $t(e,{ae:t,writer:r,transferStreams:n}){try{const{value:r,readable:i,writable:s}=e,a=[];if(r&&(e.value=r.byteOffset||r.byteLength!=r.buffer.byteLength?new w(r):r,a.push(e.value.buffer)),n&&Kt?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{Kt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let er=[];const tr=[];let rr,nr,ir=0;async function sr(e,t){const{options:r,config:n}=t,{transferStreams:s,useWebWorkers:a,useCompressionStream:o,compressed:c,signed:l,encrypted:f}=r,{workerURI:u,maxWorkers:d}=n;t.transferStreams=s||s===$;const w=!(c||l||f||t.transferStreams);return t.useWebWorkers=!w&&(a||a===$&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:$,r.useCompressionStream=o||o===$&&n.useCompressionStream,(await(async()=>{const r=er.find(e=>!e.ie);if(r)return fr(r),new At(r,e,t,p);if(er.length<d){const r={he:ir};return ir++,er.push(r),new At(r,e,t,p)}return new b(r=>{tr.push({resolve:r,stream:e,me:t}),nr=n.workerStarvationTimeout,ar()})})()).run();function p(e){if(or(),tr.length){const[{resolve:t,stream:r,me:n}]=tr.splice(0,1);t(new At(e,r,n,p)),ar()}else e.ae?(fr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;i.isFinite(n)&&n>=0&&(e.fe?e.fe=!1:e.ye=setTimeout(async()=>{er=er.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):er=er.filter(t=>t!=e)}}function ar(){!rr&&tr.length&&i.isFinite(nr)&&nr>=0&&(rr=setTimeout(cr,nr))}function or(){rr&&(clearTimeout(rr),rr=null)}function cr(){if(rr=null,tr.length){const[{resolve:e,stream:t,me:n}]=tr.splice(0,1),i=r.assign({},n,{useWebWorkers:!1,workerURI:$});e(new At({},t,i,lr)),ar()}}function lr(){or(),ar()}function fr(e){const{ye:t}=e;t&&(clearTimeout(t),e.ye=null)}const ur="HTTP error ",dr="HTTP Range not supported",wr="Writer iterator completed too soon",pr="Writer not initialized",hr="Content-Range",mr="Range",yr="GET",br="bytes",xr="writable";class gr{constructor(){this.size=0}init(){this.initialized=!0}}class Fr extends gr{get readable(){return this.be()}be({offset:e=0,size:t,diskNumberStart:r,chunkSize:n=65536}={}){const i=this;let s=0;return new S({async pull(o){const c=t===$?n:a.min(n,t-s),l=await Kr(i,e+s,c,r);o.enqueue(l),s+n>t||t===$&&!l.length&&c?o.close():s+=n}})}}class kr extends gr{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new d(pr);return e.writeUint8Array(t)}});r.defineProperty(e,xr,{get:()=>t})}writeUint8Array(){}}class vr extends Fr{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,i=e||n<r.size?r.blob.slice(e,n):r.blob;let s=await i.arrayBuffer();return s.byteLength>t&&(s=s.slice(e,n)),new w(s)}}class zr extends gr{constructor(e){super();const t=this,n=new z,i=[];e&&i.push(["Content-Type",e]),r.defineProperty(t,xr,{get:()=>n.writable}),t.blob=new f(n.readable,{headers:i}).blob(),t.blob.catch(()=>{})}getData(){return this.blob}}class Sr extends Fr{constructor(e,t){super(),Er(this,e,t)}async init(){await Ur(this,Nr,Cr),super.init()}readUint8Array(e,t){return Tr(this,e,t,Nr,Cr)}}class Rr extends Fr{constructor(e,t){super(),Er(this,e,t)}async init(){await Ur(this,Or,Ir),super.init()}readUint8Array(e,t){return Tr(this,e,t,Or,Ir)}}function Er(e,t,n){const{preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:o,fetch:c}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:o,fetch:c})}async function Ur(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ce(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(a||o)&&(void 0===s||s)){const n=await t(yr,e,Lr(e,c?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(o||s&&s.toLowerCase()==br))throw new d(dr);{if(c){const t=new w(await n.arrayBuffer());206==n.status&&t.length==G&&(e.xe=t)}let s;const a=n.headers.get(hr);if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(s=i(t))}}s===$?await qr(e,t,r):e.size=s}}else await qr(e,t,r)}async function Tr(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:o,xe:c,size:l,options:f}=e;if(a||o){if(c&&t==l-G&&r==G)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const s=await n(yr,e,Lr(e,t,r));if(206!=s.status)throw new d(dr);const a=s.headers.get(hr);if(a){const e=i(a.trim().split(/[\s-]+/)[1]);if(!i.isNaN(e)&&e!=t)throw new d(dr)}const o=new w(await s.arrayBuffer());if(o.length!=r)throw new d(dr);return o}return ne}{const{data:n}=e;return n||await s(e,f),new w(e.data.subarray(t,t+r))}}function Lr(e,t=0,n=1){return r.assign({},Dr(e),{[mr]:br+"="+(0>t?t:t+"-"+(t+n-1))})}function Dr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Cr(e){await Wr(e,Nr)}async function Ir(e){await Wr(e,Or)}async function Wr(e,t){const r=await t(yr,e,Dr(e));e.data=new w(await r.arrayBuffer()),e.size=e.data.length}async function qr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Dr(e)),s=n.headers.get("Content-Length");s&&!n.headers.get("Content-Encoding")?e.size=i(s):await r(e,e.options)}}async function Nr(e,{fetch:t=fetch,options:n,url:i},s){const a=await t(i,r.assign({},n,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new d(dr):new d(ur+(a.statusText||a.status))}function Or(e,{url:t},n){return new b((i,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),i({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else s(416==a.status?new d(dr):new d(ur+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:new d("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Zr extends Fr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Rr(e,t):new Sr(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 Pr extends Fr{constructor(e){super(),this.ge=e}async init(){const e=this,{ge:t}=e;e.Fe=0,e.ke=0,await b.all(t.map(async(r,n)=>{await Mr(r),n!=t.length-1&&(e.ke+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const n=this,{ge:i}=this;let s,o=r;-1==o&&(o=i.length-1);let c=e;for(;i[o]&&c>=i[o].size;)c-=i[o].size,o++;const l=i[o];if(l){const i=l.size;if(c+t>i){const a=i-c;s=new w(t);const o=await Kr(l,c,a);s.set(o,0);const f=await n.readUint8Array(e+a,t-a,r);s.set(f,a),o.length+f.length<t&&(s=s.subarray(0,o.length+f.length))}else s=await Kr(l,c,t)}else s=ne;return n.Fe=a.max(o,n.Fe),s}}class Vr extends gr{constructor(e,t=4294967295){super();const n=this;let i,s,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new R({async write(t){const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),n.diskOffset+=i.size,n.diskNumber++,a=null,n.availableSize=n.maxSize,t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new d(wr);i=r,i.size=0,i.maxSize&&(n.maxSize=i.maxSize),n.availableSize=n.maxSize,await Mr(i),s=r.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),i.size+=t,n.availableSize-=t)}async function l(){await a.close()}r.defineProperty(n,xr,{get:()=>o})}}class jr{constructor(e){return t.isArray(e)&&(e=new Pr(e)),e instanceof S&&(e={readable:e}),e}}class Gr{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new Vr(e)),e instanceof R&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof Vr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function Mr(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}function Kr(e,t,r,n){return e.readUint8Array(t,r,n)}const Ar="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Xr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Ar[e[r]];return t}})(e):new g(t,{ignoreBOM:!0}).decode(e)}const Hr="filename",Br="rawFilename",Yr="comment",Jr="rawComment",Qr="uncompressedSize",_r="compressedSize",$r="offset",en="diskNumberStart",tn="lastModDate",rn="rawLastModDate",nn="lastAccessDate",sn="creationDate",an="rawCreationDate",on="internalFileAttributes",cn="externalFileAttributes",ln="msdosAttributesRaw",fn="msdosAttributes",un="msDosCompatible",dn="zip64",wn="encrypted",pn="version",hn="versionMadeBy",mn="zipCrypto",yn="directory",bn="executable",xn="compressionMethod",gn="signature",Fn="extraField",kn="unixMode",vn="setuid",zn="setgid",Sn="sticky",Rn=[Hr,Br,Qr,_r,tn,rn,Yr,Jr,nn,sn,an,$r,en,on,cn,ln,fn,un,dn,wn,pn,hn,mn,yn,bn,xn,gn,Fn,"extraFieldUnix","extraFieldInfoZip","uid","gid",kn,vn,zn,Sn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class En{constructor(e){Rn.forEach(t=>this[t]=e[t])}}const Un="password",Tn="rawPassword",Ln="passThrough",Dn="signal",Cn="checkAmbiguity",In="useWebWorkers",Wn="useCompressionStream",qn="transferStreams",Nn="preventClose",On="offset",Zn="strictness",Pn="strict",Vn="tolerant",jn="File format is not recognized",Gn="End of central directory not found",Mn="End of Zip64 central directory locator not found",Kn="Central directory header not found",An="Local file header not found",Xn="Zip64 extra field not found",Hn="File contains encrypted entry",Bn="Encryption method not supported",Yn="Compression method not supported",Jn="Split zip file",Qn="Overlapping entry found",_n="Ambiguous archive",$n="utf-8",ei="cp437",ti=[[Qr,C],[_r,C],[$r,C],[en,I]],ri={[I]:{ve:Si,bytes:4},[C]:{ve:Ri,bytes:8}};class ni{constructor(e,t={}){r.assign(this,{reader:new jr(e),options:t,config:ce(),ze:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await Mr(n),n.size!==$&&n.readUint8Array||(n=new vr(await new f(n.readable).blob()),await Mr(n)),n.size<G)throw new d(jn);const s=fi(gi(t,e,Zn),gi(t,e,Cn)),o=s==Pn,c=s!=Vn,u=((e,t)=>e!==$?e:t==Pn?0:t==Vn?1/0:I)(gi(t,e,"maxAppendedDataSize"),s),{Se:w,Re:p}=await(async(e,t,r)=>{const{size:n}=e,i=a.min(n,65557),s={count:ui};let o,c,l=0;for await(const[r,a,f,u,d]of hi(e,i)){const i=zi(r,u+20);if(d+G+i==n){const i=await yi(e,r,a,u,d,n,s);if(i==pi){if(o||(o=mi(f,u,d)),l++,!t||l>1)break}else i!=wi||c||(c=mi(f,u,d))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,i=a.min(n,t==1/0?n:65557+t);let s,o;for await(const[t,a,c,l,f]of hi(e,i)){const i=mi(c,l,f);s||(s=i);const u=await yi(e,t,a,l,f,n,r);if(u==pi)return i;u!=wi||o||(o=i)}return o||s})(e,r,s)),{Se:o,Re:l}})(n,c,u);if(!w)throw Si(Ei(await Kr(n,0,4)))==N?new d(Jn):new d(Gn);c&&p>1&&xi("multiple end of central directory records");const h=Ei(w);let m=Si(h,12),y=Si(h,16);const x=w.offset,g=zi(h,20),F=x+G+g;n.size-F>u&&xi("appended data");let k=zi(h,4);const v=n.Fe||0;let S,R,E=zi(h,6),U=zi(h,10),T=0;if(y==C||m==C||U==I||E==I){const e=w.offset<M?ne:await Kr(n,w.offset-M,M),t=Ei(e);if(e.length==M&&Si(t,0)==j){y=Ri(t,8);let e=await Kr(n,y,56,-1),r=Ei(e);const i=w.offset-M-56-(n.ke||0);if((56>e.length||Si(r,0)!=V)&&y!=i&&i>=0){const t=y;y=i,y>t&&(T=y-t),e=await Kr(n,y,56,-1),r=Ei(e)}if(56>e.length||Si(r,0)!=V)throw new d(Mn);R=!0,k==I?k=Si(r,16):o&&k!=Si(r,16)&&xi("mismatched zip64 end of central directory record"),E==I?E=Si(r,20):o&&E!=Si(r,20)&&xi("mismatched zip64 end of central directory record"),U==I?U=Ri(r,32):o&&U!=Ri(r,32)&&xi("mismatched zip64 end of central directory record"),m==C?m=Ri(r,40):o&&m!=Ri(r,40)&&xi("mismatched zip64 end of central directory record"),y=Ri(r,48)+T}}const L=m,D=w.offset-(R?76:0);if(y<n.size||(T=n.size-y-m-G,y=n.size-m-G),v!=k)throw new d(Jn);if(0>y)throw new d(jn);let q=0,O=await Kr(n,y,m,E),P=Ei(O);if(m){if(4>O.length)throw new d(jn);const e=D-m-(n.ke||0);if(y!=e&&E==k){let t=!(Si(P,q)==Z);if(t||0>e||e+4>n.size||(t=Si(Ei(await Kr(n,e,4,E)),0)==Z),t){const t=y;y=e,y>t&&(T+=y-t),O=await Kr(n,y,m,E),P=Ei(O)}}}const K=D-y-(n.ke||0);if(m==K||0>K||E!=k||(m=K,O=await Kr(n,y,m,E),P=Ei(O)),0>y||y>=n.size)throw new d(jn);S=y;const A=gi(t,e,"filenameEncoding"),J=gi(t,e,"commentEncoding"),Q=o?new l:$;let _;for(let s=0;U>s;s++){const c=new ii(n,i,t.options);if(q+46>O.length||Si(P,q)!=Z)throw new d(Kn);si(c,P,q+6);const l=!!c.bitFlag.languageEncodingFlag,u=q+46,w=u+c.filenameLength,p=w+c.extraFieldLength,h=zi(P,q+4),m=!(h>>8),y=h>>8==3,x=O.subarray(u,w),g=zi(P,q+32),F=p+g,k=O.subarray(p,F),v=l,R=l,E=Si(P,q+38),L=E&W,D={readOnly:!!(1&L),hidden:!!(2&L),system:!!(4&L),directory:!!(16&L),archive:!!(32&L)},C=Si(P,q+42),N=gi(t,e,"decodeText")||Xr,V=v?$n:A||ei,j=R?$n:J||ei;let G=N(x,V);G===$&&(G=Xr(x,V));let M=N(k,j);M===$&&(M=Xr(k,j)),r.assign(c,{index:s,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ee:g,offset:C,diskNumberStart:zi(P,q+34),internalFileAttributes:zi(P,q+36),externalFileAttributes:E,msdosAttributesRaw:L,msdosAttributes:D,rawFilename:x,filenameUTF8:v,commentUTF8:R,rawExtraField:O.subarray(w,p),rawComment:k,filename:G,comment:M}),ai(c,c,P,q+6),c.offset+=T,S=a.min(c.offset,S),o&&(Q.has(c.filename)&&(_=!0),Q.add(c.filename));const K=c.externalFileAttributes>>16&I;c.unixMode===$&&16877&K&&(c.unixMode=K);const ee=!!(c.unixMode&H),te=!!(c.unixMode&B),re=!!(512&c.unixMode),ne=c.unixMode!==$?!!(73&c.unixMode):y&&!!(73&K),ie=c.unixMode!==$&&(61440&c.unixMode)==X,se=(61440&K)==X;r.assign(c,{setuid:ee,setgid:te,sticky:re,unixExternalUpper:K,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:ne,directory:ie||se||m&&D.directory||c.filename.endsWith(Y)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const ae=new En(c);ae.getData=(e,r)=>c.getData(e,ae,t.ze,r),ae.arrayBuffer=async e=>{const r=new z,[n]=await b.all([new f(r.readable).arrayBuffer(),c.getData(r,ae,t.ze,e)]);return n},q=F;const{onprogress:oe}=e;if(oe)try{await oe(s+1,U,new En(c))}catch{}yield ae}o&&q!=L&&xi("trailing central directory data"),_&&xi("duplicate filename"),o&&(T||U&&S>0)&&xi("prepended data");const ee=gi(t,e,"extractPrependedData"),te=gi(t,e,"extractAppendedData");return ee&&(t.prependedData=S>0?await Kr(n,0,S):ne),t.comment=g?await Kr(n,x+G,g):ne,te&&(t.appendedData=F<n.size?await Kr(n,F,n.size-F):ne),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class ii{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const i=this,{reader:s,index:o,offset:c,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:u,compressionMethod:w,config:p,bitFlag:h,signature:m,rawLastModDate:y,uncompressedSize:b,compressedSize:x}=i,{dataDescriptor:g}=h,F=t.localDirectory={},k=await Kr(s,c,J,l),v=Ei(k);let z=gi(i,n,Un),S=gi(i,n,Tn);const E=gi(i,n,Ln);if(z=z&&z.length&&z,S=S&&S.length&&S,f&&99!=f.originalCompressionMethod)throw new d(Yn);if(0!=w&&8!=w&&9!=w&&!E)throw new d(Yn);if(k.length<J||Si(v,0)!=q)throw new d(An);si(F,v,4);const{extraFieldLength:U,filenameLength:T}=F,L=fi(gi(i,n,Zn),gi(i,n,Cn))==Pn;let D=ne;if(L&&(T||U)){const e=await Kr(s,c+J,T+U,l);D=e.subarray(0,T),F.rawExtraField=e.subarray(T)}else F.rawExtraField=U?await Kr(s,c+J+T,U,l):ne;ai(i,F,v,4,!0),L&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&xi("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&xi("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&xi("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||xi("mismatched local file header (signature or sizes)")})(i,F,D);const{lastAccessDate:C,creationDate:I}=F;C&&(t.lastAccessDate=C),I&&(t.creationDate=I);const N=i.encrypted&&F.encrypted&&!E,Z=N&&!f;if(E||(t.zipCrypto=Z),N){if(!Z&&f.strength===$)throw new d(Bn);if(!z&&!S)throw new d(Hn)}const P=c+J+T+U,V=x,j=s.be({offset:P,size:V,diskNumberStart:l,chunkSize:le(p)}),G=gi(i,n,Dn),M=gi(i,n,"checkPasswordOnly");let K=gi(i,n,"checkOverlappingEntry");const A=gi(i,n,"checkOverlappingEntryOnly");A&&(K=!0);const{onstart:X,onprogress:H,onend:B}=n,Y=9==w;let Q=gi(i,n,Wn);Y&&(Q=!1);const _={options:{codecType:qt,password:z,rawPassword:S,zipCrypto:Z,encryptionStrength:f&&f.strength,signed:gi(i,n,"checkSignature")&&!E,passwordVerification:Z&&(g?y>>>8&W:m>>>24&W),outputSize:E?x:b,signature:m,compressed:0!=w&&!E,encrypted:N,useWebWorkers:gi(i,n,In),useCompressionStream:Q,transferStreams:gi(i,n,qn),deflate64:Y,checkPasswordOnly:M},config:p,ne:{signal:G,size:V,onstart:X,onprogress:H,onend:B}};let ee;K&&await(async({reader:e,Ue:t,index:r,offset:n,diskNumberStart:i,signature:s,compressedSize:o,uncompressedSize:c,Te:l,dataDescriptor:f,extraFieldZip64:u,ze:w})=>{let p=0;if(i&&e.ge)for(let t=0;t<a.min(i,e.ge.length);t++)p+=e.ge[t].size;let h=0;if(f&&(h=u?20:12),h){const r=await Kr(e,l+o,h+4,i);if(r.length==h+4&&Si(Ei(r),0)==O){const e=Si(Ei(r),4);let n,i;u?(n=Ri(Ei(r),8),i=Ri(Ei(r),16)):(n=Si(Ei(r),8),i=Si(Ei(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==o&&i==c&&(h+=4)}}const m={start:p+n,end:p+l+o+h,Ue:t};for(const[e,t]of w)if(e!=r&&m.start<t.end&&t.start<m.end){const e=new d(Qn);throw e.Le=t.Ue,e}w.set(r,m)})({reader:s,Ue:t,index:o,offset:c,diskNumberStart:l,signature:m,compressedSize:x,uncompressedSize:b,Te:P,dataDescriptor:g||F.bitFlag.dataDescriptor,extraFieldZip64:u||F.extraFieldZip64,ze:r});try{if(!A){M&&(e=new R),e=new Gr(e),await Mr(e,E?x:b),({writable:ee}=e);const{outputSize:t}=await sr({readable:j,writable:ee},_);if(e.size+=t,t!=(E?x:b))throw new d(zt)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!M||t.message!=Pe)throw t}finally{gi(i,n,Nn)||!ee||ee.locked||await ee.getWriter().close()}return M||A?$:e.getData?e.getData():ee}}function si(e,t,n){const i=e.rawBitFlag=zi(t,n+2),s=!(1&~i),a=Si(t,n+6);r.assign(e,{encrypted:s,version:zi(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:!(8&~i),languageEncodingFlag:(i&A)==A},rawLastModDate:a,lastModDate:Fi(a),filenameLength:zi(t,n+22),extraFieldLength:zi(t,n+24)})}function ai(e,t,n,i,s){const{rawExtraField:a}=t,l=t.extraField=new c,f=Ei(new w(a));let u=0;try{for(;u<a.length;){const e=zi(f,u),t=zi(f,u+2);l.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const p=zi(n,i+4);r.assign(t,{signature:Si(n,i+10),compressedSize:Si(n,i+14),uncompressedSize:Si(n,i+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const r=Ei(e.data),n=ti.filter(([e,r])=>t[e]==r),i=n.reduce((e,[,t])=>e+ri[t].bytes,0);if(e.data.length<i)throw new d(Xn);for(let i=0,s=0;i<n.length;i++){const[a,o]=n[i],c=ri[o];t[a]=e[a]=c.ve(r,s),s+=c.bytes}})(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(oi(m,Hr,Br,t,e),t.extraFieldUnicodePath=m);const y=l.get(25461);y&&(oi(y,Yr,Jr,t,e),t.extraFieldUnicodeComment=y);const b=l.get(39169);b&&b.data.length>=7?(((e,t,n)=>{const i=Ei(e.data),s=vi(i,4);r.assign(e,{De:vi(i,0),vendorId:vi(i,2),strength:s,originalCompressionMethod:n,compressionMethod:zi(i,5)}),t.compressionMethod=e.compressionMethod})(b,t,p),t.extraFieldAES=b):t.compressionMethod=p;const x=l.get(10);x&&(((e,t)=>{const n=Ei(e.data);let i,s=4;try{for(;s<e.data.length&&!i;){const t=zi(n,s),r=zi(n,s+2);1==t&&(i=e.data.slice(s+4,s+4+r)),s+=4+r}}catch{}try{if(i&&24==i.length){const n=Ei(i),s=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:ki(s),lastAccessDate:ki(a),creationDate:ki(o)};r.assign(e,c),r.assign(t,c)}}catch{}})(x,t),t.extraFieldNTFS=x);const g=l.get(30805);if(g)ci(g,t,!1),t.extraFieldUnix=g;else{const e=l.get(30837);e&&(ci(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(K);F&&(((e,t,r)=>{if(!e.data.length)return;const n=Ei(e.data),i=vi(n,0),s=[],a=[];r?(1&~i||(s.push(tn),a.push(rn)),2&~i||(s.push(nn),a.push("rawLastAccessDate")),4&~i||(s.push(sn),a.push(an))):5>e.data.length||(s.push(tn),a.push(rn));let c=1;s.forEach((r,i)=>{if(e.data.length>=c+4){const s=Si(n,c);t[r]=e[r]=new o(1e3*(0|s));const l=a[i];e[l]=s}c+=4})})(F,t,s),t.extraFieldExtendedTimestamp=F);const k=l.get(6534);k&&(t.extraFieldUSDZ=k)}function oi(e,t,n,i,s){if(5>e.data.length)return void(e.valid=!1);const a=Ei(e.data),o=new Te;o.append(s[n]);const c=Ei(new w(4));c.setUint32(0,o.get(),!0);const l=Si(a,1);r.assign(e,{version:vi(a,0),[t]:Xr(e.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&l==Si(c,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ci(e,t,n){try{const i=Ei(new w(e.data));let s,a;if(n){let t=0;const n=vi(i,t++),o=vi(i,t++);s=li(e.data.subarray(t,t+o)),t+=o;const c=vi(i,t++);a=li(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:s,gid:a})}else 4>e.data.length||(s=zi(i,0),a=zi(i,2),r.assign(e,{uid:s,gid:a}));s!==$&&(t.uid=s),a!==$&&(t.gid=a)}catch{}}function li(e){const t=new w(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function fi(e,t){return e===$?t?Pn:"balanced":e}const ui=64,di=0,wi=1,pi=2;async function*hi(e,t){const r=e.size-t,n=await Kr(e,r,t),i=Ei(n);for(let e=n.length-G;e>=0;e--)Si(i,e)==P&&(yield[i,r,n,e,r+e])}function mi(e,t,r){return{offset:r,buffer:e.slice(t,t+G).buffer}}async function yi(e,t,r,n,i,s,a){const o=zi(t,n+10),c=Si(t,n+12),l=Si(t,n+16);if(o==I||c==C||l==C)return await bi(e,t,r,i-M,s,a)==j?pi:di;if(!o&&!c)return wi;for(const n of[i-c,l])if(await bi(e,t,r,n,s,a)==Z)return pi;return di}async function bi(e,t,r,n,i,s){return 0>n||n+4>i?$:r>n?s.count>0?(s.count--,Si(Ei(await Kr(e,n,4)),0)):$:Si(t,n-r)}function xi(e){const t=new d(_n);throw t.reason=e,t}function gi(e,t,r){return t[r]===$?e.options[r]:t[r]}function Fi(e){const t=(4294901760&e)>>16,r=e&I;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch{}}function ki(e){return new o(i(e/s(1e4)-s(116444736e5)))}function vi(e,t){return e.getUint8(t)}function zi(e,t){return e.getUint16(t,!0)}function Si(e,t){return e.getUint32(t,!0)}function Ri(e,t){return i(e.getBigUint64(t,!0))}function Ei(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Ui="File already exists",Ti="Zip file comment exceeds 64KB",Li="File entry comment exceeds 64KB",Di="File entry name exceeds 64KB",Ci="Version exceeds 65535",Ii="The strength must equal 1, 2, or 3",Wi="Extra field type exceeds 65535",qi="Extra field data exceeds 64KB",Ni=-2147483648,Oi=2147483647,Zi="Zip64 is not supported (set the 'zip64' option to 'true')",Pi="Undefined uncompressed size",Vi="Undefined reader",ji="Zip file not empty",Gi=new w([7,0,2,0,65,69,3,0,0]),Mi="infozip",Ki="unix";let Ai=0;const Xi=[];class Hi{constructor(e,t={}){const n=(e=new Gr(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;r.assign(this,{writer:e,Ce:n,options:t,config:ce(),files:new c,Ie:new l,offset:t[On]===$?e.size||e.writable.size||0:t[On],We:t[On]===$?0:t[On]-(e.size||e.writable.size||0),qe:new l,Ne:0,Oe:$})}async prependZip(e){if(this.Ie.size)throw new d(ji);e=new jr(e),await Mr(e);const t=new ni(e.readable),n=await t.getEntries();await t.close(),await Mr(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ie=new l(n.map(e=>e.filename)),this.files=new c(n.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:i,creationDate:s,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:f,diskOffset:u,diskNumber:d,zip64:w}=e;let{compressionMethod:p,Ze:h,Pe:m,Ve:y,je:b,Ge:x,rawExtraField:g}=e;const{level:F,languageEncodingFlag:k,dataDescriptor:v}=o;h=h||ne,m=m||ne,y=y||ne,b=b||ne,x=x||ne,g=g||ne,e.extraFieldAES&&(p=99);const z=us(h,m,y,b,x,g),S=w&&l>=C,R=w&&f>=C,E=-7&ws(F,k,v,c,p)|F<<1,{Me:U,Ke:T}=ds({version:t,bitFlag:E,compressionMethod:p,uncompressedSize:l,compressedSize:f,rawLastModDate:n,rawFilename:a,Ae:R,Xe:S,extraFieldLength:z}),{signature:L}=e;return L!==$&&os(T,10,L),r.assign(e,{Xe:S,Ae:R,He:w&&this.offset-u>=C,Be:w&&d>=I,Ze:h,Pe:m,Ve:y,je:b,Ge:x,rawExtraField:g,extendedTimestamp:y.length>0||b.length>0,Ye:1+(i?2:0)+(s?4:0),Me:U,Ke:T}),[e.filename,e]}))}async add(e="",t,n={}){const i=this;n=r.assign({},n);const{qe:a,config:c}=i;let l,f;Ai<c.maxWorkers?Ai++:await new b(e=>Xi.push(e));try{if(e=e.trim(),is(i,n,yn)&&!e.endsWith(Y)&&(e+=Y),i.Ie.has(e))throw new d(Ui);return i.Ie.add(e),f=!0,l=(async(e,t,n,i)=>{const a=((e,t,r)=>{t=t.trim();let n=is(e,r,un),i=is(e,r,hn,n?20:768);const s=is(e,r,bn),a=is(e,r,"uid"),o=is(e,r,"gid");let c=is(e,r,kn),l=is(e,r,"unixExtraFieldType"),f=is(e,r,vn),u=is(e,r,zn),w=is(e,r,Sn);if(a!==$&&(0>a||a>C))throw new d("Invalid uid (must be integer 0..2^32-1)");if(o!==$&&(0>o||o>C))throw new d("Invalid gid (must be integer 0..2^32-1)");if(c!==$&&(0>c||c>I))throw new d("Invalid UNIX mode (must be integer 0..65535)");if(l!==$&&l!==Mi&&l!==Ki)throw new d("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(l===Ki&&(a!==$&&a>I||o!==$&&o>I))throw new d("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");l!==$||a===$&&o===$||(l=Mi);let p=is(e,r,ln),h=is(e,r,fn);const m=p!==$||h!==$;if(a!==$||o!==$||c!==$||l?(n=!1,i=i&I|768):m&&(n=!0,i&=W),p!==$&&(0>p||p>W))throw new d("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new d("Invalid msdosAttributes (must be an object with boolean flags)");if(i>I)throw new d(Ci);let y=is(e,r,cn,0);!r[yn]&&t.endsWith(Y)&&(r[yn]=!0);const b=is(e,r,yn);let x;return b?(t.endsWith(Y)||(t+=Y),0===y&&(y=16,n||(y|=16877<<16))):n||0!==y||(y=s?493<<16:27525120),n||(x=y>>16&I,c=c===$?x:c&I,f?c|=H:f=!!(c&H),u?c|=B:u=!!(c&B),w?c|=512:w=!!(512&c),b&&(c|=X),y=(c&I)<<16|y&W),({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==$)e&=W;else if(t!==$){const{readOnly:r,hidden:n,system:i,directory:s,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),i&&(o|=4),s&&(o|=16),a&&(o|=32),e=o&W}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&C|p&W),{name:t,Je:{versionMadeBy:i,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:x,uid:a,gid:o,unixMode:c,unixExtraFieldType:l,setuid:f,setgid:u,sticky:w,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,i);({name:t}=a);const c=((e,t,r)=>{const n=is(e,r,"encodeText",De);let i=n(t);if(i===$&&(i=De(t)),us(i)>I)throw new d(Di);const s=r[Yr]||"";let a=n(s);if(a===$&&(a=De(s)),us(a)>I)throw new d(Li);const c=is(e,r,pn,20);if(c>I)throw new d(Ci);const l=is(e,r,tn,new o),f=is(e,r,nn),u=is(e,r,sn),p=is(e,r,on,0),h=is(e,r,Ln);let m,y;h||(m=is(e,r,Un),y=is(e,r,Tn));const b=is(e,r,"encryptionStrength",3),x=is(e,r,mn),g=is(e,r,"extendedTimestamp",!0),F=is(e,r,"keepOrder",!0),k=is(e,r,In),v=is(e,r,qn,!0),z=is(e,r,"bufferedWrite"),S=is(e,r,"createTempStream"),R=is(e,r,"dataDescriptorSignature",!0),E=is(e,r,Dn),U=is(e,r,"useUnicodeFileNames",!0),T=is(e,r,xn);if(!h&&T!==$&&0!==T&&8!==T)throw new d("Compression method not supported");let L=is(e,r,"level"),D=is(e,r,Wn),C=is(e,r,"dataDescriptor");z&&C===$&&(C=!1),(C===$||x)&&(C=!0),L!==$&&6!=L&&(D=!1),D||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(L=0);const W=is(e,r,dn);if(!x&&(m!==$||y!==$)&&(1>b||b>3))throw new d(Ii);let q=ne;const N=r[Fn];if(N){let e=0,t=0;N.forEach(t=>e+=4+us(t)),q=new w(e);const r=fs(q);N.forEach((e,n)=>{if(n>I)throw new d(Wi);if(us(e)>I)throw new d(qi);as(r,t,n),as(r,t+2,us(e)),ls(q,e,t+4),t+=4+us(e)})}return{comment:s,Je:{rawFilename:i,rawComment:a,version:c,lastModDate:l,lastAccessDate:f,creationDate:u,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:b,zipCrypto:x,extendedTimestamp:g,keepOrder:F,useWebWorkers:k,transferStreams:v,bufferedWrite:z,createTempStream:S,dataDescriptorSignature:R,signal:E,useUnicodeFileNames:U,compressionMethod:T,level:L,useCompressionStream:D,dataDescriptor:C,zip64:W,rawExtraField:q}}})(e,t,i),{comment:l}=c,f=i[Fn];let u;e.files.set(t,$);try{const o=await(async(e,t,{Je:r},n)=>{const{passThrough:i,zipCrypto:s,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:f,level:u,compressionMethod:w}=r,p=0,h=0;if(i){if(!t)throw new d(Vi);if(h=n[Qr],h===$)throw new d(Pi)}const m=!0===f,y=is(e,n,wn),b=!!t&&(!!(a&&us(a)||o&&us(o))||i&&y);t||(u=0,w=0);const x=b?s?12:16+4*c:0;t&&(t=new jr(t),await Mr(t),i?(n.uncompressedSize=h,p=ss(h)+x):t.size===$?(l=!0,(f||f===$)&&(f=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=ss(h)+x));const g=m||h>=C,F=m||p>=C;if(g||F){if(!1===f)throw new d(Zi);f=!0}return f=f||!1,{reader:t,Je:{dataDescriptor:l,zip64:f,Xe:g,Ae:F,uncompressedSize:h,level:u,compressionMethod:w,encrypted:b}}})(e,n,c,i);({reader:n}=o);const{diskOffset:l,diskNumber:f}=e.writer,p=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:i,level:s,zip64:a,zipCrypto:o,useUnicodeFileNames:c,dataDescriptor:l,directory:f,rawExtraField:u,encryptionStrength:w,extendedTimestamp:p,passThrough:h,encrypted:m,Xe:y,Ae:b,uncompressedSize:x}=e;let{version:g,compressionMethod:F}=e;const k=!f&&(F===$?s===$||s>0:0!==F);let v;const z=h||!k,S=a&&(e.bufferedWrite||!l||!y&&!b||z),R=S||a&&l&&(y||b);if(a&&(y||b)){const e=20,t=Qi(e);if(t.uint16(1),t.uint16(e-4),v=t.array,S&&(t.Qe(x),z)){const e=m?o?12:16+4*w:0;t.Qe(h?0:x+e)}}else v=ne;let E,U,T,L,D;if(m&&!o){const e=Qi(us(Gi)+2);e.uint16(39169),e.bytes(Gi),E=e.array,E[8]=w}else E=ne;if(p){const e=ts(r);if(rs(e)){const t=9+(n?4:0)+(i?4:0),r=Qi(t);L=1+(n?2:0)+(i?4:0),r.uint16(K),r.uint16(t-4),r.uint8(L),r.uint32(e),n&&r.uint32(ns(ts(n))),i&&r.uint32(ns(ts(i))),T=r.array}else T=ne;try{const e=es(r),t=Qi(36);t.uint16(10),t.uint16(32),t._e(4),t.uint16(1),t.uint16(24),t.Qe(e),t.Qe(es(n)||e),t.Qe(es(i)||e),U=t.array}catch{U=ne}}else U=T=ne;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=Mi||t===$&&r===$)if(n!=Ki||t===$&&r===$)D=ne;else{const e=Qi(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&I),e.uint16((r===$?0:r)&I),D=e.array}else{const e=Ji(t),n=Ji(r),i=3+e.length+n.length,s=Qi(4+i);s.uint16(30837),s.uint16(i),s.uint8(1),s.uint8(e.length),s.bytes(e),s.uint8(n.length),s.bytes(n),D=s.array}}catch{D=ne}F===$&&(F=k?8:0),a&&(g=g>45?g:45),m&&!o&&(g=g>51?g:51,E[9]=F,F=99);const C=R?us(v):0,W=C+us(E,T,U,D,u);if(W>I)throw new d(qi);const{Me:N,Ke:O,rawLastModDate:Z}=ds({version:g,bitFlag:ws(s,c,l,m,F),compressionMethod:F,uncompressedSize:x,lastModDate:_>r?_:r>Q?Q:r,rawFilename:t,Ae:b,Xe:y,extraFieldLength:W}),P=Qi(J+us(t)+W),V=P.array,j=fs(V);return P.uint32(q),P.bytes(N),P.bytes(t),R&&P.bytes(v),P.bytes(E),P.bytes(T),P.bytes(U),P.bytes(D),P.bytes(u),l&&(b||os(j,18,0),y||os(j,22,0)),{$e:V,et:j,Me:N,Ke:O,lastModDate:r,rawLastModDate:Z,encrypted:m,compressed:k,version:g,compressionMethod:F,Ye:L,Ze:ne,tt:C,Ve:T,je:U,Ge:D,Pe:E,extraFieldLength:W}})(i=r.assign({},i,a.Je,c.Je,o.Je,{internalFileAttribute:c.Je.internalFileAttributes,externalFileAttribute:a.Je.externalFileAttributes,signature:i[gn],offset:e.offset-l,diskNumberStart:f})),h=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,i=ne,s=0,a=e?20:12;return r&&(a+=4),t&&(i=new w(a),n=fs(i),r&&(s=4,os(n,0,O))),{rt:i,nt:n,it:s}})(i),m=us(p.$e,h.rt);u=await(async(e,t,n,i,a)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:f,signal:u}=a,{st:p}=i,h=e.options.usdz,m=e.Oe;let y,x,g,F,k,v,S,E={},U=0;o.set(t,E),e.Oe=E;try{let x;l&&(x=m&&m.lock,E.lock=new b(e=>g=e)),a.bufferedWrite||!l||e.ot||e.Ne||!f?(y=!0,e.Ne++,S=a.createTempStream?await a.createTempStream():new z($,$,{highWaterMark:ee}),S.size=0,await Mr(c)):(S=c,await T()),await Mr(S);const{diskOffset:D}=c;if(e.Ce){delete e.Ce;const t=new w(4);os(fs(t),0,N),await $i(c,t),e.offset+=4}h&&!y&&Yi(i,e.offset-D);const{$e:I}=p;y||(await x,await L());const q=c.diskNumber,O=_i(e,c);if(E.diskNumberStart=q,y||(k=!0,v=c.size,await $i(S,I)),E=await(async(e,t,{diskNumberStart:n,lock:i},a,o,c)=>{const{st:l,ct:f,lt:u}=a,{Me:w,Ke:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:b,version:x,compressionMethod:g,Ze:F,tt:k,Ve:v,Ye:z,je:S,Ge:R,Pe:E}=l,{rt:U}=f,{rawFilename:T,lastAccessDate:L,creationDate:D,password:I,rawPassword:q,level:N,zip64:O,Xe:Z,Ae:P,zipCrypto:V,dataDescriptor:j,directory:G,executable:M,versionMadeBy:K,rawComment:A,rawExtraField:X,useWebWorkers:H,transferStreams:B,onstart:Y,onprogress:J,onend:Q,signal:_,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:ie,uid:se,gid:ae,unixMode:oe,setuid:ce,setgid:fe,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:we,msdosAttributes:pe,useCompressionStream:he,passThrough:me}=c,ye={lock:i,versionMadeBy:K,zip64:O,directory:!!G,executable:!!M,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:A,Ze:F,tt:k,Ve:v,je:S,Ge:R,Pe:E,rawExtraField:X,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:ie,diskNumberStart:n,uid:se,gid:ae,unixMode:oe,setuid:ce,setgid:fe,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:we,msdosAttributes:pe};let{signature:be,uncompressedSize:xe}=c,ge=0;me||(xe=0);const{writable:Fe}=t;if(e){const r=e.be?e.be({chunkSize:le(o)}):e.readable,n=e.size,i={options:{codecType:Wt,level:N,rawPassword:q,password:I,encryptionStrength:ee,zipCrypto:y&&V,passwordVerification:y&&V&&m>>8&W,signed:!me,compressed:b&&!me,encrypted:y&&!me,useWebWorkers:H,useCompressionStream:he,transferStreams:B},config:o,ne:{signal:_,size:n,onstart:Y,onprogress:J,onend:Q}};try{const e=await sr({readable:r,writable:Fe},i);if(ge=e.outputSize,t.size+=ge,me||(xe=e.inputSize,be=e.signature),!P&&ge>=C||!Z&&xe>=C)throw new d(Zi)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,st:n,ct:i},{zip64:a,zipCrypto:o,dataDescriptor:c})=>{const{Ke:l,encrypted:f}=n,{nt:u,it:d}=i;f&&!o||e===$||(os(l,10,e),c&&os(u,d,e)),a?c&&(cs(u,d+4,s(t)),cs(u,d+12,s(r))):(os(l,14,t),os(l,18,r),c&&(os(u,d+4,t),os(u,d+8,r)))})({signature:be,compressedSize:ge,uncompressedSize:xe,st:l,ct:f},c),j&&await $i(t,U),r.assign(ye,{uncompressedSize:xe,compressedSize:ge,lastModDate:h,rawLastModDate:m,creationDate:D,lastAccessDate:L,encrypted:y,zipCrypto:V,size:u+ge,compressionMethod:g,version:x,Me:w,Ke:p,signature:be,Ye:z,Xe:Z,Ae:P}),ye})(n,S,E,i,e.config,a),y||(k=!1),o.set(t,E),E.filename=t,y){if(await b.all([S.writable.getWriter().close(),x]),await T(),F=!0,v=c.size,await L(),E.diskNumberStart=c.diskNumber,E.offset=_i(e,c),h){const t=i.lt;Yi(i,e.offset-c.diskOffset),E.size+=i.lt-t}(({rawFilename:e,encrypted:t,zip64:r,tt:n,signature:i,compressedSize:a,uncompressedSize:o,Xe:c,Ae:l},f,{dataDescriptor:u})=>{if(u||(t||os(f,14,i),l||os(f,18,a),c||os(f,22,o)),r&&n){const t=J+us(e)+4;cs(f,t,s(o)),cs(f,t+8,s(a))}})(E,p.et,a),await $i(c,p.$e),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new R({async write(e){var t;await n.ready,await n.write(e),t=us(e),U+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(S.readable,c,u),c.size+=S.size,F=!1}else E.diskNumberStart=q,E.offset=O;return e.offset+=E.size,E}catch(r){if(F||k){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-v,y&&(e.offset+=U)}throw o.delete(t),r}finally{if(y&&e.Ne--,g&&g(),x&&x(),y&&S&&S.dispose)try{await S.dispose()}catch{}}async function T(){e.ot=!0;const{ft:t}=e;e.ft=new b(t=>x=()=>{e.ot=!1,t()}),await t}async function L(){us(p.$e)>c.availableSize&&(c.availableSize=0,await $i(c,ne))}})(e,t,n,{st:p,ct:h,lt:m},i)}catch(r){throw e.files.delete(t),r}return r.assign(u,{name:t,comment:l,extraField:f}),new En(u)})(i,e,t,n),a.add(l),await l}catch(t){throw f&&i.Ie.delete(e),t}finally{a.delete(l);const e=Xi.shift();e?e():Ai--}}remove(e){const{Ie:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ne,r={}){const{qe:n,writer:i}=this,{writable:a}=i;if(us(e)>I)throw new d(Ti);for(;n.size;)await b.allSettled(t.from(n));return await(async(e,r,n)=>{const i=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Pe:n,rawComment:i,je:s,Ge:a,rawExtraField:o,extendedTimestamp:c,Ye:l,lastModDate:f,Xe:u,Ae:w,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=C,y=r.diskNumberStart>=I;let b,x;if(m||y||u||w){const e=4+(u?8:0)+(w?8:0)+(m?8:0)+(y?4:0),t=Qi(e);t.uint16(1),t.uint16(e-4),u&&t.Qe(p),w&&t.Qe(h),m&&t.Qe(r.offset),y&&t.uint32(r.diskNumberStart),b=t.array}else b=ne;r.Ze=b,r.He=m,r.Be=y;const g=ts(f);if(c&&rs(g)){const e=Qi(9);e.uint16(K),e.uint16(5),e.uint8(l),e.uint32(g),x=e.array}else x=ne;r.Ve=x;const F=us(b,n,s,a,x,o);if(F>I)throw new d(qi);t+=46+us(e,i)+F}return t})(e.files),{ut:a,dt:o}=await(async(e,r,n)=>{const{files:i,writer:s}=e,a=new w(r);await Mr(s);let o=0,c=0,l=s.diskNumber,f=s.diskOffset;for(const[e,r]of t.from(i.values()).entries()){const{offset:t,rawFilename:u,Ze:d,Pe:w,Ve:p,je:h,Ge:m,rawExtraField:y,rawComment:b,versionMadeBy:x,Me:g,Ke:F,Xe:k,Ae:v,Be:z,He:S,internalFileAttributes:R,externalFileAttributes:E,diskNumberStart:U,uncompressedSize:T,compressedSize:L}=r,D=us(d,w,p,h,m,y),W=46+us(u,b)+D;o+W-c>s.availableSize&&(await $i(s,a.slice(c,o)),c=o,s.availableSize=0,await $i(s,ne)),0==e&&(l=s.diskNumber,f=s.diskOffset),k||os(F,18,T),v||os(F,14,L),(S||z)&&45>r.version&&as(F,0,45);const q=Qi(W);if(q.uint32(Z),q.uint16(x),q.bytes(g.subarray(0,24)),q.uint16(D),q.uint16(us(b)),q.uint16(z?I:U),q.uint16(R),q.uint32(E),q.uint32(S?C:t),q.bytes(u),q.bytes(d),q.bytes(w),q.bytes(p),q.bytes(h),q.bytes(m),q.bytes(y),q.bytes(b),ls(a,q.array,o),o+=W,n.onprogress)try{await n.onprogress(e+1,i.size,new En(r))}catch{}}return await $i(s,c?a.slice(c):a),{ut:l,dt:f}})(e,i,n);await(async(e,t,r,n)=>{const{writer:i}=e,{ut:a,dt:o}=n;let{wt:c}=n,l=e.files.size,f=a,u=e.offset-o-(a?e.We:0),w=i.diskNumber;i.availableSize<G&&w++;let p=is(e,r,dn);if(!(C>u&&C>c&&I>l&&I>w)){if(!1===p)throw new d(Zi);p=!0}const h=us(t);if(h>I)throw new d(Ti);const m=Qi(p?98:G);us(m.array)+h>i.availableSize&&(i.availableSize=0,await $i(i,ne)),w=i.diskNumber,p&&(m.uint32(V),m.Qe(44),m.uint16(45),m.uint16(45),m.uint32(w),m.uint32(f),m.Qe(l),m.Qe(l),m.Qe(c),m.Qe(u),m.uint32(j),m.uint32(w),m.Qe(s(e.offset)+s(c)-s(i.diskOffset)-s(i.diskNumber?e.We:0)),m.uint32(w+1),is(e,r,"supportZip64SplitFile",!0)&&(w=I,f=I),l=I,u=C,c=C),m.uint32(P),m.uint16(w),m.uint16(f),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(u),m.uint16(h),await $i(i,m.array),h&&await $i(i,t)})(e,r,n,{ut:a,dt:o,wt:i})})(this,e,r),is(this,r,Nn)||await a.getWriter().close(),i.getData?i.getData():a}}function Bi(e,t,r){e.qe.add(t),t.catch(e=>{try{r(e)}catch{}})}function Yi(e,t){const{st:r}=e;let{$e:n,extraFieldLength:i}=r,s=64-(t+us(n))%64;4>s&&(s+=64);const a=new w(s),o=fs(a);as(o,0,6534),as(o,2,s-4);const c=n;r.$e=n=new w(us(c)+s),ls(n,c),ls(n,a,us(c));const l=fs(n);as(l,28,i+s),r.et=l,e.lt+=s}function Ji(e){if(e===$)return ne;{const t=new w(4);fs(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Qi(e){const t=new w(e),r=fs(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{as(r,n,e),n+=2},uint32:e=>{os(r,n,e),n+=4},Qe:e=>{cs(r,n,s(e)),n+=8},bytes:e=>{ls(t,e,n),n+=us(e)},_e:e=>n+=e}}function _i(e,t){return e.offset-t.diskOffset-(t.diskNumber?e.We:0)}async function $i(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=us(t),await n.write(t)}finally{n.releaseLock()}}function es(e){if(e)return(s(e.getTime())+s(116444736e5))*s(1e4)}function ts(e){return a.floor(e.getTime()/1e3)}function rs(e){return e>=Ni&&Oi>=e}function ns(e){return a.min(Oi,a.max(Ni,e))}function is(e,t,r,n){const i=t[r]===$?e.options[r]:t[r];return i===$?n:i}function ss(e){return e+5*(a.floor(e/16383)+1)}function as(e,t,r){e.setUint16(t,r,!0)}function os(e,t,r){e.setUint32(t,r,!0)}function cs(e,t,r){e.setBigUint64(t,r,!0)}function ls(e,t,r){e.set(t,r)}function fs(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function us(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ds({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:i,lastModDate:s,rawLastModDate:a,rawFilename:o,Ae:c,Xe:l,extraFieldLength:f}){const u=Qi(26),d=u.array,w=fs(d);if(u.uint16(e),u.uint16(t),u.uint16(r),a===$){const e=new h(1),t=fs(e);as(t,0,(s.getHours()<<6|s.getMinutes())<<5|s.getSeconds()/2),as(t,2,(s.getFullYear()-1980<<4|s.getMonth()+1)<<5|s.getDate()),a=e[0]}return u.uint32(a),u._e(4),c||i!==$?u.uint32(c?C:i):u._e(4),l||n!==$?u.uint32(l?C:n):u._e(4),u.uint16(us(o)),u.uint16(f),{Me:d,Ke:w,rawLastModDate:a}}function ws(e,t,r,n,i){let s=0;return t&&(s|=A),r&&(s|=8),8!=i&&9!=i||(0>e||e>3||(s|=6),e>3&&5>=e&&(s|=4),9==e&&(s|=2)),n&&(s|=1),s}const ps=1048576,hs=".zip.js-temp",ms=1048576,ys=1048576,bs=".zip.js-temp";try{fe({baseURI:void 0===F&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===F?location.href:D&&"SCRIPT"===D.tagName.toUpperCase()&&D.src||new u("zip-native.min.js",F.baseURI).href})}catch{}var{Uint8Array:xs,Uint16Array:gs,Int32Array:Fs,TransformStream:ks,Math:vs,Error:zs,Array:Ss}=globalThis,Rs=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Es=new xs(0),Us=new gs(0),Ts=[];for(let e=0;6>e;e++)Ts.push(e,0==e?8:4);Ts.push(0,1);var Ls=[];for(let e=0;14>e;e++)Ls.push(e,0==e?4:2);var Ds=new gs([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]),Cs=new gs([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 Is(e,t,r,n,i){if(0==i)return;let s=e instanceof xs?e:new xs(e.buffer,e.byteOffset,e.byteLength),a=r instanceof xs?r.subarray(n,n+i):new xs(r.buffer,r.byteOffset+n,i);s.set(a,t)}function Ws(e,t,r){0!=r&&(e instanceof xs?e:new xs(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+r)}function qs(){return{ht:Es,yt:0,bt:0,xt:0,gt:Es,Ft:0,kt:0,vt:0,zt:"",i:0,St:0,Rt:0,Et:void 0}}function Ns(e,t){let r=1<<t;return{Ut:e,Tt:new xs(r),Lt:r,Dt:t,Ct:0,It:0,Wt:0,qt:0}}function Os(e){let t=[];for(let r=0;r<e.length;r+=2){let n=e[r],i=e[r+1];for(let e=0;i>e;e++)t.push(n)}return new gs(t)}var Zs=class{constructor(e,t){this.Nt=e,this.Ot=t,this.Zt=0}},Ps=class{constructor(e,t,r,n,i){this.Pt=e,this.Vt=t,this.jt=r,this.Gt=n,this.Mt=i}};function Vs(e){return wa[-6>e||e>2?9:2-e]||""}function js(e,t){try{e.zt=Vs(t)}catch(r){e.zt="zlib error "+n(t)+" ("+r+")"}return t}function Gs(e,t){let r=e>>>0,n=0;for(let e=0;t>e;e++)n=n<<1|1&r,r>>>=1;return n}function Ms(e,t){e.Kt[e.At++]=t}function Ks(e,t){Ms(e,255&t),Ms(e,t>>>8&255)}function As(e,t,r){let n=255&r,i=65535&t,s=e.Xt+e.Ht;return e.Kt[s]=255&i,e.Kt[s+1]=i>>>8&255,e.Kt[s+2]=n,e.Ht+=3,i=i-1&65535,e.Yt[Fa[n]+sa+1].Bt++,e.Jt[Bs(i)].Bt++,e.Ht==e.Qt}function Xs(e,t){let r=255&t,n=e.Xt+e.Ht;return e.Kt[n]=0,e.Kt[n+1]=0,e.Kt[n+2]=r,e.Ht+=3,e.Yt[r].Bt++,e.Ht==e.Qt}function Hs(e){return e.Lt-na}function Bs(e){return 256>e?ka[e]:ka[256+(e>>7)]}function Ys(e){let t=ea+7,r=1<<t,n=(1<<t)-1,i=vs.floor((t+ta-1)/ta),s=1<<8+ea;return{...Ns(e,15),Ut:e,_t:42,$t:0,er:void 0,tr:32767,rr:t,nr:r,ir:n,sr:i,ar:new gs(32768),cr:new gs(r),lr:s,Kt:new xs(32768),ur:0,dr:32768,At:0,wr:0,pr:0,hr:0,mr:0,yr:0,br:-2,gr:0,Fr:0,kr:0,vr:0,zr:0,Sr:0,Rr:0,Er:0,Ur:0,Tr:0,Lr:0,Dr:0,Cr:0,Ir:0,Wr:new Fs(2*aa+1),qr:new xs(2*aa+1),Nr:new gs(fa+1),Ht:0,Qt:0,Or:Es,Xt:0,Zr:0,Pr:0,Vr:8,jr:32768,Gr:0,Mr:0,Kr:0,Yt:new Ss(la).fill(0).map(()=>({Bt:0,Ar:0,Xr:0,Hr:0})),Jt:new Ss(2*oa+1).fill(0).map(()=>({Bt:0,Ar:0,Xr:0,Hr:0})),Br:new Ss(2*ca+1).fill(0).map(()=>({Bt:0,Ar:0,Xr:0,Hr:0})),Yr:_s(),Jr:_s(),Qr:_s()}}function Js(e){let t=[];for(let r=0;r<e.length;r+=2){let n=e[r],i=e[r+1],s=Qs();s.Ar=n,s.Hr=i,t.push(s)}return t}function Qs(){return{Bt:0,Ar:0,Xr:0,Hr:0}}function _s(){return new Zs([],((e,t)=>new Ps(null,t,0,0,0))(0,Es))}function $s(e){let{code:t,length:r}=(e=>{let t=vs.max(...e),r=new Ss(t+1).fill(0);for(let t of e)t>0&&r[t]++;let n=new Ss(e.length).fill(0),i=new Ss(t+1).fill(0),s=0;for(let e=1;t>=e;e++)s=s+r[e-1]<<1,i[e]=s;for(let t=0;t<e.length;t++){let r=e[t];0!=r&&(n[t]=i[r]++)}return{code:n,length:e}})(e),n=new gs(2*e.length),i=0;for(let s=0;s<e.length;s++){let e=r[s]||0,a=t[s]||0;n[i++]=e?Gs(a,e):0,n[i++]=e}return new gs(n)}var ea=8,ta=3,ra=258,na=ra+ta+1,ia=ra,sa=256,aa=sa+1+29,oa=30,ca=19,la=2*aa+1,fa=15,ua=256,da=-1,wa=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],pa=Os(Ts),ha=Os(Ls),ma=new gs(19);ma[16]=2,ma[17]=3,ma[18]=7;var ya=$s((()=>{let e=new Ss(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})()),ba=$s(new Ss(30).fill(5)),xa=Js(ya),ga=Js(ba),Fa=((e,t)=>{let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,s=e[n]+i-1;s>r&&(r=s)}258>r&&(r=258);let n=new xs(r+1);for(let i=0;r>=i;i++)for(let r=0;r<e.length;r++){let s=t[r]?1<<t[r]:1,a=e[r];if(i>=a&&a+s-1>=i){n[i]=r;break}}let i=0;for(let r=0;r<e.length-1;r++){let n=t[r]?1<<t[r]:1,s=e[r]+n-1;s>i&&(i=s)}return n[i]=e.length-1,n})(Cs,pa),ka=(e=>{let t=new xs(512),r=e.length-1;for(let n=0;256>n;n++)t[n]=n>r?e[r]:e[n];for(let n=256;r>=n;n++){let r=n>>7;t[256+(r>255?255:r)]=e[n]}for(let e=257;512>e;e++)0==t[e]&&(t[e]=t[e-1]);return t})(((e,t)=>{let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,s=e[n]+i-1;s>r&&(r=s)}let n=new xs(r+1);for(let i=0;r>=i;i++)for(let r=0;r<e.length;r++){let s=t[r]?1<<t[r]:1,a=e[r];if(i>=a&&a+s-1>=i){n[i]=r;break}}return n})(Ds,ha));function va(e){return e%65521>>>0}function za(e,t,r){if(void 0===t||void 0===r)return 1;let n=e>>>16&65535;if(e&=65535,1==r)return(e+=t[0])>=65521&&(e-=65521),n+=e,n>=65521&&(n-=65521),(n<<16|e)>>>0;if(16>r){for(let i=0;r>i;i++)n+=e+=t[i];return e>=65521&&(e-=65521),n=va(n),(n<<16|e)>>>0}for(;r>=5552;){r-=5552;let i=vs.floor(347);do{for(let r=0;16>r;r++)n+=e+=t[r];t=t.subarray(16)}while(--i);e=va(e),n=va(n)}if(r){for(;r>=16;){r-=16;for(let r=0;16>r;r++)n+=e+=t[r];t=t.subarray(16)}for(let i=0;r>i;i++)n+=e+=t[i];e=va(e),n=va(n)}return(n<<16|e)>>>0}var Sa=[[],[],[],[],[],[],[],[]];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;Sa[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){let r=Sa[t-1][e];Sa[t][e]=r>>>8^Sa[0][255&r]}var[Ra,Ea,Ua,Ta,La,Da,Ca,Ia]=Sa;function Wa(e=0,t,r){if(!t)return 0;void 0===r&&(r=t.length);let n=0|~e,i=0;if((r=vs.min(r,t.length))>=8){let e=new m(t.buffer,t.byteOffset,r),s=r-8;for(;s>=i;i+=8){let t=n^e.getInt32(i,!0),r=e.getInt32(i+4,!0);n=Ia[255&t]^Ca[t>>>8&255]^Da[t>>>16&255]^La[t>>>24&255]^Ta[255&r]^Ua[r>>>8&255]^Ea[r>>>16&255]^Ra[r>>>24&255]}}for(;r>i;i++)n=n>>>8^Ra[255&(n^t[i])];return(4294967295^n)>>>0}function qa(e){16==e.qt?(Ks(e,e.Wt),e.Wt=0,e.qt=0):e.qt>=8&&(Ms(e,e.Wt),e.Wt>>=8,e.qt-=8)}function Na(e){e.qt>8?Ks(e,e.Wt):e.qt>0&&Ms(e,e.Wt),e.Zr=1+(e.qt-1&7),e.Wt=0,e.qt=0}function Oa(e,t,r){e.qt>16-r?(e.Wt=65535&(e.Wt|t<<e.qt),Ks(e,e.Wt),e.Wt=t>>16-e.qt&65535,e.qt+=r-16):(e.Wt=65535&(e.Wt|t<<e.qt),e.qt+=r)}function Za(e){for(let t=0;t<e.Yt.length;t++)e.Yt[t].Bt=0;for(let t=0;t<e.Jt.length;t++)e.Jt[t].Bt=0;for(let t=0;t<e.Br.length;t++)e.Br[t].Bt=0;e.Yt[ua].Bt=1,e.pr=e.hr=0,e.Ht=e.mr=0}function Pa(e,t,r){return r=e.Wr[1],e.Wr[1]=e.Wr[e.Mr--],ja(e,t,1),r}function Va(e,t,r,n){return e[t].Bt<e[r].Bt||e[t].Bt==e[r].Bt&&n[t]<=n[r]}function ja(e,t,r){let n=e.Wr[r],i=r<<1;for(;i<=e.Mr&&(i<e.Mr&&Va(t,e.Wr[i+1],e.Wr[i],e.qr)&&i++,!Va(t,n,e.Wr[i],e.qr));)e.Wr[r]=e.Wr[i],r=i,i<<=1;e.Wr[r]=n}function Ga(e,t){let r,n,i,s=t.Nt,a=t.Ot.Pt,o=t.Ot.Gt,c=-1;for(e.Mr=0,e.Kr=la,r=0;o>r;r++)0!=s[r].Bt?(e.Wr[++e.Mr]=c=r,e.qr[r]=0):s[r].Hr=0;for(;2>e.Mr;)i=e.Wr[++e.Mr]=2>c?++c:0,s[i].Bt=1,e.qr[i]=0,e.pr--,a&&(e.hr-=a[i].Hr);for(t.Zt=c,r=vs.floor(e.Mr/2);r>=1;r--)ja(e,s,r);i=o;do{r=Pa(e,s,r),n=e.Wr[1],e.Wr[--e.Kr]=r,e.Wr[--e.Kr]=n,s[i].Bt=s[r].Bt+s[n].Bt,e.qr[i]=(e.qr[r]<e.qr[n]?e.qr[n]:e.qr[r])+1,s[r].Xr=s[n].Xr=i,e.Wr[1]=i++,ja(e,s,1)}while(e.Mr>=2);e.Wr[--e.Kr]=e.Wr[1],((e,t)=>{let r,n,i,s,a,o,c=t.Nt,l=t.Zt,f=t.Ot.Pt,u=t.Ot.Vt,d=t.Ot.jt,w=t.Ot.Mt,p=0;for(s=0;fa>=s;s++)e.Nr[s]=0;for(c[e.Wr[e.Kr]].Hr=0,r=e.Kr+1;la>r;r++)n=e.Wr[r],s=c[c[n].Xr].Hr+1,s>w&&(s=w,p++),c[n].Hr=s,l>=n&&(e.Nr[s]++,a=0,n>=d&&(a=u[n-d]),o=c[n].Bt,e.pr+=o*(s+a),f&&(e.hr+=o*(f[n].Hr+a)));if(0!=p){do{for(s=w-1;0==e.Nr[s];)s--;e.Nr[s]--,e.Nr[s+1]+=2,e.Nr[w]--,p-=2}while(p>0);for(s=w;0!=s;s--)for(n=e.Nr[s];0!=n;)i=e.Wr[--r],l>=i&&(c[i].Hr!=s&&(e.pr+=(s-c[i].Hr)*c[i].Bt,c[i].Hr=s),n--)}})(e,t),((e,t,r)=>{let n,i,s=[],a=0;for(n=1;fa>=n;n++)a=a+r[n-1]<<1,s[n]=a;for(i=0;t>=i;i++){let t=e[i].Hr;0!=t&&(e[i].Ar=Gs(s[t]++,t))}})(s,t.Zt,e.Nr)}function Ma(e,t,r){let n,i,s=-1,a=t[0].Hr,o=0,c=7,l=4;for(0==a&&(c=138,l=3),t[r+1].Hr=65535,n=0;r>=n;n++)i=a,a=t[n+1].Hr,(++o>=c||i!=a)&&(l>o?e.Br[i].Bt+=o:0!=i?(i!=s&&e.Br[i].Bt++,e.Br[16].Bt++):o>10?e.Br[18].Bt++:e.Br[17].Bt++,o=0,s=i,0==a?(c=138,l=3):i==a?(c=6,l=3):(c=7,l=4))}function Ka(e,t,r){let n,i=-1,s=t[0].Hr,a=0,o=7,c=4;0==s&&(o=138,c=3);for(let l=0;r>=l;l++)if(n=s,s=t[l+1].Hr,++a>=o||n!=s){if(c>a)do{Oa(e,e.Br[n].Ar,e.Br[n].Hr)}while(0!=--a);else 0!=n?(n!=i&&(Oa(e,e.Br[n].Ar,e.Br[n].Hr),a--),Oa(e,e.Br[16].Ar,e.Br[16].Hr),Oa(e,a-3,2)):a>10?(Oa(e,e.Br[18].Ar,e.Br[18].Hr),Oa(e,a-11,7)):(Oa(e,e.Br[17].Ar,e.Br[17].Hr),Oa(e,a-3,3));a=0,i=n,0==s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4)}}function Aa(e,t,r,n,i=0){Oa(e,0+n,3),Na(e),Ks(e,r),Ks(e,~r),r&&t&&Is(e.Kt,e.At,t,i,r),e.At+=r}function Xa(e,t,r){let n,i,s,a,o=0;if(0!=e.Ht)do{n=255&e.Or[o],n+=(255&e.Or[o+1])<<8,i=e.Or[o+2],o+=3,0==n?Oa(e,t[i].Ar,t[i].Hr):(s=Fa[i],Oa(e,t[s+sa+1].Ar,t[s+sa+1].Hr),a=pa[s],0!=a&&(i-=Cs[s],Oa(e,i,a)),n--,s=Bs(n),Oa(e,r[s].Ar,r[s].Hr),a=ha[s],0!=a&&(n-=Ds[s],Oa(e,n,a)))}while(o<e.Ht);Oa(e,t[ua].Ar,t[ua].Hr)}var Ha=[{_r:wo,$r:0,en:0,tn:0,rn:0},{_r:po,$r:4,en:4,tn:8,rn:4},{_r:po,$r:4,en:5,tn:16,rn:8},{_r:po,$r:4,en:6,tn:32,rn:32},{_r:ho,$r:4,en:4,tn:16,rn:16},{_r:ho,$r:8,en:16,tn:32,rn:32},{_r:ho,$r:8,en:16,tn:128,rn:128},{_r:ho,$r:8,en:32,tn:128,rn:256},{_r:ho,$r:32,en:128,tn:258,rn:1024},{_r:ho,$r:32,en:258,tn:258,rn:4096}];function Ba(e){return 2*e-(e>4?9:0)}function Ya(e,t,r){return((t<<e.sr^r)&e.ir)>>>0}function Ja(e,t){e.Er=Ya(e,e.Er,e.Tt[t+(ta-1)]);let r=e.ar[t&e.tr]=e.cr[e.Er];return e.cr[e.Er]=t,r}function Qa(e){e.cr[e.nr-1]=0,Ws(e.cr,0,(e.nr-1)*e.cr.BYTES_PER_ELEMENT)}function _a(e){let t,r,n=e.Lt;for(t=e.nr;t>0;)t--,r=e.cr[t],e.cr[t]=n>r?0:r-n;for(t=n;t>0;)t--,r=e.ar[t],e.ar[t]=n>r?0:r-n}function $a(e,t,r,n){let i=e.bt;return i>n&&(i=n),0==i?0:(e.bt-=i,Is(t,r,e.ht,e.yt,i),1==e.Et.$t?e.St=za(e.St,new xs(t.buffer,t.byteOffset+r,i),i):2==e.Et.$t&&(e.St=Wa(e.St,new xs(t.buffer,t.byteOffset+r,i),i)),e.yt+=i,e.xt+=i,i)}function eo(e){let t,r,n=e.Lt;do{if(r=e.jr-e.kr-e.Fr,0==r&&0==e.Fr&&0==e.kr?r=n:-1==r&&r--,e.Fr>=n+Hs(e)&&(Is(e.Tt,0,e.Tt,n,n-r),e.Gr-=n,e.Fr-=n,e.gr-=n,e.yr>e.Fr&&(e.yr=e.Fr),_a(e),r+=n),0==e.Ut.bt)break;if(t=$a(e.Ut,e.Tt,e.Fr+e.kr,r),e.kr+=t,e.kr+e.yr>=ta){let t=e.Fr-e.yr;for(e.Er=e.Tt[t],e.Er=Ya(e,e.Er,e.Tt[t+1]);e.yr&&(e.Er=Ya(e,e.Er,e.Tt[t+ta-1]),e.ar[t&e.tr]=e.cr[e.Er],e.cr[e.Er]=t,t++,e.yr--,e.kr+e.yr>=ta););}}while(e.kr<na&&0!=e.Ut.bt);if(e.Ct<e.jr){let t,r=e.Fr+e.kr;e.Ct<r?(t=e.jr-r,t>ia&&(t=ia),Ws(e.Tt,r,t),e.Ct=r+t):e.Ct<r+ia&&(t=r+ia-e.Ct,t>e.jr-e.Ct&&(t=e.jr-e.Ct),Ws(e.Tt,e.Ct,t),e.Ct+=t)}}function to(e){if(null==e)return!0;let t=e.Et;return!t||t.Ut!=e||42!=t._t&&57!=t._t&&69!=t._t&&73!=t._t&&91!=t._t&&103!=t._t&&113!=t._t&&666!=t._t}function ro(e,t){Ms(e,t>>8),Ms(e,255&t)}function no(e){let t,r=e.Et;(e=>{qa(e)})(r),t=r.At,t>e.kt&&(t=e.kt),0!=t&&(Is(e.gt,e.Ft,r.Kt,r.wr,t),e.Ft+=t,r.wr+=t,e.vt+=t,e.kt-=t,r.At-=t,0==r.At&&(r.wr=r.ur))}function io(e,t){let r=e.Et;r.er&&r.er.nn&&(e.St=Wa(e.St,new xs(r.Kt.buffer,r.ur+t,r.At-t),r.At-t))}function so(e,t){let r,n=e.Et;if(to(e)||t>5||0>t)return js(e,-2);if(!e.gt||0!=e.bt&&!e.ht||666==n._t&&4!=t)return js(e,-2);if(0==e.kt)return js(e,-5);if(r=n.br,n.br=t,0!=n.At){if(no(e),0==e.kt)return n.br=da,0}else if(0==e.bt&&Ba(t)<=Ba(r)&&4!=t)return js(e,-5);if(666==n._t&&0!=e.bt)return js(e,-5);if(42==n._t&&0==n.$t&&(n._t=113),42==n._t){let t,r=8+(n.Dt-8<<4)<<8;if(t=n.Tr>=2||2>n.Ur?0:6>n.Ur?1:6==n.Ur?2:3,r|=t<<6,0!=n.Fr&&(r|=32),r+=31-r%31,ro(n,r),0!=n.Fr&&(ro(n,e.St>>16),ro(n,65535&e.St)),e.St=1,n._t=113,no(e),0!=n.At)return n.br=da,0}if(57==n._t)if(e.St=Wa(0),Ms(n,31),Ms(n,139),Ms(n,8),n.er)Ms(n,(n.er.sn?1:0)+(n.er.nn?2:0)+(null==n.er.an?0:4)+(null==n.er.cn?0:8)+(null==n.er.ln?0:16)),Ms(n,255&n.er.fn),Ms(n,n.er.fn>>>8&255),Ms(n,n.er.fn>>>16&255),Ms(n,n.er.fn>>>24&255),Ms(n,9==n.Ur?2:n.Tr>=2||2>n.Ur?4:0),Ms(n,255&n.er.un),null!=n.er.an&&(Ms(n,255&n.er.dn),Ms(n,n.er.dn>>>8&255)),n.er.nn&&(e.St=Wa(e.St,n.Kt,n.At)),n.Pr=0,n._t=69;else if(Ms(n,0),Ms(n,0),Ms(n,0),Ms(n,0),Ms(n,0),Ms(n,9==n.Ur?2:n.Tr>=2||2>n.Ur?4:0),Ms(n,255),n._t=113,no(e),0!=n.At)return n.br=da,0;if(69==n._t){if(n.er&&null!=n.er.an){let t=n.At,r=(65535&n.er.dn)-n.Pr;for(;n.At+r>n.dr;){let i=n.dr-n.At;if(Is(n.Kt,n.At,n.er.an,n.Pr,i),n.At=n.dr,io(e,t),n.Pr+=i,no(e),0!=n.At)return n.br=da,0;t=0,r-=i}Is(n.Kt,n.At,n.er.an,n.Pr,r),n.At+=r,io(e,t),n.Pr=0}n._t=73}if(73==n._t){if(n.er&&n.er.cn&&n.er.cn.length){let t,r=n.At;do{if(n.At==n.dr){if(io(e,r),no(e),0!=n.At)return n.br=da,0;r=0}t=n.er.cn[n.Pr++],Ms(n,t)}while(0!=t);io(e,r),n.Pr=0}n._t=91}if(91==n._t){if(n.er&&n.er.ln&&n.er.ln.length){let t,r=n.At;do{if(n.At==n.dr){if(io(e,r),no(e),0!=n.At)return n.br=da,0;r=0}t=n.er.ln[n.Pr++],Ms(n,t)}while(0!=t);io(e,r)}n._t=103}if(103==n._t){if(n.er&&n.er.nn){if(n.At+2>n.dr&&(no(e),0!=n.At))return n.br=da,0;Ms(n,255&e.St),Ms(n,e.St>>>8&255),e.St=Wa(0)}if(n._t=113,no(e),0!=n.At)return n.br=da,0}if(0!=e.bt||0!=n.kr||0!=t&&666!=n._t){let r=0==n.Ur?wo(n,t):2==n.Tr?((e,t)=>{let r=!1;for(;;){if(0==e.kr&&(eo(e),0==e.kr)){if(0==t)return 0;break}if(e.vr=0,r=Xs(e,e.Tt[e.Fr]),e.kr--,e.Fr++,r){let t=lo(e,!1);if(null!=t)return t}}if(e.yr=0,4==t)return lo(e,!0)??3;if(e.Ht){let t=lo(e,!1);if(null!=t)return t}return 1})(n,t):3==n.Tr?((e,t)=>{let r,n,i,s;for(;;){if(e.kr<=ra){if(eo(e),e.kr<=ra&&0==t)return 0;if(0==e.kr)break}if(e.vr=0,e.kr>=ta&&e.Fr>0&&(i=e.Fr-1,n=e.Tt[i],n==++i&&n==++i&&n==++i)){s=e.Fr+ra;do{}while(n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&s>i);e.vr=ra-(s-i),e.vr>e.kr&&(e.vr=e.kr)}if(e.vr<ta?(r=Xs(e,e.Tt[e.Fr]),e.kr--,e.Fr++):(e.Fr,e.Fr,e.vr,r=As(e,1,e.vr-ta),e.kr-=e.vr,e.Fr+=e.vr,e.vr=0),r){let t=lo(e,!1);if(null!=t)return t}}if(e.yr=0,4==t)return lo(e,!0)??3;if(e.Ht){let t=lo(e,!1);if(null!=t)return t}return 1})(n,t):Ha[n.Ur]._r(n,t);if((2==r||3==r)&&(n._t=666),0==r||2==r)return 0==e.kt&&(n.br=da),0;if(1==r&&(1==t?(e=>{Oa(e,2,3),Oa(e,xa[ua].Ar,xa[ua].Hr),qa(e)})(n):5!=t&&(Aa(n,null,0,0),3==t&&(Qa(n),0==n.kr&&(n.Fr=0,n.gr=0,n.yr=0))),no(e),0==e.kt))return n.br=da,0}return 4!=t?0:n.$t>0?(2==n.$t?(Ms(n,255&e.St),Ms(n,e.St>>>8&255),Ms(n,e.St>>>16&255),Ms(n,e.St>>>24&255),Ms(n,255&e.xt),Ms(n,e.xt>>>8&255),Ms(n,e.xt>>>16&255),Ms(n,e.xt>>>24&255)):(ro(n,e.St>>>16&65535),ro(n,65535&e.St)),no(e),n.$t>0&&(n.$t=-n.$t),0!=n.At?0:1):1}function ao(e){if(to(e))return-2;let t=e.Et,r=t._t;return t.Tt=Es,t.ar=Us,t.cr=Us,t.Kt=Es,t.Or=Es,t.Wr=new Fs(0),t.qr=Es,t.Nr=Us,t.Yt.length=0,t.Jt.length=0,t.Br.length=0,t.er=void 0,t.ur=0,t.wr=0,t.Xt=0,113==r?-3:0}function oo(e,t){let r,n,i=e.Cr,s=e.Fr,a=e.zr,o=e.Dr,c=e.Fr>Hs(e)?e.Fr-Hs(e):0,l=e.ar,f=e.tr,u=e.Tt[s],d=e.Tt[s+1],w=e.Tt[s+a-1],p=e.Tt[s+a];e.zr>=e.Lr&&(i>>=2),o>e.kr&&(o=e.kr);do{if(r=t,e.Tt[r+a]!=p||e.Tt[r+a-1]!=w||e.Tt[r]!=u||e.Tt[r+1]!=d)continue;let i=vs.min(ra,e.kr),c=2;for(;i>c&&e.Tt[s+c]==e.Tt[r+c];)c++;if(n=c,n>a){if(e.Gr=t,a=n,n>=o)break;w=e.Tt[s+a-1],p=e.Tt[s+a]}}while((t=l[t&f])>c&&0!=--i);return a>e.kr?e.kr:a}function co(e,t){((e,t,r,n,i=0)=>{let s,a,o=0;e.Ur>0?(2==e.Ut.i&&(e.Ut.i=(e=>{let t,r=4093624447;for(t=0;31>=t;t++,r>>=1)if(1&r&&0!=e.Yt[t].Bt)return 0;if(0!=e.Yt[9].Bt||0!=e.Yt[10].Bt||0!=e.Yt[13].Bt)return 1;for(t=32;sa>t;t++)if(0!=e.Yt[t].Bt)return 1;return 0})(e)),Ga(e,e.Yr),Ga(e,e.Jr),o=(e=>{let t;for(Ma(e,e.Yt,e.Yr.Zt),Ma(e,e.Jt,e.Jr.Zt),Ga(e,e.Qr),t=ca-1;t>=3&&0==e.Br[Rs[t]].Hr;t--);return e.pr+=3*(t+1)+5+5+4,t})(e),s=e.pr+3+7>>3,a=e.hr+3+7>>3,(s>=a||4==e.Tr)&&(s=a)):s=a=r+5,s>=r+4&&t?Aa(e,t,r,n,i):a==s?(Oa(e,2+n,3),Xa(e,xa,ga)):(Oa(e,4+n,3),((e,t,r,n)=>{let i;for(Oa(e,t-257,5),Oa(e,r-1,5),Oa(e,n-4,4),i=0;n>i;i++)Oa(e,e.Br[Rs[i]].Hr,3);Ka(e,e.Yt,t-1),Ka(e,e.Jt,r-1)})(e,e.Yr.Zt+1,e.Jr.Zt+1,o+1),Xa(e,e.Yt,e.Jt)),Za(e),n&&Na(e)})(e,e.Tt,e.Fr-e.gr,t,e.gr),e.gr=e.Fr,no(e.Ut)}function lo(e,t){return co(e,t?1:0),0==e.Ut.kt?t?2:0:null}var fo=65535;function uo(e,t){return t>e?e:t}function wo(e,t){let r,n,i,s=uo(e.dr-5,e.Lt),a=0,o=e.Ut.bt;do{if(r=fo,i=e.qt+42>>3,e.Ut.kt<i||(i=e.Ut.kt-i,n=e.Fr-e.gr,r>n+e.Ut.bt&&(r=n+e.Ut.bt),r>i&&(r=i),s>r&&(0==r&&4!=t||0==t||r!=n+e.Ut.bt)))break;a=4==t&&r==n+e.Ut.bt?1:0,Aa(e,null,0,a),e.Kt[e.At-4]=r,e.Kt[e.At-3]=r>>8,e.Kt[e.At-2]=~r,e.Kt[e.At-1]=~r>>8,no(e.Ut),n&&(n>r&&(n=r),Is(e.Ut.gt,e.Ut.Ft,e.Tt,e.gr,n),e.Ut.Ft+=n,e.Ut.kt-=n,e.Ut.vt+=n,e.gr+=n,r-=n),r&&($a(e.Ut,e.Ut.gt,e.Ut.Ft,r),e.Ut.Ft+=r,e.Ut.kt-=r,e.Ut.vt+=r)}while(0==a);if(o-=e.Ut.bt,o){if(o<e.Lt)e.jr-e.Fr<=o&&(e.Fr-=e.Lt,Is(e.Tt,0,e.Tt,e.Lt,e.Fr),2>e.mr&&e.mr++,e.yr>e.Fr&&(e.yr=e.Fr)),Is(e.Tt,e.Fr,e.Ut.ht,e.Ut.yt-o,o),e.Fr+=o,e.yr+=uo(o,e.Lt-e.yr);else{e.mr=2;let t=e.Ut.yt-e.Lt;Is(e.Tt,0,e.Ut.ht,t,e.Lt),e.Fr=e.Lt,e.yr=e.Fr}e.gr=e.Fr}return e.Ct<e.Fr&&(e.Ct=e.Fr),a?(e.Zr=8,3):0!=t&&4!=t&&0==e.Ut.bt&&e.Fr==e.gr?1:(i=e.jr-e.Fr,e.Ut.bt>i&&e.gr>=e.Lt&&(e.gr-=e.Lt,e.Fr-=e.Lt,Is(e.Tt,0,e.Tt,e.Lt,e.Fr),2>e.mr&&e.mr++,i+=e.Lt,e.yr>e.Fr&&(e.yr=e.Fr)),i>e.Ut.bt&&(i=e.Ut.bt),i&&($a(e.Ut,e.Tt,e.Fr,i),e.Fr+=i,e.yr+=uo(i,e.Lt-e.yr)),e.Ct<e.Fr&&(e.Ct=e.Fr),i=e.qt+42>>3,i=uo(e.dr-i,fo),s=uo(i,e.Lt),n=e.Fr-e.gr,(n>=s||(n||4==t)&&0!=t&&0==e.Ut.bt&&i>=n)&&(r=uo(n,i),a=4==t&&0==e.Ut.bt&&r==n?1:0,Aa(e,e.Tt,r,a,e.gr),e.gr+=r,no(e.Ut)),a&&(e.Zr=8),a?2:0)}function po(e,t){let r,n=!1;for(;;){if(e.kr<na){if(eo(e),e.kr<na&&0==t)return 0;if(0==e.kr)break}if(r=0,e.kr>=ta&&(r=Ja(e,e.Fr)),0!=r&&e.Fr-r<=Hs(e)&&(e.vr=oo(e,r)),e.vr<ta)n=Xs(e,e.Tt[e.Fr]),e.kr--,e.Fr++;else if(e.Fr,e.Gr,e.vr,n=As(e,e.Fr-e.Gr,e.vr-ta),e.kr-=e.vr,e.vr>e.Ir||e.kr<ta)e.Fr+=e.vr,e.vr=0,e.Er=e.Tt[e.Fr],e.Er=Ya(e,e.Er,e.Tt[e.Fr+1]);else{e.vr--;do{e.Fr++,r=Ja(e,e.Fr)}while(0!=--e.vr);e.Fr++}if(n){let t=lo(e,!1);if(null!=t)return t}}if(e.yr=e.Fr<ta-1?e.Fr:ta-1,4==t)return lo(e,!0)??3;if(e.Ht){let t=lo(e,!1);if(null!=t)return t}return 1}function ho(e,t){let r,n=!1;for(;;){if(e.kr<na){if(eo(e),e.kr<na&&0==t)return 0;if(0==e.kr)break}if(r=0,e.kr>=ta&&(r=Ja(e,e.Fr)),e.zr=e.vr,e.Sr=e.Gr,e.vr=ta-1,0!=r&&e.zr<e.Ir&&e.Fr-r<=Hs(e)&&(e.vr=oo(e,r),5>=e.vr&&(1==e.Tr||e.vr==ta&&e.Fr-e.Gr>4096)&&(e.vr=ta-1)),e.zr<ta||e.vr>e.zr)if(e.Rr){if(n=Xs(e,e.Tt[e.Fr-1]),n&&co(e,0),e.Fr++,e.kr--,0==e.Ut.kt)return 0}else e.Rr=1,e.Fr++,e.kr--;else{let t=e.Fr+e.kr-ta;e.Fr,e.Sr,e.zr,n=As(e,e.Fr-1-e.Sr,e.zr-ta),e.kr-=e.zr-1,e.zr-=2;do{++e.Fr<=t&&(r=Ja(e,e.Fr))}while(0!=--e.zr);if(e.Rr=0,e.vr=ta-1,e.Fr++,n){let t=lo(e,!1);if(null!=t)return t}}}if(e.Rr&&(n=Xs(e,e.Tt[e.Fr-1]),e.Rr=0),e.yr=e.Fr<ta-1?e.Fr:ta-1,4==t)return lo(e,!0)??3;if(e.Ht){let t=lo(e,!1);if(null!=t)return t}return 1}var mo=852,yo=Ds.map(e=>e+1),bo=Cs.subarray(0,-1).map(e=>e+3),xo=Ls.map(Do),go=Ls.map(Co);xo.push(64,2),go.push(142,2);var Fo=Ts.slice(0,-2).map(Do),ko=Ts.slice(0,-2).map(Co);Fo.push(16,1,73,1,200,1),ko.push(144,1,72,1,78,1);var vo=new gs([...bo,258,0,0]),zo=new gs([...bo,3,0,0]),So=Os(Fo),Ro=Os(ko),Eo=new gs([...yo,0,0]),Uo=new gs([...yo,32769,49153]),To=Os(xo),Lo=Os(go);function Do(e,t){return t%2?e:e+16}function Co(e,t){return t%2?e:e+128}function Io(e,t){let r,n=e.Et,i=e.yt,s=e.Ft,a=e.ht,o=e.gt,c=n.Tt,l=n.Wt>>>0,f=n.qt>>>0,u=n.wn,d=n.pn,w=(1<<n.hn)-1,p=(1<<n.mn)-1,h=n.Lt>>>0,m=n.Ct>>>0,y=n.It>>>0,b=n.yn,x=s-(t-e.kt),g=s+(e.kt-257),F=i+(e.bt-5),k=0,v=0,z=0,S=0;e:do{for(;15>f;){if(i>=a.length)break e;l+=a[i++]<<f,f+=8}for(r=u[l&w];;){if(z=r.bn,l>>>=z,f-=z,z=r.xn,0==z){o[s++]=r.gn;break}if(16&z){if(k=r.gn,z&=15,z){for(;z>f;){if(i>=a.length){n.Fn=16200;break e}l+=a[i++]<<f,f+=8}k+=l&(1<<z)-1,l>>>=z,f-=z}for(;15>f;){if(i>=a.length){n.Fn=16200;break e}l+=a[i++]<<f,f+=8}for(r=d[l&p];;){if(z=r.bn,l>>>=z,f-=z,z=r.xn,16&z){if(v=r.gn,z&=15,z){for(;z>f;){if(i>=a.length){n.Fn=16200;break e}l+=a[i++]<<f,f+=8}v+=l&(1<<z)-1,l>>>=z,f-=z}let t=k,u=s-x;if(v>u){let r=v-u;if(r>m&&b){e.zt="invalid distance too far back",n.Fn=16209;break e}if(0==y){if(S=h-r,r>=t){for(let e=0;t>e;++e)o[s++]=c[S++];continue e}for(let e=0;r>e;++e)o[s++]=c[S++];t-=r,S=s-v}else if(r>y){S=h+y-r;let e=r-y;if(e>=t){for(let e=0;t>e;++e)o[s++]=c[S++];continue e}for(let t=0;e>t;++t)o[s++]=c[S++];if(t-=e,S=0,t>y){for(let e=0;y>e;++e)o[s++]=c[S++];t-=y,S=s-v}}else{if(S=y-r,r>=t){for(let e=0;t>e;++e)o[s++]=c[S++];continue e}for(let e=0;r>e;++e)o[s++]=c[S++];t-=r,S=s-v}for(;t>2;)o[s++]=o[S++],o[s++]=o[S++],o[s++]=o[S++],t-=3;t&&(o[s++]=o[S++],t>1&&(o[s++]=o[S++]))}else{for(S=s-v;t>2;)o[s++]=o[S++],o[s++]=o[S++],o[s++]=o[S++],t-=3;t&&(o[s++]=o[S++],t>1&&(o[s++]=o[S++]))}break}if(64&z){e.zt="invalid distance code",n.Fn=16209;break e}r=d[r.gn+(l&(1<<z)-1)]}break}if(64&z){if(32&z){n.Fn=16191;break e}e.zt="invalid literal/length code",n.Fn=16209;break e}r=u[r.gn+(l&(1<<z)-1)]}}while(F>i&&g>s);let R=f>>3;i-=R,f-=R<<3,l&=(1<<f)-1,e.yt=i,e.Ft=s,e.bt=F>i?F-i+5:5-(i-F),e.kt=g>s?g-s+257:257-(s-g),n.Wt=l>>>0,n.qt=f>>>0}function Wo(e,t){let r=[],n=t?1446:1444;return{...Ns(e,0),Ut:e,Fn:16180,kn:!1,$t:0,vn:!1,zn:0,Sn:0,Rn:0,En:0,Tt:Es,Un:0,Tn:0,an:0,wn:r,pn:r,hn:0,mn:0,Ln:0,Dn:0,Cn:0,In:0,Wn:r,qn:new gs(320),Nn:new gs(288),On:new Ss(n).fill(null).map(()=>qo()),Zn:0,yn:!0,Pn:0,Vn:0,jn:t}}function qo(e=0,t=0,r=0){return{xn:e,bn:t,gn:r}}function No(e=1){return{xn:64,bn:e,gn:0}}function Oo(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Zo={jn:!1,Gn:vo,Mn:So,Kn:Eo,An:To,Xn:20,Hn:257,Bn:0,Yn:592,Jn:!1,Qn:!0},Po={jn:!0,Gn:zo,Mn:Ro,Kn:Uo,An:Lo,Xn:19,Hn:256,Bn:-1,Yn:594,Jn:!0,Qn:!1};function Vo(e,t,r,n,i,s,a,o){let c,l,f,u,d,w,p,h,m,y,b,x,g,F,k,v,z,S,R,E=new gs(16),U=new gs(16),T=o?Po:Zo;for(c=0;15>=c;c++)E[c]=0;for(l=0;r>l;l++)E[t[l]]++;for(d=i._n,u=15;u>=1&&0==E[u];u--);if(d>u&&(d=u),0==u)return T.Qn?(k=No(1),n._n[0]=k,n._n[1]=k,i._n=1,0):-1;for(f=1;u>f&&0==E[f];f++);for(f>d&&(d=f),h=1,c=1;15>=c;c++)if(h<<=1,h-=E[c],0>h)return-1;if(h>0&&(0==e||1!=u))return-1;for(U[1]=0,c=1;15>c;c++)U[c+1]=U[c]+E[c];for(l=0;r>l;l++)0!=t[l]&&(s[U[t[l]]++]=l);switch(e){case 0:z=S=s,R=T.Xn;break;case 1:z=T.Gn,S=T.Mn,R=T.Hn;break;default:z=T.Kn,S=T.An,R=T.Bn}if(y=0,l=0,c=f,v=a._n,w=d,p=0,g=-1,m=1<<d,F=m-1,1==e&&(T.Jn?m>=mo:m>mo)||2==e&&(T.Jn?m>=T.Yn:m>T.Yn))return 1;for(;;){k=jo(s,l,c,p,e,z,S,R,T.jn),b=1<<c-p,x=1<<w,f=x;do{x-=b;let e=(y>>p)+x;n._n[v+e]={...k}}while(0!=x);for(b=1<<c-1;y&b;)b>>=1;if(0!=b?(y&=b-1,y+=b):y=0,l++,0==--E[c]){if(c==u)break;c=t[s[l]]}if(c>d&&(y&F)!=g){for(0==p&&(p=d),v+=1<<w,w=c-p,h=1<<w;u>w+p&&(h-=E[w+p],h>0);)w++,h<<=1;if(m+=1<<w,1==e&&(T.Jn?m>=mo:m>mo)||2==e&&(T.Jn?m>=T.Yn:m>T.Yn))return 1;g=y&F,n._n[a._n+g]={xn:w,bn:d,gn:v-a._n}}}if(0!=y)for(k=No(c-p);0!=y;){for(0!=p&&(y&F)!=g&&(p=0,c=d,v=a._n,w=d,k.bn=c),n._n[v+(y>>p)]={...k},b=1<<c-1;y&b;)b>>=1;0!=b?(y&=b-1,y+=b):y=0}return a._n+=m,i._n=d,0}function jo(e,t,r,n,i,s,a,o,c){let l;if(c?e[t]<o:e[t]+1<o)l=qo(0,r-n,e[t]);else if(c?e[t]>o:e[t]>=o)if(c&&1==i){let i=e[t]-257;l=qo(a[i],r-n,s[i])}else{let i=c?e[t]:e[t]-o;l=qo(a[i],r-n,s[i])}else l=((e=0)=>({xn:96,bn:e,gn:0}))(r-n);return l}var Go={$n:!0,ei:new Ss(544),ti:[],ri:[]},Mo={$n:!0,ei:new Ss(544),ti:[],ri:[]};function Ko(e){let t;return!(e&&(t=e.Et,!(!t||t.Ut!=e||t.jn&&(16191>t.Fn||t.Fn>16209)||!t.jn&&(16180>t.Fn||t.Fn>16211))))}function Ao(e){let t=e.jn?Mo:Go,r={_n:0};if(t.$n){let n,i,s;for(n=0;144>n;)e.qn[n++]=8;for(;256>n;)e.qn[n++]=9;for(;280>n;)e.qn[n++]=7;for(;288>n;)e.qn[n++]=8;for(let e=0;544>e;e++)t.ei[e]=qo();s=t.ei,t.ti=s,i=9;let a={_n:s},o={_n:i},c={_n:0};for(Vo(1,e.qn,288,a,o,e.Nn,c,e.jn),s=a._n,i=o._n,e.Zn=c._n,n=0;32>n;)e.qn[n++]=5;i=5;let l=c._n,f={_n:s},u={_n:i};r._n=l,Vo(2,e.qn,32,f,u,e.Nn,r,e.jn),t.ri=s.slice(l),t.$n=!1}e.wn=t.ti,e.hn=9,e.pn=t.ri,e.mn=5,e.Zn=r._n}var Xo=class extends zs{constructor(){super("Need more input")}};function Ho(e,t){let r,n,i,s,a,o,c,l,f,u,d,w,p,h,m,y,b,x=new xs(4);if(Ko(e)||!e.gt||!e.ht&&0!=e.bt)return-2;o=0,l=0,c=0,f=0,n=Es,i=0,s=Es,a=0,r=e.Et,16191==r.Fn&&(r.Fn=16192),z(),u=o,d=c,b=0;try{for(;;)switch(r.Fn){case 16180:if(0==r.$t){r.Fn=16192;break}if(U(16),2&r.$t&&35615==l){0==r.Dt&&(r.Dt=15),r.Rn=Wa(0),r.Rn=k(r.Rn,l),R(),r.Fn=16181;break}if(r.er&&(r.er.ni=-1),!(1&r.$t)||((T(8)<<8)+(l>>8))%31){e.zt="incorrect header check",r.Fn=16209;break}if(8!=T(4)){e.zt="unknown compression method",r.Fn=16209;break}if(L(4),y=T(4)+8,0==r.Dt&&(r.Dt=y),y>15||y>r.Dt){e.zt="invalid window size",r.Fn=16209;break}r.Sn=1<<y,r.zn=0,e.St=r.Rn=za(0),r.Fn=512&l?16189:16191,R();break;case 16181:if(U(16),r.zn=l,8!=(255&r.zn)){e.zt="unknown compression method",r.Fn=16209;break}if(57344&r.zn){e.zt="unknown header flags set",r.Fn=16209;break}r.er&&(r.er.sn=l>>8&1),512&r.zn&&4&r.$t&&(r.Rn=k(r.Rn,l)),R(),r.Fn=16182;case 16182:U(32),r.er&&(r.er.fn=l),512&r.zn&&4&r.$t&&(r.Rn=v(r.Rn,l)),R(),r.Fn=16183;case 16183:U(16),r.er&&(r.er.ii=255&l,r.er.un=l>>8),512&r.zn&&4&r.$t&&(r.Rn=k(r.Rn,l)),R(),r.Fn=16184;case 16184:1024&r.zn?(U(16),r.Un=l,r.er&&(r.er.dn=l),512&r.zn&&4&r.$t&&(r.Rn=k(r.Rn,l)),R()):r.er&&(r.er.an=Es),r.Fn=16185;case 16185:if(1024&r.zn&&(w=r.Un,w>o&&(w=o),w&&(r.er&&r.er.an&&r.er.si&&(y=r.er.dn-r.Un)<r.er.si&&Is(r.er.an,y,n,i,w),512&r.zn&&4&r.$t&&(r.Rn=Wa(r.Rn,n.subarray(i,i+w),w)),o-=w,i+=w,r.Un-=w),r.Un))return g();r.Un=0,r.Fn=16186;case 16186:if(2048&r.zn){if(0==o)return g();w=0;do{y=n[i+w++],r.er&&r.er.ai&&r.Un<r.er.ai&&(r.er.cn[r.Un++]=y)}while(y&&o>w);if(512&r.zn&&4&r.$t&&(r.Rn=Wa(r.Rn,n.subarray(i,i+w),w)),o-=w,i+=w,y)return g()}else r.er&&(r.er.cn=Es);r.Un=0,r.Fn=16187;case 16187:if(4096&r.zn){if(0==o)return g();w=0;do{y=n[i+w++],r.er&&r.er.oi&&r.Un<r.er.oi&&(r.er.ln[r.Un++]=y)}while(y&&o>w);if(512&r.zn&&4&r.$t&&(r.Rn=Wa(r.Rn,n.subarray(i,i+w),w)),o-=w,i+=w,y)return g()}else r.er&&(r.er.ln=Es);r.Fn=16188;case 16188:if(512&r.zn){if(U(16),4&r.$t&&l!=(65535&r.Rn)){e.zt="header crc mismatch",r.Fn=16209;break}R()}r.er&&(r.er.nn=r.zn>>9&1,r.er.ni=1),e.St=r.Rn=Wa(0),r.Fn=16191;break;case 16189:U(32),e.St=r.Rn=Oo(l),R(),r.Fn=16190;case 16190:if(!r.vn)return S(),2;e.St=r.Rn=za(0),r.Fn=16191;case 16191:if(5==t||6==t)return g();case 16192:if(r.kn){D(),r.Fn=16206;break}switch(U(3),r.kn=!!T(1),L(1),T(2)){case 0:r.Fn=16193;break;case 1:if(Ao(r),r.Fn=16199,6==t)return L(2),g();break;case 2:r.Fn=16196;break;case 3:e.zt="invalid block type",r.Fn=16209}L(2);break;case 16193:if(D(),U(32),(65535&l)!=(l>>>16^65535)){e.zt="invalid stored block lengths",r.Fn=16209;break}if(r.Un=65535&l,R(),r.Fn=16194,6==t)return g();case 16194:r.Fn=16195;case 16195:if(w=r.Un,w){if(w>o&&(w=o),w>c&&(w=c),0==w)return g();Is(s,a,n,i,w),o-=w,i+=w,c-=w,a+=w,r.Un-=w;break}r.Fn=16191;break;case 16196:if(U(14),r.Dn=T(5)+257,L(5),r.Cn=T(5)+1,L(5),r.Ln=T(4)+4,L(4),r.Dn>286||!r.jn&&r.Cn>30){e.zt=r.jn?"too many length":"too many length or distance symbols",r.Fn=16209;break}r.In=0,r.Fn=16197;case 16197:for(;r.In<r.Ln;)U(3),r.qn[Rs[r.In++]]=T(3),L(3);for(;19>r.In;)r.qn[Rs[r.In++]]=0;r.Wn=r.On,r.wn=r.pn=r.Wn,r.hn=7;let u={_n:r.Wn},x={_n:r.hn},C={_n:0};if(b=Vo(0,r.qn,19,u,x,r.Nn,C,r.jn),r.Wn=u._n,r.hn=x._n,b){e.zt="invalid code lengths set",r.Fn=16209;break}r.In=0,r.Fn=16198;case 16198:for(;r.In<r.Dn+r.Cn;){for(;h=r.wn[T(r.hn)],h.bn>f;)E();if(16>h.gn)L(h.bn),r.qn[r.In++]=h.gn;else{if(16==h.gn){if(U(h.bn+2),L(h.bn),0==r.In){e.zt="invalid bit length repeat",r.Fn=16209;break}y=r.qn[r.In-1],w=3+T(2),L(2)}else 17==h.gn?(U(h.bn+3),L(h.bn),y=0,w=3+T(3),L(3)):(U(h.bn+7),L(h.bn),y=0,w=11+T(7),L(7));if(r.In+w>r.Dn+r.Cn){e.zt="invalid bit length repeat",r.Fn=16209;break}for(;w--;)r.qn[r.In++]=y}}if(16209==r.Fn)break;if(0==r.qn[256]){e.zt="invalid code -- missing end-of-block",r.Fn=16209;break}r.Wn=r.On,r.hn=9;let I={_n:r.Wn},W={_n:r.hn},q={_n:0};b=Vo(1,r.qn,r.Dn,I,W,r.Nn,q,r.jn),r.Wn=I._n,r.hn=W._n;let N=q._n;if(r.wn=r.Wn.slice(0,N),b){e.zt="invalid literal/lengths set",r.Fn=16209;break}r.mn=6;let O=r.qn.subarray(r.Dn,r.Dn+r.Cn),Z={_n:r.Wn},P={_n:r.mn},V={_n:N};if(b=Vo(2,O,r.Cn,Z,P,r.Nn,V,r.jn),r.Wn=Z._n,r.mn=P._n,r.pn=r.Wn.slice(N),b){e.zt="invalid distances set",r.Fn=16209;break}if(r.Fn=16199,6==t)return g();case 16199:r.Fn=16200;case 16200:if(!r.jn&&o>=6&&c>=258){S(),Io(e,d),z(),16191==r.Fn&&(r.Pn=-1);break}for(r.Pn=0;h=r.wn[T(r.hn)],h.bn>f;)E();if(h.xn&&!(240&h.xn)){for(m=h;h=r.wn[m.gn+(T(m.bn+m.xn)>>m.bn)],m.bn+h.bn>f;)E();L(m.bn),r.Pn+=m.bn}if(L(h.bn),r.Pn+=h.bn,r.Un=h.gn,0==h.xn){r.Fn=16205;break}if(32&h.xn){r.Pn=-1,r.Fn=16191;break}if(64&h.xn){e.zt="invalid literal/length code",r.Fn=16209;break}r.an=h.xn&(r.jn?31:15),r.Fn=16201;case 16201:r.an&&(U(r.an),r.Un+=T(r.an),L(r.an),r.Pn+=r.an),r.Vn=r.Un,r.Fn=16202;case 16202:for(;h=r.pn[T(r.mn)],h.bn>f;)E();if(!(240&h.xn)){for(m=h;h=r.pn[m.gn+(T(m.bn+m.xn)>>m.bn)],m.bn+h.bn>f;)E();L(m.bn),r.Pn+=m.bn}if(L(h.bn),r.Pn+=h.bn,64&h.xn){e.zt="invalid distance code",r.Fn=16209;break}r.Tn=h.gn,r.an=15&h.xn,r.Fn=16203;case 16203:r.an&&(U(r.an),r.Tn+=T(r.an),L(r.an),r.Pn+=r.an),r.Fn=16204;case 16204:if(0==c)return g();if(w=d-c,r.Tn>w){if(w=r.Tn-w,w>r.Ct&&r.yn){e.zt="invalid distance too far back",r.Fn=16209;break}w>r.It?(w-=r.It,p=r.Lt-w):p=r.It-w,w>r.Un&&(w=r.Un),w>c&&(w=c);for(let e=0;w>e;++e)s[a]=255&r.Tt[p],++a,++p}else{p=a-r.Tn,w=r.Un,w>c&&(w=c);for(let e=0;w>e;++e)s[a]=s[p],++a,++p}w>c&&(w=c),c-=w,r.Un-=w,0==r.Un&&(r.Fn=16200);break;case 16205:if(0==c)return g();s[a++]=r.Un,c--,r.Fn=16200;break;case 16206:if(r.$t){if(U(32),d-=c,e.vt+=d,r.En+=d,4&r.$t&&d){let t=s.subarray(a-d,a);e.St=r.Rn=F(r.Rn,t,d)}if(d=c,4&r.$t&&(r.zn?l:Oo(l)>>>0)!=r.Rn){e.zt="incorrect data check",r.Fn=16209;break}R()}r.Fn=16207;case 16207:if(r.$t&&r.zn){if(U(32),4&r.$t&&l!=(4294967295&r.En)){e.zt="incorrect length check",r.Fn=16209;break}R()}r.Fn=16208;case 16208:return b=1,g();case 16209:return b=-3,g();case 16210:return-4;default:return-2}}catch(e){if(e instanceof Xo)return g();throw e}function g(){if(S(),r.Lt||d!=e.kt&&16209>r.Fn&&(r.jn?16208>r.Fn:16206>r.Fn)||4!=t){let t=d-e.kt;if(((e,t,r)=>{let n=e.Et;if(!(n.Tt&&0!=n.Tt.length||(n.Tt=new xs(1<<n.Dt),n.Tt)))return 1;if(0==n.Lt&&(n.Lt=1<<n.Dt,n.It=0,n.Ct=0),r<n.Lt){let e=n.Lt-n.It;e>r&&(e=r),Is(n.Tt,n.It,t,t.length-r,e),(r-=e)?(Is(n.Tt,0,t,t.length-r,r),n.It=r,n.Ct=n.Lt):(n.It+=e,n.It==n.Lt&&(n.It=0),n.Ct<n.Lt&&(n.Ct+=e))}else Is(n.Tt,0,t,t.length-n.Lt,n.Lt),n.It=0,n.Ct=n.Lt;return 0})(e,e.gt.subarray(e.Ft-t,e.Ft),t))return r.Fn=16210,-4}return u-=e.bt,d-=e.kt,e.xt+=u,e.vt+=d,r.En+=d,4&r.$t&&d&&(e.St=r.Rn=F(r.Rn,e.gt.subarray(e.Ft-d,e.Ft),d)),e.i=r.qt+(r.kn?64:0)+(16191==r.Fn?128:0)+(16199==r.Fn||16194==r.Fn?256:0),(0==u&&0==d&&0==b||4==t&&0==b)&&(b=-5),b}function F(e,t,n){return r.zn?Wa(e,t,n):za(e,t,n)}function k(e,t){return x[0]=255&t,x[1]=t>>>8&255,Wa(e,x,2)>>>0}function v(e,t){return x[0]=255&t,x[1]=t>>>8&255,x[2]=t>>>16&255,x[3]=t>>>24&255,Wa(e,x,4)>>>0}function z(){s=e.gt,a=e.Ft,c=e.kt,n=e.ht,i=e.yt,o=e.bt,l=r.Wt,f=r.qt}function S(){e.gt=s,e.Ft=a,e.kt=c,e.ht=n,e.yt=i,e.bt=o,r.Wt=l,r.qt=f}function R(){l=0,f=0}function E(){if(0==o)throw new Xo;o--,l+=(255&n[i])<<f,i++,l>>>=0,f+=8}function U(e){for(;e>f;)E()}function T(e){return l&(1<<e)-1}function L(e){l>>>=e,f-=e}function D(){l>>>=7&f,f-=7&f}}function Bo(e){return Ko(e)?-2:0}var Yo=65536,Jo=class{constructor(e=16,t=Yo){this.ci=[],this.li=e;for(let r=0;r<vs.min(e,4);r++)this.ci.push(new xs(t))}fi(e=Yo){for(let t=this.ci.length-1;t>=0;t--){let r=this.ci[t];if(r.length>=e)return this.ci.splice(t,1),r}return new xs(e)}release(e){this.ci.length<this.li&&this.ci.push(e)}};function Qo(e){let t=new Jo(32,Yo),r=null;function n(e){try{t.release(e)}catch{}}return new ks({start(){},transform(i,s){if(!r){let t=e.ui(),n=e.di(t);if(0!=n&&0!=n)throw new zs("init failed: "+n);r={Ut:t}}let a=r.Ut,o=0;for(;o<i.length;){let r=vs.min(i.length-o,32768),c=i.subarray(o,o+r);for(a.ht=c,a.yt=0,a.bt=c.length;a.bt>0;){let r=t.fi(),i=!1;try{a.gt=r,a.Ft=0,a.kt=r.length;let n=e.wi(a,0),o=r.length-a.kt;if(o>0){let e=!1,n={pi:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r))}};i=!0,s.enqueue(n)}if(0!=n&&1!=n)throw new zs("process error: "+n)}finally{i||n(r)}}o+=r}},flush(i){if(!r)return;let s=r.Ut;for(;;){let r=t.fi(),a=!1;try{s.gt=r,s.Ft=0,s.kt=r.length;let n=e.wi(s,4),o=r.length-s.kt;if(o>0){let e=!1,n={pi:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r))}};a=!0,i.enqueue(n)}if(1==n)break;if(0!=n)throw new zs("finalization error: "+n)}finally{a||n(r)}}let a=e.hi(s);if(0!=a&&0!=a)throw new zs("end failed: "+a)}})}function _o(){return new ks({start(){},transform(e,t){try{t.enqueue(e.pi.slice(0))}finally{e.release()}},flush(){}})}fe({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",t){let r=function(e="deflate",t){let r="gzip"==e?31:"deflate-raw"==e?-15:15,n=t&&"number"==typeof t.level?t.level:-1;return Qo({ui:()=>(()=>{let e=qs();return e.Et=Ys(e),e})(),di:e=>((e,t,r=8,n=15,i=ea,s=0)=>{let a=1;if(!e)return-2;if(e.zt="",-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!=r||8>n||n>15||0>t||t>9||0>s||s>4||8==n&&1!=a)return-2;8==n&&(n=9);let o=Ys(e);return o?(e.Et=o,o.Ut=e,o._t=42,o.$t=a,o.er=void 0,o.Dt=n,o.Lt=1<<o.Dt,o.tr=o.Lt-1,o.rr=i+7,o.nr=1<<o.rr,o.ir=o.nr-1,o.sr=(o.rr+ta-1)/ta,o.Tt=new xs(2*o.Lt),o.ar=new gs(o.Lt),o.cr=new gs(o.nr),o.Ct=0,o.lr=1<<i+6,o.Kt=new xs(4*o.lr),o.dr=4*o.lr,o.Tt&&o.ar&&o.cr&&o.Kt?(o.Or=o.Kt.subarray(o.lr),o.Xt=o.ur+o.lr,o.Qt=3*(o.lr-1),o.Ur=t,o.Tr=s,o.Vr=r,(e=>{let t=(e=>{let t;return to(e)?-2:(e.xt=e.vt=0,e.zt="",e.i=2,t=e.Et,t.At=0,t.wr=t.ur,0>t.$t&&(t.$t=-t.$t),t._t=2==t.$t?57:42,e.St=2==t.$t?Wa(0):za(0),t.br=-2,(e=>{if(e.Yt&&e.Yt.length>=la)for(let t=0;la>t;t++)e.Yt[t]=Qs();else{e.Yt=[];for(let t=0;la>t;t++)e.Yt.push(Qs())}if(e.Jt&&e.Jt.length>=2*oa+1)for(let t=0;2*oa+1>t;t++)e.Jt[t]=Qs();else{e.Jt=[];for(let t=0;2*oa+1>t;t++)e.Jt.push(Qs())}if(e.Br&&e.Br.length>=2*ca+1)for(let t=0;2*ca+1>t;t++)e.Br[t]=Qs();else{e.Br=[];for(let t=0;2*ca+1>t;t++)e.Br.push(Qs())}e.Yr=new Zs(e.Yt,new Ps(xa,pa,sa+1,aa,fa)),e.Jr=new Zs(e.Jt,new Ps(ga,ha,0,oa,fa)),e.Qr=new Zs(e.Br,new Ps(null,ma,0,ca,7)),e.Wt=0,e.qt=0,e.Zr=0,Za(e)})(t),0)})(e);return 0==t&&(e=>{e.jr=2*e.Lt,Qa(e),e.Ir=Ha[e.Ur].en,e.Lr=Ha[e.Ur].$r,e.Dr=Ha[e.Ur].tn,e.Cr=Ha[e.Ur].rn,e.Fr=0,e.gr=0,e.kr=0,e.yr=0,e.vr=e.zr=ta-1,e.Rr=0,e.Er=0})(e.Et),t})(e)):(o._t=666,e.zt=Vs(-4),ao(e),-4)):-4})(e,n,8,r,8,0),wi:so,hi:ao})}(e,t);this.writable=r.writable,this.readable=r.readable.pipeThrough(_o())}},DecompressionStreamZlib:class{constructor(e="deflate"){let t=((e="deflate")=>{let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return Qo({ui:()=>(()=>{let e=qs();return e.Et=Wo(e,!1),e})(),di:e=>function(e,t){let r,n;if(!e)return-2;e.zt="";let i=-16==t;return n=Wo(e,i),e.Et=n,n.Ut=e,n.Fn=i?16191:16180,r=((e,t)=>{let r,n;if(Ko(e))return-2;if(n=e.Et,0>t){if(-16>t)return-2;r=0,n.jn=-16==t,t=-t}else r=5+(t>>4),n.jn=!1,48>t&&(t&=15);let i=n.jn?16:15;return t&&(8>t||t>i)?-2:(n.Tt.length>0&&n.Dt!=t&&(n.Tt=Es),n.$t=r,n.Dt=t,(e=>{let t;return Ko(e)?-2:(t=e.Et,t.Lt=0,t.Ct=0,t.It=0,(e=>{let t;return Ko(e)?-2:(t=e.Et,e.xt=e.vt=t.En=0,e.zt="",t.$t&&(e.St=1&t.$t),t.Fn=t.jn?16191:16180,t.kn=!1,t.vn=!1,t.zn=-1,t.Sn=t.jn?65536:32768,delete t.er,t.Wt=0,t.qt=0,t.wn=t.On,t.pn=t.On,t.Wn=t.On,t.yn=!0,t.Pn=-1,0)})(e))})(e))})(e,t),r}(e,t),wi:Ho,hi:Bo})})(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(_o())}}}),fe({workerURI:e=>{const t="text/javascript",r=(e=>{let t=0,r=0,n=0,i=new w(1024),s=0,a=0;for(;!a;){a=c(1);const e=c(2);if(0==e)l();else if(1==e)f(be(me),be(ye));else{if(2!=e)throw d("invalid deflate block type");f(...u())}}return i.subarray(0,s);function o(){if(t>=e.length)throw d("unexpected end of deflate data");return e[t++]}function c(e){for(;e>n;)r|=o()<<n,n+=8;const t=r&(1<<e)-1;return r>>>=e,n-=e,t}function l(){r=0,n=0;const e=o()|o()<<8;t+=2,h(s+e);for(let t=0;e>t;t++)i[s++]=o()}function f(e,t){let r=p(e);for(;256!=r;){if(256>r)h(s+1),i[s++]=r;else{const e=r-257,n=ue[e]+c(de[e]),a=p(t),o=we[a]+c(pe[a]);h(s+n);const l=s-o;for(let e=0;n>e;e++)i[s++]=i[l+e]}r=p(e)}}function u(){const e=c(5)+257,t=c(5)+1,r=c(4)+4,n=new w(19);for(let e=0;r>e;e++)n[he[e]]=c(3);const i=be(n),s=new w(e+t);let a=0;for(;a<s.length;){const e=p(i);if(16>e)s[a++]=e;else if(16==e){const e=s[a-1];let t=c(2)+3;for(;t--;)s[a++]=e}else a+=17==e?c(3)+3:c(7)+11}return[be(s.subarray(0,e)),be(s.subarray(e))]}function p(e){const{i:t,symbols:r}=e;let n=0,i=0,s=0;for(let e=1;15>=e;e++){n|=c(1);const a=t[e];if(a>n-i)return r[s+(n-i)];s+=a,i=i+a<<1,n<<=1}throw d("invalid huffman code")}function h(e){if(i.length<e){let t=2*i.length;for(;e>t;)t*=2;const r=new w(t);r.set(i.subarray(0,s)),i=r}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let n=0;t>n;n+=4){const t=xe.indexOf(e[n])<<18|xe.indexOf(e[n+1])<<12|(63&xe.indexOf(e[n+2]))<<6|63&xe.indexOf(e[n+3]);r.push(t>>16&255),"="!==e[n+2]&&r.push(t>>8&255),"="!==e[n+3]&&r.push(255&t)}return new w(r)})("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"));if(e){const e=new y([r],{type:t});return u.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const r=e.length;let n=0;for(;r>n+2;n+=3){const r=e[n]<<16|e[n+1]<<8|e[n+2];t+=xe[r>>18&63]+xe[r>>12&63]+xe[r>>6&63]+xe[63&r]}const i=r-n;if(1===i){const r=e[n]<<16;t+=xe[r>>18&63]+xe[r>>12&63]+"=="}else if(2===i){const r=e[n]<<16|e[n+1]<<8;t+=xe[r>>18&63]+xe[r>>12&63]+xe[r>>6&63]+"="}return t})(r)}}),e.BlobReader=vr,e.BlobWriter=zr,e.Data64URIReader=class extends Fr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,mi:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{mi:r,dataURI:n}=this,i=new w(t),s=4*a.floor(e/3),o=atob(n.substring(s+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(s/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)i[e-c]=o.charCodeAt(e),l++;return l<i.length?i.subarray(0,l):i}},e.Data64URIWriter=class extends kr{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,i=t.pending;const s=t.pending.length;for(t.pending="",r=0;r<3*a.floor((s+e.length)/3)-s;r++)i+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);i.length>2?t.data+=v(i):t.pending=i+t.pending}getData(){return this.data+v(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=_n,e.ERR_BAD_FORMAT=jn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Kn,e.ERR_DUPLICATED_NAME=Ui,e.ERR_ENCRYPTED=Hn,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Mn,e.ERR_EOCDR_NOT_FOUND=Gn,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Xn,e.ERR_HTTP_RANGE=dr,e.ERR_INVALID_COMMENT=Ti,e.ERR_INVALID_COMPRESSED_DATA=St,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ii,e.ERR_INVALID_ENTRY_COMMENT=Li,e.ERR_INVALID_ENTRY_NAME=Di,e.ERR_INVALID_EXTRAFIELD_DATA=qi,e.ERR_INVALID_EXTRAFIELD_TYPE=Wi,e.ERR_INVALID_PASSWORD=Oe,e.ERR_INVALID_SIGNATURE=Ze,e.ERR_INVALID_UNCOMPRESSED_SIZE=zt,e.ERR_INVALID_VERSION=Ci,e.ERR_ITERATOR_COMPLETED_TOO_SOON=wr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=An,e.ERR_OVERLAPPING_ENTRY=Qn,e.ERR_SPLIT_ZIP_FILE=Jn,e.ERR_UNDEFINED_READER=Vi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Pi,e.ERR_UNSUPPORTED_COMPRESSION=Yn,e.ERR_UNSUPPORTED_ENCRYPTION=Bn,e.ERR_UNSUPPORTED_FORMAT=Zi,e.ERR_WRITER_NOT_INITIALIZED=pr,e.ERR_ZIP_NOT_EMPTY=ji,e.HttpRangeReader=class extends Zr{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Zr,e.Reader=Fr,e.SplitDataReader=Pr,e.SplitDataWriter=Vr,e.TextReader=class extends vr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends zr{constructor(e){super(e),r.assign(this,{encoding:e,yi:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,yi:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new b((i,s)=>{r.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>s(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends Fr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends kr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new w(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new w(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)}},e.Writer=kr,e.ZipReader=ni,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new z,n=new ni(t,e).getEntriesGenerator();this.readable=new S({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const i={...r,readable:(()=>{const{readable:e,writable:t}=new z;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete i.getData,e.enqueue(i)}}),this.writable=r}},e.ZipWriter=Hi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new z;this.readable=t,this.zipWriter=new Hi(r,e),this.qe=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:i}=new z({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Bi(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:i}}writable(e){let t;const{readable:r,writable:n}=new z({start(e){t=e}});return Bi(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await b.all(t.from(this.qe)),this.zipWriter.close(e,r)}},e.configure=fe,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=ms}=e;return()=>{const e=[];let r,n,i,s=0,a=!1;const o=new R({async write(i){a?await r.write(i):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=new z;n=new f(t.readable).blob(),r=t.writable.getWriter(),a=!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:o,readable:new S({async pull(t){if(a){if(!i){const e=await n;i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=ps,directoryName:r=hs,getDirectory:n=()=>T.storage.getDirectory()}=e;let i;function s(){return i||(i=b.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return()=>{const e=[];let r,n,i,a,o=0,c=!1;const l=new R({async write(a){c?await i.write(a):(e.push(a),o+=a.length,o>t&&await(async()=>{const t=await s();r=k.randomUUID(),n=await t.getFileHandle(r,{create:!0}),i=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await i.write(t);e.length=0})())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new S({async pull(t){if(c){if(!a){const e=await n.getFile();a=e.stream().getReader()}const{value:e,done:r}=await a.read();r?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=ys,directoryName:r=bs,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.bi))throw new d("createSyncAccessHandle is only available in dedicated workers");const i=n||(()=>T.storage.getDirectory());let s;function o(){return s||(s=b.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,i=0,s=!1,c=0,l=0;const f=new R({async write(a){s?(n.write(a,{at:c}),c+=a.length):(e.push(a),i+=a.length,i>t&&await(async()=>{const t=await o();r=k.randomUUID();const i=await t.getFileHandle(r,{create:!0});n=await i.bi(),s=!0;for(const t of e)n.write(t,{at:c}),c+=t.length;e.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:f,readable:new S({pull(t){if(s){const e=c-l;if(0>=e)return void t.close();const r=new w(a.min(524288,e)),i=n.read(r,{at:l});i?(l+=i,t.enqueue(r.subarray(0,i))):t.close()}else u<e.length?t.enqueue(e[u++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await o();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await b.allSettled(er.map(e=>(fr(e),e.terminate())))}});