2 lines
8.7 KiB
Java
2 lines
8.7 KiB
Java
|
|
var B=Uint8Array,P=Uint16Array,kr=Int32Array,or=new B([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ur=new B([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),gr=new B([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sr=function(r,a){for(var n=new P(31),e=0;e<31;++e)n[e]=a+=1<<r[e-1];for(var v=new kr(n[30]),e=1;e<30;++e)for(var f=n[e];f<n[e+1];++f)v[f]=f-n[e]<<5|e;return{b:n,r:v}},Tr=Sr(or,2),Cr=Tr.b,Mr=Tr.r;Cr[28]=258,Mr[258]=28;var Er=Sr(ur,0),sr=Er.b,zr=Er.r,xr=new P(32768);for(var g=0;g<32768;++g){var j=(g&43690)>>1|(g&21845)<<1;j=(j&52428)>>2|(j&13107)<<2,j=(j&61680)>>4|(j&3855)<<4,xr[g]=((j&65280)>>8|(j&255)<<8)>>1}var Y=(function(r,a,n){for(var e=r.length,v=0,f=new P(a);v<e;++v)r[v]&&++f[r[v]-1];var o=new P(a);for(v=1;v<a;++v)o[v]=o[v-1]+f[v-1]<<1;var w;if(n){w=new P(1<<a);var t=15-a;for(v=0;v<e;++v)if(r[v])for(var F=v<<4|r[v],i=a-r[v],l=o[r[v]-1]++<<i,c=l|(1<<i)-1;l<=c;++l)w[xr[l]>>t]=F}else for(w=new P(e),v=0;v<e;++v)r[v]&&(w[v]=xr[o[r[v]-1]++]>>15-r[v]);return w}),L=new B(288);for(var g=0;g<144;++g)L[g]=8;for(var g=144;g<256;++g)L[g]=9;for(var g=256;g<280;++g)L[g]=7;for(var g=280;g<288;++g)L[g]=8;var fr=new B(32);for(var g=0;g<32;++g)fr[g]=5;var Dr=Y(L,9,0),Gr=Y(L,9,1),Hr=Y(fr,5,0),Jr=Y(fr,5,1),hr=function(r){for(var a=r[0],n=1;n<r.length;++n)r[n]>a&&(a=r[n]);return a},V=function(r,a,n){var e=a/8|0;return(r[e]|r[e+1]<<8)>>(a&7)&n},wr=function(r,a){var n=a/8|0;return(r[n]|r[n+1]<<8|r[n+2]<<16)>>(a&7)},Fr=function(r){return(r+7)/8|0},Ur=function(r,a,n){return(n==null||n>r.length)&&(n=r.length),new B(r.subarray(a,n))},Kr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],W=function(r,a,n){var e=new Error(a||Kr[r]);if(e.code=r,Error.captureStackTrace&&Error.captureStackTrace(e,W),!n)throw e;return e},Nr=function(r,a,n,e){var v=r.length,f=0;if(!v||a.f&&!a.l)return n||new B(0);var o=!n,w=o||a.i!=2,t=a.i;o&&(n=new B(v*3));var F=function(ar){var nr=n.length;if(ar>nr){var d=new B(Math.max(nr*2,ar));d.set(n),n=d}},i=a.f||0,l=a.p||0,c=a.b||0,M=a.l,E=a.d,x=a.m,s=a.n,R=v*8;do{if(!M){i=V(r,l,1);var H=V(r,l+1,3);if(l+=3,H)if(H==1)M=Gr,E=Jr,x=9,s=5;else if(H==2){var O=V(r,l,31)+257,A=V(r,l+10,15)+4,h=O+V(r,l+5,31)+1;l+=14;for(var u=new B(h),S=new B(19),z=0;z<A;++z)S[gr[z]]=V(r,l+z*3,7);l+=A*3;for(var q=hr(S),_=(1<<q)-1,J=Y(S,q,1),z=0;z<h;){var D=J[V(r,l,_)];l+=D&15;var y=D>>4;if(y<16)u[z++]=y;else{var T=0,b=0;for(y==16?(b=3+V(r,l,3),l+=2,T=u[z-1]):y==17?(b=3+V(r,l,7),l+=3):y==18&&(b=11+V(r,l,127),l+=7);b--;)u[z++]=T}}var G=u.subarray(0,O),C=u.subarray(O);x=hr(G),s=hr(C),M=Y(G,x,1),E=Y(C,s,1)}else W(1);else{var y=Fr(l)+4,I=r[y-4]|r[y-3]<<8,U=y+I;if(U>v){t&&W(0);break}w&&F(c+I),n.set(r.subarray(y,U),c),a.b=c+=I,a.p=l=U*8,a.f=i;continue}if(l>R){t&&W(0);break}}w&&F(c+131072);for(var rr=(1<<x)-1,Q=(1<<s)-1,Z=l;;Z=l){var T=M[wr(r,l)&rr],K=T>>4;if(l+=T&15,l>R){t&&W(0);break}if(T||W(2),K<256)n[c++]=K;else if(K==256){Z=l,M=null;break}else{var N=K-254;if(K>264){var z=K-257,k=or[z];N=V(r,l,(1<<k)-1)+Cr[z],l+=k}var X=E[wr(r,l)&Q],m=X>>4;X||W(3),l+=X&15;var C=sr[m];if(m>3){var k=ur[m];C+=wr(r,l)&(1<<k)-1,l+=k}if(l>R){t&&W(0);break}w&&F(c+131072);var p=c+N;if(c<C){var ir=f-C,lr=Math.min(C,p);for(ir+c<0&&W(3);c<lr;++c)n[c]=e[ir+c]}for(;c<p;++c)n[c]=n[c-C]}}a.l=M,a.p=Z,a.b=c,a.f=i,M&&(i=1,a.m=x,a.d=E,a.n=s)}while(!i);return c!=n.length&&o?Ur(n,0,c):n.subarray(0,c)},$=function(r,a,n){n<<=a&7;var e=a/8|0;r[e]|=n,r[e+1]|=n>>8},er=function(r,a,n){n<<=a&7;var e=a/8|0;r[e]|=n,r[e+1]|=n>>8,r[e+2]|=n>>16},tr=function(r,a){for(var n=[],e=0;e<r.length;++e)r[e]&&n.push({s:e,f:r[e]});var v=n.length,f=n.slice();if(!v)return{t:Br,l:0};if(v==1){var o=new B(n[0].s+1);return o[n[0].s]=1,{t:o,l:1}}n.sort(function(U,O){return U.f-O.f}),n.push({s:-1,f:25001});var w=n[0],t=n[1],F=0,i=1,l=2;for(n[0]={s:-1,f:w.f+t.f,l:w,r:t};i!=v-1;)w=n[n[F].f<n[l].f?F++:l++],t=n[F!=i&&n[F].f<n[l].f?F++:l++],n[i++]={s:-1
|