@zip.js/zip.js 2.7.69 → 2.7.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deno.json +1 -1
- package/dist/z-worker-fflate.js +1 -1
- package/dist/z-worker-pako.js +1 -1
- package/dist/z-worker.js +1 -1
- package/dist/zip-fs-full.js +13 -5
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +13 -5
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +13 -5
- package/dist/zip-full.min.js +1 -1
- package/dist/zip-no-worker-deflate.min.js +1 -1
- package/dist/zip-no-worker-inflate.min.js +1 -1
- package/dist/zip-no-worker.min.js +1 -1
- package/dist/zip.js +13 -5
- package/dist/zip.min.js +1 -1
- package/index-fflate.js +1 -0
- package/index.cjs +13 -5
- package/index.d.ts +4 -0
- package/index.js +1 -0
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +2 -0
- package/lib/core/io.js +6 -4
- package/lib/core/streams/codec-stream.js +5 -0
- package/lib/core/streams/zip-entry-stream.js +2 -0
- package/lib/core/zip-reader.js +3 -0
- package/lib/z-worker-inline.js +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:_,document:z,crypto:S,btoa:x,TransformStream:F,ReadableStream:k,WritableStream:E,CompressionStream:v,DecompressionStream:D,navigator:T,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self,R=-2;function C(e){return W(e.map(([e,n])=>new t(e).fill(n,0,e)))}function W(e){return e.reduce((e,n)=>e.concat(t.isArray(n)?W(n):n),[])}const N=[0,1,2,3].concat(...C([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function U(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,c,l,d=-1;for(n.heap_len=0,n.heap_max=573,o=0;a>o;o++)0!==r[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):r[2*o+1]=0;for(;2>n.heap_len;)l=n.heap[++n.heap_len]=2>d?++d:0,r[2*l]=1,n.depth[l]=0,n.opt_len--,s&&(n.static_len-=s[2*l+1]);for(e.max_code=d,o=i.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(r,o);l=a;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),c=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=c,r[2*l]=r[2*o]+r[2*c],n.depth[l]=i.max(n.depth[o],n.depth[c])+1,r[2*o+1]=r[2*c+1]=l,n.heap[1]=l++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,c,l,d,u,f,p=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>i&&(d=i,p++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,a>c||(u=s[c-a]),f=n[2*c],t.opt_len+=f*(d+u),r&&(t.static_len+=f*(r[2*c+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}})(n),((e,n,r)=>{const s=[];let a,i,o,c=0;for(a=1;15>=a;a++)s[a]=c=c+r[a-1]<<1;for(i=0;n>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(r,e.max_code,n.bl_count)}}function L(e,t,n,r,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=r,a.max_length=s}U._length_code=[0,1,2,3,4,5,6,7].concat(...C([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),U.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],U.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.extra_lbits=[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],U.extra_dbits=[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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const M=C([[144,8],[112,9],[24,7],[8,8]]);L.static_ltree=W([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,M[t]]));const I=C([[30,5]]);function O(e,t,n,r,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=r,a.func=s}L.static_dtree=W([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,I[t]])),L.static_l_desc=new L(L.static_ltree,U.extra_lbits,257,286,15),L.static_d_desc=new L(L.static_dtree,U.extra_dbits,0,30,15),L.static_bl_desc=new L(null,U.extra_blbits,0,19,7);const H=[new O(0,0,0,0,0),new O(4,4,8,4,1),new O(4,5,16,8,1),new O(4,6,32,32,1),new O(4,4,16,16,2),new O(8,16,32,32,2),new O(8,16,128,128,2),new O(8,32,128,256,2),new O(32,128,258,1024,2),new O(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,B=666,q=262;function Z(e,t,n,r){const s=e[2*t],a=e[2*n];return a>s||s==a&&r[t]<=r[n]}function K(){const e=this;let t,n,r,s,a,o,c,l,d,u,f,w,g,m,y,b,_,z,S,x,F,k,E,v,D,T,A,C,W,N,M,I,O;const K=new U,G=new U,Y=new U;let j,X,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)M[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)O[2*t]=0;M[512]=1,e.opt_len=e.static_len=0,X=J=0}function ne(e,t){let n,r=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;t>=c;c++)n=s,s=e[2*(c+1)+1],++a<i&&n==s||(o>a?O[2*n]+=a:0!==n?(n!=r&&O[2*n]++,O[32]++):a>10?O[36]++:O[34]++,a=0,r=n,0===s?(i=138,o=3):n==s?(i=6,o=3):(i=7,o=4))}function re(t){e.pending_buf[e.pending++]=t}function se(e){re(255&e),re(e>>>8&255)}function ae(e,t){let n;const r=t;ee>16-r?(n=e,$|=n<<ee&65535,se($),$=n>>>16-ee,ee+=r-16):($|=e<<ee&65535,ee+=r)}function ie(e,t){const n=2*e;ae(65535&t[n],65535&t[n+1])}function oe(e,t){let n,r,s=-1,a=e[1],i=0,o=7,c=4;for(0===a&&(o=138,c=3),n=0;t>=n;n++)if(r=a,a=e[2*(n+1)+1],++i>=o||r!=a){if(c>i)do{ie(r,O)}while(0!==--i);else 0!==r?(r!=s&&(ie(r,O),i--),ie(16,O),ae(i-3,2)):i>10?(ie(18,O),ae(i-11,7)):(ie(17,O),ae(i-3,3));i=0,s=r,0===a?(o=138,c=3):r==a?(o=6,c=3):(o=7,c=4)}}function ce(){16==ee?(se($),$=0,ee=0):8>ee||(re(255&$),$>>>=8,ee-=8)}function le(t,n){let r,s,a;if(e.dist_buf[X]=t,e.lc_buf[X]=255&n,X++,0===t?M[2*n]++:(J++,t--,M[2*(U._length_code[n]+256+1)]++,I[2*U.d_code(t)]++),!(8191&X)&&A>2){for(r=8*X,s=F-_,a=0;30>a;a++)r+=I[2*a]*(5+U.extra_dbits[a]);if(r>>>=3,J<i.floor(X/2)&&r<i.floor(s/2))return!0}return X==j-1}function de(t,n){let r,s,a,i,o=0;if(0!==X)do{r=e.dist_buf[o],s=e.lc_buf[o],o++,0===r?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),r--,a=U.d_code(r),ie(a,n),i=U.extra_dbits[a],0!==i&&(r-=U.base_dist[a],ae(r,i)))}while(X>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&re(255&$),$=0,ee=0}function fe(t,n,r){ae(0+(r?1:0),3),((t,n)=>{ue(),Q=8,se(n),se(~n),e.pending_buf.set(l.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function pe(n){((t,n,r)=>{let s,a,i=0;A>0?(K.build_tree(e),G.build_tree(e),i=(()=>{let t;for(ne(M,K.max_code),ne(I,G.max_code),Y.build_tree(e),t=18;t>=3&&0===O[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=n+5,n+4>s||-1==t?a==s?(ae(2+(r?1:0),3),de(L.static_ltree,L.static_dtree)):(ae(4+(r?1:0),3),((e,t,n)=>{let r;for(ae(e-257,5),ae(t-1,5),ae(n-4,4),r=0;n>r;r++)ae(O[2*U.bl_order[r]+1],3);oe(M,e-1),oe(I,t-1)})(K.max_code+1,G.max_code+1,i+1),de(M,I)):fe(t,n,r),te(),r&&ue()})(0>_?-1:_,F-_,n),_=F,t.flush_pending()}function he(){let e,n,r,s;do{if(s=d-E-F,0===s&&0===F&&0===E)s=a;else if(-1==s)s--;else if(F>=a+a-q){l.set(l.subarray(a,a+a),0),k-=a,F-=a,_-=a,e=g,r=e;do{n=65535&f[--r],f[r]=a>n?0:n-a}while(0!==--e);e=a,r=e;do{n=65535&u[--r],u[r]=a>n?0:n-a}while(0!==--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(l,F+E,s),E+=e,3>E||(w=255&l[F],w=(w<<b^255&l[F+1])&y)}while(q>E&&0!==t.avail_in)}function we(e){let t,n,r=D,s=F,i=v;const o=F>a-q?F-(a-q):0;let d=N;const f=c,p=F+258;let h=l[s+i-1],w=l[s+i];W>v||(r>>=2),d>E&&(d=E);do{if(t=e,l[t+i]==w&&l[t+i-1]==h&&l[t]==l[s]&&l[++t]==l[s+1]){s+=2,t++;do{}while(l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&p>s);if(n=258-(p-s),s=p-258,n>i){if(k=e,i=n,n>=d)break;h=l[s+i-1],w=l[s+i]}}}while((e=65535&u[e&f])>o&&0!==--r);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],M=[],I=[],O=[],e.pqdownheap=(t,n)=>{const r=e.heap,s=r[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,r[a+1],r[a],e.depth)&&a++,!Z(t,s,r[a],e.depth));)r[n]=r[a],n=a,a<<=1;r[n]=s},e.deflateInit=(t,S,k,U,P,B)=>(U||(U=8),P||(P=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>P||P>9||8!=U||9>k||k>15||0>S||S>9||0>B||B>2?R:(t.dstate=e,o=k,a=1<<o,c=a-1,m=P+7,g=1<<m,y=g-1,b=i.floor((m+3-1)/3),l=new p(2*a),u=[],f=[],j=1<<P+6,e.pending_buf=new p(4*j),r=4*j,e.dist_buf=new h(j),e.lc_buf=new p(j),A=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,s=0,K.dyn_tree=M,K.stat_desc=L.static_l_desc,G.dyn_tree=I,G.stat_desc=L.static_d_desc,Y.dyn_tree=O,Y.stat_desc=L.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[g-1]=0;for(let e=0;g-1>e;e++)f[e]=0;T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain,F=0,_=0,E=0,z=v=2,x=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=V&&n!=B?R:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,l=null,e.dstate=null,n==V?-3:0),e.deflateParams=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?R:(H[A].func!=H[t].func&&0!==e.total_in&&(r=e.deflate(1)),A!=t&&(A=t,T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain),C=n,r)},e.deflateSetDictionary=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return R;if(3>i)return 0;for(i>a-q&&(i=a-q,o=r-i),l.set(t.subarray(o,o+i),0),F=i,_=i,w=255&l[0],w=(w<<b^255&l[1])&y,s=0;i-3>=s;s++)w=(w<<b^255&l[s+2])&y,u[s&c]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,m,D,W;if(d>4||0>d)return R;if(!i.next_out||!i.next_in&&0!==i.avail_in||n==B&&4!=d)return i.msg=P[4],R;if(0===i.avail_out)return i.msg=P[7],-5;var N;if(t=i,D=s,s=d,42==n&&(h=8+(o-8<<4)<<8,m=(A-1&255)>>1,m>3&&(m=3),h|=m<<6,0!==F&&(h|=32),h+=31-h%31,n=V,re((N=h)>>8&255),re(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=P[7],-5;if(n==B&&0!==t.avail_in)return i.msg=P[7],-5;if(0!==t.avail_in||0!==E||0!=d&&n!=B){switch(W=-1,H[A].func){case 0:W=(e=>{let n,s=65535;for(s>r-5&&(s=r-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(F+=E,E=0,n=_+s,(0===F||F>=n)&&(E=F-n,F=n,pe(!1),0===t.avail_out))return 0;if(F-_>=a-q&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:W=(e=>{let n,r=0;for(;;){if(q>E){if(he(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&l[F+2])&y,r=65535&f[w],u[F&c]=f[w],f[w]=F),0===r||(F-r&65535)>a-q||2!=C&&(z=we(r)),3>z)n=le(0,255&l[F]),E--,F++;else if(n=le(F-k,z-3),E-=z,z>T||3>E)F+=z,z=0,w=255&l[F],w=(w<<b^255&l[F+1])&y;else{z--;do{F++,w=(w<<b^255&l[F+2])&y,r=65535&f[w],u[F&c]=f[w],f[w]=F}while(0!==--z);F++}if(n&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:W=(e=>{let n,r,s=0;for(;;){if(q>E){if(he(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&l[F+2])&y,s=65535&f[w],u[F&c]=f[w],f[w]=F),v=z,S=k,z=2,0!==s&&T>v&&a-q>=(F-s&65535)&&(2!=C&&(z=we(s)),5>=z&&(1==C||3==z&&F-k>4096)&&(z=2)),3>v||z>v)if(0!==x){if(n=le(0,255&l[F-1]),n&&pe(!1),F++,E--,0===t.avail_out)return 0}else x=1,F++,E--;else{r=F+E-3,n=le(F-1-S,v-3),E-=v-1,v-=2;do{++F>r||(w=(w<<b^255&l[F+2])&y,s=65535&f[w],u[F&c]=f[w],f[w]=F)}while(0!==--v);if(x=0,z=2,F++,n&&(pe(!1),0===t.avail_out))return 0}}return 0!==x&&(n=le(0,255&l[F-1]),x=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=W&&3!=W||(n=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,L.static_ltree),ce(),9>1+Q+10-ee&&(ae(2,3),ie(256,L.static_ltree),ce()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;g>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function G(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}G.prototype={deflateInit(e,t){const n=this;return n.dstate=new K,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):R},deflateEnd(){const e=this;if(!e.dstate)return R;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):R},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):R},read_buf(e,t,n){const r=this;let s=r.avail_in;return s>n&&(s=n),0===s?0:(r.avail_in-=s,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+s),t),r.next_in_index+=s,r.total_in+=s,s)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const Y=4294967295,j=65535,X=67324752,J=134695760,Q=J,$=33639248,ee=101010256,te=101075792,ne=117853008,re=22,se=21589,ae=2048,ie="/",oe=new o(2107,11,31),ce=new o(1980,0,1),le=void 0,de="undefined",ue="function";class fe{constructor(e){return class extends F{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)}})}}}}let pe=2;try{typeof T!=de&&T.hardwareConcurrency&&(pe=T.hardwareConcurrency)}catch(e){}const he={chunkSize:524288,maxWorkers:pe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:le,CompressionStreamNative:typeof v!=de&&v,DecompressionStreamNative:typeof D!=de&&D},we=n.assign({},he);function ge(){return we}function me(e){return i.max(e.chunkSize,64)}function ye(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(be("baseURL",n),be("chunkSize",r),be("maxWorkers",s),be("terminateWorkerTimeout",a),be("useCompressionStream",i),be("useWebWorkers",o),c&&(we.CompressionStream=new fe(c)),l&&(we.DecompressionStream=new fe(l)),be("CompressionStream",d),be("DecompressionStream",u),p!==le){const{deflate:e,inflate:n}=p;if((e||n)&&(we.workerScripts||(we.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");we.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");we.workerScripts.inflate=n}}}function be(e,t){t!==le&&(we[e]=t)}const _e=[];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[e]=t}class ze{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^_e[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Se extends F{constructor(){let e;const t=new ze;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new p(4);new g(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function xe(e){if(typeof b==de){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)}const Fe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Fe.getPartial(n);return 32===r?e.concat(t):Fe._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)+Fe.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Fe.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=>i.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<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Fe.getPartial(s);return r.push(Fe.partial(t+a&31,t+a>32?n:r.pop(),1)),r}},ke={bytes:{fromBits(e){const t=Fe.bitLength(e)/8,n=new p(t);let r;for(let s=0;t>s;s++)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;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(Fe.partial(8*(3&n),r)),t}}},Ee=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=ke.utf8String.toBits(e));const n=t._buffer=Fe.concat(t._buffer,e),r=t._length,s=t._length=r+Fe.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;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=Fe.concat(t,[Fe.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.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<<e|t>>>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,a)+n._f(e,o,c,l)+d+s[e]+n._key[i.floor(e/20)]|0;d=l,l=c,c=n._S(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},ve={getRandomValues(e){const t=new w(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)*(i.random()>.5?1:-1))};for(let r,s=0;s<e.length;s+=4){const e=n(4294967296*(r||i.random()));r=987654071*e(),t[s/4]=4294967296*e()|0}return e}},De={importKey:e=>new De.hmacSha1(ke.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new f("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new g(d);let p=0;const h=Fe;for(t=ke.bytes.toBits(t),l=1;(s||1)>p;l++){for(a=i=e.encrypt(h.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,r/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=Ee,r=[[],[]];t._baseHash=[new n,new n];const s=t._baseHash[0].blockSize/32;e.length>s&&(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 f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Te=typeof S!=de&&typeof S.getRandomValues==ue,Ae="Invalid password",Re="Invalid signature",Ce="zipjs-abort-check-password";function We(e){return Te?S.getRandomValues(e):ve.getRandomValues(e)}const Ne=16,Ue={name:"PBKDF2"},Le=n.assign({hash:{name:"HMAC"}},Ue),Me=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ue),Ie=["deriveBits"],Oe=[8,12,16],He=[16,24,32],Pe=10,Ve=[0,0,0,0],Be=typeof S!=de,qe=Be&&S.subtle,Ze=Be&&typeof qe!=de,Ke=ke.bytes,Ge=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;4*s+28>a;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]=4>=a||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,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>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 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],d=a[4];let u,p,h,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;r>e;e++)u=i[w>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],p=i[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&w]^n[b+1],h=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=u,g=p,m=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[g>>16&255]<<16^d[m>>8&255]<<8^d[255&y]^n[b++],u=w,w=g,g=m,m=y,y=u;return s}},Ye=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,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}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=Fe.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 Fe.clamp(t,s)}},je=De.hmacSha1;let Xe=Be&&Ze&&typeof qe.importKey==ue,Je=Be&&Ze&&typeof qe.deriveBits==ue;class Qe extends F{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:s,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),signed:r,strength:s-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:o}=n;r?(await(async(e,t,n,r)=>{const s=await tt(e,t,n,st(r,0,Oe[t])),a=st(r,Oe[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(Ae)})(n,s,r,st(e,0,Oe[s]+2)),e=st(e,Oe[s]+2),a?t.error(new f(Ce)):i()):await o;const c=new p(e.length-Pe-(e.length-Pe)%Ne);t.enqueue(et(n,e,c,0,Pe,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:a}=this;if(r&&n){await a;const i=st(s,0,s.length-Pe),o=st(s,s.length-Pe);let c=new p;if(i.length){const e=it(Ke,i);r.update(e);const t=n.update(e);c=at(Ke,t)}if(t){const e=st(at(Ke,r.digest()),0,Pe);for(let t=0;Pe>t;t++)if(e[t]!=o[t])throw new f(Re)}e.enqueue(c)}}})}}class $e extends F{constructor({password:e,rawPassword:t,encryptionStrength:r}){let s;super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),strength:r-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:i}=n;let o=new p;r?(o=await(async(e,t,n)=>{const r=We(new p(Oe[t]));return rt(r,await tt(e,t,n,r))})(n,s,r),a()):await i;const c=new p(o.length+e.length-e.length%Ne);c.set(o,0),t.enqueue(et(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:a}=this;if(n&&t){await a;let i=new p;if(r.length){const e=t.update(it(Ke,r));n.update(e),i=at(Ke,e)}s.signature=at(Ke,n.digest()).slice(0,Pe),e.enqueue(rt(i,s.signature))}}}),s=this}}function et(e,t,n,r,s,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-s;let d;for(c.length&&(t=rt(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new p(t)).set(n,0)}return e})(n,l-l%Ne)),d=0;l-Ne>=d;d+=Ne){const e=it(Ke,st(t,d,d+Ne));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(at(Ke,s),d+r)}return e.pending=st(t,d),n}async function tt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Xe)return De.importKey(t);try{return await qe.importKey("raw",t,n,!1,s)}catch(e){return Xe=!1,De.importKey(t)}})(0,s,Le,0,Ie),o=await(async(e,t,n)=>{if(!Je)return De.pbkdf2(t,e.salt,Me.iterations,n);try{return await qe.deriveBits(e,t,n)}catch(r){return Je=!1,De.pbkdf2(t,e.salt,Me.iterations,n)}})(n.assign({salt:a},Me),i,8*(2*He[r]+2)),c=new p(o),l=it(Ke,st(c,0,He[r])),d=it(Ke,st(c,He[r],2*He[r])),u=st(c,2*He[r]);return n.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new Ye(new Ge(l),t.from(Ve)),hmac:new je(d)}),u}function nt(e,t){return t===le?xe(e):t}function rt(e,t){let n=e;return e.length+t.length&&(n=new p(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function st(e,t,n){return e.subarray(t,n)}function at(e,t){return e.fromBits(t)}function it(e,t){return e.toBits(t)}class ot extends F{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;if(n.password){const t=lt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ae);e=e.subarray(12)}r?t.error(new f(Ce)):t.enqueue(lt(n,e))}})}}class ct extends F{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=We(new p(12));t[11]=n.passwordVerification,r=new p(e.length+t.length),r.set(dt(n,t),0),s=12}else r=new p(e.length),s=0;r.set(dt(n,e),s),t.enqueue(r)}})}}function lt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,n[r]);return n}function dt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,t[r]);return n}function ut(e,t){const r=[305419896,591751049,878082192];n.assign(e,{keys:r,crcKey0:new ze(r[0]),crcKey2:new ze(r[2])});for(let n=0;n<t.length;n++)ft(e,t.charCodeAt(n))}function ft(e,t){let[n,r,s]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=wt(i.imul(wt(r+ht(n)),134775813)+1),e.crcKey2.append([r>>>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function pt(e){const t=2|e.keys[2];return ht(i.imul(t,1^t)>>>8)}function ht(e){return 255&e}function wt(e){return 4294967295&e}const gt="deflate-raw";class mt extends F{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=bt(super.readable);a&&!o||!c||(u=new Se,p=St(p,u)),s&&(p=zt(p,i,{level:l,chunkSize:t},r,n)),a&&(o?p=St(p,new ct(e)):(f=new $e(e),p=St(p,f))),_t(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new g(u.value.buffer).getUint32(0)),d.signature=e})}}class yt extends F{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l}=e;let d,u,p=bt(super.readable);a&&(s?p=St(p,new ot(e)):(u=new Qe(e),p=St(p,u))),c&&(p=zt(p,l,{chunkSize:t},r,n)),a&&!s||!i||(d=new Se,p=St(p,d)),_t(this,p,()=>{if((!a||s)&&i){const e=new g(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Re)}})}}function bt(e){return St(e,new F({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function _t(e,t,r){t=St(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function zt(e,t,n,r,s){try{e=St(e,new(t&&r?r:s)(gt,n))}catch(r){if(!t)return e;try{e=St(e,new s(gt,n))}catch(t){return e}}return e}function St(e,t){return e.pipeThrough(t)}const xt="data",Ft="close",kt="deflate",Et="inflate";class vt extends F{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(kt)?a=mt:s.startsWith(Et)&&(a=yt),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new F({transform(e,t){e&&e.length&&(t.enqueue(e),r.outputSize+=e.length)},flush(){const{signature:e}=o;n.assign(r,{signature:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Dt extends F{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new p(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let Tt=typeof A!=de;class At{constructor(e,{readable:t,writable:r},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,scripts:l},d){const{signal:u}=i;return n.assign(e,{busy:!0,readable:t.pipeThrough(new Dt(a.chunkSize)).pipeThrough(new Rt(i),{signal:u}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Tt?Nt:Wt)(e,a)}}class Rt extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Ct(e,n)},async transform(e,r){s+=e.length,t&&await Ct(t,s,n),r.enqueue(e)},async flush(){r&&await Ct(r,s)}})}}async function Ct(e,...t){try{await e(...t)}catch(e){}}function Wt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},s)=>{let a;try{a=new vt(e,s),await t.pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:r,inputSize:i,outputSize:o}=a;return{signature:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}})(e,t)}}function Nt(e,t){const{baseURL:r,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,r)=>{const s={type:"module"};let a,i;typeof e==ue&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(Ut)try{i=new A(a)}catch(e){Ut=!1,i=new A(a,s)}else i=new A(a,s);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a}=o,i=new f(e);n.assign(i,{stack:t,code:r,name:s,outputSize:a}),w(i)}else{if("pull"==r){const{value:e,done:n}=await c.read();Mt({type:xt,value:e,done:n,messageId:a},t)}r==xt&&(await l.ready,await l.write(new p(s)),Mt({type:"ack",messageId:a},t)),r==Ft&&w(null,i)}}catch(o){Mt({type:Ft,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),l&&l.releaseLock(),h()}})(e,r)),i})(e.scripts[0],r,e)}catch(n){return Tt=!1,Wt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let r,s;const a=new y((e,t)=>{r=e,s=t});n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:a});const{readable:i,options:o,scripts:c}=e,{writable:l,closed:d}=(e=>{let t;const n=new y(e=>t=e);return{writable:new E({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),u=Mt({type:"start",scripts:c.slice(1),options:o,config:t,readable:i,writable:l},e);u||n.assign(e,{reader:i.getReader(),writer:l.getWriter()});const f=await a;return u||await l.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let Ut=!0,Lt=!0;function Mt(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{const{value:n,readable:r,writable:a}=e,i=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,i.push(e.value)),s&&Lt?(r&&i.push(r),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(n){Lt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),r(),e}}let It=[];const Ot=[];let Ht=0;async function Pt(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:c,compressed:l,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:p}=r;t.transferStreams=a||a===le;const h=!(l||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===le&&r.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[c]:[],n.useCompressionStream=o||o===le&&r.useCompressionStream,(await(async()=>{const n=It.find(e=>!e.busy);if(n)return Vt(n),new At(n,e,t,w);if(It.length<p){const n={indexWorker:Ht};return Ht++,It.push(n),new At(n,e,t,w)}return new y(n=>Ot.push({resolve:n,stream:e,workerOptions:t}))})()).run();function w(e){if(Ot.length){const[{resolve:t,stream:n,workerOptions:r}]=Ot.splice(0,1);t(new At(e,n,r,w))}else e.worker?(Vt(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{It=It.filter(t=>t!=e);try{await e.terminate()}catch(e){}},r))})(e,t)):It=It.filter(t=>t!=e)}}function Vt(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Bt="HTTP error ",qt="HTTP Range not supported",Zt="Writer iterator completed too soon",Kt="Writer not initialized",Gt="Range",Yt="GET",jt="bytes",Xt=65536,Jt="writable";class Qt{constructor(){this.size=0}init(){this.initialized=!0}}class $t extends Qt{get readable(){const e=this,{chunkSize:t=Xt}=e,n=new k({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this,l=a===le?t:i.min(t,a-c),d=await xn(e,s+c,l,o);r.enqueue(d),c+t>a||a===le&&!d.length&&l?r.close():this.chunkOffset+=t}});return n}}class en extends Qt{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(Kt);return e.writeUint8Array(t)}});n.defineProperty(e,Jt,{get:()=>t})}writeUint8Array(){}}class tn extends $t{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.blob.slice(e,r):n.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new p(a)}}class nn extends Qt{constructor(e){super();const t=new F,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Jt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:r}).blob()}getData(){return this.blob}}class rn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,wn,un),super.init()}readUint8Array(e,t){return cn(this,e,t,wn,un)}}class sn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,gn,fn),super.init()}readUint8Array(e,t){return cn(this,e,t,gn,fn)}}function an(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function on(e,t,n){const{url:r,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURL:t}=ge(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(i||o)&&(void 0===a||a)){const r=await t(Yt,e,ln(e,c?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=jt)throw new f(qt);{let a;c&&(e.eocdCache=new p(await r.arrayBuffer()));const i=r.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===le?await hn(e,t,n):e.size=a}}else await hn(e,t,n)}async function cn(e,t,n,r,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-re&&n==re)return o;if(c>t){t+n>c&&(n=c-t);const s=await r(Yt,e,ln(e,t,n));if(206!=s.status)throw new f(qt);return new p(await s.arrayBuffer())}return new p}{const{data:r}=e;return r||await s(e,l),new p(e.data.subarray(t,t+n))}}function ln(e,t=0,r=1){return n.assign({},dn(e),{[Gt]:jt+"="+(0>t?t:t+"-"+(t+r-1))})}function dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function un(e){await pn(e,wn)}async function fn(e){await pn(e,gn)}async function pn(e,t){const n=await t(Yt,e,dn(e));e.data=new p(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function hn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t("HEAD",e,dn(e))).headers.get("Content-Length");r?e.size=s(r):await n(e,e.options)}}async function wn(e,{options:t,url:r},s){const a=await fetch(r,n.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(qt):new f(Bt+(a.statusText||a.status))}function gn(e,{url:t},r){return new y((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const 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 c(e)})}else a(416==i.status?new f(qt):new f(Bt+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class mn extends $t{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new sn(e,t):new rn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class yn extends $t{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.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 a,o=n;-1==o&&(o=s.length-1);let c=e;for(;s[o]&&c>=s[o].size;)c-=s[o].size,o++;const l=s[o];if(l){const s=l.size;if(c+t>s){const i=s-c;a=new p(t);const o=await xn(l,c,i);a.set(o,0);const d=await r.readUint8Array(e+i,t-i,n);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await xn(l,c,t)}else a=new p;return r.lastDiskNumber=i.max(o,r.lastDiskNumber),a}}class bn extends Qt{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.subarray(0,n)),await l(),r.diskOffset+=s.size,r.diskNumber++,i=null,await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(Zt);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Sn(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(){await i.close()}n.defineProperty(r,Jt,{get:()=>o})}}class _n{constructor(e){return t.isArray(e)&&(e=new yn(e)),e instanceof k&&(e={readable:e}),e}}class zn{constructor(e){return e.writable===le&&typeof e.next==ue&&(e=new bn(e)),e instanceof E&&(e={writable:e}),e.size===le&&(e.size=0),e instanceof bn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Sn(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function xn(e,t,n,r){return e.readUint8Array(t,n,r)}const Fn=yn,kn=bn,En="filename",vn="rawFilename",Dn="comment",Tn="rawComment",An="uncompressedSize",Rn="compressedSize",Cn="offset",Wn="diskNumberStart",Nn="lastModDate",Un="rawLastModDate",Ln="lastAccessDate",Mn="creationDate",In="internalFileAttribute",On="internalFileAttributes",Hn="externalFileAttribute",Pn="externalFileAttributes",Vn="msDosCompatible",Bn="zip64",qn="encrypted",Zn="version",Kn="versionMadeBy",Gn="zipCrypto",Yn="directory",jn="executable",Xn=[En,vn,Rn,An,Nn,Un,Dn,Tn,Ln,Mn,Cn,Wn,Wn,In,On,Hn,Pn,Vn,Bn,qn,Zn,Kn,Gn,Yn,jn,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Jn{constructor(e){Xn.forEach(t=>this[t]=e[t])}}const Qn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function $n(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Qn[e[n]];return t}})(e):new _(t).decode(e)}const er="File format is not recognized",tr="Compression method not supported",nr="Split zip file",rr="utf-8",sr="cp437",ar=[[An,Y],[Rn,Y],[Cn,Y],[Wn,j]],ir={[j]:{getValue:mr,bytes:4},[Y]:{getValue:yr,bytes:8}};class or{constructor(e,t={}){n.assign(this,{reader:new _n(e),options:t,config:ge()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await Sn(r),r.size!==le&&r.readUint8Array||(r=new tn(await new d(r.readable).blob()),await Sn(r)),r.size<re)throw new f(er);r.chunkSize=me(s);const a=await(async(e,t,n)=>{const r=new p(4);var s;return s=t,br(r).setUint32(0,s,!0),await a(22)||await a(i.min(1048582,n));async function a(t){const s=n-t,a=await xn(e,s,t);for(let e=a.length-22;e>=0;e--)if(a[e]==r[0]&&a[e+1]==r[1]&&a[e+2]==r[2]&&a[e+3]==r[3])return{offset:s+e,buffer:a.slice(e,e+22).buffer}}})(r,ee,r.size);if(!a)throw mr(br(await xn(r,0,4)))==J?new f(nr):new f("End of central directory not found");const o=br(a);let c=mr(o,12),l=mr(o,16);const u=a.offset,h=gr(o,20),w=u+re+h;let g=gr(o,4);const m=r.lastDiskNumber||0;let b=gr(o,6),_=gr(o,8),z=0,S=0;if(l==Y||c==Y||_==j||b==j){const e=br(await xn(r,a.offset-20,20));if(mr(e,0)==ne){l=yr(e,8);let t=await xn(r,l,56,-1),n=br(t);const s=a.offset-20-56;if(mr(n,0)!=te&&l!=s){const e=l;l=s,z=l-e,t=await xn(r,l,56,-1),n=br(t)}if(mr(n,0)!=te)throw new f("End of Zip64 central directory locator not found");g==j&&(g=mr(n,16)),b==j&&(b=mr(n,20)),_==j&&(_=yr(n,32)),c==Y&&(c=yr(n,40)),l-=c}}if(l<r.size||(z=r.size-l-c-re,l=r.size-c-re),m!=g)throw new f(nr);if(0>l)throw new f(er);let x=0,k=await xn(r,l,c,b),E=br(k);if(c){const e=a.offset-c;if(mr(E,x)!=$&&l!=e){const t=l;l=e,z+=l-t,k=await xn(r,l,c,b),E=br(k)}}const v=a.offset-l-(r.lastDiskOffset||0);if(c==v||0>v||(c=v,k=await xn(r,l,c,b),E=br(k)),0>l||l>=r.size)throw new f(er);const D=fr(t,e,"filenameEncoding"),T=fr(t,e,"commentEncoding");for(let a=0;_>a;a++){const o=new cr(r,s,t.options);if(mr(E,x)!=$)throw new f("Central directory header not found");lr(o,E,x+6);const c=!!o.bitFlag.languageEncodingFlag,l=x+46,u=l+o.filenameLength,p=u+o.extraFieldLength,h=gr(E,x+4),w=!(h>>8),g=h>>8==3,m=k.subarray(l,u),b=gr(E,x+32),v=p+b,A=k.subarray(p,v),R=c,C=c,W=mr(E,x+38),N=w&&!(16&~wr(E,x+38))||g&&16384==(W>>16&61440)||m.length&&47==m[m.length-1],U=g&&!!(W>>16&73),L=mr(E,x+42)+z;n.assign(o,{versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:b,directory:N,offset:L,diskNumberStart:gr(E,x+34),internalFileAttributes:gr(E,x+36),externalFileAttributes:W,rawFilename:m,filenameUTF8:R,commentUTF8:C,rawExtraField:k.subarray(u,p),executable:U}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const M=fr(t,e,"decodeText")||$n,I=R?rr:D||sr,O=C?rr:T||sr;let H=M(m,I);H===le&&(H=$n(m,I));let P=M(A,O);P===le&&(P=$n(A,O)),n.assign(o,{rawComment:A,filename:H,comment:P,directory:N||H.endsWith(ie)}),S=i.max(L,S),dr(o,o,E,x+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const V=new Jn(o);V.getData=(e,t)=>o.getData(e,V,t),V.arrayBuffer=async e=>{const t=new F,[n]=await y.all([new d(t.readable).arrayBuffer(),o.getData(t,V,e)]);return n},x=v;const{onprogress:B}=e;if(B)try{await B(a+1,_,new Jn(o))}catch(e){}yield V}const A=fr(t,e,"extractPrependedData"),R=fr(t,e,"extractAppendedData");return A&&(t.prependedData=S>0?await xn(r,0,S):new p),t.comment=h?await xn(r,u+re,h):new p,R&&(t.appendedData=w<r.size?await xn(r,w,r.size-w):new p),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class cr{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,r={}){const s=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:c,compressionMethod:l,config:d,bitFlag:u,signature:h,rawLastModDate:w,uncompressedSize:g,compressedSize:m}=s,y=t.localDirectory={},b=br(await xn(a,i,34,o));let _=fr(s,r,"password"),z=fr(s,r,"rawPassword");const S=fr(s,r,"passThrough");if(_=_&&_.length&&_,z=z&&z.length&&z,c&&99!=c.originalCompressionMethod)throw new f(tr);if(0!=l&&8!=l&&!S)throw new f(tr);if(mr(b,0)!=X)throw new f("Local file header not found");lr(y,b,4),y.rawExtraField=y.extraFieldLength?await xn(a,i+30+y.filenameLength,y.extraFieldLength,o):new p,dr(s,y,b,4,!0),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const x=s.encrypted&&y.encrypted&&!S,F=x&&!c;if(S||(t.zipCrypto=F),x){if(!F&&c.strength===le)throw new f("Encryption method not supported");if(!_&&!z)throw new f("File contains encrypted entry")}const k=i+30+y.filenameLength+y.extraFieldLength,v=m,D=a.readable;n.assign(D,{diskNumberStart:o,offset:k,size:v});const T=fr(s,r,"signal"),A=fr(s,r,"checkPasswordOnly");A&&(e=new E),e=new zn(e),await Sn(e,S?m:g);const{writable:R}=e,{onstart:C,onprogress:W,onend:N}=r,U={options:{codecType:Et,password:_,rawPassword:z,zipCrypto:F,encryptionStrength:c&&c.strength,signed:fr(s,r,"checkSignature")&&!S,passwordVerification:F&&(u.dataDescriptor?w>>>8&255:h>>>24&255),signature:h,compressed:0!=l&&!S,encrypted:s.encrypted&&!S,useWebWorkers:fr(s,r,"useWebWorkers"),useCompressionStream:fr(s,r,"useCompressionStream"),transferStreams:fr(s,r,"transferStreams"),checkPasswordOnly:A},config:d,streamOptions:{signal:T,size:v,onstart:C,onprogress:W,onend:N}};try{const{outputSize:t}=await Pt({readable:D,writable:R},U);e.size+=t}catch(t){if(t.outputSize!==le&&(e.size+=t.outputSize),!A||t.message!=Ce)throw t}finally{fr(s,r,"preventClose")||R.locked||await R.getWriter().close()}return A?le:e.getData?e.getData():R}}function lr(e,t,r){const s=e.rawBitFlag=gr(t,r+2),a=!(1&~s),i=mr(t,r+6);n.assign(e,{encrypted:a,version:gr(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&ae)==ae},rawLastModDate:i,lastModDate:pr(i),filenameLength:gr(t,r+22),extraFieldLength:gr(t,r+24)})}function dr(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=br(new p(i));let u=0;try{for(;u<i.length;){const e=gr(d,u),t=gr(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const h=gr(r,s+4);n.assign(t,{signature:mr(r,s+10),compressedSize:mr(r,s+14),uncompressedSize:mr(r,s+18)});const w=l.get(1);w&&(((e,t)=>{t.zip64=!0;const n=br(e.data),r=ar.filter(([e,n])=>t[e]==n);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s];if(t[i]==o){const r=ir[o];t[i]=e[i]=r.getValue(n,a),a+=r.bytes}else if(e[i])throw new f("Zip64 extra field not found")}})(w,t),t.extraFieldZip64=w);const g=l.get(28789);g&&(ur(g,En,vn,t,e),t.extraFieldUnicodePath=g);const m=l.get(25461);m&&(ur(m,Dn,Tn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y?(((e,t,r)=>{const s=br(e.data),a=wr(s,4);n.assign(e,{vendorVersion:wr(s,0),vendorId:wr(s,2),strength:a,originalCompressionMethod:r,compressionMethod:gr(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,h),t.extraFieldAES=y):t.compressionMethod=h;const b=l.get(10);b&&(((e,t)=>{const r=br(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=gr(r,a),n=gr(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(s&&24==s.length){const r=br(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:hr(a),lastAccessDate:hr(i),creationDate:hr(o)};n.assign(e,c),n.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const _=l.get(se);_&&(((e,t,n)=>{const r=br(e.data),s=wr(r,0),a=[],i=[];n?(1&~s||(a.push(Nn),i.push(Un)),2&~s||(a.push(Ln),i.push("rawLastAccessDate")),4&~s||(a.push(Mn),i.push("rawCreationDate"))):5>e.data.length||(a.push(Nn),i.push(Un));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=mr(r,c);t[n]=e[n]=new o(1e3*a);const l=i[s];e[l]=a}c+=4})})(_,t,a),t.extraFieldExtendedTimestamp=_);const z=l.get(6534);z&&(t.extraFieldUSDZ=z)}function ur(e,t,r,s,a){const i=br(e.data),o=new ze;o.append(a[r]);const c=br(new p(4));c.setUint32(0,o.get(),!0);const l=mr(i,1);n.assign(e,{version:wr(i,0),[t]:$n(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==mr(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function fr(e,t,n){return t[n]===le?e.options[n]:t[n]}function pr(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function hr(e){return new o(s(e/a(1e4)-a(116444736e5)))}function wr(e,t){return e.getUint8(t)}function gr(e,t){return e.getUint16(t,!0)}function mr(e,t){return e.getUint32(t,!0)}function yr(e,t){return s(e.getBigUint64(t,!0))}function br(e){return new g(e.buffer)}const _r="File already exists",zr="Zip file comment exceeds 64KB",Sr="File entry comment exceeds 64KB",xr="File entry name exceeds 64KB",Fr="Version exceeds 65535",kr="The strength must equal 1, 2, or 3",Er="Extra field type exceeds 65535",vr="Extra field data exceeds 64KB",Dr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Tr="Undefined uncompressed size",Ar="Zip file not empty",Rr=new p([7,0,2,0,65,69,3,0,0]);let Cr=0;const Wr=[];class Nr{constructor(e,t={}){const r=(e=new zn(e)).availableSize!==le&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==le&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:r,options:t,config:ge(),files:new c,filenames:new l,offset:t.offset===le?e.size||e.writable.size||0:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(Ar);e=new _n(e);const t=new or(e.readable),r=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(r.map(e=>e.filename)),this.files=new c(r.map(e=>{const{version:t,compressionMethod:r,lastModDate:s,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:h,zip64:w}=e;let{rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_}=e;const{level:z,languageEncodingFlag:S,dataDescriptor:x}=c;g=g||new p,m=m||new p,y=y||new p,b=b||new p,_=_||new p;const F=Kr(g,m,y,b,_),k=w&&d>Y,E=w&&u>Y,{headerArray:v,headerView:D}=Gr({version:t,bitFlag:Yr(z,S,x,l,r),compressionMethod:r,uncompressedSize:d,compressedSize:u,lastModDate:s,rawFilename:o,zip64CompressedSize:E,zip64UncompressedSize:k,extraFieldLength:F});return n.assign(e,{zip64UncompressedSize:k,zip64CompressedSize:E,zip64Offset:w&&this.offset-f>Y,zip64DiskNumberStart:w&&h>j,rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:v,headerView:D}),[e.filename,e]}))}async add(e="",r,s={}){const c=this,{pendingAddFileCalls:l,config:u}=c;let w;Cr<u.maxWorkers?Cr++:await new y(e=>Wr.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(_r);return c.filenames.add(e),w=(async(e,r,s,c)=>{r=r.trim();const l=Ir(e,c,Vn),u=Ir(e,c,Kn,l?20:768),w=Ir(e,c,jn);if(u>j)throw new f(Fr);let g=Ir(e,c,Pn,0);0===g&&(g=Ir(e,c,Hn,0)),!c.directory&&r.endsWith(ie)&&(c.directory=!0),Ir(e,c,Yn)?(r.endsWith(ie)||(r+=ie),0===g&&(g=16,l||(g|=16877<<16))):l||0!==g||(g=w?493<<16:27525120);const m=Ir(e,c,"encodeText",xe);let b=m(r);if(b===le&&(b=xe(r)),Kr(b)>j)throw new f(xr);const _=c.comment||"";let z=m(_);if(z===le&&(z=xe(_)),Kr(z)>j)throw new f(Sr);const S=Ir(e,c,Zn,20);if(S>j)throw new f(Fr);const x=Ir(e,c,Nn,new o),k=Ir(e,c,Ln),E=Ir(e,c,Mn);let v=Ir(e,c,On,0);0===v&&(v=Ir(e,c,In,0));const D=Ir(e,c,"passThrough");let T,A;D||(T=Ir(e,c,"password"),A=Ir(e,c,"rawPassword"));const R=Ir(e,c,"encryptionStrength",3),C=Ir(e,c,Gn),W=Ir(e,c,"extendedTimestamp",!0),N=Ir(e,c,"keepOrder",!0),U=Ir(e,c,"level"),L=Ir(e,c,"useWebWorkers"),M=Ir(e,c,"bufferedWrite"),I=Ir(e,c,"dataDescriptorSignature",!1),O=Ir(e,c,"signal"),H=Ir(e,c,"useUnicodeFileNames",!0),P=Ir(e,c,"useCompressionStream"),V=Ir(e,c,"compressionMethod");let B=Ir(e,c,"dataDescriptor");M&&B===le&&(B=!1),(B===le||C)&&(B=!0);let q=Ir(e,c,Bn);if(!C&&(T!==le||A!==le)&&(1>R||R>3))throw new f(kr);let Z=new p;const{extraField:K}=c;if(K){let e=0,t=0;K.forEach(t=>e+=4+Kr(t)),Z=new p(e),K.forEach((e,n)=>{if(n>j)throw new f(Er);if(Kr(e)>j)throw new f(vr);qr(Z,new h([n]),t),qr(Z,new h([Kr(e)]),t+2),qr(Z,e,t+4),t+=4+Kr(e)})}let G=0,$=0,ee=0;if(D&&(({uncompressedSize:ee}=c),ee===le))throw new f(Tr);const te=!0===q;s&&(s=new _n(s),await Sn(s),D?(c.uncompressedSize=ee,G=Or(ee)):s.size===le?(B=!0,(q||q===le)&&(q=!0,ee=G=4294967296)):(c.uncompressedSize=ee=s.size,G=Or(ee)));const{diskOffset:ne,diskNumber:re,maxSize:ae}=e.writer,de=te||ee>Y,ue=te||G>Y,fe=te||e.offset+e.pendingEntriesSize-ne>Y,pe=Ir(e,c,"supportZip64SplitFile",!0)&&te||re+i.ceil(e.pendingEntriesSize/ae)>j;if(fe||de||ue||pe){if(!1===q||!N)throw new f(Dr);q=!0}q=q||!1;const he=Ir(e,c,qn),{signature:we}=c,ge=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:h,encryptionStrength:w,extendedTimestamp:g,passThrough:m,encrypted:y,zip64UncompressedSize:b,zip64CompressedSize:_,zip64Offset:z,zip64DiskNumberStart:S,uncompressedSize:x,offset:F,diskNumberStart:k}=e;let{version:E,compressionMethod:v}=e;const D=!f&&(o>0||o===le&&0!==v);let T;const A=m||!D,R=c&&(e.bufferedWrite||!b&&!_||A);if(c){let e=4;b&&(e+=8),_&&(e+=8),z&&(e+=8),S&&(e+=4),T=new p(e);const t=Zr(T);if(Pr(t,0,1),Pr(t,2,Kr(T)-4),R){const e=Zr(T);let t=4;b&&(Br(e,t,a(x)),t+=8),_&&A&&(Br(e,t,a(x)),t+=8),z&&(Br(e,t,a(F)),t+=8),S&&(Vr(e,t,k),t+=4)}}else T=new p;let C,W,N,U;if(y&&!l){C=new p(Kr(Rr)+2);const e=Zr(C);Pr(e,0,39169),qr(C,Rr,2),Hr(e,8,w)}else C=new p;if(g){N=new p(9+(r?4:0)+(s?4:0));const e=Zr(N);Pr(e,0,se),Pr(e,2,Kr(N)-4),U=1+(r?2:0)+(s?4:0),Hr(e,4,U);let t=5;Vr(e,t,i.floor(n.getTime()/1e3)),t+=4,r&&(Vr(e,t,i.floor(r.getTime()/1e3)),t+=4),s&&Vr(e,t,i.floor(s.getTime()/1e3));try{W=new p(36);const e=Zr(W),t=Mr(n);Pr(e,0,10),Pr(e,2,32),Pr(e,8,1),Pr(e,10,24),Br(e,12,t),Br(e,20,Mr(r)||t),Br(e,28,Mr(s)||t)}catch(e){W=new p}}else W=N=new p;v===le&&(v=D?8:0),c&&(E=E>45?E:45),y&&!l&&(E=E>51?E:51,C[9]=v,v=99);const L=R?Kr(T):0,M=L+Kr(C,N,W,h),{headerArray:I,headerView:O,rawLastModDate:H}=Gr({version:E,bitFlag:Yr(o,d,u,y,v),compressionMethod:v,uncompressedSize:x,lastModDate:ce>n?ce:n>oe?oe:n,rawFilename:t,zip64CompressedSize:_,zip64UncompressedSize:b,extraFieldLength:M});let P=30;const V=new p(P+Kr(t)+M),B=Zr(V);return Vr(B,0,X),qr(V,I,4),qr(V,t,P),P+=Kr(t),R&&qr(V,T,P),P+=L,qr(V,C,P),P+=Kr(C),qr(V,N,P),P+=Kr(N),qr(V,W,P),P+=Kr(W),qr(V,h,P),u&&(Vr(B,18,0),Vr(B,22,0)),{localHeaderArray:V,localHeaderView:B,headerArray:I,headerView:O,lastModDate:n,rawLastModDate:H,encrypted:y,compressed:D,version:E,compressionMethod:v,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:T,localExtraFieldZip64Length:L,rawExtraFieldExtendedTimestamp:N,rawExtraFieldNTFS:W,rawExtraFieldAES:C,extraFieldLength:M}})(c=n.assign({},c,{rawFilename:b,rawComment:z,version:S,versionMadeBy:u,lastModDate:x,lastAccessDate:k,creationDate:E,rawExtraField:Z,zip64:q,zip64UncompressedSize:de,zip64CompressedSize:ue,zip64Offset:fe,zip64DiskNumberStart:pe,password:T,rawPassword:A,level:P||e.config.CompressionStream!==le||e.config.CompressionStreamNative!==le?U:0,useWebWorkers:L,encryptionStrength:R,extendedTimestamp:W,zipCrypto:C,bufferedWrite:M,keepOrder:N,useUnicodeFileNames:H,dataDescriptor:B,dataDescriptorSignature:I,signal:O,msDosCompatible:l,internalFileAttribute:v,internalFileAttributes:v,externalFileAttribute:g,externalFileAttributes:g,useCompressionStream:P,passThrough:D,encrypted:!!(T&&Kr(T)||A&&Kr(A))||D&&he,signature:we,compressionMethod:V,uncompressedSize:ee,offset:e.offset-ne,diskNumberStart:re})),ye=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=new p,a=0;return t&&(s=new p(e?n?24:20:n?16:12),r=Zr(s),n&&(a=4,Vr(r,0,Q))),{dataDescriptorArray:s,dataDescriptorView:r,dataDescriptorOffset:a}})(c),be=Kr(ge.localHeaderArray,ye.dataDescriptorArray);let _e;$=be+G,e.options.usdz&&($+=$+64),e.pendingEntriesSize+=$;try{_e=await(async(e,r,s,i,o)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:h,signal:w}=o,{headerInfo:g}=i,{usdz:m}=e.options,b=t.from(c.values()).pop();let _,z,S,x,k,E,v,D={};c.set(r,D);try{let t;u&&(t=b&&b.lock,D.lock=new y(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&h||m?(E=l,await T()):(E=new F,E.size=0,_=!0,e.bufferedWrites++,await Sn(l)),await Sn(E);const{writable:z,diskOffset:R}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Vr(Zr(t),0,J),await Lr(l,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:r,extraFieldLength:s}=n,a=Zr(r),i=64-(t+Kr(r))%64;4>i&&(i+=64);const o=new p(i),c=Zr(o);Pr(c,0,6534),Pr(c,2,i-2);const l=r;n.localHeaderArray=r=new p(Kr(l)+i),qr(r,l),qr(r,o,Kr(l)),a=Zr(r),Pr(a,28,s+i),e.metadataSize+=i})(i,e.offset-R);const{localHeaderView:C,localHeaderArray:W}=g;_||(await t,await A(z));const{diskNumber:N}=l;k=!0,D.diskNumberStart=N,_?v=new d(E.readable).blob():await Lr(E,W),D=await(async(e,t,{diskNumberStart:r,lock:s},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:h,rawLastModDate:w,encrypted:g,compressed:m,version:y,compressionMethod:b,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:x,rawExtraFieldNTFS:F,rawExtraFieldAES:k}=l,{dataDescriptorArray:E}=d,{rawFilename:v,lastAccessDate:D,creationDate:T,password:A,rawPassword:R,level:C,zip64:W,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M,zipCrypto:I,dataDescriptor:O,directory:H,executable:P,versionMadeBy:V,rawComment:B,rawExtraField:q,useWebWorkers:Z,onstart:K,onprogress:G,onend:Y,signal:j,encryptionStrength:X,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,useCompressionStream:te,passThrough:ne}=c,re={lock:s,versionMadeBy:V,zip64:W,directory:!!H,executable:!!P,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:B,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:F,rawExtraFieldAES:k,rawExtraField:q,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,diskNumberStart:r};let{signature:se,uncompressedSize:ae}=c,ie=0;ne||(ae=0);const{writable:oe}=t;if(e){e.chunkSize=me(o);const n=e.readable,r=e.size,s={options:{codecType:kt,level:C,rawPassword:R,password:A,encryptionStrength:X,zipCrypto:g&&I,passwordVerification:g&&I&&w>>8&255,signed:!ne,compressed:m&&!ne,encrypted:g&&!ne,useWebWorkers:Z,useCompressionStream:te,transferStreams:!1},config:o,streamOptions:{signal:j,size:r,onstart:K,onprogress:G,onend:Y}};try{const e=await Pt({readable:n,writable:oe},s);ie=e.outputSize,t.size+=ie,ne||(ae=e.inputSize,se=e.signature)}catch(e){throw e.outputSize!==le&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:n,headerInfo:r,dataDescriptorInfo:s},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=r,{dataDescriptorView:u,dataDescriptorOffset:f}=s;d&&!o||e===le||(Vr(l,10,e),c&&Vr(u,f,e)),i?c&&(Br(u,f+4,a(t)),Br(u,f+12,a(n))):(Vr(l,14,t),Vr(l,18,n),c&&(Vr(u,f+4,t),Vr(u,f+8,n)))})({signature:se,compressedSize:ie,uncompressedSize:ae,headerInfo:l,dataDescriptorInfo:d},c),O&&await Lr(t,E),n.assign(re,{uncompressedSize:ae,compressedSize:ie,lastModDate:h,rawLastModDate:w,creationDate:T,lastAccessDate:D,encrypted:g,zipCrypto:I,size:u+ie,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:se,extraFieldExtendedTimestampFlag:x,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M}),re})(s,E,D,i,e.config,o);const{zip64:U}=D;if(k=!1,c.set(r,D),D.filename=r,_){const[n]=await y.all([v,E.writable.getWriter().close(),t]);await T(),x=!0,D.diskNumberStart=l.diskNumber,D.offset=e.offset-l.diskOffset,U&&Ur(D),(({rawFilename:e,encrypted:t,zip64:n,localExtraFieldZip64Length:r,signature:s,compressedSize:i,uncompressedSize:o,offset:c,diskNumberStart:l,zip64UncompressedSize:d,zip64CompressedSize:u,zip64Offset:f,zip64DiskNumberStart:p},h,{dataDescriptor:w})=>{if(w||(t||Vr(h,14,s),n||(Vr(h,18,i),Vr(h,22,o))),n&&r){let t=30+Kr(e)+4;d&&(Br(h,t,a(o)),t+=8),u&&(Br(h,t,a(i)),t+=8),f&&(Br(h,t,a(c)),t+=8),p&&Vr(h,t,l)}})(D,C,o),await A(z),await Lr(l,W),await n.stream().pipeTo(z,{preventClose:!0,preventAbort:!0,signal:w}),l.size+=E.size,x=!1}else D.offset=e.offset-R,U&&Ur(D);if(D.offset>Y&&!U)throw new f(Dr);return e.offset+=D.size,D}catch(t){if(_&&x||!_&&k){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}_?e.offset+=E.size:e.offset=E.size}throw c.delete(r),t}finally{_&&e.bufferedWrites--,S&&S(),z&&z()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>z=()=>{e.writerLocked=!1,t()}),await t}async function A(e){Kr(g.localHeaderArray)>l.availableSize&&(l.availableSize=0,await Lr(e,new p))}})(e,r,s,{headerInfo:ge,dataDescriptorInfo:ye,metadataSize:be},c)}finally{e.pendingEntriesSize-=$}return n.assign(_e,{name:r,comment:_,extraField:K}),new Jn(_e)})(c,e,r,s),l.add(w),await w}catch(t){throw c.filenames.delete(e),t}finally{l.delete(w);const e=Wr.shift();e?e():Cr--}}remove(e){const{filenames:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==le){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=new p,n={}){const{pendingAddFileCalls:r,writer:s}=this,{writable:o}=s;for(;r.size;)await y.allSettled(t.from(r));return await(async(e,n,r)=>{const{files:s,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,h=e.offset-c,w=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:d}=e;let f;if(c){f=new p(9);const e=Zr(f);Pr(e,0,se),Pr(e,2,5),Hr(e,4,l),Vr(e,5,i.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+Kr(t,s,n,r,a,f,o)}const g=new p(u),m=Zr(g);await Sn(o);let y=0;for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:h,headerArray:w,headerView:b,zip64:_,zip64UncompressedSize:z,zip64CompressedSize:S,zip64DiskNumberStart:x,zip64Offset:F,internalFileAttributes:k,externalFileAttributes:E,diskNumberStart:v,uncompressedSize:D,compressedSize:T}=n,A=Kr(i,c,l,u,f);Vr(m,d,$),Pr(m,d+4,h),z||Vr(b,18,D),S||Vr(b,14,T),qr(g,w,d+6);let R=d+26+4;if(Pr(m,R,A),R+=2,Pr(m,R,Kr(p)),R+=2,Pr(m,R,_&&x?j:v),R+=2,Pr(m,R,k),R+=2,E&&Vr(m,R,E),R+=4,Vr(m,R,_&&F?Y:t),R+=4,qr(g,a,R),R+=Kr(a),qr(g,i,R),R+=Kr(i),qr(g,c,R),R+=Kr(c),qr(g,l,R),R+=Kr(l),qr(g,u,R),R+=Kr(u),qr(g,f,R),R+=Kr(f),qr(g,p,R),d-y>o.availableSize&&(o.availableSize=0,await Lr(o,g.slice(y,d)),y=d),d=R,r.onprogress)try{await r.onprogress(e+1,s.size,new Jn(n))}catch(e){}}await Lr(o,y?g.slice(y):g);let b=o.diskNumber;const{availableSize:_}=o;re>_&&b++;let z=Ir(e,r,Bn);if(h>Y||u>Y||w>j||b>j){if(!1===z)throw new f(Dr);z=!0}const S=new p(z?98:re),x=Zr(S);d=0,z&&(Vr(x,0,te),Br(x,4,a(44)),Pr(x,12,45),Pr(x,14,45),Vr(x,16,b),Vr(x,20,l),Br(x,24,a(w)),Br(x,32,a(w)),Br(x,40,a(u)),Br(x,48,a(h)),Vr(x,56,ne),Br(x,64,a(h)+a(u)),Vr(x,72,b+1),Ir(e,r,"supportZip64SplitFile",!0)&&(b=j,l=j),w=j,h=Y,u=Y,d+=76),Vr(x,d,ee),Pr(x,d+4,b),Pr(x,d+6,l),Pr(x,d+8,w),Pr(x,d+10,w),Vr(x,d+12,u),Vr(x,d+16,h);const F=Kr(n);if(F){if(F>j)throw new f(zr);Pr(x,d+20,F)}await Lr(o,S),F&&await Lr(o,n)})(this,e,n),Ir(this,n,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}function Ur({compressedSize:e,uncompressedSize:t,offset:n,diskNumberStart:r,zip64UncompressedSize:s,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=Zr(l);let u=4;s&&(Br(d,u,a(t)),u+=8),i&&(Br(d,u,a(e)),u+=8),o&&(Br(d,u,a(n)),u+=8),c&&Vr(d,u,r)}async function Lr(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Kr(t),await r.write(t)}finally{r.releaseLock()}}function Mr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ir(e,t,n,r){const s=t[n]===le?e.options[n]:t[n];return s===le?r:s}function Or(e){return e+5*(i.floor(e/16383)+1)}function Hr(e,t,n){e.setUint8(t,n)}function Pr(e,t,n){e.setUint16(t,n,!0)}function Vr(e,t,n){e.setUint32(t,n,!0)}function Br(e,t,n){e.setBigUint64(t,n,!0)}function qr(e,t,n){e.set(t,n)}function Zr(e){return new g(e.buffer)}function Kr(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Gr({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=Zr(d);Pr(u,0,e),Pr(u,2,t),Pr(u,4,n);const f=new w(1),h=Zr(f);Pr(h,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Pr(h,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const g=f[0];return Vr(u,6,g),(o||s!==le)&&Vr(u,14,o?Y:s),(c||r!==le)&&Vr(u,18,c?Y:r),Pr(u,22,Kr(i)),Pr(u,24,l),{headerArray:d,headerView:u,rawLastModDate:g}}function Yr(e,t,n,r,s){let a=0;return t&&(a|=ae),n&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}ye({Deflate:function(e){const t=new G,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(r/16383)+1);var r;const s=new p(n);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,r)=>{let a,i,o=0,c=0,l=0;const d=[];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 f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(l),d.forEach(e=>{i.set(e,c),c+=e.length})):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,r,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);n-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new p(i),o.forEach(e=>{r.set(e,a),a+=e.length}),r}}}),e.BlobReader=tn,e.BlobWriter=nn,e.Data64URIReader=class extends $t{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,s=new p(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends en{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,s=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=r.fromCharCode(e[n]);s.length>2?t.data+=x(s):t.pending=s}getData(){return this.data+x(this.pending)}},e.ERR_DUPLICATED_NAME=_r,e.ERR_HTTP_RANGE=qt,e.ERR_INVALID_COMMENT=zr,e.ERR_INVALID_ENCRYPTION_STRENGTH=kr,e.ERR_INVALID_ENTRY_COMMENT=Sr,e.ERR_INVALID_ENTRY_NAME=xr,e.ERR_INVALID_EXTRAFIELD_DATA=vr,e.ERR_INVALID_EXTRAFIELD_TYPE=Er,e.ERR_INVALID_VERSION=Fr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Zt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Tr,e.ERR_UNSUPPORTED_FORMAT=Dr,e.ERR_WRITER_NOT_INITIALIZED=Kt,e.ERR_ZIP_NOT_EMPTY=Ar,e.GenericReader=_n,e.GenericWriter=zn,e.HttpRangeReader=class extends mn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=mn,e.Reader=$t,e.SplitDataReader=yn,e.SplitDataWriter=bn,e.SplitZipReader=Fn,e.SplitZipWriter=kn,e.TextReader=class extends tn{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends nn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y((s,a)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(r,e)})}}},e.Uint8ArrayReader=class extends $t{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends en{init(e=0){n.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new p(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=en,e.ZipWriter=Nr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new Nr(n,e)}transform(e){const{readable:t,writable:n}=new F({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new F;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ye,e.getMimeType=()=>"application/octet-stream",e.initStream=Sn,e.readUint8Array=xn,e.terminateWorkers=async()=>{await y.allSettled(It.map(e=>(Vt(e),e.terminate())))}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:_,document:z,crypto:S,btoa:x,TransformStream:F,ReadableStream:k,WritableStream:E,CompressionStream:v,DecompressionStream:D,navigator:T,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self,R=-2;function C(e){return W(e.map(([e,n])=>new t(e).fill(n,0,e)))}function W(e){return e.reduce((e,n)=>e.concat(t.isArray(n)?W(n):n),[])}const N=[0,1,2,3].concat(...C([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function U(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,c,l,d=-1;for(n.heap_len=0,n.heap_max=573,o=0;a>o;o++)0!==r[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):r[2*o+1]=0;for(;2>n.heap_len;)l=n.heap[++n.heap_len]=2>d?++d:0,r[2*l]=1,n.depth[l]=0,n.opt_len--,s&&(n.static_len-=s[2*l+1]);for(e.max_code=d,o=i.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(r,o);l=a;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),c=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=c,r[2*l]=r[2*o]+r[2*c],n.depth[l]=i.max(n.depth[o],n.depth[c])+1,r[2*o+1]=r[2*c+1]=l,n.heap[1]=l++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,c,l,d,u,f,p=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>i&&(d=i,p++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,a>c||(u=s[c-a]),f=n[2*c],t.opt_len+=f*(d+u),r&&(t.static_len+=f*(r[2*c+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}})(n),((e,n,r)=>{const s=[];let a,i,o,c=0;for(a=1;15>=a;a++)s[a]=c=c+r[a-1]<<1;for(i=0;n>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(r,e.max_code,n.bl_count)}}function L(e,t,n,r,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=r,a.max_length=s}U._length_code=[0,1,2,3,4,5,6,7].concat(...C([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),U.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],U.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.extra_lbits=[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],U.extra_dbits=[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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const M=C([[144,8],[112,9],[24,7],[8,8]]);L.static_ltree=W([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,M[t]]));const I=C([[30,5]]);function O(e,t,n,r,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=r,a.func=s}L.static_dtree=W([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,I[t]])),L.static_l_desc=new L(L.static_ltree,U.extra_lbits,257,286,15),L.static_d_desc=new L(L.static_dtree,U.extra_dbits,0,30,15),L.static_bl_desc=new L(null,U.extra_blbits,0,19,7);const H=[new O(0,0,0,0,0),new O(4,4,8,4,1),new O(4,5,16,8,1),new O(4,6,32,32,1),new O(4,4,16,16,2),new O(8,16,32,32,2),new O(8,16,128,128,2),new O(8,32,128,256,2),new O(32,128,258,1024,2),new O(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,B=666,q=262;function Z(e,t,n,r){const s=e[2*t],a=e[2*n];return a>s||s==a&&r[t]<=r[n]}function K(){const e=this;let t,n,r,s,a,o,c,l,d,u,f,w,g,m,y,b,_,z,S,x,F,k,E,v,D,T,A,C,W,N,M,I,O;const K=new U,G=new U,Y=new U;let j,X,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)M[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)O[2*t]=0;M[512]=1,e.opt_len=e.static_len=0,X=J=0}function ne(e,t){let n,r=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;t>=c;c++)n=s,s=e[2*(c+1)+1],++a<i&&n==s||(o>a?O[2*n]+=a:0!==n?(n!=r&&O[2*n]++,O[32]++):a>10?O[36]++:O[34]++,a=0,r=n,0===s?(i=138,o=3):n==s?(i=6,o=3):(i=7,o=4))}function re(t){e.pending_buf[e.pending++]=t}function se(e){re(255&e),re(e>>>8&255)}function ae(e,t){let n;const r=t;ee>16-r?(n=e,$|=n<<ee&65535,se($),$=n>>>16-ee,ee+=r-16):($|=e<<ee&65535,ee+=r)}function ie(e,t){const n=2*e;ae(65535&t[n],65535&t[n+1])}function oe(e,t){let n,r,s=-1,a=e[1],i=0,o=7,c=4;for(0===a&&(o=138,c=3),n=0;t>=n;n++)if(r=a,a=e[2*(n+1)+1],++i>=o||r!=a){if(c>i)do{ie(r,O)}while(0!==--i);else 0!==r?(r!=s&&(ie(r,O),i--),ie(16,O),ae(i-3,2)):i>10?(ie(18,O),ae(i-11,7)):(ie(17,O),ae(i-3,3));i=0,s=r,0===a?(o=138,c=3):r==a?(o=6,c=3):(o=7,c=4)}}function ce(){16==ee?(se($),$=0,ee=0):8>ee||(re(255&$),$>>>=8,ee-=8)}function le(t,n){let r,s,a;if(e.dist_buf[X]=t,e.lc_buf[X]=255&n,X++,0===t?M[2*n]++:(J++,t--,M[2*(U._length_code[n]+256+1)]++,I[2*U.d_code(t)]++),!(8191&X)&&A>2){for(r=8*X,s=F-_,a=0;30>a;a++)r+=I[2*a]*(5+U.extra_dbits[a]);if(r>>>=3,J<i.floor(X/2)&&r<i.floor(s/2))return!0}return X==j-1}function de(t,n){let r,s,a,i,o=0;if(0!==X)do{r=e.dist_buf[o],s=e.lc_buf[o],o++,0===r?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),r--,a=U.d_code(r),ie(a,n),i=U.extra_dbits[a],0!==i&&(r-=U.base_dist[a],ae(r,i)))}while(X>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&re(255&$),$=0,ee=0}function fe(t,n,r){ae(0+(r?1:0),3),((t,n)=>{ue(),Q=8,se(n),se(~n),e.pending_buf.set(l.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function pe(n){((t,n,r)=>{let s,a,i=0;A>0?(K.build_tree(e),G.build_tree(e),i=(()=>{let t;for(ne(M,K.max_code),ne(I,G.max_code),Y.build_tree(e),t=18;t>=3&&0===O[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=n+5,n+4>s||-1==t?a==s?(ae(2+(r?1:0),3),de(L.static_ltree,L.static_dtree)):(ae(4+(r?1:0),3),((e,t,n)=>{let r;for(ae(e-257,5),ae(t-1,5),ae(n-4,4),r=0;n>r;r++)ae(O[2*U.bl_order[r]+1],3);oe(M,e-1),oe(I,t-1)})(K.max_code+1,G.max_code+1,i+1),de(M,I)):fe(t,n,r),te(),r&&ue()})(0>_?-1:_,F-_,n),_=F,t.flush_pending()}function he(){let e,n,r,s;do{if(s=d-E-F,0===s&&0===F&&0===E)s=a;else if(-1==s)s--;else if(F>=a+a-q){l.set(l.subarray(a,a+a),0),k-=a,F-=a,_-=a,e=g,r=e;do{n=65535&f[--r],f[r]=a>n?0:n-a}while(0!==--e);e=a,r=e;do{n=65535&u[--r],u[r]=a>n?0:n-a}while(0!==--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(l,F+E,s),E+=e,3>E||(w=255&l[F],w=(w<<b^255&l[F+1])&y)}while(q>E&&0!==t.avail_in)}function we(e){let t,n,r=D,s=F,i=v;const o=F>a-q?F-(a-q):0;let d=N;const f=c,p=F+258;let h=l[s+i-1],w=l[s+i];W>v||(r>>=2),d>E&&(d=E);do{if(t=e,l[t+i]==w&&l[t+i-1]==h&&l[t]==l[s]&&l[++t]==l[s+1]){s+=2,t++;do{}while(l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&p>s);if(n=258-(p-s),s=p-258,n>i){if(k=e,i=n,n>=d)break;h=l[s+i-1],w=l[s+i]}}}while((e=65535&u[e&f])>o&&0!==--r);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],M=[],I=[],O=[],e.pqdownheap=(t,n)=>{const r=e.heap,s=r[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,r[a+1],r[a],e.depth)&&a++,!Z(t,s,r[a],e.depth));)r[n]=r[a],n=a,a<<=1;r[n]=s},e.deflateInit=(t,S,k,U,P,B)=>(U||(U=8),P||(P=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>P||P>9||8!=U||9>k||k>15||0>S||S>9||0>B||B>2?R:(t.dstate=e,o=k,a=1<<o,c=a-1,m=P+7,g=1<<m,y=g-1,b=i.floor((m+3-1)/3),l=new p(2*a),u=[],f=[],j=1<<P+6,e.pending_buf=new p(4*j),r=4*j,e.dist_buf=new h(j),e.lc_buf=new p(j),A=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,s=0,K.dyn_tree=M,K.stat_desc=L.static_l_desc,G.dyn_tree=I,G.stat_desc=L.static_d_desc,Y.dyn_tree=O,Y.stat_desc=L.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[g-1]=0;for(let e=0;g-1>e;e++)f[e]=0;T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain,F=0,_=0,E=0,z=v=2,x=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=V&&n!=B?R:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,l=null,e.dstate=null,n==V?-3:0),e.deflateParams=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?R:(H[A].func!=H[t].func&&0!==e.total_in&&(r=e.deflate(1)),A!=t&&(A=t,T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain),C=n,r)},e.deflateSetDictionary=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return R;if(3>i)return 0;for(i>a-q&&(i=a-q,o=r-i),l.set(t.subarray(o,o+i),0),F=i,_=i,w=255&l[0],w=(w<<b^255&l[1])&y,s=0;i-3>=s;s++)w=(w<<b^255&l[s+2])&y,u[s&c]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,m,D,W;if(d>4||0>d)return R;if(!i.next_out||!i.next_in&&0!==i.avail_in||n==B&&4!=d)return i.msg=P[4],R;if(0===i.avail_out)return i.msg=P[7],-5;var N;if(t=i,D=s,s=d,42==n&&(h=8+(o-8<<4)<<8,m=(A-1&255)>>1,m>3&&(m=3),h|=m<<6,0!==F&&(h|=32),h+=31-h%31,n=V,re((N=h)>>8&255),re(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=P[7],-5;if(n==B&&0!==t.avail_in)return i.msg=P[7],-5;if(0!==t.avail_in||0!==E||0!=d&&n!=B){switch(W=-1,H[A].func){case 0:W=(e=>{let n,s=65535;for(s>r-5&&(s=r-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(F+=E,E=0,n=_+s,(0===F||F>=n)&&(E=F-n,F=n,pe(!1),0===t.avail_out))return 0;if(F-_>=a-q&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:W=(e=>{let n,r=0;for(;;){if(q>E){if(he(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&l[F+2])&y,r=65535&f[w],u[F&c]=f[w],f[w]=F),0===r||(F-r&65535)>a-q||2!=C&&(z=we(r)),3>z)n=le(0,255&l[F]),E--,F++;else if(n=le(F-k,z-3),E-=z,z>T||3>E)F+=z,z=0,w=255&l[F],w=(w<<b^255&l[F+1])&y;else{z--;do{F++,w=(w<<b^255&l[F+2])&y,r=65535&f[w],u[F&c]=f[w],f[w]=F}while(0!==--z);F++}if(n&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:W=(e=>{let n,r,s=0;for(;;){if(q>E){if(he(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&l[F+2])&y,s=65535&f[w],u[F&c]=f[w],f[w]=F),v=z,S=k,z=2,0!==s&&T>v&&a-q>=(F-s&65535)&&(2!=C&&(z=we(s)),5>=z&&(1==C||3==z&&F-k>4096)&&(z=2)),3>v||z>v)if(0!==x){if(n=le(0,255&l[F-1]),n&&pe(!1),F++,E--,0===t.avail_out)return 0}else x=1,F++,E--;else{r=F+E-3,n=le(F-1-S,v-3),E-=v-1,v-=2;do{++F>r||(w=(w<<b^255&l[F+2])&y,s=65535&f[w],u[F&c]=f[w],f[w]=F)}while(0!==--v);if(x=0,z=2,F++,n&&(pe(!1),0===t.avail_out))return 0}}return 0!==x&&(n=le(0,255&l[F-1]),x=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=W&&3!=W||(n=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,L.static_ltree),ce(),9>1+Q+10-ee&&(ae(2,3),ie(256,L.static_ltree),ce()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;g>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function G(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}G.prototype={deflateInit(e,t){const n=this;return n.dstate=new K,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):R},deflateEnd(){const e=this;if(!e.dstate)return R;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):R},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):R},read_buf(e,t,n){const r=this;let s=r.avail_in;return s>n&&(s=n),0===s?0:(r.avail_in-=s,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+s),t),r.next_in_index+=s,r.total_in+=s,s)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const Y=4294967295,j=65535,X=67324752,J=134695760,Q=J,$=33639248,ee=101010256,te=101075792,ne=117853008,re=22,se=21589,ae=2048,ie="/",oe=new o(2107,11,31),ce=new o(1980,0,1),le=void 0,de="undefined",ue="function";class fe{constructor(e){return class extends F{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)}})}}}}let pe=2;try{typeof T!=de&&T.hardwareConcurrency&&(pe=T.hardwareConcurrency)}catch(e){}const he={chunkSize:524288,maxWorkers:pe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:le,CompressionStreamNative:typeof v!=de&&v,DecompressionStreamNative:typeof D!=de&&D},we=n.assign({},he);function ge(){return we}function me(e){return i.max(e.chunkSize,64)}function ye(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(be("baseURL",n),be("chunkSize",r),be("maxWorkers",s),be("terminateWorkerTimeout",a),be("useCompressionStream",i),be("useWebWorkers",o),c&&(we.CompressionStream=new fe(c)),l&&(we.DecompressionStream=new fe(l)),be("CompressionStream",d),be("DecompressionStream",u),p!==le){const{deflate:e,inflate:n}=p;if((e||n)&&(we.workerScripts||(we.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");we.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");we.workerScripts.inflate=n}}}function be(e,t){t!==le&&(we[e]=t)}const _e=[];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[e]=t}class ze{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^_e[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Se extends F{constructor(){let e;const t=new ze;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new p(4);new g(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function xe(e){if(typeof b==de){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)}const Fe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Fe.getPartial(n);return 32===r?e.concat(t):Fe._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)+Fe.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Fe.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=>i.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<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Fe.getPartial(s);return r.push(Fe.partial(t+a&31,t+a>32?n:r.pop(),1)),r}},ke={bytes:{fromBits(e){const t=Fe.bitLength(e)/8,n=new p(t);let r;for(let s=0;t>s;s++)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;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(Fe.partial(8*(3&n),r)),t}}},Ee=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=ke.utf8String.toBits(e));const n=t._buffer=Fe.concat(t._buffer,e),r=t._length,s=t._length=r+Fe.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;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=Fe.concat(t,[Fe.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.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<<e|t>>>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,a)+n._f(e,o,c,l)+d+s[e]+n._key[i.floor(e/20)]|0;d=l,l=c,c=n._S(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},ve={getRandomValues(e){const t=new w(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)*(i.random()>.5?1:-1))};for(let r,s=0;s<e.length;s+=4){const e=n(4294967296*(r||i.random()));r=987654071*e(),t[s/4]=4294967296*e()|0}return e}},De={importKey:e=>new De.hmacSha1(ke.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new f("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new g(d);let p=0;const h=Fe;for(t=ke.bytes.toBits(t),l=1;(s||1)>p;l++){for(a=i=e.encrypt(h.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,r/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=Ee,r=[[],[]];t._baseHash=[new n,new n];const s=t._baseHash[0].blockSize/32;e.length>s&&(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 f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Te=typeof S!=de&&typeof S.getRandomValues==ue,Ae="Invalid password",Re="Invalid signature",Ce="zipjs-abort-check-password";function We(e){return Te?S.getRandomValues(e):ve.getRandomValues(e)}const Ne=16,Ue={name:"PBKDF2"},Le=n.assign({hash:{name:"HMAC"}},Ue),Me=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ue),Ie=["deriveBits"],Oe=[8,12,16],He=[16,24,32],Pe=10,Ve=[0,0,0,0],Be=typeof S!=de,qe=Be&&S.subtle,Ze=Be&&typeof qe!=de,Ke=ke.bytes,Ge=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;4*s+28>a;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]=4>=a||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,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>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 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],d=a[4];let u,p,h,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;r>e;e++)u=i[w>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],p=i[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&w]^n[b+1],h=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=u,g=p,m=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[g>>16&255]<<16^d[m>>8&255]<<8^d[255&y]^n[b++],u=w,w=g,g=m,m=y,y=u;return s}},Ye=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,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}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=Fe.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 Fe.clamp(t,s)}},je=De.hmacSha1;let Xe=Be&&Ze&&typeof qe.importKey==ue,Je=Be&&Ze&&typeof qe.deriveBits==ue;class Qe extends F{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:s,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),signed:r,strength:s-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:o}=n;r?(await(async(e,t,n,r)=>{const s=await tt(e,t,n,st(r,0,Oe[t])),a=st(r,Oe[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(Ae)})(n,s,r,st(e,0,Oe[s]+2)),e=st(e,Oe[s]+2),a?t.error(new f(Ce)):i()):await o;const c=new p(e.length-Pe-(e.length-Pe)%Ne);t.enqueue(et(n,e,c,0,Pe,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:a}=this;if(r&&n){await a;const i=st(s,0,s.length-Pe),o=st(s,s.length-Pe);let c=new p;if(i.length){const e=it(Ke,i);r.update(e);const t=n.update(e);c=at(Ke,t)}if(t){const e=st(at(Ke,r.digest()),0,Pe);for(let t=0;Pe>t;t++)if(e[t]!=o[t])throw new f(Re)}e.enqueue(c)}}})}}class $e extends F{constructor({password:e,rawPassword:t,encryptionStrength:r}){let s;super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),strength:r-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:i}=n;let o=new p;r?(o=await(async(e,t,n)=>{const r=We(new p(Oe[t]));return rt(r,await tt(e,t,n,r))})(n,s,r),a()):await i;const c=new p(o.length+e.length-e.length%Ne);c.set(o,0),t.enqueue(et(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:a}=this;if(n&&t){await a;let i=new p;if(r.length){const e=t.update(it(Ke,r));n.update(e),i=at(Ke,e)}s.signature=at(Ke,n.digest()).slice(0,Pe),e.enqueue(rt(i,s.signature))}}}),s=this}}function et(e,t,n,r,s,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-s;let d;for(c.length&&(t=rt(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new p(t)).set(n,0)}return e})(n,l-l%Ne)),d=0;l-Ne>=d;d+=Ne){const e=it(Ke,st(t,d,d+Ne));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(at(Ke,s),d+r)}return e.pending=st(t,d),n}async function tt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Xe)return De.importKey(t);try{return await qe.importKey("raw",t,n,!1,s)}catch(e){return Xe=!1,De.importKey(t)}})(0,s,Le,0,Ie),o=await(async(e,t,n)=>{if(!Je)return De.pbkdf2(t,e.salt,Me.iterations,n);try{return await qe.deriveBits(e,t,n)}catch(r){return Je=!1,De.pbkdf2(t,e.salt,Me.iterations,n)}})(n.assign({salt:a},Me),i,8*(2*He[r]+2)),c=new p(o),l=it(Ke,st(c,0,He[r])),d=it(Ke,st(c,He[r],2*He[r])),u=st(c,2*He[r]);return n.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new Ye(new Ge(l),t.from(Ve)),hmac:new je(d)}),u}function nt(e,t){return t===le?xe(e):t}function rt(e,t){let n=e;return e.length+t.length&&(n=new p(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function st(e,t,n){return e.subarray(t,n)}function at(e,t){return e.fromBits(t)}function it(e,t){return e.toBits(t)}class ot extends F{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;if(n.password){const t=lt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ae);e=e.subarray(12)}r?t.error(new f(Ce)):t.enqueue(lt(n,e))}})}}class ct extends F{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=We(new p(12));t[11]=n.passwordVerification,r=new p(e.length+t.length),r.set(dt(n,t),0),s=12}else r=new p(e.length),s=0;r.set(dt(n,e),s),t.enqueue(r)}})}}function lt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,n[r]);return n}function dt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,t[r]);return n}function ut(e,t){const r=[305419896,591751049,878082192];n.assign(e,{keys:r,crcKey0:new ze(r[0]),crcKey2:new ze(r[2])});for(let n=0;n<t.length;n++)ft(e,t.charCodeAt(n))}function ft(e,t){let[n,r,s]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=wt(i.imul(wt(r+ht(n)),134775813)+1),e.crcKey2.append([r>>>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function pt(e){const t=2|e.keys[2];return ht(i.imul(t,1^t)>>>8)}function ht(e){return 255&e}function wt(e){return 4294967295&e}const gt="deflate-raw";class mt extends F{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=bt(super.readable);a&&!o||!c||(u=new Se,p=St(p,u)),s&&(p=zt(p,i,{level:l,chunkSize:t},r,n)),a&&(o?p=St(p,new ct(e)):(f=new $e(e),p=St(p,f))),_t(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new g(u.value.buffer).getUint32(0)),d.signature=e})}}class yt extends F{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l}=e;let d,u,p=bt(super.readable);a&&(s?p=St(p,new ot(e)):(u=new Qe(e),p=St(p,u))),c&&(p=zt(p,l,{chunkSize:t},r,n)),a&&!s||!i||(d=new Se,p=St(p,d)),_t(this,p,()=>{if((!a||s)&&i){const e=new g(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Re)}})}}function bt(e){return St(e,new F({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function _t(e,t,r){t=St(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function zt(e,t,n,r,s){try{e=St(e,new(t&&r?r:s)(gt,n))}catch(r){if(!t)return e;try{e=St(e,new s(gt,n))}catch(t){return e}}return e}function St(e,t){return e.pipeThrough(t)}const xt="data",Ft="close",kt="deflate",Et="inflate";class vt extends F{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(kt)?a=mt:s.startsWith(Et)&&(a=yt),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize&&r.outputSize>e.outputSize))throw new f("Invalid uncompressed size")},flush(){const{signature:e}=o;n.assign(r,{signature:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Dt extends F{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new p(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let Tt=typeof A!=de;class At{constructor(e,{readable:t,writable:r},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,scripts:l},d){const{signal:u}=i;return n.assign(e,{busy:!0,readable:t.pipeThrough(new Dt(a.chunkSize)).pipeThrough(new Rt(i),{signal:u}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Tt?Nt:Wt)(e,a)}}class Rt extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Ct(e,n)},async transform(e,r){s+=e.length,t&&await Ct(t,s,n),r.enqueue(e)},async flush(){r&&await Ct(r,s)}})}}async function Ct(e,...t){try{await e(...t)}catch(e){}}function Wt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},s)=>{let a;try{a=new vt(e,s),await t.pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:r,inputSize:i,outputSize:o}=a;return{signature:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}})(e,t)}}function Nt(e,t){const{baseURL:r,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,r)=>{const s={type:"module"};let a,i;typeof e==ue&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(Ut)try{i=new A(a)}catch(e){Ut=!1,i=new A(a,s)}else i=new A(a,s);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a}=o,i=new f(e);n.assign(i,{stack:t,code:r,name:s,outputSize:a}),w(i)}else{if("pull"==r){const{value:e,done:n}=await c.read();Mt({type:xt,value:e,done:n,messageId:a},t)}r==xt&&(await l.ready,await l.write(new p(s)),Mt({type:"ack",messageId:a},t)),r==Ft&&w(null,i)}}catch(o){Mt({type:Ft,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),l&&l.releaseLock(),h()}})(e,r)),i})(e.scripts[0],r,e)}catch(n){return Tt=!1,Wt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let r,s;const a=new y((e,t)=>{r=e,s=t});n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:a});const{readable:i,options:o,scripts:c}=e,{writable:l,closed:d}=(e=>{let t;const n=new y(e=>t=e);return{writable:new E({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),u=Mt({type:"start",scripts:c.slice(1),options:o,config:t,readable:i,writable:l},e);u||n.assign(e,{reader:i.getReader(),writer:l.getWriter()});const f=await a;return u||await l.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let Ut=!0,Lt=!0;function Mt(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{const{value:n,readable:r,writable:a}=e,i=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,i.push(e.value)),s&&Lt?(r&&i.push(r),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(n){Lt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),r(),e}}let It=[];const Ot=[];let Ht=0;async function Pt(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:c,compressed:l,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:p}=r;t.transferStreams=a||a===le;const h=!(l||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===le&&r.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[c]:[],n.useCompressionStream=o||o===le&&r.useCompressionStream,(await(async()=>{const n=It.find(e=>!e.busy);if(n)return Vt(n),new At(n,e,t,w);if(It.length<p){const n={indexWorker:Ht};return Ht++,It.push(n),new At(n,e,t,w)}return new y(n=>Ot.push({resolve:n,stream:e,workerOptions:t}))})()).run();function w(e){if(Ot.length){const[{resolve:t,stream:n,workerOptions:r}]=Ot.splice(0,1);t(new At(e,n,r,w))}else e.worker?(Vt(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{It=It.filter(t=>t!=e);try{await e.terminate()}catch(e){}},r))})(e,t)):It=It.filter(t=>t!=e)}}function Vt(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Bt="HTTP error ",qt="HTTP Range not supported",Zt="Writer iterator completed too soon",Kt="Writer not initialized",Gt="Range",Yt="GET",jt="bytes",Xt=65536,Jt="writable";class Qt{constructor(){this.size=0}init(){this.initialized=!0}}class $t extends Qt{get readable(){const e=this,{chunkSize:t=Xt}=e,n=new k({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this,l=a===le?t:i.min(t,a-c),d=await xn(e,s+c,l,o);r.enqueue(d),c+t>a||a===le&&!d.length&&l?r.close():this.chunkOffset+=t}});return n}}class en extends Qt{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(Kt);return e.writeUint8Array(t)}});n.defineProperty(e,Jt,{get:()=>t})}writeUint8Array(){}}class tn extends $t{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.blob.slice(e,r):n.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new p(a)}}class nn extends Qt{constructor(e){super();const t=new F,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Jt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:r}).blob()}getData(){return this.blob}}class rn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,wn,un),super.init()}readUint8Array(e,t){return cn(this,e,t,wn,un)}}class sn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,gn,fn),super.init()}readUint8Array(e,t){return cn(this,e,t,gn,fn)}}function an(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function on(e,t,n){const{url:r,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURL:t}=ge(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(i||o)&&(void 0===a||a)){const r=await t(Yt,e,ln(e,c?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=jt)throw new f(qt);{let a;c&&(e.eocdCache=new p(await r.arrayBuffer()));const i=r.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===le?await hn(e,t,n):e.size=a}}else await hn(e,t,n)}async function cn(e,t,n,r,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-re&&n==re)return o;if(c>t){t+n>c&&(n=c-t);const s=await r(Yt,e,ln(e,t,n));if(206!=s.status)throw new f(qt);return new p(await s.arrayBuffer())}return new p}{const{data:r}=e;return r||await s(e,l),new p(e.data.subarray(t,t+n))}}function ln(e,t=0,r=1){return n.assign({},dn(e),{[Gt]:jt+"="+(0>t?t:t+"-"+(t+r-1))})}function dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function un(e){await pn(e,wn)}async function fn(e){await pn(e,gn)}async function pn(e,t){const n=await t(Yt,e,dn(e));e.data=new p(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function hn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t("HEAD",e,dn(e))).headers.get("Content-Length");r?e.size=s(r):await n(e,e.options)}}async function wn(e,{options:t,url:r},s){const a=await fetch(r,n.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(qt):new f(Bt+(a.statusText||a.status))}function gn(e,{url:t},r){return new y((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const 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 c(e)})}else a(416==i.status?new f(qt):new f(Bt+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class mn extends $t{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new sn(e,t):new rn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class yn extends $t{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.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 a,o=n;-1==o&&(o=s.length-1);let c=e;for(;s[o]&&c>=s[o].size;)c-=s[o].size,o++;const l=s[o];if(l){const s=l.size;if(c+t>s){const i=s-c;a=new p(t);const o=await xn(l,c,i);a.set(o,0);const d=await r.readUint8Array(e+i,t-i,n);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await xn(l,c,t)}else a=new p;return r.lastDiskNumber=i.max(o,r.lastDiskNumber),a}}class bn extends Qt{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.subarray(0,n)),await l(),r.diskOffset+=s.size,r.diskNumber++,i=null,await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(Zt);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Sn(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(){await i.close()}n.defineProperty(r,Jt,{get:()=>o})}}class _n{constructor(e){return t.isArray(e)&&(e=new yn(e)),e instanceof k&&(e={readable:e}),e}}class zn{constructor(e){return e.writable===le&&typeof e.next==ue&&(e=new bn(e)),e instanceof E&&(e={writable:e}),e.size===le&&(e.size=0),e instanceof bn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Sn(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function xn(e,t,n,r){return e.readUint8Array(t,n,r)}const Fn=yn,kn=bn,En="filename",vn="rawFilename",Dn="comment",Tn="rawComment",An="uncompressedSize",Rn="compressedSize",Cn="offset",Wn="diskNumberStart",Nn="lastModDate",Un="rawLastModDate",Ln="lastAccessDate",Mn="creationDate",In="internalFileAttribute",On="internalFileAttributes",Hn="externalFileAttribute",Pn="externalFileAttributes",Vn="msDosCompatible",Bn="zip64",qn="encrypted",Zn="version",Kn="versionMadeBy",Gn="zipCrypto",Yn="directory",jn="executable",Xn=[En,vn,Rn,An,Nn,Un,Dn,Tn,Ln,Mn,Cn,Wn,Wn,In,On,Hn,Pn,Vn,Bn,qn,Zn,Kn,Gn,Yn,jn,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Jn{constructor(e){Xn.forEach(t=>this[t]=e[t])}}const Qn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function $n(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Qn[e[n]];return t}})(e):new _(t).decode(e)}const er="File format is not recognized",tr="Compression method not supported",nr="Split zip file",rr="utf-8",sr="cp437",ar=[[An,Y],[Rn,Y],[Cn,Y],[Wn,j]],ir={[j]:{getValue:mr,bytes:4},[Y]:{getValue:yr,bytes:8}};class or{constructor(e,t={}){n.assign(this,{reader:new _n(e),options:t,config:ge()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await Sn(r),r.size!==le&&r.readUint8Array||(r=new tn(await new d(r.readable).blob()),await Sn(r)),r.size<re)throw new f(er);r.chunkSize=me(s);const a=await(async(e,t,n)=>{const r=new p(4);var s;return s=t,br(r).setUint32(0,s,!0),await a(22)||await a(i.min(1048582,n));async function a(t){const s=n-t,a=await xn(e,s,t);for(let e=a.length-22;e>=0;e--)if(a[e]==r[0]&&a[e+1]==r[1]&&a[e+2]==r[2]&&a[e+3]==r[3])return{offset:s+e,buffer:a.slice(e,e+22).buffer}}})(r,ee,r.size);if(!a)throw mr(br(await xn(r,0,4)))==J?new f(nr):new f("End of central directory not found");const o=br(a);let c=mr(o,12),l=mr(o,16);const u=a.offset,h=gr(o,20),w=u+re+h;let g=gr(o,4);const m=r.lastDiskNumber||0;let b=gr(o,6),_=gr(o,8),z=0,S=0;if(l==Y||c==Y||_==j||b==j){const e=br(await xn(r,a.offset-20,20));if(mr(e,0)==ne){l=yr(e,8);let t=await xn(r,l,56,-1),n=br(t);const s=a.offset-20-56;if(mr(n,0)!=te&&l!=s){const e=l;l=s,z=l-e,t=await xn(r,l,56,-1),n=br(t)}if(mr(n,0)!=te)throw new f("End of Zip64 central directory locator not found");g==j&&(g=mr(n,16)),b==j&&(b=mr(n,20)),_==j&&(_=yr(n,32)),c==Y&&(c=yr(n,40)),l-=c}}if(l<r.size||(z=r.size-l-c-re,l=r.size-c-re),m!=g)throw new f(nr);if(0>l)throw new f(er);let x=0,k=await xn(r,l,c,b),E=br(k);if(c){const e=a.offset-c;if(mr(E,x)!=$&&l!=e){const t=l;l=e,z+=l-t,k=await xn(r,l,c,b),E=br(k)}}const v=a.offset-l-(r.lastDiskOffset||0);if(c==v||0>v||(c=v,k=await xn(r,l,c,b),E=br(k)),0>l||l>=r.size)throw new f(er);const D=fr(t,e,"filenameEncoding"),T=fr(t,e,"commentEncoding");for(let a=0;_>a;a++){const o=new cr(r,s,t.options);if(mr(E,x)!=$)throw new f("Central directory header not found");lr(o,E,x+6);const c=!!o.bitFlag.languageEncodingFlag,l=x+46,u=l+o.filenameLength,p=u+o.extraFieldLength,h=gr(E,x+4),w=!(h>>8),g=h>>8==3,m=k.subarray(l,u),b=gr(E,x+32),v=p+b,A=k.subarray(p,v),R=c,C=c,W=mr(E,x+38),N=w&&!(16&~wr(E,x+38))||g&&16384==(W>>16&61440)||m.length&&47==m[m.length-1],U=g&&!!(W>>16&73),L=mr(E,x+42)+z;n.assign(o,{versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:b,directory:N,offset:L,diskNumberStart:gr(E,x+34),internalFileAttributes:gr(E,x+36),externalFileAttributes:W,rawFilename:m,filenameUTF8:R,commentUTF8:C,rawExtraField:k.subarray(u,p),executable:U}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const M=fr(t,e,"decodeText")||$n,I=R?rr:D||sr,O=C?rr:T||sr;let H=M(m,I);H===le&&(H=$n(m,I));let P=M(A,O);P===le&&(P=$n(A,O)),n.assign(o,{rawComment:A,filename:H,comment:P,directory:N||H.endsWith(ie)}),S=i.max(L,S),dr(o,o,E,x+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const V=new Jn(o);V.getData=(e,t)=>o.getData(e,V,t),V.arrayBuffer=async e=>{const t=new F,[n]=await y.all([new d(t.readable).arrayBuffer(),o.getData(t,V,e)]);return n},x=v;const{onprogress:B}=e;if(B)try{await B(a+1,_,new Jn(o))}catch(e){}yield V}const A=fr(t,e,"extractPrependedData"),R=fr(t,e,"extractAppendedData");return A&&(t.prependedData=S>0?await xn(r,0,S):new p),t.comment=h?await xn(r,u+re,h):new p,R&&(t.appendedData=w<r.size?await xn(r,w,r.size-w):new p),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class cr{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,r={}){const s=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:c,compressionMethod:l,config:d,bitFlag:u,signature:h,rawLastModDate:w,uncompressedSize:g,compressedSize:m}=s,y=t.localDirectory={},b=br(await xn(a,i,34,o));let _=fr(s,r,"password"),z=fr(s,r,"rawPassword");const S=fr(s,r,"passThrough");if(_=_&&_.length&&_,z=z&&z.length&&z,c&&99!=c.originalCompressionMethod)throw new f(tr);if(0!=l&&8!=l&&!S)throw new f(tr);if(mr(b,0)!=X)throw new f("Local file header not found");lr(y,b,4),y.rawExtraField=y.extraFieldLength?await xn(a,i+30+y.filenameLength,y.extraFieldLength,o):new p,dr(s,y,b,4,!0),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const x=s.encrypted&&y.encrypted&&!S,F=x&&!c;if(S||(t.zipCrypto=F),x){if(!F&&c.strength===le)throw new f("Encryption method not supported");if(!_&&!z)throw new f("File contains encrypted entry")}const k=i+30+y.filenameLength+y.extraFieldLength,v=m,D=a.readable;n.assign(D,{diskNumberStart:o,offset:k,size:v});const T=fr(s,r,"signal"),A=fr(s,r,"checkPasswordOnly");A&&(e=new E),e=new zn(e),await Sn(e,S?m:g);const{writable:R}=e,{onstart:C,onprogress:W,onend:N}=r,U={options:{codecType:Et,password:_,rawPassword:z,zipCrypto:F,encryptionStrength:c&&c.strength,signed:fr(s,r,"checkSignature")&&!S,passwordVerification:F&&(u.dataDescriptor?w>>>8&255:h>>>24&255),outputSize:g,signature:h,compressed:0!=l&&!S,encrypted:s.encrypted&&!S,useWebWorkers:fr(s,r,"useWebWorkers"),useCompressionStream:fr(s,r,"useCompressionStream"),transferStreams:fr(s,r,"transferStreams"),checkPasswordOnly:A},config:d,streamOptions:{signal:T,size:v,onstart:C,onprogress:W,onend:N}};try{const{outputSize:t}=await Pt({readable:D,writable:R},U);e.size+=t}catch(t){if(t.outputSize!==le&&(e.size+=t.outputSize),!A||t.message!=Ce)throw t}finally{fr(s,r,"preventClose")||R.locked||await R.getWriter().close()}return A?le:e.getData?e.getData():R}}function lr(e,t,r){const s=e.rawBitFlag=gr(t,r+2),a=!(1&~s),i=mr(t,r+6);n.assign(e,{encrypted:a,version:gr(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&ae)==ae},rawLastModDate:i,lastModDate:pr(i),filenameLength:gr(t,r+22),extraFieldLength:gr(t,r+24)})}function dr(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=br(new p(i));let u=0;try{for(;u<i.length;){const e=gr(d,u),t=gr(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const h=gr(r,s+4);n.assign(t,{signature:mr(r,s+10),compressedSize:mr(r,s+14),uncompressedSize:mr(r,s+18)});const w=l.get(1);w&&(((e,t)=>{t.zip64=!0;const n=br(e.data),r=ar.filter(([e,n])=>t[e]==n);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s];if(t[i]==o){const r=ir[o];t[i]=e[i]=r.getValue(n,a),a+=r.bytes}else if(e[i])throw new f("Zip64 extra field not found")}})(w,t),t.extraFieldZip64=w);const g=l.get(28789);g&&(ur(g,En,vn,t,e),t.extraFieldUnicodePath=g);const m=l.get(25461);m&&(ur(m,Dn,Tn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y?(((e,t,r)=>{const s=br(e.data),a=wr(s,4);n.assign(e,{vendorVersion:wr(s,0),vendorId:wr(s,2),strength:a,originalCompressionMethod:r,compressionMethod:gr(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,h),t.extraFieldAES=y):t.compressionMethod=h;const b=l.get(10);b&&(((e,t)=>{const r=br(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=gr(r,a),n=gr(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(s&&24==s.length){const r=br(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:hr(a),lastAccessDate:hr(i),creationDate:hr(o)};n.assign(e,c),n.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const _=l.get(se);_&&(((e,t,n)=>{const r=br(e.data),s=wr(r,0),a=[],i=[];n?(1&~s||(a.push(Nn),i.push(Un)),2&~s||(a.push(Ln),i.push("rawLastAccessDate")),4&~s||(a.push(Mn),i.push("rawCreationDate"))):5>e.data.length||(a.push(Nn),i.push(Un));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=mr(r,c);t[n]=e[n]=new o(1e3*a);const l=i[s];e[l]=a}c+=4})})(_,t,a),t.extraFieldExtendedTimestamp=_);const z=l.get(6534);z&&(t.extraFieldUSDZ=z)}function ur(e,t,r,s,a){const i=br(e.data),o=new ze;o.append(a[r]);const c=br(new p(4));c.setUint32(0,o.get(),!0);const l=mr(i,1);n.assign(e,{version:wr(i,0),[t]:$n(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==mr(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function fr(e,t,n){return t[n]===le?e.options[n]:t[n]}function pr(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function hr(e){return new o(s(e/a(1e4)-a(116444736e5)))}function wr(e,t){return e.getUint8(t)}function gr(e,t){return e.getUint16(t,!0)}function mr(e,t){return e.getUint32(t,!0)}function yr(e,t){return s(e.getBigUint64(t,!0))}function br(e){return new g(e.buffer)}const _r="File already exists",zr="Zip file comment exceeds 64KB",Sr="File entry comment exceeds 64KB",xr="File entry name exceeds 64KB",Fr="Version exceeds 65535",kr="The strength must equal 1, 2, or 3",Er="Extra field type exceeds 65535",vr="Extra field data exceeds 64KB",Dr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Tr="Undefined uncompressed size",Ar="Zip file not empty",Rr=new p([7,0,2,0,65,69,3,0,0]);let Cr=0;const Wr=[];class Nr{constructor(e,t={}){const r=(e=new zn(e)).availableSize!==le&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==le&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:r,options:t,config:ge(),files:new c,filenames:new l,offset:t.offset===le?e.size||e.writable.size||0:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(Ar);e=new _n(e);const t=new or(e.readable),r=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(r.map(e=>e.filename)),this.files=new c(r.map(e=>{const{version:t,compressionMethod:r,lastModDate:s,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:h,zip64:w}=e;let{rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_}=e;const{level:z,languageEncodingFlag:S,dataDescriptor:x}=c;g=g||new p,m=m||new p,y=y||new p,b=b||new p,_=_||new p;const F=Kr(g,m,y,b,_),k=w&&d>Y,E=w&&u>Y,{headerArray:v,headerView:D}=Gr({version:t,bitFlag:Yr(z,S,x,l,r),compressionMethod:r,uncompressedSize:d,compressedSize:u,lastModDate:s,rawFilename:o,zip64CompressedSize:E,zip64UncompressedSize:k,extraFieldLength:F});return n.assign(e,{zip64UncompressedSize:k,zip64CompressedSize:E,zip64Offset:w&&this.offset-f>Y,zip64DiskNumberStart:w&&h>j,rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:v,headerView:D}),[e.filename,e]}))}async add(e="",r,s={}){const c=this,{pendingAddFileCalls:l,config:u}=c;let w;Cr<u.maxWorkers?Cr++:await new y(e=>Wr.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(_r);return c.filenames.add(e),w=(async(e,r,s,c)=>{r=r.trim();const l=Ir(e,c,Vn),u=Ir(e,c,Kn,l?20:768),w=Ir(e,c,jn);if(u>j)throw new f(Fr);let g=Ir(e,c,Pn,0);0===g&&(g=Ir(e,c,Hn,0)),!c.directory&&r.endsWith(ie)&&(c.directory=!0),Ir(e,c,Yn)?(r.endsWith(ie)||(r+=ie),0===g&&(g=16,l||(g|=16877<<16))):l||0!==g||(g=w?493<<16:27525120);const m=Ir(e,c,"encodeText",xe);let b=m(r);if(b===le&&(b=xe(r)),Kr(b)>j)throw new f(xr);const _=c.comment||"";let z=m(_);if(z===le&&(z=xe(_)),Kr(z)>j)throw new f(Sr);const S=Ir(e,c,Zn,20);if(S>j)throw new f(Fr);const x=Ir(e,c,Nn,new o),k=Ir(e,c,Ln),E=Ir(e,c,Mn);let v=Ir(e,c,On,0);0===v&&(v=Ir(e,c,In,0));const D=Ir(e,c,"passThrough");let T,A;D||(T=Ir(e,c,"password"),A=Ir(e,c,"rawPassword"));const R=Ir(e,c,"encryptionStrength",3),C=Ir(e,c,Gn),W=Ir(e,c,"extendedTimestamp",!0),N=Ir(e,c,"keepOrder",!0),U=Ir(e,c,"level"),L=Ir(e,c,"useWebWorkers"),M=Ir(e,c,"bufferedWrite"),I=Ir(e,c,"dataDescriptorSignature",!1),O=Ir(e,c,"signal"),H=Ir(e,c,"useUnicodeFileNames",!0),P=Ir(e,c,"useCompressionStream"),V=Ir(e,c,"compressionMethod");let B=Ir(e,c,"dataDescriptor");M&&B===le&&(B=!1),(B===le||C)&&(B=!0);let q=Ir(e,c,Bn);if(!C&&(T!==le||A!==le)&&(1>R||R>3))throw new f(kr);let Z=new p;const{extraField:K}=c;if(K){let e=0,t=0;K.forEach(t=>e+=4+Kr(t)),Z=new p(e),K.forEach((e,n)=>{if(n>j)throw new f(Er);if(Kr(e)>j)throw new f(vr);qr(Z,new h([n]),t),qr(Z,new h([Kr(e)]),t+2),qr(Z,e,t+4),t+=4+Kr(e)})}let G=0,$=0,ee=0;if(D&&(({uncompressedSize:ee}=c),ee===le))throw new f(Tr);const te=!0===q;s&&(s=new _n(s),await Sn(s),D?(c.uncompressedSize=ee,G=Or(ee)):s.size===le?(B=!0,(q||q===le)&&(q=!0,ee=G=4294967296)):(c.uncompressedSize=ee=s.size,G=Or(ee)));const{diskOffset:ne,diskNumber:re,maxSize:ae}=e.writer,de=te||ee>Y,ue=te||G>Y,fe=te||e.offset+e.pendingEntriesSize-ne>Y,pe=Ir(e,c,"supportZip64SplitFile",!0)&&te||re+i.ceil(e.pendingEntriesSize/ae)>j;if(fe||de||ue||pe){if(!1===q||!N)throw new f(Dr);q=!0}q=q||!1;const he=Ir(e,c,qn),{signature:we}=c,ge=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:h,encryptionStrength:w,extendedTimestamp:g,passThrough:m,encrypted:y,zip64UncompressedSize:b,zip64CompressedSize:_,zip64Offset:z,zip64DiskNumberStart:S,uncompressedSize:x,offset:F,diskNumberStart:k}=e;let{version:E,compressionMethod:v}=e;const D=!f&&(o>0||o===le&&0!==v);let T;const A=m||!D,R=c&&(e.bufferedWrite||!b&&!_||A);if(c){let e=4;b&&(e+=8),_&&(e+=8),z&&(e+=8),S&&(e+=4),T=new p(e);const t=Zr(T);if(Pr(t,0,1),Pr(t,2,Kr(T)-4),R){const e=Zr(T);let t=4;b&&(Br(e,t,a(x)),t+=8),_&&A&&(Br(e,t,a(x)),t+=8),z&&(Br(e,t,a(F)),t+=8),S&&(Vr(e,t,k),t+=4)}}else T=new p;let C,W,N,U;if(y&&!l){C=new p(Kr(Rr)+2);const e=Zr(C);Pr(e,0,39169),qr(C,Rr,2),Hr(e,8,w)}else C=new p;if(g){N=new p(9+(r?4:0)+(s?4:0));const e=Zr(N);Pr(e,0,se),Pr(e,2,Kr(N)-4),U=1+(r?2:0)+(s?4:0),Hr(e,4,U);let t=5;Vr(e,t,i.floor(n.getTime()/1e3)),t+=4,r&&(Vr(e,t,i.floor(r.getTime()/1e3)),t+=4),s&&Vr(e,t,i.floor(s.getTime()/1e3));try{W=new p(36);const e=Zr(W),t=Mr(n);Pr(e,0,10),Pr(e,2,32),Pr(e,8,1),Pr(e,10,24),Br(e,12,t),Br(e,20,Mr(r)||t),Br(e,28,Mr(s)||t)}catch(e){W=new p}}else W=N=new p;v===le&&(v=D?8:0),c&&(E=E>45?E:45),y&&!l&&(E=E>51?E:51,C[9]=v,v=99);const L=R?Kr(T):0,M=L+Kr(C,N,W,h),{headerArray:I,headerView:O,rawLastModDate:H}=Gr({version:E,bitFlag:Yr(o,d,u,y,v),compressionMethod:v,uncompressedSize:x,lastModDate:ce>n?ce:n>oe?oe:n,rawFilename:t,zip64CompressedSize:_,zip64UncompressedSize:b,extraFieldLength:M});let P=30;const V=new p(P+Kr(t)+M),B=Zr(V);return Vr(B,0,X),qr(V,I,4),qr(V,t,P),P+=Kr(t),R&&qr(V,T,P),P+=L,qr(V,C,P),P+=Kr(C),qr(V,N,P),P+=Kr(N),qr(V,W,P),P+=Kr(W),qr(V,h,P),u&&(Vr(B,18,0),Vr(B,22,0)),{localHeaderArray:V,localHeaderView:B,headerArray:I,headerView:O,lastModDate:n,rawLastModDate:H,encrypted:y,compressed:D,version:E,compressionMethod:v,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:T,localExtraFieldZip64Length:L,rawExtraFieldExtendedTimestamp:N,rawExtraFieldNTFS:W,rawExtraFieldAES:C,extraFieldLength:M}})(c=n.assign({},c,{rawFilename:b,rawComment:z,version:S,versionMadeBy:u,lastModDate:x,lastAccessDate:k,creationDate:E,rawExtraField:Z,zip64:q,zip64UncompressedSize:de,zip64CompressedSize:ue,zip64Offset:fe,zip64DiskNumberStart:pe,password:T,rawPassword:A,level:P||e.config.CompressionStream!==le||e.config.CompressionStreamNative!==le?U:0,useWebWorkers:L,encryptionStrength:R,extendedTimestamp:W,zipCrypto:C,bufferedWrite:M,keepOrder:N,useUnicodeFileNames:H,dataDescriptor:B,dataDescriptorSignature:I,signal:O,msDosCompatible:l,internalFileAttribute:v,internalFileAttributes:v,externalFileAttribute:g,externalFileAttributes:g,useCompressionStream:P,passThrough:D,encrypted:!!(T&&Kr(T)||A&&Kr(A))||D&&he,signature:we,compressionMethod:V,uncompressedSize:ee,offset:e.offset-ne,diskNumberStart:re})),ye=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=new p,a=0;return t&&(s=new p(e?n?24:20:n?16:12),r=Zr(s),n&&(a=4,Vr(r,0,Q))),{dataDescriptorArray:s,dataDescriptorView:r,dataDescriptorOffset:a}})(c),be=Kr(ge.localHeaderArray,ye.dataDescriptorArray);let _e;$=be+G,e.options.usdz&&($+=$+64),e.pendingEntriesSize+=$;try{_e=await(async(e,r,s,i,o)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:h,signal:w}=o,{headerInfo:g}=i,{usdz:m}=e.options,b=t.from(c.values()).pop();let _,z,S,x,k,E,v,D={};c.set(r,D);try{let t;u&&(t=b&&b.lock,D.lock=new y(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&h||m?(E=l,await T()):(E=new F,E.size=0,_=!0,e.bufferedWrites++,await Sn(l)),await Sn(E);const{writable:z,diskOffset:R}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Vr(Zr(t),0,J),await Lr(l,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:r,extraFieldLength:s}=n,a=Zr(r),i=64-(t+Kr(r))%64;4>i&&(i+=64);const o=new p(i),c=Zr(o);Pr(c,0,6534),Pr(c,2,i-2);const l=r;n.localHeaderArray=r=new p(Kr(l)+i),qr(r,l),qr(r,o,Kr(l)),a=Zr(r),Pr(a,28,s+i),e.metadataSize+=i})(i,e.offset-R);const{localHeaderView:C,localHeaderArray:W}=g;_||(await t,await A(z));const{diskNumber:N}=l;k=!0,D.diskNumberStart=N,_?v=new d(E.readable).blob():await Lr(E,W),D=await(async(e,t,{diskNumberStart:r,lock:s},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:h,rawLastModDate:w,encrypted:g,compressed:m,version:y,compressionMethod:b,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:x,rawExtraFieldNTFS:F,rawExtraFieldAES:k}=l,{dataDescriptorArray:E}=d,{rawFilename:v,lastAccessDate:D,creationDate:T,password:A,rawPassword:R,level:C,zip64:W,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M,zipCrypto:I,dataDescriptor:O,directory:H,executable:P,versionMadeBy:V,rawComment:B,rawExtraField:q,useWebWorkers:Z,onstart:K,onprogress:G,onend:Y,signal:j,encryptionStrength:X,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,useCompressionStream:te,passThrough:ne}=c,re={lock:s,versionMadeBy:V,zip64:W,directory:!!H,executable:!!P,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:B,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:F,rawExtraFieldAES:k,rawExtraField:q,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,diskNumberStart:r};let{signature:se,uncompressedSize:ae}=c,ie=0;ne||(ae=0);const{writable:oe}=t;if(e){e.chunkSize=me(o);const n=e.readable,r=e.size,s={options:{codecType:kt,level:C,rawPassword:R,password:A,encryptionStrength:X,zipCrypto:g&&I,passwordVerification:g&&I&&w>>8&255,signed:!ne,compressed:m&&!ne,encrypted:g&&!ne,useWebWorkers:Z,useCompressionStream:te,transferStreams:!1},config:o,streamOptions:{signal:j,size:r,onstart:K,onprogress:G,onend:Y}};try{const e=await Pt({readable:n,writable:oe},s);ie=e.outputSize,t.size+=ie,ne||(ae=e.inputSize,se=e.signature)}catch(e){throw e.outputSize!==le&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:n,headerInfo:r,dataDescriptorInfo:s},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=r,{dataDescriptorView:u,dataDescriptorOffset:f}=s;d&&!o||e===le||(Vr(l,10,e),c&&Vr(u,f,e)),i?c&&(Br(u,f+4,a(t)),Br(u,f+12,a(n))):(Vr(l,14,t),Vr(l,18,n),c&&(Vr(u,f+4,t),Vr(u,f+8,n)))})({signature:se,compressedSize:ie,uncompressedSize:ae,headerInfo:l,dataDescriptorInfo:d},c),O&&await Lr(t,E),n.assign(re,{uncompressedSize:ae,compressedSize:ie,lastModDate:h,rawLastModDate:w,creationDate:T,lastAccessDate:D,encrypted:g,zipCrypto:I,size:u+ie,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:se,extraFieldExtendedTimestampFlag:x,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M}),re})(s,E,D,i,e.config,o);const{zip64:U}=D;if(k=!1,c.set(r,D),D.filename=r,_){const[n]=await y.all([v,E.writable.getWriter().close(),t]);await T(),x=!0,D.diskNumberStart=l.diskNumber,D.offset=e.offset-l.diskOffset,U&&Ur(D),(({rawFilename:e,encrypted:t,zip64:n,localExtraFieldZip64Length:r,signature:s,compressedSize:i,uncompressedSize:o,offset:c,diskNumberStart:l,zip64UncompressedSize:d,zip64CompressedSize:u,zip64Offset:f,zip64DiskNumberStart:p},h,{dataDescriptor:w})=>{if(w||(t||Vr(h,14,s),n||(Vr(h,18,i),Vr(h,22,o))),n&&r){let t=30+Kr(e)+4;d&&(Br(h,t,a(o)),t+=8),u&&(Br(h,t,a(i)),t+=8),f&&(Br(h,t,a(c)),t+=8),p&&Vr(h,t,l)}})(D,C,o),await A(z),await Lr(l,W),await n.stream().pipeTo(z,{preventClose:!0,preventAbort:!0,signal:w}),l.size+=E.size,x=!1}else D.offset=e.offset-R,U&&Ur(D);if(D.offset>Y&&!U)throw new f(Dr);return e.offset+=D.size,D}catch(t){if(_&&x||!_&&k){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}_?e.offset+=E.size:e.offset=E.size}throw c.delete(r),t}finally{_&&e.bufferedWrites--,S&&S(),z&&z()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>z=()=>{e.writerLocked=!1,t()}),await t}async function A(e){Kr(g.localHeaderArray)>l.availableSize&&(l.availableSize=0,await Lr(e,new p))}})(e,r,s,{headerInfo:ge,dataDescriptorInfo:ye,metadataSize:be},c)}finally{e.pendingEntriesSize-=$}return n.assign(_e,{name:r,comment:_,extraField:K}),new Jn(_e)})(c,e,r,s),l.add(w),await w}catch(t){throw c.filenames.delete(e),t}finally{l.delete(w);const e=Wr.shift();e?e():Cr--}}remove(e){const{filenames:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==le){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=new p,n={}){const{pendingAddFileCalls:r,writer:s}=this,{writable:o}=s;for(;r.size;)await y.allSettled(t.from(r));return await(async(e,n,r)=>{const{files:s,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,h=e.offset-c,w=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:d}=e;let f;if(c){f=new p(9);const e=Zr(f);Pr(e,0,se),Pr(e,2,5),Hr(e,4,l),Vr(e,5,i.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+Kr(t,s,n,r,a,f,o)}const g=new p(u),m=Zr(g);await Sn(o);let y=0;for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:h,headerArray:w,headerView:b,zip64:_,zip64UncompressedSize:z,zip64CompressedSize:S,zip64DiskNumberStart:x,zip64Offset:F,internalFileAttributes:k,externalFileAttributes:E,diskNumberStart:v,uncompressedSize:D,compressedSize:T}=n,A=Kr(i,c,l,u,f);Vr(m,d,$),Pr(m,d+4,h),z||Vr(b,18,D),S||Vr(b,14,T),qr(g,w,d+6);let R=d+26+4;if(Pr(m,R,A),R+=2,Pr(m,R,Kr(p)),R+=2,Pr(m,R,_&&x?j:v),R+=2,Pr(m,R,k),R+=2,E&&Vr(m,R,E),R+=4,Vr(m,R,_&&F?Y:t),R+=4,qr(g,a,R),R+=Kr(a),qr(g,i,R),R+=Kr(i),qr(g,c,R),R+=Kr(c),qr(g,l,R),R+=Kr(l),qr(g,u,R),R+=Kr(u),qr(g,f,R),R+=Kr(f),qr(g,p,R),d-y>o.availableSize&&(o.availableSize=0,await Lr(o,g.slice(y,d)),y=d),d=R,r.onprogress)try{await r.onprogress(e+1,s.size,new Jn(n))}catch(e){}}await Lr(o,y?g.slice(y):g);let b=o.diskNumber;const{availableSize:_}=o;re>_&&b++;let z=Ir(e,r,Bn);if(h>Y||u>Y||w>j||b>j){if(!1===z)throw new f(Dr);z=!0}const S=new p(z?98:re),x=Zr(S);d=0,z&&(Vr(x,0,te),Br(x,4,a(44)),Pr(x,12,45),Pr(x,14,45),Vr(x,16,b),Vr(x,20,l),Br(x,24,a(w)),Br(x,32,a(w)),Br(x,40,a(u)),Br(x,48,a(h)),Vr(x,56,ne),Br(x,64,a(h)+a(u)),Vr(x,72,b+1),Ir(e,r,"supportZip64SplitFile",!0)&&(b=j,l=j),w=j,h=Y,u=Y,d+=76),Vr(x,d,ee),Pr(x,d+4,b),Pr(x,d+6,l),Pr(x,d+8,w),Pr(x,d+10,w),Vr(x,d+12,u),Vr(x,d+16,h);const F=Kr(n);if(F){if(F>j)throw new f(zr);Pr(x,d+20,F)}await Lr(o,S),F&&await Lr(o,n)})(this,e,n),Ir(this,n,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}function Ur({compressedSize:e,uncompressedSize:t,offset:n,diskNumberStart:r,zip64UncompressedSize:s,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=Zr(l);let u=4;s&&(Br(d,u,a(t)),u+=8),i&&(Br(d,u,a(e)),u+=8),o&&(Br(d,u,a(n)),u+=8),c&&Vr(d,u,r)}async function Lr(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Kr(t),await r.write(t)}finally{r.releaseLock()}}function Mr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ir(e,t,n,r){const s=t[n]===le?e.options[n]:t[n];return s===le?r:s}function Or(e){return e+5*(i.floor(e/16383)+1)}function Hr(e,t,n){e.setUint8(t,n)}function Pr(e,t,n){e.setUint16(t,n,!0)}function Vr(e,t,n){e.setUint32(t,n,!0)}function Br(e,t,n){e.setBigUint64(t,n,!0)}function qr(e,t,n){e.set(t,n)}function Zr(e){return new g(e.buffer)}function Kr(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Gr({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=Zr(d);Pr(u,0,e),Pr(u,2,t),Pr(u,4,n);const f=new w(1),h=Zr(f);Pr(h,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Pr(h,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const g=f[0];return Vr(u,6,g),(o||s!==le)&&Vr(u,14,o?Y:s),(c||r!==le)&&Vr(u,18,c?Y:r),Pr(u,22,Kr(i)),Pr(u,24,l),{headerArray:d,headerView:u,rawLastModDate:g}}function Yr(e,t,n,r,s){let a=0;return t&&(a|=ae),n&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}ye({Deflate:function(e){const t=new G,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(r/16383)+1);var r;const s=new p(n);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,r)=>{let a,i,o=0,c=0,l=0;const d=[];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 f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(l),d.forEach(e=>{i.set(e,c),c+=e.length})):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,r,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);n-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new p(i),o.forEach(e=>{r.set(e,a),a+=e.length}),r}}}),e.BlobReader=tn,e.BlobWriter=nn,e.Data64URIReader=class extends $t{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,s=new p(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends en{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,s=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=r.fromCharCode(e[n]);s.length&&(s.length>2?t.data+=x(s):t.pending+=s)}getData(){return this.data+x(this.pending)}},e.ERR_DUPLICATED_NAME=_r,e.ERR_HTTP_RANGE=qt,e.ERR_INVALID_COMMENT=zr,e.ERR_INVALID_ENCRYPTION_STRENGTH=kr,e.ERR_INVALID_ENTRY_COMMENT=Sr,e.ERR_INVALID_ENTRY_NAME=xr,e.ERR_INVALID_EXTRAFIELD_DATA=vr,e.ERR_INVALID_EXTRAFIELD_TYPE=Er,e.ERR_INVALID_VERSION=Fr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Zt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Tr,e.ERR_UNSUPPORTED_FORMAT=Dr,e.ERR_WRITER_NOT_INITIALIZED=Kt,e.ERR_ZIP_NOT_EMPTY=Ar,e.GenericReader=_n,e.GenericWriter=zn,e.HttpRangeReader=class extends mn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=mn,e.Reader=$t,e.SplitDataReader=yn,e.SplitDataWriter=bn,e.SplitZipReader=Fn,e.SplitZipWriter=kn,e.TextReader=class extends tn{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends nn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y((s,a)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(r,e)})}}},e.Uint8ArrayReader=class extends $t{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends en{init(e=0){n.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new p(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=en,e.ZipWriter=Nr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new Nr(n,e)}transform(e){const{readable:t,writable:n}=new F({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new F;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ye,e.getMimeType=()=>"application/octet-stream",e.initStream=Sn,e.readUint8Array=xn,e.terminateWorkers=async()=>{await y.allSettled(It.map(e=>(Vt(e),e.terminate())))}});
|