((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:i,BigInt:r,Math:a,Date:s,Map:o,URL:l,Error:c,Uint8Array:d,Uint16Array:u,Uint32Array:f,DataView:h,Blob:_,Promise:w,TextEncoder:p,TextDecoder:b,document:g,crypto:y,btoa:m,TransformStream:x,ReadableStream:k,WritableStream:v,CompressionStream:R,DecompressionStream:S,navigator:z}=globalThis,T=(()=>{const e=-2,t=-3,n=-5,i=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],r=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],s=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[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,112,112],u=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],f=[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];function h(){let e,i,r,a,s,c;function d(e,i,o,l,d,u,f,h,_,w,p){let b,g,y,m,x,k,v,R,S,z,T,D,A,U,E;z=0,x=o;do{r[e[i+z]]++,z++,x--}while(0!==x);if(r[0]==o)return f[0]=-1,h[0]=0,0;for(R=h[0],k=1;15>=k&&0===r[k];k++);for(v=k,k>R&&(R=k),x=15;0!==x&&0===r[x];x--);for(y=x,R>x&&(R=x),h[0]=R,U=1<k;k++,U<<=1)if(0>(U-=r[k]))return t;if(0>(U-=r[x]))return t;for(r[x]+=U,c[1]=k=0,z=1,A=2;0!=--x;)c[A]=k+=r[z],A++,z++;x=0,z=0;do{0!==(k=e[i+z])&&(p[c[k]++]=x),z++}while(++x=v;v++)for(b=r[v];0!=b--;){for(;v>D+R;){if(m++,D+=R,E=y-D,E=E>R?R:E,(g=1<<(k=v-D))>b+1&&(g-=b+1,A=v,E>k))for(;++kr[++A];)g-=r[A];if(E=1<1440)return t;s[m]=T=w[0],w[0]+=E,0!==m?(c[m]=x,a[0]=k,a[1]=R,k=x>>>D-R,a[2]=T-s[m-1]-k,_.set(a,3*(s[m-1]+k))):f[0]=T}for(a[1]=v-D,o>z?p[z]p[z]?0:96,a[2]=p[z++]):(a[0]=u[p[z]-l]+16+64,a[2]=d[p[z++]-l]):a[0]=192,g=1<>>D;E>k;k+=g)_.set(a,3*(T+k));for(k=1<>>=1)x^=k;for(x^=k,S=(1<n;n++)i[n]=0;for(n=0;16>n;n++)r[n]=0;for(n=0;3>n;n++)a[n]=0;s.set(r.subarray(0,15),0),c.set(r.subarray(0,16),0)}this.inflate_trees_bits=(r,a,s,o,l)=>{let c;return h(19),e[0]=0,c=d(r,0,19,19,null,null,s,a,o,e,i),c==t?l.msg="oversubscribed dynamic bit lengths tree":c!=n&&0!==a[0]||(l.msg="incomplete dynamic bit lengths tree",c=t),c},this.inflate_trees_dynamic=(r,a,s,c,_,w,p,b,g)=>{let y;return h(288),e[0]=0,y=d(s,0,r,257,o,l,w,c,b,e,i),0!=y||0===c[0]?(y==t?g.msg="oversubscribed literal/length tree":-4!=y&&(g.msg="incomplete literal/length tree",y=t),y):(h(288),y=d(s,r,a,0,u,f,p,_,b,e,i),0!=y||0===_[0]&&r>257?(y==t?g.msg="oversubscribed distance tree":y==n?(g.msg="incomplete distance tree",y=t):-4!=y&&(g.msg="empty distance tree with lengths",y=t),y):0)}}function _(){const n=this;let r,a,s,o,l=0,c=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,n,r,a,s,o,l,c){let d,u,f,h,_,w,p,b,g,y,m,x,k,v,R,S;p=c.next_in_index,b=c.avail_in,_=l.bitb,w=l.bitk,g=l.write,y=gw;)b--,_|=(255&c.read_byte(p++))<>=u[S+1],w-=u[S+1],0!=(16&h)){for(h&=15,k=u[S+2]+(_&i[h]),_>>=h,w-=h;15>w;)b--,_|=(255&c.read_byte(p++))<>=u[S+1],w-=u[S+1],0!=(16&h)){for(h&=15;h>w;)b--,_|=(255&c.read_byte(p++))<>=h,w-=h,y-=k,v>g){R=g-v;do{R+=l.end}while(0>R);if(h=l.end-R,k>h){if(k-=h,g-R>0&&h>g-R)do{l.win[g++]=l.win[R++]}while(0!=--h);else l.win.set(l.win.subarray(R,R+h),g),g+=h,R+=h,h=0;R=0}}else R=g-v,g-R>0&&2>g-R?(l.win[g++]=l.win[R++],l.win[g++]=l.win[R++],k-=2):(l.win.set(l.win.subarray(R,R+2),g),g+=2,R+=2,k-=2);if(g-R>0&&k>g-R)do{l.win[g++]=l.win[R++]}while(0!=--k);else l.win.set(l.win.subarray(R,R+k),g),g+=k,R+=k,k=0;break}if(0!=(64&h))return c.msg="invalid distance code",k=c.avail_in-b,k=k>w>>3?w>>3:k,b+=k,p-=k,w-=k<<3,l.bitb=_,l.bitk=w,c.avail_in=b,c.total_in+=p-c.next_in_index,c.next_in_index=p,l.write=g,t;d+=u[S+2],d+=_&i[h],S=3*(f+d),h=u[S]}break}if(0!=(64&h))return 0!=(32&h)?(k=c.avail_in-b,k=k>w>>3?w>>3:k,b+=k,p-=k,w-=k<<3,l.bitb=_,l.bitk=w,c.avail_in=b,c.total_in+=p-c.next_in_index,c.next_in_index=p,l.write=g,1):(c.msg="invalid literal/length code",k=c.avail_in-b,k=k>w>>3?w>>3:k,b+=k,p-=k,w-=k<<3,l.bitb=_,l.bitk=w,c.avail_in=b,c.total_in+=p-c.next_in_index,c.next_in_index=p,l.write=g,t);if(d+=u[S+2],d+=_&i[h],S=3*(f+d),0===(h=u[S])){_>>=u[S+1],w-=u[S+1],l.win[g++]=u[S+2],y--;break}}else _>>=u[S+1],w-=u[S+1],l.win[g++]=u[S+2],y--}while(y>=258&&b>=10);return k=c.avail_in-b,k=k>w>>3?w>>3:k,b+=k,p-=k,w-=k<<3,l.bitb=_,l.bitk=w,c.avail_in=b,c.total_in+=p-c.next_in_index,c.next_in_index=p,l.write=g,0}n.init=(e,t,n,i,l,c)=>{r=0,_=e,w=t,s=n,p=i,o=l,b=c,a=null},n.proc=(n,y,m)=>{let x,k,v,R,S,z,T,D=0,A=0,U=0;for(U=y.next_in_index,R=y.avail_in,D=n.bitb,A=n.bitk,S=n.write,z=S=258&&R>=10&&(n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,m=g(_,w,s,p,o,b,n,y),U=y.next_in_index,R=y.avail_in,D=n.bitb,A=n.bitk,S=n.write,z=SA;){if(0===R)return n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);m=0,R--,D|=(255&y.read_byte(U++))<>>=a[k+1],A-=a[k+1],v=a[k],0===v){u=a[k+2],r=6;break}if(0!=(16&v)){f=15&v,l=a[k+2],r=2;break}if(0==(64&v)){d=v,c=k/3+a[k+2];break}if(0!=(32&v)){r=7;break}return r=9,y.msg="invalid literal/length code",m=t,n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);case 2:for(x=f;x>A;){if(0===R)return n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);m=0,R--,D|=(255&y.read_byte(U++))<>=x,A-=x,d=w,a=o,c=b,r=3;case 3:for(x=d;x>A;){if(0===R)return n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);m=0,R--,D|=(255&y.read_byte(U++))<>=a[k+1],A-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],r=4;break}if(0==(64&v)){d=v,c=k/3+a[k+2];break}return r=9,y.msg="invalid distance code",m=t,n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);case 4:for(x=f;x>A;){if(0===R)return n.bitb=D,n.bitk=A,y.avail_in=R,y.total_in+=U-y.next_in_index,y.next_in_index=U,n.write=S,n.inflate_flush(y,m);m=0,R--,D|=(255&y.read_byte(U++))<>=x,A-=x,r=5;case 5:for(T=S-h;0>T;)T+=n.end;for(;0!==l;){if(0===z&&(S==n.end&&0!==n.read&&(S=0,z=S7&&(A-=8,R++,U--),n.write=S,m=n.inflate_flush(y,m),S=n.write,z=S{}}h.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=r,i[0]=s,0);const w=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function p(r,a){const s=this;let o,l=0,c=0,u=0,f=0;const p=[0],b=[0],g=new _;let y=0,m=new Int32Array(4320);const x=new h;s.bitk=0,s.bitb=0,s.win=new d(a),s.end=a,s.read=0,s.write=0,s.reset=(e,t)=>{t&&(t[0]=0),6==l&&g.free(e),l=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(r,null),s.inflate_flush=(e,t)=>{let i,r,a;return r=e.next_out_index,a=s.read,i=(a>s.write?s.end:s.write)-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==n&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(s.win.subarray(a,a+i),r),r+=i,a+=i,a==s.end&&(a=0,s.write==s.end&&(s.write=0),i=s.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==n&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(s.win.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,s.read=a,t},s.proc=(n,r)=>{let a,d,_,k,v,R,S,z;for(k=n.next_in_index,v=n.avail_in,d=s.bitb,_=s.bitk,R=s.write,S=R_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}switch(a=7&d,y=1&a,a>>>1){case 0:d>>>=3,_-=3,a=7&_,d>>>=a,_-=a,l=1;break;case 1:T=[],D=[],A=[[]],U=[[]],h.inflate_trees_fixed(T,D,A,U),g.init(T[0],D[0],A[0],0,U[0],0),d>>>=3,_-=3,l=6;break;case 2:d>>>=3,_-=3,l=3;break;case 3:return d>>>=3,_-=3,l=9,n.msg="invalid block type",r=t,s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r)}break;case 1:for(;32>_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}if((~d>>>16&65535)!=(65535&d))return l=9,n.msg="invalid stored block lengths",r=t,s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);c=65535&d,d=_=0,l=0!==c?2:0!==y?7:0;break;case 2:if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);if(0===S&&(R==s.end&&0!==s.read&&(R=0,S=Rv&&(a=v),a>S&&(a=S),s.win.set(n.read_buf(k,a),R),k+=a,v-=a,R+=a,S-=a,0!=(c-=a))break;l=0!==y?7:0;break;case 3:for(;14>_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}if(u=a=16383&d,(31&a)>29||(a>>5&31)>29)return l=9,n.msg="too many length or distance symbols",r=t,s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);if(a=258+(31&a)+(a>>5&31),!o||o.lengthz;z++)o[z]=0;d>>>=14,_-=14,f=0,l=4;case 4:for(;4+(u>>>10)>f;){for(;3>_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}o[w[f++]]=7&d,d>>>=3,_-=3}for(;19>f;)o[w[f++]]=0;if(p[0]=7,a=x.inflate_trees_bits(o,p,b,m,n),0!=a)return(r=a)==t&&(o=null,l=9),s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);f=0,l=5;case 5:for(;a=u,258+(31&a)+(a>>5&31)>f;){let e,c;for(a=p[0];a>_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}if(a=m[3*(b[0]+(d&i[a]))+1],c=m[3*(b[0]+(d&i[a]))+2],16>c)d>>>=a,_-=a,o[f++]=c;else{for(z=18==c?7:c-14,e=18==c?11:3;a+z>_;){if(0===v)return s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);r=0,v--,d|=(255&n.read_byte(k++))<<_,_+=8}if(d>>>=a,_-=a,e+=d&i[z],d>>>=z,_-=z,z=f,a=u,z+e>258+(31&a)+(a>>5&31)||16==c&&1>z)return o=null,l=9,n.msg="invalid bit length repeat",r=t,s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);c=16==c?o[z-1]:0;do{o[z++]=c}while(0!=--e);f=z}}if(b[0]=-1,E=[],F=[],C=[],L=[],E[0]=9,F[0]=6,a=u,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,E,F,C,L,m,n),0!=a)return a==t&&(o=null,l=9),r=a,s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,s.inflate_flush(n,r);g.init(E[0],F[0],m,C[0],m,L[0]),l=6;case 6:if(s.bitb=d,s.bitk=_,n.avail_in=v,n.total_in+=k-n.next_in_index,n.next_in_index=k,s.write=R,1!=(r=g.proc(s,n,r)))return s.inflate_flush(n,r);if(r=0,g.free(n),k=n.next_in_index,v=n.avail_in,d=s.bitb,_=s.bitk,R=s.write,S=R{s.reset(e,null),s.win=null,m=null},s.set_dictionary=(e,t,n)=>{s.win.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=()=>1==l?1:0}const b=13,g=[0,0,255,255];function y(){const i=this;function r(t){return t&&t.istate?(t.total_in=t.total_out=0,t.msg=null,t.istate.mode=7,t.istate.blocks.reset(t,null),0):e}i.mode=0,i.method=0,i.was=[0],i.need=0,i.marker=0,i.wbits=0,i.inflateEnd=e=>(i.blocks&&i.blocks.free(e),i.blocks=null,0),i.inflateInit=(t,n)=>(t.msg=null,i.blocks=null,8>n||n>15?(i.inflateEnd(t),e):(i.wbits=n,t.istate.blocks=new p(t,1<{let a,s;if(!i||!i.istate||!i.next_in)return e;const o=i.istate;for(r=4==r?n:0,a=n;;)switch(o.mode){case 0:if(0===i.avail_in)return a;if(a=r,i.avail_in--,i.total_in++,8!=(15&(o.method=i.read_byte(i.next_in_index++)))){o.mode=b,i.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=b,i.msg="invalid win size",o.marker=5;break}o.mode=1;case 1:if(0===i.avail_in)return a;if(a=r,i.avail_in--,i.total_in++,s=255&i.read_byte(i.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=b,i.msg="incorrect header check",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===i.avail_in)return a;a=r,i.avail_in--,i.total_in++,o.need=(255&i.read_byte(i.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===i.avail_in)return a;a=r,i.avail_in--,i.total_in++,o.need+=(255&i.read_byte(i.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===i.avail_in)return a;a=r,i.avail_in--,i.total_in++,o.need+=(255&i.read_byte(i.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===i.avail_in?a:(a=r,i.avail_in--,i.total_in++,o.need+=255&i.read_byte(i.next_in_index++),o.mode=6,2);case 6:return o.mode=b,i.msg="need dictionary",o.marker=0,e;case 7:if(a=o.blocks.proc(i,a),a==t){o.mode=b,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(i,o.was),o.mode=12;case 12:return i.avail_in=0,1;case b:return t;default:return e}},i.inflateSetDictionary=(t,n,i)=>{let r=0,a=i;if(!t||!t.istate||6!=t.istate.mode)return e;const s=t.istate;return a<1<{let a,s,o,l,c;if(!i||!i.istate)return e;const d=i.istate;if(d.mode!=b&&(d.mode=b,d.marker=0),0===(a=i.avail_in))return n;for(s=i.next_in_index,o=d.marker;0!==a&&4>o;)i.read_byte(s)==g[o]?o++:o=0!==i.read_byte(s)?0:4-o,s++,a--;return i.total_in+=s-i.next_in_index,i.next_in_index=s,i.avail_in=a,d.marker=o,4!=o?t:(l=i.total_in,c=i.total_out,r(i),i.total_in=l,i.total_out=c,d.mode=7,0)},i.inflateSyncPoint=t=>t&&t.istate&&t.istate.blocks?t.istate.blocks.sync_point():e}function m(){}return m.prototype={inflateInit(e){const t=this;return t.istate=new y,e||(e=15),t.istate.inflateInit(t,e)},inflate(t){const n=this;return n.istate?n.istate.inflate(n,t):e},inflateEnd(){const t=this;if(!t.istate)return e;const n=t.istate.inflateEnd(t);return t.istate=null,n},inflateSync(){const t=this;return t.istate?t.istate.inflateSync(t):e},inflateSetDictionary(t,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,t,n):e},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}},function(e){const t=new m,i=e&&e.chunkSize?a.floor(2*e.chunkSize):131072,r=new d(i);let s=!1;t.inflateInit(),t.next_out=r,this.append=(e,a)=>{const o=[];let l,u,f=0,h=0,_=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=i,0!==t.avail_in||s||(t.next_in_index=0,s=!0),l=t.inflate(0),s&&l===n){if(0!==t.avail_in)throw new c("inflating: bad input")}else if(0!==l&&1!==l)throw new c("inflating: "+t.msg);if((s||1===l)&&t.avail_in===e.length)throw new c("inflating: bad input");t.next_out_index&&(t.next_out_index===i?o.push(new d(r)):o.push(r.slice(0,t.next_out_index))),_+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=f&&(a(t.next_in_index),f=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(u=new d(_),o.forEach((e=>{u.set(e,h),h+=e.length}))):u=o[0]||new d,u}},this.flush=()=>{t.inflateEnd()}}})(),D=void 0,A={chunkSize:524288,maxWorkers:void 0!==z&&z.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},U=n.assign({},A);function E(){return U}function F(e){const{baseURL:n,chunkSize:i,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:s,useWebWorkers:o,Deflate:l,Inflate:d,workerScripts:u}=e;if(n!==D&&(U.baseURL=n),i!==D&&(U.chunkSize=i),r!==D&&(U.maxWorkers=r),a!==D&&(U.terminateWorkerTimeout=a),s!==D&&(U.useCompressionStream=s),o!==D&&(U.useWebWorkers=o),l!==D&&(U.Deflate=l),d!==D&&(U.Inflate=d),u!==D){const{deflate:e,inflate:n}=u;if((e||n)&&(U.workerScripts||(U.workerScripts={})),e){if(!t.isArray(e))throw new c("workerScripts.deflate must be an array");U.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new c("workerScripts.inflate must be an array");U.workerScripts.inflate=n}}}const C=[];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;C[e]=t}class L{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^C[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class W extends x{constructor(){super({start(){this.crc32=new L},transform(e){this.crc32.append(e)},flush(e){const t=new d(4);new h(t.buffer).setUint32(0,this.crc32.get()),e.enqueue(t)}})}}const B={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=B.getPartial(n);return 32===i?e.concat(t):B._shiftRight(t,i,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)+B.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=B.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=B.getPartial(r);return i.push(B.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},I={bytes:{fromBits(e){const t=B.bitLength(e)/8,n=new d(t);let i;for(let r=0;t>r;r++)0==(3&r)&&(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const a=new f(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize(){const e=this;let t=e._buffer;const n=e._h;t=B.concat(t,[B.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:(e,t,n,i)=>e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i,_S:(e,t)=>t<>>32-e,_block(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let s=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,s)+n._f(e,o,l,c)+d+r[e]+n._key[a.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=s,s=t}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}};const O={getRandomValues(e){const t=new f(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(a.random()>.5?1:-1))};for(let i,r=0;rnew M.hmacSha1(I.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,d;const u=new ArrayBuffer(r),f=new h(u);let _=0;const w=B;for(t=I.bytes.toBits(t),d=1;(r||1)>_;d++){for(a=s=e.encrypt(w.concat(t,[d])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l_&&or&&(e=n.hash(e));for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},N=void 0!==y&&"function"==typeof y.getRandomValues,q="Invalid password";function P(e){return N?y.getRandomValues(e):O.getRandomValues(e)}const V=16,K={name:"PBKDF2"},Z=n.assign({hash:{name:"HMAC"}},K),G=n.assign({iterations:1e3,hash:{name:"SHA-1"}},K),j=["deriveBits"],X=[8,12,16],Y=[16,24,32],J=10,Q=[0,0,0,0],$="undefined",ee="function",te=typeof y!=$,ne=te&&typeof y.subtle!=$,ie=te&&ne&&typeof y.subtle.importKey==ee,re=te&&ne&&typeof y.subtle.deriveBits==ee,ae=I.bytes,se=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[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 c("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],d=a[3],u=a[4];let f,h,_,w=e[0]^n[0],p=e[t?3:1]^n[1],b=e[2]^n[2],g=e[t?1:3]^n[3],y=4;for(let e=0;i>e;e++)f=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^d[255&g]^n[y],h=s[p>>>24]^o[b>>16&255]^l[g>>8&255]^d[255&w]^n[y+1],_=s[b>>>24]^o[g>>16&255]^l[w>>8&255]^d[255&p]^n[y+2],g=s[g>>>24]^o[w>>16&255]^l[p>>8&255]^d[255&b]^n[y+3],y+=4,w=f,p=h,b=_;for(let e=0;4>e;e++)r[t?3&-e:e]=u[w>>>24]<<24^u[p>>16&255]<<16^u[b>>8&255]<<8^u[255&g]^n[y++],f=w,w=p,p=b,b=g,g=f;return r}},oe=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=B.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return B.clamp(t,r)}},le=M.hmacSha1;class ce extends x{constructor(e,i,r){let a;super({start(){n.assign(this,{ready:new w((e=>this.resolveReady=e)),password:e,signed:i,strength:r-1,pending:new d})},async transform(e,n){const i=this;if(i.password){const n=i.password;i.password=null;const r=_e(e,0,X[i.strength]+2);await(async(e,t,n)=>{await fe(e,n,_e(t,0,X[e.strength]));const i=_e(t,X[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new c(q)})(i,r,n),i.ctr=new oe(new se(i.keys.key),t.from(Q)),i.hmac=new le(i.keys.authentication),e=_e(e,X[i.strength]+2),i.resolveReady()}else await i.ready;const r=new d(e.length-J-(e.length-J)%V);n.enqueue(ue(i,e,r,0,J,!0))},async flush(e){const t=this;await t.ready;const n=t.pending,i=_e(n,0,n.length-J),r=_e(n,n.length-J);let s=new d;if(i.length){const e=pe(ae,i);t.hmac.update(e);const n=t.ctr.update(e);s=we(ae,n)}if(a.valid=!0,t.signed){const e=_e(we(ae,t.hmac.digest()),0,J);for(let t=0;J>t;t++)e[t]!=r[t]&&(a.valid=!1)}e.enqueue(s)}}),a=this}}class de extends x{constructor(e,i){let r;super({start(){n.assign(this,{ready:new w((e=>this.resolveReady=e)),password:e,strength:i-1,pending:new d})},async transform(e,n){const i=this;let r=new d;if(i.password){const e=i.password;i.password=null,r=await(async(e,t)=>{const n=P(new d(X[e.strength]));return await fe(e,t,n),he(n,e.keys.passwordVerification)})(i,e),i.ctr=new oe(new se(i.keys.key),t.from(Q)),i.hmac=new le(i.keys.authentication),i.resolveReady()}else await i.ready;const a=new d(r.length+e.length-e.length%V);a.set(r,0),n.enqueue(ue(i,e,a,r.length,0))},async flush(e){const t=this;await t.ready;let n=new d;if(t.pending.length){const e=t.ctr.update(pe(ae,t.pending));t.hmac.update(e),n=we(ae,e)}r.signature=we(ae,t.hmac.digest()).slice(0,J),e.enqueue(he(n,r.signature))}}),r=this}}function ue(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pending.length&&(t=he(e.pending,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,s-s%V)),o=0;s-V>=o;o+=V){const r=pe(ae,_e(t,o,o+V));a&&e.hmac.update(r);const s=e.ctr.update(r);a||e.hmac.update(s),n.set(we(ae,s),o+i)}return e.pending=_e(t,o),n}async function fe(e,t,i){const r=(e=>{if(void 0===p){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;nie?y.subtle.importKey("raw",t,n,!1,r):M.importKey(t))(0,r,Z,0,j),s=await(async(e,t,n)=>re?await y.subtle.deriveBits(e,t,n):M.pbkdf2(t,e.salt,G.iterations,n))(n.assign({salt:i},G),a,8*(2*Y[e.strength]+2)),o=new d(s);e.keys={key:pe(ae,_e(o,0,Y[e.strength])),authentication:pe(ae,_e(o,Y[e.strength],2*Y[e.strength])),passwordVerification:_e(o,2*Y[e.strength])}}function he(e,t){let n=e;return e.length+t.length&&(n=new d(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function _e(e,t,n){return e.subarray(t,n)}function we(e,t){return e.fromBits(t)}function pe(e,t){return e.toBits(t)}class be extends x{constructor(e,t){let i;super({start(){n.assign(this,{password:e,passwordVerification:t}),xe(this,e)},transform(e,t){const n=this;if(n.password){const t=ye(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new c(q);e=e.subarray(12)}t.enqueue(ye(n,e))},flush(){i.valid=!0}}),i=this}}class ge extends x{constructor(e,t){super({start(){n.assign(this,{password:e,passwordVerification:t}),xe(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=P(new d(12));t[11]=n.passwordVerification,i=new d(e.length+t.length),i.set(me(n,t),0),r=12}else i=new d(e.length),r=0;i.set(me(n,e),r),t.enqueue(i)},flush(){}})}}function ye(e,t){const n=new d(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function ve(e){const t=2|e.keys[2];return Re(a.imul(t,1^t)>>>8)}function Re(e){return 255&e}function Se(e){return 4294967295&e}class ze extends x{constructor(e,t){let n;super({start(){n=new e(t)},transform(e,t){e=n.append(e),t.enqueue(e)},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}const Te="Invalid signature",De="deflate-raw",Ae="undefined",Ue=typeof R==Ae,Ee=typeof S==Ae;let Fe=!0,Ce=!0;class Le extends x{constructor(e,t,{chunkSize:n},...i){super({},...i);const{compressed:r,encrypted:a,useCompressionStream:s,password:o,passwordVerification:l,encryptionStrength:c,zipCrypto:d,signed:u,level:f}=t,_=this;let w,p,b=Ie(super.readable);if(a&&!d||!u||([b,w]=b.tee(),w=w.pipeThrough(new W)),r)if(void 0!==s&&!s||Ue&&!Ce)b=Be(e,b,{chunkSize:n,level:f});else try{b=b.pipeThrough(new R(De))}catch(t){Ce=!1,b=Be(e,b,{chunkSize:n,level:f})}a&&(d?b=b.pipeThrough(new ge(o,l)):(p=new de(o,c),b=b.pipeThrough(p))),He(_,b,(async()=>{let e;a&&!d&&(e=p.signature),a&&!d||!u||(e=await w.getReader().read(),e=new h(e.value.buffer).getUint32(0)),_.signature=e}))}}class We extends x{constructor(e,t,{chunkSize:n},...i){super({},...i);const{zipCrypto:r,encrypted:a,password:s,passwordVerification:o,signed:l,encryptionStrength:d,compressed:u,useCompressionStream:f}=t;let _,w,p=Ie(super.readable);if(a&&(r?p=p.pipeThrough(new be(s,o)):(w=new ce(s,l,d),p=p.pipeThrough(w))),u)if(void 0!==f&&!f||Ee&&!Fe)p=Be(e,p,{chunkSize:n});else try{p=p.pipeThrough(new S(De))}catch(t){Fe=!1,p=Be(e,p,{chunkSize:n})}a&&!r||!l||([p,_]=p.tee(),_=_.pipeThrough(new W)),He(this,p,(async()=>{if(a&&!r&&!w.valid)throw new c(Te);if((!a||r)&&l){const e=await _.getReader().read(),n=new h(e.value.buffer);if(t.signature!=n.getUint32(0,!1))throw new c(Te)}}))}}function Be(e,t,n){return t.pipeThrough(new ze(e,n))}function Ie(e){return e.pipeThrough(new x({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function He(e,t,i){e.size=0,t=t.pipeThrough(new x({transform(t,n){t&&t.length&&(e.size+=t.length,n.enqueue(t))},flush:i})),n.defineProperty(e,"readable",{get:()=>t})}const Oe="inflate",Me="data";class Ne{constructor(e,t,n,i,r){const{codecType:a}=i;async function s(a){const s=new a(e,i,r);await t.pipeThrough(s).pipeTo(n,{preventClose:!0});const{size:o,signature:l}=s;return{size:o,signature:l}}a.startsWith("deflate")?this.run=()=>s(Le):a.startsWith(Oe)&&(this.run=()=>s(We))}}let qe,Pe=!0;class Ve{constructor(e,t,i,r){const{readable:a,writable:s}=t,{options:o,config:u,streamOptions:f,webWorker:h,scripts:_,codecConstructor:p}=i;n.assign(e,{busy:!0,codecConstructor:p,readable:a,writable:s,options:n.assign({},o),scripts:_,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}});const{signal:b,onstart:g,onprogress:y,size:m,onend:k}=f;let v=0;const R={};return g&&(R.start=()=>Ke(g,m())),R.transform=async(e,t)=>{v+=e.length,y&&await Ke(y,v,m()),t.enqueue(e)},R.flush=()=>{a.size=()=>v,k&&Ke(k,v)},e.readable=a.pipeThrough(new x(R,{highWaterMark:1,size:()=>u.chunkSize}),{signal:b}),void 0===qe&&(qe="undefined"!=typeof Worker),h&&qe?((e,{baseURL:t,chunkSize:i})=>{const r={type:"module"},{readable:a,writable:s}=e;if(n.assign(e,{reader:a.getReader(),writer:s.getWriter(),result:new w(((t,n)=>{e.resolveResult=t,e.rejectResult=n}))}),!e.interface){if(Pe)try{e.worker=o({})}catch(t){Pe=!1,e.worker=o(r)}else e.worker=o(r);e.worker.addEventListener("message",(async t=>{const n=t.data,{reader:i,writer:r,resolveResult:a,rejectResult:s,onTaskFinished:o}=e,{type:l,data:f,messageId:h,result:_}=n,w=n.error;try{if(w){const{message:e,stack:t}=w,n=new c(e);n.stack=t,p(n)}else{if("pull"==l){const{value:e,done:t}=await i.read();u({type:Me,data:e,done:t,messageId:h})}l==Me&&(await r.ready,await r.write(new d(f))),"close"==l&&p(null,_)}}catch(e){p(e)}function p(e,t){e?s(e):a(t),r.releaseLock(),o()}}),!1),e.interface={run(){const{options:t}=e;return u({type:"start",scripts:e.scripts.slice(1),options:t,config:{chunkSize:i}}),e.result}}}return e.interface;function o(n){let i,r;i=e.scripts[0],"function"==typeof i&&(i=i());try{r=new l(i,t)}catch(e){r=i}return new Worker(r,n)}function u(t){const{worker:n,writer:i,onTaskFinished:r}=e;try{let{data:e}=t;if(e)try{const{buffer:i,length:r}=e;r!=i.byteLength&&(e=new d(e)),t.data=e.buffer,n.postMessage(t,[t.data])}catch(e){n.postMessage(t)}else n.postMessage(t)}catch(e){throw i.releaseLock(),r(),e}}})(e,u):((e,t)=>{const n=new Ne(e.codecConstructor,e.readable,e.writable,e.options,t),{onTaskFinished:i}=e;return{async run(){try{return await n.run()}finally{i()}}}})(e,u)}}async function Ke(e,...t){try{await e(...t)}catch(e){}}let Ze=[];const Ge=[];let je=0;function Xe(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Ye="HTTP error ",Je="HTTP Range not supported",Qe="text/plain",$e="GET",et=65536;class tt{constructor(){this.size=0}init(){this.initialized=!0}}class nt extends tt{get readable(){const e=this,{chunkSize:t=et}=e,n=new k({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:s}=n,{chunkOffset:o}=this;i.enqueue(await e.readUint8Array(r+o,a.min(t,s()-o))),o+t>s()?i.close():this.chunkOffset+=t}});return n}}class it extends tt{constructor(){super();const e=this,t=new v({write:t=>e.writeUint8Array(t)});n.defineProperty(this,"writable",{get:()=>t})}}class rt extends it{writeUint8Array(e){this.size+=e.length}}class at extends nt{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){return new d(await this.blob.slice(e,e+t).arrayBuffer())}}function st(e){e.pendingBlob=new _([],{type:e.contentType}),e.arrayBuffers=[]}function ot(e){e.pendingBlob=new _([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}class lt extends nt{constructor(e,t){super();const i=this;i.url=e,i.preventHeadRequest=t.preventHeadRequest,i.useRangeHeader=t.useRangeHeader,i.forceRangeRequests=t.forceRangeRequests,i.options=t=n.assign({},t),delete t.preventHeadRequest,delete t.useRangeHeader,delete t.forceRangeRequests,delete t.useXHR}async init(){super.init(),await dt(this,gt,_t)}readUint8Array(e,t){return ut(this,e,t,gt,_t)}}class ct extends nt{constructor(e,t){super();const n=this;n.url=e,n.preventHeadRequest=t.preventHeadRequest,n.useRangeHeader=t.useRangeHeader,n.forceRangeRequests=t.forceRangeRequests,n.options=t}async init(){super.init(),await dt(this,yt,wt)}readUint8Array(e,t){return ut(this,e,t,yt,wt)}}async function dt(e,t,n){if((e=>{const{baseURL:t}=E(),{protocol:n}=new l(e,t);return"http:"==n||"https:"==n})(e.url)&&(e.useRangeHeader||e.forceRangeRequests)){const i=await t($e,e,ft(e));if(!e.forceRangeRequests&&"bytes"!=i.headers.get("Accept-Ranges"))throw new c(Je);{let r;const a=i.headers.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(r=Number(t))}}void 0===r?await bt(e,t,n):e.size=r}}else await bt(e,t,n)}async function ut(e,t,n,i,r){if(e.useRangeHeader||e.forceRangeRequests){const r=await i($e,e,ft(e,t,n));if(206!=r.status)throw new c(Je);return new d(await r.arrayBuffer())}return e.data||await r(e,e.options),new d(e.data.subarray(t,t+n))}function ft(e,t=0,i=1){return n.assign({},ht(e),{Range:"bytes="+t+"-"+(t+i-1)})}function ht(e){const t=e.options.headers;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function _t(e){await pt(e,gt)}async function wt(e){await pt(e,yt)}async function pt(e,t){const n=await t($e,e,ht(e));e.data=new d(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function bt(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t("HEAD",e,ht(e))).headers.get("Content-Length");i?e.size=Number(i):await n(e,e.options)}}async function gt(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new c(Je):new c(Ye+(a.statusText||a.status))}function yt(e,{url:t},i){return new w(((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",(()=>{if(400>s.status){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),r({status:s.status,arrayBuffer:()=>s.response,headers:new o(e)})}else a(416==s.status?new c(Je):new c(Ye+(s.statusText||s.status)))}),!1),s.addEventListener("error",(e=>a(e.detail.error)),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()}))}class mt extends nt{constructor(e,t={}){super(),this.url=e,this.reader=t.useXHR?new ct(e,t):new lt(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}async function xt(e){e.init&&!e.initialized&&await e.init()}const kt=4294967295,vt=33639248,Rt=101075792,St="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function zt(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{let t="";for(let n=0;nthis[t]=e[t]))}}const At="File format is not recognized",Ut="End of central directory not found",Et="End of Zip64 central directory not found",Ft="End of Zip64 central directory locator not found",Ct="Central directory header not found",Lt="Local file header not found",Wt="Zip64 extra field not found",Bt="File contains encrypted entry",It="Encryption method not supported",Ht="Compression method not supported",Ot="utf-8",Mt="cp437",Nt=["uncompressedSize","compressedSize","offset"];class qt{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,extraFieldAES:s,compressionMethod:o,config:l,bitFlag:d,signature:u,rawLastModDate:f,compressedSize:h}=i,_=i.localDirectory={};let p=await en(r,a,30);const b=$t(p);let g=Zt(i,n,"password");if(g=g&&g.length&&g,s&&99!=s.originalCompressionMethod)throw new c(Ht);if(0!=o&&8!=o)throw new c(Ht);if(67324752!=Jt(b,0))throw new c(Lt);Pt(_,b,4),p=await en(r,a,30+_.filenameLength+_.extraFieldLength),_.rawExtraField=p.subarray(30+_.filenameLength),await Vt(i,_,b,4),t.lastAccessDate=_.lastAccessDate,t.creationDate=_.creationDate;const y=i.encrypted&&_.encrypted,m=y&&!s;if(y){if(!m&&void 0===s.strength)throw new c(It);if(!g)throw new c(Bt)}const x=a+30+_.filenameLength+_.extraFieldLength,k=()=>h,v=r.readable;v.offset=x,v.size=k;const{writable:R}=e,S=Zt(i,n,"signal");await xt(e);const{onstart:z,onprogress:T,onend:D}=n,A={options:{codecType:Oe,password:g,zipCrypto:m,encryptionStrength:s&&s.strength,signed:Zt(i,n,"checkSignature"),passwordVerification:m&&(d.dataDescriptor?f>>>8&255:u>>>24&255),signature:u,compressed:0!=o,encrypted:y,useWebWorkers:Zt(i,n,"useWebWorkers"),useCompressionStream:Zt(i,n,"useCompressionStream")},config:l,streamOptions:{signal:S,size:k,onstart:z,onprogress:T,onend:D},codecConstructor:l.Inflate};return await(async(e,t)=>{const{options:n,config:i}=t,r=!n.compressed&&!n.signed&&!n.encrypted,{useWebWorkers:a,useCompressionStream:s,codecType:o}=n,{workerScripts:l}=i;let c;if(t.webWorker=!r&&(a||void 0===a&&i.useWebWorkers),t.scripts=t.webWorker&&l?l[o]:[],n.useCompressionStream=void 0===s?i.useCompressionStream:s,Ze.length!e.busy));n?(Xe(n),c=new Ve(n,e,t,d)):c=await new w((n=>Ge.push({resolve:n,stream:e,workerOptions:t})))}return c.run();function d(e){if(Ge.length){const[{resolve:t,stream:n,workerOptions:i}]=Ge.splice(0,1);t(new Ve(e,n,i,d))}else if(e.worker){const{terminateWorkerTimeout:t}=i;Xe(e),Number.isFinite(t)&&t>=0&&(e.terminateTimeout=setTimeout((()=>{Ze=Ze.filter((t=>t!=e)),e.terminate()}),t))}else Ze=Ze.filter((t=>t!=e))}})({readable:v,writable:R},A),e.preventClose||await R.getWriter().close(),e.getData?e.getData():R}}function Pt(e,t,i){const r=e.rawBitFlag=Yt(t,i+2),a=1==(1&r),s=Jt(t,i+6);n.assign(e,{encrypted:a,version:Yt(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:8==(8&r),languageEncodingFlag:2048==(2048&r)},rawLastModDate:s,lastModDate:Gt(s),filenameLength:Yt(t,i+22),extraFieldLength:Yt(t,i+24)})}async function Vt(e,t,i,r){const{rawExtraField:l}=t,u=t.extraField=new o,f=$t(new d(l));let h=0;try{for(;h{t.zip64=!0;const n=$t(e.data);e.values=[];for(let t=0;tt[e]==kt));for(let t=0;t{if(t[n]==kt){if(void 0===e[n])throw new c(Wt);t[n]=e[n]}}))})(w,t),t.extraFieldZip64=w);const p=u.get(28789);p&&(await Kt(p,"filename","rawFilename",t,e),t.extraFieldUnicodePath=p);const b=u.get(25461);b&&(await Kt(b,"comment","rawComment",t,e),t.extraFieldUnicodeComment=b);const g=u.get(39169);g?(((e,t,n)=>{const i=$t(e.data);e.vendorVersion=Xt(i,0),e.vendorId=Xt(i,2);const r=Xt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Yt(i,5)})(g,t,_),t.extraFieldAES=g):t.compressionMethod=_;const y=u.get(10);y&&(((e,t)=>{const i=$t(e.data);let r,a=4;try{for(;a{const n=$t(e.data),i=Xt(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate")),2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate")),4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let o=1;r.forEach(((i,r)=>{if(e.data.length>=o+4){const l=Jt(n,o);t[i]=e[i]=new s(1e3*l);const c=a[r];e[c]=l}o+=4}))})(m,t),t.extraFieldExtendedTimestamp=m)}async function Kt(e,t,n,i,r){const a=$t(e.data);e.version=Xt(a,0),e.signature=Jt(a,1);const s=new L;s.append(r[n]);const o=$t(new d(4));o.setUint32(0,s.get(),!0),e[t]=await zt(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==Jt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Zt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function Gt(e){const t=(4294901760&e)>>16,n=65535&e;try{return new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function jt(e){return new s(Number(e/r(1e4)-r(116444736e5)))}function Xt(e,t){return e.getUint8(t)}function Yt(e,t){return e.getUint16(t,!0)}function Jt(e,t){return e.getUint32(t,!0)}function Qt(e,t){return Number(e.getBigUint64(t,!0))}function $t(e){return new h(e.buffer)}function en(e,t,n){return e.readUint8Array(t,n)}F({Inflate:T}),e.BlobReader=at,e.BlobWriter=class extends rt{constructor(e){super();const t=this;t.contentType=e,t.arrayBuffersMaxlength=8,st(t)}writeUint8Array(e){super.writeUint8Array(e);const t=this;t.arrayBuffers.length==t.arrayBuffersMaxlength&&ot(t),t.arrayBuffers.push(e.buffer)}getData(){const e=this;return e.blob||(e.arrayBuffers.length&&ot(e),e.blob=e.pendingBlob,st(e)),e.blob}},e.Data64URIReader=class extends nt{constructor(e){super();const t=this;t.dataURI=e;let n=e.length;for(;"="==e.charAt(n-1);)n--;t.dataStart=e.indexOf(",")+1,t.size=a.floor(.75*(n-t.dataStart))}readUint8Array(e,t){const n=new d(t),i=4*a.floor(e/3),r=this.dataStart,s=atob(this.dataURI.substring(i+r,4*a.ceil((e+t)/3)+r)),o=e-3*a.floor(i/4);for(let e=o;o+t>e;e++)n[e-o]=s.charCodeAt(e);return n}},e.Data64URIWriter=class extends rt{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}writeUint8Array(e){super.writeUint8Array(e);const t=this;let n=0,r=t.pending;const s=t.pending.length;for(t.pending="",n=0;n<3*a.floor((s+e.length)/3)-s;n++)r+=i.fromCharCode(e[n]);for(;n2?t.data+=m(r):t.pending=r}getData(){return this.data+m(this.pending)}},e.ERR_BAD_FORMAT=At,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ct,e.ERR_ENCRYPTED=Bt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ft,e.ERR_EOCDR_NOT_FOUND=Ut,e.ERR_EOCDR_ZIP64_NOT_FOUND=Et,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Wt,e.ERR_HTTP_RANGE=Je,e.ERR_INVALID_PASSWORD=q,e.ERR_INVALID_SIGNATURE=Te,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Lt,e.ERR_UNSUPPORTED_COMPRESSION=Ht,e.ERR_UNSUPPORTED_ENCRYPTION=It,e.HttpRangeReader=class extends mt{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=mt,e.Reader=nt,e.TextReader=class extends nt{constructor(e){super(),this.blobReader=new at(new _([e],{type:Qe}))}init(){const e=this;super.init(),e.blobReader.init(),e.size=e.blobReader.size}readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends rt{constructor(e){super(),this.encoding=e,this.blob=new _([],{type:Qe})}writeUint8Array(e){super.writeUint8Array(e),this.blob=new _([this.blob,e.buffer],{type:Qe})}getData(){const e=this;if(e.blob.text&&(void 0===e.encoding||e.encoding&&"utf-8"==e.encoding.toLowerCase()))return e.blob.text();{const t=new FileReader;return new w(((n,i)=>{t.onload=e=>n(e.target.result),t.onerror=()=>i(t.error),t.readAsText(e.blob,e.encoding)}))}}},e.Uint8ArrayReader=class extends nt{constructor(e){super(),this.array=e,this.size=e.length}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends rt{constructor(){super(),this.array=new d}writeUint8Array(e){super.writeUint8Array(e);const t=this,n=t.array;t.array=new d(n.length+e.length),t.array.set(n),t.array.set(e,n.length)}getData(){return this.array}},e.Writer=rt,e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:e,options:t,config:E()})}async*getEntriesGenerator(e={}){const t=this;let{reader:i}=t;const{config:r}=t;if(await xt(i),void 0===i.size||!i.readUint8Array){const e=await new Response(i.readable).blob();i=new at(e)}if(22>i.size)throw new c(At);i.chunkSize=(e=>a.max(e.chunkSize,64))(r);const s=await(async(e,t,n)=>{const i=new d(4);return $t(i).setUint32(0,101010256,!0),await r(22)||await r(a.min(1048582,n));async function r(t){const r=n-t,a=await en(e,r,t);for(let e=a.length-22;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+22).buffer}}})(i,0,i.size);if(!s)throw new c(Ut);const o=$t(s);let l=Jt(o,12),u=Jt(o,16);const f=s.offset,h=Yt(o,20),_=f+22+h;let p=Yt(o,8),b=0,g=0;if(u==kt||l==kt||65535==p){const e=$t(await en(i,s.offset-20,20));if(117853008!=Jt(e,0))throw new c(Et);u=Qt(e,8);let t=await en(i,u,56),n=$t(t);const r=s.offset-20-56;if(Jt(n,0)!=Rt&&u!=r){const e=u;u=r,b=u-e,t=await en(i,u,56),n=$t(t)}if(Jt(n,0)!=Rt)throw new c(Ft);p=Qt(n,32),l=Qt(n,40),u-=l}if(0>u||u>=i.size)throw new c(At);let y=0,m=await en(i,u,l),x=$t(m);if(l){const e=s.offset-l;if(Jt(x,y)!=vt&&u!=e){const t=u;u=e,b=u-t,m=await en(i,u,l),x=$t(m)}}if(0>u||u>=i.size)throw new c(At);const k=Zt(t,e,"filenameEncoding"),v=Zt(t,e,"commentEncoding");for(let s=0;p>s;s++){const o=new qt(i,r,t.options);if(Jt(x,y)!=vt)throw new c(Ct);Pt(o,x,y+6);const l=!!o.bitFlag.languageEncodingFlag,d=y+46,u=d+o.filenameLength,f=u+o.extraFieldLength,h=Yt(x,y+4),_=0==(0&h);n.assign(o,{versionMadeBy:h,msDosCompatible:_,compressedSize:0,uncompressedSize:0,commentLength:Yt(x,y+32),directory:_&&16==(16&Xt(x,y+38)),offset:Jt(x,y+42)+b,internalFileAttribute:Yt(x,y+36),externalFileAttribute:Jt(x,y+38),rawFilename:m.subarray(d,u),filenameUTF8:l,commentUTF8:l,rawExtraField:m.subarray(u,f)}),g=a.max(o.offset,g);const R=f+o.commentLength;o.rawComment=m.subarray(f,R);const[S,z]=await w.all([zt(o.rawFilename,o.filenameUTF8?Ot:k||Mt),zt(o.rawComment,o.commentUTF8?Ot:v||Mt)]);o.filename=S,o.comment=z,!o.directory&&o.filename.endsWith("/")&&(o.directory=!0),await Vt(o,o,x,y+6);const T=new Dt(o);if(T.getData=(e,t)=>o.getData(e,T,t),y=R,e.onprogress)try{await e.onprogress(s+1,p,new Dt(o))}catch(e){}yield T}const R=Zt(t,e,"extractPrependedData"),S=Zt(t,e,"extractAppendedData");return R&&(t.prependedData=g>0?await en(i,0,g):new d),t.comment=h?await en(i,f+22,h):new d,S&&(t.appendedData=_"application/octet-stream",e.initStream=xt,e.terminateWorkers=()=>{Ze.forEach((e=>{Xe(e),e.terminate()}))},n.defineProperty(e,"__esModule",{value:!0})}));