| 1 |
- const{Array:e,Object:t,String:n,Number:s,BigInt:r,Math:a,Date:i,Map:o,Set:c,Response:l,URL:u,Error:f,Uint8Array:d,Uint16Array:h,Uint32Array:p,DataView:w,Blob:g,Promise:m,TextEncoder:y,TextDecoder:b,crypto:z,btoa:S,TransformStream:v,ReadableStream:k,WritableStream:x,CompressionStream:D,DecompressionStream:_,navigator:C,Worker:F}=globalThis,T=4294967295,E=65535,A=67324752,W=134695760,U=W,R=33639248,N=101010256,H=101075792,P=117853008,q=22,B=39169,I=21589,M=6534,L=2048,O="/",V=new i(2107,11,31),K=new i(1980,0,1),$=void 0,Z="undefined",G="function";class j{constructor(e){return class extends v{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}let J=2;try{typeof C!=Z&&C.hardwareConcurrency&&(J=C.hardwareConcurrency)}catch(e){}const X={chunkSize:524288,maxWorkers:J,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:$,CompressionStreamNative:typeof D!=Z&&D,DecompressionStreamNative:typeof _!=Z&&_},Y=t.assign({},X);function Q(){return Y}function ee(e){return a.max(e.chunkSize,64)}function te(t){const{baseURL:n,chunkSize:s,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:u,DecompressionStream:d,workerScripts:h}=t;if(ne("baseURL",n),ne("chunkSize",s),ne("maxWorkers",r),ne("terminateWorkerTimeout",a),ne("useCompressionStream",i),ne("useWebWorkers",o),c&&(Y.CompressionStream=new j(c)),l&&(Y.DecompressionStream=new j(l)),ne("CompressionStream",u),ne("DecompressionStream",d),h!==$){const{deflate:t,inflate:n}=h;if((t||n)&&(Y.workerScripts||(Y.workerScripts={})),t){if(!e.isArray(t))throw new f("workerScripts.deflate must be an array");Y.workerScripts.deflate=t}if(n){if(!e.isArray(n))throw new f("workerScripts.inflate must be an array");Y.workerScripts.inflate=n}}}function ne(e,t){t!==$&&(Y[e]=t)}function se(){return"application/octet-stream"}function re(e,t={},n){return{Deflate:ae(e.Deflate,t.deflate,n),Inflate:ae(e.Inflate,t.inflate,n)}}function ae(e,n,s){return class{constructor(r){const a=this;var i,o;i=r,o="level",(typeof t.hasOwn===G?t.hasOwn(i,o):i.hasOwnProperty(o))&&r.level===$&&delete r.level,a.codec=new e(t.assign({},n,r)),s(a.codec,e=>{if(a.pendingData){const t=a.pendingData;a.pendingData=new d(t.length+e.length);const{pendingData:n}=a;n.set(t,0),n.set(e,t.length)}else a.pendingData=new d(e)})}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new d,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new d}}const ie=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;ie[e]=t}class oe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;n<s;n++)t=t>>>8^ie[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class ce extends v{constructor(){let e;const t=new oe;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new w(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function le(e){if(typeof y==Z){e=unescape(encodeURIComponent(e));const t=new d(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new y).encode(e)}const ue={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=ue.getPartial(n);return 32===s?e.concat(t):ue._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+ue.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=ue.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=ue.getPartial(r);return s.push(ue.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},fe={bytes:{fromBits(e){const t=ue.bitLength(e)/8,n=new d(t);let s;for(let r=0;r<t;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(ue.partial(8*(3&n),s)),t}}},de={sha1:class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=fe.utf8String.toBits(e));const n=t._buffer=ue.concat(t._buffer,e),s=t._length,r=t._length=s+ue.bitLength(e);if(r>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new p(n);let i=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);e<=r;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=ue.concat(t,[ue.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e<=19?t&n|~t&s:e<=39?t^n^s:e<=59?t&n|t&s|n&s:e<=79?t^n^s:void 0}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,s=n._h,r=e(80);for(let e=0;e<16;e++)r[e]=t[e];let i=s[0],o=s[1],c=s[2],l=s[3],u=s[4];for(let e=0;e<=79;e++){e>=16&&(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,i)+n._f(e,o,c,l)+u+r[e]+n._key[a.floor(e/20)]|0;u=l,l=c,c=n._S(30,o),o=i,i=t}s[0]=s[0]+i|0,s[1]=s[1]+o|0,s[2]=s[2]+c|0,s[3]=s[3]+l|0,s[4]=s[4]+u|0}}},he={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],r=e.length;let a,i,o,c=1;if(4!==r&&6!==r&&8!==r)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=i[a-1];(a%r===0||8===r&&a%r===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-r]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=i=0;!n[u];u^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[u]=a,s[a]=u,l=r[c=r[o=r[u]]];let f=16843009*l^65537*c^257*o^16843008*u,d=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],s=n.length/4-2,r=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],u=a[4];let d,h,p,w=e[0]^n[0],g=e[t?3:1]^n[1],m=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;e<s;e++)d=i[w>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],h=i[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&w]^n[b+1],p=i[m>>>24]^o[y>>16&255]^c[w>>8&255]^l[255&g]^n[b+2],y=i[y>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&m]^n[b+3],b+=4,w=d,g=h,m=p;for(let e=0;e<4;e++)r[t?3&-e:e]=u[w>>>24]<<24^u[g>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^n[b++],d=w,w=g,g=m,m=y,y=d;return r}}},pe={getRandomValues(e){const t=new p(e.buffer),n=e=>{let t=987654321;const n=4294967295;return function(){t=36969*(65535&t)+(t>>16)&n;return(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(a.random()>.5?1:-1)}};for(let s,r=0;r<e.length;r+=4){const e=n(4294967296*(s||a.random()));s=987654071*e(),t[r/4]=4294967296*e()|0}return e}},we={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=ue.bitLength(t);for(let r=0;r<s;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return ue.clamp(t,r)}}},ge={importKey:e=>new ge.hmacSha1(fe.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,s<0||n<0)throw new f("invalid params to pbkdf2");const r=1+(s>>5)<<2;let a,i,o,c,l;const u=new ArrayBuffer(r),d=new w(u);let h=0;const p=ue;for(t=fe.bytes.toBits(t),l=1;h<(r||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;h<(r||1)&&o<a.length;o++)d.setInt32(h,a[o]),h+=4}return u.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=de.sha1,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;t<r;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},me=typeof z!=Z&&typeof z.getRandomValues==G,ye="Invalid password",be="Invalid signature",ze="zipjs-abort-check-password";function Se(e){return me?z.getRandomValues(e):pe.getRandomValues(e)}const ve=16,ke={name:"PBKDF2"},xe=t.assign({hash:{name:"HMAC"}},ke),De=t.assign({iterations:1e3,hash:{name:"SHA-1"}},ke),_e=["deriveBits"],Ce=[8,12,16],Fe=[16,24,32],Te=10,Ee=[0,0,0,0],Ae=typeof z!=Z,We=Ae&&z.subtle,Ue=Ae&&typeof We!=Z,Re=fe.bytes,Ne=he.aes,He=we.ctrGladman,Pe=ge.hmacSha1;let qe=Ae&&Ue&&typeof We.importKey==G,Be=Ae&&Ue&&typeof We.deriveBits==G;class Ie extends v{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:r,checkPasswordOnly:a}){super({start(){t.assign(this,{ready:new m(e=>this.resolveReady=e),password:Ve(e,n),signed:s,strength:r-1,pending:new d})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:i,ready:o}=n;s?(await async function(e,t,n,s){const r=await Oe(e,t,n,$e(s,0,Ce[t])),a=$e(s,Ce[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new f(ye)}(n,r,s,$e(e,0,Ce[r]+2)),e=$e(e,Ce[r]+2),a?t.error(new f(ze)):i()):await o;const c=new d(e.length-Te-(e.length-Te)%ve);t.enqueue(Le(n,e,c,0,Te,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:r,ready:a}=this;if(s&&n){await a;const i=$e(r,0,r.length-Te),o=$e(r,r.length-Te);let c=new d;if(i.length){const e=Ge(Re,i);s.update(e);const t=n.update(e);c=Ze(Re,t)}if(t){const e=$e(Ze(Re,s.digest()),0,Te);for(let t=0;t<Te;t++)if(e[t]!=o[t])throw new f(be)}e.enqueue(c)}}})}}class Me extends v{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new m(e=>this.resolveReady=e),password:Ve(e,n),strength:s-1,pending:new d})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:a,ready:i}=n;let o=new d;s?(o=await async function(e,t,n){const s=Se(new d(Ce[t])),r=await Oe(e,t,n,s);return Ke(s,r)}(n,r,s),a()):await i;const c=new d(o.length+e.length-e.length%ve);c.set(o,0),t.enqueue(Le(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:a}=this;if(n&&t){await a;let i=new d;if(s.length){const e=t.update(Ge(Re,s));n.update(e),i=Ze(Re,e)}r.signature=Ze(Re,n.digest()).slice(0,Te),e.enqueue(Ke(i,r.signature))}}}),r=this}}function Le(e,t,n,s,r,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-r;let u;for(c.length&&(t=Ke(c,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e}(n,l-l%ve)),u=0;u<=l-ve;u+=ve){const e=Ge(Re,$e(t,u,u+ve));a&&o.update(e);const r=i.update(e);a||o.update(r),n.set(Ze(Re,r),u+s)}return e.pending=$e(t,u),n}async function Oe(n,s,r,a){n.password=null;const i=await async function(e,t,n,s,r){if(!qe)return ge.importKey(t);try{return await We.importKey(e,t,n,s,r)}catch(e){return qe=!1,ge.importKey(t)}}("raw",r,xe,!1,_e),o=await async function(e,t,n){if(!Be)return ge.pbkdf2(t,e.salt,De.iterations,n);try{return await We.deriveBits(e,t,n)}catch(s){return Be=!1,ge.pbkdf2(t,e.salt,De.iterations,n)}}(t.assign({salt:a},De),i,8*(2*Fe[s]+2)),c=new d(o),l=Ge(Re,$e(c,0,Fe[s])),u=Ge(Re,$e(c,Fe[s],2*Fe[s])),f=$e(c,2*Fe[s]);return t.assign(n,{keys:{key:l,authentication:u,passwordVerification:f},ctr:new He(new Ne(l),e.from(Ee)),hmac:new Pe(u)}),f}function Ve(e,t){return t===$?le(e):t}function Ke(e,t){let n=e;return e.length+t.length&&(n=new d(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function $e(e,t,n){return e.subarray(t,n)}function Ze(e,t){return e.fromBits(t)}function Ge(e,t){return e.toBits(t)}const je=12;class Je extends v{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),et(this,e)},transform(e,t){const n=this;if(n.password){const t=Ye(n,e.subarray(0,je));if(n.password=null,t[11]!=n.passwordVerification)throw new f(ye);e=e.subarray(je)}s?t.error(new f(ze)):t.enqueue(Ye(n,e))}})}}class Xe extends v{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),et(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=Se(new d(je));t[11]=n.passwordVerification,s=new d(e.length+t.length),s.set(Qe(n,t),0),r=je}else s=new d(e.length),r=0;s.set(Qe(n,e),r),t.enqueue(s)}})}}function Ye(e,t){const n=new d(t.length);for(let s=0;s<t.length;s++)n[s]=nt(e)^t[s],tt(e,n[s]);return n}function Qe(e,t){const n=new d(t.length);for(let s=0;s<t.length;s++)n[s]=nt(e)^t[s],tt(e,t[s]);return n}function et(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new oe(s[0]),crcKey2:new oe(s[2])});for(let t=0;t<n.length;t++)tt(e,n.charCodeAt(t))}function tt(e,t){let[n,s,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),s=rt(a.imul(rt(s+st(n)),134775813)+1),e.crcKey2.append([s>>>24]),r=~e.crcKey2.get(),e.keys=[n,s,r]}function nt(e){const t=2|e.keys[2];return st(a.imul(t,1^t)>>>8)}function st(e){return 255&e}function rt(e){return 4294967295&e}const at="deflate-raw";class it extends v{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,u=this;let f,d,h=ct(super.readable);a&&!o||!c||(f=new ce,h=ft(h,f)),r&&(h=ut(h,i,{level:l,chunkSize:t},s,n)),a&&(o?h=ft(h,new Xe(e)):(d=new Me(e),h=ft(h,d))),lt(u,h,()=>{let e;a&&!o&&(e=d.signature),a&&!o||!c||(e=new w(f.value.buffer).getUint32(0)),u.signature=e})}}class ot extends v{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:r,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l}=e;let u,d,h=ct(super.readable);a&&(r?h=ft(h,new Je(e)):(d=new Ie(e),h=ft(h,d))),c&&(h=ut(h,l,{chunkSize:t},s,n)),a&&!r||!i||(u=new ce,h=ft(h,u)),lt(this,h,()=>{if((!a||r)&&i){const e=new w(u.value.buffer);if(o!=e.getUint32(0,!1))throw new f(be)}})}}function ct(e){return ft(e,new v({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function lt(e,n,s){n=ft(n,new v({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ut(e,t,n,s,r){try{e=ft(e,new(t&&s?s:r)(at,n))}catch(s){if(!t)return e;try{e=ft(e,new r(at,n))}catch(t){return e}}return e}function ft(e,t){return e.pipeThrough(t)}const dt="message",ht="start",pt="pull",wt="data",gt="close",mt="deflate",yt="inflate";class bt extends v{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith(mt)?a=it:r.startsWith(yt)&&(a=ot);let i=0,o=0;const c=new a(e,n),l=super.readable,u=new v({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:o})}}),f=new v({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;t.assign(s,{signature:e,outputSize:i,inputSize:o})}});t.defineProperty(s,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(f)})}}class zt extends v{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new d(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}let St=typeof F!=Z;class vt{constructor(e,{readable:n,writable:s},{options:r,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,scripts:l},u){const{signal:f}=i;return t.assign(e,{busy:!0,readable:n.pipeThrough(new zt(a.chunkSize)).pipeThrough(new kt(n,i),{signal:f}),writable:s,options:t.assign({},r),scripts:l,transferStreams:c,terminate:()=>new m(t=>{const{worker:n,busy:s}=e;n?(s?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,u(e)}}),(o&&St?_t:Dt)(e,a)}}class kt extends v{constructor(e,{onstart:t,onprogress:n,size:s,onend:r}){let a=0;super({async start(){t&&await xt(t,s)},async transform(e,t){a+=e.length,n&&await xt(n,a,s),t.enqueue(e)},async flush(){e.size=a,r&&await xt(r,a)}})}}async function xt(e,...t){try{await e(...t)}catch(e){}}function Dt(e,t){return{run:()=>async function({options:e,readable:t,writable:n,onTaskFinished:s},r){try{const s=new bt(e,r);await t.pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=s;return{signature:a,inputSize:i,outputSize:o}}finally{s()}}(e,t)}}function _t(e,n){const{baseURL:s,chunkSize:r}=n;if(!e.interface){let a;try{a=function(e,n,s){const r={type:"module"};let a,i;typeof e==G&&(e=e());try{a=new u(e,n)}catch(t){a=e}if(Ct)try{i=new F(a)}catch(e){Ct=!1,i=new F(a,r)}else i=new F(a,r);return i.addEventListener(dt,e=>async function({data:e},n){const{type:s,value:r,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:u,rejectResult:h,onTaskFinished:p}=n;try{if(o){const{message:e,stack:n,code:s,name:r}=o,a=new f(e);t.assign(a,{stack:n,code:s,name:r}),w(a)}else{if(s==pt){const{value:e,done:t}=await c.read();Tt({type:wt,value:e,done:t,messageId:a},n)}s==wt&&(await l.ready,await l.write(new d(r)),Tt({type:"ack",messageId:a},n)),s==gt&&w(null,i)}}catch(o){Tt({type:gt,messageId:a},n),w(o)}function w(e,t){e?h(e):u(t),l&&l.releaseLock(),p()}}(e,s)),i}(e.scripts[0],s,e)}catch(t){return St=!1,Dt(e,n)}t.assign(e,{worker:a,interface:{run:()=>async function(e,n){let s,r;const a=new m((e,t)=>{s=e,r=t});t.assign(e,{reader:null,writer:null,resolveResult:s,rejectResult:r,result:a});const{readable:i,options:o,scripts:c}=e,{writable:l,closed:u}=function(e){let t;const n=new m(e=>t=e),s=new x({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)});return{writable:s,closed:n}}(e.writable),f=Tt({type:ht,scripts:c.slice(1),options:o,config:n,readable:i,writable:l},e);f||t.assign(e,{reader:i.getReader(),writer:l.getWriter()});const d=await a;f||await l.getWriter().close();return await u,d}(e,{chunkSize:r})}})}return e.interface}let Ct=!0,Ft=!0;function Tt(e,{worker:t,writer:n,onTaskFinished:s,transferStreams:r}){try{let{value:n,readable:s,writable:a}=e;const i=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,i.push(e.value)),r&&Ft?(s&&i.push(s),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(n){Ft=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),s(),e}}let Et=[];const At=[];let Wt=0;async function Ut(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:c,compressed:l,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:h}=r;t.transferStreams=a||a===$;const p=!(l||u||f||t.transferStreams);return t.useWebWorkers=!p&&(i||i===$&&r.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[c]:[],n.useCompressionStream=o||o===$&&r.useCompressionStream,(await async function(){const n=Et.find(e=>!e.busy);if(n)return Rt(n),new vt(n,e,t,w);if(Et.length<h){const n={indexWorker:Wt};return Wt++,Et.push(n),new vt(n,e,t,w)}return new m(n=>At.push({resolve:n,stream:e,workerOptions:t}))}()).run();function w(e){if(At.length){const[{resolve:t,stream:n,workerOptions:s}]=At.splice(0,1);t(new vt(e,n,s,w))}else e.worker?(Rt(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Et=Et.filter(t=>t!=e);try{await e.terminate()}catch(e){}},r))}(e,t)):Et=Et.filter(t=>t!=e)}}function Rt(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}async function Nt(){await m.allSettled(Et.map(e=>(Rt(e),e.terminate())))}const Ht="HTTP error ",Pt="HTTP Range not supported",qt="Writer iterator completed too soon",Bt="Range",It="GET",Mt="bytes",Lt=65536,Ot="writable";class Vt{constructor(){this.size=0}init(){this.initialized=!0}}class Kt extends Vt{get readable(){const e=this,{chunkSize:t=Lt}=e,n=new k({start(){this.chunkOffset=0},async pull(s){const{offset:r=0,size:i,diskNumberStart:o}=n,{chunkOffset:c}=this;s.enqueue(await vn(e,r+c,a.min(t,i-c),o)),c+t>i?s.close():this.chunkOffset+=t}});return n}}class $t extends Vt{constructor(){super();const e=this,n=new x({write:t=>e.writeUint8Array(t)});t.defineProperty(e,Ot,{get:()=>n})}writeUint8Array(){}}class Zt extends Kt{constructor(e){super();let n=e.length;for(;"="==e.charAt(n-1);)n--;const s=e.indexOf(",")+1;t.assign(this,{dataURI:e,dataStart:s,size:a.floor(.75*(n-s))})}readUint8Array(e,t){const{dataStart:n,dataURI:s}=this,r=new d(t),i=4*a.floor(e/3),o=atob(s.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);for(let e=c;e<c+t;e++)r[e-c]=o.charCodeAt(e);return r}}class Gt extends $t{constructor(e){super(),t.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let s=0,r=t.pending;const i=t.pending.length;for(t.pending="",s=0;s<3*a.floor((i+e.length)/3)-i;s++)r+=n.fromCharCode(e[s]);for(;s<e.length;s++)t.pending+=n.fromCharCode(e[s]);r.length>2?t.data+=S(r):t.pending=r}getData(){return this.data+S(this.pending)}}class jt extends Kt{constructor(e){super(),t.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,s=e+t,r=e||s<n.size?n.blob.slice(e,s):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,s)),new d(a)}}class Jt extends Vt{constructor(e){super();const n=new v,s=[];e&&s.push(["Content-Type",e]),t.defineProperty(this,Ot,{get:()=>n.writable}),this.blob=new l(n.readable,{headers:s}).blob()}getData(){return this.blob}}class Xt extends jt{constructor(e){super(new g([e],{type:"text/plain"}))}}class Yt extends Jt{constructor(e){super(e),t.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:n}=this,s=await super.getData();if(s.text&&n)return s.text();{const n=new FileReader;return new m((r,a)=>{t.assign(n,{onload:({target:e})=>r(e.result),onerror:()=>a(n.error)}),n.readAsText(s,e)})}}}class Qt extends Kt{constructor(e,t){super(),tn(this,e,t)}async init(){await nn(this,fn,on),super.init()}readUint8Array(e,t){return sn(this,e,t,fn,on)}}class en extends Kt{constructor(e,t){super(),tn(this,e,t)}async init(){await nn(this,dn,cn),super.init()}readUint8Array(e,t){return sn(this,e,t,dn,cn)}}function tn(e,n,s){const{preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=s;delete(s=t.assign({},s)).preventHeadRequest,delete s.useRangeHeader,delete s.forceRangeRequests,delete s.combineSizeEocd,delete s.useXHR,t.assign(e,{url:n,options:s,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function nn(e,t,n){const{url:r,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if(function(e){const{baseURL:t}=Q(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n}(r)&&(i||o)&&(void 0===a||a)){const r=await t(It,e,rn(e,c?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=Mt)throw new f(Pt);{let a;c&&(e.eocdCache=new d(await r.arrayBuffer()));const i=r.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===$?await un(e,t,n):e.size=a}}else await un(e,t,n)}async function sn(e,t,n,s,r){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-q&&n==q)return o;const r=await s(It,e,rn(e,t,n));if(206!=r.status)throw new f(Pt);return new d(await r.arrayBuffer())}{const{data:s}=e;return s||await r(e,l),new d(e.data.subarray(t,t+n))}}function rn(e,n=0,s=1){return t.assign({},an(e),{[Bt]:Mt+"="+(n<0?n:n+"-"+(n+s-1))})}function an({options:e}){const{headers:n}=e;if(n)return Symbol.iterator in n?t.fromEntries(n):n}async function on(e){await ln(e,fn)}async function cn(e){await ln(e,dn)}async function ln(e,t){const n=await t(It,e,an(e));e.data=new d(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function un(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t("HEAD",e,an(e))).headers.get("Content-Length");r?e.size=s(r):await n(e,e.options)}}async function fn(e,{options:n,url:s},r){const a=await fetch(s,t.assign({},n,{method:e,headers:r}));if(a.status<400)return a;throw 416==a.status?new f(Pt):new f(Ht+(a.statusText||a.status))}function dn(e,{url:n},s){return new m((r,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),r({status:i.status,arrayBuffer:()=>i.response,headers:new o(e)})}else a(416==i.status?new f(Pt):new f(Ht+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,n),s)for(const e of t.entries(s))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class hn extends Kt{constructor(e,n={}){super(),t.assign(this,{url:e,reader:n.useXHR?new en(e,n):new Qt(e,n)})}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 pn extends hn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}}class wn extends Kt{constructor(e){super(),t.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class gn extends $t{init(e=0){t.assign(this,{offset:0,array:new d(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new d(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}}class mn extends Kt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await m.all(t.map(async(n,s)=>{await n.init(),s!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size})),super.init()}async readUint8Array(e,t,n=0){const s=this,{readers:r}=this;let i,o=n;-1==o&&(o=r.length-1);let c=e;for(;c>=r[o].size;)c-=r[o].size,o++;const l=r[o],u=l.size;if(c+t<=u)i=await vn(l,c,t);else{const r=u-c;i=new d(t),i.set(await vn(l,c,r)),i.set(await s.readUint8Array(e+r,t-r,n),r)}return s.lastDiskNumber=a.max(o,s.lastDiskNumber),i}}class yn extends Vt{constructor(e,n=4294967295){super();const s=this;let r,a,i;t.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});const o=new x({async write(t){const{availableSize:n}=s;if(i)t.length>=n?(await c(t.slice(0,n)),await l(),s.diskOffset+=r.size,s.diskNumber++,i=null,await this.write(t.slice(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(qt);r=n,r.size=0,r.maxSize&&(s.maxSize=r.maxSize),s.availableSize=s.maxSize,await bn(r),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await l()}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),r.size+=t,s.size+=t,s.availableSize-=t)}async function l(){a.size=r.size,await i.close()}t.defineProperty(s,Ot,{get:()=>o})}}async function bn(e,t){if(!e.init||e.initialized)return m.resolve();await e.init(t)}function zn(t){return e.isArray(t)&&(t=new mn(t)),t instanceof k&&(t={readable:t}),t}function Sn(e){e.writable===$&&typeof e.next==G&&(e=new yn(e)),e instanceof x&&(e={writable:e});const{writable:n}=e;return n.size===$&&(n.size=0),e instanceof yn||t.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function vn(e,t,n,s){return e.readUint8Array(t,n,s)}const kn=mn,xn=yn,Dn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),_n=256==Dn.length;function Cn(e,t){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(_n){let t="";for(let n=0;n<e.length;n++)t+=Dn[e[n]];return t}return(new b).decode(e)}(e):new b(t).decode(e)}const Fn="filename",Tn="rawFilename",En="comment",An="rawComment",Wn="uncompressedSize",Un="compressedSize",Rn="offset",Nn="diskNumberStart",Hn="lastModDate",Pn="rawLastModDate",qn="lastAccessDate",Bn="rawLastAccessDate",In="creationDate",Mn="rawCreationDate",Ln="internalFileAttribute",On="externalFileAttribute",Vn="msDosCompatible",Kn="zip64",$n=[Fn,Tn,Un,Wn,Hn,Pn,En,An,qn,In,Rn,Nn,Nn,Ln,On,Vn,Kn,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Zn{constructor(e){$n.forEach(t=>this[t]=e[t])}}const Gn="File format is not recognized",jn="End of central directory not found",Jn="End of Zip64 central directory locator not found",Xn="Central directory header not found",Yn="Local file header not found",Qn="Zip64 extra field not found",es="File contains encrypted entry",ts="Encryption method not supported",ns="Compression method not supported",ss="Split zip file",rs="utf-8",as="cp437",is=[[Wn,T],[Un,T],[Rn,T],[Nn,E]],os={[E]:{getValue:bs,bytes:4},[T]:{getValue:zs,bytes:8}};class cs{constructor(e,n={}){t.assign(this,{reader:zn(e),options:n,config:Q()})}async*getEntriesGenerator(e={}){const n=this;let{reader:s}=n;const{config:r}=n;if(await bn(s),s.size!==$&&s.readUint8Array||(s=new jt(await new l(s.readable).blob()),await bn(s)),s.size<q)throw new f(Gn);s.chunkSize=ee(r);const i=await async function(e,t,n,s,r){const i=new d(4);!function(e,t,n){e.setUint32(t,n,!0)}(Ss(i),0,t);const o=s+r;return await c(s)||await c(a.min(o,n));async function c(t){const r=n-t,a=await vn(e,r,t);for(let e=a.length-s;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+s).buffer}}}(s,N,s.size,q,1048560);if(!i){throw bs(Ss(await vn(s,0,4)))==W?new f(ss):new f(jn)}const o=Ss(i);let c=bs(o,12),u=bs(o,16);const h=i.offset,p=ys(o,20),w=h+q+p;let g=ys(o,4);const m=s.lastDiskNumber||0;let y=ys(o,6),b=ys(o,8),z=0,S=0;if(u==T||c==T||b==E||y==E){const e=Ss(await vn(s,i.offset-20,20));if(bs(e,0)==P){u=zs(e,8);let t=await vn(s,u,56,-1),n=Ss(t);const r=i.offset-20-56;if(bs(n,0)!=H&&u!=r){const e=u;u=r,z=u-e,t=await vn(s,u,56,-1),n=Ss(t)}if(bs(n,0)!=H)throw new f(Jn);g==E&&(g=bs(n,16)),y==E&&(y=bs(n,20)),b==E&&(b=zs(n,32)),c==T&&(c=zs(n,40)),u-=c}}if(u>=s.size&&(z=s.size-u-c-q,u=s.size-c-q),m!=g)throw new f(ss);if(u<0)throw new f(Gn);let v=0,k=await vn(s,u,c,y),x=Ss(k);if(c){const e=i.offset-c;if(bs(x,v)!=R&&u!=e){const t=u;u=e,z+=u-t,k=await vn(s,u,c,y),x=Ss(k)}}const D=i.offset-u-(s.lastDiskOffset||0);if(c!=D&&D>=0&&(c=D,k=await vn(s,u,c,y),x=Ss(k)),u<0||u>=s.size)throw new f(Gn);const _=ps(n,e,"filenameEncoding"),C=ps(n,e,"commentEncoding");for(let i=0;i<b;i++){const o=new us(s,r,n.options);if(bs(x,v)!=R)throw new f(Xn);fs(o,x,v+6);const c=Boolean(o.bitFlag.languageEncodingFlag),l=v+46,u=l+o.filenameLength,d=u+o.extraFieldLength,h=ys(x,v+4),p=!(0&h),w=k.subarray(l,u),g=ys(x,v+32),m=d+g,y=k.subarray(d,m),D=c,F=c,T=p&&!(16&~ms(x,v+38)),E=bs(x,v+42)+z;t.assign(o,{versionMadeBy:h,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:g,directory:T,offset:E,diskNumberStart:ys(x,v+34),internalFileAttribute:ys(x,v+36),externalFileAttribute:bs(x,v+38),rawFilename:w,filenameUTF8:D,commentUTF8:F,rawExtraField:k.subarray(u,d)});const A=ps(n,e,"decodeText")||Cn,W=D?rs:_||as,U=F?rs:C||as;let N=A(w,W);N===$&&(N=Cn(w,W));let H=A(y,U);H===$&&(H=Cn(y,U)),t.assign(o,{rawComment:y,filename:N,comment:H,directory:T||N.endsWith(O)}),S=a.max(E,S),await ds(o,o,x,v+6);const P=new Zn(o);P.getData=(e,t)=>o.getData(e,P,t),v=m;const{onprogress:q}=e;if(q)try{await q(i+1,b,new Zn(o))}catch(e){}yield P}const F=ps(n,e,"extractPrependedData"),A=ps(n,e,"extractAppendedData");return F&&(n.prependedData=S>0?await vn(s,0,S):new d),n.comment=p?await vn(s,h+q,p):new d,A&&(n.appendedData=w<s.size?await vn(s,w,s.size-w):new d),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class ls{constructor(e={}){const{readable:t,writable:n}=new v,s=new cs(t,e).getEntriesGenerator();this.readable=new k({async pull(e){const{done:t,value:n}=await s.next();if(t)return e.close();const r={...n,readable:function(){const{readable:e,writable:t}=new v;if(n.getData)return n.getData(t),e}()};delete r.getData,e.enqueue(r)}}),this.writable=n}}class us{constructor(e,n,s){t.assign(this,{reader:e,config:n,options:s})}async getData(e,n,s={}){const r=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:c,compressionMethod:l,config:u,bitFlag:h,signature:p,rawLastModDate:w,uncompressedSize:g,compressedSize:m}=r,y=n.localDirectory={},b=Ss(await vn(a,i,30,o));let z=ps(r,s,"password"),S=ps(r,s,"rawPassword");if(z=z&&z.length&&z,S=S&&S.length&&S,c&&99!=c.originalCompressionMethod)throw new f(ns);if(0!=l&&8!=l)throw new f(ns);if(bs(b,0)!=A)throw new f(Yn);fs(y,b,4),y.rawExtraField=y.extraFieldLength?await vn(a,i+30+y.filenameLength,y.extraFieldLength,o):new d,await ds(r,y,b,4,!0),t.assign(n,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const v=r.encrypted&&y.encrypted,k=v&&!c;if(v){if(!k&&c.strength===$)throw new f(ts);if(!z&&!S)throw new f(es)}const D=i+30+y.filenameLength+y.extraFieldLength,_=m,C=a.readable;t.assign(C,{diskNumberStart:o,offset:D,size:_});const F=ps(r,s,"signal"),T=ps(r,s,"checkPasswordOnly");T&&(e=new x),e=Sn(e),await bn(e,g);const{writable:E}=e,{onstart:W,onprogress:U,onend:R}=s,N={options:{codecType:yt,password:z,rawPassword:S,zipCrypto:k,encryptionStrength:c&&c.strength,signed:ps(r,s,"checkSignature"),passwordVerification:k&&(h.dataDescriptor?w>>>8&255:p>>>24&255),signature:p,compressed:0!=l,encrypted:v,useWebWorkers:ps(r,s,"useWebWorkers"),useCompressionStream:ps(r,s,"useCompressionStream"),transferStreams:ps(r,s,"transferStreams"),checkPasswordOnly:T},config:u,streamOptions:{signal:F,size:_,onstart:W,onprogress:U,onend:R}};let H=0;try{({outputSize:H}=await Ut({readable:C,writable:E},N))}catch(e){if(!T||e.message!=ze)throw e}finally{const e=ps(r,s,"preventClose");E.size+=H,e||E.locked||await E.getWriter().close()}return T?$:e.getData?e.getData():E}}function fs(e,n,s){const r=e.rawBitFlag=ys(n,s+2),a=!(1&~r),i=bs(n,s+6);t.assign(e,{encrypted:a,version:ys(n,s),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&L)==L},rawLastModDate:i,lastModDate:ws(i),filenameLength:ys(n,s+22),extraFieldLength:ys(n,s+24)})}async function ds(e,n,s,r,a){const{rawExtraField:c}=n,l=n.extraField=new o,u=Ss(new d(c));let h=0;try{for(;h<c.length;){const e=ys(u,h),t=ys(u,h+2);l.set(e,{type:e,data:c.slice(h+4,h+4+t)}),h+=4+t}}catch(e){}const p=ys(s,r+4);t.assign(n,{signature:bs(s,r+10),uncompressedSize:bs(s,r+18),compressedSize:bs(s,r+14)});const w=l.get(1);w&&(!function(e,t){t.zip64=!0;const n=Ss(e.data),s=is.filter(([e,n])=>t[e]==n);for(let r=0,a=0;r<s.length;r++){const[i,o]=s[r];if(t[i]==o){const s=os[o];t[i]=e[i]=s.getValue(n,a),a+=s.bytes}else if(e[i])throw new f(Qn)}}(w,n),n.extraFieldZip64=w);const g=l.get(28789);g&&(await hs(g,Fn,Tn,n,e),n.extraFieldUnicodePath=g);const m=l.get(25461);m&&(await hs(m,En,An,n,e),n.extraFieldUnicodeComment=m);const y=l.get(39169);y?(!function(e,n,s){const r=Ss(e.data),a=ms(r,4);t.assign(e,{vendorVersion:ms(r,0),vendorId:ms(r,2),strength:a,originalCompressionMethod:s,compressionMethod:ys(r,5)}),n.compressionMethod=e.compressionMethod}(y,n,p),n.extraFieldAES=y):n.compressionMethod=p;const b=l.get(10);b&&(!function(e,n){const s=Ss(e.data);let r,a=4;try{for(;a<e.data.length&&!r;){const t=ys(s,a),n=ys(s,a+2);1==t&&(r=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(r&&24==r.length){const s=Ss(r),a=s.getBigUint64(0,!0),i=s.getBigUint64(8,!0),o=s.getBigUint64(16,!0);t.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c=gs(a),l=gs(i),u={lastModDate:c,lastAccessDate:l,creationDate:gs(o)};t.assign(e,u),t.assign(n,u)}}catch(e){}}(b,n),n.extraFieldNTFS=b);const z=l.get(I);z&&(!function(e,t,n){const s=Ss(e.data),r=ms(s,0),a=[],o=[];n?(1&~r||(a.push(Hn),o.push(Pn)),2&~r||(a.push(qn),o.push(Bn)),4&~r||(a.push(In),o.push(Mn))):e.data.length>=5&&(a.push(Hn),o.push(Pn));let c=1;a.forEach((n,r)=>{if(e.data.length>=c+4){const a=bs(s,c);t[n]=e[n]=new i(1e3*a);const l=o[r];e[l]=a}c+=4})}(z,n,a),n.extraFieldExtendedTimestamp=z);const S=l.get(6534);S&&(n.extraFieldUSDZ=S)}async function hs(e,n,s,r,a){const i=Ss(e.data),o=new oe;o.append(a[s]);const c=Ss(new d(4));c.setUint32(0,o.get(),!0);const l=bs(i,1);t.assign(e,{version:ms(i,0),[n]:Cn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==bs(c,0)}),e.valid&&(r[n]=e[n],r[n+"UTF8"]=!0)}function ps(e,t,n){return t[n]===$?e.options[n]:t[n]}function ws(e){const t=(4294901760&e)>>16,n=65535&e;try{return new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function gs(e){return new i(s(e/r(1e4)-r(116444736e5)))}function ms(e,t){return e.getUint8(t)}function ys(e,t){return e.getUint16(t,!0)}function bs(e,t){return e.getUint32(t,!0)}function zs(e,t){return s(e.getBigUint64(t,!0))}function Ss(e){return new w(e.buffer)}const vs="File already exists",ks="Zip file comment exceeds 64KB",xs="File entry comment exceeds 64KB",Ds="File entry name exceeds 64KB",_s="Version exceeds 65535",Cs="The strength must equal 1, 2, or 3",Fs="Extra field type exceeds 65535",Ts="Extra field data exceeds 64KB",Es="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",As=new d([7,0,2,0,65,69,3,0,0]);let Ws=0;const Us=[];class Rs{constructor(e,n={}){const s=(e=Sn(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==1/0;t.assign(this,{writer:e,addSplitZipSignature:s,options:n,config:Q(),files:new o,filenames:new c,offset:e.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(n="",s,o={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let y;Ws<g.maxWorkers?Ws++:await new m(e=>Us.push(e));try{if(n=n.trim(),c.filenames.has(n))throw new f(vs);return c.filenames.add(n),y=async function(n,s,o,c){s=s.trim(),c.directory&&!s.endsWith(O)?s+=O:c.directory=s.endsWith(O);const u=qs(n,c,"encodeText",le);let g=u(s);g===$&&(g=le(s));if(Ks(g)>E)throw new f(Ds);const y=c.comment||"";let b=u(y);b===$&&(b=le(y));if(Ks(b)>E)throw new f(xs);const z=qs(n,c,"version",20);if(z>E)throw new f(_s);const S=qs(n,c,"versionMadeBy",20);if(S>E)throw new f(_s);const k=qs(n,c,Hn,new i),x=qs(n,c,qn),D=qs(n,c,In),_=qs(n,c,Vn,!0),C=qs(n,c,Ln,0),F=qs(n,c,On,0),R=qs(n,c,"password"),N=qs(n,c,"rawPassword"),H=qs(n,c,"encryptionStrength",3),P=qs(n,c,"zipCrypto"),q=qs(n,c,"extendedTimestamp",!0),Z=qs(n,c,"keepOrder",!0),G=qs(n,c,"level"),j=qs(n,c,"useWebWorkers"),J=qs(n,c,"bufferedWrite"),X=qs(n,c,"dataDescriptorSignature",!1),Y=qs(n,c,"signal"),Q=qs(n,c,"useCompressionStream");let te=qs(n,c,"dataDescriptor",!0),ne=qs(n,c,Kn);if(R!==$&&H!==$&&(H<1||H>3))throw new f(Cs);let se=new d;const{extraField:re}=c;if(re){let e=0,t=0;re.forEach(t=>e+=4+Ks(t)),se=new d(e),re.forEach((e,n)=>{if(n>E)throw new f(Fs);if(Ks(e)>E)throw new f(Ts);Os(se,new h([n]),t),Os(se,new h([Ks(e)]),t+2),Os(se,e,t+4),t+=4+Ks(e)})}let ae=0,ie=0,oe=0;const ce=!0===ne;o&&(o=zn(o),await bn(o),o.size===$?(te=!0,(ne||ne===$)&&(ne=!0,oe=ae=4294967296)):(oe=o.size,ae=function(e){return e+5*(a.floor(e/16383)+1)}(oe)));const{diskOffset:ue,diskNumber:fe,maxSize:de}=n.writer,he=ce||oe>T,pe=ce||ae>T,we=ce||n.offset+n.pendingEntriesSize-ue>T,ge=qs(n,c,"supportZip64SplitFile",!0),me=ge&&ce||fe+a.ceil(n.pendingEntriesSize/de)>E;if(we||he||pe||me){if(!1===ne||!Z)throw new f(Es);ne=!0}ne=ne||!1,c=t.assign({},c,{rawFilename:g,rawComment:b,version:z,versionMadeBy:S,lastModDate:k,lastAccessDate:x,creationDate:D,rawExtraField:se,zip64:ne,zip64UncompressedSize:he,zip64CompressedSize:pe,zip64Offset:we,zip64DiskNumberStart:me,password:R,rawPassword:N,level:Q||n.config.CompressionStream!==$||n.config.CompressionStreamNative!==$?G:0,useWebWorkers:j,encryptionStrength:H,extendedTimestamp:q,zipCrypto:P,bufferedWrite:J,keepOrder:Z,dataDescriptor:te,dataDescriptorSignature:X,signal:Y,msDosCompatible:_,internalFileAttribute:C,externalFileAttribute:F,useCompressionStream:Q});const ye=function(e){const{rawFilename:t,lastModDate:n,lastAccessDate:s,creationDate:r,rawPassword:i,password:o,level:c,zip64:l,zipCrypto:u,dataDescriptor:f,directory:h,rawExtraField:w,encryptionStrength:g,extendedTimestamp:m}=e,y=0!==c&&!h,b=Boolean(o&&Ks(o)||i&&Ks(i));let z,S,v,k,x=e.version;if(b&&!u){z=new d(Ks(As)+2);const e=Vs(z);Is(e,0,B),Os(z,As,2),Bs(e,8,g)}else z=new d;if(m){v=new d(9+(s?4:0)+(r?4:0));const e=Vs(v);Is(e,0,I),Is(e,2,Ks(v)-4),k=1+(s?2:0)+(r?4:0),Bs(e,4,k);let t=5;Ms(e,t,a.floor(n.getTime()/1e3)),t+=4,s&&(Ms(e,t,a.floor(s.getTime()/1e3)),t+=4),r&&Ms(e,t,a.floor(r.getTime()/1e3));try{S=new d(36);const e=Vs(S),t=Ps(n);Is(e,0,10),Is(e,2,32),Is(e,8,1),Is(e,10,24),Ls(e,12,t),Ls(e,20,Ps(s)||t),Ls(e,28,Ps(r)||t)}catch(e){S=new d}}else S=v=new d;let D=L;f&&(D|=8);let _=0;y&&(_=8);l&&(x=x>45?x:45);b&&(D|=1,u||(x=x>51?x:51,_=99,y&&(z[9]=8)));const C=new d(26),F=Vs(C);Is(F,0,x),Is(F,2,D),Is(F,4,_);const T=new p(1),E=Vs(T);let W;W=n<K?K:n>V?V:n;Is(E,0,(W.getHours()<<6|W.getMinutes())<<5|W.getSeconds()/2),Is(E,2,(W.getFullYear()-1980<<4|W.getMonth()+1)<<5|W.getDate());const U=T[0];Ms(F,6,U),Is(F,22,Ks(t));const R=Ks(z,v,S,w);Is(F,24,R);const N=new d(30+Ks(t)+R);return Ms(Vs(N),0,A),Os(N,C,4),Os(N,t,30),Os(N,z,30+Ks(t)),Os(N,v,30+Ks(t,z)),Os(N,S,30+Ks(t,z,v)),Os(N,w,30+Ks(t,z,v,S)),{localHeaderArray:N,headerArray:C,headerView:F,lastModDate:n,rawLastModDate:U,encrypted:b,compressed:y,version:x,compressionMethod:_,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:v,rawExtraFieldNTFS:S,rawExtraFieldAES:z,extraFieldLength:R}}(c),be=function(e){const{zip64:t,dataDescriptor:n,dataDescriptorSignature:s}=e;let r,a=new d,i=0;n&&(a=new d(t?s?24:20:s?16:12),r=Vs(a),s&&(i=4,Ms(r,0,U)));return{dataDescriptorArray:a,dataDescriptorView:r,dataDescriptorOffset:i}}(c),ze=Ks(ye.localHeaderArray,be.dataDescriptorArray);ie=ze+ae,n.options.usdz&&(ie+=ie+64);let Se;n.pendingEntriesSize+=ie;try{Se=await async function(n,s,a,i,o){const{files:c,writer:u}=n,{keepOrder:h,dataDescriptor:p,signal:g}=o,{headerInfo:y}=i,{usdz:b}=n.options,z=e.from(c.values()).pop();let S,k,x,D,_,C,F,E={};c.set(s,E);try{let e;h&&(e=z&&z.lock,A()),!(o.bufferedWrite||n.writerLocked||n.bufferedWrites&&h)&&p||b?(C=u,await U()):(C=new v,F=new l(C.readable).blob(),C.writable.size=0,S=!0,n.bufferedWrites++,await bn(u)),await bn(C);const{writable:m}=u;let{diskOffset:y}=u;if(n.addSplitZipSignature){delete n.addSplitZipSignature;const e=new d(4);Ms(Vs(e),0,W),await Hs(m,e),n.offset+=4}b&&function(e,t){const{headerInfo:n}=e;let{localHeaderArray:s,extraFieldLength:r}=n,a=Vs(s),i=64-(t+Ks(s))%64;i<4&&(i+=64);const o=new d(i),c=Vs(o);Is(c,0,M),Is(c,2,i-2);const l=s;n.localHeaderArray=s=new d(Ks(l)+i),Os(s,l),Os(s,o,Ks(l)),a=Vs(s),Is(a,28,r+i),e.metadataSize+=i}(i,n.offset-y),S||(await e,await R(m));const{diskNumber:k}=u;if(_=!0,E.diskNumberStart=k,E=await async function(e,n,{diskNumberStart:s,lock:a},i,o,c){const{headerInfo:l,dataDescriptorInfo:u,metadataSize:f}=i,{localHeaderArray:h,headerArray:p,lastModDate:w,rawLastModDate:g,encrypted:m,compressed:y,version:b,compressionMethod:z,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:k,rawExtraFieldAES:x}=l,{dataDescriptorArray:D}=u,{rawFilename:_,lastAccessDate:C,creationDate:F,password:E,rawPassword:A,level:W,zip64:U,zip64UncompressedSize:R,zip64CompressedSize:N,zip64Offset:H,zip64DiskNumberStart:P,zipCrypto:q,dataDescriptor:B,directory:I,versionMadeBy:M,rawComment:L,rawExtraField:O,useWebWorkers:V,onstart:K,onprogress:Z,onend:G,signal:j,encryptionStrength:J,extendedTimestamp:X,msDosCompatible:Y,internalFileAttribute:Q,externalFileAttribute:te,useCompressionStream:ne}=c,se={lock:a,versionMadeBy:M,zip64:U,directory:Boolean(I),filenameUTF8:!0,rawFilename:_,commentUTF8:!0,rawComment:L,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:k,rawExtraFieldAES:x,rawExtraField:O,extendedTimestamp:X,msDosCompatible:Y,internalFileAttribute:Q,externalFileAttribute:te,diskNumberStart:s};let re,ae=0,ie=0;const{writable:oe}=n;if(e){e.chunkSize=ee(o),await Hs(oe,h);const t=e.readable,n=t.size=e.size,s={options:{codecType:mt,level:W,rawPassword:A,password:E,encryptionStrength:J,zipCrypto:m&&q,passwordVerification:m&&q&&g>>8&255,signed:!0,compressed:y,encrypted:m,useWebWorkers:V,useCompressionStream:ne,transferStreams:!1},config:o,streamOptions:{signal:j,size:n,onstart:K,onprogress:Z,onend:G}},r=await Ut({readable:t,writable:oe},s);ie=r.inputSize,ae=r.outputSize,re=r.signature,oe.size+=ie}else await Hs(oe,h);let ce;if(U){let e=4;R&&(e+=8),N&&(e+=8),H&&(e+=8),P&&(e+=4),ce=new d(e)}else ce=new d;(function(e,t){const{signature:n,rawExtraFieldZip64:s,compressedSize:a,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:c}=e,{headerView:l,encrypted:u}=o,{dataDescriptorView:f,dataDescriptorOffset:d}=c,{zip64:h,zip64UncompressedSize:p,zip64CompressedSize:w,zipCrypto:g,dataDescriptor:m}=t;u&&!g||n===$||(Ms(l,10,n),m&&Ms(f,d,n));if(h){const e=Vs(s);Is(e,0,1),Is(e,2,Ks(s)-4);let t=4;p&&(Ms(l,18,T),Ls(e,t,r(i)),t+=8),w&&(Ms(l,14,T),Ls(e,t,r(a))),m&&(Ls(f,d+4,r(a)),Ls(f,d+12,r(i)))}else Ms(l,14,a),Ms(l,18,i),m&&(Ms(f,d+4,a),Ms(f,d+8,i))})({signature:re,rawExtraFieldZip64:ce,compressedSize:ae,uncompressedSize:ie,headerInfo:l,dataDescriptorInfo:u},c),B&&await Hs(oe,D);return t.assign(se,{uncompressedSize:ie,compressedSize:ae,lastModDate:w,rawLastModDate:g,creationDate:F,lastAccessDate:C,encrypted:m,size:f+ae,compressionMethod:z,version:b,headerArray:p,signature:re,rawExtraFieldZip64:ce,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:R,zip64CompressedSize:N,zip64Offset:H,zip64DiskNumberStart:P}),se}(a,C,E,i,n.config,o),_=!1,c.set(s,E),E.filename=s,S){await C.writable.getWriter().close();let t=await F;await e,await U(),D=!0,p||(t=await async function(e,t,n,{zipCrypto:s}){let r;r=await t.slice(0,26).arrayBuffer(),26!=r.byteLength&&(r=r.slice(0,26));const a=new w(r);e.encrypted&&!s||Ms(a,14,e.signature);e.zip64?(Ms(a,18,T),Ms(a,22,T)):(Ms(a,18,e.compressedSize),Ms(a,22,e.uncompressedSize));return await Hs(n,new d(r)),t.slice(r.byteLength)}(E,t,m,o)),await R(m),E.diskNumberStart=u.diskNumber,y=u.diskOffset,await t.stream().pipeTo(m,{preventClose:!0,preventAbort:!0,signal:g}),m.size+=t.size,D=!1}if(E.offset=n.offset-y,E.zip64)!function(e,t){const{rawExtraFieldZip64:n,offset:s,diskNumberStart:a}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:c,zip64DiskNumberStart:l}=t,u=Vs(n);let f=4;i&&(f+=8);o&&(f+=8);c&&(Ls(u,f,r(s)),f+=8);l&&Ms(u,f,a)}(E,o);else if(E.offset>T)throw new f(Es);return n.offset+=E.size,E}catch(e){if(S&&D||!S&&_){if(n.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch(e){}S?n.offset+=C.writable.size:n.offset=C.writable.size}throw c.delete(s),e}finally{S&&n.bufferedWrites--,x&&x(),k&&k()}function A(){E.lock=new m(e=>x=e)}async function U(){n.writerLocked=!0;const{lockWriter:e}=n;n.lockWriter=new m(e=>k=()=>{n.writerLocked=!1,e()}),await e}async function R(e){Ks(y.localHeaderArray)>u.availableSize&&(u.availableSize=0,await Hs(e,new d))}}(n,s,o,{headerInfo:ye,dataDescriptorInfo:be,metadataSize:ze},c)}finally{n.pendingEntriesSize-=ie}return t.assign(Se,{name:s,comment:y,extraField:re}),new Zn(Se)}(c,n,s,o),u.add(y),await y}catch(e){throw c.filenames.delete(n),e}finally{u.delete(y);const e=Us.shift();e?e():Ws--}}async close(t=new d,n={}){const{pendingAddFileCalls:s,writer:i}=this,{writable:o}=i;for(;s.size;)await m.allSettled(e.from(s));await async function(t,n,s){const{files:i,writer:o}=t,{diskOffset:c,writable:l}=o;let{diskNumber:u}=o,h=0,p=0,w=t.offset-c,g=i.size;for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:s,rawComment:r,rawExtraFieldNTFS:i,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:u}=e;let f;if(c){f=new d(9);const e=Vs(f);Is(e,0,I),Is(e,2,5),Bs(e,4,l),Ms(e,5,a.floor(u.getTime()/1e3))}else f=new d;e.rawExtraFieldCDExtendedTimestamp=f,p+=46+Ks(t,r,n,s,i,f,o)}const m=new d(p),y=Vs(m);await bn(o);let b=0;for(const[t,n]of e.from(i.values()).entries()){const{offset:e,rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldAES:c,rawExtraFieldCDExtendedTimestamp:u,rawExtraFieldNTFS:f,rawExtraField:d,rawComment:p,versionMadeBy:w,headerArray:g,directory:z,zip64:S,zip64UncompressedSize:v,zip64CompressedSize:k,zip64DiskNumberStart:x,zip64Offset:D,msDosCompatible:_,internalFileAttribute:C,externalFileAttribute:F,diskNumberStart:A,uncompressedSize:W,compressedSize:U}=n,N=Ks(a,c,u,f,d);Ms(y,h,R),Is(y,h+4,w);const H=Vs(g);v||Ms(H,18,W),k||Ms(H,14,U),Os(m,g,h+6),Is(y,h+30,N),Is(y,h+32,Ks(p)),Is(y,h+34,S&&x?E:A),Is(y,h+36,C),F?Ms(y,h+38,F):z&&_&&Bs(y,h+38,16),Ms(y,h+42,S&&D?T:e),Os(m,r,h+46),Os(m,a,h+46+Ks(r)),Os(m,c,h+46+Ks(r,a)),Os(m,u,h+46+Ks(r,a,c)),Os(m,f,h+46+Ks(r,a,c,u)),Os(m,d,h+46+Ks(r,a,c,u,f)),Os(m,p,h+46+Ks(r)+N);const P=46+Ks(r,p)+N;if(h-b>o.availableSize&&(o.availableSize=0,await Hs(l,m.slice(b,h)),b=h),h+=P,s.onprogress)try{await s.onprogress(t+1,i.size,new Zn(n))}catch(e){}}await Hs(l,b?m.slice(b):m);let z=o.diskNumber;const{availableSize:S}=o;S<q&&z++;let v=qs(t,s,"zip64");if(w>T||p>T||g>E||z>E){if(!1===v)throw new f(Es);v=!0}const k=new d(v?98:q),x=Vs(k);if(h=0,v){Ms(x,0,H),Ls(x,4,r(44)),Is(x,12,45),Is(x,14,45),Ms(x,16,z),Ms(x,20,u),Ls(x,24,r(g)),Ls(x,32,r(g)),Ls(x,40,r(p)),Ls(x,48,r(w)),Ms(x,56,P),Ls(x,64,r(w)+r(p)),Ms(x,72,z+1);qs(t,s,"supportZip64SplitFile",!0)&&(z=E,u=E),g=E,w=T,p=T,h+=76}Ms(x,h,N),Is(x,h+4,z),Is(x,h+6,u),Is(x,h+8,g),Is(x,h+10,g),Ms(x,h+12,p),Ms(x,h+16,w);const D=Ks(n);if(D){if(!(D<=E))throw new f(ks);Is(x,h+20,D)}await Hs(l,k),D&&await Hs(l,n)}(this,t,n);return qs(this,n,"preventClose")||await o.getWriter().close(),i.getData?i.getData():o}}class Ns{constructor(e={}){const{readable:t,writable:n}=new v;this.readable=t,this.zipWriter=new Rs(n,e)}transform(e){const{readable:t,writable:n}=new v({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new v;return this.zipWriter.add(e,t),n}close(e=void 0,t={}){return this.zipWriter.close(e,t)}}async function Hs(e,t){const n=e.getWriter();try{await n.ready,e.size+=Ks(t),await n.write(t)}finally{n.releaseLock()}}function Ps(e){if(e)return(r(e.getTime())+r(116444736e5))*r(1e4)}function qs(e,t,n,s){const r=t[n]===$?e.options[n]:t[n];return r===$?s:r}function Bs(e,t,n){e.setUint8(t,n)}function Is(e,t,n){e.setUint16(t,n,!0)}function Ms(e,t,n){e.setUint32(t,n,!0)}function Ls(e,t,n){e.setBigUint64(t,n,!0)}function Os(e,t,n){e.set(t,n)}function Vs(e){return new w(e.buffer)}function Ks(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}let $s;try{$s=import.meta.url}catch(e){}te({baseURL:$s}),function(e){const t=()=>u.createObjectURL(new g(['const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:i,Uint32Array:o,Int32Array:l,Map:c,DataView:h,Promise:f,TextEncoder:u,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:v,DecompressionStream:b}=self,m=void 0,_="undefined",S="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const x={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=x.getPartial(n);return 32===s?e.concat(t):x._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+x.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=x.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=x.getPartial(r);return s.push(x.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},I={bytes:{fromBits(e){const t=x.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(x.partial(8*(3&n),s)),t}}},T=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=I.utf8String.toBits(e));const n=t._buffer=x.concat(t._buffer,e),s=t._length,a=t._length=s+x.bitLength(e);if(a>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const i=new o(n);let l=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(i.subarray(16*l,16*(l+1))),l+=1;return n.splice(0,16*l),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=x.concat(t,[x.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let i=r[0],o=r[1],l=r[2],c=r[3],h=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,i)+n._f(e,o,l,c)+h+a[e]+n._key[s.floor(e/20)]|0;h=c,c=l,l=n._S(30,o),o=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+l|0,r[3]=r[3]+c|0,r[4]=r[4]+h|0}},A={getRandomValues(e){const t=new o(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;a<e.length;a+=4){const e=n(4294967296*(r||s.random()));r=987654071*e(),t[a/4]=4294967296*e()|0}return e}},q={importKey:e=>new q.hmacSha1(I.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let i,o,l,c,f;const u=new ArrayBuffer(a),p=new h(u);let d=0;const g=x;for(t=I.bytes.toBits(t),f=1;(a||1)>d;f++){for(i=o=e.encrypt(g.concat(t,[f])),l=1;n>l;l++)for(o=e.encrypt(o),c=0;c<o.length;c++)i[c]^=o[c];for(l=0;(a||1)>d&&l<i.length;l++)p.setInt32(d,i[l]),d+=4}return u.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=T,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof p!=_&&typeof p.getRandomValues==S,H="Invalid password",P="Invalid signature",B="zipjs-abort-check-password";function K(e){return R?p.getRandomValues(e):A.getRandomValues(e)}const V=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],F=10,L=[0,0,0,0],j=typeof p!=_,G=j&&p.subtle,X=j&&typeof G!=_,J=I.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let i,o,l,c=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[o=e.slice(0),l=[]],i=a;4*a+28>i;i++){let e=o[i-1];(i%a==0||8===a&&i%a==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%a==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[i]=o[i-a]^e}for(let e=0;i;e++,i--){const t=o[3&e?i:i-4];l[e]=4>=i||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let h=i=0;!n[h];h^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[h]=a,s[a]=h,c=r[l=r[o=r[h]]];let f=16843009*c^65537*l^257*o^16843008*h,u=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][h]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],i=this._tables[t],o=i[0],l=i[1],c=i[2],h=i[3],f=i[4];let u,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],v=e[t?1:3]^n[3],b=4;for(let e=0;s>e;e++)u=o[g>>>24]^l[w>>16&255]^c[y>>8&255]^h[255&v]^n[b],p=o[w>>>24]^l[y>>16&255]^c[v>>8&255]^h[255&g]^n[b+1],d=o[y>>>24]^l[v>>16&255]^c[g>>8&255]^h[255&w]^n[b+2],v=o[v>>>24]^l[g>>16&255]^c[w>>8&255]^h[255&y]^n[b+3],b+=4,g=u,w=p,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=f[g>>>24]<<24^f[w>>16&255]<<16^f[y>>8&255]<<8^f[255&v]^n[b++],u=g,g=w,w=y,y=v,v=u;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=x.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return x.clamp(t,r)}},Z=q.hmacSha1;let $=j&&X&&typeof G.importKey==S,ee=j&&X&&typeof G.deriveBits==S;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:i,checkPasswordOnly:o}){super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),signed:s,strength:i-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:i,resolveReady:l,ready:c}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,oe(s,0,N[t])),i=oe(s,N[t]);if(a[0]!=i[0]||a[1]!=i[1])throw new r(H)})(n,i,s,oe(e,0,N[i]+2)),e=oe(e,N[i]+2),o?t.error(new r(B)):l()):await c;const h=new a(e.length-F-(e.length-F)%V);t.enqueue(se(n,e,h,0,F,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:i,ready:o}=this;if(s&&n){await o;const l=oe(i,0,i.length-F),c=oe(i,i.length-F);let h=new a;if(l.length){const e=ce(J,l);s.update(e);const t=n.update(e);h=le(J,t)}if(t){const e=oe(le(J,s.digest()),0,F);for(let t=0;F>t;t++)if(e[t]!=c[t])throw new r(P)}e.enqueue(h)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:i,ready:o}=n;let l=new a;s?(l=await(async(e,t,n)=>{const s=K(new a(N[t]));return ie(s,await re(e,t,n,s))})(n,r,s),i()):await o;const c=new a(l.length+e.length-e.length%V);c.set(l,0),t.enqueue(se(n,e,c,l.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:i}=this;if(n&&t){await i;let o=new a;if(s.length){const e=t.update(ce(J,s));n.update(e),o=le(J,e)}r.signature=le(J,n.digest()).slice(0,F),e.enqueue(ie(o,r.signature))}}}),r=this}}function se(e,t,n,s,r,i){const{ctr:o,hmac:l,pending:c}=e,h=t.length-r;let f;for(c.length&&(t=ie(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,h-h%V)),f=0;h-V>=f;f+=V){const e=ce(J,oe(t,f,f+V));i&&l.update(e);const r=o.update(e);i||l.update(r),n.set(le(J,r),f+s)}return e.pending=oe(t,f),n}async function re(n,s,r,i){n.password=null;const o=await(async(e,t,n,s,r)=>{if(!$)return q.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,q.importKey(t)}})(0,r,U,0,M),l=await(async(e,t,n)=>{if(!ee)return q.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,q.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:i},W),o,8*(2*O[s]+2)),c=new a(l),h=ce(J,oe(c,0,O[s])),f=ce(J,oe(c,O[s],2*O[s])),u=oe(c,2*O[s]);return t.assign(n,{keys:{key:h,authentication:f,passwordVerification:u},ctr:new Y(new Q(h),e.from(L)),hmac:new Z(f)}),u}function ae(e,t){return t===m?(e=>{if(typeof u==_){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new u).encode(e)})(e):t}function ie(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function oe(e,t,n){return e.subarray(t,n)}function le(e,t){return e.fromBits(t)}function ce(e,t){return e.toBits(t)}class he extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=ue(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new r(H);e=e.subarray(12)}s?t.error(new r(B)):t.enqueue(ue(n,e))}})}}class fe extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=K(new a(12));t[11]=n.passwordVerification,s=new a(e.length+t.length),s.set(pe(n,t),0),r=12}else s=new a(e.length),r=0;s.set(pe(n,e),r),t.enqueue(s)}})}}function ue(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,n[s]);return n}function pe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,t[s]);return n}function de(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new D(s[0]),crcKey2:new D(s[2])});for(let t=0;t<n.length;t++)ge(e,n.charCodeAt(t))}function ge(e,t){let[n,r,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=ve(s.imul(ve(r+ye(n)),134775813)+1),e.crcKey2.append([r>>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function ve(e){return 4294967295&e}const be="deflate-raw";class me extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,f=this;let u,p,d=Se(super.readable);a&&!o||!l||(u=new C,d=De(d,u)),r&&(d=ze(d,i,{level:c,chunkSize:t},s,n)),a&&(o?d=De(d,new fe(e)):(p=new ne(e),d=De(d,p))),ke(f,d,(()=>{let e;a&&!o&&(e=p.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),f.signature=e}))}}class _e extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:c,useCompressionStream:f}=e;let u,p,d=Se(super.readable);i&&(a?d=De(d,new he(e)):(p=new te(e),d=De(d,p))),c&&(d=ze(d,f,{chunkSize:t},s,n)),i&&!a||!o||(u=new C,d=De(d,u)),ke(this,d,(()=>{if((!i||a)&&o){const e=new h(u.value.buffer);if(l!=e.getUint32(0,!1))throw new r(P)}}))}}function Se(e){return De(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ke(e,n,s){n=De(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ze(e,t,n,s,r){try{e=De(e,new(t&&s?s:r)(be,n))}catch(s){if(!t)return e;try{e=De(e,new r(be,n))}catch(t){return e}}return e}function De(e,t){return e.pipeThrough(t)}const Ce="data",xe="close";class Ie extends g{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=me:r.startsWith("inflate")&&(a=_e);let i=0,o=0;const l=new a(e,n),c=super.readable,h=new g({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:o})}}),f=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;t.assign(s,{signature:e,outputSize:i,inputSize:o})}});t.defineProperty(s,"readable",{get:()=>c.pipeThrough(h).pipeThrough(l).pipeThrough(f)})}}class Te extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const Ae=new c,qe=new c;let Re,He=0,Pe=!0;async function Be(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Pe?importScripts.apply(m,s):await Ke(s)}catch(e){Pe=!1,await Ke(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},i=e.readable||new w({async pull(e){const t=new f((e=>Ae.set(He,e)));Ve({type:"pull",messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),o=e.writable||new y({async write(e){let t;const s=new f((e=>t=e));qe.set(He,t),Ve({type:Ce,value:e,messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER,await s}},a),l=new Ie(t,r);Re=new AbortController;const{signal:c}=Re;await i.pipeThrough(l).pipeThrough(new Te(r.chunkSize)).pipeTo(o,{signal:c,preventClose:!0,preventAbort:!0}),await o.getWriter().close();const{signature:h,inputSize:u,outputSize:p}=l;Ve({type:xe,result:{signature:h,inputSize:u,outputSize:p}})}catch(e){Ee(e)}}async function Ke(e){for(const t of e)await import(t)}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ee(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a}=e;d({error:{message:t,stack:n,code:s,name:a}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Be(e),t==Ce){const e=Ae.get(n);Ae.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=qe.get(n);qe.delete(n),e()}t==xe&&Re.abort()}catch(e){Ee(e)}}));var Ue=a,We=i,Me=l,Ne=new Ue([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Oe=new Ue([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fe=new Ue([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Le=(e,t)=>{for(var n=new We(31),s=0;31>s;++s)n[s]=t+=1<<e[s-1];var r=new Me(n[30]);for(s=1;30>s;++s)for(var a=n[s];a<n[s+1];++a)r[a]=a-n[s]<<5|s;return{b:n,r:r}},je=Le(Ne,2),Ge=je.b,Xe=je.r;Ge[28]=258,Xe[258]=28;for(var Je=Le(Oe,0),Qe=Je.b,Ye=Je.r,Ze=new We(32768),$e=0;32768>$e;++$e){var et=(43690&$e)>>1|(21845&$e)<<1;et=(61680&(et=(52428&et)>>2|(13107&et)<<2))>>4|(3855&et)<<4,Ze[$e]=((65280&et)>>8|(255&et)<<8)>>1}var tt=(e,t,n)=>{for(var s=e.length,r=0,a=new We(t);s>r;++r)e[r]&&++a[e[r]-1];var i,o=new We(t);for(r=1;t>r;++r)o[r]=o[r-1]+a[r-1]<<1;if(n){i=new We(1<<t);var l=15-t;for(r=0;s>r;++r)if(e[r])for(var c=r<<4|e[r],h=t-e[r],f=o[e[r]-1]++<<h,u=f|(1<<h)-1;u>=f;++f)i[Ze[f]>>l]=c}else for(i=new We(s),r=0;s>r;++r)e[r]&&(i[r]=Ze[o[e[r]-1]++]>>15-e[r]);return i},nt=new Ue(288);for($e=0;144>$e;++$e)nt[$e]=8;for($e=144;256>$e;++$e)nt[$e]=9;for($e=256;280>$e;++$e)nt[$e]=7;for($e=280;288>$e;++$e)nt[$e]=8;var st=new Ue(32);for($e=0;32>$e;++$e)st[$e]=5;var rt=tt(nt,9,0),at=tt(nt,9,1),it=tt(st,5,0),ot=tt(st,5,1),lt=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},ct=(e,t,n)=>{var s=t/8|0;return(e[s]|e[s+1]<<8)>>(7&t)&n},ht=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},ft=e=>(e+7)/8|0,ut=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new Ue(e.subarray(t,n))),pt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],dt=(e,t,n)=>{var s=new r(t||pt[e]);if(s.code=e,r.captureStackTrace&&r.captureStackTrace(s,dt),!n)throw s;return s},gt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8},wt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8,e[s+2]|=n>>16},yt=(e,t)=>{for(var n=[],s=0;s<e.length;++s)e[s]&&n.push({s:s,f:e[s]});var r=n.length,a=n.slice();if(!r)return{t:zt,l:0};if(1==r){var i=new Ue(n[0].s+1);return i[n[0].s]=1,{t:i,l:1}}n.sort(((e,t)=>e.f-t.f)),n.push({s:-1,f:25001});var o=n[0],l=n[1],c=0,h=1,f=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};h!=r-1;)o=n[n[c].f<n[f].f?c++:f++],l=n[c!=h&&n[c].f<n[f].f?c++:f++],n[h++]={s:-1,f:o.f+l.f,l:o,r:l};var u=a[0].s;for(s=1;r>s;++s)a[s].s>u&&(u=a[s].s);var p=new We(u+1),d=vt(n[h-1],p,0);if(d>t){s=0;var g=0,w=d-t,y=1<<w;for(a.sort(((e,t)=>p[t.s]-p[e.s]||e.f-t.f));r>s;++s){var v=a[s].s;if(p[v]<=t)break;g+=y-(1<<d-p[v]),p[v]=t}for(g>>=w;g>0;){var b=a[s].s;p[b]<t?g-=1<<t-p[b]++-1:++s}for(;s>=0&&g;--s){var m=a[s].s;p[m]==t&&(--p[m],++g)}d=t}return{t:new Ue(p),l:d}},vt=(e,t,n)=>-1==e.s?s.max(vt(e.l,t,n+1),vt(e.r,t,n+1)):t[e.s]=n,bt=e=>{for(var t=e.length;t&&!e[--t];);for(var n=new We(++t),s=0,r=e[0],a=1,i=e=>{n[s++]=e},o=1;t>=o;++o)if(e[o]==r&&o!=t)++a;else{if(!r&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(r),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(r);a=1,r=e[o]}return{c:n.subarray(0,s),n:t}},mt=(e,t)=>{for(var n=0,s=0;s<t.length;++s)n+=e[s]*t[s];return n},_t=(e,t,n)=>{var s=n.length,r=ft(t+2);e[r]=255&s,e[r+1]=s>>8,e[r+2]=255^e[r],e[r+3]=255^e[r+1];for(var a=0;s>a;++a)e[r+a+4]=n[a];return 8*(r+4+s)},St=(e,t,n,s,r,a,i,o,l,c,h)=>{gt(t,h++,n),++r[256];for(var f=yt(r,15),u=f.t,p=f.l,d=yt(a,15),g=d.t,w=d.l,y=bt(u),v=y.c,b=y.n,m=bt(g),_=m.c,S=m.n,k=new We(19),z=0;z<v.length;++z)++k[31&v[z]];for(z=0;z<_.length;++z)++k[31&_[z]];for(var D=yt(k,7),C=D.t,x=D.l,I=19;I>4&&!C[Fe[I-1]];--I);var T,A,q,R,H=c+5<<3,P=mt(r,nt)+mt(a,st)+i,B=mt(r,u)+mt(a,g)+i+14+3*I+mt(k,C)+2*k[16]+3*k[17]+7*k[18];if(l>=0&&P>=H&&B>=H)return _t(t,h,e.subarray(l,l+c));if(gt(t,h,1+(P>B)),h+=2,P>B){T=tt(u,p,0),A=u,q=tt(g,w,0),R=g;var K=tt(C,x,0);for(gt(t,h,b-257),gt(t,h+5,S-1),gt(t,h+10,I-4),h+=14,z=0;I>z;++z)gt(t,h+3*z,C[Fe[z]]);h+=3*I;for(var V=[v,_],E=0;2>E;++E){var U=V[E];for(z=0;z<U.length;++z){var W=31&U[z];gt(t,h,K[W]),h+=C[W],W>15&&(gt(t,h,U[z]>>5&127),h+=U[z]>>12)}}}else T=rt,A=nt,q=it,R=st;for(z=0;o>z;++z){var M=s[z];if(M>255){wt(t,h,T[257+(W=M>>18&31)]),h+=A[W+257],W>7&&(gt(t,h,M>>23&31),h+=Ne[W]);var N=31&M;wt(t,h,q[N]),h+=R[N],N>3&&(wt(t,h,M>>5&8191),h+=Oe[N])}else wt(t,h,T[M]),h+=A[M]}return wt(t,h,T[256]),h+A[256]},kt=new Me([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),zt=new Ue(0),Dt=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ue(98304),this.o.dictionary){var n=this.o.dictionary.subarray(-32768);this.b.set(n,32768-n.length),this.s.i=32768-n.length}}return e.prototype.p=function(e,t){this.ondata(((e,t,n,r,a)=>{if(!a&&(a={l:1},t.dictionary)){var i=t.dictionary.subarray(-32768),o=new Ue(i.length+e.length);o.set(i),o.set(e,i.length),e=o,a.w=i.length}return((e,t,n,r,a,i)=>{var o=i.z||e.length,l=new Ue(0+o+5*(1+s.ceil(o/7e3))+0),c=l.subarray(0,l.length-0),h=i.l,f=7&(i.r||0);if(t){f&&(c[0]=i.r>>3);for(var u=kt[t-1],p=u>>13,d=8191&u,g=(1<<n)-1,w=i.p||new We(32768),y=i.h||new We(g+1),v=s.ceil(n/3),b=2*v,m=t=>(e[t]^e[t+1]<<v^e[t+2]<<b)&g,_=new Me(25e3),S=new We(288),k=new We(32),z=0,D=0,C=i.i||0,x=0,I=i.w||0,T=0;o>C+2;++C){var A=m(C),q=32767&C,R=y[A];if(w[q]=R,y[A]=q,C>=I){var H=o-C;if((z>7e3||x>24576)&&(H>423||!h)){f=St(e,c,0,_,S,k,D,x,T,C-T,f),x=z=D=0,T=C;for(var P=0;286>P;++P)S[P]=0;for(P=0;30>P;++P)k[P]=0}var B=2,K=0,V=d,E=q-R&32767;if(H>2&&A==m(C-E))for(var U=s.min(p,H)-1,W=s.min(32767,C),M=s.min(258,H);W>=E&&--V&&q!=R;){if(e[C+B]==e[C+B-E]){for(var N=0;M>N&&e[C+N]==e[C+N-E];++N);if(N>B){if(B=N,K=E,N>U)break;var O=s.min(E,N-2),F=0;for(P=0;O>P;++P){var L=C-E+P&32767,j=L-w[L]&32767;j>F&&(F=j,R=L)}}}E+=(q=R)-(R=w[q])&32767}if(K){_[x++]=268435456|Xe[B]<<18|Ye[K];var G=31&Xe[B],X=31&Ye[K];D+=Ne[G]+Oe[X],++S[257+G],++k[X],I=C+B,++z}else _[x++]=e[C],++S[e[C]]}}for(C=s.max(C,I);o>C;++C)_[x++]=e[C],++S[e[C]];f=St(e,c,h,_,S,k,D,x,T,C-T,f),h||(i.r=7&f|c[f/8|0]<<3,f-=7,i.h=y,i.p=w,i.i=C,i.w=I)}else{for(C=i.w||0;o+h>C;C+=65535){var J=C+65535;o>J||(c[f/8|0]=h,J=o),f=_t(c,f+1,e.subarray(C,J))}i.i=o}return ut(l,0,0+ft(f)+0)})(e,null==t.level?6:t.level,null==t.mem?a.l?s.ceil(1.5*s.max(8,s.min(13,s.log(e.length)))):20:12+t.mem,0,0,a)})(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||dt(5),this.s.l&&dt(4);var n=e.length+this.s.z;if(n>this.b.length){if(n>2*this.b.length-32768){var s=new Ue(-32768&n);s.set(this.b.subarray(0,this.s.z)),this.b=s}var r=this.b.length-this.s.z;this.b.set(e.subarray(0,r),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(r),32768),this.s.z=e.length-r+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||dt(5),this.s.l&&dt(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),Ct=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new Ue(32768),this.p=new Ue(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||dt(5),this.d&&dt(4),this.p.length){if(e.length){var t=new Ue(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=((e,t,n)=>{var r=e.length;if(!r||t.f&&!t.l)return n||new Ue(0);var a=!n,i=a||2!=t.i,o=t.i;a&&(n=new Ue(3*r));var l=e=>{var t=n.length;if(e>t){var r=new Ue(s.max(2*t,e));r.set(n),n=r}},c=t.f||0,h=t.p||0,f=t.b||0,u=t.l,p=t.d,d=t.m,g=t.n,w=8*r;do{if(!u){c=ct(e,h,1);var y=ct(e,h+1,3);if(h+=3,!y){var v=e[(T=ft(h)+4)-4]|e[T-3]<<8,b=T+v;if(b>r){o&&dt(0);break}i&&l(f+v),n.set(e.subarray(T,b),f),t.b=f+=v,t.p=h=8*b,t.f=c;continue}if(1==y)u=at,p=ot,d=9,g=5;else if(2==y){var m=ct(e,h,31)+257,_=ct(e,h+10,15)+4,S=m+ct(e,h+5,31)+1;h+=14;for(var k=new Ue(S),z=new Ue(19),D=0;_>D;++D)z[Fe[D]]=ct(e,h+3*D,7);h+=3*_;var C=lt(z),x=(1<<C)-1,I=tt(z,C,1);for(D=0;S>D;){var T,A=I[ct(e,h,x)];if(h+=15&A,16>(T=A>>4))k[D++]=T;else{var q=0,R=0;for(16==T?(R=3+ct(e,h,3),h+=2,q=k[D-1]):17==T?(R=3+ct(e,h,7),h+=3):18==T&&(R=11+ct(e,h,127),h+=7);R--;)k[D++]=q}}var H=k.subarray(0,m),P=k.subarray(m);d=lt(H),g=lt(P),u=tt(H,d,1),p=tt(P,g,1)}else dt(1);if(h>w){o&&dt(0);break}}i&&l(f+131072);for(var B=(1<<d)-1,K=(1<<g)-1,V=h;;V=h){var E=(q=u[ht(e,h)&B])>>4;if((h+=15&q)>w){o&&dt(0);break}if(q||dt(2),256>E)n[f++]=E;else{if(256==E){V=h,u=null;break}var U=E-254;if(E>264){var W=Ne[D=E-257];U=ct(e,h,(1<<W)-1)+Ge[D],h+=W}var M=p[ht(e,h)&K],N=M>>4;if(M||dt(3),h+=15&M,P=Qe[N],N>3&&(W=Oe[N],P+=ht(e,h)&(1<<W)-1,h+=W),h>w){o&&dt(0);break}i&&l(f+131072);var O=f+U;if(P>f){var F=0-P,L=s.min(P,O);for(0>F+f&&dt(3);L>f;++f)n[f]=(void 0)[F+f]}for(;O>f;++f)n[f]=n[f-P]}}t.l=u,t.p=V,t.b=f,t.f=c,u&&(c=1,t.m=d,t.d=p,t.n=g)}while(!c);return f!=n.length&&a?ut(n,0,f):n.subarray(0,f)})(this.p,this.s,this.o);this.ondata(ut(n,t,this.s.b),this.d),this.o=ut(n,this.s.b-32768),this.s.b=this.o.length,this.p=ut(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),xt="undefined"!=typeof TextDecoder&&new TextDecoder;try{xt.decode(zt,{stream:!0})}catch(e){}function It(e,n,s){return class{constructor(r){const i=this;var o,l;o=r,l="level",(typeof t.hasOwn===S?t.hasOwn(o,l):o.hasOwnProperty(l))&&r.level===m&&delete r.level,i.codec=new e(t.assign({},n,r)),s(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new a(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new a(e)}))}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}const{Deflate:Tt,Inflate:At}=((e,t={},n)=>({Deflate:It(e.Deflate,t.deflate,n),Inflate:It(e.Inflate,t.inflate,n)}))({Deflate:Dt,Inflate:Ct},m,((e,t)=>e.ondata=t));self.initCodec=()=>{self.Deflate=Tt,self.Inflate=At};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}})}(te);export{jt as BlobReader,Jt as BlobWriter,Zt as Data64URIReader,Gt as Data64URIWriter,Gn as ERR_BAD_FORMAT,Xn as ERR_CENTRAL_DIRECTORY_NOT_FOUND,vs as ERR_DUPLICATED_NAME,es as ERR_ENCRYPTED,Jn as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,jn as ERR_EOCDR_NOT_FOUND,Qn as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Pt as ERR_HTTP_RANGE,ks as ERR_INVALID_COMMENT,Cs as ERR_INVALID_ENCRYPTION_STRENGTH,xs as ERR_INVALID_ENTRY_COMMENT,Ds as ERR_INVALID_ENTRY_NAME,Ts as ERR_INVALID_EXTRAFIELD_DATA,Fs as ERR_INVALID_EXTRAFIELD_TYPE,ye as ERR_INVALID_PASSWORD,be as ERR_INVALID_SIGNATURE,_s as ERR_INVALID_VERSION,qt as ERR_ITERATOR_COMPLETED_TOO_SOON,Yn as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ss as ERR_SPLIT_ZIP_FILE,ns as ERR_UNSUPPORTED_COMPRESSION,ts as ERR_UNSUPPORTED_ENCRYPTION,Es as ERR_UNSUPPORTED_FORMAT,pn as HttpRangeReader,hn as HttpReader,Kt as Reader,mn as SplitDataReader,yn as SplitDataWriter,kn as SplitZipReader,xn as SplitZipWriter,Xt as TextReader,Yt as TextWriter,wn as Uint8ArrayReader,gn as Uint8ArrayWriter,$t as Writer,cs as ZipReader,ls as ZipReaderStream,Rs as ZipWriter,Ns as ZipWriterStream,te as configure,se as getMimeType,zn as initReader,re as initShimAsyncCodec,bn as initStream,Sn as initWriter,vn as readUint8Array,Nt as terminateWorkers};
|