@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
2 lines (1 loc) • 8.72 kB
JavaScript
var r=Uint8Array,n=Uint16Array,e=Int32Array,t=new r([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]),a=new r([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]),f=new r([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),o=function(r,t){for(var a=new n(31),f=0;f<31;++f)a[f]=t+=1<<r[f-1];var o=new e(a[30]);for(f=1;f<30;++f)for(var i=a[f];i<a[f+1];++i)o[i]=i-a[f]<<5|f;return{b:a,r:o}},i=o(t,2),l=i.b,v=i.r;l[28]=258,v[258]=28;for(var u=o(a,0).r,c=new n(32768),h=0;h<32768;++h){var s=(43690&h)>>1|(21845&h)<<1;s=(61680&(s=(52428&s)>>2|(13107&s)<<2))>>4|(3855&s)<<4,c[h]=((65280&s)>>8|(255&s)<<8)>>1}var g=function(r,e,t){for(var a=r.length,f=0,o=new n(e);f<a;++f)r[f]&&++o[r[f]-1];var i,l=new n(e);for(f=1;f<e;++f)l[f]=l[f-1]+o[f-1]<<1;if(t){i=new n(1<<e);var v=15-e;for(f=0;f<a;++f)if(r[f])for(var u=f<<4|r[f],h=e-r[f],s=l[r[f]-1]++<<h,g=s|(1<<h)-1;s<=g;++s)i[c[s]>>v]=u}else for(i=new n(a),f=0;f<a;++f)r[f]&&(i[f]=c[l[r[f]-1]++]>>15-r[f]);return i},w=new r(288);for(h=0;h<144;++h)w[h]=8;for(h=144;h<256;++h)w[h]=9;for(h=256;h<280;++h)w[h]=7;for(h=280;h<288;++h)w[h]=8;var d=new r(32);for(h=0;h<32;++h)d[h]=5;var m=g(w,9,0);g(w,9,1);var p=g(d,5,0);g(d,5,1);var y=function(r){return(r+7)/8|0},M=function(n,e,t){return(null==t||t>n.length)&&(t=n.length),new r(n.subarray(e,t))},x=["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"],b=function r(n,e,t){var a=new Error(e||x[n]);if(a.code=n,Error.captureStackTrace&&Error.captureStackTrace(a,r),!t)throw a;return a},A=function(r,n,e){e<<=7&n;var t=n/8|0;r[t]|=e,r[t+1]|=e>>8},T=function(r,n,e){e<<=7&n;var t=n/8|0;r[t]|=e,r[t+1]|=e>>8,r[t+2]|=e>>16},k=function(e,t){for(var a=[],f=0;f<e.length;++f)e[f]&&a.push({s:f,f:e[f]});var o=a.length,i=a.slice();if(!o)return{t:C,l:0};if(1==o){var l=new r(a[0].s+1);return l[a[0].s]=1,{t:l,l:1}}a.sort((function(r,n){return r.f-n.f})),a.push({s:-1,f:25001});var v=a[0],u=a[1],c=0,h=1,s=2;for(a[0]={s:-1,f:v.f+u.f,l:v,r:u};h!=o-1;)v=a[a[c].f<a[s].f?c++:s++],u=a[c!=h&&a[c].f<a[s].f?c++:s++],a[h++]={s:-1,f:v.f+u.f,l:v,r:u};var g=i[0].s;for(f=1;f<o;++f)i[f].s>g&&(g=i[f].s);var w=new n(g+1),d=E(a[h-1],w,0);if(d>t){f=0;var m=0,p=d-t,y=1<<p;for(i.sort((function(r,n){return w[n.s]-w[r.s]||r.f-n.f}));f<o;++f){var M=i[f].s;if(!(w[M]>t))break;m+=y-(1<<d-w[M]),w[M]=t}for(m>>=p;m>0;){var x=i[f].s;w[x]<t?m-=1<<t-w[x]++-1:++f}for(;f>=0&&m;--f){var b=i[f].s;w[b]==t&&(--w[b],++m)}d=t}return{t:new r(w),l:d}},E=function r(n,e,t){return-1==n.s?Math.max(r(n.l,e,t+1),r(n.r,e,t+1)):e[n.s]=t},D=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new n(++e),a=0,f=r[0],o=1,i=function(r){t[a++]=r},l=1;l<=e;++l)if(r[l]==f&&l!=e)++o;else{if(!f&&o>2){for(;o>138;o-=138)i(32754);o>2&&(i(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(i(f),--o;o>6;o-=6)i(8304);o>2&&(i(o-3<<5|8208),o=0)}for(;o--;)i(f);o=1,f=r[l]}return{c:t.subarray(0,a),n:e}},z=function(r,n){for(var e=0,t=0;t<n.length;++t)e+=r[t]*n[t];return e},F=function(r,n,e){var t=e.length,a=y(n+2);r[a]=255&t,r[a+1]=t>>8,r[a+2]=255^r[a],r[a+3]=255^r[a+1];for(var f=0;f<t;++f)r[a+f+4]=e[f];return 8*(a+4+t)},S=function(r,e,o,i,l,v,u,c,h,s,y){A(e,y++,o),++l[256];for(var M=k(l,15),x=M.t,b=M.l,E=k(v,15),S=E.t,U=E.l,C=D(x),I=C.c,H=C.n,O=D(S),Y=O.c,j=O.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<Y.length;++B)++q[31&Y[B]];for(var G=k(q,7),J=G.t,K=G.l,L=19;L>4&&!J[f[L-1]];--L);var N,P,Q,R,V=s+5<<3,W=z(l,w)+z(v,d)+u,X=z(l,x)+z(v,S)+u+14+3*L+z(q,J)+2*q[16]+3*q[17]+7*q[18];if(h>=0&&V<=W&&V<=X)return F(e,y,r.subarray(h,h+s));if(A(e,y,1+(X<W)),y+=2,X<W){N=g(x,b,0),P=x,Q=g(S,U,0),R=S;var Z=g(J,K,0);A(e,y,H-257),A(e,y+5,j-1),A(e,y+10,L-4),y+=14;for(B=0;B<L;++B)A(e,y+3*B,J[f[B]]);y+=3*L;for(var $=[I,Y],_=0;_<2;++_){var rr=$[_];for(B=0;B<rr.length;++B){var nr=31&rr[B];A(e,y,Z[nr]),y+=J[nr],nr>15&&(A(e,y,rr[B]>>5&127),y+=rr[B]>>12)}}}else N=m,P=w,Q=p,R=d;for(B=0;B<c;++B){var er=i[B];if(er>255){T(e,y,N[(nr=er>>18&31)+257]),y+=P[nr+257],nr>7&&(A(e,y,er>>23&31),y+=t[nr]);var tr=31&er;T(e,y,Q[tr]),y+=R[tr],tr>3&&(T(e,y,er>>5&8191),y+=a[tr])}else T(e,y,N[er]),y+=P[er]}return T(e,y,N[256]),y+P[256]},U=new e([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),C=new r(0),I=function(){for(var r=new Int32Array(256),n=0;n<256;++n){for(var e=n,t=9;--t;)e=(1&e&&-306674912)^e>>>1;r[n]=e}return r}(),H=function(){var r=-1;return{p:function(n){for(var e=r,t=0;t<n.length;++t)e=I[255&e^n[t]]^e>>>8;r=e},d:function(){return~r}}},O=function(f,o,i,l,c){if(!c&&(c={l:1},o.dictionary)){var h=o.dictionary.subarray(-32768),s=new r(h.length+f.length);s.set(h),s.set(f,h.length),f=s,c.w=h.length}return function(f,o,i,l,c,h){var s=h.z||f.length,g=new r(l+s+5*(1+Math.ceil(s/7e3))+c),w=g.subarray(l,g.length-c),d=h.l,m=7&(h.r||0);if(o){m&&(w[0]=h.r>>3);for(var p=U[o-1],x=p>>13,b=8191&p,A=(1<<i)-1,T=h.p||new n(32768),k=h.h||new n(A+1),E=Math.ceil(i/3),D=2*E,z=function(r){return(f[r]^f[r+1]<<E^f[r+2]<<D)&A},C=new e(25e3),I=new n(288),H=new n(32),O=0,Y=0,j=h.i||0,q=0,B=h.w||0,G=0;j+2<s;++j){var J=z(j),K=32767&j,L=k[J];if(T[K]=L,k[J]=K,B<=j){var N=s-j;if((O>7e3||q>24576)&&(N>423||!d)){m=S(f,w,0,C,I,H,Y,q,G,j-G,m),q=O=Y=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)H[P]=0}var Q=2,R=0,V=b,W=K-L&32767;if(N>2&&J==z(j-W))for(var X=Math.min(x,N)-1,Z=Math.min(32767,j),$=Math.min(258,N);W<=Z&&--V&&K!=L;){if(f[j+Q]==f[j+Q-W]){for(var _=0;_<$&&f[j+_]==f[j+_-W];++_);if(_>Q){if(Q=_,R=W,_>X)break;var rr=Math.min(W,_-2),nr=0;for(P=0;P<rr;++P){var er=j-W+P&32767,tr=er-T[er]&32767;tr>nr&&(nr=tr,L=er)}}}W+=(K=L)-(L=T[K])&32767}if(R){C[q++]=268435456|v[Q]<<18|u[R];var ar=31&v[Q],fr=31&u[R];Y+=t[ar]+a[fr],++I[257+ar],++H[fr],B=j+Q,++O}else C[q++]=f[j],++I[f[j]]}}for(j=Math.max(j,B);j<s;++j)C[q++]=f[j],++I[f[j]];m=S(f,w,d,C,I,H,Y,q,G,j-G,m),d||(h.r=7&m|w[m/8|0]<<3,m-=7,h.h=k,h.p=T,h.i=j,h.w=B)}else{for(j=h.w||0;j<s+d;j+=65535){var or=j+65535;or>=s&&(w[m/8|0]=d,or=s),m=F(w,m+1,f.subarray(j,or))}h.i=s}return M(g,0,l+y(m)+c)}(f,null==o.level?6:o.level,null==o.mem?c.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(f.length)))):20:12+o.mem,i,l,c)},Y=function(r,n){var e={};for(var t in r)e[t]=r[t];for(var t in n)e[t]=n[t];return e},j=function(r,n,e){for(;e;++n)r[n]=e,e>>>=8};function q(r,n){return O(r,n||{},0,0)}var B=function n(e,t,a,f){for(var o in e){var i=e[o],l=t+o,v=f;Array.isArray(i)&&(v=Y(f,i[1]),i=i[0]),i instanceof r?a[l]=[i,v]:(a[l+="/"]=[new r(0),v],n(i,l,a,f))}},G="undefined"!=typeof TextEncoder&&new TextEncoder,J="undefined"!=typeof TextDecoder&&new TextDecoder;try{J.decode(C,{stream:!0})}catch(r){}function K(n,e){if(G)return G.encode(n);for(var t=n.length,a=new r(n.length+(n.length>>1)),f=0,o=function(r){a[f++]=r},i=0;i<t;++i){if(f+5>a.length){var l=new r(f+8+(t-i<<1));l.set(a),a=l}var v=n.charCodeAt(i);v<128||e?o(v):v<2048?(o(192|v>>6),o(128|63&v)):v>55295&&v<57344?(o(240|(v=65536+(1047552&v)|1023&n.charCodeAt(++i))>>18),o(128|v>>12&63),o(128|v>>6&63),o(128|63&v)):(o(224|v>>12),o(128|v>>6&63),o(128|63&v))}return M(a,0,f)}var L=function(r){var n=0;if(r)for(var e in r){var t=r[e].length;t>65535&&b(9),n+=t+4}return n},N=function(r,n,e,t,a,f,o,i){var l=t.length,v=e.extra,u=i&&i.length,c=L(v);j(r,n,null!=o?33639248:67324752),n+=4,null!=o&&(r[n++]=20,r[n++]=e.os),r[n]=20,n+=2,r[n++]=e.flag<<1|(f<0&&8),r[n++]=a&&8,r[n++]=255&e.compression,r[n++]=e.compression>>8;var h=new Date(null==e.mtime?Date.now():e.mtime),s=h.getFullYear()-1980;if((s<0||s>119)&&b(10),j(r,n,s<<25|h.getMonth()+1<<21|h.getDate()<<16|h.getHours()<<11|h.getMinutes()<<5|h.getSeconds()>>1),n+=4,-1!=f&&(j(r,n,e.crc),j(r,n+4,f<0?-f-2:f),j(r,n+8,e.size)),j(r,n+12,l),j(r,n+14,c),n+=16,null!=o&&(j(r,n,u),j(r,n+6,e.attrs),j(r,n+10,o),n+=14),r.set(t,n),n+=l,c)for(var g in v){var w=v[g],d=w.length;j(r,n,+g),j(r,n+2,d),r.set(w,n+4),n+=4+d}return u&&(r.set(i,n),n+=u),n};function P(n,e){e||(e={});var t={},a=[];B(n,"",t,e);var f=0,o=0;for(var i in t){var l=t[i],v=l[0],u=l[1],c=0==u.level?0:8,h=(k=K(i)).length,s=u.comment,g=s&&K(s),w=g&&g.length,d=L(u.extra);h>65535&&b(11);var m=c?q(v,u):v,p=m.length,y=H();y.p(v),a.push(Y(u,{size:v.length,crc:y.d(),c:m,f:k,m:g,u:h!=i.length||g&&s.length!=w,o:f,compression:c})),f+=30+h+d+p,o+=76+2*(h+d)+(w||0)+p}for(var M=new r(o+22),x=f,A=o-f,T=0;T<a.length;++T){var k=a[T];N(M,k.o,k,k.f,k.u,k.c.length);var E=30+k.f.length+L(k.extra);M.set(k.c,k.o+E),N(M,f,k,k.f,k.u,k.c.length,k.o,k.m),f+=16+E+(k.m?k.m.length:0)}return function(r,n,e,t,a){j(r,n,101010256),j(r,n+8,e),j(r,n+10,e),j(r,n+12,t),j(r,n+16,a)}(M,f,a.length,A,x),M}export{q as deflateSync,K as strToU8,P as zipSync};