@zip.js/zip.js 2.8.53 → 2.8.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/deno.json +2 -1
- package/dist/zip-core-external.js +737 -491
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +745 -490
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +776 -525
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +738 -510
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +776 -525
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +790 -525
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +791 -526
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +746 -491
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +746 -491
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +747 -492
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +1 -0
- package/index-native.cjs +790 -525
- package/index-native.min.js +1 -1
- package/index.cjs +791 -526
- package/index.d.cts +422 -49
- package/index.d.ts +422 -49
- package/index.min.js +1 -1
- package/lib/core/configuration.js +62 -21
- package/lib/core/constants.js +13 -1
- package/lib/core/io.js +33 -27
- package/lib/core/options.js +44 -2
- package/lib/core/streams/aes-crypto-stream.js +12 -12
- package/lib/core/util/decode-text.js +11 -2
- package/lib/core/web-worker-base.js +3 -2
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +39 -32
- package/lib/core/zip-reader.js +100 -38
- package/lib/core/zip-writer.js +301 -177
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-core-base.js +6 -1
- package/lib/zip-core-reader.js +1 -0
- package/lib/zip-core-writer.js +5 -0
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,S=2048,E=61440,g=16384,x=2048,z=1024,A="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,T="undefined",k="function",v="string",C=new Uint8Array;let I=2;try{typeof navigator!=T&&navigator.hardwareConcurrency&&(I=navigator.hardwareConcurrency)}catch{}const M={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:I,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=T&&CompressionStream,DecompressionStream:typeof DecompressionStream!=T&&DecompressionStream},N=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],j={...M};function P(){return j}function W(t){return Math.max(t.chunkSize,64)}function _(t){t=L(t);for(const e of N){const r=t[e];r!==O&&(j[e]=r)}}function L(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function B(t){t=L(t);for(const e of N){const r=t[e];r!==O&&(M[e]=r)}_(t)}function V(){for(const t of N)delete j[t];Object.assign(j,M)}function Z(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function H(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function q(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const K=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;K[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=K[e-1][t];K[e][t]=r>>>8^K[0][255&r]}const[Y,G,X,J,Q,$,tt,et]=K;class rt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=et[255&t]^tt[t>>>8&255]^$[t>>>16&255]^Q[t>>>24&255]^J[255&r]^X[r>>>8&255]^G[r>>>16&255]^Y[r>>>24&255]}}for(;r>n;n++)e=e>>>8^Y[255&(e^t[n])];this.o=e}get(){return~this.o}}class nt extends TransformStream{constructor(){let t;const e=new rt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function at(t){if(typeof TextEncoder==T){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const st={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=st.l(r);return 32===n?t.concat(e):st.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+st.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=st.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=st.l(a);return n.push(st.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ot={bytes:{A(t){const e=st.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(st.S(8*(3&r),n)),e}}},it=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=ot.v.R(t));const r=e.U=st.concat(e.U,t),n=e.T,a=e.T=n+st.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.C(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}I(){const t=this;let e=t.U;const r=t.O;e=st.concat(e,[st.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.C(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.O,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},ct={importKey:t=>new ct.j(ot.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=st;for(e=ot.bytes.R(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.W=it,n=[[],[]];e._=[new r,new r];const a=e._[0].blockSize/32;t.length>a&&(t=(new r).update(t).I());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e._[0].update(n[0]),e._[1].update(n[1]),e.L=new r(e._[0])}reset(){const t=this;t.L=new t.W(t._[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.I(),r=new t.W(t._[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},lt=typeof crypto!=T&&typeof crypto.getRandomValues==k,ut="Invalid password",dt="Invalid signature",ft=dt,wt="zipjs-abort-check-password",ht="Crypto API not supported";function pt(t){if(lt)return crypto.getRandomValues(t);throw Error(ht)}const mt=16,yt={name:"PBKDF2"},bt=Object.assign({hash:{name:"HMAC"}},yt),St=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},yt),Et=["deriveBits"],gt=[8,12,16],xt=[16,24,32],zt=10,At=[0,0,0,0],Rt=typeof crypto!=T,Ft=Rt&&crypto.subtle,Dt=Rt&&typeof Ft!=T,Ot=ot.bytes,Ut=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)d=o[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=o[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;4>t;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},Tt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=st.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return st.m(e,a)}},kt=ct.j;let vt=Rt&&Dt&&typeof Ft.importKey==k,Ct=Rt&&Dt&&typeof Ft.deriveBits==k;class It extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Nt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Pt(t,e,r,_t(n,0,gt[e])),s=_t(n,gt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ut)})(r,s,a,_t(t,0,gt[s]+2)),t=_t(t,gt[s]+2),n?e.error(Error(wt)):o()):await i;const c=new Uint8Array(t.length-zt-(t.length-zt)%mt);e.enqueue(jt(r,t,c,0,zt,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=_t(n,0,n.length-zt),i=_t(n,n.length-zt);let c=C;if(o.length){const t=Bt(Ot,o);r.update(t);const n=e.update(t);c=Lt(Ot,n)}const l=_t(Lt(Ot,r.digest()),0,zt);let u=n.length<zt?1:0;for(let t=0;zt>t;t++)u|=l[t]^i[t];if(u&&a)throw Error(ft);t.enqueue(c)}}})}}class Mt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Nt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=pt(new Uint8Array(gt[e]));return Z(n,await Pt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%mt);c.set(i,0),e.enqueue(jt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=C;if(n.length){const t=e.update(Bt(Ot,n));r.update(t),s=Lt(Ot,t)}const o=Lt(Ot,r.digest()).slice(0,zt);t.enqueue(Z(s,o))}}})}}function Nt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Wt(e,r),strength:n-1,pending:C})}function jt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=Z(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%mt)),u=0;l-mt>=u;u+=mt){const t=Bt(Ot,_t(e,u,u+mt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Lt(Ot,a),u+n)}return t.pending=_t(e,u),r}async function Pt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!vt)return ct.importKey(e);try{return await Ft.importKey("raw",e,r,!1,a)}catch{return vt=!1,ct.importKey(e)}})(0,r,bt,0,Et),s=await(async(t,e,r)=>{if(!Ct)return ct.P(e,t.salt,St.iterations,r);try{return await Ft.deriveBits(t,e,r)}catch{return Ct=!1,ct.P(e,t.salt,St.iterations,r)}})(Object.assign({salt:n},St),a,8*(2*xt[e]+2)),o=new Uint8Array(s),i=Bt(Ot,_t(o,0,xt[e])),c=Bt(Ot,_t(o,xt[e],2*xt[e])),l=_t(o,2*xt[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Tt(new Ut(i),Array.from(At)),st:new kt(c)}),l}function Wt(t,e){return e===O?at(t):e}function _t(t,e,r){return t.subarray(e,r)}function Lt(t,e){return t.A(e)}function Bt(t,e){return t.R(e)}class Vt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Ht(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ut);t=t.subarray(12)}n?e.error(Error(wt)):e.enqueue(qt(r,t))}})}}class Zt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Ht(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=pt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Kt(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Kt(r,t),a),e.enqueue(n)}})}}function Ht(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new rt(n[0]),ct:new rt(n[2])}),r)for(let e=0;e<r.length;e++)Yt(t,r[e]);else for(let r=0;r<e.length;r++)Yt(t,e.charCodeAt(r))})(t,e,r)}function qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Gt(t)^e[n],Yt(t,r[n]);return r}function Kt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Gt(t)^e[n],Yt(t,e[n]);return r}function Yt(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=Jt(Math.imul(Jt(r+Xt(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function Gt(t){const e=2|t.keys[2];return Xt(Math.imul(e,1^e)>>>8)}function Xt(t){return 255&t}function Jt(t){return 4294967295&t}function Qt(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function $t(t,e){t=Qt(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=k||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function te(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ee="Invalid codec definition",re="Reserved compression method",ne="Invalid codec module",ae=[0,8,9,99],se=new Map,oe=new Map;function ie(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=v||!n.length)throw Error(ee);if(ae.includes(r))throw Error(re);const c=typeof s==k||typeof o==k;if(!(c||typeof a==v&&a.length))throw Error(ee);se.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&de(n,{CompressionStream:s,DecompressionStream:o})}function ce(t){const e=se.get(t);if(e){let r;se.delete(t),se.forEach(t=>r=r||t.format==e.format),r||oe.delete(e.format)}}function le(t){return se.get(t)}function ue(t){return oe.get(t)}function de(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=k&&typeof n!=k)throw Error(ne);oe.set(t,{CompressionStream:r,DecompressionStream:n})}const fe="Invalid uncompressed size",we="Invalid compressed data",he=dt,pe="deflate-raw",me="gzip",ye=[31,139,8];class be extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&ue(d),S=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(h=new nt,y=De(y,h)),a)if(b)y=Oe(y,Re(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(S)m=new Se,y=Oe(y,new n(me)),y=De(y,m);else try{y=Fe(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(me)}catch{throw t}y=Oe(y,e),y=De(y,new Se)}s&&(i?y=De(y,new Zt(t)):(p=new Mt(t),y=De(y,p))),Ae(w,y,()=>{s&&!i||!c||(w.crc32=S?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Se extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(8>=a)return void(r=Z(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(Z(r.subarray(0,o),t.subarray(0,s-o))),r=Z(r.subarray(o),t.subarray(s-o))},flush(){const e=q(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ee extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=De(y,new Vt(t)):(m=new It(t),y=De(y,m))),c){const t=d&&ue(d);if(t)y=Oe(y,Re(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=Fe(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(me)}catch{throw t}y=((t,e,r)=>{const n=new rt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=q(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=De(t,u),De(t=Oe(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(fe)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(we);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new nt,y=De(y,p)),Ae(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(he)}})}}const ge=new Map;function xe(t,e){if(!t)return!1;let r=ge.get(t);r||(r=new Map,ge.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function ze(t){return xe(t,pe)}function Ae(t,e,r){e=De(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Re(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function Fe(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":pe;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return Oe(t,i)}function De(t,e){return Qt(t).pipeThrough(e)}function Oe(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const Ue="data",Te="deflate",ke="inflate";class ve extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Te)?a=be:n.startsWith(ke)&&(a=Ee),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(fe)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class Ce extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const Ie="Worker startup timeout";let Me,Ne,je,Pe=()=>{};async function We(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.lt)return!0;if(ze(e)||xe(e,me))return!0;if(r)try{return await Pe(t),!0}catch{return!1}return!1}function _e(t){t.createWorker?Ne=!0:Me=!1}class Le{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return Ne&&(l=O),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Ce(W(a))).pipeThrough(new Be(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.bt=null):e()}),St(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.Et=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),Me===O&&(Me=typeof Worker!=T),(o&&je&&(Me&&c||l)?je:Ze)(t,a)}}class Be extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Ve(t,r)},async transform(t,n){a+=t.length,e&&await Ve(e,a,r),n.enqueue(t)},async flush(){n&&await Ve(n,a)}})}}async function Ve(t,...e){try{await t(...e)}catch{}}function Ze(t,e){return{run:()=>He(t,e)}}async function He({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Te),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.lt&&!ze(n))try{await Pe(a)}catch{}}else try{await Pe(a)}catch{r&&!r.lt||(t.useCompressionStream=!0)}}s=new ve(t,a),await e.pipeThrough(s).pipeThrough(new Ce(W(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const qe={type:"module"},Ke="error";let Ye,Ge,Xe,Je=!0;try{Je=typeof structuredClone==k&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var Qe;function $e(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function tr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function er(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Ge===O||Ye!==t){const s=typeof t==k;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=qe);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return er(t,e,r,n,!1);if(n)throw a;return er(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=qe);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return er(t,e,r,!1,a);throw s}}Ye=t,Ge=i,Xe=c}else o=new Worker(Ge,Xe);return o.addEventListener("message",t=>{r.gt=!0,rr(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,zt:u,St:d,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||ar({type:Ue,value:t,done:r,messageId:a},e)}r==Ue&&(await c.ready,await c.write(new Uint8Array(n)),w()||ar({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(o){w()||(tr(e),h(o))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Ke,t=>nr(t,r)),o.addEventListener("messageerror",t=>nr(t,r)),o}function rr(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function nr(t,e){t.preventDefault&&t.preventDefault(),rr(e);const{gt:r,zt:n,writer:a,St:s}=e;tr(e),r||(e.ht=null);let o=t.error||Error(t.message||Ke);r||(o=Object.assign(Error(o.message||Ke),{Rt:!0}),e.Ft=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function ar(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=H(r),i.push(t.value.buffer)),n&&Je&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Qe=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==k&&(s=s());try{o=er(t.workerURI,r,t)}catch{return _e(t),Ze(t,e)}Object.assign(t,{ht:o,gt:!1,Et:!1,Ft:null,bt:{run:async()=>{try{return await(async(t,e)=>{if(!t.ht){const{Ft:e}=t;t.Ft=null;const r=e||Error(Ie);throw r.Rt=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Dt:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Dt:()=>e.abort()}})(t.writable);let u;try{u=ar({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;t.gt||!Number.isFinite(d)||0>d||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.gt)return;const{zt:e,writer:r}=t;if(tr(t),t.ht=null,e){const t=Error(Ie);t.Rt=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Rt)return _e(t),$e(t),He(t,e);if(r&&r.codecImportFailed){if(t.reader)return $e(t),He(t,e);t.St()}throw r}}}})}return t.bt},je=Qe;let sr=[];const or=[];let ir,cr,lr=0;async function ur(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!oe.has(t)&&e&&de(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=o||o===O&&n.useCompressionStream,(await(async()=>{const r=sr.find(t=>!t.ft);if(r)return pr(r),new Le(r,t,e,b);if(sr.length<p){const r={Ot:lr};return lr++,sr.push(r),new Le(r,t,e,b)}return new Promise(r=>{or.push({resolve:r,stream:t,Ut:e}),cr=n.workerStarvationTimeout,dr()})})()).run();function b(t){if(fr(),or.length){const[{resolve:e,stream:r,Ut:n}]=or.splice(0,1);e(new Le(t,r,n,b)),dr()}else t.ht?(pr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.Tt=setTimeout(async()=>{sr=sr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):sr=sr.filter(e=>e!=t)}}function dr(){!ir&&or.length&&Number.isFinite(cr)&&cr>=0&&(ir=setTimeout(wr,cr))}function fr(){ir&&(clearTimeout(ir),ir=null)}function wr(){if(ir=null,or.length){const[{resolve:t,stream:e,Ut:r}]=or.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new Le({},e,n,hr)),dr()}}function hr(){fr(),dr()}function pr(t){const{Tt:e}=t;e&&(clearTimeout(e),t.Tt=null)}const mr="HTTP error ",yr="HTTP Range not supported",br="HTTP resource changed",Sr="Writer iterator completed too soon",Er="Writer not initialized",gr="Content-Range",xr="Range",zr="GET",Ar="bytes",Rr=16777216,Fr="writable",Dr=Symbol();class Or{constructor(){this.size=0}init(){this.initialized=!0}}class Ur extends Or{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=W(P())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===O?r:Math.min(r,e-a),i=await pn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||e===O&&!i.length&&o?s.close():a+=r}})}}class Tr extends Or{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(Er);return t.writeUint8Array(H(e))}});Object.defineProperty(t,Fr,{get:()=>e})}writeUint8Array(){}}class kr extends Ur{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,kt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{kt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class vr extends Tr{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let Cr,Ir;class Mr extends Ur{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Ir||(Ir=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Cr=1==e}catch{Cr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?Cr?Qt(e.slice(n,n+a).stream()):super.createReadable(t):Qt(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Nr extends Or{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,Fr,{get:()=>r.writable}),e.contentType=t,e.blob=$t(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class jr extends Mr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function Pr(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);128>n?e+=1:2048>n?e+=2:55296>n||n>=57344?e+=3:56320>n&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class Wr extends Nr{constructor(t){super(t),Object.assign(this,{encoding:t,vt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,vt:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class _r extends Ur{constructor(t,e){super(),Br(this,t,e)}async init(){await Vr(this,en,Jr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(yr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=O,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await en(zr,t,Gr(t,a,e));if(206!=r.status)throw Error(yr);const i=r.headers.get(gr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(yr)}Yr(t,r),Kr(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Zr(this,t,e,en,Jr)}}class Lr extends Ur{constructor(t,e){super(),Br(this,t,e)}async init(){await Vr(this,rn,Qr),super.init()}readUint8Array(t,e){return Zr(this,t,e,rn,Qr)}}function Br(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=Rr,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Vr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=P(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==T||a)){const n=await e(zr,t,Gr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==Ar))throw Error(yr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Ct=e)}Kr(t,n);const a=Hr(n);a===O?await tn(t,e,r):t.size=a}}else await tn(t,e,r)}async function Zr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Ct:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(zr,t,Gr(t,e,r));if(206!=a.status)throw Error(yr);const s=a.headers.get(gr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(yr)}Yr(t,a),Kr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(yr);return o}return C}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Hr(t){const e=t.headers.get(gr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function qr({headers:t}){return{It:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function Kr(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=qr(e))}function Yr(t,e){const{checkResourceChanges:r,Mt:n,size:a}=t;if(r){const t=Hr(e);if(t!==O&&a!==O&&t!=a)throw Error(br);if(n){const t=qr(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(br)}}}function Gr(t,e=0,r=1){return Object.assign({},Xr(t),{[xr]:Ar+"="+(0>e?e:e+"-"+(e+r-1))})}function Xr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Jr(t){await $r(t,en)}async function Qr(t){await $r(t,rn)}async function $r(t,e){const r=await e(zr,t,Xr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function tn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Xr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function en(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(yr):Error(mr+(s.statusText||s.status))}function rn(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(yr):Error(mr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class nn extends Ur{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Lr(t,e):new _r(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class an extends nn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class sn extends Ur{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class on extends Tr{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class cn extends Ur{constructor(t){super(),this.Nt=t}async init(){const t=this;t.jt=0;const e=t.Nt=await Promise.all(t.Nt.map(hn));t.Pt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Wt(t){const{Pt:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Nt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=Z(await pn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await pn(i,o,e)}else a=C;return r.jt=Math.max(s,r.jt),a}}class ln extends Or{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===Dr)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(Sr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await wn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,Fr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Dr)}finally{t.releaseLock()}}}class un{constructor(t){return Array.isArray(t)&&(t=new cn(t)),(t instanceof ReadableStream||typeof t.getReader==k)&&(t={readable:Qt(t)}),t}}class dn{constructor(t){return t.writable===O&&typeof t.next==k&&(t=new ln(t)),(t instanceof WritableStream||typeof t.getWriter==k)&&(t={writable:te(t)}),t.size===O&&(t.size=0),t}}function fn(t){return!(!t||!t.getData)}async function wn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function hn(t){return t=new un(t),await wn(t),t.size!==O&&t.readUint8Array||(t=new Mr(await $t(t.readable)),await wn(t)),t}function pn(t,e,r){return t.readUint8Array(e,r)}const mn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function yn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=mn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const bn="filename",Sn="rawFilename",En="comment",gn="rawComment",xn="uncompressedSize",zn="compressedSize",An="offset",Rn="diskNumberStart",Fn="lastModDate",Dn="rawLastModDate",On="lastAccessDate",Un="rawLastAccessDate",Tn="creationDate",kn="rawCreationDate",vn="internalFileAttributes",Cn="externalFileAttributes",In="internalFileAttribute",Mn="externalFileAttribute",Nn="msdosAttributesRaw",jn="msdosAttributes",Pn="msDosCompatible",Wn="zip64",_n="encrypted",Ln="version",Bn="versionMadeBy",Vn="zipCrypto",Zn="directory",Hn="executable",qn="compressionMethod",Kn="signature",Yn="extraField",Gn="unixMode",Xn="setuid",Jn="setgid",Qn="sticky",$n=[bn,Sn,xn,zn,Fn,Dn,En,gn,On,Un,Tn,kn,An,Rn,vn,Cn,In,Mn,Nn,jn,Pn,Wn,_n,Ln,Bn,Vn,Zn,Hn,"symlink",qn,Kn,"crc32",Yn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Gn,"unixExternalUpper",Xn,Jn,Qn,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ta{constructor(t){$n.forEach(e=>this[e]=t[e])}}const ea="password",ra="rawPassword",na="passThrough",aa="signal",sa="useWebWorkers",oa="useCompressionStream",ia="transferStreams",ca="preventClose",la="offset",ua="usdz",da="signCentralDirectory",fa="filename",wa="comment",ha="strict",pa="balanced",ma="tolerant",ya="File format is not recognized",ba="End of central directory not found",Sa="End of Zip64 central directory locator not found",Ea="Central directory header not found",ga="Local file header not found",xa="Zip64 extra field not found",za="File contains encrypted entry",Aa="Encryption method not supported",Ra="Compression method not supported",Fa="Split zip file",Da="Overlapping entry found",Oa="Ambiguous archive",Ua="Encrypted central directory is not supported",Ta="Unsafe filename",ka="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",va="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ca="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ia=/^[a-zA-Z]:/,Ma="utf-8",Na="cp437",ja=[[xn,t],[zn,t],[An,t],[Rn,e]],Pa={[e]:{_t:ds,bytes:4},[t]:{_t:fs,bytes:8}};class Wa{constructor(t,e={}){Object.assign(this,{reader:new un(t),options:e,config:P(),Lt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:h}=s;if(await wn(c),c.size!==O&&c.readUint8Array||(c=new Mr(await $t(c.readable)),await wn(c)),c.size<d)throw Error(ya);const p=Qa(n,s.options),m=p==ha,y=p!=ma,b=((t,r)=>{if(t!==O){const e=typeof(n=t)==v&&n.trim()?Number(n):n;if("number"!=typeof e||Number.isNaN(e)||0>e)throw Error(Ca);return e}var n;return r==ha?0:r==ma?1/0:e})(os(s,n,"maxAppendedDataSize"),p),S=((t,e)=>{if(t===O)return e;if(!Ja(t))throw Error(va);return t})(os(s,n,"filenameValidation"),p),R=os(s,n,"normalizeFilename"),{Bt:F,Vt:D}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of es(t,a)){const a=us(r,f+20);if(w+d+a==n){const a=await ns(t,r,l,f,w,n,s);if(2==a){if(o||(o=rs(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=rs(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of es(t,a)){const a=rs(c,l,u);s||(s=a);const d=await ns(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Bt:o,Vt:c}})(c,y,b);if(!F)throw ds(q(await pn(c,0,4)))==a?Error(Fa):Error(ba);y&&D>1&&ss("multiple end of central directory records");const U=q(F);let T=ds(U,12),k=ds(U,16);const I=F.offset,M=us(U,20),N=I+d+M;c.size-N>b&&ss("appended data");let j=us(U,4);const P=c.jt||0;let W,_,L,B,V=us(U,6),Z=us(U,10),H=0;const K=k==t||T==t||Z==e||V==e;if(k!=t&&V!=e&&(k+=Xa(c,V)),K){const r=F.offset<f?C:await pn(c,F.offset-f,f),n=q(r);if(r.length==f&&ds(n,0)==u){k=Xa(c,ds(n,4))+fs(n,8);let r=await pn(c,k,w),a=q(r);const s=F.offset-f-w;if((r.length<w||ds(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(H=k-t),r=await pn(c,k,w),a=q(r)}if(r.length<w||ds(a,0)!=l)throw Error(Sa);if(_=!0,L=fs(a,4)>44,L){const t=Math.min(Number(fs(a,4))-44,c.size-k-w);t>0&&(B=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=q(t),n=us(r,26);Object.assign(e,{compressionMethod:us(r,0),compressedSize:Number(fs(r,2)),uncompressedSize:Number(fs(r,10)),encryptionAlgorithm:us(r,18),bitLength:us(r,20),flags:us(r,22),hashAlgorithm:us(r,24),hashData:t.subarray(28,28+n)})}return e})(await pn(c,k+w,t)))}j==e?j=ds(a,16):m&&j!=ds(a,16)&&ss("mismatched zip64 end of central directory record"),V==e?V=ds(a,20):m&&V!=ds(a,20)&&ss("mismatched zip64 end of central directory record"),Z==e?Z=fs(a,32):m&&Z!=fs(a,32)&&ss("mismatched zip64 end of central directory record"),T==t?T=fs(a,40):m&&T!=fs(a,40)&&ss("mismatched zip64 end of central directory record"),k=Xa(c,V)+fs(a,48)+H}}let Y=T;const G=F.offset-(_?76:0);if(k<c.size||(H=c.size-k-T-d,k=c.size-T-d),P!=j)throw Error(Fa);if(0>k)throw Error(ya);let X=0,J=await pn(c,k,T),Q=q(J);if(T){if(4>J.length)throw Error(ya);const t=G-T;if(k!=t&&V==j){let e=!(ds(Q,X)==i);if(e||0>t||t+4>c.size||(e=ds(q(await pn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(H+=k-e),J=await pn(c,k,T),Q=q(J)}}}const $=G-k;if(T==$||0>$||V!=j||(T=$,J=await pn(c,k,T),Q=q(J)),0>k||k>=c.size)throw Error(ya);s.directoryOffset=k,s.directoryLength=Y;const tt=os(s,n,"decryptCentralDirectory");let et;tt&&Z&&J.length>=4&&ds(Q,0)!=i&&(L||Ba(Q))&&(J=await tt(J,B),Q=q(J),Y=J.length,et=!0),W=k;const rt=os(s,n,"filenameEncoding"),nt=os(s,n,"commentEncoding"),at=m?new Set:O;let st;for(let t=0;Z>t;t++){const a=new La(c,h,s.options);if(X+46>J.length||ds(Q,X)!=i){if(0==t&&!et&&(L||Ba(Q)))throw Error(Ua);throw Error(Ea)}Va(a,Q,X+6);const o=!!a.bitFlag.languageEncodingFlag,l=X+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=us(Q,X+4),w=!(f>>8),p=f>>8==3,y=J.subarray(l,u),b=us(Q,X+32),F=d+b,D=J.subarray(d,F),U=o,T=o,k=ds(Q,X+38),v=k&r,C={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},I=ds(Q,X+42),M=os(s,n,"decodeText")||yn,N=U?Ma:rt||Na,j=T?Ma:nt||Na;let P=M(y,N,fa);if(P===O&&(P=yn(y,N)),R){const t=R(P);t!==O&&(P=t)}if(ts(P,S)){const t=Error(Ta);throw t.filename=P,t}let _=M(D,j,wa);_===O&&(_=yn(D,j)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Zt:b,offset:I,diskNumberStart:us(Q,X+34),internalFileAttributes:us(Q,X+36),externalFileAttributes:k,msdosAttributesRaw:v,msdosAttributes:C,rawFilename:y,filenameUTF8:U,commentUTF8:T,rawExtraField:J.subarray(u,d),rawComment:D,filename:P,comment:_}),Za(a,a,Q,X+6),a.offset+=H,W=Math.min(Xa(c,a.diskNumberStart)+a.offset,W),m&&(at.has(a.filename)&&(st=!0),at.add(a.filename));const B=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&B&&(a.unixMode=B);const V=!!(a.unixMode&x),q=!!(a.unixMode&z),K=!!(512&a.unixMode),Y=40960==((a.unixMode===O?B:a.unixMode)&E),G=!Y&&(a.unixMode!==O?!!(73&a.unixMode):p&&!!(73&B)),$=a.unixMode!==O&&(a.unixMode&E)==g,tt=(B&E)==g;Object.assign(a,{setuid:V,setgid:q,sticky:K,symlink:Y,unixExternalUpper:B,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:$||tt||w&&C.directory||a.filename.endsWith(A)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const ot=new ta(a);ot.getData=(t,e)=>a.getData(t,ot,s.Lt,e),ot.arrayBuffer=async t=>{const e=new TransformStream,r=$t(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,ot,s.Lt,t),r},X=F;const{onprogress:it}=n;if(it)try{await it(t+1,Z,new ta(a))}catch{}yield ot}let ot=X;if(X+6<=J.length&&ds(Q,X)==o){const t=us(Q,X+4);X+6+t>J.length||(s.digitalSignature=J.subarray(X+6,X+6+t),ot=X+6+t)}m&&X!=Y&&ot!=Y&&ss("trailing central directory data"),st&&ss("duplicate filename"),m&&(H||Z&&W>0)&&ss("prepended data");const it=os(s,n,"extractPrependedData"),ct=os(s,n,"extractAppendedData");return it&&(s.prependedData=W>0?await pn(c,0,W):C),s.comment=M?await pn(c,I+d,M):C,ct&&(s.appendedData=N<c.size?await pn(c,N,c.size-N):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class _a{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new Wa(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let La=class{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:u,diskNumberStart:d,extraFieldAES:f,extraFieldZip64:w,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=i,{dataDescriptor:x}=m,z=e.localDirectory={},A=Xa(c,d)+u,F=await pn(c,A,R),D=q(F);let U=os(i,o,ea),T=os(i,o,ra);const k=os(i,o,na);if(U=U&&U.length&&U,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw Error(Ra);if(F.length<R||ds(D,0)!=n)throw Error(ga);Va(z,D,4);const{extraFieldLength:v,filenameLength:I}=z,M=os(i,o,"checkLocalDirectory"),N=Qa(o,i.options),j=((t,e)=>t===O?e!=ma:!!t)(M,N),P=((t,e)=>t===O?e==ha:!!t)(M,N);let W=C;if(P&&(I||v)){const t=await pn(c,A+R,I+v);W=t.subarray(0,I),z.rawExtraField=t.subarray(I)}else z.rawExtraField=v?await pn(c,A+R+I,v):C;P&&(z.rawFilename=W),Za(i,z,D,4,!0),j&&((t,e,r,n)=>{const{rawFilename:a}=t;n&&(r.length!=a.length||r.some((t,e)=>t!=a[e]))&&ss("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&ss("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&ss("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||ss("mismatched local file header (crc32 or sizes)")})(i,z,W,P);const{lastAccessDate:_,creationDate:L,uid:B,gid:V}=z;_&&(e.lastAccessDate=_),L&&(e.creationDate=L),B!==O&&e.uid===O&&(e.uid=B),V!==O&&e.gid===O&&(e.gid=V);const Z=i.encrypted&&z.encrypted&&!k,H=Z&&!f;if(k||(e.zipCrypto=H),Z&&!(64&~z.rawBitFlag))throw Error(Aa);const K=k?O:le(h);if(0!=h&&8!=h&&9!=h&&!K&&!k)throw Error(Ra);if(Z){if(!H&&(1>f.strength||f.strength>3))throw Error(Aa);if(!U&&!T)throw Error(za)}const Y=A+R+I+v,G=g,X=Qt(c.createReadable({offset:Y,size:G})),J=os(i,o,aa),Q=os(i,o,"checkPasswordOnly");let $=os(i,o,"checkOverlappingEntry");const tt=os(i,o,"checkOverlappingEntryOnly");tt&&($=!0);const{onstart:et,onprogress:rt,onend:nt}=o,at=9==h;let st=os(i,o,oa);at&&(st=!1);const ot=os(i,o,"checkCrc32"),it=(ot===O?os(i,o,"checkSignature"):ot)&&!k&&(!Z||H||f&&1==f.vendorVersion),ct={options:{codecType:ke,password:U,rawPassword:T,zipCrypto:H,encryptionStrength:f&&f.strength,checkCrc32:it,checkAuthenticationCode:os(i,o,"checkAuthenticationCode"),passwordVerification:H&&(x?S>>>8&r:b>>>24&r),outputSize:k?g:E,crc32:b,compressed:0!=h&&!k,encrypted:Z,useWebWorkers:os(i,o,sa),useCompressionStream:st,transferStreams:os(i,o,ia),deflate64:at,format:K?K.format:O,codecURI:K?K.codecURI:O,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:Q},config:p,ut:{signal:J,size:G,onstart:et,onprogress:rt,onend:nt}};let lt,ut;$&&await(async({reader:t,Ht:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,qt:c,dataDescriptor:l,extraFieldZip64:u,Lt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await pn(t,c+o,f+4),n=q(r);let l=r.length==f+4&&ds(n,0)==s;if(l){const t=Ga(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=Ga(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,Ht:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Da);throw t.Kt=e.Ht,t}d.set(r,w)})({reader:c,Ht:e,index:l,offset:A,crc32:b,compressedSize:g,uncompressedSize:E,qt:Y,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:w||z.extraFieldZip64,Lt:a});try{if(!tt){Q&&(t=new WritableStream),t=new dn(t),await wn(t,k?g:E),({writable:lt}=t);const{outputSize:e}=await ur({readable:X,writable:lt},ct);if(t.size+=e,e!=(k?g:E))throw Error(fe)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!Q||e.message!=wt)throw ut=e,e}finally{if((fn(t)||!os(i,o,ca))&<&&!lt.locked){const t=lt.getWriter();if(ut)try{await t.abort(ut)}catch{}else await t.close()}}return Q||tt?O:t.getData?t.getData():lt}};function Ba(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==ds(t,r))return!0;return!1}function Va(t,e,r){const n=t.rawBitFlag=us(e,r+2),a=!(1&~n),s=ds(e,r+6);Object.assign(t,{encrypted:a,version:us(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:s,lastModDate:is(s),filenameLength:us(e,r+22),extraFieldLength:us(e,r+24)})}function Za(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=q(s);let c=0;try{for(;c<s.length;){const t=us(i,c),e=us(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=us(r,n+4);Object.assign(e,{signature:ds(r,n+10),crc32:ds(r,n+10),compressedSize:ds(r,n+14),uncompressedSize:ds(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=q(t.data),n=ja.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+Pa[e].bytes,0);if(t.data.length<a)throw Error(xa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=Pa[i];e[o]=t[o]=c._t(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(Ha(d,bn,Sn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(Ha(f,En,gn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=q(t.data),a=ls(n,4);Object.assign(t,{vendorVersion:ls(n,0),vendorId:ls(n,2),strength:a,originalCompressionMethod:r,compressionMethod:us(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const S=o.get(13);S&&(qa(S,e),e.extraFieldPkwareUnix=S);const E=o.get(22613);E&&(qa(E,e),e.extraFieldUnixType1=E);const g=o.get(10);g&&(((t,e)=>{const r=q(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=us(r,a),s=us(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=q(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:cs(a),lastAccessDate:cs(s),creationDate:cs(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);let z;if(x&&(z=Ka(x,e,!1),e.extraFieldUnix=x),!z){const t=o.get(y);t&&(Ka(t,e,!0),e.extraFieldInfoZip=t)}const A=o.get(p);A&&(((t,e,r)=>{if(!t.data.length)return;const n=q(t.data),a=ls(n,0),s=[],o=[];r?(1&~a||(s.push(Fn),o.push(Dn)),2&~a||(s.push(On),o.push(Un)),4&~a||(s.push(Tn),o.push(kn))):5>t.data.length||(s.push(Fn),o.push(Dn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=ds(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(A,e,a),e.extraFieldExtendedTimestamp=A);const R=o.get(m);R&&(e.extraFieldUSDZ=R)}function Ha(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=q(t.data),o=new rt;o.append(a[r]);const i=q(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=ds(s,1);Object.assign(t,{version:ls(s,0),[e]:yn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==ds(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function qa(t,e){if(8>t.data.length)return;const r=q(t.data),n={lastAccessDate:new Date(1e3*(0|ds(r,0))),lastModDate:new Date(1e3*(0|ds(r,4)))};12>t.data.length||(n.uid=us(r,8),n.gid=us(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ka(t,e,r){try{const n=q(t.data);let a,s;if(r){let e=0;const r=ls(n,e++),o=ls(n,e++);a=Ya(t.data.subarray(e,e+o)),e+=o;const i=ls(n,e++);s=Ya(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=us(n,0),s=us(n,2),Object.assign(t,{uid:a,gid:s}));return a!==O&&(e.uid=a),s!==O&&(e.gid=s),a!==O||s!==O}catch{}}function Ya(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ga(t,e,r){const n=ds(t,e);let a,s;return r?(a=fs(t,e+4),s=fs(t,e+12)):(a=ds(t,e+4),s=ds(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function Xa(t,e){return t.Wt?t.Wt(e):0}function Ja(t){return t===ha||t===pa||t===ma}function Qa(t,e){return $a(t,$a(e,pa))}function $a(t,e){const r=t.strictness;if(r!==O){if(!Ja(r))throw Error(ka);return r}const n=t.checkAmbiguity;return n===O?e:n?ha:e==ma?ma:pa}function ts(t,e){if(e==ma)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ia.test(t))||e==ha&&(r.includes(".")||r.includes(""))}async function*es(t,e){const r=t.size-e,n=await pn(t,r,e),a=q(n);for(let t=n.length-d;t>=0;t--)ds(a,t)==c&&(yield[a,r,n,t,r+t])}function rs(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function ns(r,n,a,s,o,c,l){const d=us(n,s+10),w=ds(n,s+12),h=ds(n,s+16);if(d==e||w==t||h==t)return await as(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=us(n,s+6);for(const t of[o-w,Xa(r,p)+h])if(await as(r,n,a,t,c,l)==i)return 2;return 0}async function as(t,e,r,n,a,s){return 0>n||n+4>a?O:r>n?s.count>0?(s.count--,ds(q(await pn(t,n,4)),0)):O:ds(e,n-r)}function ss(t){const e=Error(Oa);throw e.reason=t,e}function os(t,e,r){return e[r]===O?t.options[r]:e[r]}function is(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function cs(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function ls(t,e){return t.getUint8(e)}function us(t,e){return t.getUint16(e,!0)}function ds(t,e){return t.getUint32(e,!0)}function fs(t,e){return Number(t.getBigUint64(e,!0))}var ws=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Oa,ERR_BAD_FORMAT:ya,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ea,ERR_ENCRYPTED:za,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ua,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Sa,ERR_EOCDR_NOT_FOUND:ba,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:xa,ERR_INVALID_AUTHENTICATION_CODE:ft,ERR_INVALID_COMPRESSED_DATA:we,ERR_INVALID_CRC32:he,ERR_INVALID_FILENAME_VALIDATION:va,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ca,ERR_INVALID_PASSWORD:ut,ERR_INVALID_SIGNATURE:dt,ERR_INVALID_STRICTNESS:ka,ERR_INVALID_UNCOMPRESSED_SIZE:fe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ga,ERR_OVERLAPPING_ENTRY:Da,ERR_SPLIT_ZIP_FILE:Fa,ERR_UNSAFE_FILENAME:Ta,ERR_UNSUPPORTED_COMPRESSION:Ra,ERR_UNSUPPORTED_ENCRYPTION:Aa,ERR_WORKER_STARTUP_TIMEOUT:Ie,ZipReader:Wa,ZipReaderStream:_a});const hs="File already exists",ps="Zip file comment exceeds 64KB",ms="Invalid zip file comment (must be a Uint8Array)",ys="File entry comment exceeds 64KB",bs="File entry name exceeds 64KB",Ss="Version exceeds 65535",Es="The strength must equal 1, 2, or 3",gs="Encryption is not supported in USDZ files",xs="Encryption is not supported when the 'passThrough' option is set",zs="Extra field type exceeds 65535",As="Extra field data exceeds 64KB",Rs=-2147483648,Fs=2147483647,Ds=BigInt(0),Os=BigInt("0x7fffffffffffffff"),Us="Zip64 is not supported (set the 'zip64' option to 'true')",Ts="Undefined uncompressed size",ks="Undetermined size",vs="Undefined reader",Cs="Zip file not empty",Is="Invalid uid (must be integer 0..2^32-1)",Ms="Invalid gid (must be integer 0..2^32-1)",Ns="Invalid UNIX mode (must be integer 0..65535)",js="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ps="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ws="Invalid msdosAttributesRaw (must be integer 0..255)",_s="Invalid msdosAttributes (must be an object with boolean flags)",Ls="Invalid level (must be integer 0..9)",Bs="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Vs="Signature data exceeds 64KB",Zs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Hs="infozip",qs="unix";let Ks=0;const Ys=[];class Gs{constructor(t,e={}){t=new dn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,Yt:r>0&&r!==U&&n>0&&n!==U,options:e,config:P(),files:new Map,Gt:new Set,offset:e[la]===O?t.size||t.writable.size||0:e[la],Xt:e[la]===O?0:e[la]-(t.size||t.writable.size||0),Jt:new Set,Qt:0,$t:O})}async prependZip(e){if(this.Gt.size)throw Error(Cs);e=new un(e),await wn(e),e.size!==O&&e.readUint8Array||(e=new Mr(await $t(e.readable)),await wn(e));const{ZipReader:r}=await Promise.resolve().then(()=>ws),n=new r(e.readable),a=await n.getEntries();await n.close(),await wn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Gt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:d}=e;let{compressionMethod:f,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||C,h=h||C,p=p||C,m=m||C,y=y||C,b=b||C,e.extraFieldAES&&(f=99);const x=Oo(w,h,p,m,y,b),z=d&&l>=t,A=d&&u>=t,R=-7&To(S,E,g,c,f)|S<<1,{se:F,oe:D}=Uo({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:n,rawFilename:o,ie:A,ce:z,extraFieldLength:x}),{crc32:U}=e;return U!==O&&Ro(D,10,U),Object.assign(e,{ce:z,ie:A,le:d&&e.offset>=t,diskNumberStart:0,ue:!1,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,de:1+(a?2:0)+(s?4:0),se:F,oe:D}),[e.filename,e]}))}async add(e="",n,s={}){const o=this;s=Object.assign({},s);const{Jt:i,config:c}=o;let l,u;Ks<c.maxWorkers?Ks++:await new Promise(t=>Ys.push(t));try{if(e=e.trim(),bo(o,s,Zn)&&!e.endsWith(A)&&(e+=A),o.Gt.has(e))throw Error(hs);return o.Gt.add(e),u=!0,l=(async(e,n,s,o)=>{const i=Qs(e,n,o);({name:n}=i);const c=$s(e,n,o),{comment:l}=c,u=o[Yn];let d;e.files.set(n,O);try{const{fe:l}=c;0==l.level||l.compressionMethod!==O||l.passThrough||await We(e.config)||(l.level=0);const u=await(async(t,e,{fe:r},n)=>{if(r.passThrough&&!e&&!bo(t,n,Zn))throw Error(vs);let a;return e&&(e=new un(e),await wn(e),({size:a}=e)),Object.assign({reader:e},eo(t,!!e,a,r,n))})(e,s,c,o);({reader:s}=u);const f=lo(e.writer),w=co(e.writer),h=ro(o=Object.assign({},o,i.fe,c.fe,u.fe,{signature:o[Kn],crc32:o.crc32===O?o[Kn]:o.crc32,offset:e.offset-f,diskNumberStart:w})),p=so(o),m=Oo(h.we,p.he);d=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:d,signal:f}=i,{pe:w}=o,h=e.options[ua],p=e.$t;let m,y,b,S,E,g,x,z={},A=0;c.set(n,z),e.$t=z;try{let y;u&&(y=p&&p.lock,z.lock=new Promise(t=>b=t)),i.bufferedWrite||!u||e.me||e.Qt||!d?(m=!0,e.Qt++,x=i.createTempStream?await i.createTempStream():new TransformStream(O,O,{highWaterMark:U}),x.size=0,await wn(l)):(x=l,await F()),await wn(x);const T=lo(l);if(e.Yt){delete e.Yt;const t=new Uint8Array(4);Ro(q(t),0,a),await wo(l,t),e.offset+=4}h&&!m&&no(o,e.offset-T);const{we:k}=w;m||(await y,await D());const v=co(l),C=fo(e,l);if(z.diskNumberStart=v,m||(E=!0,g=l.size,await wo(x,k)),z=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{pe:l,ye:u,be:d}=o,{se:f,oe:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:S,te:E,Se:g,re:x,de:z,ne:A,ae:R,ee:F}=l,{he:D}=u,{rawFilename:U,lastAccessDate:T,creationDate:k,password:v,rawPassword:C,level:I,zip64:M,ce:N,ie:j,zipCrypto:P,dataDescriptor:W,directory:_,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:M,directory:!!_,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,te:E,Se:g,re:x,ne:A,ae:R,ee:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,St=0;wt||(bt=0);const{writable:Et}=n;if(e){const a=Qt(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Te,level:I,rawPassword:C,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await ur({readable:a,writable:Et},o);if(St=e.outputSize,n.size+=St,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!j&&St>=t||!N&&bt>=t)throw Error(Us)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,pe:n,ye:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{oe:l,encrypted:u}=n,{Ee:d,ge:f}=a;u&&!o&&!i||t===O||(Ro(l,10,t),c&&Ro(d,f,t)),s?c&&(Fo(d,f+4,BigInt(e)),Fo(d,f+12,BigInt(r))):(Ro(l,14,e),Ro(l,18,r),c&&(Ro(d,f+4,e),Ro(d,f+8,r)))})({crc32:yt,compressedSize:St,uncompressedSize:bt,pe:l,ye:u},c),W&&await wo(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:St,lastModDate:h,rawLastModDate:p,creationDate:k,lastAccessDate:T,encrypted:!!m,zipCrypto:!!P,size:d+St,compressionMethod:S,version:b,se:f,oe:w,signature:yt,crc32:!m||P||wt?yt:O,de:z,ce:N,ie:j}),mt})(s,x,z,o,e.config,i),m||(E=!1),c.set(n,z),z.filename=n,m){if(await Promise.all([x.writable.getWriter().close(),y]),await F(),S=!0,g=l.size,await D(),z.diskNumberStart=co(l),z.offset=fo(e,l),h){const t=o.be;no(o,e.offset-lo(l)),z.size+=o.be-t}(({rawFilename:t,encrypted:e,zip64:r,Se:n,crc32:a,compressedSize:s,uncompressedSize:o,ce:i,ie:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&Ro(l,14,a),c||Ro(l,18,s),i||Ro(l,22,o)),r&&n){const e=R+Oo(t)+4;Fo(l,e,BigInt(o)),Fo(l,e+8,BigInt(s))}})(z,w.xe,i),await wo(l,w.we),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Oo(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(x.readable,l,f),l.size+=x.size,S=!1}else z.diskNumberStart=v,z.offset=C;return e.offset+=z.size,z}catch(t){if(S||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-g,m&&(e.offset+=A)}throw c.delete(n),t}finally{if(m&&e.Qt--,b&&b(),y&&y(),m&&x&&x.dispose)try{await x.dispose()}catch{}}async function F(){e.me=!0;const{ze:t}=e;e.ze=new Promise(t=>y=()=>{e.me=!1,t()}),await t}async function D(){uo(l,Oo(w.we))&&await l.closeDisk()}})(e,n,s,{pe:h,ye:p,be:m},o)}catch(t){throw e.files.delete(n),t}return Object.assign(d,{name:n,comment:l,extraField:u,[In]:d.internalFileAttributes,[Mn]:d.externalFileAttributes}),new ta(d)})(o,e,n,s),i.add(l),await l}catch(t){throw u&&o.Gt.delete(e),t}finally{i.delete(l);const t=Ys.shift();t?t():Ks--}}remove(t){const{Gt:e,files:r}=this;if(typeof t==v&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{Jt:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(ms);if(Oo(r)>e)throw Error(ps);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=oo(r.files),{Ae:f,Re:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await wn(o);let l=0,u=0,d=co(o),f=lo(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,te:p,ee:m,re:y,ne:b,ae:S,rawExtraField:E,rawComment:g,versionMadeBy:x,se:z,oe:A,ce:R,ie:F,ue:D,le:O,internalFileAttributes:U,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:C}=n,I=Oo(p,m,y,b,S,E),M=46+Oo(h,g)+I;uo(o,l+M-u)&&(await wo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=co(o),f=lo(o)),R||Ro(A,18,v),F||Ro(A,14,C),(O||D)&&45>n.version&&Ao(A,0,45);const N=io(M);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(I),N.uint16(Oo(g)),N.uint16(D?e:k),N.uint16(U),N.uint32(T),N.uint32(O?t:w),N.bytes(h),N.bytes(p),N.bytes(m),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Do(c,N.array,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new ta(n))}catch{}}return await wo(o,u?c.slice(u):c),{Ae:{diskNumber:d,diskOffset:f},Re:c}})(r,s,a),h=await(async(t,r,n)=>{const a=bo(t,n,da);if(a){const n=await a(r),s=Oo(n);if(s>e)throw Error(Vs);const i=io(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await wo(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ae:i,Fe:f}=s;let{De:w}=s,h=r.files.size,p=i.diskNumber,m=fo(r,i),y=co(o);uo(o,d)&&y++;let b=bo(r,a,Wn);if(!(t>m&&t>w&&e>h&&e>y)){if(!1===b)throw Error(Us);b=!0}const S=Oo(n);if(S>e)throw Error(ps);const E=io(b?98:d);uo(o,Oo(E.array)+S)&&await o.closeDisk(),y=co(o),b&&(E.uint32(l),E.Oe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(p),E.Oe(h),E.Oe(h),E.Oe(w),E.Oe(m),E.uint32(u),E.uint32(y),E.Oe(BigInt(fo(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),bo(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),E.uint32(c),E.uint16(y),E.uint16(p),E.uint16(h),E.uint16(h),E.uint32(w),E.uint32(m),E.uint16(S),await wo(o,E.array),S&&await wo(o,n)})(r,n,a,{Ae:f,De:s,Fe:h})})(this,r,n),!fn(s)&&bo(this,n,ca)||await f.getWriter().close(),s.getData?s.getData():f}}class Xs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Gs(r,t),this.Jt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Js(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Js(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Jt)),this.zipWriter.close(t,e)}}function Js(t,e,r){t.Jt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Qs(n,a,s){a=a.trim();let o=bo(n,s,Pn),i=bo(n,s,Bn,o?20:768);const c=bo(n,s,Hn),l=go(n,s,"uid"),u=go(n,s,"gid");let d=go(n,s,Gn),f=bo(n,s,"unixExtraFieldType"),w=bo(n,s,Xn),h=bo(n,s,Jn),p=bo(n,s,Qn);if(l!==O&&(!Number.isInteger(l)||0>l||l>t))throw Error(Is);if(u!==O&&(!Number.isInteger(u)||0>u||u>t))throw Error(Ms);if(d!==O&&(!Number.isInteger(d)||0>d||d>e))throw Error(Ns);if(f!==O&&f!==Hs&&f!==qs)throw Error(js);if(f===qs&&(l!==O&&l>e||u!==O&&u>e))throw Error(Ps);f!==O||l===O&&u===O||(f=Hs);let m=bo(n,s,Nn),y=bo(n,s,jn);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f?(o=!1,i=i&r|768):b&&(o=!0,i&=r),m!==O&&(0>m||m>r))throw Error(Ws);if(y&&"object"!=typeof y)throw Error(_s);if(i>e)throw Error(Ss);let S=So(n,s,Cn,Mn);const R=S!==O;R||(S=0),!s[Zn]&&a.endsWith(A)&&(s[Zn]=!0);const F=bo(n,s,Zn);if(F?(a.endsWith(A)||(a+=A),R||(S=16,o||(S|=16877<<16))):o||R||(S=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);d=d===O?S>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=z:h=!!(d&z),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&E||(d|=32768),S=(d&e)<<16|S&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(S=S&t|m&r),{name:a,fe:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:S,unixExternalUpper:S>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&E),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function $s(t,r,n){const a=bo(t,n,"encodeText",at);let s=a(r,fa);if(s===O&&(s=at(r)),Oo(s)>e)throw Error(bs);const o=n[En]||"";let i=a(o,wa);if(i===O&&(i=at(o)),Oo(i)>e)throw Error(ys);const c=bo(t,n,Ln,20);if(c>e)throw Error(Ss);const l=bo(t,n,Fn,new Date),u=bo(t,n,On),d=bo(t,n,Tn),f=So(t,n,vn,In,0),w=bo(t,n,na),h=bo(t,n,ea),p=bo(t,n,ra);if(h&&typeof h!=v||p&&!(p instanceof Uint8Array))throw Error(Bs);const m=go(t,n,"encryptionStrength",3),y=bo(t,n,Vn),b=bo(t,n,"extendedTimestamp",!0),S=bo(t,n,"ntfsTimestamp"),E=bo(t,n,"keepOrder",!0),g=bo(t,n,sa),x=bo(t,n,ia),z=bo(t,n,"bufferedWrite"),A=bo(t,n,"createTempStream"),R=bo(t,n,"dataDescriptorSignature",!0),F=bo(t,n,aa),D=bo(t,n,"useUnicodeFileNames",!0),U=bo(t,n,qn),T=w||U===O?O:le(U);if(!w&&U!==O&&0!==U&&8!==U&&!T)throw Error("Compression method not supported");let k=go(t,n,"level");if(k!==O&&(!Number.isInteger(k)||0>k||k>9))throw Error(Ls);if(t.options[ua]){if(h!==O||p!==O)throw Error(gs);k===O&&U===O&&(k=0)}let C=bo(t,n,oa),I=bo(t,n,"dataDescriptor");z&&I===O&&(I=!1),(I===O||y)&&(I=!0),k!==O&&6!=k&&(C=!1);const M=bo(t,n,Wn);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&3>=m))throw Error(Es);const N=to(n[Yn]),j=to(n.localExtraField);return{comment:o,fe:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:z,createTempStream:A,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:T?T.format:O,codecURI:T?T.codecURI:O,Ue:T?T.versionNeeded:O,level:k,useCompressionStream:C,dataDescriptor:I,zip64:M,rawExtraField:N,Te:j}}}function to(t){if(!t)return C;let r=0,n=0;t.forEach(t=>r+=4+Oo(t));const a=new Uint8Array(r),s=q(a);return t.forEach((t,r)=>{if(r>e)throw Error(zs);if(Oo(t)>e)throw Error(As);Ao(s,n,r),Ao(s,n+2,Oo(t)),Do(a,t,n+4),n+=4+Oo(t)}),a}function eo(e,r,n,a,s){const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(o&&r&&(m=s[xn],m===O))throw Error(Ts);const y=!0===f,b=bo(e,s,_n);if(r&&o&&!b&&Oo(c,l))throw Error(xs);const S=r&&(!!(c&&Oo(c)||l&&Oo(l))||o&&b);r||(w=0,h=0);const E=S?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=m,p=n===O?xo(m)+E:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(zo(h,w)?xo(m):m)+E));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error(Us);f=!0}return f=f||!1,{ke:p,fe:{dataDescriptor:d,zip64:f,ce:g,ie:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:S}}}function ro(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Te:m,encryptionStrength:S,extendedTimestamp:E,ntfsTimestamp:g,passThrough:x,encrypted:z,ce:A,ie:U,uncompressedSize:T,crc32:k}=t;let{version:v,compressionMethod:I}=t;const M=!f&&zo(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!A&&!U||j),W=P||c&&d&&(A||U);if(c&&(A||U)){const t=20,e=io(t);if(e.uint16(1),e.uint16(t-4),N=e.array,P&&(e.Oe(T),j)){const t=z?l?12:16+4*S:0;e.Oe(x?0:T+t)}}else N=C;let _,L,B,V,Z;if(z&&!l){const t=io(Oo(Zs)+2);t.uint16(h),t.bytes(Zs),_=t.array,_[8]=S}else _=C;if(E){const t=po(a),e=mo(t);if(e){const e=9+(s?4:0)+(o?4:0),r=io(e);V=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(V),r.uint32(t),s&&r.uint32(yo(po(s))),o&&r.uint32(yo(po(o))),B=r.array}else B=C;if(g===O?!e||s||o:g)try{const t=ho(a),e=io(36);e.uint16(10),e.uint16(32),e.ve(4),e.uint16(1),e.uint16(24),e.Oe(t),e.Oe(s?ho(s):t),e.Oe(o?ho(o):t),L=e.array}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Hs||r===O&&n===O)if(a!=qs||r===O&&n===O)Z=C;else{const t=io(8);t.uint16(b),t.uint16(4),t.uint16((r===O?0:r)&e),t.uint16((n===O?0:n)&e),Z=t.array}else{const t=ao(r),e=ao(n),a=3+t.length+e.length,s=io(4+a);s.uint16(y),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),Z=s.array}}catch{Z=C}I===O&&(I=M?8:0);const{Ue:H}=t;M&&H!==O&&(v=v>H?v:H),c&&(v=v>45?v:45),z&&!l&&(v=v>51?v:51,x&&k!==O&&(_[4]=1),_[9]=I,I=99);const K=W?Oo(N):0,Y=K+Oo(_,B,L,Z,w,m);if(Y>e)throw Error(As);const G=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{se:X,oe:J,rawLastModDate:Q}=Uo({version:v,bitFlag:To(i,u,d,z,I),compressionMethod:I,uncompressedSize:T,lastModDate:D>G?D:G>F?F:G,rawFilename:r,ie:U,ce:A,extraFieldLength:Y}),$=io(R+Oo(r)+Y),tt=$.array,et=q(tt);return $.uint32(n),$.bytes(X),$.bytes(r),W&&$.bytes(N),$.bytes(_),$.bytes(B),$.bytes(L),$.bytes(Z),$.bytes(w),$.bytes(m),d&&(U||Ro(et,18,0),A||Ro(et,22,0)),{we:tt,xe:et,se:X,oe:J,lastModDate:a,rawLastModDate:Q,encrypted:z,compressed:M,version:v,compressionMethod:I,de:V,te:C,Se:K,re:B,ne:L,ae:Z,ee:_,extraFieldLength:Y}}function no(t,e){const{pe:r}=t;let{we:n,extraFieldLength:a}=r,s=64-(e+Oo(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=q(o);Ao(i,0,m),Ao(i,2,s-4);const c=n;r.we=n=new Uint8Array(Oo(c)+s),Do(n,c),Do(n,o,Oo(c));const l=q(n);Ao(l,28,a+s),r.xe=l,t.be+=s}function ao(t){if(t===O)return C;{const e=new Uint8Array(4);q(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function so({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=q(a),r&&(o=4,Ro(n,0,s))),{he:a,Ee:n,ge:o}}function oo(r){let n=0;for(const[,a]of r){const{rawFilename:r,ee:s,rawComment:o,ne:i,ae:c,rawExtraField:l,extendedTimestamp:u,de:d,lastModDate:f,ce:w,ie:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(S?4:0),e=io(t);e.uint16(1),e.uint16(t-4),w&&e.Oe(m),h&&e.Oe(y),b&&e.Oe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=C;a.te=E,a.le=b,a.ue=S;const x=po(f);if(u&&mo(x)){const t=io(9);t.uint16(p),t.uint16(5),t.uint8(d),t.uint32(x),g=t.array}else g=C;a.re=g;const z=Oo(E,s,i,c,g,l);if(z>e)throw Error(As);n+=46+Oo(r,o)+z}return n}function io(t){const e=new Uint8Array(t),r=q(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ao(r,n,t),n+=2},uint32:t=>{Ro(r,n,t),n+=4},Oe:t=>{Fo(r,n,BigInt(t)),n+=8},bytes:t=>{Do(e,t,n),n+=Oo(t)},ve:t=>n+=t}}function co(t){const{diskNumber:e=0}=t;return e}function lo(t){const{diskOffset:e=0}=t;return e}function uo(t,e){const{availableSize:r=U}=t;return e>r}function fo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Xt:0)}async function wo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Oo(e),await n.write(e)}finally{n.releaseLock()}}function ho(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return Ds>e?Ds:e>Os?Os:e}}function po(t){return Math.floor(t.getTime()/1e3)}function mo(t){return t>=Rs&&Fs>=t}function yo(t){return Math.min(Fs,Math.max(Rs,t))}function bo(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function So(t,e,r,n,a){const s=Eo(e,r,n),o=s===O?Eo(t.options,r,n):s;return o===O?a:o}function Eo(t,e,r){return t[e]===O?t[r]:t[e]}function go(t,e,r,n){return typeof(a=bo(t,e,r,n))==v&&a.trim()?Number(a):a;var a}function xo(t){return t+5*(Math.floor(t/16383)+1)}function zo(t,e){return t===O?e===O||e>0:0!==t}function Ao(t,e,r){t.setUint16(e,r,!0)}function Ro(t,e,r){t.setUint32(e,r,!0)}function Fo(t,e,r){t.setBigUint64(e,r,!0)}function Do(t,e,r){t.set(e,r)}function Oo(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Uo({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,ie:l,ce:u,extraFieldLength:d}){const f=io(26),w=f.array,h=q(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===O){const t=new Uint32Array(1),e=q(t);Ao(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ao(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.ve(4),l||s!==O?f.uint32(l?t:s):f.ve(4),u||a!==O?f.uint32(u?t:a):f.ve(4),f.uint16(Oo(c)),f.uint16(d),{se:w,oe:h,rawLastModDate:i}}function To(t,e,r,n,a){let s=0;return e&&(s|=S),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function ko(){return"application/octet-stream"}const vo=1048576,Co=".zip.js-temp";function Io(t={}){const{thresholdBytes:e=vo,directoryName:r=Co,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Mo=1048576;function No(t={}){const{thresholdBytes:e=Mo}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=$t(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const jo=1048576,Po=".zip.js-temp",Wo="createSyncAccessHandle is only available in dedicated workers";function _o(t={}){const{thresholdBytes:e=jo,directoryName:r=Po,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(Wo);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{B({baseURI:import.meta.url})}catch{}let Lo,Bo,Vo,Zo,Ho;function qo(t,e,r={}){if(!Lo){const t=Error("WASM module not loaded");throw t.cause=Ho,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Ce=Bo(a),this.in=Bo(s),this.inBufferSize=s,!this.Ce||!this.in)throw Error("allocation failed");if(this.Ie=new Uint8Array(a),t?(this.Me=Lo.deflate_process,this.Ne=Lo.deflate_last_consumed,this.je=Lo.deflate_end,this.Pe=Lo.deflate_new(),r="gzip"===e?Lo.deflate_init_gzip(this.Pe,n):"deflate-raw"===e?Lo.deflate_init_raw(this.Pe,n):Lo.deflate_init(this.Pe,n)):"deflate64-raw"===e?(this.Me=Lo.inflate9_process,this.Ne=Lo.inflate9_last_consumed,this.je=Lo.inflate9_end,this.Pe=Lo.inflate9_new(),r=Lo.inflate9_init_raw(this.Pe)):(this.Me=Lo.inflate_process,this.Ne=Lo.inflate_last_consumed,this.je=Lo.inflate_end,this.Pe=Lo.inflate_new(),r="deflate-raw"===e?Lo.inflate_init_raw(this.Pe):"gzip"===e?Lo.inflate_init_gzip(this.Pe):Lo.inflate_init(this.Pe)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Zo.buffer),o=this.Me,i=this.Ne,c=this.Ce,l=this.Ie;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Vo&&(Vo(this.in),this.in=0),this.in=Bo(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Pe,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Pe);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Zo.buffer),n=this.Me,s=this.Ce,o=this.Ie;for(;;){const i=n(this.Pe,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Pe&&t.je&&(e=t.je(t.Pe)),t.Pe=0,t.in&&Vo&&Vo(t.in),t.in=0,t.Ce&&Vo&&Vo(t.Ce),t.Ce=0,e}}class Ko{constructor(t="deflate",e){return qo(!0,t,e)}}class Yo{constructor(t="deflate",e){return qo(!1,t,e)}}Ko.lt=!0,Yo.lt=!0;let Go,Xo=!1;function Jo(){Go=null,(async()=>{await Promise.allSettled(sr.map(t=>(pr(t),t.terminate()))),Me=O,Ne=!1})(),Xo=!1,Lo=Bo=Vo=Zo=Ho=null}(({We:t})=>{Pe=t})({We:t=>{if(!Go){let{wasmURI:e}=t;typeof e==k&&(e=e()),Go=(async(t,{baseURI:e})=>{if(!Xo)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(Lo=t,({malloc:Bo,free:Vo,memory:Zo}=Lo),"function"!=typeof Bo||"function"!=typeof Vo||!Zo)throw Lo=Bo=Vo=Zo=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Xo=!0}catch(t){throw(t=>{Ho=t})(t),t}})(e,t).catch(t=>{throw Go=null,t})}return Go}}),B({CompressionStreamFallback:Ko,DecompressionStreamFallback:Yo}),B({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Qo="Entry filename already exists",$o="Readable stream already consumed",ti="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",ei="zipjs-abort-export",ri="The operation was aborted",ni=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class ai{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(Qo);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options,id:t._e++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,Le:r.Le||r.uncompressedSize===O,passThrough:r.passThrough}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}moveTo(t){this.fs.move(this,t)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(Qo);this.name=t}}class si extends ai{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new si(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==Nr?e.type==r:t.constructor!=vr||e.startsWith(t.data))})(t,r.data))return r.data;{const n=r.reader=wi(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([wn(n),wn(t,a)]);const{signal:s}=e,o=((t,e,r,n)=>{const{onstart:a,onprogress:s,onend:o}=r,{readable:i}=e;return t.data instanceof ta||!a&&!s&&!o?i:Qt(i).pipeThrough(new Be({onstart:a,onprogress:s,onend:o,size:e.size}),{signal:n})})(r,n,e,s),i=!fn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await Qt(o).pipeTo(te(t.writable),{signal:s,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==ut)return!1;throw t}}getText(t,e){return this.getData(new Wr(t),e)}getBlob(t,e){return this.getData(new Nr(t),e)}getData64URI(t,e){return this.getData(new vr(t),e)}getUint8Array(t){return this.getData(new on,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return H(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:Mr,Writer:Nr,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:jr,Writer:Wr,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:kr,Writer:vr,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:sn,Writer:on,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:di(t),Writer:null,reader:null})}}class oi extends ai{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new oi(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return zi(this,t,{options:e},!0)}addText(t,e,r={}){return zi(this,t,{data:e,Reader:jr,Writer:Wr,options:r,uncompressedSize:Pr(e)})}addBlob(t,e,r={}){return zi(this,t,{data:e,Reader:Mr,Writer:Nr,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return zi(this,t,{data:e,Reader:kr,Writer:vr,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return zi(this,t,{data:e,Reader:sn,Writer:on,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return zi(this,t,{data:e,Reader:class extends nn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return zi(this,t,{Reader:di(e),options:r})}addFileSystemEntry(t,e={}){return Ei(this,t,e)}addFileSystemHandle(t,e={}){return Ei(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),zi(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}Be(t,e){return zi(this,t,e)}importBlob(t,e){return this.importZip(new Mr(t),e)}importData64URI(t,e){return this.importZip(new kr(t),e)}importUint8Array(t,e){return this.importZip(new sn(t),e)}importHttpContent(t,e){return this.importZip(new nn(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Nr(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new vr(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new on,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:s}=r,o=new AbortController,{signal:i}=o,c=((t,e)=>{if(!t)return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,o),l=Object.assign({},r,r.readerOptions,{signal:i,onstart:O,onprogress:O,onend:O,preventClose:!1}),u=ci([t],t=>ui(t,l.passThrough)),d=[];let f=!1,w=0;try{n&&await Ve(n,u),await p(t,e),s&&await Ve(s,w)}catch(t){try{t.exportedEntryNames=d}catch{}throw t}finally{c()}return e;function h(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),w+=t.length,a&&await Ve(a,w,u)},close:()=>e.close(),abort:t=>e.abort(t)})}async function p(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>m(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!mi(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await m(r,e)}async function m(e,r){if(i.aborted){if(f||mi(i.reason))return;throw i.reason===O?new DOMException(ri,"AbortError"):i.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await p(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:h(a)},l)}catch(t){throw f?Error(ei):t}d.push(e.getRelativeName(t))}}catch(r){f=!0,o.abort(Error(ei));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==k?(r=t,e=Object.assign({},r.options,e)):(await wn(t),r=new Wa(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(Qo)}else r=new oi(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(s)if(e=r.getChildByName(s),e){if(!e.directory)throw Error(Qo)}else e=new oi(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(zi(r,s,{data:t,Reader:fi(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([hi(r,e.readerOptions),wn(t)]),a=new Gs(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=ci(e.children,()=>1);let d=0,f=0;if(s&&await Ve(s,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){const{name:s,Ve:i}=yi(e,l,n);let w=0;const h=await t.add(s,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,o&&await Ve(o,d,r)}}));f++,c&&await Ve(c,f,u,h)}i&&await Ve(i,d)})(a,r,ci([r],li),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;(r=Object.assign({},r)).bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,s)=>{const o={options:r,config:P()};if(r[da])throw Error(ks);if(s!==O&&!(s instanceof Uint8Array))throw Error(ms);const i=Oo(s);if(i>e)throw Error(ps);const c=r[ua],l=new Map;let u=!!c,f=0;for(const e of n){let{name:r}=e;const{size:n}=e,a=Object.assign({},e.options);r=r.trim(),bo(o,a,Zn)&&!r.endsWith(A)&&(r+=A);const s=Qs(o,r,a);({name:r}=s);const{fe:i}=$s(o,r,a);0==i.level||i.compressionMethod!==O||i.passThrough||await We(o.config)||(i.level=0);const d=!bo(o,a,Zn);if(d&&n===O)throw Error(ks);const{ke:w,fe:h}=eo(o,d,n,i,a);if(d&&!i.passThrough&&zo(h.compressionMethod,h.level))throw Error(ks);const p=Object.assign({},a,s.fe,i,h),m=ro(p),y=so(p),b={pe:m,be:Oo(m.we,y.he)};c&&no(b,f);const S=d?w:0;t>f||(u=!0),l.set(r,Object.assign({},p,m,{offset:f,diskNumberStart:0,compressedSize:S})),f+=b.be+S}if(u&&!a)throw Error(ks);const w=oo(l);let h=bo(o,r,Wn);if(f>=t||w>=t||l.size>=e){if(!1===h)throw Error(Us);h=!0}return f+w+i+(h?98:d)})(r,Array.from(n.getChildren({recursive:!0}),t=>{const{name:e,Ve:a}=yi(t,n,r);return{name:e,size:t.directory?0:bi(t,Si(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}const ii={FS:class{constructor(){xi(this)}get children(){return this.root.children}remove(t){pi(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(Qo)}else pi(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}Be(t,e){return this.root.Be(t,e)}importBlob(t,e){return xi(this),this.root.importBlob(t,e)}importData64URI(t,e){return xi(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return xi(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return xi(this),this.root.importHttpContent(t,e)}importReadable(t,e){return xi(this),this.root.importReadable(t,e)}importZip(t,e){return xi(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}},ZipDirectoryEntry:oi,ZipFileEntry:si};function ci(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function li(t){return t.uncompressedSize}function ui(t,e){const{data:r}=t;return e&&r instanceof ta?r.compressedSize:t.uncompressedSize}function di(t){let e;return()=>{if(e)throw Error($o);return e=!0,{readable:t}}}function fi(t){return class extends Ur{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,s=await e.entry.getData(new Nr,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.Ze=new Mr(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.Ze.readUint8Array(t,e)}}}function wi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function hi(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=wi(t.Reader,t.data,e);a.set(t,r);try{await wn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t.Le=!1)})),a}function pi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function mi(t){return!!t&&t.message==ei}function yi(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof ta){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:S}=t.data;s={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const E=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{ni.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(E&&(s.extraField=E),b===O&&S===O||Object.assign(s,{uid:b,gid:S,unixExtraFieldType:"infozip"}),Si(t,r)){let t,e;0===h&&(t=0),p&&(e=p.strength),o={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,level:t,encryptionStrength:e,compressionMethod:h}}}const i=Object.assign({},s,r,o,a,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(ti);return{name:n,Ve:i}}function bi(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.Le?O:ui(t,e)}function Si(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function Ei(t,e,r){return async function t(e,n,a,s=""){if(n){const o=s?s+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await gi(n)),"file"==n.kind){const t=await n.getFile();a.push(e.Be(t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const s=e.addDirectory(n.name,r);a.push(s);for await(const e of n.values())await t(s,e,a,o)}}catch(t){try{t.entryName===O&&(t.entryName=o)}catch{}throw t}}return a}(t,e,[])}async function gi(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async s=>{if(s.length){for(const t of s)e.push(await gi(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function xi(t){t.entries=[],t._e=0,t.root=new oi(t)}function zi(t,e,r,n){if(t.directory)return n?new oi(t.fs,e,r,t):new si(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{Mr as BlobReader,Nr as BlobWriter,kr as Data64URIReader,vr as Data64URIWriter,ri as ERR_ABORTED,Oa as ERR_AMBIGUOUS_ARCHIVE,ya as ERR_BAD_FORMAT,Ea as ERR_CENTRAL_DIRECTORY_NOT_FOUND,hs as ERR_DUPLICATED_NAME,za as ERR_ENCRYPTED,Ua as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Qo as ERR_ENTRY_EXISTS,Sa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ba as ERR_EOCDR_NOT_FOUND,xa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,yr as ERR_HTTP_RANGE,br as ERR_HTTP_RESOURCE_CHANGED,ft as ERR_INVALID_AUTHENTICATION_CODE,ee as ERR_INVALID_CODEC_DEFINITION,ne as ERR_INVALID_CODEC_MODULE,ps as ERR_INVALID_COMMENT,ms as ERR_INVALID_COMMENT_TYPE,we as ERR_INVALID_COMPRESSED_DATA,he as ERR_INVALID_CRC32,Es as ERR_INVALID_ENCRYPTION_STRENGTH,ys as ERR_INVALID_ENTRY_COMMENT,bs as ERR_INVALID_ENTRY_NAME,As as ERR_INVALID_EXTRAFIELD_DATA,zs as ERR_INVALID_EXTRAFIELD_TYPE,va as ERR_INVALID_FILENAME_VALIDATION,Ms as ERR_INVALID_GID,Ls as ERR_INVALID_LEVEL,Ca as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Ws as ERR_INVALID_MSDOS_ATTRIBUTES,_s as ERR_INVALID_MSDOS_DATA,ut as ERR_INVALID_PASSWORD,Bs as ERR_INVALID_PASSWORD_TYPE,ti as ERR_INVALID_PASS_THROUGH,dt as ERR_INVALID_SIGNATURE,Vs as ERR_INVALID_SIGNATURE_DATA,ka as ERR_INVALID_STRICTNESS,Is as ERR_INVALID_UID,fe as ERR_INVALID_UNCOMPRESSED_SIZE,js as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Ps as ERR_INVALID_UNIX_ID_SIZE,Ns as ERR_INVALID_UNIX_MODE,Ss as ERR_INVALID_VERSION,Sr as ERR_ITERATOR_COMPLETED_TOO_SOON,ga as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Da as ERR_OVERLAPPING_ENTRY,$o as ERR_READABLE_CONSUMED,re as ERR_RESERVED_COMPRESSION_METHOD,Fa as ERR_SPLIT_ZIP_FILE,vs as ERR_UNDEFINED_READER,Ts as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ks as ERR_UNDETERMINED_SIZE,Ta as ERR_UNSAFE_FILENAME,Ra as ERR_UNSUPPORTED_COMPRESSION,Wo as ERR_UNSUPPORTED_CONTEXT,ht as ERR_UNSUPPORTED_CRYPTO_API,Aa as ERR_UNSUPPORTED_ENCRYPTION,xs as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,gs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Us as ERR_UNSUPPORTED_FORMAT,Ie as ERR_WORKER_STARTUP_TIMEOUT,Er as ERR_WRITER_NOT_INITIALIZED,Cs as ERR_ZIP_NOT_EMPTY,an as HttpRangeReader,nn as HttpReader,Ur as Reader,cn as SplitDataReader,ln as SplitDataWriter,jr as TextReader,Wr as TextWriter,sn as Uint8ArrayReader,on as Uint8ArrayWriter,Tr as Writer,Wa as ZipReader,_a as ZipReaderStream,Gs as ZipWriter,Xs as ZipWriterStream,_ as configure,No as createBlobTempStream,Io as createOPFSTempStream,_o as createSyncAccessHandleTempStream,ii as fs,ko as getMimeType,ie as registerCodec,V as resetConfiguration,Jo as terminateWorkers,ce as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,o=a,s=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,E=2048,S=61440,g=16384,x=2048,A=1024,z="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,k="undefined",T="function",v="object",I="string",C=new Uint8Array,M="password",N="rawPassword",j="passThrough",P="signal",_="useWebWorkers",W="useCompressionStream",L="transferStreams",B="preventClose",V="offset",Z="usdz",H="signCentralDirectory",q="filename",K="comment",Y="strict",G="balanced",X="tolerant",J="Invalid option (must be a function)",Q="Invalid signal (must be an AbortSignal instance)",$="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function tt(t){if(t&&typeof t!=T)throw Error(J);return t}function et(t){if(t&&(typeof t.addEventListener!=T||"boolean"!=typeof t.aborted))throw Error(Q);return t||O}function rt(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw Error($)}function nt(t){return typeof t==I&&t.trim()?Number(t):t}const at="Invalid maxWorkers (must be an integer greater than 0)";let ot=2;try{typeof navigator!=k&&navigator.hardwareConcurrency&&(ot=navigator.hardwareConcurrency)}catch{}const st={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ot,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=k&&CompressionStream,DecompressionStream:typeof DecompressionStream!=k&&DecompressionStream},it="maxWorkers",ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ut=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...ct,...lt],dt={...st};function ft(){return dt}function wt(t){return ht(t.chunkSize)}function ht(t){return t=nt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function pt(t){Object.assign(dt,mt(bt(t)))}function mt(t){const e={};for(const r of ut){const n=t[r];n!==O&&(e[r]=yt(r,n))}return e}function yt(t,e){if(ct.includes(t)){if(e=nt(e),t==it&&(!Number.isInteger(e)||e<1))throw Error(at)}else lt.includes(t)&&tt(e);return e}function bt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function Et(t){const e=mt(bt(t));Object.assign(st,e),Object.assign(dt,e)}function St(){for(const t of ut)delete dt[t];Object.assign(dt,st)}function gt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function xt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function At(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const zt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;zt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=zt[e-1][t];zt[e][t]=r>>>8^zt[0][255&r]}const[Rt,Ft,Dt,Ot,Ut,kt,Tt,vt]=zt;class It{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),o=r-8;for(;n<=o;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=vt[255&t]^Tt[t>>>8&255]^kt[t>>>16&255]^Ut[t>>>24&255]^Ot[255&r]^Dt[r>>>8&255]^Ft[r>>>16&255]^Rt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Rt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Ct extends TransformStream{constructor(){let t;const e=new It;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Mt(t){if(typeof TextEncoder==k){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const Nt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=Nt.l(r);return 32===n?t.concat(e):Nt.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+Nt.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=Nt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,o=Nt.l(a);return n.push(Nt.S(e+o&31,e+o>32?r:n.pop(),1)),n}},jt={bytes:{A(t){const e=Nt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;a<e;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(Nt.S(8*(3&r),n)),e}}},Pt=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=jt.v.R(t));const r=e.U=Nt.concat(e.U,t),n=e.T,a=e.T=n+Nt.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let s=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=a;t+=e.blockSize)e.I(o.subarray(16*s,16*(s+1))),s+=1;return r.splice(0,16*s),e}C(){const t=this;let e=t.U;const r=t.O;e=Nt.concat(e,[Nt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.I(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}N(t,e){return e<<t|e>>>32-t}I(t){const e=this,r=e.O,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let a=r[0],o=r[1],s=r[2],i=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,o,s,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=s,s=e.N(30,o),o=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+s|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},_t={importKey:t=>new _t.j(jt.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,n<0||r<0)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let o,s,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=Nt;for(e=jt.bytes.R(e),l=1;f<(a||1);l++){for(o=s=t.encrypt(w.concat(e,[l])),i=1;i<r;i++)for(s=t.encrypt(s),c=0;c<s.length;c++)o[c]^=s[c];for(i=0;f<(a||1)&&i<o.length;i++)d.setInt32(f,o[i]),f+=4}return u.slice(0,n/8)},j:class{constructor(t){const e=this,r=e._=Pt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;e<a;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t._(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.C(),r=new t._(t.W[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Wt=typeof crypto!=k&&typeof crypto.getRandomValues==T,Lt="Invalid password",Bt="Invalid signature",Vt=Bt,Zt="zipjs-abort-check-password",Ht="Crypto API not supported";function qt(t){if(Wt)return crypto.getRandomValues(t);throw Error(Ht)}const Kt=16,Yt={name:"PBKDF2"},Gt=Object.assign({hash:{name:"HMAC"}},Yt),Xt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Yt),Jt=["deriveBits"],Qt=[8,12,16],$t=[16,24,32],te=10,ee=[0,0,0,0],re=typeof crypto!=k,ne=re&&crypto.subtle,ae=re&&typeof ne!=k,oe=jt.bytes,se=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let o,s,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[s=t.slice(0),i=[]],o=a;o<4*a+28;o++){let t=s[o-1];(o%a===0||8===a&&o%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],o%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[o]=s[o-a]^t}for(let t=0;o;t++,o--){const e=s[3&t?o:o-4];i[t]=o<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],o=[];let s,i,c,l;for(let t=0;t<256;t++)o[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=s=0;!r[u];u^=i||1,s=o[s]||1){let o=s^s<<1^s<<2^s<<3^s<<4;o=o>>8^255&o^99,r[u]=o,n[o]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[o]^16843008*o;for(let r=0;r<4;r++)t[r][u]=f=f<<24^f>>>8,e[r][o]=d=d<<24^d>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],o=this.V[e],s=o[0],i=o[1],c=o[2],l=o[3],u=o[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;t<n;t++)d=s[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=s[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=s[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=s[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;t<4;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},ie=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=Nt.bitLength(e);for(let a=0;a<n;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return Nt.m(e,a)}},ce=_t.j;let le=re&&ae&&typeof ne.importKey==T,ue=re&&ae&&typeof ne.deriveBits==T;class de extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){we(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:o,et:s,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await pe(t,e,r,ye(n,0,Qt[e])),o=ye(n,Qt[e]);if(a[0]!=o[0]||a[1]!=o[1])throw Error(Lt)})(r,o,a,ye(t,0,Qt[o]+2)),t=ye(t,Qt[o]+2),n?e.error(Error(Zt)):s()):await i;const c=new Uint8Array(t.length-te-(t.length-te)%Kt);e.enqueue(he(r,t,c,0,te,!0))},async flush(t){const{nt:e,ot:r,st:n,ready:o}=this;if(r&&e){await o;const s=ye(n,0,n.length-te),i=ye(n,n.length-te);let c=C;if(s.length){const t=Ee(oe,s);r.update(t);const n=e.update(t);c=be(oe,n)}const l=ye(be(oe,r.digest()),0,te);let u=n.length<te?1:0;for(let t=0;t<te;t++)u|=l[t]^i[t];if(u&&a)throw Error(Vt);t.enqueue(c)}}})}}class fe extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){we(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:o,ready:s}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=qt(new Uint8Array(Qt[e]));return gt(n,await pe(t,e,r,n))})(r,a,n),o()):await s;const c=new Uint8Array(i.length+t.length-t.length%Kt);c.set(i,0),e.enqueue(he(r,t,c,i.length,0))},async flush(t){const{nt:e,ot:r,st:n,ready:a}=this;if(r&&e){await a;let o=C;if(n.length){const t=e.update(Ee(oe,n));r.update(t),o=be(oe,t)}const s=be(oe,r.digest()).slice(0,te);t.enqueue(gt(o,s))}}})}}function we(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:me(e,r),strength:n-1,st:C})}function he(t,e,r,n,a,o){const{nt:s,ot:i,st:c}=t;c.length&&(e=gt(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Kt)),u=0;u<=l-Kt;u+=Kt){const t=Ee(oe,ye(e,u,u+Kt));o&&i.update(t);const a=s.update(t);o||i.update(a),r.set(be(oe,a),u+n)}return t.st=ye(e,u),r}async function pe(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!le)return _t.importKey(e);try{return await ne.importKey("raw",e,r,!1,a)}catch{return le=!1,_t.importKey(e)}})(0,r,Gt,0,Jt),o=await(async(t,e,r)=>{if(!ue)return _t.P(e,t.salt,Xt.iterations,r);try{return await ne.deriveBits(t,e,r)}catch{return ue=!1,_t.P(e,t.salt,Xt.iterations,r)}})(Object.assign({salt:n},Xt),a,8*(2*$t[e]+2)),s=new Uint8Array(o),i=Ee(oe,ye(s,0,$t[e])),c=Ee(oe,ye(s,$t[e],2*$t[e])),l=ye(s,2*$t[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new ie(new se(i),Array.from(ee)),ot:new ce(c)}),l}function me(t,e){return e===O?Mt(t):e}function ye(t,e,r){return t.subarray(e,r)}function be(t,e){return t.A(e)}function Ee(t,e){return t.R(e)}class Se extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){xe(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Ae(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(Lt);t=t.subarray(12)}n?e.error(Error(Zt)):e.enqueue(Ae(r,t))}})}}class ge extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){xe(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=qt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(ze(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(ze(r,t),a),e.enqueue(n)}})}}function xe(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new It(n[0]),lt:new It(n[2])}),r)for(let e=0;e<r.length;e++)Re(t,r[e]);else for(let r=0;r<e.length;r++)Re(t,e.charCodeAt(r))})(t,e,r)}function Ae(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Fe(t)^e[n],Re(t,r[n]);return r}function ze(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Fe(t)^e[n],Re(t,e[n]);return r}function Re(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Oe(Math.imul(Oe(r+De(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Fe(t){const e=2|t.keys[2];return De(Math.imul(e,1^e)>>>8)}function De(t){return 255&t}function Oe(t){return 4294967295&t}function Ue(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function ke(t,e){t=Ue(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=T||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Te(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ve="Invalid codec definition",Ie="Reserved compression method",Ce="Invalid codec module",Me=[0,8,9,99],Ne=new Map,je=new Map;function Pe(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:o,DecompressionStream:s,versionNeeded:i}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=I||!n.length)throw Error(ve);if(Me.includes(r))throw Error(Ie);const c=typeof o==T||typeof s==T;if(!(c||typeof a==I&&a.length))throw Error(ve);Ne.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&Be(n,{CompressionStream:o,DecompressionStream:s})}function _e(t){const e=Ne.get(t);if(e){let r;Ne.delete(t),Ne.forEach(t=>r=r||t.format==e.format),r||je.delete(e.format)}}function We(t){return Ne.get(t)}function Le(t){return je.get(t)}function Be(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=T&&typeof n!=T)throw Error(Ce);je.set(t,{CompressionStream:r,DecompressionStream:n})}const Ve="Invalid uncompressed size",Ze="Invalid compressed data",He=Bt,qe="deflate-raw",Ke="gzip",Ye=[31,139,8];class Ge extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:o,useCompressionStream:s,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&Le(d),E=c&&a&&!u&&!b&&(!o||i)&&!(!s||!n);if(o&&!i||!c||E||(h=new Ct,y=ar(y,h)),a)if(b)y=or(y,rr(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(E)m=new Xe,y=or(y,new n(Ke)),y=ar(y,m);else try{y=nr(y,s,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Ke)}catch{throw t}y=or(y,e),y=ar(y,new Xe)}o&&(i?y=ar(y,new ge(t)):(p=new fe(t),y=ar(y,p))),er(w,y,()=>{o&&!i||!c||(w.crc32=E?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Xe extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(a<=8)return void(r=gt(r,t));const o=a-8,s=Math.min(o,r.length);n.enqueue(gt(r.subarray(0,s),t.subarray(0,o-s))),r=gt(r.subarray(s),t.subarray(o-s))},flush(){const e=At(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Je extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:o,checkCrc32:s,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(o&&(a?y=ar(y,new Se(t)):(m=new de(t),y=ar(y,m))),c){const t=d&&Le(d);if(t)y=or(y,rr(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=nr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(Ke)}catch{throw t}y=((t,e,r)=>{const n=new It;let a,o,s,i=0,c=!1;const l=new Promise((t,e)=>{o=t,s=e});l.catch(()=>{}),r||o();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=At(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){s(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,i>=r?o():c&&f(),e.enqueue(t)},cancel(t){s(t)}});return t=ar(t,u),ar(t=or(t,e),d);function f(){w(),a=setTimeout(()=>s(Error(Ve)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(Ze);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}s&&(p=new Ct,y=ar(y,p)),er(this,y,()=>{if(s){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(He)}})}}const Qe=new Map;function $e(t,e){if(!t)return!1;let r=Qe.get(t);r||(r=new Map,Qe.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function tr(t){return $e(t,qe)}function er(t,e,r){e=ar(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function rr(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function nr(t,e,r,n,a){const o=e&&n?n:a||n,s=r.deflate64?"deflate64-raw":qe;let i;try{i=new o(s,r)}catch(t){if(!e||!a||o==a)throw t;i=new a(s,r)}return or(t,i)}function ar(t,e){return Ue(t).pipeThrough(e)}function or(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const sr="data",ir="deflate",cr="inflate";class lr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(ir)?a=Ge:n.startsWith(cr)&&(a=Je),r.outputSize=0;let o=0;const s=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(o+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:o})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(Ve)},flush(){const{crc32:t}=s;Object.assign(r,{crc32:t,inputSize:o})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(s).pipeThrough(l)})}}class ur extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;a<t;){const r=e[0],o=t-a;r.length<=o?(n.set(r,a),a+=r.length,e.shift()):(n.set(r.subarray(0,o),a),e[0]=r.subarray(o),a+=o)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,o){for(e.push(a),r+=a.length;r>t;)o.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const dr="Worker startup timeout";let fr,wr,hr,pr=()=>{};async function mr(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.ut)return!0;if(tr(e)||$e(e,Ke))return!0;if(r)try{return await pr(t),!0}catch{return!1}return!1}function yr(t){t.createWorker?wr=!0:fr=!1}class br{constructor(t,{readable:e,writable:r},{options:n,config:a,ft:o,useWebWorkers:s,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=o;return wr&&(l=O),Object.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new ur(wt(a))).pipeThrough(new Er(o),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{yt:r,wt:n}=t;r?(n?t.bt=e:(r.terminate(),e()),t.Et=null):e()}),St(){if(t.wt){const{bt:e}=t;e&&(t.bt=null,t.gt=!0,t.yt.terminate(),e()),t.wt=!1,u(t)}}}),fr===O&&(fr=typeof Worker!=k),(s&&hr&&(fr&&c||l)?hr:gr)(t,a)}}class Er extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Sr(t,r)},async transform(t,n){a+=t.length,e&&await Sr(e,a,r),n.enqueue(t)},async flush(){n&&await Sr(n,a)}})}}async function Sr(t,...e){try{await t(...e)}catch{}}function gr(t,e){return{run:()=>xr(t,e)}}async function xr({options:t,readable:e,writable:r,St:n},a){let o;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(ir),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.ut&&!tr(n))try{await pr(a)}catch{}}else try{await pr(a)}catch{r&&!r.ut||(t.useCompressionStream=!0)}}o=new lr(t,a),await e.pipeThrough(o).pipeThrough(new ur(wt(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:s,outputSize:i}=o;return{crc32:n,inputSize:s,outputSize:i}}catch(t){throw o&&(t.outputSize=o.outputSize),t}finally{n()}}const Ar={type:"module"},zr="error";let Rr,Fr,Dr,Or=!0;try{Or=typeof structuredClone==T&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var Ur;function kr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Tr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function vr(t,e,r,n,a=!0){const{createWorker:o}=r;let s,i,c;if(o)s=o();else if(Fr===O||Rr!==t){const o=typeof t==T;i=o?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=Ar);try{s=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(o&&u)return vr(t,e,r,n,!1);if(n)throw a;return vr(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=Ar);try{i=new URL(i,e)}catch{}try{s=new Worker(i,c)}catch(o){if(n)return vr(t,e,r,!1,a);throw o}}Rr=t,Fr=i,Dr=c}else s=new Worker(Fr,Dr);return s.addEventListener("message",t=>{r.xt=!0,Ir(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:o,error:s}=t,{reader:i,writer:c,At:l,zt:u,St:d,ht:f}=e,w=()=>e.ht!=f;try{if(s){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:o,codecImportFailed:i}=s,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),o&&(c.cause=Object.assign(Error(o.message),{name:o.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Mr({type:sr,value:t,done:r,messageId:a},e)}r==sr&&(await c.ready,await c.write(new Uint8Array(n)),w()||Mr({type:"ack",messageId:a},e)),"close"==r&&h(null,o)}}catch(s){w()||(Tr(e),h(s))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),s.addEventListener(zr,t=>Cr(t,r)),s.addEventListener("messageerror",t=>Cr(t,r)),s}function Ir(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function Cr(t,e){t.preventDefault&&t.preventDefault(),Ir(e);const{xt:r,zt:n,writer:a,St:o}=e;Tr(e),r||(e.yt=null);let s=t.error||Error(t.message||zr);r||(s=Object.assign(Error(s.message||zr),{Ft:!0}),e.Dt=s),n&&(n(s),a&&a.releaseLock(),r&&o())}function Mr(t,{yt:e,writer:r,transferStreams:n,xt:a}){try{const{value:r,readable:o,writable:s}=t,i=[];if(r&&(t.value=xt(r),i.push(t.value.buffer)),n&&Or&&a?(o&&i.push(o),s&&i.push(s)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Or=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Ur=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:o}=e;if(!t.Et){let s;typeof o==T&&(o=o());try{s=vr(t.workerURI,r,t)}catch{return yr(t),gr(t,e)}Object.assign(t,{yt:s,xt:!1,gt:!1,Dt:null,Et:{run:async()=>{try{return await(async(t,e)=>{if(!t.yt){const{Dt:e}=t;t.Dt=null;const r=e||Error(dr);throw r.Ft=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,At:r,zt:n,result:a});const{readable:o,options:s}=t,{writable:i,closed:c,Ot:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ot:()=>e.abort()}})(t.writable);let u;try{u=Mr({type:"start",options:s,config:e,readable:o,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:o.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.xt&&Number.isFinite(d)&&d>=0&&(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.xt)return;const{zt:e,writer:r}=t;if(Tr(t),t.yt=null,e){const t=Error(dr);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:o,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft)return yr(t),kr(t),xr(t,e);if(r&&r.codecImportFailed){if(t.reader)return kr(t),xr(t,e);t.St()}throw r}}}})}return t.Et},hr=Ur;let Nr=[];const jr=[];let Pr,_r,Wr=0;async function Lr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:o,useCompressionStream:s,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!je.has(t)&&e&&Be(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(o||o===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=s||s===O&&n.useCompressionStream,(await(async()=>{const r=Nr.find(t=>!t.wt);if(r)return qr(r),new br(r,t,e,b);if(Nr.length<p){const r={Ut:Wr};return Wr++,Nr.push(r),new br(r,t,e,b)}return new Promise(r=>{jr.push({resolve:r,stream:t,kt:e}),_r=n.workerStarvationTimeout,Br()})})()).run();function b(t){if(Vr(),jr.length){const[{resolve:e,stream:r,kt:n}]=jr.splice(0,1);e(new br(t,r,n,b)),Br()}else t.yt?(qr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.Tt=setTimeout(async()=>{Nr=Nr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Nr=Nr.filter(e=>e!=t)}}function Br(){!Pr&&jr.length&&Number.isFinite(_r)&&_r>=0&&(Pr=setTimeout(Zr,_r))}function Vr(){Pr&&(clearTimeout(Pr),Pr=null)}function Zr(){if(Pr=null,jr.length){const[{resolve:t,stream:e,kt:r}]=jr.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new br({},e,n,Hr)),Br()}}function Hr(){Vr(),Br()}function qr(t){const{Tt:e}=t;e&&(clearTimeout(e),t.Tt=null)}const Kr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Yr(t,e){return Gr(t,e,!0)}function Gr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Kr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Xr="HTTP error ",Jr="HTTP Range not supported",Qr="HTTP resource changed",$r="Writer iterator completed too soon",tn="Writer not initialized",en="Content-Range",rn="Range",nn="GET",an="bytes",on=16777216,sn="writable",cn=Symbol();class ln{constructor(){this.size=0}init(){this.initialized=!0}}class un extends ln{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=wt(ft())}={}){const n=this;let a=0;return r=ht(r),new ReadableStream({async pull(o){const s=e===O?r:Math.min(r,e-a),i=await Gn(n,t+a,s);i.length&&o.enqueue(i),a+r>=e||!i.length&&s?o.close():a+=r}})}}class dn extends ln{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(tn);return t.writeUint8Array(xt(e))}});Object.defineProperty(t,sn,{get:()=>e})}writeUint8Array(){}}class fn extends un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{vt:t,It:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{It:r,vt:n}=this,a=new Uint8Array(e),o=4*Math.floor(t/3),s=atob(n.substring(o+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(o/4);let c=0;for(let t=i;t<i+e&&t<s.length;t++)a[t-i]=s.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class wn extends dn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let hn,pn;class mn extends un{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),pn||(pn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();hn=1==e}catch{hn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return!n&&a>=r?Ue(e.stream()):hn?Ue(e.slice(n,n+a).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,a=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let o=await a.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,n)),new Uint8Array(o)}}class yn extends ln{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,sn,{get:()=>r.writable}),e.contentType=t,e.Nt=ke(r.readable,t),e.Nt.catch(()=>{})}getData(){return this.Nt}}class bn extends mn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function En(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?e+=1:n<2048?e+=2:n<55296||n>=57344?e+=3:n<56320&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class Sn extends yn{constructor(t){super(),Object.assign(this,{encoding:t,jt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,jt:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Gr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class gn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await zn(this,Nn,vn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&r<a)return((t,e,r)=>{let n,a=e,o=0,s=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(Jr);const a=e.length>o?e.subarray(0,o):e;o-=a.length,s-=a.length,a.length&&t.enqueue(a),o||(await(async()=>{const t=n;n=O,await t.cancel()})(),s||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,s),r=await Nn(nn,t,kn(t,a,e));if(206!=r.status)throw Error(Jr);const i=r.headers.get(en);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(Jr)}Un(t,r),On(t,r),a+=e,o=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Rn(this,t,e,Nn,vn)}}class xn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await zn(this,jn,In),super.init()}readUint8Array(t,e){return Rn(this,t,e,jn,In)}}function An(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:s,checkResourceChanges:i=!0,maximumRangeSize:c=on,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:s,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function zn(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:o,forceRangeRequests:s,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=ft(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(o||s)&&(typeof a==k||a)){const n=await e(nn,t,kn(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(s||a&&a.toLowerCase()==an))throw Error(Jr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Pt=e)}On(t,n);const a=Fn(n);a===O?await Mn(t,e,r):t.size=a}}else await Mn(t,e,r)}async function Rn(t,e,r,n,a){const{useRangeHeader:o,forceRangeRequests:s,Pt:i,size:c,options:l}=t;if(o||s){if(i&&e==c-d&&r==d)return i;if(e>=c||0===r)return C;{e+r>c&&(r=c-e);const a=await n(nn,t,kn(t,e,r));if(206!=a.status)throw Error(Jr);const o=a.headers.get(en);if(o){const t=Number(o.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(Jr)}Un(t,a),On(t,a);const s=new Uint8Array(await a.arrayBuffer());if(s.length!=r)throw Error(Jr);return s}}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Fn(t){const e=t.headers.get(en);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Dn({headers:t}){return{_t:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function On(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Dn(e))}function Un(t,e){const{checkResourceChanges:r,Wt:n,size:a}=t;if(r){const t=Fn(e);if(t!==O&&a!==O&&t!=a)throw Error(Qr);if(n){const t=Dn(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(Qr)}}}function kn(t,e=0,r=1){return Object.assign({},Tn(t),{[rn]:an+"="+(e<0?e:e+"-"+(e+r-1))})}function Tn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function vn(t){await Cn(t,Nn)}async function In(t){await Cn(t,jn)}async function Cn(t,e){const r=await e(nn,t,Tn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Mn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Tn(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Nn(t,{fetch:e=fetch,options:r,url:n},a){const o=await e(n,Object.assign({},r,{method:t,headers:a}));if(o.status<400)return o;throw 416==o.status?Error(Jr):Error(Xr+(o.statusText||o.status))}function jn(t,{url:e},r){return new Promise((n,a)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(o.status<400){const t=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:o.status,arrayBuffer:()=>o.response,headers:new Map(t)})}else a(416==o.status?Error(Jr):Error(Xr+(o.statusText||o.status)))},!1),o.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),o.open(t,e),r)for(const t of Object.entries(r))o.setRequestHeader(t[0],t[1]);o.responseType="arraybuffer",o.send()})}class Pn extends un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new xn(t,e):new gn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class _n extends Pn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Wn extends un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Lt:t,size:t.length})}readUint8Array(t,e){return this.Lt.slice(t,t+e)}}class Ln extends dn{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Lt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Lt.length){let t=e.Lt.length?2*e.Lt.length:e.Bt;for(;t<r;)t*=2;const n=e.Lt;e.Lt=new Uint8Array(t),e.Lt.set(n)}e.Lt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Lt.length?this.Lt:this.Lt.slice(0,this.offset)}}class Bn extends un{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Yn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,o=0,s=t;for(;n[o]&&s>=n[o].size;)s-=n[o].size,o++;const i=n[o];if(i){const n=i.size;if(s+e<=n)a=await Gn(i,s,e);else{const o=n-s;a=gt(await Gn(i,s,o),await r.readUint8Array(t+o,e-o))}}else a=C;return r.Zt=Math.max(o,r.Zt),a}}class Vn extends ln{constructor(t,e=4294967295){super();const r=this;let n,a,o;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const s=new WritableStream({async write(e){if(e===cn)return void(o&&await c());const{availableSize:s}=r;if(o)e.length>=s?(await i(e.subarray(0,s)),await c(),e.length>s&&await this.write(e.subarray(s))):await i(e);else{const{value:s,done:i}=await t.next();if(i&&!s)throw Error($r);n=s,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Kn(n),a=s.writable,o=a.getWriter(),await this.write(e)}},async close(){o&&(await o.ready,await l())},async abort(t){o&&await o.abort(t)}});async function i(t){const e=t.length;e&&(await o.ready,await o.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,o=null,r.availableSize=r.maxSize}async function l(){await o.close()}Object.defineProperty(r,sn,{get:()=>s})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(cn)}finally{t.releaseLock()}}}class Zn{constructor(t){return Array.isArray(t)&&(t=new Bn(t)),(t instanceof ReadableStream||typeof t.getReader==T)&&(t={readable:Ue(t)}),t}}class Hn{constructor(t){return t.writable===O&&typeof t.next==T&&(t=new Vn(t)),(t instanceof WritableStream||typeof t.getWriter==T)&&(t={writable:Te(t)}),t.size===O&&(t.size=0),t}}function qn(t){return!(!t||!t.getData)}async function Kn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Yn(t){return t=new Zn(t),await Kn(t),t.size!==O&&t.readUint8Array||(t=new mn(await ke(t.readable)),await Kn(t)),t}function Gn(t,e,r){return t.readUint8Array(e,r)}function Xn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?un.prototype.createReadable.call(t,e):t.readable}const Jn="filename",Qn="rawFilename",$n="comment",ta="rawComment",ea="uncompressedSize",ra="compressedSize",na="offset",aa="diskNumberStart",oa="lastModDate",sa="rawLastModDate",ia="lastAccessDate",ca="rawLastAccessDate",la="creationDate",ua="rawCreationDate",da="internalFileAttributes",fa="externalFileAttributes",wa="internalFileAttribute",ha="externalFileAttribute",pa="msdosAttributesRaw",ma="msdosAttributes",ya="msDosCompatible",ba="zip64",Ea="encrypted",Sa="version",ga="versionMadeBy",xa="zipCrypto",Aa="directory",za="executable",Ra="compressionMethod",Fa="signature",Da="extraField",Oa="unixMode",Ua="setuid",ka="setgid",Ta="sticky",va=[Jn,Qn,ea,ra,oa,sa,$n,ta,ia,ca,la,ua,na,aa,da,fa,wa,ha,pa,ma,ya,ba,Ea,Sa,ga,xa,Aa,za,"symlink",Ra,Fa,"crc32",Da,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Oa,"unixExternalUpper",Ua,ka,Ta,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ia{constructor(t){va.forEach(e=>this[e]=t[e])}}const Ca="File format is not recognized",Ma="End of central directory not found",Na="End of Zip64 central directory locator not found",ja="Central directory header not found",Pa="Local file header not found",_a="Zip64 extra field not found",Wa="File contains encrypted entry",La="Encryption method not supported",Ba="Compression method not supported",Va="Split zip file",Za="Overlapping entry found",Ha="Entry data out of bounds",qa="Ambiguous archive",Ka="Encrypted central directory is not supported",Ya="Unsafe filename",Ga="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Xa="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ja="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Qa=/^[a-zA-Z]:/,$a="utf-8",to="cp437",eo=[[ea,t],[ra,t],[na,t],[aa,e]],ro={[e]:{Kt:Io,bytes:4},[t]:{Kt:Co,bytes:8}};class no{constructor(t,e={}){Object.assign(this,{reader:new Zn(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const o=this;let{reader:s}=o;if(await Kn(s),s.size!==O&&s.readUint8Array||(s=new mn(await ke(s.readable)),await Kn(s)),s.size<d)throw Error(Ca);const c=Eo(n,o.options),h=c==Y,p=c!=X,m=((t,r)=>{if(t!==O){const e=nt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw Error(Ja);return e}return r==Y?0:r==X?1/0:e})(Do(o,n,"maxAppendedDataSize"),c),y=((t,e)=>{if(t===O)return e;if(!bo(t))throw Error(Xa);return t})(Do(o,n,"filenameValidation"),c),b=Do(o,n,"normalizeFilename"),{Gt:E,Xt:R}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),o={count:64};let s,i,c=0;for await(const[r,l,u,f,w]of xo(t,a)){const a=vo(r,f+20);if(w+d+a==n){const a=await zo(t,r,l,f,w,n,o);if(2==a){if(s||(s=Ao(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=Ao(u,f,w))}}return s||(s=i),s||(s=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let o,s;for await(const[e,i,c,l,u]of xo(t,a)){const a=Ao(c,l,u);o||(o=a);const d=await zo(t,e,i,l,u,n,r);if(2==d)return a;1!=d||s||(s=a)}return s||o})(t,r,o)),{Gt:s,Xt:c}})(s,p,m);if(!E)throw await(async t=>await yo(t)==a)(s)?Error(Va):Error(Ma);p&&R>1&&Fo("multiple end of central directory records");const F=At(E);let D=Io(F,12),U=Io(F,16);const k=E.offset,T=vo(F,20),v=k+d+T;s.size-v>m&&Fo("appended data");let I=vo(F,4);const M=s.Zt||0;let N,j,P,_,W=vo(F,6),L=vo(F,10),B=0,V=w;const Z=U==t||D==t||L==e||W==e;if(U!=t&&W!=e&&(U+=mo(s,W)),Z){const r=E.offset>=f?await Gn(s,E.offset-f,f):C,n=At(r);if(r.length==f&&Io(n,0)==u){U=mo(s,Io(n,4))+Co(n,8);let r=await Gn(s,U,w),a=At(r);const o=E.offset-f-w;if((r.length<w||Io(a,0)!=l)&&U!=o&&o>=0){const t=U;U=o,U>t&&(B=U-t),r=await Gn(s,U,w),a=At(r)}if(r.length<w||Io(a,0)!=l)throw Error(Na);if(j=!0,P=Co(a,4)>44,P){const t=Math.min(Number(Co(a,4))-44,s.size-U-w);t>0&&(V+=t,_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=At(t),n=vo(r,26);Object.assign(e,{compressionMethod:vo(r,0),compressedSize:Number(Co(r,2)),uncompressedSize:Number(Co(r,10)),encryptionAlgorithm:vo(r,18),bitLength:vo(r,20),flags:vo(r,22),hashAlgorithm:vo(r,24),hashData:t.subarray(28,28+n)})}return e})(await Gn(s,U+w,t)))}I==e?I=Io(a,16):h&&I!=Io(a,16)&&Fo("mismatched zip64 end of central directory record"),W==e?W=Io(a,20):h&&W!=Io(a,20)&&Fo("mismatched zip64 end of central directory record"),L==e?L=Co(a,32):h&&L!=Co(a,32)&&Fo("mismatched zip64 end of central directory record"),D==t?D=Co(a,40):h&&D!=Co(a,40)&&Fo("mismatched zip64 end of central directory record"),U=mo(s,W)+Co(a,48)+B}}let H=D;const G=E.offset-(j?V+f:0);if(U>=s.size&&(B=s.size-U-D-d,U=s.size-D-d),M!=I)throw Error(Va);if(U<0)throw Error(Ca);let J=0,Q=await Gn(s,U,D),$=At(Q);if(D){if(Q.length<4)throw Error(Ca);const t=G-D;if(U!=t&&W==I){let e=!(Io($,J)==i||_&&_.compressedSize||so($));if(!e&&t>=0&&t+4<=s.size&&(e=Io(At(await Gn(s,t,4)),0)==i),e){const e=U;U=t,U>e&&(B+=U-e),Q=await Gn(s,U,D),$=At(Q)}}}const tt=G-U;if(D!=tt&&tt>=0&&W==I&&(D=tt,Q=await Gn(s,U,D),$=At(Q)),U<0||U>=s.size)throw Error(Ca);o.directoryOffset=U,o.directoryLength=H;const et=Oo(o,n,"decryptCentralDirectory");let rt,at;if(et&&L&&Q.length>=4&&Io($,0)!=i&&(P||so($))){const t=((t,e,r)=>{const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r})(_,H,Q.length);at=Q.subarray(t),Q=await et(Q.subarray(0,t),_),$=At(Q),H=Q.length,rt=!0}N=U;const ot=Do(o,n,"filenameEncoding"),st=Do(o,n,"commentEncoding"),it=h?new Set:O;let ct;for(let t=0;t<L;t++){const a=new oo(s,o.options);if(J+46>Q.length||Io($,J)!=i){if(0==t&&!rt&&(P||so($)))throw Error(Ka);throw Error(ja)}co(a,$,J+6);const c=!!a.bitFlag.languageEncodingFlag,l=J+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=vo($,J+4),w=!(f>>8),p=f>>8==3,m=Q.subarray(l,u),E=vo($,J+32),R=d+E,F=Q.subarray(d,R),D=c,U=c,k=Io($,J+38),T=k&r,v={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},I=Io($,J+42),C=Oo(o,n,"decodeText")||Yr,M=D?$a:ot||to,j=U?$a:st||to;let _=C(m,M,q);if(_===O&&(_=Yr(m,M)),b){const t=b(_);t!==O&&(_=t)}if(go(_,y)){const t=Error(Ya);throw t.filename=_,t}let W=C(F,j,K);W===O&&(W=Yr(F,j)),Object.assign(a,{index:t,Jt:rt,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:E,offset:I,diskNumberStart:vo($,J+34),internalFileAttributes:vo($,J+36),externalFileAttributes:k,msdosAttributesRaw:T,msdosAttributes:v,rawFilename:m,filenameUTF8:D,commentUTF8:U,rawExtraField:Q.subarray(u,d),rawComment:F,filename:_,comment:W}),lo(a,a,$,J+6),a.offset+=B,N=Math.min(mo(s,a.diskNumberStart)+a.offset,N),h&&(it.has(a.filename)&&(ct=!0),it.add(a.filename));const V=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&V&&(a.unixMode=V);const Z=!!(a.unixMode&x),H=!!(a.unixMode&A),Y=!!(512&a.unixMode),G=40960==((a.unixMode===O?V:a.unixMode)&S),X=!G&&(a.unixMode!==O?!!(73&a.unixMode):p&&!!(73&V)),tt=a.unixMode!==O&&(a.unixMode&S)==g,et=(V&S)==g;Object.assign(a,{setuid:Z,setgid:H,sticky:Y,symlink:G,unixExternalUpper:V,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:tt||et||w&&v.directory||a.filename.endsWith(z)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const nt=new Ia(a);nt.getData=(t,e)=>a.getData(t,nt,o.Yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=ke(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,nt,o.Yt,t),r},J=R;const{onprogress:at}=n;if(at)try{await at(t+1,L,new Ia(a))}catch{}yield nt}let lt=J;const ut=io(Q.subarray(J))||(rt?io(at):O);ut&&(o.digitalSignature=ut,lt=J+6+ut.length),h&&J!=H&<!=H&&Fo("trailing central directory data"),ct&&Fo("duplicate filename");const dt=Do(o,n,"extractPrependedData"),ft=Do(o,n,"extractAppendedData"),wt=(h||dt)&&L&&4==N&&await(async t=>{const e=await yo(t);return e==a||808471376==e})(s)?4:0;return h&&(B||L&&N>wt)&&Fo("prepended data"),dt&&(o.prependedData=N>wt?await Gn(s,wt,N-wt):C),o.comment=T?await Gn(s,k+d,T):C,ft&&(o.appendedData=v<s.size?await Gn(s,v,s.size-v):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class ao{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new no(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let oo=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,s={}){const i=this,c=ft(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:h,compressionMethod:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=i,{dataDescriptor:x}=m,A=e.localDirectory={},z=mo(l,f)+d,F=await Gn(l,z,R),D=At(F);let U=Do(i,s,M),k=Do(i,s,N);const T=Do(i,s,j);if(rt(U,k),U=U&&U.length&&U,k=k&&k.length&&k,w&&99!=w.originalCompressionMethod)throw Error(Ba);if(F.length<R||Io(D,0)!=n)throw Error(Pa);co(A,D,4);const{extraFieldLength:v,filenameLength:I}=A,V=Do(i,s,"checkLocalDirectory"),Z=Eo(s,i.options),H=((t,e)=>t===O?e!=X:!!t)(V,Z),q=((t,e)=>t===O?e==Y:!!t)(V,Z);let K=C;if(q&&(I||v)){const t=await Gn(l,z+R,I+v);K=t.subarray(0,I),A.rawExtraField=t.subarray(I)}else A.rawExtraField=v?await Gn(l,z+R+I,v):C;q&&(A.rawFilename=K),lo(i,A,D,4,!0),H&&((t,e,r,n)=>{const{rawFilename:a}=t,o=t.Jt&&!(8192&~e.rawBitFlag);!n||o||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Fo("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Fo("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Fo("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||o||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Fo("mismatched local file header (crc32 or sizes)")})(i,A,K,q);const{lastAccessDate:G,creationDate:J,uid:Q,gid:$}=A;G&&(e.lastAccessDate=G),J&&(e.creationDate=J),Q!==O&&e.uid===O&&(e.uid=Q),$!==O&&e.gid===O&&(e.gid=$);const tt=i.encrypted&&A.encrypted&&!T,nt=tt&&!w;if(T||(e.zipCrypto=nt),tt&&!(64&~A.rawBitFlag))throw Error(La);const at=T?O:We(p);if(0!=p&&8!=p&&9!=p&&!at&&!T)throw Error(Ba);if(tt){if(!nt&&(w.strength<1||w.strength>3))throw Error(La);if(!U&&!k)throw Error(Wa)}const ot=z+R+I+v;if(ot+g>l.size)throw Error(Ha);const st=g,it=Ue(l.createReadable({offset:ot,size:st})),ct=et(Do(i,s,P)),lt=Do(i,s,"checkPasswordOnly");let ut=Do(i,s,"checkOverlappingEntry");const dt=Do(i,s,"checkOverlappingEntryOnly");dt&&(ut=!0);const{onstart:wt,onprogress:ht,onend:pt}=s,mt=0!=p&&!T,yt=T?g:S,bt=9==p;let Et=Do(i,s,W);bt&&(Et=!1);const St=Do(i,s,"checkCrc32"),gt=(St===O?Do(i,s,"checkSignature"):St)&&!T&&(!tt||nt||w&&1==w.vendorVersion),xt={options:{codecType:cr,password:U,rawPassword:k,zipCrypto:nt,encryptionStrength:w&&w.strength,checkCrc32:gt,checkAuthenticationCode:Do(i,s,"checkAuthenticationCode"),passwordVerification:nt&&(x?E>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:mt,encrypted:tt,useWebWorkers:Do(i,s,_),useCompressionStream:Et,transferStreams:Do(i,s,L),deflate64:bt,format:at?at.format:O,codecURI:at?at.codecURI:O,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:lt},config:c,ft:{signal:ct,size:st,onstart:wt,onprogress:ht,onend:pt}};let zt,Rt;ut&&await(async({reader:t,$t:e,index:r,offset:n,crc32:a,compressedSize:s,uncompressedSize:i,te:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Gn(t,c+s,f+4),n=At(r);let l=r.length==f+4&&Io(n,0)==o;if(l){const t=po(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==s&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=po(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+s+f,$t:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Za);throw t.overlappingEntry=e.$t,t}d.set(r,w)})({reader:l,$t:e,index:u,offset:z,crc32:b,compressedSize:g,uncompressedSize:S,te:ot,dataDescriptor:x||A.bitFlag.dataDescriptor,extraFieldZip64:h||A.extraFieldZip64,Yt:a});try{if(!dt){lt&&(t=new WritableStream),t=new Hn(t),await Kn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,g,mt)),({writable:zt}=t);const{outputSize:e}=await Lr({readable:it,writable:zt},xt);if(t.size+=e,e!=yt)throw Error(Ve)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!lt||e.message!=Zt)throw Rt=e,e}finally{if((qn(t)||!Do(i,s,B))&&zt&&!zt.locked){const t=zt.getWriter();if(Rt)try{await t.abort(Rt)}catch{}else await t.close()}}return lt||dt?O:t.getData?t.getData():zt}};function so(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Io(t,r))return!0;return!1}function io(t){if(t.length>=6){const e=At(t);if(Io(e,0)==s){const r=vo(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function co(t,e,r){const n=t.rawBitFlag=vo(e,r+2),a=!(1&~n),o=Io(e,r+6);Object.assign(t,{encrypted:a,version:vo(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&E)==E},rawLastModDate:o,lastModDate:Uo(o),filenameLength:vo(e,r+22),extraFieldLength:vo(e,r+24)})}function lo(t,e,r,n,a){const{rawExtraField:o}=e,s=e.extraField=new Map,i=At(o);let c=0;try{for(;c<o.length;){const t=vo(i,c),e=vo(i,c+2);s.set(t,{type:t,data:o.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=vo(r,n+4);Object.assign(e,{signature:Io(r,n+10),crc32:Io(r,n+10),compressedSize:Io(r,n+14),uncompressedSize:Io(r,n+18)});const u=s.get(1);u&&(((t,e)=>{e.zip64=!0;const r=At(t.data),n=eo.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ro[e].bytes,0);if(t.data.length<a)throw Error(_a);for(let a=0,o=0;a<n.length;a++){const[s,i]=n[a],c=ro[i];e[s]=t[s]=c.Kt(r,o),o+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=s.get(28789);d&&(uo(d,Jn,Qn,e,t),e.extraFieldUnicodePath=d);const f=s.get(25461);f&&(uo(f,$n,ta,e,t),e.extraFieldUnicodeComment=f);const w=s.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=At(t.data),a=To(n,4);Object.assign(t,{vendorVersion:To(n,0),vendorId:To(n,2),strength:a,originalCompressionMethod:r,compressionMethod:vo(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const E=s.get(13);E&&(fo(E,e),e.extraFieldPkwareUnix=E);const S=s.get(22613);S&&(fo(S,e),e.extraFieldUnixType1=S);const g=s.get(10);g&&(((t,e)=>{const r=At(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=vo(r,a),o=vo(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+o)),a+=4+o}}catch{}if(n&&24==n.length){const r=At(n),a=r.getBigUint64(0,!0),o=r.getBigUint64(8,!0),s=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:s});const i={lastModDate:ko(a),lastAccessDate:ko(o),creationDate:ko(s)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:o,rawCreationDate:s})}})(g,e),e.extraFieldNTFS=g);const x=s.get(b);let A;if(x&&(A=wo(x,e,!1),e.extraFieldUnix=x),!A){const t=s.get(y);t&&(wo(t,e,!0),e.extraFieldInfoZip=t)}const z=s.get(p);z&&(((t,e,r)=>{if(!t.data.length)return;const n=At(t.data),a=To(n,0),o=[],s=[];r?(1&~a||(o.push(oa),s.push(sa)),2&~a||(o.push(ia),s.push(ca)),4&~a||(o.push(la),s.push(ua))):t.data.length>=5&&(o.push(oa),s.push(sa));let i=1;o.forEach((r,a)=>{if(t.data.length>=i+4){const o=Io(n,i);e[r]=t[r]=new Date(1e3*(0|o));const c=s[a];t[c]=o}i+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=s.get(m);R&&(e.extraFieldUSDZ=R)}function uo(t,e,r,n,a){if(t.data.length<5)return void(t.valid=!1);const o=At(t.data),s=new It;s.append(a[r]);const i=At(new Uint8Array(4));i.setUint32(0,s.get(),!0);const c=Io(o,1);Object.assign(t,{version:To(o,0),[e]:Yr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Io(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function fo(t,e){if(t.data.length<8)return;const r=At(t.data),n={lastAccessDate:new Date(1e3*(0|Io(r,0))),lastModDate:new Date(1e3*(0|Io(r,4)))};t.data.length>=12&&(n.uid=vo(r,8),n.gid=vo(r,10)),Object.assign(t,n),Object.assign(e,n)}function wo(t,e,r){try{const n=At(t.data);let a,o;if(r){let e=0;const r=To(n,e++),s=To(n,e++);a=ho(t.data.subarray(e,e+s)),e+=s;const i=To(n,e++);o=ho(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:o})}else t.data.length>=4&&(a=vo(n,0),o=vo(n,2),Object.assign(t,{uid:a,gid:o}));return a!==O&&(e.uid=a),o!==O&&(e.gid=o),a!==O||o!==O}catch{}}function ho(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function po(t,e,r){const n=Io(t,e);let a,o;return r?(a=Co(t,e+4),o=Co(t,e+12)):(a=Io(t,e+4),o=Io(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:o}}function mo(t,e){return t.qt?t.qt(e):0}async function yo(t){return Io(At(await Gn(t,0,4)))}function bo(t){return t===Y||t===G||t===X}function Eo(t,e){return So(t,So(e,G))}function So(t,e){const r=t.strictness;if(r!==O){if(!bo(r))throw Error(Ga);return r}const n=t.checkAmbiguity;return n===O?e:n?Y:e==X?X:G}function go(t,e){if(e==X)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Qa.test(t))||e==Y&&(r.includes(".")||r.includes(""))}async function*xo(t,e){const r=t.size-e,n=await Gn(t,r,e),a=At(n);for(let t=n.length-d;t>=0;t--)Io(a,t)==c&&(yield[a,r,n,t,r+t])}function Ao(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function zo(r,n,a,o,s,c,l){const d=vo(n,o+10),w=Io(n,o+12),h=Io(n,o+16);if(d==e||w==t||h==t)return await Ro(r,n,a,s-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=vo(n,o+6);for(const t of[s-w,mo(r,p)+h])if(await Ro(r,n,a,t,c,l)==i)return 2;return 0}async function Ro(t,e,r,n,a,o){return n<0||n+4>a?O:n>=r?Io(e,n-r):o.count>0?(o.count--,Io(At(await Gn(t,n,4)),0)):O}function Fo(t){const e=Error(qa);throw e.reason=t,e}function Do(t,e,r){return e[r]===O?t.options[r]:e[r]}function Oo(t,e,r){return tt(Do(t,e,r))}function Uo(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function ko(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function To(t,e){return t.getUint8(e)}function vo(t,e){return t.getUint16(e,!0)}function Io(t,e){return t.getUint32(e,!0)}function Co(t,e){return Number(t.getBigUint64(e,!0))}var Mo=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:qa,ERR_BAD_FORMAT:Ca,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ja,ERR_ENCRYPTED:Wa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ka,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ha,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Na,ERR_EOCDR_NOT_FOUND:Ma,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:_a,ERR_INVALID_AUTHENTICATION_CODE:Vt,ERR_INVALID_COMPRESSED_DATA:Ze,ERR_INVALID_CRC32:He,ERR_INVALID_FILENAME_VALIDATION:Xa,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ja,ERR_INVALID_PASSWORD:Lt,ERR_INVALID_SIGNATURE:Bt,ERR_INVALID_STRICTNESS:Ga,ERR_INVALID_UNCOMPRESSED_SIZE:Ve,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Pa,ERR_OVERLAPPING_ENTRY:Za,ERR_SPLIT_ZIP_FILE:Va,ERR_UNSAFE_FILENAME:Ya,ERR_UNSUPPORTED_COMPRESSION:Ba,ERR_UNSUPPORTED_ENCRYPTION:La,ERR_WORKER_STARTUP_TIMEOUT:dr,ZipReader:no,ZipReaderStream:ao});const No="File already exists",jo="Zip file comment exceeds 64KB",Po="Invalid zip file comment (must be a Uint8Array)",_o="File entry comment exceeds 64KB",Wo="Invalid file entry comment (must be a string)",Lo="Invalid date (must be a valid Date instance)",Bo="File entry name exceeds 64KB",Vo="Version exceeds 65535",Zo="The strength must equal 1, 2, or 3",Ho="Encryption is not supported in USDZ files",qo="Encryption is not supported when the 'passThrough' option is set",Ko="Invalid extra field (must be a Map)",Yo="Invalid extra field type (must be integer 0..65535)",Go="Invalid extra field data (must be a Uint8Array)",Xo="Extra field data exceeds 64KB",Jo=-2147483648,Qo=2147483647,$o=BigInt(0),ts=BigInt("0x7fffffffffffffff"),es="Zip64 is not supported (set the 'zip64' option to 'true')",rs="Undefined uncompressed size",ns="Undefined compression method",as="Undetermined size",os="Undefined reader",ss="Zip file not empty",is="Invalid uid (must be integer 0..2^32-1)",cs="Invalid gid (must be integer 0..2^32-1)",ls="Invalid UNIX mode (must be integer 0..65535)",us="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ds="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",fs="Invalid msdosAttributesRaw (must be integer 0..255)",ws="Invalid msdosAttributes (must be an object with boolean flags)",hs="Invalid level (must be integer 0..9)",ps="Signature data exceeds 64KB",ms=new Uint8Array([7,0,2,0,65,69,3,0,0]),ys="infozip",bs="unix";let Es=0;const Ss=[];class gs{constructor(t,e={}){t=new Hn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,ee:r>0&&r!==U&&n>0&&n!==U,options:e,re:new Map,ne:new Set,offset:e[V]===O?t.size||t.writable.size||0:e[V],ae:e[V]===O?0:e[V]-(t.size||t.writable.size||0),oe:new Set,se:0,ie:O})}async prependZip(e){if(this.ne.size)throw Error(ss);e=new Zn(e),await Kn(e),e.size!==O&&e.readUint8Array||(e=new mn(await ke(e.readable)),await Kn(e));const{ZipReader:r}=await Promise.resolve().then(()=>Mo),n=new r(e),o=await n.getEntries();await n.close(),await Kn(this.writer);const{directoryOffset:s}=n;let i=0;this.ee&&(delete this.ee,await(async t=>At(await Gn(t,0,4)).getUint32(0,!0)==a)(e)||(await Bs(this.writer,Ls()),i=4,this.offset+=i));const c=await(async(t,e,r,n,a)=>{const{writer:o}=t,s=new Map;if(o.closeDisk){const a=Array.from(r).sort((t,r)=>Ws(e,t)-Ws(e,r));let i=0;for(const r of a){const n=Ws(e,r);await Ps(t,e,i,n-i),Ns(o,await _s(e,n))&&await o.closeDisk(),s.set(r,{offset:js(t,o),diskNumberStart:Cs(o)}),i=n}await Ps(t,e,i,n-i)}else await Ps(t,e,0,n),r.forEach(t=>s.set(t,{offset:a+Ws(e,t),diskNumberStart:0}));return s})(this,e,o,s,i);this.ne=new Set(o.map(t=>t.filename)),this.re=new Map(o.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:o,rawFilename:s,bitFlag:i,encrypted:l,uncompressedSize:u,compressedSize:d,zip64:f}=e;let{compressionMethod:w,ce:h,le:p,ue:m,de:y,fe:b,rawExtraField:E}=e;const{level:S,languageEncodingFlag:g,dataDescriptor:x}=i;h=h||C,p=p||C,m=m||C,y=y||C,b=b||C,E=E||C,e.extraFieldAES&&(w=99);const A=si(h,p,m,y,b,E),z=f&&u>=t,R=f&&d>=t,F=-7&ci(S,g,x,l,w)|S<<1,{we:D,he:U}=ii({version:r,bitFlag:F,compressionMethod:w,uncompressedSize:u,compressedSize:d,rawLastModDate:n,rawFilename:s,pe:R,me:z,extraFieldLength:A}),{crc32:k}=e;k!==O&&ni(U,10,k);const{offset:T,diskNumberStart:v}=c.get(e);return Object.assign(e,{me:z,pe:R,offset:T,diskNumberStart:v,ye:!1,ce:h,le:p,ue:m,de:y,fe:b,rawExtraField:E,extendedTimestamp:m.length>0||y.length>0,be:1+(a?2:0)+(o?4:0),we:D,he:U}),[e.filename,e]}))}async add(e="",n,a={}){const o=this;a=Object.assign({},a);const{oe:s}=o;let i,c;Es<ft().maxWorkers?Es++:await new Promise(t=>Ss.push(t));try{if(e=e.trim(),Ks(o,a,Aa)&&!e.endsWith(z)&&(e+=z),o.ne.has(e))throw Error(No);return o.ne.add(e),c=!0,i=(async(e,n,a,o)=>{const s=zs(e,n,o);({name:n}=s);const i=Rs(e,n,o),{comment:c}=i,l=o[Da];let u;e.re.set(n,O);try{const{Ee:c}=i;0==c.level||c.compressionMethod!==O||c.passThrough||await mr(ft())||(c.level=0);const l=await(async(t,e,{Ee:r},n)=>{if(r.passThrough&&!e&&!Ks(t,n,Aa))throw Error(os);let a;return e&&(e=new Zn(e),await Kn(e),({size:a}=e)),Object.assign({reader:e},Ds(t,!!e,a,r,n))})(e,a,i,o);({reader:a}=l);const d=Ms(e.writer),f=Cs(e.writer),w=Os(o=Object.assign({},o,s.Ee,i.Ee,l.Ee,{signature:o[Fa],crc32:o.crc32===O?o[Fa]:o.crc32,offset:e.offset-d,diskNumberStart:f})),h=Ts(o),p=si(w.Se,h.ge);u=await(async(e,n,a,o,s)=>{const{re:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:d}=s,{xe:f}=o,w=e.options[Z],h=e.ie;let p,m,y,b,E,S,g,x={},A=0;i.set(n,x),e.ie=x;try{let m;l&&(m=h&&h.Ae,x.Ae=new Promise(t=>y=t)),s.bufferedWrite||!l||e.ze||e.se||!u?(p=!0,e.se++,g=s.createTempStream?await s.createTempStream():new TransformStream(O,O,{highWaterMark:U}),g.size=0,await Kn(c)):(g=c,await z()),await Kn(g);const D=Ms(c);e.ee&&(delete e.ee,await Bs(c,Ls()),e.offset+=4),w&&!p&&Us(o,e.offset-D);const{Se:k}=f;p||(await m,await F());const T=Cs(c),v=js(e,c);if(x.diskNumberStart=T,p||(E=!0,S=c.size,await Bs(g,k)),x=await(async(e,n,{diskNumberStart:a,Ae:o},s,i,c)=>{const{xe:l,Re:u,Fe:d}=s,{we:f,he:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:E,ce:S,De:g,ue:x,be:A,de:z,fe:R,le:F}=l,{ge:D}=u,{rawFilename:U,lastAccessDate:k,creationDate:T,password:v,rawPassword:I,level:C,zip64:M,me:N,pe:j,zipCrypto:P,dataDescriptor:_,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:ot,setuid:st,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={Ae:o,versionMadeBy:B,zip64:M,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,ce:S,De:g,ue:x,de:z,fe:R,le:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!ot,setuid:st,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,Et=0;wt||(bt=0);const{writable:St}=n;if(e){const a=Ue(Xn(e)),o=e.size,s={options:{codecType:ir,level:C,rawPassword:I,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:E},config:i,ft:{signal:X,size:o,onstart:K,onprogress:Y,onend:G}};try{const e=await Lr({readable:a,writable:St},s);if(Et=e.outputSize,n.size+=Et,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!j&&Et>=t||!N&&bt>=t)throw Error(es)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Re:a},{zip64:o,zipCrypto:s,passThrough:i,dataDescriptor:c})=>{const{he:l,encrypted:u}=n,{Oe:d,Ue:f}=a;u&&!s&&!i||t===O||(ni(l,10,t),c&&ni(d,f,t)),o?c&&(ai(d,f+4,BigInt(e)),ai(d,f+12,BigInt(r))):(ni(l,14,e),ni(l,18,r),c&&(ni(d,f+4,e),ni(d,f+8,r)))})({crc32:yt,compressedSize:Et,uncompressedSize:bt,xe:l,Re:u},c),_&&await Bs(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:Et,lastModDate:h,rawLastModDate:p,creationDate:T,lastAccessDate:k,encrypted:!!m,zipCrypto:!!P,size:d+Et,compressionMethod:E,version:b,we:f,he:w,signature:yt,crc32:!m||P||wt?yt:O,be:A,me:N,pe:j}),mt})(a,g,x,o,ft(),s),p||(E=!1),i.set(n,x),x.filename=n,p){if(await Promise.all([g.writable.getWriter().close(),m]),await z(),b=!0,S=c.size,await F(),x.diskNumberStart=Cs(c),x.offset=js(e,c),w){const t=o.Fe;Us(o,e.offset-Ms(c)),x.size+=o.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,De:n,crc32:a,compressedSize:o,uncompressedSize:s,me:i,pe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&ni(l,14,a),c||ni(l,18,o),i||ni(l,22,s)),r&&n){const e=R+si(t)+4;ai(l,e,BigInt(s)),ai(l,e+8,BigInt(o))}})(x,f.ke,s),await Bs(c,f.Se),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=si(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(g.readable,c,d),c.size+=g.size,b=!1}else x.diskNumberStart=T,x.offset=v;return e.offset+=x.size,x}catch(t){if(b||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-S,p&&(e.offset+=A)}throw i.delete(n),t}finally{if(p&&e.se--,y&&y(),m&&m(),p&&g&&g.dispose)try{await g.dispose()}catch{}}async function z(){e.ze=!0;const{Te:t}=e;e.Te=new Promise(t=>m=()=>{e.ze=!1,t()}),await t}async function F(){Ns(c,si(f.Se))&&await c.closeDisk()}})(e,n,a,{xe:w,Re:h,Fe:p},o)}catch(t){throw e.re.delete(n),t}return Object.assign(u,{name:n,comment:c,extraField:l,[wa]:u.internalFileAttributes,[ha]:u.externalFileAttributes}),new Ia(u)})(o,e,n,a),s.add(i),await i}catch(t){throw c&&o.ne.delete(e),t}finally{s.delete(i);const t=Ss.shift();t?t():Es--}}remove(t){const{ne:e,re:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{oe:a,writer:o}=this,{writable:f}=o;if(!(r instanceof Uint8Array))throw Error(Po);if(si(r)>e)throw Error(jo);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const o=vs(r.re),{ve:f,Ie:w}=await(async(r,n,a)=>{const{re:o,writer:s}=r,c=new Uint8Array(n);await Kn(s);let l=0,u=0,d=Cs(s),f=Ms(s);for(const[r,n]of Array.from(o.values()).entries()){const{offset:w,rawFilename:h,ce:p,le:m,ue:y,de:b,fe:E,rawExtraField:S,rawComment:g,versionMadeBy:x,we:A,he:z,me:R,pe:F,ye:D,Ce:O,internalFileAttributes:U,externalFileAttributes:k,diskNumberStart:T,uncompressedSize:v,compressedSize:I}=n,C=si(p,m,y,b,E,S),M=46+si(h,g)+C;Ns(s,l+M-u)&&(await Bs(s,c.slice(u,l)),u=l,await s.closeDisk()),0==r&&(d=Cs(s),f=Ms(s)),R||ni(z,18,v),F||ni(z,14,I),(O||D)&&n.version<45&&ri(z,0,45);const N=Is(M);if(N.Me(i),N.Ne(x),N.je(A.subarray(0,24)),N.Ne(C),N.Ne(si(g)),N.Ne(D?e:T),N.Ne(U),N.Me(k),N.Me(O?t:w),N.je(h),N.je(p),N.je(m),N.je(y),N.je(b),N.je(E),N.je(S),N.je(g),oi(c,N.Lt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,o.size,new Ia(n))}catch{}}return await Bs(s,u?c.slice(u):c),{ve:{diskNumber:d,diskOffset:f},Ie:c}})(r,o,a),h=await(async(t,r,n)=>{const a=Gs(t,n,H);if(a){const n=await a(r),o=si(n);if(o>e)throw Error(ps);const i=Is(6+o);return i.Me(s),i.Ne(o),i.je(n),await Bs(t.writer,i.Lt),6+o}return 0})(r,w,a);await(async(r,n,a,o)=>{const{writer:s}=r,{ve:i,Pe:f}=o;let{_e:w}=o,h=r.re.size,p=i.diskNumber,m=js(r,i),y=Cs(s);Ns(s,d)&&y++;let b=Ks(r,a,ba);if(m>=t||w>=t||h>=e||y>=e){if(!1===b)throw Error(es);b=!0}const E=si(n);if(E>e)throw Error(jo);const S=Is(b?98:d);Ns(s,si(S.Lt)+E)&&await s.closeDisk(),y=Cs(s),b&&(S.Me(l),S.We(44),S.Ne(45),S.Ne(45),S.Me(y),S.Me(p),S.We(h),S.We(h),S.We(w),S.We(m),S.Me(u),S.Me(y),S.We(BigInt(js(r,s))+BigInt(w)+BigInt(f)),S.Me(y+1),Ks(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),S.Me(c),S.Ne(y),S.Ne(p),S.Ne(h),S.Ne(h),S.Me(w),S.Me(m),S.Ne(E),await Bs(s,S.Lt),E&&await Bs(s,n)})(r,n,a,{ve:f,_e:o,Pe:h})})(this,r,n),!qn(o)&&Ks(this,n,B)||await f.getWriter().close(),o.getData?o.getData():f}}class xs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new gs(r,t),this.oe=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return As(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return As(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.oe)),this.zipWriter.close(t,e)}}function As(t,e,r){t.oe.add(e),e.catch(t=>{try{r(t)}catch{}})}function zs(n,a,o){a=a.trim();let s=Ks(n,o,ya),i=Ks(n,o,ga,s?20:768);const c=Ks(n,o,za),l=Qs(n,o,"uid"),u=Qs(n,o,"gid");let d=Qs(n,o,Oa),f=Ks(n,o,"unixExtraFieldType"),w=Ks(n,o,Ua),h=Ks(n,o,ka),p=Ks(n,o,Ta);if(l!==O&&(!Number.isInteger(l)||l<0||l>t))throw Error(is);if(u!==O&&(!Number.isInteger(u)||u<0||u>t))throw Error(cs);if(d!==O&&(!Number.isInteger(d)||d<0||d>e))throw Error(ls);if(f!==O&&f!==ys&&f!==bs)throw Error(us);if(f===bs&&(l!==O&&l>e||u!==O&&u>e))throw Error(ds);f!==O||l===O&&u===O||(f=ys);let m=Qs(n,o,pa),y=Ks(n,o,ma);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f||c?(s=!1,i=i&r|768):b&&(s=!0,i&=r),m!==O&&(!Number.isInteger(m)||m<0||m>r))throw Error(fs);if(y&&(typeof y!==v||Array.isArray(y)))throw Error(ws);if(i>e)throw Error(Vo);let E=Xs(n,o,fa,ha);const R=E!==O;R||(E=0),!o[Aa]&&a.endsWith(z)&&(o[Aa]=!0);const F=Ks(n,o,Aa);if(F?(a.endsWith(z)||(a+=z),R||(E=16,s||(E|=16877<<16))):s||R||(E=c?493<<16:27525120),!s){const t=d!==O||!!(w||h||p);d=d===O?E>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=A:h=!!(d&A),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&S||(d|=32768),E=(d&e)<<16|E&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:o,directory:s,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),o&&(c|=4),s&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(E=E&t|m&r),{name:a,Ee:{versionMadeBy:i,msDosCompatible:!!s,externalFileAttributes:E,unixExternalUpper:E>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&S),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function Rs(t,r,n){const a=Gs(t,n,"encodeText")||Mt;let o=a(r,q);if(o===O&&(o=Mt(r)),si(o)>e)throw Error(Bo);const s=n[$n]||"";if(typeof s!=I)throw Error(Wo);let i=a(s,K);if(i===O&&(i=Mt(s)),si(i)>e)throw Error(_o);const c=Ks(t,n,Sa,20);if(c>e)throw Error(Vo);const l=Ys(t,n,oa,new Date),u=Ys(t,n,ia),d=Ys(t,n,la),f=Xs(t,n,da,wa,0),w=Ks(t,n,j),h=Ks(t,n,M),p=Ks(t,n,N);rt(h,p);const m=Qs(t,n,"encryptionStrength",3),y=Ks(t,n,xa),b=Ks(t,n,"extendedTimestamp",!0),E=Ks(t,n,"ntfsTimestamp"),S=Ks(t,n,"keepOrder",!0),g=Ks(t,n,_),x=Ks(t,n,L),A=Ks(t,n,"bufferedWrite"),z=Gs(t,n,"createTempStream"),R=Ks(t,n,"dataDescriptorSignature",!0),F=et(Ks(t,n,P)),D=Ks(t,n,"useUnicodeFileNames",!0),U=Ks(t,n,Ra),k=w||U===O?O:We(U);if(!w&&U!==O&&0!==U&&8!==U&&!k)throw Error("Compression method not supported");let T=Qs(t,n,"level");if(T!==O&&(!Number.isInteger(T)||T<0||T>9))throw Error(hs);if(t.options[Z]){if(h!==O||p!==O)throw Error(Ho);T===O&&U===O&&(T=0)}w&&(T=O);let v=Ks(t,n,W),C=Ks(t,n,"dataDescriptor");A&&C===O&&(C=!1),(C===O||y)&&(C=!0),T!==O&&6!=T&&(v=!1);const B=Ks(t,n,ba);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&m<=3))throw Error(Zo);const V=Fs(n[Da]),H=Fs(n.localExtraField);return{comment:s,Ee:{rawFilename:o,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:E,keepOrder:S,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:z,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:k?k.format:O,codecURI:k?k.codecURI:O,Le:k?k.versionNeeded:O,level:T,useCompressionStream:v,dataDescriptor:C,zip64:B,rawExtraField:V,Be:H}}}function Fs(t){if(!t)return C;if(!(t instanceof Map))throw Error(Ko);let r=0,n=0;t.forEach((t,n)=>{if(!Number.isInteger(n)||n<0||n>e)throw Error(Yo);if(!(t instanceof Uint8Array))throw Error(Go);if(si(t)>e)throw Error(Xo);r+=4+si(t)});const a=new Uint8Array(r),o=At(a);return t.forEach((t,e)=>{ri(o,n,e),ri(o,n+2,si(t)),oi(a,t,n+4),n+=4+si(t)}),a}function Ds(e,r,n,a,o){const{passThrough:s,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(s&&r){if(m=o[ea],m===O)throw Error(rs);if(h===O)throw Error(ns)}const y=!0===f,b=Ks(e,o,Ea);if(r&&s&&!b&&si(c,l))throw Error(qo);const E=r&&(!!(c&&si(c)||l&&si(l))||s&&b);r||(w=0,h=0);const S=E?i?12:16+4*u:0;r&&(s?(o.uncompressedSize=m,p=n===O?$s(m)+S:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(o.uncompressedSize=m=n,p=(ti(h,w)?$s(m):m)+S));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error(es);f=!0}return f=f||!1,{Ve:p,Ee:{dataDescriptor:d,zip64:f,me:g,pe:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:E}}}function Os(t){const{rawFilename:r,lastModDate:a,lastAccessDate:o,creationDate:s,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Be:m,encryptionStrength:E,extendedTimestamp:S,ntfsTimestamp:g,passThrough:x,encrypted:A,me:z,pe:U,uncompressedSize:k,crc32:T}=t;let{version:v,compressionMethod:I}=t;const M=!f&&ti(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!z&&!U||j),_=P||c&&d&&(z||U);if(c&&(z||U)){const t=20,e=Is(t);if(e.Ne(1),e.Ne(t-4),N=e.Lt,P&&(e.We(k),j)){const t=A?l?12:16+4*E:0;e.We(x?0:k+t)}}else N=C;let W,L,B,V,Z;if(A&&!l){const t=Is(si(ms)+2);t.Ne(h),t.je(ms),W=t.Lt,W[8]=E}else W=C;if(S){const t=Zs(a),e=Hs(t);if(e){const e=9+(o?4:0)+(s?4:0),r=Is(e);V=1+(o?2:0)+(s?4:0),r.Ne(p),r.Ne(e-4),r.Ze(V),r.Me(t),o&&r.Me(qs(Zs(o))),s&&r.Me(qs(Zs(s))),B=r.Lt}else B=C;if(g===O?!e||o||s:g)try{const t=Vs(a),e=Is(36);e.Ne(10),e.Ne(32),e.He(4),e.Ne(1),e.Ne(24),e.We(t),e.We(o?Vs(o):t),e.We(s?Vs(s):t),L=e.Lt}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=ys||r===O&&n===O)if(a!=bs||r===O&&n===O)Z=C;else{const t=Is(8);t.Ne(b),t.Ne(4),t.Ne((r===O?0:r)&e),t.Ne((n===O?0:n)&e),Z=t.Lt}else{const t=ks(r),e=ks(n),a=3+t.length+e.length,o=Is(4+a);o.Ne(y),o.Ne(a),o.Ze(1),o.Ze(t.length),o.je(t),o.Ze(e.length),o.je(e),Z=o.Lt}}catch{Z=C}I===O&&(I=M?8:0);const{Le:H}=t;M&&H!==O&&(v=v>H?v:H),c&&(v=v>45?v:45),A&&!l&&(v=v>51?v:51,x&&T!==O&&(W[4]=1),W[9]=I,I=99);const q=_?si(N):0,K=q+si(W,B,L,Z,w,m);if(K>e)throw Error(Xo);const Y=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{we:G,he:X,rawLastModDate:J}=ii({version:v,bitFlag:ci(i,u,d,A,I),compressionMethod:I,uncompressedSize:k,lastModDate:Y<D?D:Y>F?F:Y,rawFilename:r,pe:U,me:z,extraFieldLength:K}),Q=Is(R+si(r)+K),$=Q.Lt,tt=At($);return Q.Me(n),Q.je(G),Q.je(r),_&&Q.je(N),Q.je(W),Q.je(B),Q.je(L),Q.je(Z),Q.je(w),Q.je(m),d&&(U||ni(tt,18,0),z||ni(tt,22,0)),{Se:$,ke:tt,we:G,he:X,lastModDate:a,rawLastModDate:J,encrypted:A,compressed:M,version:v,compressionMethod:I,be:V,ce:C,De:q,ue:B,de:L,fe:Z,le:W,extraFieldLength:K}}function Us(t,e){const{xe:r}=t;let{Se:n,extraFieldLength:a}=r,o=64-(e+si(n))%64;o<4&&(o+=64);const s=new Uint8Array(o),i=At(s);ri(i,0,m),ri(i,2,o-4);const c=n;r.Se=n=new Uint8Array(si(c)+o),oi(n,c),oi(n,s,si(c));const l=At(n);ri(l,28,a+o),r.ke=l,t.Fe+=o}function ks(t){if(t===O)return C;{const e=new Uint8Array(4);At(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Ts({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,s=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=At(a),r&&(s=4,ni(n,0,o))),{ge:a,Oe:n,Ue:s}}function vs(r){let n=0;for(const[,a]of r){const{rawFilename:r,le:o,rawComment:s,de:i,fe:c,rawExtraField:l,extendedTimestamp:u,be:d,lastModDate:f,me:w,pe:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,E=a.diskNumberStart>=e;let S,g;if(b||E||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(E?4:0),e=Is(t);e.Ne(1),e.Ne(t-4),w&&e.We(m),h&&e.We(y),b&&e.We(a.offset),E&&e.Me(a.diskNumberStart),S=e.Lt}else S=C;a.ce=S,a.Ce=b,a.ye=E;const x=Zs(f);if(u&&Hs(x)){const t=Is(9);t.Ne(p),t.Ne(5),t.Ze(d),t.Me(x),g=t.Lt}else g=C;a.ue=g;const A=si(S,o,i,c,g,l);if(A>e)throw Error(Xo);n+=46+si(r,s)+A}return n}function Is(t){const e=new Uint8Array(t),r=At(e);let n=0;return{Lt:e,Ze:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},Ne:t=>{ri(r,n,t),n+=2},Me:t=>{ni(r,n,t),n+=4},We:t=>{ai(r,n,BigInt(t)),n+=8},je:t=>{oi(e,t,n),n+=si(t)},He:t=>n+=t}}function Cs(t){const{diskNumber:e=0}=t;return e}function Ms(t){const{diskOffset:e=0}=t;return e}function Ns(t,e){const{availableSize:r=U}=t;return e>r}function js(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}async function Ps(t,e,r,n){if(n>0){const{writer:a}=t;await Xn(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function _s(t,e){const r=await Gn(t,e,R);if(si(r)<R)return R;const n=At(r);return R+ei(n,26)+ei(n,28)}function Ws(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function Ls(){const t=new Uint8Array(4);return ni(At(t),0,a),t}async function Bs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=si(e),await n.write(e)}finally{n.releaseLock()}}function Vs(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<$o?$o:e>ts?ts:e}}function Zs(t){return Math.floor(t.getTime()/1e3)}function Hs(t){return t>=Jo&&t<=Qo}function qs(t){return Math.min(Qo,Math.max(Jo,t))}function Ks(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function Ys(t,e,r,n){const a=Ks(t,e,r,n);if(null===a)return n;if(a!==O&&(typeof a.getTime!=T||Number.isNaN(a.getTime())))throw Error(Lo);return a}function Gs(t,e,r){return tt(Ks(t,e,r))}function Xs(t,e,r,n,a){const o=Js(e,r,n),s=o===O?Js(t.options,r,n):o;return s===O?a:s}function Js(t,e,r){return t[e]===O?t[r]:t[e]}function Qs(t,e,r,n){return nt(Ks(t,e,r,n))}function $s(t){return t+5*(Math.floor(t/16383)+1)}function ti(t,e){return t===O?e===O||e>0:0!==t}function ei(t,e){return t.getUint16(e,!0)}function ri(t,e,r){t.setUint16(e,r,!0)}function ni(t,e,r){t.setUint32(e,r,!0)}function ai(t,e,r){t.setBigUint64(e,r,!0)}function oi(t,e,r){t.set(e,r)}function si(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function ii({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:o,lastModDate:s,rawLastModDate:i,rawFilename:c,pe:l,me:u,extraFieldLength:d}){const f=Is(26),w=f.Lt,h=At(w);if(f.Ne(e),f.Ne(r),f.Ne(n),i===O){const t=new Uint32Array(1),e=At(t);ri(e,0,(s.getHours()<<6|s.getMinutes())<<5|s.getSeconds()/2),ri(e,2,(s.getFullYear()-1980<<4|s.getMonth()+1)<<5|s.getDate()),i=t[0]}return f.Me(i),f.He(4),l||o!==O?f.Me(l?t:o):f.He(4),u||a!==O?f.Me(u?t:a):f.He(4),f.Ne(si(c)),f.Ne(d),{we:w,he:h,rawLastModDate:i}}function ci(t,e,r,n,a){let o=0;return e&&(o|=E),r&&(o|=8),8!=a&&9!=a||(t>=0&&t<=3&&(o|=6),t>3&&t<=5&&(o|=4),9==t&&(o|=2)),n&&(o|=1),o}function li(){return"application/octet-stream"}const ui=1048576,di=".zip.js-temp";function fi(t={}){const{thresholdBytes:e=ui,directoryName:r=di,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function o(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,s,i=0,c=!1;const l=new WritableStream({async write(s){c?await a.write(s):(t.push(s),i+=s.length,i>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!s){const t=await n.getFile();s=t.stream().getReader()}const{value:t,done:r}=await s.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){s&&await s.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const wi=1048576;function hi(t={}){const{thresholdBytes:e=wi}=t;return()=>{const t=[];let r,n,a,o=0,s=!1;const i=new WritableStream({async write(a){s?await r.write(a):(t.push(a),o+=a.length,o>e&&await(async()=>{const e=new TransformStream;n=ke(e.readable),r=e.writable.getWriter(),s=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(s){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const pi=1048576,mi=".zip.js-temp",yi="createSyncAccessHandle is only available in dedicated workers";function bi(t={}){const{thresholdBytes:e=pi,directoryName:r=mi,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(yi);const a=n||(()=>navigator.storage.getDirectory());let o;function s(){return o||(o=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return()=>{const t=[];let r,n,a=0,o=!1,i=0,c=0;const l=new WritableStream({async write(c){o?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),o=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(o){const t=i-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{Et({baseURI:import.meta.url})}catch{}let Ei,Si,gi,xi,Ai;function zi(t,e,r={}){if(!Ei){const t=Error("WASM module not loaded");throw t.cause=Ai,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,o="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.qe=Si(a),this.in=Si(o),this.inBufferSize=o,!this.qe||!this.in)throw Error("allocation failed");if(this.Ke=new Uint8Array(a),t?(this.Ye=Ei.deflate_process,this.Ge=Ei.deflate_last_consumed,this.Xe=Ei.deflate_end,this.Je=Ei.deflate_new(),r="gzip"===e?Ei.deflate_init_gzip(this.Je,n):"deflate-raw"===e?Ei.deflate_init_raw(this.Je,n):Ei.deflate_init(this.Je,n)):"deflate64-raw"===e?(this.Ye=Ei.inflate9_process,this.Ge=Ei.inflate9_last_consumed,this.Xe=Ei.inflate9_end,this.Je=Ei.inflate9_new(),r=Ei.inflate9_init_raw(this.Je)):(this.Ye=Ei.inflate_process,this.Ge=Ei.inflate_last_consumed,this.Xe=Ei.inflate_end,this.Je=Ei.inflate_new(),r="deflate-raw"===e?Ei.inflate_init_raw(this.Je):"gzip"===e?Ei.inflate_init_gzip(this.Je):Ei.inflate_init(this.Je)),0!==r)throw Error("init failed:"+r)}catch(t){throw s(this),t}},transform(e,r){try{const n=e,o=new Uint8Array(xi.buffer),s=this.Ye,i=this.Ge,c=this.qe,l=this.Ke;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&gi&&(gi(this.in),this.in=0),this.in=Si(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");o.set(n.subarray(u,u+e),this.in);const d=s(this.Je,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(o.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(e<0)throw Error("process error:"+e)}const w=i(this.Je);if(0===w)break;u+=w}}catch(t){s(this),r.error(t)}},flush(e){try{const r=new Uint8Array(xi.buffer),n=this.Ye,o=this.qe,s=this.Ke;for(;;){const i=n(this.Je,0,0,o,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw Error("process error:"+t)}if(c&&(s.set(r.subarray(o,o+c),0),e.enqueue(s.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=s(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){s(this)}});function s(t){let e=0;return t.Je&&t.Xe&&(e=t.Xe(t.Je)),t.Je=0,t.in&&gi&&gi(t.in),t.in=0,t.qe&&gi&&gi(t.qe),t.qe=0,e}}class Ri{constructor(t="deflate",e){return zi(!0,t,e)}}class Fi{constructor(t="deflate",e){return zi(!1,t,e)}}Ri.ut=!0,Fi.ut=!0;let Di,Oi=!1;function Ui(){Di=null,(async()=>{await Promise.allSettled(Nr.map(t=>(qr(t),t.terminate()))),fr=O,wr=!1})(),Oi=!1,Ei=Si=gi=xi=Ai=null}(({Qe:t})=>{pr=t})({Qe:t=>{if(!Di){let{wasmURI:e}=t;typeof e==T&&(e=e()),Di=(async(t,{baseURI:e})=>{if(!Oi)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;t<n;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(Ei=t,({malloc:Si,free:gi,memory:xi}=Ei),"function"!=typeof Si||"function"!=typeof gi||!xi)throw Ei=Si=gi=xi=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Oi=!0}catch(t){throw(t=>{Ai=t})(t),t}})(e,t).catch(t=>{throw Di=null,t})}return Di}}),Et({CompressionStreamFallback:Ri,DecompressionStreamFallback:Fi}),Et({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const ki="Entry filename already exists",Ti="Readable stream already consumed",vi="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",Ii="Invalid readerOptions (must be an object)",Ci="zipjs-abort-export",Mi="The operation was aborted",Ni=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class ji{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(ki);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.$e++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,er:r.er||r.uncompressedSize===O,passThrough:r.passThrough,rr:r.rr||new Date}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(ki);this.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==O))}}class Pi extends ji{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new Pi(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==yn?e.type==r:t.constructor!=wn||e.startsWith(t.data))})(t,r.data))return r.data;{const n=r.reader=Ki(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([Kn(n),Kn(t,a)]);const o=et(e.signal),s=((t,e,r,n)=>{const{onstart:a,onprogress:o,onend:s}=r,{readable:i}=e;return t.data instanceof Ia||!a&&!o&&!s?i:Ue(i).pipeThrough(new Er({onstart:a,onprogress:o,onend:s,size:e.size}),{signal:n})})(r,n,e,o),i=!qn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await Ue(s).pipeTo(Te(t.writable),{signal:o,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==Lt)return!1;throw t}}getText(t,e){return this.getData(new Sn(t),e)}getBlob(t,e){return this.getData(new yn(t),e)}getData64URI(t,e){return this.getData(new wn(t),e)}getUint8Array(t){return this.getData(new Ln,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return xt(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:mn,Writer:yn,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:bn,Writer:Sn,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:fn,Writer:wn,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:Wn,Writer:Ln,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:Hi(t),Writer:null,reader:null})}}class _i extends ji{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new _i(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return oc(this,t,{options:e},!0)}addText(t,e,r={}){return oc(this,t,{data:e,Reader:bn,Writer:Sn,options:r,uncompressedSize:En(e)})}addBlob(t,e,r={}){return oc(this,t,{data:e,Reader:mn,Writer:yn,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return oc(this,t,{data:e,Reader:fn,Writer:wn,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return oc(this,t,{data:e,Reader:Wn,Writer:Ln,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return oc(this,t,{data:e,Reader:class extends Pn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return oc(this,t,{Reader:Hi(e),options:r})}addFileSystemEntry(t,e={}){return rc(this,t,e)}addFileSystemHandle(t,e={}){return rc(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),oc(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new mn(t),e)}importData64URI(t,e){return this.importZip(new fn(t),e)}importUint8Array(t,e){return this.importZip(new Wn(t),e)}importHttpContent(t,e){return this.importZip(new Pn(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new yn(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new wn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Ln,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:o}=r,s=$i(r.readerOptions),i=new AbortController,{signal:c}=i,l=((t,e)=>{if(!et(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,i),u=Object.assign({},r,s,{signal:c,onstart:O,onprogress:O,onend:O,preventClose:!1}),d=Bi([t],t=>Zi(t,u.passThrough)),f=[];let w=!1,h=0;try{n&&await Sr(n,d),await m(t,e),o&&await Sr(o,h)}catch(t){try{t.exportedEntryNames=f}catch{}throw t}finally{l()}return e;function p(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),h+=t.length,a&&await Sr(a,h,d)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!Xi(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||Xi(c.reason))return;throw c.reason===O?new DOMException(Mi,"AbortError"):c.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:p(a)},u)}catch(t){throw w?Error(Ci):t}f.push(e.getRelativeName(t))}}catch(r){w=!0,i.abort(Error(Ci));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==T?(r=t,e=Object.assign({},r.options,e)):(await Kn(t),r=new no(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),o=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(ki)}else r=new _i(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(o)if(e=r.getChildByName(o),e){if(!e.directory)throw Error(ki)}else e=new _i(this.fs,o,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(oc(r,o,{data:t,Reader:qi(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([Yi(r,$i(e.readerOptions)),Kn(t)]),a=new gs(t,e);return await(async(t,e,r,n,a)=>{const{onstart:o,onprogress:s,onend:i,onentryprogress:c}=n,l=e,u=Bi(e.children,t=>ec(t)?0:1);let d=0,f=0;if(o&&await Sr(o,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if(ec(e))return;const{name:o,nr:i}=Ji(e,l,n);let w=0;const h=await t.add(o,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,s&&await Sr(s,d,r)}}));f++,c&&await Sr(c,f,u,h)}i&&await Sr(i,d)})(a,r,Bi([r],Vi),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;$i((r=Object.assign({},r)).readerOptions),r.bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,o)=>{const s={options:r};if(tt(r[H]))throw Error(as);if(o!==O&&!(o instanceof Uint8Array))throw Error(Po);const i=si(o);if(i>e)throw Error(jo);const c=r[Z],l=new Map;let u=!!c,f=0;for(const e of n){let{name:r}=e;const{size:n}=e,a=Object.assign({},e.options);r=r.trim(),Ks(s,a,Aa)&&!r.endsWith(z)&&(r+=z);const o=zs(s,r,a);({name:r}=o);const{Ee:i}=Rs(s,r,a);0==i.level||i.compressionMethod!==O||i.passThrough||await mr(ft())||(i.level=0);const d=!Ks(s,a,Aa);if(d&&n===O)throw Error(as);const{Ve:w,Ee:h}=Ds(s,d,n,i,a);if(d&&!i.passThrough&&ti(h.compressionMethod,h.level))throw Error(as);const p=Object.assign({},a,o.Ee,i,h),m=Os(p),y=Ts(p),b={xe:m,Fe:si(m.Se,y.ge)};c&&Us(b,f);const E=d?w:0;f>=t&&(u=!0),l.set(r,Object.assign({},p,m,{offset:f,diskNumberStart:0,compressedSize:E})),f+=b.Fe+E}if(u&&!a)throw Error(as);const w=vs(l);let h=Ks(s,r,ba);if(f>=t||w>=t||l.size>=e){if(!1===h)throw Error(es);h=!0}return f+w+i+(h?98:d)})(r,n.getChildren({recursive:!0}).filter(t=>!ec(t)).map(t=>{const{name:e,nr:a}=Ji(t,n,r);return{name:e,size:t.directory?0:Qi(t,tc(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class Wi{constructor(){ac(this)}get children(){return this.root.children}remove(t){Gi(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(ki)}else Gi(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return ac(this),this.root.importBlob(t,e)}importData64URI(t,e){return ac(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return ac(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return ac(this),this.root.importHttpContent(t,e)}importReadable(t,e){return ac(this),this.root.importReadable(t,e)}importZip(t,e){return ac(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Li={FS:Wi,ZipDirectoryEntry:_i,ZipFileEntry:Pi};function Bi(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Vi(t){return t.uncompressedSize}function Zi(t,e){const{data:r}=t;return e&&r instanceof Ia?r.compressedSize:t.uncompressedSize}function Hi(t){let e;return()=>{if(e)throw Error(Ti);return e=!0,{readable:t}}}function qi(t){return class extends un{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,o=await e.entry.getData(new yn,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=o,e.ar=new mn(o),e.size=o.size,super.init()}readUint8Array(t,e){return this.ar.readUint8Array(t,e)}}}function Ki(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function Yi(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=Ki(t.Reader,t.data,e);a.set(t,r);try{await Kn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t.er=!1)})),a}function Gi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function Xi(t){return!!t&&t.message==Ci}function Ji(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let o={},s={};if(t.data instanceof Ia){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:E}=t.data;o={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{Ni.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(S&&(o.extraField=S),b===O&&E===O||Object.assign(o,{uid:b,gid:E,unixExtraFieldType:"infozip"}),tc(t,r)){let t;p&&(t=p.strength),s={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,encryptionStrength:t,compressionMethod:h}}}const i=Object.assign({lastModDate:t.rr},o,r,a,s,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(vi);return{name:n,nr:i}}function Qi(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.er?O:Zi(t,e)}function $i(t){if(t&&(typeof t!=v||Array.isArray(t)))throw Error(Ii);return t}function tc(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function ec(t){return t.directory&&null===t.data}function rc(t,e,r){return async function t(e,n,a,o=""){if(n){const s=o?o+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await nc(n)),"file"==n.kind){const t=await n.getFile();a.push(oc(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const o=e.addDirectory(n.name,r);a.push(o);for await(const e of n.values())await t(o,e,a,s)}}catch(t){try{t.entryName===O&&(t.entryName=s)}catch{}throw t}}return a}(t,e,[])}async function nc(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async o=>{if(o.length){for(const t of o)e.push(await nc(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function ac(t){t.entries=[],t.$e=0,t.root=new _i(t)}function oc(t,e,r,n){if(t.directory)return n?new _i(t.fs,e,r,t):new Pi(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{mn as BlobReader,yn as BlobWriter,fn as Data64URIReader,wn as Data64URIWriter,Mi as ERR_ABORTED,qa as ERR_AMBIGUOUS_ARCHIVE,Ca as ERR_BAD_FORMAT,ja as ERR_CENTRAL_DIRECTORY_NOT_FOUND,No as ERR_DUPLICATED_NAME,Wa as ERR_ENCRYPTED,Ka as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Ha as ERR_ENTRY_DATA_OUT_OF_BOUNDS,ki as ERR_ENTRY_EXISTS,Na as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Ma as ERR_EOCDR_NOT_FOUND,_a as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Jr as ERR_HTTP_RANGE,Qr as ERR_HTTP_RESOURCE_CHANGED,Vt as ERR_INVALID_AUTHENTICATION_CODE,ve as ERR_INVALID_CODEC_DEFINITION,Ce as ERR_INVALID_CODEC_MODULE,jo as ERR_INVALID_COMMENT,Po as ERR_INVALID_COMMENT_TYPE,Ze as ERR_INVALID_COMPRESSED_DATA,He as ERR_INVALID_CRC32,Lo as ERR_INVALID_DATE,Zo as ERR_INVALID_ENCRYPTION_STRENGTH,_o as ERR_INVALID_ENTRY_COMMENT,Wo as ERR_INVALID_ENTRY_COMMENT_TYPE,Bo as ERR_INVALID_ENTRY_NAME,Ko as ERR_INVALID_EXTRAFIELD,Xo as ERR_INVALID_EXTRAFIELD_DATA,Go as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Yo as ERR_INVALID_EXTRAFIELD_TYPE,Xa as ERR_INVALID_FILENAME_VALIDATION,J as ERR_INVALID_FUNCTION_OPTION,cs as ERR_INVALID_GID,hs as ERR_INVALID_LEVEL,Ja as ERR_INVALID_MAX_APPENDED_DATA_SIZE,at as ERR_INVALID_MAX_WORKERS,fs as ERR_INVALID_MSDOS_ATTRIBUTES,ws as ERR_INVALID_MSDOS_DATA,Lt as ERR_INVALID_PASSWORD,$ as ERR_INVALID_PASSWORD_TYPE,vi as ERR_INVALID_PASS_THROUGH,Ii as ERR_INVALID_READER_OPTIONS,Q as ERR_INVALID_SIGNAL,Bt as ERR_INVALID_SIGNATURE,ps as ERR_INVALID_SIGNATURE_DATA,Ga as ERR_INVALID_STRICTNESS,is as ERR_INVALID_UID,Ve as ERR_INVALID_UNCOMPRESSED_SIZE,us as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ds as ERR_INVALID_UNIX_ID_SIZE,ls as ERR_INVALID_UNIX_MODE,Vo as ERR_INVALID_VERSION,$r as ERR_ITERATOR_COMPLETED_TOO_SOON,Pa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Za as ERR_OVERLAPPING_ENTRY,Ti as ERR_READABLE_CONSUMED,Ie as ERR_RESERVED_COMPRESSION_METHOD,Va as ERR_SPLIT_ZIP_FILE,ns as ERR_UNDEFINED_COMPRESSION_METHOD,os as ERR_UNDEFINED_READER,rs as ERR_UNDEFINED_UNCOMPRESSED_SIZE,as as ERR_UNDETERMINED_SIZE,Ya as ERR_UNSAFE_FILENAME,Ba as ERR_UNSUPPORTED_COMPRESSION,yi as ERR_UNSUPPORTED_CONTEXT,Ht as ERR_UNSUPPORTED_CRYPTO_API,La as ERR_UNSUPPORTED_ENCRYPTION,qo as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ho as ERR_UNSUPPORTED_ENCRYPTION_USDZ,es as ERR_UNSUPPORTED_FORMAT,dr as ERR_WORKER_STARTUP_TIMEOUT,tn as ERR_WRITER_NOT_INITIALIZED,ss as ERR_ZIP_NOT_EMPTY,_n as HttpRangeReader,Pn as HttpReader,un as Reader,Bn as SplitDataReader,Vn as SplitDataWriter,bn as TextReader,Sn as TextWriter,Wn as Uint8ArrayReader,Ln as Uint8ArrayWriter,dn as Writer,_i as ZipDirectoryEntry,ji as ZipEntry,Wi as ZipFS,Pi as ZipFileEntry,no as ZipReader,ao as ZipReaderStream,gs as ZipWriter,xs as ZipWriterStream,pt as configure,hi as createBlobTempStream,fi as createOPFSTempStream,bi as createSyncAccessHandleTempStream,Li as fs,li as getMimeType,Pe as registerCodec,St as resetConfiguration,Ui as terminateWorkers,_e as unregisterCodec};
|