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