p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>1){case 0:w>>>=3,p-=3,d=7&p,w>>>=d,p-=d,r=1;break;case 1:k=[],v=[],R=[[]],E=[[]],j.inflate_trees_fixed(k,v,R,E),f.init(k[0],v[0],R[0],0,E[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,e.msg="invalid block type",t=H,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t)}break;case 1:for(;32>p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<
>>16&65535)!=(65535&w))return r=9,e.msg="invalid stored block lengths",t=H,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);a=65535&w,w=p=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);if(0===x&&(y==n.end&&0!==n.read&&(y=0,x=yb&&(d=b),d>x&&(d=x),n.win.set(e.read_buf(g,d),y),g+=d,b-=d,y+=d,x-=d,0!=(a-=d))break;r=0!==u?7:0;break;case 3:for(;14>p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<29||(d>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=H,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);if(d=258+(31&d)+(d>>5&31),!i||i.lengthm;m++)i[m]=0;w>>>=14,p-=14,o=0,r=4;case 4:for(;4+(s>>>10)>o;){for(;3>p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>=3,p-=3}for(;19>o;)i[J[o++]]=0;if(l[0]=7,d=_.inflate_trees_bits(i,l,c,h,e),0!=d)return(t=d)==H&&(i=null,r=9),n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);o=0,r=5;case 5:for(;d=s,258+(31&d)+(d>>5&31)>o;){let a,f;for(d=l[0];d>p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<
f)w>>>=d,p-=d,i[o++]=f;else{for(m=18==f?7:f-14,a=18==f?11:3;d+m>p;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<
>>=d,p-=d,a+=w&P[m],w>>>=m,p-=m,m=o,d=s,m+a>258+(31&d)+(d>>5&31)||16==f&&1>m)return i=null,r=9,e.msg="invalid bit length repeat",t=H,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);f=16==f?i[m-1]:0;do{i[m++]=f}while(0!=--a);o=m}}if(c[0]=-1,D=[],A=[],F=[],S=[],D[0]=9,A[0]=6,d=s,d=_.inflate_trees_dynamic(257+(31&d),1+(d>>5&31),i,D,A,F,S,h,e),0!=d)return d==H&&(i=null,r=9),t=d,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,n.inflate_flush(e,t);f.init(D[0],A[0],h,F[0],h,S[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=y,1!=(t=f.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,f.free(e),g=e.next_in_index,b=e.avail_in,w=n.bitb,p=n.bitk,y=n.write,x=y{n.reset(e,null),n.win=null,h=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>1==r?1:0}const $=13,ee=[0,0,255,255];function te(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):N}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,0),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),N):(e.wbits=i,n.istate.blocks=new Q(n,1<{let n,i;if(!e||!e.istate||!e.next_in)return N;const r=e.istate;for(t=4==t?O:0,n=O;;)switch(r.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=$,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=$,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=$,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=$,e.msg="need dictionary",r.marker=0,N;case 7:if(n=r.blocks.proc(e,n),n==H){r.mode=$,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,1;case $:return H;default:return N}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return N;const a=e.istate;return r<1<{let n,i,r,a,s;if(!e||!e.istate)return N;const o=e.istate;if(o.mode!=$&&(o.mode=$,o.marker=0),0===(n=e.avail_in))return O;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==ee[r]?r++:r=0!==e.read_byte(i)?0:4-r,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,o.marker=r,4!=r?H:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,0)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():N}function ne(){}ne.prototype={inflateInit:function(e){const t=this;return t.istate=new te,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):N},inflateEnd:function(){const e=this;if(!e.istate)return N;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):N},inflateSetDictionary:function(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):N},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const ie={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},re=n.assign({},ie);function ae(){return re}function se(e){if(void 0!==e.baseURL&&(re.baseURL=e.baseURL),void 0!==e.chunkSize&&(re.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(re.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(re.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(re.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(re.Deflate=e.Deflate),void 0!==e.Inflate&&(re.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!t.isArray(e.workerScripts.deflate))throw new c("workerScripts.deflate must be an array");re.workerScripts||(re.workerScripts={}),re.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!t.isArray(e.workerScripts.inflate))throw new c("workerScripts.inflate must be an array");re.workerScripts||(re.workerScripts={}),re.workerScripts.inflate=e.workerScripts.inflate}}}const oe=[];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;oe[e]=t}class le{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^oe[255&(t^e[n])];this.crc=t}get(){return~this.crc}}function ce(e){if(void 0===p){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n0&&t&&(e[n-1]=de.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,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=de.getPartial(r);return i.push(de.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},fe={bytes:{fromBits(e){const t=de.bitLength(e)/8,n=new d(t);let i;for(let r=0;t>r;r++)0==(3&r)&&(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const a=new u(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=de.concat(t,[de.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},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:(e,t,n,i)=>e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i,_S:(e,t)=>t<>>32-e,_block:function(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let s=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,s)+n._f(e,o,l,c)+d+r[e]+n._key[a.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=s,s=t}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}};const he={getRandomValues(e){const t=new u(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)*(a.random()>.5?1:-1))};for(let i,r=0;rnew _e.hmacSha1(fe.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,d;const f=new ArrayBuffer(r);let u=new h(f),_=0;const w=de;for(t=fe.bytes.toBits(t),d=1;(r||1)>_;d++){for(a=s=e.encrypt(w.concat(t,[d])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l_&&or&&(e=n.hash(e));for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[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 c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},we="Invalid pasword",pe=16,ge={name:"PBKDF2"},be=n.assign({hash:{name:"HMAC"}},ge),ye=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ge),xe=["deriveBits"],me=[8,12,16],ke=[16,24,32],ve=10,Re=[0,0,0,0],Ee=void 0!==x,De=Ee&&void 0!==x.subtle,Ae=fe.bytes,Fe=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[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^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[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],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=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 c("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],d=a[3],f=a[4];let u,h,_,w=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],b=e[t?1:3]^n[3],y=4;for(let e=0;i>e;e++)u=s[w>>>24]^o[p>>16&255]^l[g>>8&255]^d[255&b]^n[y],h=s[p>>>24]^o[g>>16&255]^l[b>>8&255]^d[255&w]^n[y+1],_=s[g>>>24]^o[b>>16&255]^l[w>>8&255]^d[255&p]^n[y+2],b=s[b>>>24]^o[w>>16&255]^l[p>>8&255]^d[255&g]^n[y+3],y+=4,w=u,p=h,g=_;for(let e=0;4>e;e++)r[t?3&-e:e]=f[w>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[255&b]^n[y++],u=w,w=p,p=g,g=b,b=u;return r}},Se=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,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}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 i;if(!(i=t.length))return[];const r=de.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return de.clamp(t,r)}},ze=_e.hmacSha1;class Te{constructor(e,t,i){n.assign(this,{password:e,signed:t,strength:i-1,pendingInput:new d(0)})}async append(e){const n=this;if(n.password){const i=Ie(e,0,me[n.strength]+2);await(async(e,t,n)=>{await Be(e,n,Ie(t,0,me[e.strength]));const i=Ie(t,me[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new c(we)})(n,i,n.password),n.password=null,n.aesCtrGladman=new Se(new Fe(n.keys.key),t.from(Re)),n.hmac=new ze(n.keys.authentication),e=Ie(e,me[n.strength]+2)}return Ce(n,e,new d(e.length-ve-(e.length-ve)%pe),0,ve,!0)}flush(){const e=this,t=e.pendingInput,n=Ie(t,0,t.length-ve),i=Ie(t,t.length-ve);let r=new d(0);if(n.length){const t=Ae.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=Ae.fromBits(i)}let a=!0;if(e.signed){const t=Ie(Ae.fromBits(e.hmac.digest()),0,ve);for(let e=0;ve>e;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class Ue{constructor(e,t){n.assign(this,{password:e,strength:t-1,pendingInput:new d(0)})}async append(e){const n=this;let i=new d(0);n.password&&(i=await(async(e,t)=>{const n=(i=new d(me[e.strength]),Ee&&"function"==typeof x.getRandomValues?x.getRandomValues(i):he.getRandomValues(i));var i;return await Be(e,t,n),We(n,e.keys.passwordVerification)})(n,n.password),n.password=null,n.aesCtrGladman=new Se(new Fe(n.keys.key),t.from(Re)),n.hmac=new ze(n.keys.authentication));const r=new d(i.length+e.length-e.length%pe);return r.set(i,0),Ce(n,e,r,i.length,0)}flush(){const e=this;let t=new d(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(Ae.toBits(e.pendingInput));e.hmac.update(n),t=Ae.fromBits(n)}const n=Ie(Ae.fromBits(e.hmac.digest()),0,ve);return{data:We(t,n),signature:n}}}function Ce(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=We(e.pendingInput,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,s-s%pe)),o=0;s-pe>=o;o+=pe){const r=Ae.toBits(Ie(t,o,o+pe));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(Ae.fromBits(s),o+i)}return e.pendingInput=Ie(t,o),n}async function Be(e,t,i){const r=ce(t),a=await(async(e,t,n,i,r)=>Ee&&De&&"function"==typeof x.subtle.importKey?x.subtle.importKey("raw",t,n,!1,r):_e.importKey(t))(0,r,be,0,xe),s=await(async(e,t,n)=>Ee&&De&&"function"==typeof x.subtle.deriveBits?await x.subtle.deriveBits(e,t,n):_e.pbkdf2(t,e.salt,ye.iterations,n))(n.assign({salt:i},ye),a,8*(2*ke[e.strength]+2)),o=new d(s);e.keys={key:Ae.toBits(Ie(o,0,ke[e.strength])),authentication:Ae.toBits(Ie(o,ke[e.strength],2*ke[e.strength])),passwordVerification:Ie(o,2*ke[e.strength])}}function We(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 Ie(e,t,n){return e.subarray(t,n)}class Me{constructor(e,t){n.assign(this,{password:e,passwordVerification:t}),Oe(this,e)}append(e){const t=this;if(t.password){const n=Ne(t,e.subarray(0,12));if(t.password=null,n[11]!=t.passwordVerification)throw new c(we);e=e.subarray(12)}return Ne(t,e)}flush(){return{valid:!0,data:new d(0)}}}class Le{constructor(e,t){n.assign(this,{password:e,passwordVerification:t}),Oe(this,e)}append(e){const t=this;let n,i;if(t.password){t.password=null;const r=x.getRandomValues(new d(12));r[11]=t.passwordVerification,n=new d(e.length+r.length),n.set(He(t,r),0),i=12}else n=new d(e.length),i=0;return n.set(He(t,e),i),n}flush(){return{data:new d(0)}}}function Ne(e,t){const n=new d(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function Ve(e){const t=2|e.keys[2];return qe(a.imul(t,1^t)>>>8)}function qe(e){return 255&e}function Ze(e){return 4294967295&e}const Ke="deflate",Ge="inflate",Ye="Invalid signature";class je{constructor(e,{signature:t,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l},{chunkSize:c}){const d=!!i;n.assign(this,{signature:t,encrypted:d,signed:r,compressed:a,inflate:a&&new e({chunkSize:c}),crc32:r&&new le,zipCrypto:s,decrypt:d&&s?new Me(i,o):new Te(i,r,l)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new d(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new c(Ye);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new h(new d(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new c(Ye)}return e.compressed&&(n=await e.inflate.append(n)||new d(0),await e.inflate.flush()),{data:n,signature:t}}}class Xe{constructor(e,{encrypted:t,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c},{chunkSize:d}){n.assign(this,{encrypted:t,signed:i,compressed:r,deflate:r&&new e({level:a||5,chunkSize:d}),crc32:i&&new le,zipCrypto:s,encrypt:t&&s?new Le(o,l):new Ue(o,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new d(0);if(e.compressed&&(n=await e.deflate.flush()||new d(0)),e.encrypted){n=await e.encrypt.append(n);const i=e.encrypt.flush();t=i.signature;const r=new d(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Je="init",Qe="append",$e="flush";let et=!0;var tt=(e,t,i,r,a,s,o)=>(n.assign(e,{busy:!0,codecConstructor:t,options:n.assign({},i),scripts:o,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,a(e)}}),s?((e,t)=>{let n;const i={type:"module"};if(!e.interface){if(et)try{e.worker=r({},t.baseURL)}catch(n){et=!1,e.worker=r(i,t.baseURL)}else e.worker=r(i,t.baseURL);e.worker.addEventListener("message",(t=>{const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new c(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Je||r==$e||r==Qe){const t=i.data;r==$e?(n.resolve({data:new d(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new d(t))}}}),!1),e.interface={append:e=>a({type:Qe,data:e}),flush:()=>a({type:$e}),abort(){e.onTaskFinished()}}}return e.interface;function r(t,n){let i,r;i=e.scripts[0],"function"==typeof i&&(i=i());try{r=new l(i,n)}catch(e){r=i}return new Worker(r,t)}async function a(i){if(!n){const n=e.options,i=e.scripts.slice(1);await s({scripts:i,type:Je,options:n,config:{chunkSize:t.chunkSize}})}return s(i)}function s(t){const i=e.worker,r=new w(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}})(e,r):((e,t)=>{const n=((e,t,n)=>t.codecType.startsWith(Ke)?new Xe(e,t,n):t.codecType.startsWith(Ge)?new je(e,t,n):void 0)(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}},abort(){e.onTaskFinished()}}})(e,r));let nt=[],it=[];function rt(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(nt.length!e.busy));return s?(at(s),tt(s,e,t,n,a,i,r)):new w((n=>it.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(it.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=it.splice(0,1);t(tt(e,i,r,n,a,s,o))}else e.worker?(at(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{nt=nt.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):nt=nt.filter((t=>t!=e))}}function at(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const st="Abort error";async function ot(e,t,n,i,r,s,o){const l=a.max(s.chunkSize,64);return async function s(c=0,d=0){const f=o.signal;if(r>c){lt(f,e);const u=await t.readUint8Array(c+i,a.min(l,r-c)),h=u.length;lt(f,e);const _=await e.append(u);if(lt(f,e),d+=await ct(n,_),o.onprogress)try{o.onprogress(c+h,r)}catch(e){}return s(c+l,d)}{const t=await e.flush();return d+=await ct(n,t.data),{signature:t.signature,length:d}}}()}function lt(e,t){if(e&&e.aborted)throw t.abort(),new c(st)}async function ct(e,t){return t.length&&await e.writeUint8Array(t),t.length}const dt="HTTP error ",ft="HTTP Range not supported",ut="text/plain",ht="GET";class _t{constructor(){this.size=0}init(){this.initialized=!0}}class wt extends _t{}class pt extends _t{writeUint8Array(e){this.size+=e.length}}class gt extends wt{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){if(this.blob.arrayBuffer)return new d(await this.blob.slice(e,e+t).arrayBuffer());{const n=new b;return new w(((i,r)=>{n.onload=e=>i(new d(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}}class bt extends pt{constructor(e){super(),this.contentType=e,this.arrayBuffersMaxlength=8,yt(this)}async writeUint8Array(e){super.writeUint8Array(e),this.arrayBuffers.length==this.arrayBuffersMaxlength&&xt(this),this.arrayBuffers.push(e.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&xt(this),this.blob=this.pendingBlob,yt(this)),this.blob}}function yt(e){e.pendingBlob=new _([],{type:e.contentType}),e.arrayBuffers=[]}function xt(e){e.pendingBlob=new _([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}class mt extends wt{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=n.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){super.init(),await vt(this,Tt,At)}async readUint8Array(e,t){return Rt(this,e,t,Tt,At)}}class kt extends wt{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=t}async init(){super.init(),await vt(this,Ut,Ft)}async readUint8Array(e,t){return Rt(this,e,t,Ut,Ft)}}async function vt(e,t,n){if((e=>{if(void 0!==y){const t=y.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)})(e.url)&&(e.useRangeHeader||e.forceRangeRequests)){const i=await t(ht,e,Et(e));if(!e.forceRangeRequests&&"bytes"!=i.headers.get("Accept-Ranges"))throw new c(ft);{let r;const a=i.headers.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(r=Number(t))}}void 0===r?await zt(e,t,n):e.size=r}}else await zt(e,t,n)}async function Rt(e,t,n,i,r){if(e.useRangeHeader||e.forceRangeRequests){const r=await i(ht,e,Et(e,t,n));if(206!=r.status)throw new c(ft);return new d(await r.arrayBuffer())}return e.data||await r(e,e.options),new d(e.data.subarray(t,t+n))}function Et(e,t=0,i=1){return n.assign({},Dt(e),{Range:"bytes="+t+"-"+(t+i-1)})}function Dt(e){let t=e.options.headers;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function At(e){await St(e,Tt)}async function Ft(e){await St(e,Ut)}async function St(e,t){const n=await t(ht,e,Dt(e));e.data=new d(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function zt(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t("HEAD",e,Dt(e))).headers.get("Content-Length");i?e.size=Number(i):await n(e,e.options)}}async function Tt(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw new c(dt+(a.statusText||a.status))}function Ut(e,{url:t},i){return new w(((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",(()=>{if(400>s.status){const e=[];s.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:s.status,arrayBuffer:()=>s.response,headers:new o(e)})}else a(new c(dt+(s.statusText||s.status)))}),!1),s.addEventListener("error",(e=>a(e.detail.error)),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()}))}class Ct extends wt{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new kt(e,t):this.reader=new mt(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}const Bt=4294967295,Wt=65535,It=67324752,Mt=33639248,Lt=101075792,Nt=117853008,Ht=21589,Ot=2048,Pt="/",Vt=new s(2107,11,31),qt=new s(1980,0,1),Zt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");async function Kt(e,t){if(t&&"cp437"==t.trim().toLowerCase())return(e=>{let t="";for(let n=0;n{t.onload=e=>n(e.target.result),t.onerror=()=>i(t.error),t.readAsText(new _([e]))}))}return new g(t).decode(e)}const Gt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class Yt{constructor(e){Gt.forEach((t=>this[t]=e[t]))}}const jt="File format is not recognized",Xt="End of central directory not found",Jt="End of Zip64 central directory not found",Qt="End of Zip64 central directory locator not found",$t="Central directory header not found",en="Local file header not found",tn="Zip64 extra field not found",nn="File contains encrypted entry",rn="Encryption method not supported",an="Compression method not supported",sn="utf-8",on="cp437",ln=["uncompressedSize","compressedSize","offset"];class cn{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,extraFieldAES:s,compressionMethod:o,config:l,bitFlag:d,signature:f,rawLastModDate:u,compressedSize:h}=i,_=i.localDirectory={};r.initialized||await r.init();let w=await mn(r,a,30);const p=xn(w);let g=hn(i,n,"password");if(g=g&&g.length&&g,s&&99!=s.originalCompressionMethod)throw new c(an);if(0!=o&&8!=o)throw new c(an);if(bn(p,0)!=It)throw new c(en);dn(_,p,4),w=await mn(r,a,30+_.filenameLength+_.extraFieldLength),_.rawExtraField=w.subarray(30+_.filenameLength),await fn(i,_,p,4),t.lastAccessDate=_.lastAccessDate,t.creationDate=_.creationDate;const b=i.encrypted&&_.encrypted,y=b&&!s;if(b){if(!y&&void 0===s.strength)throw new c(rn);if(!g)throw new c(nn)}const x=await rt(l.Inflate,{codecType:Ge,password:g,zipCrypto:y,encryptionStrength:s&&s.strength,signed:hn(i,n,"checkSignature"),passwordVerification:y&&(d.dataDescriptor?u>>>8&255:f>>>24&255),signature:f,compressed:0!=o,encrypted:b,useWebWorkers:hn(i,n,"useWebWorkers")},l);e.initialized||await e.init();const m=hn(i,n,"signal"),k=a+30+_.filenameLength+_.extraFieldLength;return await ot(x,r,e,k,h,l,{onprogress:n.onprogress,signal:m}),e.getData()}}function dn(e,t,i){const r=e.rawBitFlag=gn(t,i+2),a=1==(1&r),s=bn(t,i+6);n.assign(e,{encrypted:a,version:gn(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:8==(8&r),languageEncodingFlag:(r&Ot)==Ot},rawLastModDate:s,lastModDate:_n(s),filenameLength:gn(t,i+22),extraFieldLength:gn(t,i+24)})}async function fn(e,t,i,r){const l=t.rawExtraField,f=t.extraField=new o,u=xn(new d(l));let h=0;try{for(;h{t.zip64=!0;const n=xn(e.data);e.values=[];for(let t=0;tt[e]==Bt));for(let t=0;t{if(t[n]==Bt){if(void 0===e[n])throw new c(tn);t[n]=e[n]}}))})(w,t),t.extraFieldZip64=w);const p=f.get(28789);p&&(await un(p,"filename","rawFilename",t,e),t.extraFieldUnicodePath=p);const g=f.get(25461);g&&(await un(g,"comment","rawComment",t,e),t.extraFieldUnicodeComment=g);const b=f.get(39169);b?(((e,t,n)=>{const i=xn(e.data);e.vendorVersion=pn(i,0),e.vendorId=pn(i,2);const r=pn(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=gn(i,5)})(b,t,_),t.extraFieldAES=b):t.compressionMethod=_;const y=f.get(10);y&&(((e,t)=>{const i=xn(e.data);let r,a=4;try{for(;a{const n=xn(e.data),i=pn(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate")),2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate")),4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let o=1;r.forEach(((i,r)=>{if(e.data.length>=o+4){const l=bn(n,o);t[i]=e[i]=new s(1e3*l);const c=a[r];e[c]=l}o+=4}))})(x,t),t.extraFieldExtendedTimestamp=x)}async function un(e,t,n,i,r){const a=xn(e.data);e.version=pn(a,0),e.signature=bn(a,1);const s=new le;s.append(r[n]);const o=xn(new d(4));o.setUint32(0,s.get(),!0),e[t]=await Kt(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bn(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function hn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function _n(e){const t=(4294901760&e)>>16,n=65535&e;try{return new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function wn(e){return new s(Number(e/r(1e4)-r(116444736e5)))}function pn(e,t){return e.getUint8(t)}function gn(e,t){return e.getUint16(t,!0)}function bn(e,t){return e.getUint32(t,!0)}function yn(e,t){return Number(e.getBigUint64(t,!0))}function xn(e){return new h(e.buffer)}function mn(e,t,n){return e.readUint8Array(t,n)}const kn="File already exists",vn="Zip file comment exceeds 64KB",Rn="File entry comment exceeds 64KB",En="File entry name exceeds 64KB",Dn="Version exceeds 65535",An="The strength must equal 1, 2, or 3",Fn="Extra field type exceeds 65535",Sn="Extra field data exceeds 64KB",zn="Zip64 is not supported",Tn=new d([7,0,2,0,65,69,3,0,0]);let Un=0;function Cn(e,t,n){if(e.arrayBuffer)return t||n?e.slice(t,n).arrayBuffer():e.arrayBuffer();{const i=new b;return new w(((r,a)=>{i.onload=e=>r(e.target.result),i.onerror=()=>a(i.error),i.readAsArrayBuffer(t||n?e.slice(t,n):e)}))}}function Bn(e){if(e)return(r(e.getTime())+r(116444736e5))*r(1e4)}function Wn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function In(e,t,n){e.setUint8(t,n)}function Mn(e,t,n){e.setUint16(t,n,!0)}function Ln(e,t,n){e.setUint32(t,n,!0)}function Nn(e,t,n){e.setBigUint64(t,n,!0)}function Hn(e,t,n){e.set(t,n)}function On(e){return new h(e.buffer)}se({Deflate:function(e){const t=new L,n=(i=e&&e.chunkSize?e.chunkSize:65536)+5*(a.floor(i/16383)+1);var i;const r=new d(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=r,this.append=(e,i)=>{let a,s,o=0,l=0,f=0;const u=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new c("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?u.push(new d(r)):u.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=o&&(i(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return u.length>1?(s=new d(f),u.forEach((e=>{s.set(e,l),l+=e.length}))):s=u[0]||new d(0),s}},this.flush=()=>{let e,i,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new c("deflating: "+t.msg);n-t.avail_out>0&&o.push(r.slice(0,t.next_out_index)),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),i=new d(s),o.forEach((e=>{i.set(e,a),a+=e.length})),i}},Inflate:function(e){const t=new ne,n=e&&e.chunkSize?a.floor(2*e.chunkSize):131072,i=new d(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,f=0,u=0,h=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===O){if(0!==t.avail_in)throw new c("inflating: bad input")}else if(0!==o&&1!==o)throw new c("inflating: "+t.msg);if((r||1===o)&&t.avail_in===e.length)throw new c("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new d(i)):s.push(i.slice(0,t.next_out_index))),h+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=f&&(a(t.next_in_index),f=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new d(h),s.forEach((e=>{l.set(e,u),u+=e.length}))):l=s[0]||new d(0),l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=gt,e.BlobWriter=bt,e.Data64URIReader=class extends wt{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=a.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new d(t),i=4*a.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*a.ceil((e+t)/3)+this.dataStart)),s=e-3*a.floor(i/4);for(let e=s;s+t>e;e++)n[e-s]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends pt{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*a.floor((r+e.length)/3)-r;t++)n+=i.fromCharCode(e[t]);for(;t2?this.data+=m(n):this.pending=n}getData(){return this.data+m(this.pending)}},e.ERR_ABORT=st,e.ERR_BAD_FORMAT=jt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$t,e.ERR_DUPLICATED_NAME=kn,e.ERR_ENCRYPTED=nn,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qt,e.ERR_EOCDR_NOT_FOUND=Xt,e.ERR_EOCDR_ZIP64_NOT_FOUND=Jt,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tn,e.ERR_HTTP_RANGE=ft,e.ERR_INVALID_COMMENT=vn,e.ERR_INVALID_ENCRYPTION_STRENGTH=An,e.ERR_INVALID_ENTRY_COMMENT=Rn,e.ERR_INVALID_ENTRY_NAME=En,e.ERR_INVALID_EXTRAFIELD_DATA=Sn,e.ERR_INVALID_EXTRAFIELD_TYPE=Fn,e.ERR_INVALID_PASSWORD=we,e.ERR_INVALID_SIGNATURE=Ye,e.ERR_INVALID_VERSION=Dn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=en,e.ERR_UNSUPPORTED_COMPRESSION=an,e.ERR_UNSUPPORTED_ENCRYPTION=rn,e.ERR_UNSUPPORTED_FORMAT=zn,e.HttpRangeReader=class extends Ct{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=Ct,e.Reader=wt,e.TextReader=class extends wt{constructor(e){super(),this.blobReader=new gt(new _([e],{type:ut}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends pt{constructor(e){super(),this.encoding=e,this.blob=new _([],{type:ut})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new _([this.blob,e.buffer],{type:ut})}getData(){if(this.blob.text)return this.blob.text();{const e=new b;return new w(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}}},e.Uint8ArrayReader=class extends wt{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends pt{constructor(){super(),this.array=new d(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new d(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.WritableStreamWriter=class extends pt{constructor(e){super(),this.writableStream=e,this.writer=e.getWriter()}async writeUint8Array(e){return await this.writer.ready,this.writer.write(e)}async getData(){return await this.writer.ready,await this.writer.close(),this.writableStream}},e.Writer=pt,e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:e,options:t,config:ae()})}async getEntries(e={}){const t=this,i=t.reader;if(i.initialized||await i.init(),22>i.size)throw new c(jt);const r=await(async(e,t,n)=>{const i=new d(4);return xn(i).setUint32(0,101010256,!0),await r(22)||await r(a.min(1048582,n));async function r(t){const r=n-t,a=await mn(e,r,t);for(let e=a.length-22;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+22).buffer}}})(i,0,i.size);if(!r)throw new c(Xt);const s=xn(r);let o=bn(s,12),l=bn(s,16),f=gn(s,8),u=0;if(l==Bt||o==Bt||f==Wt){const e=xn(await mn(i,r.offset-20,20));if(bn(e,0)!=Nt)throw new c(Jt);l=yn(e,8);let t=await mn(i,l,56),n=xn(t);const a=r.offset-20-56;if(bn(n,0)!=Lt&&l!=a){const e=l;l=a,u=l-e,t=await mn(i,l,56),n=xn(t)}if(bn(n,0)!=Lt)throw new c(Qt);f=yn(n,32),o=yn(n,40),l-=o}if(0>l||l>=i.size)throw new c(jt);let h=0,_=await mn(i,l,o),p=xn(_);if(o){const e=r.offset-o;if(bn(p,h)!=Mt&&l!=e){const t=l;l=e,u=l-t,_=await mn(i,l,o),p=xn(_)}}if(0>l||l>=i.size)throw new c(jt);const g=[];for(let r=0;f>r;r++){const a=new cn(i,t.config,t.options);if(bn(p,h)!=Mt)throw new c($t);dn(a,p,h+6);const s=!!a.bitFlag.languageEncodingFlag,o=h+46,l=o+a.filenameLength,d=l+a.extraFieldLength,b=gn(p,h+4),y=0==(0&b);n.assign(a,{versionMadeBy:b,msDosCompatible:y,compressedSize:0,uncompressedSize:0,commentLength:gn(p,h+32),directory:y&&16==(16&pn(p,h+38)),offset:bn(p,h+42)+u,internalFileAttribute:bn(p,h+34),externalFileAttribute:bn(p,h+38),rawFilename:_.subarray(o,l),filenameUTF8:s,commentUTF8:s,rawExtraField:_.subarray(l,d)});const x=d+a.commentLength;a.rawComment=_.subarray(d,x);const m=hn(t,e,"filenameEncoding"),k=hn(t,e,"commentEncoding"),[v,R]=await w.all([Kt(a.rawFilename,a.filenameUTF8?sn:m||on),Kt(a.rawComment,a.commentUTF8?sn:k||on)]);a.filename=v,a.comment=R,!a.directory&&a.filename.endsWith(Pt)&&(a.directory=!0),await fn(a,a,p,h+6);const E=new Yt(a);if(E.getData=(e,t)=>a.getData(e,E,t),g.push(E),h=x,e.onprogress)try{e.onprogress(r+1,f,new Yt(a))}catch(e){}}return g}async close(){}},e.ZipWriter=class{constructor(e,t={}){n.assign(this,{writer:e,options:t,config:ae(),files:new o,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",i,o={}){const l=this;if(Un>=l.config.maxWorkers)return new w(((t,n)=>l.pendingEntries.push({name:e,reader:i,options:o,resolve:t,reject:n})));Un++;try{return await(async(e,i,o,l)=>{if(i=i.trim(),l.directory&&!i.endsWith(Pt)?i+=Pt:l.directory=i.endsWith(Pt),e.files.has(i))throw new c(kn);const _=ce(i);if(_.length>Wt)throw new c(En);const p=l.comment||"",g=ce(p);if(g.length>Wt)throw new c(Rn);const b=e.options.version||l.version||0;if(b>Wt)throw new c(Dn);const y=e.options.versionMadeBy||l.versionMadeBy||20;if(y>Wt)throw new c(Dn);const x=Wn(e,l,"lastModDate")||new s,m=Wn(e,l,"lastAccessDate"),k=Wn(e,l,"creationDate"),v=Wn(e,l,"password"),R=Wn(e,l,"encryptionStrength")||3,E=Wn(e,l,"zipCrypto");if(void 0!==v&&void 0!==R&&(1>R||R>3))throw new c(An);let D=new d(0);const A=l.extraField;if(A){let e=0,t=0;A.forEach((t=>e+=4+t.length)),D=new d(e),A.forEach(((e,n)=>{if(n>Wt)throw new c(Fn);if(e.length>Wt)throw new c(Sn);Hn(D,new f([n]),t),Hn(D,new f([e.length]),t+2),Hn(D,e,t+4),t+=4+e.length}))}let F=Wn(e,l,"extendedTimestamp");void 0===F&&(F=!0);let S=0,z=Wn(e,l,"keepOrder");void 0===z&&(z=!0);let T=0,U=Wn(e,l,"msDosCompatible");void 0===U&&(U=!0);const C=Wn(e,l,"internalFileAttribute")||0,B=Wn(e,l,"externalFileAttribute")||0;o&&(o.initialized||await o.init(),T=o.size,S=(e=>e+5*(a.floor(e/16383)+1))(T));let W=l.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=Bt||T>=Bt||S>=Bt){if(!1===l.zip64||!1===e.options.zip64||!z)throw new c(zn);W=!0}e.pendingCompressedSize+=S,await w.resolve();const I=Wn(e,l,"level"),M=Wn(e,l,"useWebWorkers"),L=Wn(e,l,"bufferedWrite");let N=Wn(e,l,"dataDescriptor"),H=Wn(e,l,"dataDescriptorSignature");const O=Wn(e,l,"signal");void 0===N&&(N=!0),N&&void 0===H&&(H=!0);const P=await(async(e,i,s,o)=>{const l=e.files,f=e.writer,_=t.from(l.values()).pop();let p,g,b,y={};l.set(i,y);try{let x,m,k;if(o.keepOrder&&(x=_&&_.lock),y.lock=k=new w((e=>b=e)),o.bufferedWrite||e.lockWrite||!o.dataDescriptor?(m=new bt,m.init(),p=!0):(e.lockWrite=new w((e=>g=e)),f.initialized||await f.init(),m=f),y=await(async(e,t,i,s)=>{const{rawFilename:o,lastAccessDate:l,creationDate:c,password:f,level:h,zip64:_,zipCrypto:w,dataDescriptor:p,dataDescriptorSignature:g,directory:b,version:y,versionMadeBy:x,rawComment:m,rawExtraField:k,useWebWorkers:v,onprogress:R,signal:E,encryptionStrength:D,extendedTimestamp:A,msDosCompatible:F,internalFileAttribute:S,externalFileAttribute:z}=s,T=!(!f||!f.length),U=0!==h&&!b;let C,B,W;if(T&&!w){C=new d(Tn.length+2);const e=On(C);Mn(e,0,39169),Hn(C,Tn,2),In(e,8,D)}else C=new d(0);if(A){W=new d(9+(l?4:0)+(c?4:0));const e=On(W);Mn(e,0,Ht),Mn(e,2,W.length-4),In(e,4,1+(l?2:0)+(c?4:0)),Ln(e,5,a.floor(s.lastModDate.getTime()/1e3)),l&&Ln(e,9,a.floor(l.getTime()/1e3)),c&&Ln(e,13,a.floor(c.getTime()/1e3));try{B=new d(36);const e=On(B),t=Bn(s.lastModDate);Mn(e,0,10),Mn(e,2,32),Mn(e,8,1),Mn(e,10,24),Nn(e,12,t),Nn(e,20,Bn(l)||t),Nn(e,28,Bn(c)||t)}catch(e){B=new d(0)}}else B=W=new d(0);const I={version:y||20,versionMadeBy:x,zip64:_,directory:!!b,filenameUTF8:!0,rawFilename:o,commentUTF8:!0,rawComment:m,rawExtraFieldZip64:new d(_?28:0),rawExtraFieldExtendedTimestamp:W,rawExtraFieldNTFS:B,rawExtraFieldAES:C,rawExtraField:k,extendedTimestamp:A,msDosCompatible:F,internalFileAttribute:S,externalFileAttribute:z};let M=I.uncompressedSize=0,L=Ot;p&&(L|=8);let N=0;U&&(N=8),_&&(I.version=I.version>45?I.version:45),T&&(L|=1,w||(I.version=I.version>51?I.version:51,N=99,U&&(I.rawExtraFieldAES[9]=8))),I.compressionMethod=N;const H=I.headerArray=new d(26),O=On(H);Mn(O,0,I.version),Mn(O,2,L),Mn(O,4,N);const P=new u(1),V=On(P);let q;q=s.lastModDateVt?Vt:s.lastModDate,Mn(V,0,(q.getHours()<<6|q.getMinutes())<<5|q.getSeconds()/2),Mn(V,2,(q.getFullYear()-1980<<4|q.getMonth()+1)<<5|q.getDate());const Z=P[0];Ln(O,6,Z),Mn(O,22,o.length);const K=C.length+W.length+B.length+I.rawExtraField.length;Mn(O,24,K);const G=new d(30+o.length+K);let Y;Ln(On(G),0,It),Hn(G,H,4),Hn(G,o,30),Hn(G,C,30+o.length),Hn(G,W,30+o.length+C.length),Hn(G,B,30+o.length+C.length+W.length),Hn(G,I.rawExtraField,30+o.length+C.length+W.length+B.length);let j=0;if(e){M=I.uncompressedSize=e.size;const n=await rt(i.Deflate,{codecType:Ke,level:h,password:f,encryptionStrength:D,zipCrypto:T&&w,passwordVerification:T&&w&&Z>>8&255,signed:!0,compressed:U,encrypted:T,useWebWorkers:v},i);await t.writeUint8Array(G),I.dataWritten=!0,Y=await ot(n,e,t,0,M,i,{onprogress:R,signal:E}),j=Y.length}else await t.writeUint8Array(G),I.dataWritten=!0;let X,J=new d(0),Q=0;if(p&&(J=new d(_?g?24:20:g?16:12),X=On(J),g&&(Q=4,Ln(X,0,134695760))),e){const e=Y.signature;if(T&&!w||void 0===e||(Ln(O,10,e),I.signature=e,p&&Ln(X,Q,e)),_){const e=On(I.rawExtraFieldZip64);Mn(e,0,1),Mn(e,2,24),Ln(O,14,Bt),Nn(e,12,r(j)),Ln(O,18,Bt),Nn(e,4,r(M)),p&&(Nn(X,Q+4,r(j)),Nn(X,Q+12,r(M)))}else Ln(O,14,j),Ln(O,18,M),p&&(Ln(X,Q+4,j),Ln(X,Q+8,M))}p&&await t.writeUint8Array(J);const $=G.length+j+J.length;return n.assign(I,{compressedSize:j,lastModDate:q,rawLastModDate:Z,creationDate:c,lastAccessDate:l,encrypted:T,length:$}),I})(s,m,e.config,o),y.lock=k,l.set(i,y),y.filename=i,p){let n=0;const i=m.getData();let r;await w.all([e.lockWrite,x]);do{r=t.from(l.values()).find((e=>e.writingBufferedData)),r&&await r.lock}while(r&&r.lock);if(y.writingBufferedData=!0,!o.dataDescriptor){const e=26,t=await Cn(i,0,e),r=new h(t);y.encrypted&&!o.zipCrypto||Ln(r,14,y.signature),y.zip64?(Ln(r,18,Bt),Ln(r,22,Bt)):(Ln(r,18,y.compressedSize),Ln(r,22,y.uncompressedSize)),await f.writeUint8Array(new d(t)),n=e}await(async(e,t,n=0)=>{const i=536870912;await async function r(){if(n=Bt)throw new c(zn);return e.offset+=y.length,y}catch(t){throw(p&&y.writingBufferedData||!p&&y.dataWritten)&&(t.corruptedEntry=e.hasCorruptedEntries=!0,y.uncompressedSize&&(e.offset+=y.uncompressedSize)),l.delete(i),t}finally{b(),g&&g()}})(e,i,o,n.assign({},l,{rawFilename:_,rawComment:g,version:b,versionMadeBy:y,lastModDate:x,lastAccessDate:m,creationDate:k,rawExtraField:D,zip64:W,password:v,level:I,useWebWorkers:M,encryptionStrength:R,extendedTimestamp:F,zipCrypto:E,bufferedWrite:L,keepOrder:z,dataDescriptor:N,dataDescriptorSignature:H,signal:O,msDosCompatible:U,internalFileAttribute:C,externalFileAttribute:B}));return S&&(e.pendingCompressedSize-=S),n.assign(P,{name:i,comment:p,extraField:A}),new Yt(P)})(l,e,i,o)}finally{Un--;const e=l.pendingEntries.shift();e&&l.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new d(0),n={}){return await(async(e,n,i)=>{const s=e.writer,o=e.files;let l=0,f=0,u=e.offset,h=o.size;for(const[,e]of o)f+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraFieldExtendedTimestamp.length+e.rawExtraFieldNTFS.length+e.rawExtraField.length;let _=i.zip64||e.options.zip64||!1;if(u>=Bt||f>=Bt||h>=Wt){if(!1===i.zip64||!1===e.options.zip64)throw new c(zn);_=!0}const w=new d(f+(_?98:22)),p=On(w);if(n&&n.length){if(n.length>Wt)throw new c(vn);Mn(p,l+20,n.length)}for(const[e,n]of t.from(o.values()).entries()){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:s,rawExtraField:c,rawComment:f,versionMadeBy:u,headerArray:h,directory:_,zip64:g,msDosCompatible:b,internalFileAttribute:y,externalFileAttribute:x}=n;let m,k;if(n.extendedTimestamp){k=n.rawExtraFieldNTFS,m=new d(9);const e=On(m);Mn(e,0,Ht),Mn(e,2,m.length-4),In(e,4,1),Ln(e,5,a.floor(n.lastModDate.getTime()/1e3))}else k=m=new d(0);const v=r.length+s.length+m.length+k.length+c.length;if(Ln(p,l,Mt),Mn(p,l+4,u),Hn(w,h,l+6),Mn(p,l+30,v),Mn(p,l+32,f.length),Ln(p,l+34,y),x?Ln(p,l+38,x):_&&b&&In(p,l+38,16),Ln(p,l+42,g?Bt:n.offset),Hn(w,t,l+46),Hn(w,r,l+46+t.length),Hn(w,s,l+46+t.length+r.length),Hn(w,m,l+46+t.length+r.length+s.length),Hn(w,k,l+46+t.length+r.length+s.length+m.length),Hn(w,c,l+46+t.length+r.length+s.length+m.length+k.length),Hn(w,f,l+46+t.length+v),l+=46+t.length+v+f.length,i.onprogress)try{i.onprogress(e+1,o.size,new Yt(n))}catch(e){}}_&&(Ln(p,l,Lt),Nn(p,l+4,r(44)),Mn(p,l+12,45),Mn(p,l+14,45),Nn(p,l+24,r(h)),Nn(p,l+32,r(h)),Nn(p,l+40,r(f)),Nn(p,l+48,r(u)),Ln(p,l+56,Nt),Nn(p,l+64,r(u)+r(f)),Ln(p,l+72,1),h=Wt,u=Bt,f=Bt,l+=76),Ln(p,l,101010256),Mn(p,l+8,h),Mn(p,l+10,h),Ln(p,l+12,f),Ln(p,l+16,u),await s.writeUint8Array(w),n&&n.length&&await s.writeUint8Array(n)})(this,e,n),this.writer.getData()}},e.configure=se,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=()=>{nt.forEach((e=>{at(e),e.terminate()}))},n.defineProperty(e,"__esModule",{value:!0})}));