@zip.js/zip.js 2.8.45 → 2.8.46
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 +28 -2
- package/deno.json +13 -3
- package/dist/zip-core-external.js +61 -26
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +59 -24
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +61 -26
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +38 -22
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +61 -26
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +63 -28
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +63 -28
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +61 -26
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +63 -28
- 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 +63 -28
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +63 -28
- package/index-native.min.js +1 -1
- package/index.cjs +63 -28
- package/index.d.cts +91 -1
- package/index.d.ts +91 -1
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +3 -2
- package/lib/core/codec-worker.js +28 -12
- package/lib/core/configuration.js +20 -2
- package/lib/core/streams/zip-entry-stream.js +8 -8
- package/lib/core/web-worker-base.js +27 -0
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/web-worker-native.js +7 -9
- package/lib/core/web-worker-wasm.js +9 -12
- package/lib/{core/web-worker-inline-template.js → zip-core-custom.js} +13 -20
- package/lib/zip-module-native.js +3 -3
- package/lib/zip-module-wasm-base.js +3 -3
- package/package.json +20 -2
- package/lib/core/web-worker-inline-template-native.js +0 -48
- package/lib/core/zlib-streams-inline-template.js +0 -45
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,i=33639248,o=101010256,c=101075792,l=117853008,d=22,u=20,f=39169,w=21589,h=6534,p=30837,m=30805,y=2048,b=16384,S=2048,E=1024,g="/",x=30,z=new Date(2107,11,31,23,59,58),R=new Date(1980,0,1),A=void 0,F=1/0,D="undefined",U="function",O=new Uint8Array;let T=2;try{typeof navigator!=D&&navigator.hardwareConcurrency&&(T=navigator.hardwareConcurrency)}catch{}const k={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:T,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=D&&CompressionStream,DecompressionStream:typeof DecompressionStream!=D&&DecompressionStream},v=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],C={...k};function M(){return C}function I(t){return Math.max(t.chunkSize,64)}function j(t){for(const e of v){const r=t[e];r!==A&&(C[e]=r)}}function P(t){for(const e of v){const r=t[e];r!==A&&(k[e]=r)}j(t)}function N(){for(const t of v)delete C[t];Object.assign(C,k)}const W="Invalid codec definition",_="Reserved compression method",L="Invalid codec module",B="string",Z=[0,8,9,99],V=new Map,H=new Map;function q(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:i,versionNeeded:o}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=B||!n.length)throw Error(W);if(Z.includes(r))throw Error(_);const c=typeof s==U||typeof i==U;if(!(c||typeof a==B&&a.length))throw Error(W);V.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:o}),c&&X(n,{CompressionStream:s,DecompressionStream:i})}function K(t){const e=V.get(t);if(e){let r;V.delete(t),V.forEach(t=>r=r||t.format==e.format),r||H.delete(e.format)}}function Y(t){return V.get(t)}function G(t){return H.get(t)}function X(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=U&&typeof n!=U)throw Error(L);H.set(t,{CompressionStream:r,DecompressionStream:n})}const J=[[],[],[],[],[],[],[],[]];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;J[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=J[e-1][t];J[e][t]=r>>>8^J[0][255&r]}const[Q,$,tt,et,rt,nt,at,st]=J;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),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=st[255&t]^at[t>>>8&255]^nt[t>>>16&255]^rt[t>>>24&255]^et[255&r]^tt[r>>>8&255]^$[r>>>16&255]^Q[r>>>24&255]}}for(;r>n;n++)e=e>>>8^Q[255&(e^t[n])];this.o=e}get(){return~this.o}}class ot 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 ct(t){if(typeof TextEncoder==D){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)}function lt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function dt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function ut(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ft={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ft.l(r);return 32===n?t.concat(e):ft.h(e,n,0|r,t.slice(0,t.length-1))},m(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ft.l(r)},S(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]=ft.R(e,t[r-1]&2147483648>>e-1,1)),t},R:(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=ft.l(a);return n.push(ft.R(e+s&31,e+s>32?r:n.pop(),1)),n}},wt={bytes:{A(t){const e=ft.m(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},F(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(ft.R(8*(3&r),n)),e}}},ht=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.T=t.T.slice(0),e.v=t.v):e.reset()}reset(){const t=this;return t.O=t.D.slice(0),t.T=[],t.v=0,t}update(t){const e=this;"string"==typeof t&&(t=wt.C.F(t));const r=e.T=ft.concat(e.T,t),n=e.v,a=e.v=n+ft.m(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.M(s.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}I(){const t=this;let e=t.T;const r=t.O;e=ft.concat(e,[ft.R(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.v/4294967296)),e.push(0|t.v);e.length;)t.M(e.splice(0,16));return t.reset(),r}j(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}P(t,e){return e<<t|e>>>32-t}M(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],i=r[2],o=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.P(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.P(5,a)+e.j(t,s,i,o)+c+n[t]+e.U[Math.floor(t/20)]|0;c=o,o=i,i=e.P(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+o|0,r[4]=r[4]+c|0}},pt={importKey:t=>new pt.N(wt.bytes.F(t)),W(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,i,o,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ft;for(e=wt.bytes.F(e),l=1;(a||1)>f;l++){for(s=i=t.encrypt(w.concat(e,[l])),o=1;r>o;o++)for(i=t.encrypt(i),c=0;c<i.length;c++)s[c]^=i[c];for(o=0;(a||1)>f&&o<s.length;o++)u.setInt32(f,s[o]),f+=4}return d.slice(0,n/8)},N:class{constructor(t){const e=this,r=e._=ht,n=[[],[]];e.L=[new r,new r];const a=e.L[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.L[0].update(n[0]),e.L[1].update(n[1]),e.B=new r(e.L[0])}reset(){const t=this;t.B=new t._(t.L[0]),t.Z=!1}update(t){this.Z=!0,this.B.update(t)}digest(){const t=this,e=t.B.I(),r=new t._(t.L[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.Z)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mt=typeof crypto!=D&&typeof crypto.getRandomValues==U,yt="Invalid password",bt="Invalid signature",St=bt,Et="zipjs-abort-check-password";function gt(t){if(mt)return crypto.getRandomValues(t);throw Error("Crypto API not supported")}const xt=16,zt={name:"PBKDF2"},Rt=Object.assign({hash:{name:"HMAC"}},zt),At=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),Ft=["deriveBits"],Dt=[8,12,16],Ut=[16,24,32],Ot=10,Tt=[0,0,0,0],kt=typeof crypto!=D,vt=kt&&crypto.subtle,Ct=kt&&typeof vt!=D,Mt=wt.bytes,It=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.H();const r=e.V[0][4],n=e.V[1],a=t.length;let s,i,o,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.U=[i=t.slice(0),o=[]],s=a;4*a+28>s;s++){let t=i[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))),i[s]=i[s-a]^t}for(let t=0;s;t++,s--){const e=i[3&t?s:s-4];o[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.K(t,0)}decrypt(t){return this.K(t,1)}H(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let i,o,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=i=0;!r[d];d^=o||1,i=s[i]||1){let s=i^i<<1^i<<2^i<<3^i<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[o=a[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}K(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.U[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],i=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,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++)u=i[h>>>24]^o[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=i[p>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[m>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=u,p=f,m=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[h>>>24]<<24^d[p>>16&255]<<16^d[m>>8&255]<<8^d[255&y]^r[b++],u=h,h=p,p=m,m=y,y=u;return a}},jt=class{constructor(t,e){this.Y=t,this.G=e,this.X=e}reset(){this.X=this.G}update(t){return this.J(this.Y,t,this.X)}$(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}et(t){0===(t[0]=this.$(t[0]))&&(t[1]=this.$(t[1]))}J(t,e,r){let n;if(!(n=e.length))return[];const a=ft.m(e);for(let a=0;n>a;a+=4){this.et(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 ft.S(e,a)}},Pt=pt.N;let Nt=kt&&Ct&&typeof vt.importKey==U,Wt=kt&&Ct&&typeof vt.deriveBits==U;class _t extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,nt:i,ready:o}=r;a?(await(async(t,e,r,n)=>{const a=await Vt(t,e,r,qt(n,0,Dt[e])),s=qt(n,Dt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(yt)})(r,s,a,qt(t,0,Dt[s]+2)),t=qt(t,Dt[s]+2),n?e.error(Error(Et)):i()):await o;const c=new Uint8Array(t.length-Ot-(t.length-Ot)%xt);e.enqueue(Zt(r,t,c,0,Ot,!0))},async flush(t){const{st:e,it:r,pending:n,ready:s}=this;if(r&&e){await s;const i=qt(n,0,n.length-Ot),o=qt(n,n.length-Ot);let c=O;if(i.length){const t=Yt(Mt,i);r.update(t);const n=e.update(t);c=Kt(Mt,n)}const l=qt(Kt(Mt,r.digest()),0,Ot);let d=n.length<Ot?1:0;for(let t=0;Ot>t;t++)d|=l[t]^o[t];if(d&&a)throw Error(St);t.enqueue(c)}}})}}class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,nt:s,ready:i}=r;let o=O;n?(o=await(async(t,e,r)=>{const n=gt(new Uint8Array(Dt[e]));return lt(n,await Vt(t,e,r,n))})(r,a,n),s()):await i;const c=new Uint8Array(o.length+t.length-t.length%xt);c.set(o,0),e.enqueue(Zt(r,t,c,o.length,0))},async flush(t){const{st:e,it:r,pending:n,ready:a}=this;if(r&&e){await a;let s=O;if(n.length){const t=e.update(Yt(Mt,n));r.update(t),s=Kt(Mt,t)}const i=Kt(Mt,r.digest()).slice(0,Ot);t.enqueue(lt(s,i))}}})}}function Bt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.nt=e),password:Ht(e,r),strength:n-1,pending:O})}function Zt(t,e,r,n,a,s){const{st:i,it:o,pending:c}=t;c.length&&(e=lt(c,e));const l=e.length-a;let d;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%xt)),d=0;l-xt>=d;d+=xt){const t=Yt(Mt,qt(e,d,d+xt));s&&o.update(t);const a=i.update(t);s||o.update(a),r.set(Kt(Mt,a),d+n)}return t.pending=qt(e,d),r}async function Vt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!Nt)return pt.importKey(e);try{return await vt.importKey("raw",e,r,!1,a)}catch{return Nt=!1,pt.importKey(e)}})(0,r,Rt,0,Ft),s=await(async(t,e,r)=>{if(!Wt)return pt.W(e,t.salt,At.iterations,r);try{return await vt.deriveBits(t,e,r)}catch{return Wt=!1,pt.W(e,t.salt,At.iterations,r)}})(Object.assign({salt:n},At),a,8*(2*Ut[e]+2)),i=new Uint8Array(s),o=Yt(Mt,qt(i,0,Ut[e])),c=Yt(Mt,qt(i,Ut[e],2*Ut[e])),l=qt(i,2*Ut[e]);return Object.assign(t,{keys:{key:o,ot:c,passwordVerification:l},st:new jt(new It(o),Array.from(Tt)),it:new Pt(c)}),l}function Ht(t,e){return e===A?ct(t):e}function qt(t,e,r){return t.subarray(e,r)}function Kt(t,e){return t.A(e)}function Yt(t,e){return t.F(e)}class Gt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Jt(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(yt);t=t.subarray(12)}n?e.error(Error(Et)):e.enqueue(Qt(r,t))}})}}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Jt(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=gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set($t(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set($t(r,t),a),e.enqueue(n)}})}}function Jt(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++)te(t,r[e]);else for(let r=0;r<e.length;r++)te(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]=ee(t)^e[n],te(t,r[n]);return r}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,e[n]);return r}function te(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=ne(Math.imul(ne(r+re(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function ee(t){const e=2|t.keys[2];return re(Math.imul(e,1^e)>>>8)}function re(t){return 255&t}function ne(t){return 4294967295&t}function ae(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 se(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 ie="Invalid uncompressed size",oe="Invalid compressed data",ce=bt,le="deflate-raw",de="gzip",ue=[31,139,8];class fe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=u&&G(u),S=c&&a&&!d&&!b&&(!s||o)&&!(!i||!n);if(s&&!o||!c||S||(h=new ot,y=ge(y,h)),a)if(b)y=xe(y,Se(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)m=new we,y=xe(y,new n(de)),y=ge(y,m);else try{y=Ee(y,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(de)}catch{throw t}y=xe(y,e),y=ge(y,new we)}s&&(o?y=ge(y,new Xt(t)):(p=new Lt(t),y=ge(y,p))),be(w,y,()=>{s&&!o||!c||(w.crc32=S?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class we 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=lt(r,t));const s=a-8,i=Math.min(s,r.length);n.enqueue(lt(r.subarray(0,i),t.subarray(0,s-i))),r=lt(r.subarray(i),t.subarray(s-i))},flush(){const e=ut(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class he extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=ge(y,new Gt(t)):(m=new _t(t),y=ge(y,m))),c){const t=u&&G(u);if(t)y=xe(y,Se(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=Ee(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||h===A)throw t;let e;try{e=new n(de)}catch{throw t}y=((t,e,r)=>{const n=new it;let a,s,i,o=0,c=!1;const l=new Promise((t,e)=>{s=t,i=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(ue),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=ut(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),u=new TransformStream({transform(t,e){n.append(t),o+=t.length,r>o?c&&f():s(),e.enqueue(t)},cancel(t){i(t)}});return t=ge(t,d),ge(t=xe(t,e),u);function f(){w(),a=setTimeout(()=>i(Error(ie)),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(oe);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}i&&(p=new ot,y=ge(y,p)),be(this,y,()=>{if(i){const t=new DataView(p.value.buffer);if(o!=t.getUint32(0,!1))throw Error(ce)}})}}const pe=new Map;function me(t,e){if(!t)return!1;let r=pe.get(t);r||(r=new Map,pe.set(t,r));let n=r.get(e);if(n===A){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function ye(t){return me(t,le)}function be(t,e,r){e=ge(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Se(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function Ee(t,e,r,n,a){const s=e&&n?n:a||n,i=r.deflate64?"deflate64-raw":le;let o;try{o=new s(i,r)}catch(t){if(!e||!a||s==a)throw t;o=new a(i,r)}return xe(t,o)}function ge(t,e){return ae(t).pipeThrough(e)}function xe(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 ze="data",Re="deflate",Ae="inflate";class Fe extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Re)?a=fe:n.startsWith(Ae)&&(a=he),r.outputSize=0;let s=0;const i=new a(t,e),o=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!==A&&r.outputSize>t.outputSize))throw Error(ie)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>o.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class De 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 Ue={type:"module"},Oe="error";let Te,ke,ve,Ce,Me=!0;try{Me=typeof structuredClone==U&&structuredClone(new DOMException("","AbortError")).code!==A}catch{}let Ie=()=>{};class je{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:i,transferStreams:o,workerURI:c},l){const{signal:d}=s;return Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new De(I(a))).pipeThrough(new Pe(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,transferStreams:o,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,l(t)}}}),Te===A&&(Te=typeof Worker!=D),(i&&Te?_e:We)(t,a)}}class Pe extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Ne(t,r)},async transform(t,n){a+=t.length,e&&await Ne(e,a,r),n.enqueue(t)},async flush(){n&&await Ne(n,a)}})}}async function Ne(t,...e){try{await t(...e)}catch{}}function We(t,e){return{run:()=>Le(t,e)}}function _e(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let i;typeof s==U&&(s=s());try{i=Ze(t.workerURI,r,t)}catch{return Te=!1,We(t,e)}Object.assign(t,{ht:i,gt:!1,Et:!1,bt:{run:async()=>{try{return await(async(t,e)=>{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:i}=t,{writable:o,closed:c,Rt: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,Rt:()=>e.abort()}})(t.writable);let d;try{d=qe({type:"start",options:i,config:e,readable:s,writable:o},t)}catch(e){l();try{await c}catch{}throw t.St(),e}d||Object.assign(t,{reader:s.getReader(),writer:o.getWriter()});const{workerStartupTimeout:u}=e;t.gt||!Number.isFinite(u)||0>u||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.gt)return;const{zt:e,writer:r}=t;if(Be(t),t.ht=null,e){const t=Error("Worker startup timeout");t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));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(!d&&!o.locked)try{await o.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft){Te=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Le(t,e)}throw r}}}})}return t.bt}async function Le({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Re),r=e?a.CompressionStreamZlib:a.DecompressionStreamZlib,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Dt&&!ye(n))try{await Ie(a)}catch{}}else try{await Ie(a)}catch{r&&!r.Dt||(t.useCompressionStream=!0)}}s=new Fe(t,a),await e.pipeThrough(s).pipeThrough(new De(I(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=s;return{crc32:n,inputSize:i,outputSize:o}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function Be(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function Ze(t,e,r,n,a=!0){let s,i,o;if(ve===A||ke!==t){const c=typeof t==U;i=c?t(a):t;const l=i.startsWith("data:"),d=i.startsWith("blob:");if(l||d){n===A&&(n=!1),n&&(o=Ue);try{s=new Worker(i,o)}catch(a){if(d)try{URL.revokeObjectURL(i)}catch{}if(c&&d)return Ze(t,e,r,n,!1);if(n)throw a;return Ze(t,e,r,!0,!1)}}else{n===A&&(n=!0),n&&(o=Ue);try{i=new URL(i,e)}catch{}try{s=new Worker(i,o)}catch(s){if(n)throw s;return Ze(t,e,r,!1,a)}}ke=t,ve=i,Ce=o}else s=new Worker(ve,Ce);return s.addEventListener("message",t=>{r.gt=!0,Ve(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:i}=t,{reader:o,writer:c,xt:l,zt:d,St:u,wt:f}=e,w=()=>e.wt!=f;try{if(i){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=i,o=Error(t);Object.assign(o,{stack:e,code:r,name:n,outputSize:a}),s&&(o.cause=Object.assign(Error(s.message),{name:s.name})),h(o)}else{if("pull"==r){const{value:t,done:r}=await o.read();w()||qe({type:ze,value:t,done:r,messageId:a},e)}r==ze&&(await c.ready,await c.write(new Uint8Array(n)),w()||qe({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(i){w()||(Be(e),h(i))}function h(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),s.addEventListener(Oe,t=>He(t,r)),s.addEventListener("messageerror",t=>He(t,r)),s}function Ve(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function He(t,e){t.preventDefault&&t.preventDefault(),Ve(e);const{gt:r,zt:n,writer:a,St:s}=e;if(Be(e),r||(e.ht=null),n){let e=t.error||Error(t.message||Oe);r||(e=Object.assign(Error(e.message||Oe),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function qe(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:i}=t,o=[];if(r&&(t.value=dt(r),o.push(t.value.buffer)),n&&Me&&a?(s&&o.push(s),i&&o.push(i)):t.readable=t.writable=null,o.length)try{return e.postMessage(t,o),!0}catch{Me=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Ke=[];const Ye=[];let Ge,Xe,Je=0;async function Qe(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:i,compressed:o,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,maxWorkers:h}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!H.has(t)&&e&&X(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===A&&n.transferStreams;const p=!(o||c||l||d),m=u===A||!!r.codecURI;return e.useWebWorkers=!p&&m&&(s||s===A&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:A,r.useCompressionStream=i||i===A&&n.useCompressionStream,(await(async()=>{const r=Ke.find(t=>!t.ft);if(r)return nr(r),new je(r,t,e,y);if(Ke.length<h){const r={Ut:Je};return Je++,Ke.push(r),new je(r,t,e,y)}return new Promise(r=>{Ye.push({resolve:r,stream:t,Ot:e}),Xe=n.workerStarvationTimeout,$e()})})()).run();function y(t){if(tr(),Ye.length){const[{resolve:e,stream:r,Ot:n}]=Ye.splice(0,1);e(new je(t,r,n,y)),$e()}else t.ht?(nr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.Tt=setTimeout(async()=>{Ke=Ke.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Ke=Ke.filter(e=>e!=t)}}function $e(){!Ge&&Ye.length&&Number.isFinite(Xe)&&Xe>=0&&(Ge=setTimeout(er,Xe))}function tr(){Ge&&(clearTimeout(Ge),Ge=null)}function er(){if(Ge=null,Ye.length){const[{resolve:t,stream:e,Ot:r}]=Ye.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:A});t(new je({},e,n,rr)),$e()}}function rr(){tr(),$e()}function nr(t){const{Tt:e}=t;e&&(clearTimeout(e),t.Tt=null)}const ar="HTTP error ",sr="HTTP Range not supported",ir="HTTP resource changed",or="Writer iterator completed too soon",cr="Writer not initialized",lr="Content-Range",dr="Range",ur="GET",fr="bytes",wr=16777216,hr="writable",pr=Symbol();class mr{constructor(){this.size=0}init(){this.initialized=!0}}class yr extends mr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=I(M())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const i=e===A?r:Math.min(r,e-a),o=await $r(n,t+a,i);s.enqueue(o),a+r>e||e===A&&!o.length&&i?s.close():a+=r}})}}class br extends mr{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(cr);return t.writeUint8Array(dt(e))}});Object.defineProperty(t,hr,{get:()=>e})}writeUint8Array(){}}class Sr extends yr{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),i=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),o=t-3*Math.floor(s/4);let c=0;for(let t=o;o+e>t&&t<i.length;t++)a[t-o]=i.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class Er extends br{constructor(t){super(),Object.assign(this,{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 gr,xr;class zr extends yr{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),xr||(xr=(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();gr=1==e}catch{gr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?gr?ae(e.slice(n,n+a).stream()):super.createReadable(t):ae(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 Rr extends mr{constructor(t){super();const e=this,r=new TransformStream;if(Object.defineProperty(e,hr,{get:()=>r.writable}),typeof Blob.prototype.stream!=U||new Blob([]).stream()instanceof ReadableStream){const n=[];t&&n.push(["Content-Type",t]),e.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];e.blob=r.readable.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,{type:t}))}e.blob.catch(()=>{})}getData(){return this.blob}}class Ar extends zr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Fr extends Rr{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 Dr extends yr{constructor(t,e){super(),Or(this,t,e)}async init(){await Tr(this,Br,Nr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==A){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,i=r;return new ReadableStream({start:()=>o(),async pull(t){n||await o();const{value:e,done:r}=await n.read();if(r)throw Error(sr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,i-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=A,await t.cancel()})(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function o(){const e=Math.min(t.maximumRangeSize,i),r=await Br(ur,t,jr(t,a,e));if(206!=r.status)throw Error(sr);const o=r.headers.get(lr);if(o){const t=Number(o.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(sr)}Ir(t,r),Mr(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 kr(this,t,e,Br,Nr)}}class Ur extends yr{constructor(t,e){super(),Or(this,t,e)}async init(){await Tr(this,Zr,Wr),super.init()}readUint8Array(t,e){return kr(this,t,e,Zr,Wr)}}function Or(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=wr,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:i,checkResourceChanges:o,maximumRangeSize:c,fetch:l})}async function Tr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:i,combineSizeEocd:o}=t;if((t=>{const{baseURI:e}=M(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||i)&&(void 0===a||a)){const n=await e(ur,t,jr(t,o?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(i||a&&a.toLowerCase()==fr))throw Error(sr);{if(o){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Ct=e)}Mr(t,n);const a=vr(n);a===A?await Lr(t,e,r):t.size=a}}else await Lr(t,e,r)}async function kr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:i,Ct:o,size:c,options:l}=t;if(s||i){if(o&&e==c-d&&r==d)return o;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(ur,t,jr(t,e,r));if(206!=a.status)throw Error(sr);const s=a.headers.get(lr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(sr)}Ir(t,a),Mr(t,a);const i=new Uint8Array(await a.arrayBuffer());if(i.length!=r)throw Error(sr);return i}return O}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function vr(t){const e=t.headers.get(lr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Cr({headers:t}){return{Mt:t.get("Etag")||A,lastModified:t.get("Last-Modified")||A}}function Mr(t,e){const{checkResourceChanges:r,It:n}=t;r&&!n&&206==e.status&&(t.It=Cr(e))}function Ir(t,e){const{checkResourceChanges:r,It:n,size:a}=t;if(r){const t=vr(e);if(t!==A&&a!==A&&t!=a)throw Error(ir);if(n){const t=Cr(e);if(Object.entries(n).some(([e,r])=>r!==A&&t[e]!==A&&r!=t[e]))throw Error(ir)}}}function jr(t,e=0,r=1){return Object.assign({},Pr(t),{[dr]:fr+"="+(0>e?e:e+"-"+(e+r-1))})}function Pr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Nr(t){await _r(t,Br)}async function Wr(t){await _r(t,Zr)}async function _r(t,e){const r=await e(ur,t,Pr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Lr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Pr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Br(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(sr):Error(ar+(s.statusText||s.status))}function Zr(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(sr):Error(ar+(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 Vr extends yr{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Ur(t,e):new Dr(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 Hr extends Vr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class qr extends yr{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 Kr extends br{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 Yr extends yr{constructor(t){super(),this.jt=t}async init(){const t=this,{jt:e}=t;t.Pt=0,await Promise.all(e.map(t=>Qr(t))),t.Nt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Wt(t){const{Nt:e,size:r}=this,n=e[t];return n===A?r:n}async readUint8Array(t,e){const r=this,{jt:n}=this;let a,s=0,i=t;for(;n[s]&&i>=n[s].size;)i-=n[s].size,s++;const o=n[s];if(o){const n=o.size;if(i+e>n){const s=n-i;a=lt(await $r(o,i,s),await r.readUint8Array(t+s,e-s))}else a=await $r(o,i,e)}else a=O;return r.Pt=Math.max(s,r.Pt),a}}class Gr extends mr{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 i=new WritableStream({async write(e){if(e===pr)return void(s&&await c());const{availableSize:i}=r;if(s)e.length<i?await o(e):(await o(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i)));else{const{value:i,done:o}=await t.next();if(o&&!i)throw Error(or);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Qr(n),a=i.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 o(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,hr,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(pr)}finally{t.releaseLock()}}}class Xr{constructor(t){return Array.isArray(t)&&(t=new Yr(t)),(t instanceof ReadableStream||typeof t.getReader==U)&&(t={readable:ae(t)}),t}}class Jr{constructor(t){return t.writable===A&&typeof t.next==U&&(t=new Gr(t)),(t instanceof WritableStream||typeof t.getWriter==U)&&(t={writable:se(t)}),t.size===A&&(t.size=0),t}}async function Qr(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function $r(t,e,r){return t.readUint8Array(e,r)}const tn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function en(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=tn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const rn="filename",nn="rawFilename",an="comment",sn="rawComment",on="uncompressedSize",cn="compressedSize",ln="offset",dn="diskNumberStart",un="lastModDate",fn="rawLastModDate",wn="lastAccessDate",hn="rawLastAccessDate",pn="creationDate",mn="rawCreationDate",yn="internalFileAttributes",bn="externalFileAttributes",Sn="msdosAttributesRaw",En="msdosAttributes",gn="msDosCompatible",xn="zip64",zn="encrypted",Rn="version",An="versionMadeBy",Fn="zipCrypto",Dn="directory",Un="executable",On="compressionMethod",Tn="signature",kn="extraField",vn="unixMode",Cn="setuid",Mn="setgid",In="sticky",jn=[rn,nn,on,cn,un,fn,an,sn,wn,hn,pn,mn,ln,dn,yn,bn,Sn,En,gn,xn,zn,Rn,An,Fn,Dn,Un,On,Tn,"crc32",kn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",vn,Cn,Mn,In,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Pn{constructor(t){jn.forEach(e=>this[e]=t[e])}}const Nn="password",Wn="rawPassword",_n="passThrough",Ln="signal",Bn="checkAmbiguity",Zn="useWebWorkers",Vn="useCompressionStream",Hn="transferStreams",qn="preventClose",Kn="offset",Yn="usdz",Gn="strictness",Xn="strict",Jn="tolerant",Qn="File format is not recognized",$n="End of central directory not found",ta="End of Zip64 central directory locator not found",ea="Central directory header not found",ra="Local file header not found",na="Zip64 extra field not found",aa="File contains encrypted entry",sa="Encryption method not supported",ia="Compression method not supported",oa="Split zip file",ca="Overlapping entry found",la="Ambiguous archive",da="Encrypted central directory is not supported",ua="utf-8",fa="cp437",wa=[[on,t],[cn,t],[ln,t],[dn,e]],ha={[e]:{_t:La,bytes:4},[t]:{_t:Ba,bytes:8}};class pa{constructor(t,e={}){Object.assign(this,{reader:new Xr(t),options:e,config:M(),Lt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;const{config:f}=s;if(await Qr(o),o.size!==A&&o.readUint8Array||(o=new zr(await new Response(o.readable).blob()),await Qr(o)),o.size<d)throw Error(Qn);const w=Fa(ja(s,n,Gn),ja(s,n,Bn)),h=w==Xn,p=w!=Jn,m=((t,r)=>t!==A?t:r==Xn?0:r==Jn?1/0:e)(ja(s,n,"maxAppendedDataSize"),w),{Bt:y,Zt:x}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Da};let i,o,c=0;for await(const[r,l,u,f,w]of ka(t,a)){const a=_a(r,f+20);if(w+d+a==n){const a=await Ca(t,r,l,f,w,n,s);if(a==Ta){if(i||(i=va(u,f,w)),c++,!e||c>1)break}else a!=Oa||o||(o=va(u,f,w))}}return i||(i=o),i||(i=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,i;for await(const[e,o,c,l,d]of ka(t,a)){const a=va(c,l,d);s||(s=a);const u=await Ca(t,e,o,l,d,n,r);if(u==Ta)return a;u!=Oa||i||(i=a)}return i||s})(t,r,s)),{Bt:i,Zt:c}})(o,p,m);if(!y)throw La(ut(await $r(o,0,4)))==a?Error(oa):Error($n);p&&x>1&&Ia("multiple end of central directory records");const z=ut(y);let R=La(z,12),F=La(z,16);const D=y.offset,U=_a(z,20),T=D+d+U;o.size-T>m&&Ia("appended data");let k=_a(z,4);const v=o.Pt||0;let C,M,I,j=_a(z,6),P=_a(z,10),N=0;const W=F==t||R==t||P==e||j==e;if(F!=t&&j!=e&&(F+=Aa(o,j)),W){const r=y.offset<u?O:await $r(o,y.offset-u,u),n=ut(r);if(r.length==u&&La(n,0)==l){F=Aa(o,La(n,4))+Ba(n,8);let r=await $r(o,F,56),a=ut(r);const s=y.offset-u-56;if((56>r.length||La(a,0)!=c)&&F!=s&&s>=0){const t=F;F=s,F>t&&(N=F-t),r=await $r(o,F,56),a=ut(r)}if(56>r.length||La(a,0)!=c)throw Error(ta);M=!0,I=Ba(a,4)>44,k==e?k=La(a,16):h&&k!=La(a,16)&&Ia("mismatched zip64 end of central directory record"),j==e?j=La(a,20):h&&j!=La(a,20)&&Ia("mismatched zip64 end of central directory record"),P==e?P=Ba(a,32):h&&P!=Ba(a,32)&&Ia("mismatched zip64 end of central directory record"),R==t?R=Ba(a,40):h&&R!=Ba(a,40)&&Ia("mismatched zip64 end of central directory record"),F=Aa(o,j)+Ba(a,48)+N}}const _=R,L=y.offset-(M?76:0);if(F<o.size||(N=o.size-F-R-d,F=o.size-R-d),v!=k)throw Error(oa);if(0>F)throw Error(Qn);let B=0,Z=await $r(o,F,R),V=ut(Z);if(R){if(4>Z.length)throw Error(Qn);const t=L-R;if(F!=t&&j==k){let e=!(La(V,B)==i);if(e||0>t||t+4>o.size||(e=La(ut(await $r(o,t,4)),0)==i),e){const e=F;F=t,F>e&&(N+=F-e),Z=await $r(o,F,R),V=ut(Z)}}}const H=L-F;if(R==H||0>H||j!=k||(R=H,Z=await $r(o,F,R),V=ut(Z)),0>F||F>=o.size)throw Error(Qn);C=F;const q=ja(s,n,"filenameEncoding"),K=ja(s,n,"commentEncoding"),Y=h?new Set:A;let G;for(let t=0;P>t;t++){const a=new ya(o,f,s.options);if(B+46>Z.length||La(V,B)!=i){if(0==t&&(I||ba(V)))throw Error(da);throw Error(ea)}Sa(a,V,B+6);const c=!!a.bitFlag.languageEncodingFlag,l=B+46,d=l+a.filenameLength,u=d+a.extraFieldLength,w=_a(V,B+4),p=!(w>>8),m=w>>8==3,y=Z.subarray(l,d),x=_a(V,B+32),z=u+x,R=Z.subarray(u,z),F=c,D=c,U=La(V,B+38),O=U&r,T={readOnly:!!(1&O),hidden:!!(2&O),system:!!(4&O),directory:!!(16&O),archive:!!(32&O)},k=La(V,B+42),v=ja(s,n,"decodeText")||en,M=F?ua:q||fa,j=D?ua:K||fa;let W=v(y,M);W===A&&(W=en(y,M));let _=v(R,j);_===A&&(_=en(R,j)),Object.assign(a,{index:t,versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,Vt:x,offset:k,diskNumberStart:_a(V,B+34),internalFileAttributes:_a(V,B+36),externalFileAttributes:U,msdosAttributesRaw:O,msdosAttributes:T,rawFilename:y,filenameUTF8:F,commentUTF8:D,rawExtraField:Z.subarray(d,u),rawComment:R,filename:W,comment:_}),Ea(a,a,V,B+6),a.offset+=N,C=Math.min(Aa(o,a.diskNumberStart)+a.offset,C),h&&(Y.has(a.filename)&&(G=!0),Y.add(a.filename));const L=a.externalFileAttributes>>16&e;a.unixMode===A&&16877&L&&(a.unixMode=L);const H=!!(a.unixMode&S),X=!!(a.unixMode&E),J=!!(512&a.unixMode),Q=a.unixMode!==A?!!(73&a.unixMode):m&&!!(73&L),$=a.unixMode!==A&&(61440&a.unixMode)==b,tt=(61440&L)==b;Object.assign(a,{setuid:H,setgid:X,sticky:J,unixExternalUpper:L,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:$||tt||p&&T.directory||a.filename.endsWith(g)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new Pn(a);et.getData=(t,e)=>a.getData(t,et,s.Lt,e),et.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([new Response(e.readable).arrayBuffer(),a.getData(e,et,s.Lt,t)]);return r},B=z;const{onprogress:rt}=n;if(rt)try{await rt(t+1,P,new Pn(a))}catch{}yield et}h&&B!=_&&Ia("trailing central directory data"),G&&Ia("duplicate filename"),h&&(N||P&&C>0)&&Ia("prepended data");const X=ja(s,n,"extractPrependedData"),J=ja(s,n,"extractAppendedData");return X&&(s.prependedData=C>0?await $r(o,0,C):O),s.comment=U?await $r(o,D+d,U):O,J&&(s.appendedData=T<o.size?await $r(o,T,o.size-T):O),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class ma{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new pa(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 ya=class{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,i={}){const o=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:z}=m,R=e.localDirectory={},F=Aa(c,u)+d,D=await $r(c,F,x),U=ut(D);let T=ja(o,i,Nn),k=ja(o,i,Wn);const v=ja(o,i,_n);if(T=T&&T.length&&T,k=k&&k.length&&k,f&&99!=f.originalCompressionMethod)throw Error(ia);if(D.length<x||La(U,0)!=n)throw Error(ra);Sa(R,U,4);const{extraFieldLength:C,filenameLength:M}=R,I=Fa(ja(o,i,Gn),ja(o,i,Bn))==Xn;let j=O;if(I&&(M||C)){const t=await $r(c,F+x,M+C);j=t.subarray(0,M),R.rawExtraField=t.subarray(M)}else R.rawExtraField=C?await $r(c,F+x+M,C):O;Ea(o,R,U,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&Ia("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ia("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Ia("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||Ia("mismatched local file header (crc32 or sizes)")})(o,R,j);const{lastAccessDate:P,creationDate:N}=R;P&&(e.lastAccessDate=P),N&&(e.creationDate=N);const W=o.encrypted&&R.encrypted&&!v,_=W&&!f;if(v||(e.zipCrypto=_),W&&!(64&~R.rawBitFlag))throw Error(sa);const L=v?A:Y(h);if(0!=h&&8!=h&&9!=h&&!L&&!v)throw Error(ia);if(W){if(!_&&(1>f.strength||f.strength>3))throw Error(sa);if(!T&&!k)throw Error(aa)}const B=F+x+M+C,Z=g,V=ae(c.createReadable({offset:B,size:Z})),H=ja(o,i,Ln),q=ja(o,i,"checkPasswordOnly");let K=ja(o,i,"checkOverlappingEntry");const G=ja(o,i,"checkOverlappingEntryOnly");G&&(K=!0);const{onstart:X,onprogress:J,onend:Q}=i,$=9==h;let tt=ja(o,i,Vn);$&&(tt=!1);const et=ja(o,i,"checkCrc32"),rt=(et===A?ja(o,i,"checkSignature"):et)&&!v&&(!W||_||f&&1==f.vendorVersion),nt={options:{codecType:Ae,password:T,rawPassword:k,zipCrypto:_,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:ja(o,i,"checkAuthenticationCode"),passwordVerification:_&&(z?S>>>8&r:b>>>24&r),outputSize:v?g:E,crc32:b,compressed:0!=h&&!v,encrypted:W,useWebWorkers:ja(o,i,Zn),useCompressionStream:tt,transferStreams:ja(o,i,Hn),deflate64:$,format:L?L.format:A,codecURI:L?L.codecURI:A,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:q},config:p,ut:{signal:H,size:Z,onstart:X,onprogress:J,onend:Q}};let at;K&&await(async({reader:t,Ht:e,index:r,offset:n,crc32:a,compressedSize:i,uncompressedSize:o,qt:c,dataDescriptor:l,extraFieldZip64:d,Lt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await $r(t,c+i,f+4);if(r.length==f+4&&La(ut(r),0)==s){const t=La(ut(r),4);let n,s;d?(n=Ba(ut(r),8),s=Ba(ut(r),16)):(n=La(ut(r),8),s=La(ut(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==i&&s==o&&(f+=4)}}const w={start:n,end:c+i+f,Ht:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(ca);throw t.Kt=e.Ht,t}u.set(r,w)})({reader:c,Ht:e,index:l,offset:F,crc32:b,compressedSize:g,uncompressedSize:E,qt:B,dataDescriptor:z||R.bitFlag.dataDescriptor,extraFieldZip64:w||R.extraFieldZip64,Lt:a});try{if(!G){q&&(t=new WritableStream),t=new Jr(t),await Qr(t,v?g:E),({writable:at}=t);const{outputSize:e}=await Qe({readable:V,writable:at},nt);if(t.size+=e,e!=(v?g:E))throw Error(ie)}}catch(e){if(e.outputSize!==A&&(t.size+=e.outputSize),!q||e.message!=Et)throw e}finally{ja(o,i,qn)||!at||at.locked||await at.getWriter().close()}return q||G?A:t.getData?t.getData():at}};function ba(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==La(t,r))return!0;return!1}function Sa(t,e,r){const n=t.rawBitFlag=_a(e,r+2),a=!(1&~n),s=La(e,r+6);Object.assign(t,{encrypted:a,version:_a(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&y)==y},rawLastModDate:s,lastModDate:Pa(s),filenameLength:_a(e,r+22),extraFieldLength:_a(e,r+24)})}function Ea(t,e,r,n,a){const{rawExtraField:s}=e,i=e.extraField=new Map,o=ut(s);let c=0;try{for(;c<s.length;){const t=_a(o,c),e=_a(o,c+2);i.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=_a(r,n+4);Object.assign(e,{signature:La(r,n+10),crc32:La(r,n+10),compressedSize:La(r,n+14),uncompressedSize:La(r,n+18)});const d=i.get(1);d&&(((t,e)=>{e.zip64=!0;const r=ut(t.data),n=wa.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ha[e].bytes,0);if(t.data.length<a)throw Error(na);for(let a=0,s=0;a<n.length;a++){const[i,o]=n[a],c=ha[o];e[i]=t[i]=c._t(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=i.get(28789);u&&(ga(u,rn,nn,e,t),e.extraFieldUnicodePath=u);const y=i.get(25461);y&&(ga(y,an,sn,e,t),e.extraFieldUnicodeComment=y);const b=i.get(f);b&&b.data.length>=7?(((t,e,r)=>{const n=ut(t.data),a=Wa(n,4);Object.assign(t,{vendorVersion:Wa(n,0),vendorId:Wa(n,2),strength:a,originalCompressionMethod:r,compressionMethod:_a(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=A)})(b,e,l),e.extraFieldAES=b):e.compressionMethod=l;const S=i.get(13);S&&(xa(S,e),e.extraFieldPkwareUnix=S);const E=i.get(22613);E&&(xa(E,e),e.extraFieldUnixType1=E);const g=i.get(10);g&&(((t,e)=>{const r=ut(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=_a(r,a),s=_a(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=ut(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:i});const o={lastModDate:Na(a),lastAccessDate:Na(s),creationDate:Na(i)};Object.assign(t,o),Object.assign(e,o)}})(g,e),e.extraFieldNTFS=g);const x=i.get(m);if(x)za(x,e,!1),e.extraFieldUnix=x;else{const t=i.get(p);t&&(za(t,e,!0),e.extraFieldInfoZip=t)}const z=i.get(w);z&&(((t,e,r)=>{if(!t.data.length)return;const n=ut(t.data),a=Wa(n,0),s=[],i=[];r?(1&~a||(s.push(un),i.push(fn)),2&~a||(s.push(wn),i.push(hn)),4&~a||(s.push(pn),i.push(mn))):5>t.data.length||(s.push(un),i.push(fn));let o=1;s.forEach((r,a)=>{if(t.data.length>=o+4){const s=La(n,o);e[r]=t[r]=new Date(1e3*(0|s));const c=i[a];t[c]=s}o+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=i.get(h);R&&(e.extraFieldUSDZ=R)}function ga(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=ut(t.data),i=new it;i.append(a[r]);const o=ut(new Uint8Array(4));o.setUint32(0,i.get(),!0);const c=La(s,1);Object.assign(t,{version:Wa(s,0),[e]:en(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==La(o,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function xa(t,e){if(8>t.data.length)return;const r=ut(t.data),n={lastAccessDate:new Date(1e3*La(r,0)),lastModDate:new Date(1e3*La(r,4))};12>t.data.length||(n.uid=_a(r,8),n.gid=_a(r,10)),Object.assign(t,n),Object.assign(e,n)}function za(t,e,r){try{const n=ut(t.data);let a,s;if(r){let e=0;const r=Wa(n,e++),i=Wa(n,e++);a=Ra(t.data.subarray(e,e+i)),e+=i;const o=Wa(n,e++);s=Ra(t.data.subarray(e,e+o)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=_a(n,0),s=_a(n,2),Object.assign(t,{uid:a,gid:s}));a!==A&&(e.uid=a),s!==A&&(e.gid=s)}catch{}}function Ra(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Aa(t,e){return t.Wt?t.Wt(e):0}function Fa(t,e){return t===A?e?Xn:"balanced":t}const Da=64,Ua=0,Oa=1,Ta=2;async function*ka(t,e){const r=t.size-e,n=await $r(t,r,e),a=ut(n);for(let t=n.length-d;t>=0;t--)La(a,t)==o&&(yield[a,r,n,t,r+t])}function va(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Ca(r,n,a,s,o,c,d){const f=_a(n,s+10),w=La(n,s+12),h=La(n,s+16);if(f==e||w==t||h==t)return await Ma(r,n,a,o-u,c,d)==l?Ta:Ua;if(!f&&!w)return Oa;const p=_a(n,s+6);for(const t of[o-w,Aa(r,p)+h])if(await Ma(r,n,a,t,c,d)==i)return Ta;return Ua}async function Ma(t,e,r,n,a,s){return 0>n||n+4>a?A:r>n?s.count>0?(s.count--,La(ut(await $r(t,n,4)),0)):A:La(e,n-r)}function Ia(t){const e=Error(la);throw e.reason=t,e}function ja(t,e,r){return e[r]===A?t.options[r]:e[r]}function Pa(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 Na(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Wa(t,e){return t.getUint8(e)}function _a(t,e){return t.getUint16(e,!0)}function La(t,e){return t.getUint32(e,!0)}function Ba(t,e){return Number(t.getBigUint64(e,!0))}var Za=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:la,ERR_BAD_FORMAT:Qn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ea,ERR_ENCRYPTED:aa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:da,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ta,ERR_EOCDR_NOT_FOUND:$n,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:na,ERR_INVALID_AUTHENTICATION_CODE:St,ERR_INVALID_COMPRESSED_DATA:oe,ERR_INVALID_CRC32:ce,ERR_INVALID_PASSWORD:yt,ERR_INVALID_SIGNATURE:bt,ERR_INVALID_UNCOMPRESSED_SIZE:ie,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ra,ERR_OVERLAPPING_ENTRY:ca,ERR_SPLIT_ZIP_FILE:oa,ERR_UNSUPPORTED_COMPRESSION:ia,ERR_UNSUPPORTED_ENCRYPTION:sa,ZipReader:pa,ZipReaderStream:ma});const Va="File already exists",Ha="Zip file comment exceeds 64KB",qa="File entry comment exceeds 64KB",Ka="File entry name exceeds 64KB",Ya="Version exceeds 65535",Ga="The strength must equal 1, 2, or 3",Xa="Encryption is not supported in USDZ files",Ja="Extra field type exceeds 65535",Qa="Extra field data exceeds 64KB",$a=-2147483648,ts=2147483647,es=BigInt(0),rs=BigInt("0x7fffffffffffffff"),ns="Zip64 is not supported (set the 'zip64' option to 'true')",as="Undefined uncompressed size",ss="Undefined reader",is="Zip file not empty",os=new Uint8Array([7,0,2,0,65,69,3,0,0]),cs="infozip",ls="unix";let ds=0;const us=[];class fs{constructor(t,e={}){t=new Jr(t);const{availableSize:r=F,maxSize:n=F}=t;Object.assign(this,{writer:t,Yt:r>0&&r!==F&&n>0&&n!==F,options:e,config:M(),files:new Map,Gt:new Set,offset:e[Kn]===A?t.size||t.writable.size||0:e[Kn],Xt:e[Kn]===A?0:e[Kn]-(t.size||t.writable.size||0),Jt:new Set,Qt:0,$t:A})}async prependZip(e){if(this.Gt.size)throw Error(is);e=new Xr(e),await Qr(e);const{ZipReader:r}=await Promise.resolve().then(()=>Za),n=new r(e.readable),a=await n.getEntries();await n.close(),await Qr(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:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=o;w=w||O,h=h||O,p=p||O,m=m||O,y=y||O,b=b||O,e.extraFieldAES&&(f=99);const x=Ms(w,h,p,m,y,b),z=u&&l>=t,R=u&&d>=t,F=-7&js(S,E,g,c,f)|S<<1,{se:D,ie:U}=Is({version:r,bitFlag:F,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,oe:R,ce:z,extraFieldLength:x}),{crc32:T}=e;return T!==A&&ks(U,10,T),Object.assign(e,{ce:z,oe:R,le:u&&e.offset>=t,diskNumberStart:0,de:!1,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,ue:1+(a?2:0)+(s?4:0),se:D,ie:U}),[e.filename,e]}))}async add(i="",o,c={}){const l=this;c=Object.assign({},c);const{Jt:d,config:u}=l;let h,y;ds<u.maxWorkers?ds++:await new Promise(t=>us.push(t));try{if(i=i.trim(),Us(l,c,Dn)&&!i.endsWith(g)&&(i+=g),l.Gt.has(i))throw Error(Va);return l.Gt.add(i),y=!0,h=(async(i,o,c,l)=>{const d=((n,a,s)=>{a=a.trim();let i=Us(n,s,gn),o=Us(n,s,An,i?20:768);const c=Us(n,s,Un),l=Us(n,s,"uid"),d=Us(n,s,"gid");let u=Us(n,s,vn),f=Us(n,s,"unixExtraFieldType"),w=Us(n,s,Cn),h=Us(n,s,Mn),p=Us(n,s,In);if(l!==A&&(0>l||l>t))throw Error("Invalid uid (must be integer 0..2^32-1)");if(d!==A&&(0>d||d>t))throw Error("Invalid gid (must be integer 0..2^32-1)");if(u!==A&&(0>u||u>e))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(f!==A&&f!==cs&&f!==ls)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(f===ls&&(l!==A&&l>e||d!==A&&d>e))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");f!==A||l===A&&d===A||(f=cs);let m=Us(n,s,Sn),y=Us(n,s,En);const x=m!==A||y!==A;if(l!==A||d!==A||u!==A||f?(i=!1,o=o&e|768):x&&(i=!0,o&=r),m!==A&&(0>m||m>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(y&&"object"!=typeof y)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(o>e)throw Error(Ya);let z=Us(n,s,bn);const R=z!==A;R||(z=0),!s[Dn]&&a.endsWith(g)&&(s[Dn]=!0);const F=Us(n,s,Dn);let D;if(F?(a.endsWith(g)||(a+=g),R||(z=16,i||(z|=16877<<16))):i||R||(z=c?493<<16:27525120),!i){const t=u!==A||!!(w||h||p);D=z>>16&e,u=u===A?D:u&e,w?u|=S:w=!!(u&S),h?u|=E:h=!!(u&E),p?u|=512:p=!!(512&u),R&&!t||(F&&(u|=b),z=(u&e)<<16|z&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==A)t&=r;else if(e!==A){const{readOnly:n,hidden:a,system:s,directory:i,archive:o}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),i&&(c|=16),o&&(c|=32),t=c&r}return e===A&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),x&&(z=z&t|m&r),{name:a,fe:{versionMadeBy:o,msDosCompatible:i,externalFileAttributes:z,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}})(i,o,l);({name:o}=d);const u=((t,r,n)=>{const a=Us(t,n,"encodeText",ct);let s=a(r);if(s===A&&(s=ct(r)),Ms(s)>e)throw Error(Ka);const i=n[an]||"";let o=a(i);if(o===A&&(o=ct(i)),Ms(o)>e)throw Error(qa);const c=Us(t,n,Rn,20);if(c>e)throw Error(Ya);const l=Us(t,n,un,new Date),d=Us(t,n,wn),u=Us(t,n,pn),f=Us(t,n,yn,0),w=Us(t,n,_n);let h,p;w||(h=Us(t,n,Nn),p=Us(t,n,Wn));const m=Us(t,n,"encryptionStrength",3),y=Us(t,n,Fn),b=Us(t,n,"extendedTimestamp",!0),S=Us(t,n,"ntfsTimestamp"),E=Us(t,n,"keepOrder",!0),g=Us(t,n,Zn),x=Us(t,n,Hn),z=Us(t,n,"bufferedWrite"),R=Us(t,n,"createTempStream"),F=Us(t,n,"dataDescriptorSignature",!0),D=Us(t,n,Ln),U=Us(t,n,"useUnicodeFileNames",!0),O=Us(t,n,On),T=w||O===A?A:Y(O);if(!w&&O!==A&&0!==O&&8!==O&&!T)throw Error("Compression method not supported");let k=Us(t,n,"level");if(t.options[Yn]){if(h!==A||p!==A)throw Error(Xa);k===A&&O===A&&(k=0)}let v=Us(t,n,Vn),C=Us(t,n,"dataDescriptor");z&&C===A&&(C=!1),(C===A||y)&&(C=!0),k!==A&&6!=k&&(v=!1);const M=Us(t,n,xn);if(!y&&(h!==A||p!==A)&&(1>m||m>3))throw Error(Ga);const I=ps(n[kn]),j=ps(n.localExtraField);return{comment:i,fe:{rawFilename:s,rawComment:o,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,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:R,dataDescriptorSignature:F,signal:D,useUnicodeFileNames:U,compressionMethod:O,format:T?T.format:A,codecURI:T?T.codecURI:A,we:T?T.versionNeeded:A,level:k,useCompressionStream:v,dataDescriptor:C,zip64:M,rawExtraField:I,he:j}}})(i,o,l),{comment:h}=u,y=l[kn];let D;i.files.set(o,A);try{const{fe:h}=u;0==h.level||h.compressionMethod!==A||h.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamZlib:r}=t;if(r&&!r.Dt)return!0;if(ye(e)||me(e,de))return!0;if(r)try{return await Ie(t),!0}catch{return!1}return!1})(i.config)||(h.level=0);const y=await(async(e,r,{fe:n},a)=>{const{passThrough:s,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,h=0,p=0;if(s){if(!r)throw Error(ss);if(p=a[on],p===A)throw Error(as)}const m=!0===u,y=Us(e,a,zn),b=!!r&&(!!(o&&Ms(o)||c&&Ms(c))||s&&y);r||(f=0,w=0);const S=b?i?12:16+4*l:0;r&&(r=new Xr(r),await Qr(r),s?(a.uncompressedSize=p,h=Os(p)+S):r.size===A?(d=!0,(u||u===A)&&(u=!0,p=h=4294967296)):(a.uncompressedSize=p=r.size,h=Os(p)+S));const E=m||p>=t,g=m||h>=t;if(E||g){if(!1===u)throw Error(ns);u=!0}return u=u||!1,{reader:r,fe:{dataDescriptor:d,zip64:u,ce:E,oe:g,uncompressedSize:p,level:f,compressionMethod:w,encrypted:b}}})(i,c,u,l);({reader:c}=y);const b=Es(i.writer),S=Ss(i.writer),E=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:i,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:h,rawExtraField:y,he:b,encryptionStrength:S,extendedTimestamp:E,ntfsTimestamp:g,passThrough:F,encrypted:D,ce:U,oe:T,uncompressedSize:k,crc32:v}=t;let{version:C,compressionMethod:M}=t;const I=!h&&(M===A?o===A||o>0:0!==M);let j;const P=F||!I,N=c&&(t.bufferedWrite||!u||!U&&!T||P),W=N||c&&u&&(U||T);if(c&&(U||T)){const t=20,e=bs(t);if(e.uint16(1),e.uint16(t-4),j=e.array,N&&(e.pe(k),P)){const t=D?l?12:16+4*S:0;e.pe(F?0:k+t)}}else j=O;let _,L,B,Z,V;if(D&&!l){const t=bs(Ms(os)+2);t.uint16(f),t.bytes(os),_=t.array,_[8]=S}else _=O;if(E){const t=As(a),e=Fs(t);if(e){const e=9+(s?4:0)+(i?4:0),r=bs(e);Z=1+(s?2:0)+(i?4:0),r.uint16(w),r.uint16(e-4),r.uint8(Z),r.uint32(t),s&&r.uint32(Ds(As(s))),i&&r.uint32(Ds(As(i))),B=r.array}else B=O;if(g===A?!e||s||i:g)try{const t=Rs(a),e=bs(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?Rs(s):t),e.pe(i?Rs(i):t),L=e.array}catch{L=O}else L=O}else L=B=O;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=cs||r===A&&n===A)if(a!=ls||r===A&&n===A)V=O;else{const t=bs(8);t.uint16(m),t.uint16(4),t.uint16((r===A?0:r)&e),t.uint16((n===A?0:n)&e),V=t.array}else{const t=ys(r),e=ys(n),a=3+t.length+e.length,s=bs(4+a);s.uint16(p),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),V=s.array}}catch{V=O}M===A&&(M=I?8:0);const{we:H}=t;I&&H!==A&&(C=C>H?C:H),c&&(C=C>45?C:45),D&&!l&&(C=C>51?C:51,F&&v!==A&&(_[4]=1),_[9]=M,M=99);const q=W?Ms(j):0,K=q+Ms(_,B,L,V,y,b);if(K>e)throw Error(Qa);const Y=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{se:G,ie:X,rawLastModDate:J}=Is({version:C,bitFlag:js(o,d,u,D,M),compressionMethod:M,uncompressedSize:k,lastModDate:R>Y?R:Y>z?z:Y,rawFilename:r,oe:T,ce:U,extraFieldLength:K}),Q=bs(x+Ms(r)+K),$=Q.array,tt=ut($);return Q.uint32(n),Q.bytes(G),Q.bytes(r),W&&Q.bytes(j),Q.bytes(_),Q.bytes(B),Q.bytes(L),Q.bytes(V),Q.bytes(y),Q.bytes(b),u&&(T||ks(tt,18,0),U||ks(tt,22,0)),{ye:$,be:tt,se:G,ie:X,lastModDate:a,rawLastModDate:J,encrypted:D,compressed:I,version:C,compressionMethod:M,ue:Z,te:O,Se:q,re:B,ne:L,ae:V,ee:_,extraFieldLength:K}})(l=Object.assign({},l,d.fe,u.fe,y.fe,{internalFileAttribute:u.fe.internalFileAttributes,externalFileAttribute:d.fe.externalFileAttributes,signature:l[Tn],crc32:l.crc32===A?l[Tn]:l.crc32,offset:i.offset-b,diskNumberStart:S})),g=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=O,i=0,o=t?20:12;return r&&(o+=4),e&&(a=new Uint8Array(o),n=ut(a),r&&(i=4,ks(n,0,s))),{Ee:a,ge:n,xe:i}})(l),U=Ms(E.ye,g.Ee);D=await(async(e,n,s,i,o)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=o,{ze:w}=i,h=e.options[Yn],p=e.$t;let m,y,b,S,E,g,z,R={},D=0;c.set(n,R),e.$t=R;try{let y;d&&(y=p&&p.lock,R.lock=new Promise(t=>b=t)),o.bufferedWrite||!d||e.Re||e.Qt||!u?(m=!0,e.Qt++,z=o.createTempStream?await o.createTempStream():new TransformStream(A,A,{highWaterMark:F}),z.size=0,await Qr(l)):(z=l,await U()),await Qr(z);const T=Es(l);if(e.Yt){delete e.Yt;const t=new Uint8Array(4);ks(ut(t),0,a),await zs(l,t),e.offset+=4}h&&!m&&ms(i,e.offset-T);const{ye:k}=w;m||(await y,await O());const v=Ss(l),C=xs(e,l);if(R.diskNumberStart=v,m||(E=!0,g=l.size,await zs(z,k)),R=await(async(e,n,{diskNumberStart:a,lock:s},i,o,c)=>{const{ze:l,Ae:d,Fe:u}=i,{se:f,ie:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:S,te:E,Se:g,re:x,ue:z,ne:R,ae:F,ee:D}=l,{Ee:U}=d,{rawFilename:O,lastAccessDate:T,creationDate:k,password:v,rawPassword:C,level:M,zip64:I,ce:j,oe:P,zipCrypto:N,dataDescriptor:W,directory:_,executable:L,versionMadeBy:B,rawComment:Z,rawExtraField:V,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,setuid:st,setgid:it,sticky:ot,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:ht}=c,pt={lock:s,versionMadeBy:B,zip64:I,directory:!!_,executable:!!L,filenameUTF8:!0,rawFilename:O,commentUTF8:!0,rawComment:Z,te:E,Se:g,re:x,ne:R,ae:F,ee:D,rawExtraField:V,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:it,sticky:ot,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:mt,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=ae(e.createReadable?e.createReadable():e.readable),s=e.size,i={options:{codecType:Re,level:M,rawPassword:C,password:v,encryptionStrength:J,zipCrypto:m&&N,passwordVerification:m&&N&&p>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:m&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:ht,compressionMethod:S},config:o,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Qe({readable:a,writable:St},i);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,m&&!N||(mt=e.crc32)),!P&&bt>=t||!j&&yt>=t)throw Error(ns)}catch(t){throw t.outputSize!==A&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,ze:n,Ae:a},{zip64:s,zipCrypto:i,passThrough:o,dataDescriptor:c})=>{const{ie:l,encrypted:d}=n,{ge:u,xe:f}=a;d&&!i&&!o||t===A||(ks(l,10,t),c&&ks(u,f,t)),s?c&&(vs(u,f+4,BigInt(e)),vs(u,f+12,BigInt(r))):(ks(l,14,e),ks(l,18,r),c&&(ks(u,f+4,e),ks(u,f+8,r)))})({crc32:mt,compressedSize:bt,uncompressedSize:yt,ze:l,Ae:d},c),W&&await zs(n,U),Object.assign(pt,{uncompressedSize:yt,compressedSize:bt,lastModDate:h,rawLastModDate:p,creationDate:k,lastAccessDate:T,encrypted:m,zipCrypto:N,size:u+bt,compressionMethod:S,version:b,se:f,ie:w,signature:mt,crc32:!m||N||ft?mt:A,ue:z,ce:j,oe:P}),pt})(s,z,R,i,e.config,o),m||(E=!1),c.set(n,R),R.filename=n,m){if(await Promise.all([z.writable.getWriter().close(),y]),await U(),S=!0,g=l.size,await O(),R.diskNumberStart=Ss(l),R.offset=xs(e,l),h){const t=i.Fe;ms(i,e.offset-Es(l)),R.size+=i.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,Se:n,crc32:a,compressedSize:s,uncompressedSize:i,ce:o,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==A)&&ks(l,14,a),c||ks(l,18,s),o||ks(l,22,i)),r&&n){const e=x+Ms(t)+4;vs(l,e,BigInt(i)),vs(l,e+8,BigInt(s))}})(R,w.be,o),await zs(l,w.ye),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=Ms(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(z.readable,l,f),l.size+=z.size,S=!1}else R.diskNumberStart=v,R.offset=C;return e.offset+=R.size,R}catch(t){if(S||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-g,m&&(e.offset+=D)}throw c.delete(n),t}finally{if(m&&e.Qt--,b&&b(),y&&y(),m&&z&&z.dispose)try{await z.dispose()}catch{}}async function U(){e.Re=!0;const{De:t}=e;e.De=new Promise(t=>y=()=>{e.Re=!1,t()}),await t}async function O(){gs(l,Ms(w.ye))&&await l.closeDisk()}})(i,o,c,{ze:E,Ae:g,Fe:U},l)}catch(t){throw i.files.delete(o),t}return Object.assign(D,{name:o,comment:h,extraField:y}),new Pn(D)})(l,i,o,c),d.add(h),await h}catch(t){throw y&&l.Gt.delete(i),t}finally{d.delete(h);const t=us.shift();t?t():ds--}}remove(t){const{Gt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==A){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=O,n={}){const{Jt:a,writer:s}=this,{writable:u}=s;if(Ms(r)>e)throw Error(Ha);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,ee:s,rawComment:i,ne:o,ae:c,rawExtraField:l,extendedTimestamp:d,ue:u,lastModDate:f,ce:h,oe:p,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||h||p){const t=4+(h?8:0)+(p?8:0)+(b?8:0)+(S?4:0),e=bs(t);e.uint16(1),e.uint16(t-4),h&&e.pe(m),p&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=O;a.te=E,a.le=b,a.de=S;const x=As(f);if(d&&Fs(x)){const t=bs(9);t.uint16(w),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=O;a.re=g;const z=Ms(E,s,o,c,g,l);if(z>e)throw Error(Qa);n+=46+Ms(r,i)+z}return n})(r.files),u=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await Qr(o);let l=0,d=0,u=Ss(o),f=Es(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,ie:R,ce:A,oe:F,de:D,le:U,internalFileAttributes:O,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:C}=n,M=Ms(p,m,y,b,S,E),I=46+Ms(h,g)+M;gs(o,l+I-d)&&(await zs(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=Ss(o),f=Es(o)),A||ks(R,18,v),F||ks(R,14,C),(U||D)&&45>n.version&&Ts(R,0,45);const j=bs(I);if(j.uint32(i),j.uint16(x),j.bytes(z.subarray(0,24)),j.uint16(M),j.uint16(Ms(g)),j.uint16(D?e:k),j.uint16(O),j.uint32(T),j.uint32(U?t:w),j.bytes(h),j.bytes(p),j.bytes(m),j.bytes(y),j.bytes(b),j.bytes(S),j.bytes(E),j.bytes(g),Cs(c,j.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Pn(n))}catch{}}return await zs(o,d?c.slice(d):c),{diskNumber:u,diskOffset:f}})(r,s,a);await(async(r,n,a,s)=>{const{writer:i}=r,{Ue:u}=s;let{Oe:f}=s,w=r.files.size,h=u.diskNumber,p=xs(r,u),m=Ss(i);gs(i,d)&&m++;let y=Us(r,a,xn);if(!(t>p&&t>f&&e>w&&e>m)){if(!1===y)throw Error(ns);y=!0}const b=Ms(n);if(b>e)throw Error(Ha);const S=bs(y?98:d);gs(i,Ms(S.array)+b)&&await i.closeDisk(),m=Ss(i),y&&(S.uint32(c),S.pe(44),S.uint16(45),S.uint16(45),S.uint32(m),S.uint32(h),S.pe(w),S.pe(w),S.pe(f),S.pe(p),S.uint32(l),S.uint32(m),S.pe(BigInt(xs(r,i))+BigInt(f)),S.uint32(m+1),Us(r,a,"supportZip64SplitFile",!0)&&(m=e,h=e),w=e,p=t,f=t),S.uint32(o),S.uint16(m),S.uint16(h),S.uint16(w),S.uint16(w),S.uint32(f),S.uint32(p),S.uint16(b),await zs(i,S.array),b&&await zs(i,n)})(r,n,a,{Ue:u,Oe:s})})(this,r,n),Us(this,n,qn)||await u.getWriter().close(),s.getData?s.getData():u}}class ws{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new fs(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 hs(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 hs(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 hs(t,e,r){t.Jt.add(e),e.catch(t=>{try{r(t)}catch{}})}function ps(t){if(!t)return O;let r=0,n=0;t.forEach(t=>r+=4+Ms(t));const a=new Uint8Array(r),s=ut(a);return t.forEach((t,r)=>{if(r>e)throw Error(Ja);if(Ms(t)>e)throw Error(Qa);Ts(s,n,r),Ts(s,n+2,Ms(t)),Cs(a,t,n+4),n+=4+Ms(t)}),a}function ms(t,e){const{ze:r}=t;let{ye:n,extraFieldLength:a}=r,s=64-(e+Ms(n))%64;4>s&&(s+=64);const i=new Uint8Array(s),o=ut(i);Ts(o,0,h),Ts(o,2,s-4);const c=n;r.ye=n=new Uint8Array(Ms(c)+s),Cs(n,c),Cs(n,i,Ms(c));const l=ut(n);Ts(l,28,a+s),r.be=l,t.Fe+=s}function ys(t){if(t===A)return O;{const e=new Uint8Array(4);ut(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function bs(t){const e=new Uint8Array(t),r=ut(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ts(r,n,t),n+=2},uint32:t=>{ks(r,n,t),n+=4},pe:t=>{vs(r,n,BigInt(t)),n+=8},bytes:t=>{Cs(e,t,n),n+=Ms(t)},me:t=>n+=t}}function Ss(t){const{diskNumber:e=0}=t;return e}function Es(t){const{diskOffset:e=0}=t;return e}function gs(t,e){const{availableSize:r=F}=t;return e>r}function xs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Xt:0)}async function zs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Ms(e),await n.write(e)}finally{n.releaseLock()}}function Rs(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return es>e?es:e>rs?rs:e}}function As(t){return Math.floor(t.getTime()/1e3)}function Fs(t){return t>=$a&&ts>=t}function Ds(t){return Math.min(ts,Math.max($a,t))}function Us(t,e,r,n){const a=e[r]===A?t.options[r]:e[r];return a===A?n:a}function Os(t){return t+5*(Math.floor(t/16383)+1)}function Ts(t,e,r){t.setUint16(e,r,!0)}function ks(t,e,r){t.setUint32(e,r,!0)}function vs(t,e,r){t.setBigUint64(e,r,!0)}function Cs(t,e,r){t.set(e,r)}function Ms(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Is({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:i,rawLastModDate:o,rawFilename:c,oe:l,ce:d,extraFieldLength:u}){const f=bs(26),w=f.array,h=ut(w);if(f.uint16(e),f.uint16(r),f.uint16(n),o===A){const t=new Uint32Array(1),e=ut(t);Ts(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ts(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=t[0]}return f.uint32(o),f.me(4),l||s!==A?f.uint32(l?t:s):f.me(4),d||a!==A?f.uint32(d?t:a):f.me(4),f.uint16(Ms(c)),f.uint16(u),{se:w,ie:h,rawLastModDate:o}}function js(t,e,r,n,a){let s=0;return e&&(s|=y),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 Ps(){return"application/octet-stream"}const Ns=1048576,Ws=".zip.js-temp";function _s(t={}){const{thresholdBytes:e=Ns,directoryName:r=Ws,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,i,o=0,c=!1;const l=new WritableStream({async write(i){c?await a.write(i):(t.push(i),o+=i.length,o>e&&await(async()=>{const e=await s();r=crypto.randomUUID(),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 d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){i&&await i.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 Ls=1048576;function Bs(t={}){const{thresholdBytes:e=Ls}=t;return()=>{const t=[];let r,n,a,s=0,i=!1;const o=new WritableStream({async write(a){i?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=new Response(e.readable).blob(),r=e.writable.getWriter(),i=!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:o,readable:new ReadableStream({async pull(e){if(i){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 Zs=1048576,Vs=".zip.js-temp";function Hs(t={}){const{thresholdBytes:e=Zs,directoryName:r=Vs,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");const a=n||(()=>navigator.storage.getDirectory());let s;function i(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,o=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:o}),o+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await i();r=crypto.randomUUID();const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:o}),o+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=o-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 d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{P({baseURI:import.meta.url})}catch{}let qs,Ks,Ys,Gs,Xs;function Js(t,e,r={}){if(!qs){const t=Error("WASM module not loaded");throw t.cause=Xs,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.Te=Ks(a),this.in=Ks(s),this.inBufferSize=s,!this.Te||!this.in)throw Error("allocation failed");if(this.ke=new Uint8Array(a),t?(this.ve=qs.deflate_process,this.Ce=qs.deflate_last_consumed,this.Me=qs.deflate_end,this.Ie=qs.deflate_new(),r="gzip"===e?qs.deflate_init_gzip(this.Ie,n):"deflate-raw"===e?qs.deflate_init_raw(this.Ie,n):qs.deflate_init(this.Ie,n)):"deflate64-raw"===e?(this.ve=qs.inflate9_process,this.Ce=qs.inflate9_last_consumed,this.Me=qs.inflate9_end,this.Ie=qs.inflate9_new(),r=qs.inflate9_init_raw(this.Ie)):(this.ve=qs.inflate_process,this.Ce=qs.inflate_last_consumed,this.Me=qs.inflate_end,this.Ie=qs.inflate_new(),r="deflate-raw"===e?qs.inflate_init_raw(this.Ie):"gzip"===e?qs.inflate_init_gzip(this.Ie):qs.inflate_init(this.Ie)),0!==r)throw Error("init failed:"+r)}catch(t){throw i(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Gs.buffer),i=this.ve,o=this.Ce,c=this.Te,l=this.ke;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Ys&&(Ys(this.in),this.in=0),this.in=Ks(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=i(this.Ie,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=o(this.Ie);if(0===w)break;d+=w}}catch(t){i(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Gs.buffer),n=this.ve,s=this.Te,i=this.ke;for(;;){const o=n(this.Ie,0,0,s,a,4),c=16777215&o,l=o>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(i.set(r.subarray(s,s+c),0),e.enqueue(i.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=i(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){i(this)}});function i(t){let e=0;return t.Ie&&t.Me&&(e=t.Me(t.Ie)),t.Ie=0,t.in&&Ys&&Ys(t.in),t.in=0,t.Te&&Ys&&Ys(t.Te),t.Te=0,e}}class Qs{constructor(t="deflate",e){return Js(!0,t,e)}}class $s{constructor(t="deflate",e){return Js(!1,t,e)}}Qs.Dt=!0,$s.Dt=!0;let ti,ei=!1;function ri(){ti=null,(async()=>{await Promise.allSettled(Ke.map(t=>(nr(t),t.terminate()))),Te=A})(),ei=!1,qs=Ks=Ys=Gs=Xs=null}(({je:t})=>{Ie=t})({je:t=>{if(!ti){let{wasmURI:e}=t;typeof e==U&&(e=e()),ti=(async(t,{baseURI:e})=>{if(!ei)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(qs=t,({malloc:Ks,free:Ys,memory:Gs}=qs),"function"!=typeof Ks||"function"!=typeof Ys||!Gs)throw qs=Ks=Ys=Gs=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),ei=!0}catch(t){throw(t=>{Xs=t})(t),t}})(e,t).catch(t=>{throw ti=null,t})}return ti}}),P({CompressionStreamZlib:Qs,DecompressionStreamZlib:$s}),P({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const ni="Entry filename already exists",ai=new Set([1,f,10,w,28789,25461,h,p,m,22613,13]);class si{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(ni);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options,id:t.Pe++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,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(ni);this.name=t}}class ii extends si{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 ii(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=fi(r.Reader,r.data,e),a=r.data?r.data.uncompressedSize:n.size;await Promise.all([Qr(n),Qr(t,a)]);const{readable:s}=n;return r.uncompressedSize=n.size,await s.pipeTo(t.writable),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==yt)return!1;throw t}}getText(t,e){return this.getData(new Fr(t),e)}getBlob(t,e){return this.getData(new Rr(t),e)}getData64URI(t,e){return this.getData(new Er(t),e)}getUint8Array(t){return this.getData(new Kr,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return dt(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:zr,Writer:Rr,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:Ar,Writer:Fr,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:Sr,Writer:Er,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:qr,Writer:Kr,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:di(t),Writer:null,reader:null})}}class oi extends si{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 bi(this,t,{options:e},!0)}addText(t,e,r={}){return bi(this,t,{data:e,Reader:Ar,Writer:Fr,options:r,uncompressedSize:e.length})}addBlob(t,e,r={}){return bi(this,t,{data:e,Reader:zr,Writer:Rr,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 bi(this,t,{data:e,Reader:Sr,Writer:Er,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return bi(this,t,{data:e,Reader:qr,Writer:Kr,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return bi(this,t,{data:e,Reader:class extends Vr{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return bi(this,t,{Reader:di(e),options:r})}addFileSystemEntry(t,e={}){return pi(this,t,e)}addFileSystemHandle(t,e={}){return pi(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),bi(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}Ne(t,e){return bi(this,t,e)}importBlob(t,e){return this.importZip(new zr(t),e)}importData64URI(t,e){return this.importZip(new Sr(t),e)}importUint8Array(t,e){return this.importZip(new qr(t),e)}importHttpContent(t,e){return this.importZip(new Vr(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Rr(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new Er(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Kr,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const n=li([t],"uncompressedSize"),a=new Map;return await s(t,e),e;async function s(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>i(t,e)))).find(t=>"rejected"==t.status);if(r)throw r.reason}else for(const r of t.children)await i(r,e)}async function i(t,e){try{if(t.directory){const r=await e.getDirectoryHandle(t.name,{create:!0});await s(t,r)}else{const s=await e.getFileHandle(t.name,{create:!0}),i=await s.createWritable();await t.getData({writable:i},Object.assign({},r,{onprogress:async e=>{if(r.onprogress){a.set(t.id,e);try{await r.onprogress(Array.from(a.values()).reduce((t,e)=>t+e,0),n)}catch{}}}}))}}catch(e){throw Error(e.message+(t?" ("+t.name+")":""),{cause:e})}}})(this,t,e)}async importZip(t,e={}){await Qr(t);const r=new pa(t,e),n=[],a=await r.getEntries();for(const t of a){let r=this;try{const a=t.filename.split("/"),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(ni)}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(ni)}else e=new oi(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(bi(r,s,{data:t,Reader:ui(Object.assign({},e)),uncompressedSize: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===A&&(e.bufferedWrite=!0);const[n]=await Promise.all([wi(r,e.readerOptions),Qr(t)]),a=new fs(t,e);return await(async(t,e,r,n,a)=>{const s=e,i=new Map;await async function t(e,o){async function c(o){const c=n.relativePath?o.getRelativeName(s):o.getFullname(),l=o.options||{};let d={};if(o.data instanceof Pn){const{externalFileAttributes:t,versionMadeBy:e,comment:r,lastModDate:a,creationDate:s,lastAccessDate:i,uncompressedSize:c,encrypted:l,zipCrypto:u,crc32:f,compressionMethod:w,extraFieldAES:h,internalFileAttributes:p,extraField:m,uid:y,gid:b}=o.data;d={externalFileAttributes:t,versionMadeBy:e,comment:r,lastModDate:a,creationDate:s,lastAccessDate:i,internalFileAttributes:p};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{ai.has(r)||e.set(r,t.data)}),e.size)return e}})(m);if(S&&(d.extraField=S),y===A&&b===A||Object.assign(d,{uid:y,gid:b,unixExtraFieldType:n.unixExtraFieldType||"infozip"}),o.passThrough){let t,e;0===w&&(t=0),h&&(e=h.strength),d=Object.assign(d,{passThrough:!0,encrypted:l,zipCrypto:u,crc32:f,uncompressedSize:c,level:t,encryptionStrength:e,compressionMethod:w})}}await e.add(c,a.get(o),Object.assign({},n,d,l,{directory:o.directory,onprogress:async t=>{if(n.onprogress){i.set(c,t);try{await n.onprogress(Array.from(i.values()).reduce((t,e)=>t+e),r)}catch{}}}})),await t(e,o)}await(async()=>{if(n.bufferedWrite){const t=(await Promise.allSettled(o.children.map(c))).find(t=>"rejected"==t.status);if(t)throw t.reason}else for(const t of o.children)await c(t)})()}(t,e)})(a,r,li([r],"uncompressedSize"),e,n),await a.close(),t.getData?t.getData():t.writable}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}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 ci={FS:class{constructor(){yi(this)}get children(){return this.root.children}remove(t){hi(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=A}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(ni)}else hi(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)}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)}Ne(t,e){return this.root.Ne(t,e)}importBlob(t,e){return yi(this),this.root.importBlob(t,e)}importData64URI(t,e){return yi(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return yi(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return yi(this),this.root.importHttpContent(t,e)}importReadable(t,e){return yi(this),this.root.importReadable(t,e)}importZip(t,e){return yi(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)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}},ZipDirectoryEntry:oi,ZipFileEntry:ii};function li(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=t[e]||0;for(const e of t.children)n.push(e)}return r}function di(t){let e;return()=>{if(e)throw Error("Readable stream already consumed");return e=!0,{readable:t}}}function ui(t){return class extends yr{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this;e.size=e.entry.uncompressedSize;const r=await e.entry.getData(new Rr,Object.assign({},t,e.options));e.data=r,e.We=new zr(r),super.init()}readUint8Array(t,e){return this.We.readUint8Array(t,e)}}}function fi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function wi(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=fi(t.Reader,t.data,e);a.set(t,r);try{await Qr(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==A&&(t.uncompressedSize=r.size)})),a}function hi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function pi(t,e,r){return async function t(e,n,a){if(n)try{if((n.isFile||n.isDirectory)&&(n=await mi(n)),"file"==n.kind){const t=await n.getFile();a.push(e.Ne(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 r=e.addDirectory(n.name);a.push(r);for await(const e of n.values())await t(r,e,a)}}catch(t){const e=t.message+(n?" ("+n.name+")":"");throw Error(e,{cause:t})}return a}(t,e,[])}async function mi(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 mi(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 yi(t){t.entries=[],t.Pe=0,t.root=new oi(t)}function bi(t,e,r,n){if(t.directory)return n?new oi(t.fs,e,r,t):new ii(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{zr as BlobReader,Rr as BlobWriter,Sr as Data64URIReader,Er as Data64URIWriter,la as ERR_AMBIGUOUS_ARCHIVE,Qn as ERR_BAD_FORMAT,ea as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Va as ERR_DUPLICATED_NAME,aa as ERR_ENCRYPTED,da as ERR_ENCRYPTED_CENTRAL_DIRECTORY,ta as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,$n as ERR_EOCDR_NOT_FOUND,na as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,sr as ERR_HTTP_RANGE,ir as ERR_HTTP_RESOURCE_CHANGED,St as ERR_INVALID_AUTHENTICATION_CODE,W as ERR_INVALID_CODEC_DEFINITION,L as ERR_INVALID_CODEC_MODULE,Ha as ERR_INVALID_COMMENT,oe as ERR_INVALID_COMPRESSED_DATA,ce as ERR_INVALID_CRC32,Ga as ERR_INVALID_ENCRYPTION_STRENGTH,qa as ERR_INVALID_ENTRY_COMMENT,Ka as ERR_INVALID_ENTRY_NAME,Qa as ERR_INVALID_EXTRAFIELD_DATA,Ja as ERR_INVALID_EXTRAFIELD_TYPE,yt as ERR_INVALID_PASSWORD,bt as ERR_INVALID_SIGNATURE,ie as ERR_INVALID_UNCOMPRESSED_SIZE,Ya as ERR_INVALID_VERSION,or as ERR_ITERATOR_COMPLETED_TOO_SOON,ra as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ca as ERR_OVERLAPPING_ENTRY,_ as ERR_RESERVED_COMPRESSION_METHOD,oa as ERR_SPLIT_ZIP_FILE,ss as ERR_UNDEFINED_READER,as as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ia as ERR_UNSUPPORTED_COMPRESSION,sa as ERR_UNSUPPORTED_ENCRYPTION,Xa as ERR_UNSUPPORTED_ENCRYPTION_USDZ,ns as ERR_UNSUPPORTED_FORMAT,cr as ERR_WRITER_NOT_INITIALIZED,is as ERR_ZIP_NOT_EMPTY,Hr as HttpRangeReader,Vr as HttpReader,yr as Reader,Yr as SplitDataReader,Gr as SplitDataWriter,Ar as TextReader,Fr as TextWriter,qr as Uint8ArrayReader,Kr as Uint8ArrayWriter,br as Writer,pa as ZipReader,ma as ZipReaderStream,fs as ZipWriter,ws as ZipWriterStream,j as configure,Bs as createBlobTempStream,_s as createOPFSTempStream,Hs as createSyncAccessHandleTempStream,ci as fs,Ps as getMimeType,q as registerCodec,N as resetConfiguration,ri as terminateWorkers,K as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,i=33639248,o=101010256,c=101075792,l=117853008,d=22,u=20,f=39169,w=21589,h=6534,p=30837,m=30805,y=2048,b=16384,S=2048,E=1024,g="/",x=30,z=new Date(2107,11,31,23,59,58),R=new Date(1980,0,1),F=void 0,A=1/0,D="undefined",U="function",O=new Uint8Array;let k=2;try{typeof navigator!=D&&navigator.hardwareConcurrency&&(k=navigator.hardwareConcurrency)}catch{}const T={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:k,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=D&&CompressionStream,DecompressionStream:typeof DecompressionStream!=D&&DecompressionStream},v=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],C={...T};function M(){return C}function I(t){return Math.max(t.chunkSize,64)}function j(t){t=P(t);for(const e of v){const r=t[e];r!==F&&(C[e]=r)}}function P(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===F&&r===F)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===F&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===F&&(n.DecompressionStreamFallback=r),n}function N(t){t=P(t);for(const e of v){const r=t[e];r!==F&&(T[e]=r)}j(t)}function W(){for(const t of v)delete C[t];Object.assign(C,T)}const _="Invalid codec definition",L="Reserved compression method",B="Invalid codec module",V="string",Z=[0,8,9,99],H=new Map,q=new Map;function K(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:i,versionNeeded:o}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=V||!n.length)throw Error(_);if(Z.includes(r))throw Error(L);const c=typeof s==U||typeof i==U;if(!(c||typeof a==V&&a.length))throw Error(_);H.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:o}),c&&J(n,{CompressionStream:s,DecompressionStream:i})}function Y(t){const e=H.get(t);if(e){let r;H.delete(t),H.forEach(t=>r=r||t.format==e.format),r||q.delete(e.format)}}function G(t){return H.get(t)}function X(t){return q.get(t)}function J(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=U&&typeof n!=U)throw Error(B);q.set(t,{CompressionStream:r,DecompressionStream:n})}const Q=[[],[],[],[],[],[],[],[]];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;Q[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=Q[e-1][t];Q[e][t]=r>>>8^Q[0][255&r]}const[$,tt,et,rt,nt,at,st,it]=Q;class ot{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=it[255&t]^st[t>>>8&255]^at[t>>>16&255]^nt[t>>>24&255]^rt[255&r]^et[r>>>8&255]^tt[r>>>16&255]^$[r>>>24&255]}}for(;r>n;n++)e=e>>>8^$[255&(e^t[n])];this.o=e}get(){return~this.o}}class ct extends TransformStream{constructor(){let t;const e=new ot;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 lt(t){if(typeof TextEncoder==D){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)}function dt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function ut(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function ft(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const wt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=wt.l(r);return 32===n?t.concat(e):wt.h(e,n,0|r,t.slice(0,t.length-1))},m(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+wt.l(r)},S(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]=wt.R(e,t[r-1]&2147483648>>e-1,1)),t},R:(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=wt.l(a);return n.push(wt.R(e+s&31,e+s>32?r:n.pop(),1)),n}},ht={bytes:{F(t){const e=wt.m(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},A(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(wt.R(8*(3&r),n)),e}}},pt=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.T=t.T.slice(0),e.v=t.v):e.reset()}reset(){const t=this;return t.O=t.D.slice(0),t.T=[],t.v=0,t}update(t){const e=this;"string"==typeof t&&(t=ht.C.A(t));const r=e.T=wt.concat(e.T,t),n=e.v,a=e.v=n+wt.m(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.M(s.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}I(){const t=this;let e=t.T;const r=t.O;e=wt.concat(e,[wt.R(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.v/4294967296)),e.push(0|t.v);e.length;)t.M(e.splice(0,16));return t.reset(),r}j(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}P(t,e){return e<<t|e>>>32-t}M(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],i=r[2],o=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.P(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.P(5,a)+e.j(t,s,i,o)+c+n[t]+e.U[Math.floor(t/20)]|0;c=o,o=i,i=e.P(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+o|0,r[4]=r[4]+c|0}},mt={importKey:t=>new mt.N(ht.bytes.A(t)),W(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,i,o,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=wt;for(e=ht.bytes.A(e),l=1;(a||1)>f;l++){for(s=i=t.encrypt(w.concat(e,[l])),o=1;r>o;o++)for(i=t.encrypt(i),c=0;c<i.length;c++)s[c]^=i[c];for(o=0;(a||1)>f&&o<s.length;o++)u.setInt32(f,s[o]),f+=4}return d.slice(0,n/8)},N:class{constructor(t){const e=this,r=e._=pt,n=[[],[]];e.L=[new r,new r];const a=e.L[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.L[0].update(n[0]),e.L[1].update(n[1]),e.B=new r(e.L[0])}reset(){const t=this;t.B=new t._(t.L[0]),t.V=!1}update(t){this.V=!0,this.B.update(t)}digest(){const t=this,e=t.B.I(),r=new t._(t.L[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.V)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},yt=typeof crypto!=D&&typeof crypto.getRandomValues==U,bt="Invalid password",St="Invalid signature",Et=St,gt="zipjs-abort-check-password";function xt(t){if(yt)return crypto.getRandomValues(t);throw Error("Crypto API not supported")}const zt=16,Rt={name:"PBKDF2"},Ft=Object.assign({hash:{name:"HMAC"}},Rt),At=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Rt),Dt=["deriveBits"],Ut=[8,12,16],Ot=[16,24,32],kt=10,Tt=[0,0,0,0],vt=typeof crypto!=D,Ct=vt&&crypto.subtle,Mt=vt&&typeof Ct!=D,It=ht.bytes,jt=class{constructor(t){const e=this;e.Z=[[[],[],[],[],[]],[[],[],[],[],[]]],e.Z[0][0][0]||e.H();const r=e.Z[0][4],n=e.Z[1],a=t.length;let s,i,o,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.U=[i=t.slice(0),o=[]],s=a;4*a+28>s;s++){let t=i[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))),i[s]=i[s-a]^t}for(let t=0;s;t++,s--){const e=i[3&t?s:s-4];o[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.K(t,0)}decrypt(t){return this.K(t,1)}H(){const t=this.Z[0],e=this.Z[1],r=t[4],n=e[4],a=[],s=[];let i,o,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=i=0;!r[d];d^=o||1,i=s[i]||1){let s=i^i<<1^i<<2^i<<3^i<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[o=a[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}K(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.U[e],n=r.length/4-2,a=[0,0,0,0],s=this.Z[e],i=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,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++)u=i[h>>>24]^o[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=i[p>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[m>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=u,p=f,m=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[h>>>24]<<24^d[p>>16&255]<<16^d[m>>8&255]<<8^d[255&y]^r[b++],u=h,h=p,p=m,m=y,y=u;return a}},Pt=class{constructor(t,e){this.Y=t,this.G=e,this.X=e}reset(){this.X=this.G}update(t){return this.J(this.Y,t,this.X)}$(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}et(t){0===(t[0]=this.$(t[0]))&&(t[1]=this.$(t[1]))}J(t,e,r){let n;if(!(n=e.length))return[];const a=wt.m(e);for(let a=0;n>a;a+=4){this.et(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 wt.S(e,a)}},Nt=mt.N;let Wt=vt&&Mt&&typeof Ct.importKey==U,_t=vt&&Mt&&typeof Ct.deriveBits==U;class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Vt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,nt:i,ready:o}=r;a?(await(async(t,e,r,n)=>{const a=await Ht(t,e,r,Kt(n,0,Ut[e])),s=Kt(n,Ut[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(bt)})(r,s,a,Kt(t,0,Ut[s]+2)),t=Kt(t,Ut[s]+2),n?e.error(Error(gt)):i()):await o;const c=new Uint8Array(t.length-kt-(t.length-kt)%zt);e.enqueue(Zt(r,t,c,0,kt,!0))},async flush(t){const{st:e,it:r,pending:n,ready:s}=this;if(r&&e){await s;const i=Kt(n,0,n.length-kt),o=Kt(n,n.length-kt);let c=O;if(i.length){const t=Gt(It,i);r.update(t);const n=e.update(t);c=Yt(It,n)}const l=Kt(Yt(It,r.digest()),0,kt);let d=n.length<kt?1:0;for(let t=0;kt>t;t++)d|=l[t]^o[t];if(d&&a)throw Error(Et);t.enqueue(c)}}})}}class Bt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Vt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,nt:s,ready:i}=r;let o=O;n?(o=await(async(t,e,r)=>{const n=xt(new Uint8Array(Ut[e]));return dt(n,await Ht(t,e,r,n))})(r,a,n),s()):await i;const c=new Uint8Array(o.length+t.length-t.length%zt);c.set(o,0),e.enqueue(Zt(r,t,c,o.length,0))},async flush(t){const{st:e,it:r,pending:n,ready:a}=this;if(r&&e){await a;let s=O;if(n.length){const t=e.update(Gt(It,n));r.update(t),s=Yt(It,t)}const i=Yt(It,r.digest()).slice(0,kt);t.enqueue(dt(s,i))}}})}}function Vt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.nt=e),password:qt(e,r),strength:n-1,pending:O})}function Zt(t,e,r,n,a,s){const{st:i,it:o,pending:c}=t;c.length&&(e=dt(c,e));const l=e.length-a;let d;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%zt)),d=0;l-zt>=d;d+=zt){const t=Gt(It,Kt(e,d,d+zt));s&&o.update(t);const a=i.update(t);s||o.update(a),r.set(Yt(It,a),d+n)}return t.pending=Kt(e,d),r}async function Ht(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!Wt)return mt.importKey(e);try{return await Ct.importKey("raw",e,r,!1,a)}catch{return Wt=!1,mt.importKey(e)}})(0,r,Ft,0,Dt),s=await(async(t,e,r)=>{if(!_t)return mt.W(e,t.salt,At.iterations,r);try{return await Ct.deriveBits(t,e,r)}catch{return _t=!1,mt.W(e,t.salt,At.iterations,r)}})(Object.assign({salt:n},At),a,8*(2*Ot[e]+2)),i=new Uint8Array(s),o=Gt(It,Kt(i,0,Ot[e])),c=Gt(It,Kt(i,Ot[e],2*Ot[e])),l=Kt(i,2*Ot[e]);return Object.assign(t,{keys:{key:o,ot:c,passwordVerification:l},st:new Pt(new jt(o),Array.from(Tt)),it:new Nt(c)}),l}function qt(t,e){return e===F?lt(t):e}function Kt(t,e,r){return t.subarray(e,r)}function Yt(t,e){return t.F(e)}function Gt(t,e){return t.A(e)}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Qt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=$t(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(bt);t=t.subarray(12)}n?e.error(Error(gt)):e.enqueue($t(r,t))}})}}class Jt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Qt(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=xt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(te(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(te(r,t),a),e.enqueue(n)}})}}function Qt(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 ot(n[0]),lt:new ot(n[2])}),r)for(let e=0;e<r.length;e++)ee(t,r[e]);else for(let r=0;r<e.length;r++)ee(t,e.charCodeAt(r))})(t,e,r)}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=re(t)^e[n],ee(t,r[n]);return r}function te(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=re(t)^e[n],ee(t,e[n]);return r}function ee(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=ae(Math.imul(ae(r+ne(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function re(t){const e=2|t.keys[2];return ne(Math.imul(e,1^e)>>>8)}function ne(t){return 255&t}function ae(t){return 4294967295&t}function se(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 ie(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 oe="Invalid uncompressed size",ce="Invalid compressed data",le=St,de="deflate-raw",ue="gzip",fe=[31,139,8];class we extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=u&&X(u),S=c&&a&&!d&&!b&&(!s||o)&&!(!i||!n);if(s&&!o||!c||S||(h=new ct,y=xe(y,h)),a)if(b)y=ze(y,Ee(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)m=new he,y=ze(y,new n(ue)),y=xe(y,m);else try{y=ge(y,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(ue)}catch{throw t}y=ze(y,e),y=xe(y,new he)}s&&(o?y=xe(y,new Jt(t)):(p=new Bt(t),y=xe(y,p))),Se(w,y,()=>{s&&!o||!c||(w.crc32=S?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class he 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=dt(r,t));const s=a-8,i=Math.min(s,r.length);n.enqueue(dt(r.subarray(0,i),t.subarray(0,s-i))),r=dt(r.subarray(i),t.subarray(s-i))},flush(){const e=ft(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class pe extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=xe(y,new Xt(t)):(m=new Lt(t),y=xe(y,m))),c){const t=u&&X(u);if(t)y=ze(y,Ee(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=ge(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||h===F)throw t;let e;try{e=new n(ue)}catch{throw t}y=((t,e,r)=>{const n=new ot;let a,s,i,o=0,c=!1;const l=new Promise((t,e)=>{s=t,i=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(fe),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=ft(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),u=new TransformStream({transform(t,e){n.append(t),o+=t.length,r>o?c&&f():s(),e.enqueue(t)},cancel(t){i(t)}});return t=xe(t,d),xe(t=ze(t,e),u);function f(){w(),a=setTimeout(()=>i(Error(oe)),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(ce);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}i&&(p=new ct,y=xe(y,p)),Se(this,y,()=>{if(i){const t=new DataView(p.value.buffer);if(o!=t.getUint32(0,!1))throw Error(le)}})}}const me=new Map;function ye(t,e){if(!t)return!1;let r=me.get(t);r||(r=new Map,me.set(t,r));let n=r.get(e);if(n===F){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function be(t){return ye(t,de)}function Se(t,e,r){e=xe(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Ee(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function ge(t,e,r,n,a){const s=e&&n?n:a||n,i=r.deflate64?"deflate64-raw":de;let o;try{o=new s(i,r)}catch(t){if(!e||!a||s==a)throw t;o=new a(i,r)}return ze(t,o)}function xe(t,e){return se(t).pipeThrough(e)}function ze(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 Re="data",Fe="deflate",Ae="inflate";class De extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Fe)?a=we:n.startsWith(Ae)&&(a=pe),r.outputSize=0;let s=0;const i=new a(t,e),o=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!==F&&r.outputSize>t.outputSize))throw Error(oe)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>o.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class Ue 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 Oe={type:"module"},ke="error";let Te,ve,Ce,Me,Ie,je=!0;try{je=typeof structuredClone==U&&structuredClone(new DOMException("","AbortError")).code!==F}catch{}let Pe=()=>{};class Ne{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:i,transferStreams:o,workerURI:c,createWorker:l},d){const{signal:u}=s;return Ie&&(l=F),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Ue(I(a))).pipeThrough(new We(s),{signal:u}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:o,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,d(t)}}}),Te===F&&(Te=typeof Worker!=D),(i&&(Te&&c||l)?Be:Le)(t,a)}}class We extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await _e(t,r)},async transform(t,n){a+=t.length,e&&await _e(e,a,r),n.enqueue(t)},async flush(){n&&await _e(n,a)}})}}async function _e(t,...e){try{await t(...e)}catch{}}function Le(t,e){return{run:()=>Ve(t,e)}}function Be(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let i;typeof s==U&&(s=s());try{i=He(t.workerURI,r,t)}catch{return t.createWorker?Ie=!0:Te=!1,Le(t,e)}Object.assign(t,{ht:i,gt:!1,Et:!1,bt:{run:async()=>{try{return await(async(t,e)=>{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:i}=t,{writable:o,closed:c,Rt: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,Rt:()=>e.abort()}})(t.writable);let d;try{d=Ye({type:"start",options:i,config:e,readable:s,writable:o},t)}catch(e){l();try{await c}catch{}throw t.St(),e}d||Object.assign(t,{reader:s.getReader(),writer:o.getWriter()});const{workerStartupTimeout:u}=e;t.gt||!Number.isFinite(u)||0>u||(t.Ft=setTimeout(()=>(t=>{if(t.Ft=null,t.gt)return;const{zt:e,writer:r}=t;if(Ze(t),t.ht=null,e){const t=Error("Worker startup timeout");t.At=!0,e(t),r&&r.releaseLock()}})(t),u));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(!d&&!o.locked)try{await o.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.At){t.createWorker?Ie=!0:Te=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Ve(t,e)}throw r}}}})}return t.bt}async function Ve({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Fe),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Dt&&!be(n))try{await Pe(a)}catch{}}else try{await Pe(a)}catch{r&&!r.Dt||(t.useCompressionStream=!0)}}s=new De(t,a),await e.pipeThrough(s).pipeThrough(new Ue(I(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=s;return{crc32:n,inputSize:i,outputSize:o}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function Ze(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function He(t,e,r,n,a=!0){const{createWorker:s}=r;let i,o,c;if(s)i=s();else if(Ce===F||ve!==t){const s=typeof t==U;o=s?t(a):t;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){n===F&&(n=!1),n&&(c=Oe);try{i=new Worker(o,c)}catch(a){if(d)try{URL.revokeObjectURL(o)}catch{}if(s&&d)return He(t,e,r,n,!1);if(n)throw a;return He(t,e,r,!0,!1)}}else{n===F&&(n=!0),n&&(c=Oe);try{o=new URL(o,e)}catch{}try{i=new Worker(o,c)}catch(s){if(n)throw s;return He(t,e,r,!1,a)}}ve=t,Ce=o,Me=c}else i=new Worker(Ce,Me);return i.addEventListener("message",t=>{r.gt=!0,qe(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:i}=t,{reader:o,writer:c,xt:l,zt:d,St:u,wt:f}=e,w=()=>e.wt!=f;try{if(i){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=i,o=Error(t);Object.assign(o,{stack:e,code:r,name:n,outputSize:a}),s&&(o.cause=Object.assign(Error(s.message),{name:s.name})),h(o)}else{if("pull"==r){const{value:t,done:r}=await o.read();w()||Ye({type:Re,value:t,done:r,messageId:a},e)}r==Re&&(await c.ready,await c.write(new Uint8Array(n)),w()||Ye({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(i){w()||(Ze(e),h(i))}function h(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),i.addEventListener(ke,t=>Ke(t,r)),i.addEventListener("messageerror",t=>Ke(t,r)),i}function qe(t){const{Ft:e}=t;e&&(clearTimeout(e),t.Ft=null)}function Ke(t,e){t.preventDefault&&t.preventDefault(),qe(e);const{gt:r,zt:n,writer:a,St:s}=e;if(Ze(e),r||(e.ht=null),n){let e=t.error||Error(t.message||ke);r||(e=Object.assign(Error(e.message||ke),{At:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Ye(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:i}=t,o=[];if(r&&(t.value=ut(r),o.push(t.value.buffer)),n&&je&&a?(s&&o.push(s),i&&o.push(i)):t.readable=t.writable=null,o.length)try{return e.postMessage(t,o),!0}catch{je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Ge=[];const Xe=[];let Je,Qe,$e=0;async function tr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:i,compressed:o,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!q.has(t)&&e&&J(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===F&&n.transferStreams;const m=!(o||c||l||d),y=u===F||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===F&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:F,e.createWorker=e.useWebWorkers&&h?h:F,r.useCompressionStream=i||i===F&&n.useCompressionStream,(await(async()=>{const r=Ge.find(t=>!t.ft);if(r)return sr(r),new Ne(r,t,e,b);if(Ge.length<p){const r={Ut:$e};return $e++,Ge.push(r),new Ne(r,t,e,b)}return new Promise(r=>{Xe.push({resolve:r,stream:t,Ot:e}),Qe=n.workerStarvationTimeout,er()})})()).run();function b(t){if(rr(),Xe.length){const[{resolve:e,stream:r,Ot:n}]=Xe.splice(0,1);e(new Ne(t,r,n,b)),er()}else t.ht?(sr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.kt=setTimeout(async()=>{Ge=Ge.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Ge=Ge.filter(e=>e!=t)}}function er(){!Je&&Xe.length&&Number.isFinite(Qe)&&Qe>=0&&(Je=setTimeout(nr,Qe))}function rr(){Je&&(clearTimeout(Je),Je=null)}function nr(){if(Je=null,Xe.length){const[{resolve:t,stream:e,Ot:r}]=Xe.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:F,createWorker:F});t(new Ne({},e,n,ar)),er()}}function ar(){rr(),er()}function sr(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const ir="HTTP error ",or="HTTP Range not supported",cr="HTTP resource changed",lr="Writer iterator completed too soon",dr="Writer not initialized",ur="Content-Range",fr="Range",wr="GET",hr="bytes",pr=16777216,mr="writable",yr=Symbol();class br{constructor(){this.size=0}init(){this.initialized=!0}}class Sr extends br{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=I(M())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const i=e===F?r:Math.min(r,e-a),o=await en(n,t+a,i);s.enqueue(o),a+r>e||e===F&&!o.length&&i?s.close():a+=r}})}}class Er extends br{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(dr);return t.writeUint8Array(ut(e))}});Object.defineProperty(t,mr,{get:()=>e})}writeUint8Array(){}}class gr extends Sr{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),i=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),o=t-3*Math.floor(s/4);let c=0;for(let t=o;o+e>t&&t<i.length;t++)a[t-o]=i.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class xr extends Er{constructor(t){super(),Object.assign(this,{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 zr,Rr;class Fr extends Sr{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Rr||(Rr=(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();zr=1==e}catch{zr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?zr?se(e.slice(n,n+a).stream()):super.createReadable(t):se(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 Ar extends br{constructor(t){super();const e=this,r=new TransformStream;if(Object.defineProperty(e,mr,{get:()=>r.writable}),typeof Blob.prototype.stream!=U||new Blob([]).stream()instanceof ReadableStream){const n=[];t&&n.push(["Content-Type",t]),e.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];e.blob=r.readable.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,{type:t}))}e.blob.catch(()=>{})}getData(){return this.blob}}class Dr extends Fr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Ur extends Ar{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 Or extends Sr{constructor(t,e){super(),Tr(this,t,e)}async init(){await vr(this,Zr,_r),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==F){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,i=r;return new ReadableStream({start:()=>o(),async pull(t){n||await o();const{value:e,done:r}=await n.read();if(r)throw Error(or);const a=e.length>s?e.subarray(0,s):e;s-=a.length,i-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=F,await t.cancel()})(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function o(){const e=Math.min(t.maximumRangeSize,i),r=await Zr(wr,t,Nr(t,a,e));if(206!=r.status)throw Error(or);const o=r.headers.get(ur);if(o){const t=Number(o.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(or)}Pr(t,r),jr(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 Cr(this,t,e,Zr,_r)}}class kr extends Sr{constructor(t,e){super(),Tr(this,t,e)}async init(){await vr(this,Hr,Lr),super.init()}readUint8Array(t,e){return Cr(this,t,e,Hr,Lr)}}function Tr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=pr,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:i,checkResourceChanges:o,maximumRangeSize:c,fetch:l})}async function vr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:i,combineSizeEocd:o}=t;if((t=>{const{baseURI:e}=M(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||i)&&(void 0===a||a)){const n=await e(wr,t,Nr(t,o?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(i||a&&a.toLowerCase()==hr))throw Error(or);{if(o){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Ct=e)}jr(t,n);const a=Mr(n);a===F?await Vr(t,e,r):t.size=a}}else await Vr(t,e,r)}async function Cr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:i,Ct:o,size:c,options:l}=t;if(s||i){if(o&&e==c-d&&r==d)return o;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(wr,t,Nr(t,e,r));if(206!=a.status)throw Error(or);const s=a.headers.get(ur);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(or)}Pr(t,a),jr(t,a);const i=new Uint8Array(await a.arrayBuffer());if(i.length!=r)throw Error(or);return i}return O}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Mr(t){const e=t.headers.get(ur);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Ir({headers:t}){return{Mt:t.get("Etag")||F,lastModified:t.get("Last-Modified")||F}}function jr(t,e){const{checkResourceChanges:r,It:n}=t;r&&!n&&206==e.status&&(t.It=Ir(e))}function Pr(t,e){const{checkResourceChanges:r,It:n,size:a}=t;if(r){const t=Mr(e);if(t!==F&&a!==F&&t!=a)throw Error(cr);if(n){const t=Ir(e);if(Object.entries(n).some(([e,r])=>r!==F&&t[e]!==F&&r!=t[e]))throw Error(cr)}}}function Nr(t,e=0,r=1){return Object.assign({},Wr(t),{[fr]:hr+"="+(0>e?e:e+"-"+(e+r-1))})}function Wr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function _r(t){await Br(t,Zr)}async function Lr(t){await Br(t,Hr)}async function Br(t,e){const r=await e(wr,t,Wr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Vr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Wr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Zr(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(or):Error(ir+(s.statusText||s.status))}function Hr(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(or):Error(ir+(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 qr extends Sr{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new kr(t,e):new Or(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 Kr extends qr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Yr extends Sr{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 Gr extends Er{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 Xr extends Sr{constructor(t){super(),this.jt=t}async init(){const t=this,{jt:e}=t;t.Pt=0,await Promise.all(e.map(t=>tn(t))),t.Nt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Wt(t){const{Nt:e,size:r}=this,n=e[t];return n===F?r:n}async readUint8Array(t,e){const r=this,{jt:n}=this;let a,s=0,i=t;for(;n[s]&&i>=n[s].size;)i-=n[s].size,s++;const o=n[s];if(o){const n=o.size;if(i+e>n){const s=n-i;a=dt(await en(o,i,s),await r.readUint8Array(t+s,e-s))}else a=await en(o,i,e)}else a=O;return r.Pt=Math.max(s,r.Pt),a}}class Jr extends br{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 i=new WritableStream({async write(e){if(e===yr)return void(s&&await c());const{availableSize:i}=r;if(s)e.length<i?await o(e):(await o(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i)));else{const{value:i,done:o}=await t.next();if(o&&!i)throw Error(lr);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await tn(n),a=i.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 o(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,mr,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(yr)}finally{t.releaseLock()}}}class Qr{constructor(t){return Array.isArray(t)&&(t=new Xr(t)),(t instanceof ReadableStream||typeof t.getReader==U)&&(t={readable:se(t)}),t}}class $r{constructor(t){return t.writable===F&&typeof t.next==U&&(t=new Jr(t)),(t instanceof WritableStream||typeof t.getWriter==U)&&(t={writable:ie(t)}),t.size===F&&(t.size=0),t}}async function tn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function en(t,e,r){return t.readUint8Array(e,r)}const rn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function nn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=rn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const an="filename",sn="rawFilename",on="comment",cn="rawComment",ln="uncompressedSize",dn="compressedSize",un="offset",fn="diskNumberStart",wn="lastModDate",hn="rawLastModDate",pn="lastAccessDate",mn="rawLastAccessDate",yn="creationDate",bn="rawCreationDate",Sn="internalFileAttributes",En="externalFileAttributes",gn="msdosAttributesRaw",xn="msdosAttributes",zn="msDosCompatible",Rn="zip64",Fn="encrypted",An="version",Dn="versionMadeBy",Un="zipCrypto",On="directory",kn="executable",Tn="compressionMethod",vn="signature",Cn="extraField",Mn="unixMode",In="setuid",jn="setgid",Pn="sticky",Nn=[an,sn,ln,dn,wn,hn,on,cn,pn,mn,yn,bn,un,fn,Sn,En,gn,xn,zn,Rn,Fn,An,Dn,Un,On,kn,Tn,vn,"crc32",Cn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Mn,In,jn,Pn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Wn{constructor(t){Nn.forEach(e=>this[e]=t[e])}}const _n="password",Ln="rawPassword",Bn="passThrough",Vn="signal",Zn="checkAmbiguity",Hn="useWebWorkers",qn="useCompressionStream",Kn="transferStreams",Yn="preventClose",Gn="offset",Xn="usdz",Jn="strictness",Qn="strict",$n="tolerant",ta="File format is not recognized",ea="End of central directory not found",ra="End of Zip64 central directory locator not found",na="Central directory header not found",aa="Local file header not found",sa="Zip64 extra field not found",ia="File contains encrypted entry",oa="Encryption method not supported",ca="Compression method not supported",la="Split zip file",da="Overlapping entry found",ua="Ambiguous archive",fa="Encrypted central directory is not supported",wa="utf-8",ha="cp437",pa=[[ln,t],[dn,t],[un,t],[fn,e]],ma={[e]:{_t:Va,bytes:4},[t]:{_t:Za,bytes:8}};class ya{constructor(t,e={}){Object.assign(this,{reader:new Qr(t),options:e,config:M(),Lt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;const{config:f}=s;if(await tn(o),o.size!==F&&o.readUint8Array||(o=new Fr(await new Response(o.readable).blob()),await tn(o)),o.size<d)throw Error(ta);const w=Ua(Na(s,n,Jn),Na(s,n,Zn)),h=w==Qn,p=w!=$n,m=((t,r)=>t!==F?t:r==Qn?0:r==$n?1/0:e)(Na(s,n,"maxAppendedDataSize"),w),{Bt:y,Vt:x}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Oa};let i,o,c=0;for await(const[r,l,u,f,w]of Ca(t,a)){const a=Ba(r,f+20);if(w+d+a==n){const a=await Ia(t,r,l,f,w,n,s);if(a==va){if(i||(i=Ma(u,f,w)),c++,!e||c>1)break}else a!=Ta||o||(o=Ma(u,f,w))}}return i||(i=o),i||(i=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,i;for await(const[e,o,c,l,d]of Ca(t,a)){const a=Ma(c,l,d);s||(s=a);const u=await Ia(t,e,o,l,d,n,r);if(u==va)return a;u!=Ta||i||(i=a)}return i||s})(t,r,s)),{Bt:i,Vt:c}})(o,p,m);if(!y)throw Va(ft(await en(o,0,4)))==a?Error(la):Error(ea);p&&x>1&&Pa("multiple end of central directory records");const z=ft(y);let R=Va(z,12),A=Va(z,16);const D=y.offset,U=Ba(z,20),k=D+d+U;o.size-k>m&&Pa("appended data");let T=Ba(z,4);const v=o.Pt||0;let C,M,I,j=Ba(z,6),P=Ba(z,10),N=0;const W=A==t||R==t||P==e||j==e;if(A!=t&&j!=e&&(A+=Da(o,j)),W){const r=y.offset<u?O:await en(o,y.offset-u,u),n=ft(r);if(r.length==u&&Va(n,0)==l){A=Da(o,Va(n,4))+Za(n,8);let r=await en(o,A,56),a=ft(r);const s=y.offset-u-56;if((56>r.length||Va(a,0)!=c)&&A!=s&&s>=0){const t=A;A=s,A>t&&(N=A-t),r=await en(o,A,56),a=ft(r)}if(56>r.length||Va(a,0)!=c)throw Error(ra);M=!0,I=Za(a,4)>44,T==e?T=Va(a,16):h&&T!=Va(a,16)&&Pa("mismatched zip64 end of central directory record"),j==e?j=Va(a,20):h&&j!=Va(a,20)&&Pa("mismatched zip64 end of central directory record"),P==e?P=Za(a,32):h&&P!=Za(a,32)&&Pa("mismatched zip64 end of central directory record"),R==t?R=Za(a,40):h&&R!=Za(a,40)&&Pa("mismatched zip64 end of central directory record"),A=Da(o,j)+Za(a,48)+N}}const _=R,L=y.offset-(M?76:0);if(A<o.size||(N=o.size-A-R-d,A=o.size-R-d),v!=T)throw Error(la);if(0>A)throw Error(ta);let B=0,V=await en(o,A,R),Z=ft(V);if(R){if(4>V.length)throw Error(ta);const t=L-R;if(A!=t&&j==T){let e=!(Va(Z,B)==i);if(e||0>t||t+4>o.size||(e=Va(ft(await en(o,t,4)),0)==i),e){const e=A;A=t,A>e&&(N+=A-e),V=await en(o,A,R),Z=ft(V)}}}const H=L-A;if(R==H||0>H||j!=T||(R=H,V=await en(o,A,R),Z=ft(V)),0>A||A>=o.size)throw Error(ta);C=A;const q=Na(s,n,"filenameEncoding"),K=Na(s,n,"commentEncoding"),Y=h?new Set:F;let G;for(let t=0;P>t;t++){const a=new Sa(o,f,s.options);if(B+46>V.length||Va(Z,B)!=i){if(0==t&&(I||Ea(Z)))throw Error(fa);throw Error(na)}ga(a,Z,B+6);const c=!!a.bitFlag.languageEncodingFlag,l=B+46,d=l+a.filenameLength,u=d+a.extraFieldLength,w=Ba(Z,B+4),p=!(w>>8),m=w>>8==3,y=V.subarray(l,d),x=Ba(Z,B+32),z=u+x,R=V.subarray(u,z),A=c,D=c,U=Va(Z,B+38),O=U&r,k={readOnly:!!(1&O),hidden:!!(2&O),system:!!(4&O),directory:!!(16&O),archive:!!(32&O)},T=Va(Z,B+42),v=Na(s,n,"decodeText")||nn,M=A?wa:q||ha,j=D?wa:K||ha;let W=v(y,M);W===F&&(W=nn(y,M));let _=v(R,j);_===F&&(_=nn(R,j)),Object.assign(a,{index:t,versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,Zt:x,offset:T,diskNumberStart:Ba(Z,B+34),internalFileAttributes:Ba(Z,B+36),externalFileAttributes:U,msdosAttributesRaw:O,msdosAttributes:k,rawFilename:y,filenameUTF8:A,commentUTF8:D,rawExtraField:V.subarray(d,u),rawComment:R,filename:W,comment:_}),xa(a,a,Z,B+6),a.offset+=N,C=Math.min(Da(o,a.diskNumberStart)+a.offset,C),h&&(Y.has(a.filename)&&(G=!0),Y.add(a.filename));const L=a.externalFileAttributes>>16&e;a.unixMode===F&&16877&L&&(a.unixMode=L);const H=!!(a.unixMode&S),X=!!(a.unixMode&E),J=!!(512&a.unixMode),Q=a.unixMode!==F?!!(73&a.unixMode):m&&!!(73&L),$=a.unixMode!==F&&(61440&a.unixMode)==b,tt=(61440&L)==b;Object.assign(a,{setuid:H,setgid:X,sticky:J,unixExternalUpper:L,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:$||tt||p&&k.directory||a.filename.endsWith(g)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new Wn(a);et.getData=(t,e)=>a.getData(t,et,s.Lt,e),et.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([new Response(e.readable).arrayBuffer(),a.getData(e,et,s.Lt,t)]);return r},B=z;const{onprogress:rt}=n;if(rt)try{await rt(t+1,P,new Wn(a))}catch{}yield et}h&&B!=_&&Pa("trailing central directory data"),G&&Pa("duplicate filename"),h&&(N||P&&C>0)&&Pa("prepended data");const X=Na(s,n,"extractPrependedData"),J=Na(s,n,"extractAppendedData");return X&&(s.prependedData=C>0?await en(o,0,C):O),s.comment=U?await en(o,D+d,U):O,J&&(s.appendedData=k<o.size?await en(o,k,o.size-k):O),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class ba{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ya(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 Sa=class{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,i={}){const o=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:z}=m,R=e.localDirectory={},A=Da(c,u)+d,D=await en(c,A,x),U=ft(D);let k=Na(o,i,_n),T=Na(o,i,Ln);const v=Na(o,i,Bn);if(k=k&&k.length&&k,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw Error(ca);if(D.length<x||Va(U,0)!=n)throw Error(aa);ga(R,U,4);const{extraFieldLength:C,filenameLength:M}=R,I=Ua(Na(o,i,Jn),Na(o,i,Zn))==Qn;let j=O;if(I&&(M||C)){const t=await en(c,A+x,M+C);j=t.subarray(0,M),R.rawExtraField=t.subarray(M)}else R.rawExtraField=C?await en(c,A+x+M,C):O;xa(o,R,U,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&Pa("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Pa("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Pa("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||Pa("mismatched local file header (crc32 or sizes)")})(o,R,j);const{lastAccessDate:P,creationDate:N}=R;P&&(e.lastAccessDate=P),N&&(e.creationDate=N);const W=o.encrypted&&R.encrypted&&!v,_=W&&!f;if(v||(e.zipCrypto=_),W&&!(64&~R.rawBitFlag))throw Error(oa);const L=v?F:G(h);if(0!=h&&8!=h&&9!=h&&!L&&!v)throw Error(ca);if(W){if(!_&&(1>f.strength||f.strength>3))throw Error(oa);if(!k&&!T)throw Error(ia)}const B=A+x+M+C,V=g,Z=se(c.createReadable({offset:B,size:V})),H=Na(o,i,Vn),q=Na(o,i,"checkPasswordOnly");let K=Na(o,i,"checkOverlappingEntry");const Y=Na(o,i,"checkOverlappingEntryOnly");Y&&(K=!0);const{onstart:X,onprogress:J,onend:Q}=i,$=9==h;let tt=Na(o,i,qn);$&&(tt=!1);const et=Na(o,i,"checkCrc32"),rt=(et===F?Na(o,i,"checkSignature"):et)&&!v&&(!W||_||f&&1==f.vendorVersion),nt={options:{codecType:Ae,password:k,rawPassword:T,zipCrypto:_,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:Na(o,i,"checkAuthenticationCode"),passwordVerification:_&&(z?S>>>8&r:b>>>24&r),outputSize:v?g:E,crc32:b,compressed:0!=h&&!v,encrypted:W,useWebWorkers:Na(o,i,Hn),useCompressionStream:tt,transferStreams:Na(o,i,Kn),deflate64:$,format:L?L.format:F,codecURI:L?L.codecURI:F,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:q},config:p,ut:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at;K&&await(async({reader:t,Ht:e,index:r,offset:n,crc32:a,compressedSize:i,uncompressedSize:o,qt:c,dataDescriptor:l,extraFieldZip64:d,Lt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await en(t,c+i,f+4);if(r.length==f+4&&Va(ft(r),0)==s){const t=Va(ft(r),4);let n,s;d?(n=Za(ft(r),8),s=Za(ft(r),16)):(n=Va(ft(r),8),s=Va(ft(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==i&&s==o&&(f+=4)}}const w={start:n,end:c+i+f,Ht:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(da);throw t.Kt=e.Ht,t}u.set(r,w)})({reader:c,Ht:e,index:l,offset:A,crc32:b,compressedSize:g,uncompressedSize:E,qt:B,dataDescriptor:z||R.bitFlag.dataDescriptor,extraFieldZip64:w||R.extraFieldZip64,Lt:a});try{if(!Y){q&&(t=new WritableStream),t=new $r(t),await tn(t,v?g:E),({writable:at}=t);const{outputSize:e}=await tr({readable:Z,writable:at},nt);if(t.size+=e,e!=(v?g:E))throw Error(oe)}}catch(e){if(e.outputSize!==F&&(t.size+=e.outputSize),!q||e.message!=gt)throw e}finally{Na(o,i,Yn)||!at||at.locked||await at.getWriter().close()}return q||Y?F:t.getData?t.getData():at}};function Ea(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Va(t,r))return!0;return!1}function ga(t,e,r){const n=t.rawBitFlag=Ba(e,r+2),a=!(1&~n),s=Va(e,r+6);Object.assign(t,{encrypted:a,version:Ba(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&y)==y},rawLastModDate:s,lastModDate:Wa(s),filenameLength:Ba(e,r+22),extraFieldLength:Ba(e,r+24)})}function xa(t,e,r,n,a){const{rawExtraField:s}=e,i=e.extraField=new Map,o=ft(s);let c=0;try{for(;c<s.length;){const t=Ba(o,c),e=Ba(o,c+2);i.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Ba(r,n+4);Object.assign(e,{signature:Va(r,n+10),crc32:Va(r,n+10),compressedSize:Va(r,n+14),uncompressedSize:Va(r,n+18)});const d=i.get(1);d&&(((t,e)=>{e.zip64=!0;const r=ft(t.data),n=pa.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ma[e].bytes,0);if(t.data.length<a)throw Error(sa);for(let a=0,s=0;a<n.length;a++){const[i,o]=n[a],c=ma[o];e[i]=t[i]=c._t(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=i.get(28789);u&&(za(u,an,sn,e,t),e.extraFieldUnicodePath=u);const y=i.get(25461);y&&(za(y,on,cn,e,t),e.extraFieldUnicodeComment=y);const b=i.get(f);b&&b.data.length>=7?(((t,e,r)=>{const n=ft(t.data),a=La(n,4);Object.assign(t,{vendorVersion:La(n,0),vendorId:La(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Ba(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=F)})(b,e,l),e.extraFieldAES=b):e.compressionMethod=l;const S=i.get(13);S&&(Ra(S,e),e.extraFieldPkwareUnix=S);const E=i.get(22613);E&&(Ra(E,e),e.extraFieldUnixType1=E);const g=i.get(10);g&&(((t,e)=>{const r=ft(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Ba(r,a),s=Ba(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=ft(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:i});const o={lastModDate:_a(a),lastAccessDate:_a(s),creationDate:_a(i)};Object.assign(t,o),Object.assign(e,o)}})(g,e),e.extraFieldNTFS=g);const x=i.get(m);if(x)Fa(x,e,!1),e.extraFieldUnix=x;else{const t=i.get(p);t&&(Fa(t,e,!0),e.extraFieldInfoZip=t)}const z=i.get(w);z&&(((t,e,r)=>{if(!t.data.length)return;const n=ft(t.data),a=La(n,0),s=[],i=[];r?(1&~a||(s.push(wn),i.push(hn)),2&~a||(s.push(pn),i.push(mn)),4&~a||(s.push(yn),i.push(bn))):5>t.data.length||(s.push(wn),i.push(hn));let o=1;s.forEach((r,a)=>{if(t.data.length>=o+4){const s=Va(n,o);e[r]=t[r]=new Date(1e3*(0|s));const c=i[a];t[c]=s}o+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=i.get(h);R&&(e.extraFieldUSDZ=R)}function za(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=ft(t.data),i=new ot;i.append(a[r]);const o=ft(new Uint8Array(4));o.setUint32(0,i.get(),!0);const c=Va(s,1);Object.assign(t,{version:La(s,0),[e]:nn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Va(o,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Ra(t,e){if(8>t.data.length)return;const r=ft(t.data),n={lastAccessDate:new Date(1e3*Va(r,0)),lastModDate:new Date(1e3*Va(r,4))};12>t.data.length||(n.uid=Ba(r,8),n.gid=Ba(r,10)),Object.assign(t,n),Object.assign(e,n)}function Fa(t,e,r){try{const n=ft(t.data);let a,s;if(r){let e=0;const r=La(n,e++),i=La(n,e++);a=Aa(t.data.subarray(e,e+i)),e+=i;const o=La(n,e++);s=Aa(t.data.subarray(e,e+o)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Ba(n,0),s=Ba(n,2),Object.assign(t,{uid:a,gid:s}));a!==F&&(e.uid=a),s!==F&&(e.gid=s)}catch{}}function Aa(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Da(t,e){return t.Wt?t.Wt(e):0}function Ua(t,e){return t===F?e?Qn:"balanced":t}const Oa=64,ka=0,Ta=1,va=2;async function*Ca(t,e){const r=t.size-e,n=await en(t,r,e),a=ft(n);for(let t=n.length-d;t>=0;t--)Va(a,t)==o&&(yield[a,r,n,t,r+t])}function Ma(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Ia(r,n,a,s,o,c,d){const f=Ba(n,s+10),w=Va(n,s+12),h=Va(n,s+16);if(f==e||w==t||h==t)return await ja(r,n,a,o-u,c,d)==l?va:ka;if(!f&&!w)return Ta;const p=Ba(n,s+6);for(const t of[o-w,Da(r,p)+h])if(await ja(r,n,a,t,c,d)==i)return va;return ka}async function ja(t,e,r,n,a,s){return 0>n||n+4>a?F:r>n?s.count>0?(s.count--,Va(ft(await en(t,n,4)),0)):F:Va(e,n-r)}function Pa(t){const e=Error(ua);throw e.reason=t,e}function Na(t,e,r){return e[r]===F?t.options[r]:e[r]}function Wa(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 _a(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function La(t,e){return t.getUint8(e)}function Ba(t,e){return t.getUint16(e,!0)}function Va(t,e){return t.getUint32(e,!0)}function Za(t,e){return Number(t.getBigUint64(e,!0))}var Ha=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ua,ERR_BAD_FORMAT:ta,ERR_CENTRAL_DIRECTORY_NOT_FOUND:na,ERR_ENCRYPTED:ia,ERR_ENCRYPTED_CENTRAL_DIRECTORY:fa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ra,ERR_EOCDR_NOT_FOUND:ea,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_INVALID_AUTHENTICATION_CODE:Et,ERR_INVALID_COMPRESSED_DATA:ce,ERR_INVALID_CRC32:le,ERR_INVALID_PASSWORD:bt,ERR_INVALID_SIGNATURE:St,ERR_INVALID_UNCOMPRESSED_SIZE:oe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:aa,ERR_OVERLAPPING_ENTRY:da,ERR_SPLIT_ZIP_FILE:la,ERR_UNSUPPORTED_COMPRESSION:ca,ERR_UNSUPPORTED_ENCRYPTION:oa,ZipReader:ya,ZipReaderStream:ba});const qa="File already exists",Ka="Zip file comment exceeds 64KB",Ya="File entry comment exceeds 64KB",Ga="File entry name exceeds 64KB",Xa="Version exceeds 65535",Ja="The strength must equal 1, 2, or 3",Qa="Encryption is not supported in USDZ files",$a="Extra field type exceeds 65535",ts="Extra field data exceeds 64KB",es=-2147483648,rs=2147483647,ns=BigInt(0),as=BigInt("0x7fffffffffffffff"),ss="Zip64 is not supported (set the 'zip64' option to 'true')",is="Undefined uncompressed size",os="Undefined reader",cs="Zip file not empty",ls=new Uint8Array([7,0,2,0,65,69,3,0,0]),ds="infozip",us="unix";let fs=0;const ws=[];class hs{constructor(t,e={}){t=new $r(t);const{availableSize:r=A,maxSize:n=A}=t;Object.assign(this,{writer:t,Yt:r>0&&r!==A&&n>0&&n!==A,options:e,config:M(),files:new Map,Gt:new Set,offset:e[Gn]===F?t.size||t.writable.size||0:e[Gn],Xt:e[Gn]===F?0:e[Gn]-(t.size||t.writable.size||0),Jt:new Set,Qt:0,$t:F})}async prependZip(e){if(this.Gt.size)throw Error(cs);e=new Qr(e),await tn(e);const{ZipReader:r}=await Promise.resolve().then(()=>Ha),n=new r(e.readable),a=await n.getEntries();await n.close(),await tn(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:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=o;w=w||O,h=h||O,p=p||O,m=m||O,y=y||O,b=b||O,e.extraFieldAES&&(f=99);const x=js(w,h,p,m,y,b),z=u&&l>=t,R=u&&d>=t,A=-7&Ns(S,E,g,c,f)|S<<1,{se:D,ie:U}=Ps({version:r,bitFlag:A,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,oe:R,ce:z,extraFieldLength:x}),{crc32:k}=e;return k!==F&&Cs(U,10,k),Object.assign(e,{ce:z,oe:R,le:u&&e.offset>=t,diskNumberStart:0,de:!1,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,ue:1+(a?2:0)+(s?4:0),se:D,ie:U}),[e.filename,e]}))}async add(i="",o,c={}){const l=this;c=Object.assign({},c);const{Jt:d,config:u}=l;let h,y;fs<u.maxWorkers?fs++:await new Promise(t=>ws.push(t));try{if(i=i.trim(),ks(l,c,On)&&!i.endsWith(g)&&(i+=g),l.Gt.has(i))throw Error(qa);return l.Gt.add(i),y=!0,h=(async(i,o,c,l)=>{const d=((n,a,s)=>{a=a.trim();let i=ks(n,s,zn),o=ks(n,s,Dn,i?20:768);const c=ks(n,s,kn),l=ks(n,s,"uid"),d=ks(n,s,"gid");let u=ks(n,s,Mn),f=ks(n,s,"unixExtraFieldType"),w=ks(n,s,In),h=ks(n,s,jn),p=ks(n,s,Pn);if(l!==F&&(0>l||l>t))throw Error("Invalid uid (must be integer 0..2^32-1)");if(d!==F&&(0>d||d>t))throw Error("Invalid gid (must be integer 0..2^32-1)");if(u!==F&&(0>u||u>e))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(f!==F&&f!==ds&&f!==us)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(f===us&&(l!==F&&l>e||d!==F&&d>e))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");f!==F||l===F&&d===F||(f=ds);let m=ks(n,s,gn),y=ks(n,s,xn);const x=m!==F||y!==F;if(l!==F||d!==F||u!==F||f?(i=!1,o=o&e|768):x&&(i=!0,o&=r),m!==F&&(0>m||m>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(y&&"object"!=typeof y)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(o>e)throw Error(Xa);let z=ks(n,s,En);const R=z!==F;R||(z=0),!s[On]&&a.endsWith(g)&&(s[On]=!0);const A=ks(n,s,On);let D;if(A?(a.endsWith(g)||(a+=g),R||(z=16,i||(z|=16877<<16))):i||R||(z=c?493<<16:27525120),!i){const t=u!==F||!!(w||h||p);D=z>>16&e,u=u===F?D:u&e,w?u|=S:w=!!(u&S),h?u|=E:h=!!(u&E),p?u|=512:p=!!(512&u),R&&!t||(A&&(u|=b),z=(u&e)<<16|z&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==F)t&=r;else if(e!==F){const{readOnly:n,hidden:a,system:s,directory:i,archive:o}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),i&&(c|=16),o&&(c|=32),t=c&r}return e===F&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),x&&(z=z&t|m&r),{name:a,fe:{versionMadeBy:o,msDosCompatible:i,externalFileAttributes:z,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}})(i,o,l);({name:o}=d);const u=((t,r,n)=>{const a=ks(t,n,"encodeText",lt);let s=a(r);if(s===F&&(s=lt(r)),js(s)>e)throw Error(Ga);const i=n[on]||"";let o=a(i);if(o===F&&(o=lt(i)),js(o)>e)throw Error(Ya);const c=ks(t,n,An,20);if(c>e)throw Error(Xa);const l=ks(t,n,wn,new Date),d=ks(t,n,pn),u=ks(t,n,yn),f=ks(t,n,Sn,0),w=ks(t,n,Bn);let h,p;w||(h=ks(t,n,_n),p=ks(t,n,Ln));const m=ks(t,n,"encryptionStrength",3),y=ks(t,n,Un),b=ks(t,n,"extendedTimestamp",!0),S=ks(t,n,"ntfsTimestamp"),E=ks(t,n,"keepOrder",!0),g=ks(t,n,Hn),x=ks(t,n,Kn),z=ks(t,n,"bufferedWrite"),R=ks(t,n,"createTempStream"),A=ks(t,n,"dataDescriptorSignature",!0),D=ks(t,n,Vn),U=ks(t,n,"useUnicodeFileNames",!0),O=ks(t,n,Tn),k=w||O===F?F:G(O);if(!w&&O!==F&&0!==O&&8!==O&&!k)throw Error("Compression method not supported");let T=ks(t,n,"level");if(t.options[Xn]){if(h!==F||p!==F)throw Error(Qa);T===F&&O===F&&(T=0)}let v=ks(t,n,qn),C=ks(t,n,"dataDescriptor");z&&C===F&&(C=!1),(C===F||y)&&(C=!0),T!==F&&6!=T&&(v=!1);const M=ks(t,n,Rn);if(!y&&(h!==F||p!==F)&&(1>m||m>3))throw Error(Ja);const I=ys(n[Cn]),j=ys(n.localExtraField);return{comment:i,fe:{rawFilename:s,rawComment:o,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,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:R,dataDescriptorSignature:A,signal:D,useUnicodeFileNames:U,compressionMethod:O,format:k?k.format:F,codecURI:k?k.codecURI:F,we:k?k.versionNeeded:F,level:T,useCompressionStream:v,dataDescriptor:C,zip64:M,rawExtraField:I,he:j}}})(i,o,l),{comment:h}=u,y=l[Cn];let D;i.files.set(o,F);try{const{fe:h}=u;0==h.level||h.compressionMethod!==F||h.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.Dt)return!0;if(be(e)||ye(e,ue))return!0;if(r)try{return await Pe(t),!0}catch{return!1}return!1})(i.config)||(h.level=0);const y=await(async(e,r,{fe:n},a)=>{const{passThrough:s,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,h=0,p=0;if(s){if(!r)throw Error(os);if(p=a[ln],p===F)throw Error(is)}const m=!0===u,y=ks(e,a,Fn),b=!!r&&(!!(o&&js(o)||c&&js(c))||s&&y);r||(f=0,w=0);const S=b?i?12:16+4*l:0;r&&(r=new Qr(r),await tn(r),s?(a.uncompressedSize=p,h=Ts(p)+S):r.size===F?(d=!0,(u||u===F)&&(u=!0,p=h=4294967296)):(a.uncompressedSize=p=r.size,h=Ts(p)+S));const E=m||p>=t,g=m||h>=t;if(E||g){if(!1===u)throw Error(ss);u=!0}return u=u||!1,{reader:r,fe:{dataDescriptor:d,zip64:u,ce:E,oe:g,uncompressedSize:p,level:f,compressionMethod:w,encrypted:b}}})(i,c,u,l);({reader:c}=y);const b=xs(i.writer),S=gs(i.writer),E=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:i,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:h,rawExtraField:y,he:b,encryptionStrength:S,extendedTimestamp:E,ntfsTimestamp:g,passThrough:A,encrypted:D,ce:U,oe:k,uncompressedSize:T,crc32:v}=t;let{version:C,compressionMethod:M}=t;const I=!h&&(M===F?o===F||o>0:0!==M);let j;const P=A||!I,N=c&&(t.bufferedWrite||!u||!U&&!k||P),W=N||c&&u&&(U||k);if(c&&(U||k)){const t=20,e=Es(t);if(e.uint16(1),e.uint16(t-4),j=e.array,N&&(e.pe(T),P)){const t=D?l?12:16+4*S:0;e.pe(A?0:T+t)}}else j=O;let _,L,B,V,Z;if(D&&!l){const t=Es(js(ls)+2);t.uint16(f),t.bytes(ls),_=t.array,_[8]=S}else _=O;if(E){const t=Ds(a),e=Us(t);if(e){const e=9+(s?4:0)+(i?4:0),r=Es(e);V=1+(s?2:0)+(i?4:0),r.uint16(w),r.uint16(e-4),r.uint8(V),r.uint32(t),s&&r.uint32(Os(Ds(s))),i&&r.uint32(Os(Ds(i))),B=r.array}else B=O;if(g===F?!e||s||i:g)try{const t=As(a),e=Es(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?As(s):t),e.pe(i?As(i):t),L=e.array}catch{L=O}else L=O}else L=B=O;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=ds||r===F&&n===F)if(a!=us||r===F&&n===F)Z=O;else{const t=Es(8);t.uint16(m),t.uint16(4),t.uint16((r===F?0:r)&e),t.uint16((n===F?0:n)&e),Z=t.array}else{const t=Ss(r),e=Ss(n),a=3+t.length+e.length,s=Es(4+a);s.uint16(p),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=O}M===F&&(M=I?8:0);const{we:H}=t;I&&H!==F&&(C=C>H?C:H),c&&(C=C>45?C:45),D&&!l&&(C=C>51?C:51,A&&v!==F&&(_[4]=1),_[9]=M,M=99);const q=W?js(j):0,K=q+js(_,B,L,Z,y,b);if(K>e)throw Error(ts);const Y=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{se:G,ie:X,rawLastModDate:J}=Ps({version:C,bitFlag:Ns(o,d,u,D,M),compressionMethod:M,uncompressedSize:T,lastModDate:R>Y?R:Y>z?z:Y,rawFilename:r,oe:k,ce:U,extraFieldLength:K}),Q=Es(x+js(r)+K),$=Q.array,tt=ft($);return Q.uint32(n),Q.bytes(G),Q.bytes(r),W&&Q.bytes(j),Q.bytes(_),Q.bytes(B),Q.bytes(L),Q.bytes(Z),Q.bytes(y),Q.bytes(b),u&&(k||Cs(tt,18,0),U||Cs(tt,22,0)),{ye:$,be:tt,se:G,ie:X,lastModDate:a,rawLastModDate:J,encrypted:D,compressed:I,version:C,compressionMethod:M,ue:V,te:O,Se:q,re:B,ne:L,ae:Z,ee:_,extraFieldLength:K}})(l=Object.assign({},l,d.fe,u.fe,y.fe,{internalFileAttribute:u.fe.internalFileAttributes,externalFileAttribute:d.fe.externalFileAttributes,signature:l[vn],crc32:l.crc32===F?l[vn]:l.crc32,offset:i.offset-b,diskNumberStart:S})),g=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=O,i=0,o=t?20:12;return r&&(o+=4),e&&(a=new Uint8Array(o),n=ft(a),r&&(i=4,Cs(n,0,s))),{Ee:a,ge:n,xe:i}})(l),U=js(E.ye,g.Ee);D=await(async(e,n,s,i,o)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=o,{ze:w}=i,h=e.options[Xn],p=e.$t;let m,y,b,S,E,g,z,R={},D=0;c.set(n,R),e.$t=R;try{let y;d&&(y=p&&p.lock,R.lock=new Promise(t=>b=t)),o.bufferedWrite||!d||e.Re||e.Qt||!u?(m=!0,e.Qt++,z=o.createTempStream?await o.createTempStream():new TransformStream(F,F,{highWaterMark:A}),z.size=0,await tn(l)):(z=l,await U()),await tn(z);const k=xs(l);if(e.Yt){delete e.Yt;const t=new Uint8Array(4);Cs(ft(t),0,a),await Fs(l,t),e.offset+=4}h&&!m&&bs(i,e.offset-k);const{ye:T}=w;m||(await y,await O());const v=gs(l),C=Rs(e,l);if(R.diskNumberStart=v,m||(E=!0,g=l.size,await Fs(z,T)),R=await(async(e,n,{diskNumberStart:a,lock:s},i,o,c)=>{const{ze:l,Fe:d,Ae:u}=i,{se:f,ie:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:S,te:E,Se:g,re:x,ue:z,ne:R,ae:A,ee:D}=l,{Ee:U}=d,{rawFilename:O,lastAccessDate:k,creationDate:T,password:v,rawPassword:C,level:M,zip64:I,ce:j,oe:P,zipCrypto:N,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,setuid:st,setgid:it,sticky:ot,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:ht}=c,pt={lock:s,versionMadeBy:B,zip64:I,directory:!!_,executable:!!L,filenameUTF8:!0,rawFilename:O,commentUTF8:!0,rawComment:V,te:E,Se:g,re:x,ne:R,ae:A,ee:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:it,sticky:ot,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:mt,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=se(e.createReadable?e.createReadable():e.readable),s=e.size,i={options:{codecType:Fe,level:M,rawPassword:C,password:v,encryptionStrength:J,zipCrypto:m&&N,passwordVerification:m&&N&&p>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:m&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:ht,compressionMethod:S},config:o,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await tr({readable:a,writable:St},i);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,m&&!N||(mt=e.crc32)),!P&&bt>=t||!j&&yt>=t)throw Error(ss)}catch(t){throw t.outputSize!==F&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,ze:n,Fe:a},{zip64:s,zipCrypto:i,passThrough:o,dataDescriptor:c})=>{const{ie:l,encrypted:d}=n,{ge:u,xe:f}=a;d&&!i&&!o||t===F||(Cs(l,10,t),c&&Cs(u,f,t)),s?c&&(Ms(u,f+4,BigInt(e)),Ms(u,f+12,BigInt(r))):(Cs(l,14,e),Cs(l,18,r),c&&(Cs(u,f+4,e),Cs(u,f+8,r)))})({crc32:mt,compressedSize:bt,uncompressedSize:yt,ze:l,Fe:d},c),W&&await Fs(n,U),Object.assign(pt,{uncompressedSize:yt,compressedSize:bt,lastModDate:h,rawLastModDate:p,creationDate:T,lastAccessDate:k,encrypted:m,zipCrypto:N,size:u+bt,compressionMethod:S,version:b,se:f,ie:w,signature:mt,crc32:!m||N||ft?mt:F,ue:z,ce:j,oe:P}),pt})(s,z,R,i,e.config,o),m||(E=!1),c.set(n,R),R.filename=n,m){if(await Promise.all([z.writable.getWriter().close(),y]),await U(),S=!0,g=l.size,await O(),R.diskNumberStart=gs(l),R.offset=Rs(e,l),h){const t=i.Ae;bs(i,e.offset-xs(l)),R.size+=i.Ae-t}(({rawFilename:t,encrypted:e,zip64:r,Se:n,crc32:a,compressedSize:s,uncompressedSize:i,ce:o,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==F)&&Cs(l,14,a),c||Cs(l,18,s),o||Cs(l,22,i)),r&&n){const e=x+js(t)+4;Ms(l,e,BigInt(i)),Ms(l,e+8,BigInt(s))}})(R,w.be,o),await Fs(l,w.ye),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=js(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(z.readable,l,f),l.size+=z.size,S=!1}else R.diskNumberStart=v,R.offset=C;return e.offset+=R.size,R}catch(t){if(S||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-g,m&&(e.offset+=D)}throw c.delete(n),t}finally{if(m&&e.Qt--,b&&b(),y&&y(),m&&z&&z.dispose)try{await z.dispose()}catch{}}async function U(){e.Re=!0;const{De:t}=e;e.De=new Promise(t=>y=()=>{e.Re=!1,t()}),await t}async function O(){zs(l,js(w.ye))&&await l.closeDisk()}})(i,o,c,{ze:E,Fe:g,Ae:U},l)}catch(t){throw i.files.delete(o),t}return Object.assign(D,{name:o,comment:h,extraField:y}),new Wn(D)})(l,i,o,c),d.add(h),await h}catch(t){throw y&&l.Gt.delete(i),t}finally{d.delete(h);const t=ws.shift();t?t():fs--}}remove(t){const{Gt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==F){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=O,n={}){const{Jt:a,writer:s}=this,{writable:u}=s;if(js(r)>e)throw Error(Ka);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,ee:s,rawComment:i,ne:o,ae:c,rawExtraField:l,extendedTimestamp:d,ue:u,lastModDate:f,ce:h,oe:p,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||h||p){const t=4+(h?8:0)+(p?8:0)+(b?8:0)+(S?4:0),e=Es(t);e.uint16(1),e.uint16(t-4),h&&e.pe(m),p&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=O;a.te=E,a.le=b,a.de=S;const x=Ds(f);if(d&&Us(x)){const t=Es(9);t.uint16(w),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=O;a.re=g;const z=js(E,s,o,c,g,l);if(z>e)throw Error(ts);n+=46+js(r,i)+z}return n})(r.files),u=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await tn(o);let l=0,d=0,u=gs(o),f=xs(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,ie:R,ce:F,oe:A,de:D,le:U,internalFileAttributes:O,externalFileAttributes:k,diskNumberStart:T,uncompressedSize:v,compressedSize:C}=n,M=js(p,m,y,b,S,E),I=46+js(h,g)+M;zs(o,l+I-d)&&(await Fs(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=gs(o),f=xs(o)),F||Cs(R,18,v),A||Cs(R,14,C),(U||D)&&45>n.version&&vs(R,0,45);const j=Es(I);if(j.uint32(i),j.uint16(x),j.bytes(z.subarray(0,24)),j.uint16(M),j.uint16(js(g)),j.uint16(D?e:T),j.uint16(O),j.uint32(k),j.uint32(U?t:w),j.bytes(h),j.bytes(p),j.bytes(m),j.bytes(y),j.bytes(b),j.bytes(S),j.bytes(E),j.bytes(g),Is(c,j.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Wn(n))}catch{}}return await Fs(o,d?c.slice(d):c),{diskNumber:u,diskOffset:f}})(r,s,a);await(async(r,n,a,s)=>{const{writer:i}=r,{Ue:u}=s;let{Oe:f}=s,w=r.files.size,h=u.diskNumber,p=Rs(r,u),m=gs(i);zs(i,d)&&m++;let y=ks(r,a,Rn);if(!(t>p&&t>f&&e>w&&e>m)){if(!1===y)throw Error(ss);y=!0}const b=js(n);if(b>e)throw Error(Ka);const S=Es(y?98:d);zs(i,js(S.array)+b)&&await i.closeDisk(),m=gs(i),y&&(S.uint32(c),S.pe(44),S.uint16(45),S.uint16(45),S.uint32(m),S.uint32(h),S.pe(w),S.pe(w),S.pe(f),S.pe(p),S.uint32(l),S.uint32(m),S.pe(BigInt(Rs(r,i))+BigInt(f)),S.uint32(m+1),ks(r,a,"supportZip64SplitFile",!0)&&(m=e,h=e),w=e,p=t,f=t),S.uint32(o),S.uint16(m),S.uint16(h),S.uint16(w),S.uint16(w),S.uint32(f),S.uint32(p),S.uint16(b),await Fs(i,S.array),b&&await Fs(i,n)})(r,n,a,{Ue:u,Oe:s})})(this,r,n),ks(this,n,Yn)||await u.getWriter().close(),s.getData?s.getData():u}}class ps{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new hs(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 ms(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 ms(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 ms(t,e,r){t.Jt.add(e),e.catch(t=>{try{r(t)}catch{}})}function ys(t){if(!t)return O;let r=0,n=0;t.forEach(t=>r+=4+js(t));const a=new Uint8Array(r),s=ft(a);return t.forEach((t,r)=>{if(r>e)throw Error($a);if(js(t)>e)throw Error(ts);vs(s,n,r),vs(s,n+2,js(t)),Is(a,t,n+4),n+=4+js(t)}),a}function bs(t,e){const{ze:r}=t;let{ye:n,extraFieldLength:a}=r,s=64-(e+js(n))%64;4>s&&(s+=64);const i=new Uint8Array(s),o=ft(i);vs(o,0,h),vs(o,2,s-4);const c=n;r.ye=n=new Uint8Array(js(c)+s),Is(n,c),Is(n,i,js(c));const l=ft(n);vs(l,28,a+s),r.be=l,t.Ae+=s}function Ss(t){if(t===F)return O;{const e=new Uint8Array(4);ft(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Es(t){const e=new Uint8Array(t),r=ft(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{vs(r,n,t),n+=2},uint32:t=>{Cs(r,n,t),n+=4},pe:t=>{Ms(r,n,BigInt(t)),n+=8},bytes:t=>{Is(e,t,n),n+=js(t)},me:t=>n+=t}}function gs(t){const{diskNumber:e=0}=t;return e}function xs(t){const{diskOffset:e=0}=t;return e}function zs(t,e){const{availableSize:r=A}=t;return e>r}function Rs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Xt:0)}async function Fs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=js(e),await n.write(e)}finally{n.releaseLock()}}function As(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return ns>e?ns:e>as?as:e}}function Ds(t){return Math.floor(t.getTime()/1e3)}function Us(t){return t>=es&&rs>=t}function Os(t){return Math.min(rs,Math.max(es,t))}function ks(t,e,r,n){const a=e[r]===F?t.options[r]:e[r];return a===F?n:a}function Ts(t){return t+5*(Math.floor(t/16383)+1)}function vs(t,e,r){t.setUint16(e,r,!0)}function Cs(t,e,r){t.setUint32(e,r,!0)}function Ms(t,e,r){t.setBigUint64(e,r,!0)}function Is(t,e,r){t.set(e,r)}function js(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Ps({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:i,rawLastModDate:o,rawFilename:c,oe:l,ce:d,extraFieldLength:u}){const f=Es(26),w=f.array,h=ft(w);if(f.uint16(e),f.uint16(r),f.uint16(n),o===F){const t=new Uint32Array(1),e=ft(t);vs(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),vs(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=t[0]}return f.uint32(o),f.me(4),l||s!==F?f.uint32(l?t:s):f.me(4),d||a!==F?f.uint32(d?t:a):f.me(4),f.uint16(js(c)),f.uint16(u),{se:w,ie:h,rawLastModDate:o}}function Ns(t,e,r,n,a){let s=0;return e&&(s|=y),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 Ws(){return"application/octet-stream"}const _s=1048576,Ls=".zip.js-temp";function Bs(t={}){const{thresholdBytes:e=_s,directoryName:r=Ls,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,i,o=0,c=!1;const l=new WritableStream({async write(i){c?await a.write(i):(t.push(i),o+=i.length,o>e&&await(async()=>{const e=await s();r=crypto.randomUUID(),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 d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){i&&await i.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 Vs=1048576;function Zs(t={}){const{thresholdBytes:e=Vs}=t;return()=>{const t=[];let r,n,a,s=0,i=!1;const o=new WritableStream({async write(a){i?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=new Response(e.readable).blob(),r=e.writable.getWriter(),i=!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:o,readable:new ReadableStream({async pull(e){if(i){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 Hs=1048576,qs=".zip.js-temp";function Ks(t={}){const{thresholdBytes:e=Hs,directoryName:r=qs,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");const a=n||(()=>navigator.storage.getDirectory());let s;function i(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,o=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:o}),o+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await i();r=crypto.randomUUID();const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:o}),o+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=o-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 d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{N({baseURI:import.meta.url})}catch{}let Ys,Gs,Xs,Js,Qs;function $s(t,e,r={}){if(!Ys){const t=Error("WASM module not loaded");throw t.cause=Qs,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.ke=Gs(a),this.in=Gs(s),this.inBufferSize=s,!this.ke||!this.in)throw Error("allocation failed");if(this.Te=new Uint8Array(a),t?(this.ve=Ys.deflate_process,this.Ce=Ys.deflate_last_consumed,this.Me=Ys.deflate_end,this.Ie=Ys.deflate_new(),r="gzip"===e?Ys.deflate_init_gzip(this.Ie,n):"deflate-raw"===e?Ys.deflate_init_raw(this.Ie,n):Ys.deflate_init(this.Ie,n)):"deflate64-raw"===e?(this.ve=Ys.inflate9_process,this.Ce=Ys.inflate9_last_consumed,this.Me=Ys.inflate9_end,this.Ie=Ys.inflate9_new(),r=Ys.inflate9_init_raw(this.Ie)):(this.ve=Ys.inflate_process,this.Ce=Ys.inflate_last_consumed,this.Me=Ys.inflate_end,this.Ie=Ys.inflate_new(),r="deflate-raw"===e?Ys.inflate_init_raw(this.Ie):"gzip"===e?Ys.inflate_init_gzip(this.Ie):Ys.inflate_init(this.Ie)),0!==r)throw Error("init failed:"+r)}catch(t){throw i(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Js.buffer),i=this.ve,o=this.Ce,c=this.ke,l=this.Te;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Xs&&(Xs(this.in),this.in=0),this.in=Gs(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=i(this.Ie,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=o(this.Ie);if(0===w)break;d+=w}}catch(t){i(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Js.buffer),n=this.ve,s=this.ke,i=this.Te;for(;;){const o=n(this.Ie,0,0,s,a,4),c=16777215&o,l=o>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(i.set(r.subarray(s,s+c),0),e.enqueue(i.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=i(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){i(this)}});function i(t){let e=0;return t.Ie&&t.Me&&(e=t.Me(t.Ie)),t.Ie=0,t.in&&Xs&&Xs(t.in),t.in=0,t.ke&&Xs&&Xs(t.ke),t.ke=0,e}}class ti{constructor(t="deflate",e){return $s(!0,t,e)}}class ei{constructor(t="deflate",e){return $s(!1,t,e)}}ti.Dt=!0,ei.Dt=!0;let ri,ni=!1;function ai(){ri=null,(async()=>{await Promise.allSettled(Ge.map(t=>(sr(t),t.terminate()))),Te=F,Ie=!1})(),ni=!1,Ys=Gs=Xs=Js=Qs=null}(({je:t})=>{Pe=t})({je:t=>{if(!ri){let{wasmURI:e}=t;typeof e==U&&(e=e()),ri=(async(t,{baseURI:e})=>{if(!ni)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(Ys=t,({malloc:Gs,free:Xs,memory:Js}=Ys),"function"!=typeof Gs||"function"!=typeof Xs||!Js)throw Ys=Gs=Xs=Js=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),ni=!0}catch(t){throw(t=>{Qs=t})(t),t}})(e,t).catch(t=>{throw ri=null,t})}return ri}}),N({CompressionStreamFallback:ti,DecompressionStreamFallback:ei}),N({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const si="Entry filename already exists",ii=new Set([1,f,10,w,28789,25461,h,p,m,22613,13]);class oi{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(si);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options,id:t.Pe++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,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(si);this.name=t}}class ci extends oi{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 ci(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=hi(r.Reader,r.data,e),a=r.data?r.data.uncompressedSize:n.size;await Promise.all([tn(n),tn(t,a)]);const{readable:s}=n;return r.uncompressedSize=n.size,await s.pipeTo(t.writable),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==bt)return!1;throw t}}getText(t,e){return this.getData(new Ur(t),e)}getBlob(t,e){return this.getData(new Ar(t),e)}getData64URI(t,e){return this.getData(new xr(t),e)}getUint8Array(t){return this.getData(new Gr,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return ut(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:Fr,Writer:Ar,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:Dr,Writer:Ur,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:gr,Writer:xr,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:Yr,Writer:Gr,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:fi(t),Writer:null,reader:null})}}class li extends oi{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new li(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 Ei(this,t,{options:e},!0)}addText(t,e,r={}){return Ei(this,t,{data:e,Reader:Dr,Writer:Ur,options:r,uncompressedSize:e.length})}addBlob(t,e,r={}){return Ei(this,t,{data:e,Reader:Fr,Writer:Ar,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 Ei(this,t,{data:e,Reader:gr,Writer:xr,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return Ei(this,t,{data:e,Reader:Yr,Writer:Gr,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return Ei(this,t,{data:e,Reader:class extends qr{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return Ei(this,t,{Reader:fi(e),options:r})}addFileSystemEntry(t,e={}){return yi(this,t,e)}addFileSystemHandle(t,e={}){return yi(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),Ei(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}Ne(t,e){return Ei(this,t,e)}importBlob(t,e){return this.importZip(new Fr(t),e)}importData64URI(t,e){return this.importZip(new gr(t),e)}importUint8Array(t,e){return this.importZip(new Yr(t),e)}importHttpContent(t,e){return this.importZip(new qr(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Ar(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new xr(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Gr,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const n=ui([t],"uncompressedSize"),a=new Map;return await s(t,e),e;async function s(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>i(t,e)))).find(t=>"rejected"==t.status);if(r)throw r.reason}else for(const r of t.children)await i(r,e)}async function i(t,e){try{if(t.directory){const r=await e.getDirectoryHandle(t.name,{create:!0});await s(t,r)}else{const s=await e.getFileHandle(t.name,{create:!0}),i=await s.createWritable();await t.getData({writable:i},Object.assign({},r,{onprogress:async e=>{if(r.onprogress){a.set(t.id,e);try{await r.onprogress(Array.from(a.values()).reduce((t,e)=>t+e,0),n)}catch{}}}}))}}catch(e){throw Error(e.message+(t?" ("+t.name+")":""),{cause:e})}}})(this,t,e)}async importZip(t,e={}){await tn(t);const r=new ya(t,e),n=[],a=await r.getEntries();for(const t of a){let r=this;try{const a=t.filename.split("/"),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(si)}else r=new li(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(si)}else e=new li(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(Ei(r,s,{data:t,Reader:wi(Object.assign({},e)),uncompressedSize: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===F&&(e.bufferedWrite=!0);const[n]=await Promise.all([pi(r,e.readerOptions),tn(t)]),a=new hs(t,e);return await(async(t,e,r,n,a)=>{const s=e,i=new Map;await async function t(e,o){async function c(o){const c=n.relativePath?o.getRelativeName(s):o.getFullname(),l=o.options||{};let d={};if(o.data instanceof Wn){const{externalFileAttributes:t,versionMadeBy:e,comment:r,lastModDate:a,creationDate:s,lastAccessDate:i,uncompressedSize:c,encrypted:l,zipCrypto:u,crc32:f,compressionMethod:w,extraFieldAES:h,internalFileAttributes:p,extraField:m,uid:y,gid:b}=o.data;d={externalFileAttributes:t,versionMadeBy:e,comment:r,lastModDate:a,creationDate:s,lastAccessDate:i,internalFileAttributes:p};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{ii.has(r)||e.set(r,t.data)}),e.size)return e}})(m);if(S&&(d.extraField=S),y===F&&b===F||Object.assign(d,{uid:y,gid:b,unixExtraFieldType:n.unixExtraFieldType||"infozip"}),o.passThrough){let t,e;0===w&&(t=0),h&&(e=h.strength),d=Object.assign(d,{passThrough:!0,encrypted:l,zipCrypto:u,crc32:f,uncompressedSize:c,level:t,encryptionStrength:e,compressionMethod:w})}}await e.add(c,a.get(o),Object.assign({},n,d,l,{directory:o.directory,onprogress:async t=>{if(n.onprogress){i.set(c,t);try{await n.onprogress(Array.from(i.values()).reduce((t,e)=>t+e),r)}catch{}}}})),await t(e,o)}await(async()=>{if(n.bufferedWrite){const t=(await Promise.allSettled(o.children.map(c))).find(t=>"rejected"==t.status);if(t)throw t.reason}else for(const t of o.children)await c(t)})()}(t,e)})(a,r,ui([r],"uncompressedSize"),e,n),await a.close(),t.getData?t.getData():t.writable}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}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 di={FS:class{constructor(){Si(this)}get children(){return this.root.children}remove(t){mi(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=F}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(si)}else mi(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)}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)}Ne(t,e){return this.root.Ne(t,e)}importBlob(t,e){return Si(this),this.root.importBlob(t,e)}importData64URI(t,e){return Si(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return Si(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return Si(this),this.root.importHttpContent(t,e)}importReadable(t,e){return Si(this),this.root.importReadable(t,e)}importZip(t,e){return Si(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)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}},ZipDirectoryEntry:li,ZipFileEntry:ci};function ui(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=t[e]||0;for(const e of t.children)n.push(e)}return r}function fi(t){let e;return()=>{if(e)throw Error("Readable stream already consumed");return e=!0,{readable:t}}}function wi(t){return class extends Sr{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this;e.size=e.entry.uncompressedSize;const r=await e.entry.getData(new Ar,Object.assign({},t,e.options));e.data=r,e.We=new Fr(r),super.init()}readUint8Array(t,e){return this.We.readUint8Array(t,e)}}}function hi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function pi(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=hi(t.Reader,t.data,e);a.set(t,r);try{await tn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==F&&(t.uncompressedSize=r.size)})),a}function mi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function yi(t,e,r){return async function t(e,n,a){if(n)try{if((n.isFile||n.isDirectory)&&(n=await bi(n)),"file"==n.kind){const t=await n.getFile();a.push(e.Ne(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 r=e.addDirectory(n.name);a.push(r);for await(const e of n.values())await t(r,e,a)}}catch(t){const e=t.message+(n?" ("+n.name+")":"");throw Error(e,{cause:t})}return a}(t,e,[])}async function bi(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 bi(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 Si(t){t.entries=[],t.Pe=0,t.root=new li(t)}function Ei(t,e,r,n){if(t.directory)return n?new li(t.fs,e,r,t):new ci(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{Fr as BlobReader,Ar as BlobWriter,gr as Data64URIReader,xr as Data64URIWriter,ua as ERR_AMBIGUOUS_ARCHIVE,ta as ERR_BAD_FORMAT,na as ERR_CENTRAL_DIRECTORY_NOT_FOUND,qa as ERR_DUPLICATED_NAME,ia as ERR_ENCRYPTED,fa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,ra as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ea as ERR_EOCDR_NOT_FOUND,sa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,or as ERR_HTTP_RANGE,cr as ERR_HTTP_RESOURCE_CHANGED,Et as ERR_INVALID_AUTHENTICATION_CODE,_ as ERR_INVALID_CODEC_DEFINITION,B as ERR_INVALID_CODEC_MODULE,Ka as ERR_INVALID_COMMENT,ce as ERR_INVALID_COMPRESSED_DATA,le as ERR_INVALID_CRC32,Ja as ERR_INVALID_ENCRYPTION_STRENGTH,Ya as ERR_INVALID_ENTRY_COMMENT,Ga as ERR_INVALID_ENTRY_NAME,ts as ERR_INVALID_EXTRAFIELD_DATA,$a as ERR_INVALID_EXTRAFIELD_TYPE,bt as ERR_INVALID_PASSWORD,St as ERR_INVALID_SIGNATURE,oe as ERR_INVALID_UNCOMPRESSED_SIZE,Xa as ERR_INVALID_VERSION,lr as ERR_ITERATOR_COMPLETED_TOO_SOON,aa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,da as ERR_OVERLAPPING_ENTRY,L as ERR_RESERVED_COMPRESSION_METHOD,la as ERR_SPLIT_ZIP_FILE,os as ERR_UNDEFINED_READER,is as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ca as ERR_UNSUPPORTED_COMPRESSION,oa as ERR_UNSUPPORTED_ENCRYPTION,Qa as ERR_UNSUPPORTED_ENCRYPTION_USDZ,ss as ERR_UNSUPPORTED_FORMAT,dr as ERR_WRITER_NOT_INITIALIZED,cs as ERR_ZIP_NOT_EMPTY,Kr as HttpRangeReader,qr as HttpReader,Sr as Reader,Xr as SplitDataReader,Jr as SplitDataWriter,Dr as TextReader,Ur as TextWriter,Yr as Uint8ArrayReader,Gr as Uint8ArrayWriter,Er as Writer,ya as ZipReader,ba as ZipReaderStream,hs as ZipWriter,ps as ZipWriterStream,j as configure,Zs as createBlobTempStream,Bs as createOPFSTempStream,Ks as createSyncAccessHandleTempStream,di as fs,Ws as getMimeType,K as registerCodec,W as resetConfiguration,ai as terminateWorkers,Y as unregisterCodec};
|