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