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