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