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