quake2ts 0.0.238 → 0.0.240
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/package.json +1 -1
- package/packages/client/dist/browser/index.global.js +1 -1
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +1 -1
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +1 -1
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/browser/index.global.js +1 -1
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +1 -1
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +1 -1
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quake2ts",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.240",
|
|
4
4
|
"description": "Quake II re-release port to TypeScript with WebGL renderer - A complete game engine with physics, networking, and BSP rendering",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@8.15.7",
|
|
@@ -166,7 +166,7 @@ void main() {
|
|
|
166
166
|
v_texCoord = a_texCoord;
|
|
167
167
|
v_position = worldPos.xyz;
|
|
168
168
|
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
169
|
-
}`;var jc=class{constructor(){this._position=ee.create(),this._angles=ee.create(),this._bobAngles=ee.create(),this._bobOffset=ee.create(),this._kickAngles=ee.create(),this._rollAngle=0,this._fov=90,this._aspect=1,this._near=.1,this._far=1e3,this._viewMatrix=q.create(),this._projectionMatrix=q.create(),this._viewProjectionMatrix=q.create(),this._dirty=!0}get position(){return this._position}set position(e){ee.copy(this._position,e),this._dirty=!0}get angles(){return this._angles}set angles(e){ee.copy(this._angles,e),this._dirty=!0}get bobAngles(){return this._bobAngles}set bobAngles(e){ee.copy(this._bobAngles,e),this._dirty=!0}get kickAngles(){return this._kickAngles}set kickAngles(e){ee.copy(this._kickAngles,e),this._dirty=!0}get bobOffset(){return this._bobOffset}set bobOffset(e){ee.copy(this._bobOffset,e),this._dirty=!0}get rollAngle(){return this._rollAngle}set rollAngle(e){this._rollAngle=e,this._dirty=!0}get fov(){return this._fov}set fov(e){this._fov=e,this._dirty=!0}get aspect(){return this._aspect}set aspect(e){this._aspect=e,this._dirty=!0}get viewMatrix(){return this.updateMatrices(),this._viewMatrix}get projectionMatrix(){return this.updateMatrices(),this._projectionMatrix}get viewProjectionMatrix(){return this.updateMatrices(),this._viewProjectionMatrix}getViewmodelProjectionMatrix(e){let t=q.create();return q.perspective(t,e*kn,this._aspect,this._near,this._far),t}updateMatrices(){if(!this._dirty)return;q.perspective(this._projectionMatrix,this._fov*kn,this._aspect,this._near,this._far);let e=q.fromValues(0,-1,0,0,0,0,1,0,-1,0,0,0,0,0,0,1),t=this._angles[0]+this._bobAngles[0]+this._kickAngles[0],n=this._angles[1]+this._bobAngles[1]+this._kickAngles[1],i=this._angles[2]+this._bobAngles[2]+this._kickAngles[2]+this._rollAngle,r=t*kn,a=n*kn,s=i*kn,o=q.create();q.identity(o),q.rotateZ(o,o,-a),q.rotateY(o,o,-r),q.rotateX(o,o,-s);let l=q.create();q.multiply(l,e,o);let c=ee.add(ee.create(),this._position,this._bobOffset),u=ee.negate(ee.create(),c),m=ee.create();ee.transformMat4(m,u,o);let d=ee.fromValues(m[1]||0,m[2]||0,m[0]||0);q.copy(this._viewMatrix,l),this._viewMatrix[12]=d[0],this._viewMatrix[13]=d[1],this._viewMatrix[14]=d[2],q.multiply(this._viewProjectionMatrix,this._projectionMatrix,this._viewMatrix),this._dirty=!1}};var jf=class{constructor(e){this.buffer=e,this.view=new DataView(e),this.offset=0}hasMore(){return this.offset<this.buffer.byteLength}readNextBlock(){if(this.offset+4>this.buffer.byteLength)return null;let e=this.view.getInt32(this.offset,!0);if(this.offset+=4,e<0||e>262144)return console.warn(`DemoReader: Invalid block length ${e} at offset ${this.offset-4}`),null;if(this.offset+e>this.buffer.byteLength)return console.warn(`DemoReader: Incomplete block. Expected ${e} bytes, but only ${this.buffer.byteLength-this.offset} remain.`),null;let t=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,{length:e,data:new _a(t)}}reset(){this.offset=0}getOffset(){return this.offset}},qf=4,nc=0,ic=1,Jf=2;function Yt(e){let t=e.length;for(;--t>=0;)e[t]=0}var Qf=0,qc=1,e1=2,t1=3,n1=258,Ma=29,Bn=256,Nn=Bn+1+Ma,Kt=30,Ra=19,Jc=2*Nn+1,bt=15,ta=16,i1=7,za=256,Qc=16,el=17,tl=18,pa=new Uint8Array([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]),Ti=new Uint8Array([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]),r1=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),nl=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a1=512,tt=new Array((Nn+2)*2);Yt(tt);var Rn=new Array(Kt*2);Yt(Rn);var On=new Array(a1);Yt(On);var In=new Array(n1-t1+1);Yt(In);var La=new Array(Ma);Yt(La);var Mi=new Array(Kt);Yt(Mi);function na(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}var il,rl,al;function ia(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var sl=e=>e<256?On[e]:On[256+(e>>>7)],Cn=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Ae=(e,t,n)=>{e.bi_valid>ta-n?(e.bi_buf|=t<<e.bi_valid&65535,Cn(e,e.bi_buf),e.bi_buf=t>>ta-e.bi_valid,e.bi_valid+=n-ta):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},Ve=(e,t,n)=>{Ae(e,n[t*2],n[t*2+1])},ol=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},s1=e=>{e.bi_valid===16?(Cn(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},o1=(e,t)=>{let n=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,l=t.stat_desc.max_length,c,u,m,d,h,f,x=0;for(d=0;d<=bt;d++)e.bl_count[d]=0;for(n[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Jc;c++)u=e.heap[c],d=n[n[u*2+1]*2+1]+1,d>l&&(d=l,x++),n[u*2+1]=d,!(u>i)&&(e.bl_count[d]++,h=0,u>=o&&(h=s[u-o]),f=n[u*2],e.opt_len+=f*(d+h),a&&(e.static_len+=f*(r[u*2+1]+h)));if(x!==0){do{for(d=l-1;e.bl_count[d]===0;)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[l]--,x-=2}while(x>0);for(d=l;d!==0;d--)for(u=e.bl_count[d];u!==0;)m=e.heap[--c],!(m>i)&&(n[m*2+1]!==d&&(e.opt_len+=(d-n[m*2+1])*n[m*2],n[m*2+1]=d),u--)}},cl=(e,t,n)=>{let i=new Array(bt+1),r=0,a,s;for(a=1;a<=bt;a++)r=r+n[a-1]<<1,i[a]=r;for(s=0;s<=t;s++){let o=e[s*2+1];o!==0&&(e[s*2]=ol(i[o]++,o))}},c1=()=>{let e,t,n,i,r,a=new Array(bt+1);for(n=0,i=0;i<Ma-1;i++)for(La[i]=n,e=0;e<1<<pa[i];e++)In[n++]=i;for(In[n-1]=i,r=0,i=0;i<16;i++)for(Mi[i]=r,e=0;e<1<<Ti[i];e++)On[r++]=i;for(r>>=7;i<Kt;i++)for(Mi[i]=r<<7,e=0;e<1<<Ti[i]-7;e++)On[256+r++]=i;for(t=0;t<=bt;t++)a[t]=0;for(e=0;e<=143;)tt[e*2+1]=8,e++,a[8]++;for(;e<=255;)tt[e*2+1]=9,e++,a[9]++;for(;e<=279;)tt[e*2+1]=7,e++,a[7]++;for(;e<=287;)tt[e*2+1]=8,e++,a[8]++;for(cl(tt,Nn+1,a),e=0;e<Kt;e++)Rn[e*2+1]=5,Rn[e*2]=ol(e,5);il=new na(tt,pa,Bn+1,Nn,bt),rl=new na(Rn,Ti,0,Kt,bt),al=new na(new Array(0),r1,0,Ra,i1)},ll=e=>{let t;for(t=0;t<Nn;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Kt;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ra;t++)e.bl_tree[t*2]=0;e.dyn_ltree[za*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},ul=e=>{e.bi_valid>8?Cn(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},rc=(e,t,n,i)=>{let r=t*2,a=n*2;return e[r]<e[a]||e[r]===e[a]&&i[t]<=i[n]},ra=(e,t,n)=>{let i=e.heap[n],r=n<<1;for(;r<=e.heap_len&&(r<e.heap_len&&rc(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!rc(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i},ac=(e,t,n)=>{let i,r,a=0,s,o;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+a++]&255,i+=(e.pending_buf[e.sym_buf+a++]&255)<<8,r=e.pending_buf[e.sym_buf+a++],i===0?Ve(e,r,t):(s=In[r],Ve(e,s+Bn+1,t),o=pa[s],o!==0&&(r-=La[s],Ae(e,r,o)),i--,s=sl(i),Ve(e,s,n),o=Ti[s],o!==0&&(i-=Mi[s],Ae(e,i,o)));while(a<e.sym_next);Ve(e,za,t)},va=(e,t)=>{let n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,a=t.stat_desc.elems,s,o,l=-1,c;for(e.heap_len=0,e.heap_max=Jc,s=0;s<a;s++)n[s*2]!==0?(e.heap[++e.heap_len]=l=s,e.depth[s]=0):n[s*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=l<2?++l:0,n[c*2]=1,e.depth[c]=0,e.opt_len--,r&&(e.static_len-=i[c*2+1]);for(t.max_code=l,s=e.heap_len>>1;s>=1;s--)ra(e,n,s);c=a;do s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ra(e,n,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,n[c*2]=n[s*2]+n[o*2],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,n[s*2+1]=n[o*2+1]=c,e.heap[1]=c++,ra(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],o1(e,t),cl(n,l,e.bl_count)},sc=(e,t,n)=>{let i,r=-1,a,s=t[1],o=0,l=7,c=4;for(s===0&&(l=138,c=3),t[(n+1)*2+1]=65535,i=0;i<=n;i++)a=s,s=t[(i+1)*2+1],!(++o<l&&a===s)&&(o<c?e.bl_tree[a*2]+=o:a!==0?(a!==r&&e.bl_tree[a*2]++,e.bl_tree[Qc*2]++):o<=10?e.bl_tree[el*2]++:e.bl_tree[tl*2]++,o=0,r=a,s===0?(l=138,c=3):a===s?(l=6,c=3):(l=7,c=4))},oc=(e,t,n)=>{let i,r=-1,a,s=t[1],o=0,l=7,c=4;for(s===0&&(l=138,c=3),i=0;i<=n;i++)if(a=s,s=t[(i+1)*2+1],!(++o<l&&a===s)){if(o<c)do Ve(e,a,e.bl_tree);while(--o!==0);else a!==0?(a!==r&&(Ve(e,a,e.bl_tree),o--),Ve(e,Qc,e.bl_tree),Ae(e,o-3,2)):o<=10?(Ve(e,el,e.bl_tree),Ae(e,o-3,3)):(Ve(e,tl,e.bl_tree),Ae(e,o-11,7));o=0,r=a,s===0?(l=138,c=3):a===s?(l=6,c=3):(l=7,c=4)}},l1=e=>{let t;for(sc(e,e.dyn_ltree,e.l_desc.max_code),sc(e,e.dyn_dtree,e.d_desc.max_code),va(e,e.bl_desc),t=Ra-1;t>=3&&e.bl_tree[nl[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},u1=(e,t,n,i)=>{let r;for(Ae(e,t-257,5),Ae(e,n-1,5),Ae(e,i-4,4),r=0;r<i;r++)Ae(e,e.bl_tree[nl[r]*2+1],3);oc(e,e.dyn_ltree,t-1),oc(e,e.dyn_dtree,n-1)},d1=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return nc;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return ic;for(n=32;n<Bn;n++)if(e.dyn_ltree[n*2]!==0)return ic;return nc},cc=!1,m1=e=>{cc||(c1(),cc=!0),e.l_desc=new ia(e.dyn_ltree,il),e.d_desc=new ia(e.dyn_dtree,rl),e.bl_desc=new ia(e.bl_tree,al),e.bi_buf=0,e.bi_valid=0,ll(e)},dl=(e,t,n,i)=>{Ae(e,(Qf<<1)+(i?1:0),3),ul(e),Cn(e,n),Cn(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},h1=e=>{Ae(e,qc<<1,3),Ve(e,za,tt),s1(e)},f1=(e,t,n,i)=>{let r,a,s=0;e.level>0?(e.strm.data_type===Jf&&(e.strm.data_type=d1(e)),va(e,e.l_desc),va(e,e.d_desc),s=l1(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&t!==-1?dl(e,t,n,i):e.strategy===qf||a===r?(Ae(e,(qc<<1)+(i?1:0),3),ac(e,tt,Rn)):(Ae(e,(e1<<1)+(i?1:0),3),u1(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),ac(e,e.dyn_ltree,e.dyn_dtree)),ll(e),i&&ul(e)},_1=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(In[n]+Bn+1)*2]++,e.dyn_dtree[sl(t)*2]++),e.sym_next===e.sym_end),g1=m1,p1=dl,v1=f1,y1=_1,w1=h1,x1={_tr_init:g1,_tr_stored_block:p1,_tr_flush_block:v1,_tr_tally:y1,_tr_align:w1},S1=(e,t,n,i)=>{let r=e&65535|0,a=e>>>16&65535|0,s=0;for(;n!==0;){s=n>2e3?2e3:n,n-=s;do r=r+t[i++]|0,a=a+r|0;while(--s);r%=65521,a%=65521}return r|a<<16|0},Pn=S1,A1=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},E1=new Uint32Array(A1()),k1=(e,t,n,i)=>{let r=E1,a=i+n;e^=-1;for(let s=i;s<a;s++)e=e>>>8^r[(e^t[s])&255];return e^-1},_e=k1,Rt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Nt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:b1,_tr_stored_block:ya,_tr_flush_block:T1,_tr_tally:ut,_tr_align:M1}=x1,{Z_NO_FLUSH:dt,Z_PARTIAL_FLUSH:R1,Z_FULL_FLUSH:z1,Z_FINISH:Ne,Z_BLOCK:lc,Z_OK:ve,Z_STREAM_END:uc,Z_STREAM_ERROR:We,Z_DATA_ERROR:L1,Z_BUF_ERROR:aa,Z_DEFAULT_COMPRESSION:N1,Z_FILTERED:O1,Z_HUFFMAN_ONLY:Si,Z_RLE:I1,Z_FIXED:C1,Z_DEFAULT_STRATEGY:P1,Z_UNKNOWN:D1,Z_DEFLATED:Bi}=Nt,F1=9,U1=15,B1=8,G1=29,H1=256,wa=H1+1+G1,V1=30,W1=19,K1=2*wa+1,$1=15,W=3,lt=258,Ke=lt+W+1,X1=32,$t=42,Na=57,xa=69,Sa=73,Aa=91,Ea=103,Tt=113,Tn=666,we=1,Zt=2,zt=3,jt=4,Y1=3,Mt=(e,t)=>(e.msg=Rt[t],t),dc=e=>e*2-(e>4?9:0),ct=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Z1=e=>{let t,n,i,r=e.w_size;t=e.hash_size,i=t;do n=e.head[--i],e.head[i]=n>=r?n-r:0;while(--t);t=r,i=t;do n=e.prev[--i],e.prev[i]=n>=r?n-r:0;while(--t)},j1=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,mt=j1,be=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},Te=(e,t)=>{T1(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,be(e.strm)},X=(e,t)=>{e.pending_buf[e.pending++]=t},bn=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},ka=(e,t,n,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),n),e.state.wrap===1?e.adler=Pn(e.adler,t,r,n):e.state.wrap===2&&(e.adler=_e(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)},ml=(e,t)=>{let n=e.max_chain_length,i=e.strstart,r,a,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ke?e.strstart-(e.w_size-Ke):0,c=e.window,u=e.w_mask,m=e.prev,d=e.strstart+lt,h=c[i+s-1],f=c[i+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do if(r=t,!(c[r+s]!==f||c[r+s-1]!==h||c[r]!==c[i]||c[++r]!==c[i+1])){i+=2,r++;do;while(c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&i<d);if(a=lt-(d-i),i=d-lt,a>s){if(e.match_start=t,s=a,a>=o)break;h=c[i+s-1],f=c[i+s]}}while((t=m[t&u])>l&&--n!==0);return s<=e.lookahead?s:e.lookahead},Xt=e=>{let t=e.w_size,n,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ke)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Z1(e),i+=t),e.strm.avail_in===0)break;if(n=ka(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=n,e.lookahead+e.insert>=W)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=mt(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=mt(e,e.ins_h,e.window[r+W-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<Ke&&e.strm.avail_in!==0)},hl=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,a,s=0,o=e.strm.avail_in;do{if(i=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>a&&(i=a),i<n&&(i===0&&t!==Ne||t===dt||i!==r+e.strm.avail_in)))break;s=t===Ne&&i===r+e.strm.avail_in?1:0,ya(e,0,0,s),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,be(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(ka(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(s===0);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),s?jt:t!==dt&&t!==Ne&&e.strm.avail_in===0&&e.strstart===e.block_start?Zt:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(ka(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,r=e.strstart-e.block_start,(r>=n||(r||t===Ne)&&t!==dt&&e.strm.avail_in===0&&r<=a)&&(i=r>a?a:r,s=t===Ne&&e.strm.avail_in===0&&i===r?1:0,ya(e,e.block_start,i,s),e.block_start+=i,be(e.strm)),s?zt:we)},sa=(e,t)=>{let n,i;for(;;){if(e.lookahead<Ke){if(Xt(e),e.lookahead<Ke&&t===dt)return we;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-Ke&&(e.match_length=ml(e,n)),e.match_length>=W)if(i=ut(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=mt(e,e.ins_h,e.window[e.strstart+1]);else i=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=e.strstart<W-1?e.strstart:W-1,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},Ht=(e,t)=>{let n,i,r;for(;;){if(e.lookahead<Ke){if(Xt(e),e.lookahead<Ke&&t===dt)return we;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ke&&(e.match_length=ml(e,n),e.match_length<=5&&(e.strategy===O1||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-W,i=ut(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,i&&(Te(e,!1),e.strm.avail_out===0))return we}else if(e.match_available){if(i=ut(e,0,e.window[e.strstart-1]),i&&Te(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return we}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=ut(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<W-1?e.strstart:W-1,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},q1=(e,t)=>{let n,i,r,a,s=e.window;for(;;){if(e.lookahead<=lt){if(Xt(e),e.lookahead<=lt&&t===dt)return we;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(r=e.strstart-1,i=s[r],i===s[++r]&&i===s[++r]&&i===s[++r])){a=e.strstart+lt;do;while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&r<a);e.match_length=lt-(a-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=ut(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=0,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},J1=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(Xt(e),e.lookahead===0)){if(t===dt)return we;break}if(e.match_length=0,n=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=0,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt};function He(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}var Mn=[new He(0,0,0,0,hl),new He(4,4,8,4,sa),new He(4,5,16,8,sa),new He(4,6,32,32,sa),new He(4,4,16,16,Ht),new He(8,16,32,32,Ht),new He(8,16,128,128,Ht),new He(8,32,128,256,Ht),new He(32,128,258,1024,Ht),new He(32,258,258,4096,Ht)],Q1=e=>{e.window_size=2*e.w_size,ct(e.head),e.max_lazy_match=Mn[e.level].max_lazy,e.good_match=Mn[e.level].good_length,e.nice_match=Mn[e.level].nice_length,e.max_chain_length=Mn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0};function e_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Bi,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(K1*2),this.dyn_dtree=new Uint16Array((2*V1+1)*2),this.bl_tree=new Uint16Array((2*W1+1)*2),ct(this.dyn_ltree),ct(this.dyn_dtree),ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*wa+1),ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*wa+1),ct(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Gn=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==$t&&t.status!==Na&&t.status!==xa&&t.status!==Sa&&t.status!==Aa&&t.status!==Ea&&t.status!==Tt&&t.status!==Tn?1:0},fl=e=>{if(Gn(e))return Mt(e,We);e.total_in=e.total_out=0,e.data_type=D1;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Na:t.wrap?$t:Tt,e.adler=t.wrap===2?0:1,t.last_flush=-2,b1(t),ve},_l=e=>{let t=fl(e);return t===ve&&Q1(e.state),t},t_=(e,t)=>Gn(e)||e.state.wrap!==2?We:(e.state.gzhead=t,ve),gl=(e,t,n,i,r,a)=>{if(!e)return We;let s=1;if(t===N1&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>F1||n!==Bi||i<8||i>15||t<0||t>9||a<0||a>C1||i===8&&s!==1)return Mt(e,We);i===8&&(i=9);let o=new e_;return e.state=o,o.strm=e,o.status=$t,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=r+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+W-1)/W),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<r+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=t,o.strategy=a,o.method=n,_l(e)},n_=(e,t)=>gl(e,t,Bi,U1,B1,P1),i_=(e,t)=>{if(Gn(e)||t>lc||t<0)return e?Mt(e,We):We;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===Tn&&t!==Ne)return Mt(e,e.avail_out===0?aa:We);let i=n.last_flush;if(n.last_flush=t,n.pending!==0){if(be(e),e.avail_out===0)return n.last_flush=-1,ve}else if(e.avail_in===0&&dc(t)<=dc(i)&&t!==Ne)return Mt(e,aa);if(n.status===Tn&&e.avail_in!==0)return Mt(e,aa);if(n.status===$t&&n.wrap===0&&(n.status=Tt),n.status===$t){let r=Bi+(n.w_bits-8<<4)<<8,a=-1;if(n.strategy>=Si||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,r|=a<<6,n.strstart!==0&&(r|=X1),r+=31-r%31,bn(n,r),n.strstart!==0&&(bn(n,e.adler>>>16),bn(n,e.adler&65535)),e.adler=1,n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(n.status===Na){if(e.adler=0,X(n,31),X(n,139),X(n,8),n.gzhead)X(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),X(n,n.gzhead.time&255),X(n,n.gzhead.time>>8&255),X(n,n.gzhead.time>>16&255),X(n,n.gzhead.time>>24&255),X(n,n.level===9?2:n.strategy>=Si||n.level<2?4:0),X(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(X(n,n.gzhead.extra.length&255),X(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=_e(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=xa;else if(X(n,0),X(n,0),X(n,0),X(n,0),X(n,0),X(n,n.level===9?2:n.strategy>=Si||n.level<2?4:0),X(n,Y1),n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(n.status===xa){if(n.gzhead.extra){let r=n.pending,a=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+a>n.pending_buf_size;){let o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex+=o,be(e),n.pending!==0)return n.last_flush=-1,ve;r=0,a-=o}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending+=a,n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex=0}n.status=Sa}if(n.status===Sa){if(n.gzhead.name){let r=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),be(e),n.pending!==0)return n.last_flush=-1,ve;r=0}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,X(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex=0}n.status=Aa}if(n.status===Aa){if(n.gzhead.comment){let r=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),be(e),n.pending!==0)return n.last_flush=-1,ve;r=0}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,X(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r))}n.status=Ea}if(n.status===Ea){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(be(e),n.pending!==0))return n.last_flush=-1,ve;X(n,e.adler&255),X(n,e.adler>>8&255),e.adler=0}if(n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(e.avail_in!==0||n.lookahead!==0||t!==dt&&n.status!==Tn){let r=n.level===0?hl(n,t):n.strategy===Si?J1(n,t):n.strategy===I1?q1(n,t):Mn[n.level].func(n,t);if((r===zt||r===jt)&&(n.status=Tn),r===we||r===zt)return e.avail_out===0&&(n.last_flush=-1),ve;if(r===Zt&&(t===R1?M1(n):t!==lc&&(ya(n,0,0,!1),t===z1&&(ct(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),be(e),e.avail_out===0))return n.last_flush=-1,ve}return t!==Ne?ve:n.wrap<=0?uc:(n.wrap===2?(X(n,e.adler&255),X(n,e.adler>>8&255),X(n,e.adler>>16&255),X(n,e.adler>>24&255),X(n,e.total_in&255),X(n,e.total_in>>8&255),X(n,e.total_in>>16&255),X(n,e.total_in>>24&255)):(bn(n,e.adler>>>16),bn(n,e.adler&65535)),be(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ve:uc)},r_=e=>{if(Gn(e))return We;let t=e.state.status;return e.state=null,t===Tt?Mt(e,L1):ve},a_=(e,t)=>{let n=t.length;if(Gn(e))return We;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==$t||i.lookahead)return We;if(r===1&&(e.adler=Pn(e.adler,t,n,0)),i.wrap=0,n>=i.w_size){r===0&&(ct(i.head),i.strstart=0,i.block_start=0,i.insert=0);let l=new Uint8Array(i.w_size);l.set(t.subarray(n-i.w_size,n),0),t=l,n=i.w_size}let a=e.avail_in,s=e.next_in,o=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Xt(i);i.lookahead>=W;){let l=i.strstart,c=i.lookahead-(W-1);do i.ins_h=mt(i,i.ins_h,i.window[l+W-1]),i.prev[l&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=l,l++;while(--c);i.strstart=l,i.lookahead=W-1,Xt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=W-1,i.match_available=0,e.next_in=s,e.input=o,e.avail_in=a,i.wrap=r,ve},s_=n_,o_=gl,c_=_l,l_=fl,u_=t_,d_=i_,m_=r_,h_=a_,f_="pako deflate (from Nodeca project)",zn={deflateInit:s_,deflateInit2:o_,deflateReset:c_,deflateResetKeep:l_,deflateSetHeader:u_,deflate:d_,deflateEnd:m_,deflateSetDictionary:h_,deflateInfo:f_},__=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),g_=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(let i in n)__(n,i)&&(e[i]=n[i])}}return e},p_=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let n=new Uint8Array(t);for(let i=0,r=0,a=e.length;i<a;i++){let s=e[i];n.set(s,r),r+=s.length}return n},Gi={assign:g_,flattenChunks:p_},pl=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{pl=!1}var Dn=new Uint8Array(256);for(let e=0;e<256;e++)Dn[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Dn[254]=Dn[254]=1;var v_=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,i,r,a,s=e.length,o=0;for(r=0;r<s;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<s&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),o+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(o),a=0,r=0;a<o;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<s&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},y_=(e,t)=>{if(t<65534&&e.subarray&&pl)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n},w_=(e,t)=>{let n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,a=new Array(n*2);for(r=0,i=0;i<n;){let s=e[i++];if(s<128){a[r++]=s;continue}let o=Dn[s];if(o>4){a[r++]=65533,i+=o-1;continue}for(s&=o===2?31:o===3?15:7;o>1&&i<n;)s=s<<6|e[i++]&63,o--;if(o>1){a[r++]=65533;continue}s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|s&1023)}return y_(a,r)},x_=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Dn[e[n]]>t?n:t},Fn={string2buf:v_,buf2string:w_,utf8border:x_};function S_(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var vl=S_,yl=Object.prototype.toString,{Z_NO_FLUSH:A_,Z_SYNC_FLUSH:E_,Z_FULL_FLUSH:k_,Z_FINISH:b_,Z_OK:Ri,Z_STREAM_END:T_,Z_DEFAULT_COMPRESSION:M_,Z_DEFAULT_STRATEGY:R_,Z_DEFLATED:z_}=Nt;function Hn(e){this.options=Gi.assign({level:M_,method:z_,chunkSize:16384,windowBits:15,memLevel:8,strategy:R_},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vl,this.strm.avail_out=0;let n=zn.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Ri)throw new Error(Rt[n]);if(t.header&&zn.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Fn.string2buf(t.dictionary):yl.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,n=zn.deflateSetDictionary(this.strm,i),n!==Ri)throw new Error(Rt[n]);this._dict_set=!0}}Hn.prototype.push=function(e,t){let n=this.strm,i=this.options.chunkSize,r,a;if(this.ended)return!1;for(t===~~t?a=t:a=t===!0?b_:A_,typeof e=="string"?n.input=Fn.string2buf(e):yl.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(i),n.next_out=0,n.avail_out=i),(a===E_||a===k_)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(r=zn.deflate(n,a),r===T_)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),r=zn.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Ri;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};Hn.prototype.onData=function(e){this.chunks.push(e)};Hn.prototype.onEnd=function(e){e===Ri&&(this.result=Gi.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Oa(e,t){let n=new Hn(t);if(n.push(e,!0),n.err)throw n.msg||Rt[n.err];return n.result}function L_(e,t){return t=t||{},t.raw=!0,Oa(e,t)}function N_(e,t){return t=t||{},t.gzip=!0,Oa(e,t)}var O_=Hn,I_=Oa,C_=L_,P_=N_,D_=Nt,F_={Deflate:O_,deflate:I_,deflateRaw:C_,gzip:P_,constants:D_},Ai=16209,U_=16191,B_=function(t,n){let i,r,a,s,o,l,c,u,m,d,h,f,x,_,v,y,S,g,A,b,k,p,E,w,T=t.state;i=t.next_in,E=t.input,r=i+(t.avail_in-5),a=t.next_out,w=t.output,s=a-(n-t.avail_out),o=a+(t.avail_out-257),l=T.dmax,c=T.wsize,u=T.whave,m=T.wnext,d=T.window,h=T.hold,f=T.bits,x=T.lencode,_=T.distcode,v=(1<<T.lenbits)-1,y=(1<<T.distbits)-1;e:do{f<15&&(h+=E[i++]<<f,f+=8,h+=E[i++]<<f,f+=8),S=x[h&v];t:for(;;){if(g=S>>>24,h>>>=g,f-=g,g=S>>>16&255,g===0)w[a++]=S&65535;else if(g&16){A=S&65535,g&=15,g&&(f<g&&(h+=E[i++]<<f,f+=8),A+=h&(1<<g)-1,h>>>=g,f-=g),f<15&&(h+=E[i++]<<f,f+=8,h+=E[i++]<<f,f+=8),S=_[h&y];n:for(;;){if(g=S>>>24,h>>>=g,f-=g,g=S>>>16&255,g&16){if(b=S&65535,g&=15,f<g&&(h+=E[i++]<<f,f+=8,f<g&&(h+=E[i++]<<f,f+=8)),b+=h&(1<<g)-1,b>l){t.msg="invalid distance too far back",T.mode=Ai;break e}if(h>>>=g,f-=g,g=a-s,b>g){if(g=b-g,g>u&&T.sane){t.msg="invalid distance too far back",T.mode=Ai;break e}if(k=0,p=d,m===0){if(k+=c-g,g<A){A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}}else if(m<g){if(k+=c+m-g,g-=m,g<A){A-=g;do w[a++]=d[k++];while(--g);if(k=0,m<A){g=m,A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}}}else if(k+=m-g,g<A){A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}for(;A>2;)w[a++]=p[k++],w[a++]=p[k++],w[a++]=p[k++],A-=3;A&&(w[a++]=p[k++],A>1&&(w[a++]=p[k++]))}else{k=a-b;do w[a++]=w[k++],w[a++]=w[k++],w[a++]=w[k++],A-=3;while(A>2);A&&(w[a++]=w[k++],A>1&&(w[a++]=w[k++]))}}else if((g&64)===0){S=_[(S&65535)+(h&(1<<g)-1)];continue n}else{t.msg="invalid distance code",T.mode=Ai;break e}break}}else if((g&64)===0){S=x[(S&65535)+(h&(1<<g)-1)];continue t}else if(g&32){T.mode=U_;break e}else{t.msg="invalid literal/length code",T.mode=Ai;break e}break}}while(i<r&&a<o);A=f>>3,i-=A,f-=A<<3,h&=(1<<f)-1,t.next_in=i,t.next_out=a,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=a<o?257+(o-a):257-(a-o),T.hold=h,T.bits=f},Vt=15,mc=852,hc=592,fc=0,oa=1,_c=2,G_=new Uint16Array([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]),H_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),V_=new Uint16Array([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,0,0]),W_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),K_=(e,t,n,i,r,a,s,o)=>{let l=o.bits,c=0,u=0,m=0,d=0,h=0,f=0,x=0,_=0,v=0,y=0,S,g,A,b,k,p=null,E,w=new Uint16Array(Vt+1),T=new Uint16Array(Vt+1),U=null,B,N,Q;for(c=0;c<=Vt;c++)w[c]=0;for(u=0;u<i;u++)w[t[n+u]]++;for(h=l,d=Vt;d>=1&&w[d]===0;d--);if(h>d&&(h=d),d===0)return r[a++]=1<<24|64<<16|0,r[a++]=1<<24|64<<16|0,o.bits=1,0;for(m=1;m<d&&w[m]===0;m++);for(h<m&&(h=m),_=1,c=1;c<=Vt;c++)if(_<<=1,_-=w[c],_<0)return-1;if(_>0&&(e===fc||d!==1))return-1;for(T[1]=0,c=1;c<Vt;c++)T[c+1]=T[c]+w[c];for(u=0;u<i;u++)t[n+u]!==0&&(s[T[t[n+u]]++]=u);if(e===fc?(p=U=s,E=20):e===oa?(p=G_,U=H_,E=257):(p=V_,U=W_,E=0),y=0,u=0,c=m,k=a,f=h,x=0,A=-1,v=1<<h,b=v-1,e===oa&&v>mc||e===_c&&v>hc)return 1;for(;;){B=c-x,s[u]+1<E?(N=0,Q=s[u]):s[u]>=E?(N=U[s[u]-E],Q=p[s[u]-E]):(N=96,Q=0),S=1<<c-x,g=1<<f,m=g;do g-=S,r[k+(y>>x)+g]=B<<24|N<<16|Q|0;while(g!==0);for(S=1<<c-1;y&S;)S>>=1;if(S!==0?(y&=S-1,y+=S):y=0,u++,--w[c]===0){if(c===d)break;c=t[n+s[u]]}if(c>h&&(y&b)!==A){for(x===0&&(x=h),k+=m,f=c-x,_=1<<f;f+x<d&&(_-=w[f+x],!(_<=0));)f++,_<<=1;if(v+=1<<f,e===oa&&v>mc||e===_c&&v>hc)return 1;A=y&b,r[A]=h<<24|f<<16|k-a|0}}return y!==0&&(r[k+y]=c-x<<24|64<<16|0),o.bits=h,0},Ln=K_,$_=0,wl=1,xl=2,{Z_FINISH:gc,Z_BLOCK:X_,Z_TREES:Ei,Z_OK:Lt,Z_STREAM_END:Y_,Z_NEED_DICT:Z_,Z_STREAM_ERROR:Oe,Z_DATA_ERROR:Sl,Z_MEM_ERROR:Al,Z_BUF_ERROR:j_,Z_DEFLATED:pc}=Nt,Hi=16180,vc=16181,yc=16182,wc=16183,xc=16184,Sc=16185,Ac=16186,Ec=16187,kc=16188,bc=16189,zi=16190,et=16191,ca=16192,Tc=16193,la=16194,Mc=16195,Rc=16196,zc=16197,Lc=16198,ki=16199,bi=16200,Nc=16201,Oc=16202,Ic=16203,Cc=16204,Pc=16205,ua=16206,Dc=16207,Fc=16208,te=16209,El=16210,kl=16211,q_=852,J_=592,Q_=15,eg=Q_,Uc=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function tg(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Ot=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<Hi||t.mode>kl?1:0},bl=e=>{if(Ot(e))return Oe;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Hi,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(q_),t.distcode=t.distdyn=new Int32Array(J_),t.sane=1,t.back=-1,Lt},Tl=e=>{if(Ot(e))return Oe;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,bl(e)},Ml=(e,t)=>{let n;if(Ot(e))return Oe;let i=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Oe:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,Tl(e))},Rl=(e,t)=>{if(!e)return Oe;let n=new tg;e.state=n,n.strm=e,n.window=null,n.mode=Hi;let i=Ml(e,t);return i!==Lt&&(e.state=null),i},ng=e=>Rl(e,eg),Bc=!0,da,ma,ig=e=>{if(Bc){da=new Int32Array(512),ma=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Ln(wl,e.lens,0,288,da,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Ln(xl,e.lens,0,32,ma,0,e.work,{bits:5}),Bc=!1}e.lencode=da,e.lenbits=9,e.distcode=ma,e.distbits=5},zl=(e,t,n,i)=>{let r,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),i>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>i&&(r=i),a.window.set(t.subarray(n-i,n-i+r),a.wnext),i-=r,i?(a.window.set(t.subarray(n-i,n),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0},rg=(e,t)=>{let n,i,r,a,s,o,l,c,u,m,d,h,f,x,_=0,v,y,S,g,A,b,k,p,E=new Uint8Array(4),w,T,U=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ot(e)||!e.output||!e.input&&e.avail_in!==0)return Oe;n=e.state,n.mode===et&&(n.mode=ca),s=e.next_out,r=e.output,l=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,c=n.hold,u=n.bits,m=o,d=l,p=Lt;e:for(;;)switch(n.mode){case Hi:if(n.wrap===0){n.mode=ca;break}for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&2&&c===35615){n.wbits===0&&(n.wbits=15),n.check=0,E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0),c=0,u=0,n.mode=vc;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=te;break}if((c&15)!==pc){e.msg="unknown compression method",n.mode=te;break}if(c>>>=4,u-=4,k=(c&15)+8,n.wbits===0&&(n.wbits=k),k>15||k>n.wbits){e.msg="invalid window size",n.mode=te;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=c&512?bc:et,c=0,u=0;break;case vc:for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.flags=c,(n.flags&255)!==pc){e.msg="unknown compression method",n.mode=te;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=te;break}n.head&&(n.head.text=c>>8&1),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0,n.mode=yc;case yc:for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.head&&(n.head.time=c),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,E[2]=c>>>16&255,E[3]=c>>>24&255,n.check=_e(n.check,E,4,0)),c=0,u=0,n.mode=wc;case wc:for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.head&&(n.head.xflags=c&255,n.head.os=c>>8),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0,n.mode=xc;case xc:if(n.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.length=c,n.head&&(n.head.extra_len=c),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0}else n.head&&(n.head.extra=null);n.mode=Sc;case Sc:if(n.flags&1024&&(h=n.length,h>o&&(h=o),h&&(n.head&&(k=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(i.subarray(a,a+h),k)),n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,n.length-=h),n.length))break e;n.length=0,n.mode=Ac;case Ac:if(n.flags&2048){if(o===0)break e;h=0;do k=i[a+h++],n.head&&k&&n.length<65536&&(n.head.name+=String.fromCharCode(k));while(k&&h<o);if(n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,k)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Ec;case Ec:if(n.flags&4096){if(o===0)break e;h=0;do k=i[a+h++],n.head&&k&&n.length<65536&&(n.head.comment+=String.fromCharCode(k));while(k&&h<o);if(n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,k)break e}else n.head&&(n.head.comment=null);n.mode=kc;case kc:if(n.flags&512){for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&4&&c!==(n.check&65535)){e.msg="header crc mismatch",n.mode=te;break}c=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=et;break;case bc:for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}e.adler=n.check=Uc(c),c=0,u=0,n.mode=zi;case zi:if(n.havedict===0)return e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,Z_;e.adler=n.check=1,n.mode=et;case et:if(t===X_||t===Ei)break e;case ca:if(n.last){c>>>=u&7,u-=u&7,n.mode=ua;break}for(;u<3;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}switch(n.last=c&1,c>>>=1,u-=1,c&3){case 0:n.mode=Tc;break;case 1:if(ig(n),n.mode=ki,t===Ei){c>>>=2,u-=2;break e}break;case 2:n.mode=Rc;break;case 3:e.msg="invalid block type",n.mode=te}c>>>=2,u-=2;break;case Tc:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=te;break}if(n.length=c&65535,c=0,u=0,n.mode=la,t===Ei)break e;case la:n.mode=Mc;case Mc:if(h=n.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;r.set(i.subarray(a,a+h),s),o-=h,a+=h,l-=h,s+=h,n.length-=h;break}n.mode=et;break;case Rc:for(;u<14;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.nlen=(c&31)+257,c>>>=5,u-=5,n.ndist=(c&31)+1,c>>>=5,u-=5,n.ncode=(c&15)+4,c>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=te;break}n.have=0,n.mode=zc;case zc:for(;n.have<n.ncode;){for(;u<3;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.lens[U[n.have++]]=c&7,c>>>=3,u-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,w={bits:n.lenbits},p=Ln($_,n.lens,0,19,n.lencode,0,n.work,w),n.lenbits=w.bits,p){e.msg="invalid code lengths set",n.mode=te;break}n.have=0,n.mode=Lc;case Lc:for(;n.have<n.nlen+n.ndist;){for(;_=n.lencode[c&(1<<n.lenbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(S<16)c>>>=v,u-=v,n.lens[n.have++]=S;else{if(S===16){for(T=v+2;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(c>>>=v,u-=v,n.have===0){e.msg="invalid bit length repeat",n.mode=te;break}k=n.lens[n.have-1],h=3+(c&3),c>>>=2,u-=2}else if(S===17){for(T=v+3;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=v,u-=v,k=0,h=3+(c&7),c>>>=3,u-=3}else{for(T=v+7;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=v,u-=v,k=0,h=11+(c&127),c>>>=7,u-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=te;break}for(;h--;)n.lens[n.have++]=k}}if(n.mode===te)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=te;break}if(n.lenbits=9,w={bits:n.lenbits},p=Ln(wl,n.lens,0,n.nlen,n.lencode,0,n.work,w),n.lenbits=w.bits,p){e.msg="invalid literal/lengths set",n.mode=te;break}if(n.distbits=6,n.distcode=n.distdyn,w={bits:n.distbits},p=Ln(xl,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,w),n.distbits=w.bits,p){e.msg="invalid distances set",n.mode=te;break}if(n.mode=ki,t===Ei)break e;case ki:n.mode=bi;case bi:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,B_(e,d),s=e.next_out,r=e.output,l=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,c=n.hold,u=n.bits,n.mode===et&&(n.back=-1);break}for(n.back=0;_=n.lencode[c&(1<<n.lenbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(y&&(y&240)===0){for(g=v,A=y,b=S;_=n.lencode[b+((c&(1<<g+A)-1)>>g)],v=_>>>24,y=_>>>16&255,S=_&65535,!(g+v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=g,u-=g,n.back+=g}if(c>>>=v,u-=v,n.back+=v,n.length=S,y===0){n.mode=Pc;break}if(y&32){n.back=-1,n.mode=et;break}if(y&64){e.msg="invalid literal/length code",n.mode=te;break}n.extra=y&15,n.mode=Nc;case Nc:if(n.extra){for(T=n.extra;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Oc;case Oc:for(;_=n.distcode[c&(1<<n.distbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if((y&240)===0){for(g=v,A=y,b=S;_=n.distcode[b+((c&(1<<g+A)-1)>>g)],v=_>>>24,y=_>>>16&255,S=_&65535,!(g+v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=g,u-=g,n.back+=g}if(c>>>=v,u-=v,n.back+=v,y&64){e.msg="invalid distance code",n.mode=te;break}n.offset=S,n.extra=y&15,n.mode=Ic;case Ic:if(n.extra){for(T=n.extra;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=te;break}n.mode=Cc;case Cc:if(l===0)break e;if(h=d-l,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=te;break}h>n.wnext?(h-=n.wnext,f=n.wsize-h):f=n.wnext-h,h>n.length&&(h=n.length),x=n.window}else x=r,f=s-n.offset,h=n.length;h>l&&(h=l),l-=h,n.length-=h;do r[s++]=x[f++];while(--h);n.length===0&&(n.mode=bi);break;case Pc:if(l===0)break e;r[s++]=n.length,l--,n.mode=bi;break;case ua:if(n.wrap){for(;u<32;){if(o===0)break e;o--,c|=i[a++]<<u,u+=8}if(d-=l,e.total_out+=d,n.total+=d,n.wrap&4&&d&&(e.adler=n.check=n.flags?_e(n.check,r,d,s-d):Pn(n.check,r,d,s-d)),d=l,n.wrap&4&&(n.flags?c:Uc(c))!==n.check){e.msg="incorrect data check",n.mode=te;break}c=0,u=0}n.mode=Dc;case Dc:if(n.wrap&&n.flags){for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&4&&c!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=te;break}c=0,u=0}n.mode=Fc;case Fc:p=Y_;break e;case te:p=Sl;break e;case El:return Al;case kl:default:return Oe}return e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<te&&(n.mode<ua||t!==gc))&&zl(e,e.output,e.next_out,d-e.avail_out),m-=e.avail_in,d-=e.avail_out,e.total_in+=m,e.total_out+=d,n.total+=d,n.wrap&4&&d&&(e.adler=n.check=n.flags?_e(n.check,r,d,e.next_out-d):Pn(n.check,r,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===et?128:0)+(n.mode===ki||n.mode===la?256:0),(m===0&&d===0||t===gc)&&p===Lt&&(p=j_),p},ag=e=>{if(Ot(e))return Oe;let t=e.state;return t.window&&(t.window=null),e.state=null,Lt},sg=(e,t)=>{if(Ot(e))return Oe;let n=e.state;return(n.wrap&2)===0?Oe:(n.head=t,t.done=!1,Lt)},og=(e,t)=>{let n=t.length,i,r,a;return Ot(e)||(i=e.state,i.wrap!==0&&i.mode!==zi)?Oe:i.mode===zi&&(r=1,r=Pn(r,t,n,0),r!==i.check)?Sl:(a=zl(e,t,n,n),a?(i.mode=El,Al):(i.havedict=1,Lt))},cg=Tl,lg=Ml,ug=bl,dg=ng,mg=Rl,hg=rg,fg=ag,_g=sg,gg=og,pg="pako inflate (from Nodeca project)",nt={inflateReset:cg,inflateReset2:lg,inflateResetKeep:ug,inflateInit:dg,inflateInit2:mg,inflate:hg,inflateEnd:fg,inflateGetHeader:_g,inflateSetDictionary:gg,inflateInfo:pg};function vg(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var yg=vg,Ll=Object.prototype.toString,{Z_NO_FLUSH:wg,Z_FINISH:xg,Z_OK:Un,Z_STREAM_END:ha,Z_NEED_DICT:fa,Z_STREAM_ERROR:Sg,Z_DATA_ERROR:Gc,Z_MEM_ERROR:Ag}=Nt;function Vn(e){this.options=Gi.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vl,this.strm.avail_out=0;let n=nt.inflateInit2(this.strm,t.windowBits);if(n!==Un)throw new Error(Rt[n]);if(this.header=new yg,nt.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Fn.string2buf(t.dictionary):Ll.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=nt.inflateSetDictionary(this.strm,t.dictionary),n!==Un)))throw new Error(Rt[n])}Vn.prototype.push=function(e,t){let n=this.strm,i=this.options.chunkSize,r=this.options.dictionary,a,s,o;if(this.ended)return!1;for(t===~~t?s=t:s=t===!0?xg:wg,Ll.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(i),n.next_out=0,n.avail_out=i),a=nt.inflate(n,s),a===fa&&r&&(a=nt.inflateSetDictionary(n,r),a===Un?a=nt.inflate(n,s):a===Gc&&(a=fa));n.avail_in>0&&a===ha&&n.state.wrap>0&&e[n.next_in]!==0;)nt.inflateReset(n),a=nt.inflate(n,s);switch(a){case Sg:case Gc:case fa:case Ag:return this.onEnd(a),this.ended=!0,!1}if(o=n.avail_out,n.next_out&&(n.avail_out===0||a===ha))if(this.options.to==="string"){let l=Fn.utf8border(n.output,n.next_out),c=n.next_out-l,u=Fn.buf2string(n.output,l);n.next_out=c,n.avail_out=i-c,c&&n.output.set(n.output.subarray(l,l+c),0),this.onData(u)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Un&&o===0)){if(a===ha)return a=nt.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0};Vn.prototype.onData=function(e){this.chunks.push(e)};Vn.prototype.onEnd=function(e){e===Un&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Gi.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Ia(e,t){let n=new Vn(t);if(n.push(e),n.err)throw n.msg||Rt[n.err];return n.result}function Eg(e,t){return t=t||{},t.raw=!0,Ia(e,t)}var kg=Vn,bg=Ia,Tg=Eg,Mg=Ia,Rg=Nt,zg={Inflate:kg,inflate:bg,inflateRaw:Tg,ungzip:Mg,constants:Rg},{Deflate:Lg,deflate:Ng,deflateRaw:Og,gzip:Ig}=F_,{Inflate:Cg,inflate:Pg,inflateRaw:Dg,ungzip:Fg}=zg,Ug=Lg,Bg=Ng,Gg=Og,Hg=Ig,Vg=Cg,Wg=Pg,Kg=Dg,$g=Fg,Xg=Nt,Hc={Deflate:Ug,deflate:Bg,deflateRaw:Gg,gzip:Hg,Inflate:Vg,inflate:Wg,inflateRaw:Kg,ungzip:$g,constants:Xg},Yg=2023,Ca=1,Pa=2,Da=4,Fa=8,Ua=16,Ba=32,Nl=64,Zg=128,jg=256,Ga=512,Ha=1024,Va=2048,Li=4096,Ni=16384,qg=32768,Oi=65536,Wa=1<<17,Ii=1<<18,Ci=1<<19,Ka=1<<20,$a=1<<21,Xa=1<<22,Jg=1<<23,Ya=1<<24,Pi=1<<25,Za=1<<26,ja=1<<27;var Qg=1,ep=2,tp=128,Wt=()=>({number:0,modelindex:0,modelindex2:0,modelindex3:0,modelindex4:0,frame:0,skinnum:0,effects:0,renderfx:0,origin:{x:0,y:0,z:0},old_origin:{x:0,y:0,z:0},angles:{x:0,y:0,z:0},sound:0,event:0,solid:0,bits:0,alpha:0,scale:0,instanceBits:0,loopVolume:0,loopAttenuation:0,owner:0,oldFrame:0}),Vc=()=>({pm_type:0,origin:{x:0,y:0,z:0},velocity:{x:0,y:0,z:0},pm_time:0,pm_flags:0,gravity:0,delta_angles:{x:0,y:0,z:0},viewoffset:{x:0,y:0,z:0},viewangles:{x:0,y:0,z:0},kick_angles:{x:0,y:0,z:0},gun_index:0,gun_frame:0,gun_offset:{x:0,y:0,z:0},gun_angles:{x:0,y:0,z:0},blend:[0,0,0,0],fov:0,rdflags:0,stats:new Array(32).fill(0),gunskin:0,gunrate:0,damage_blend:[0,0,0,0],team_id:0}),np=class Ol{constructor(t,n){this.protocolVersion=0,this.isDemo=Qg,this.stream=t,this.handler=n}translateCommand(t){if(this.protocolVersion===0&&(t===7||t===12))return D.serverdata;if(this.protocolVersion===25){if(t>=7&&t<=15)return t+5;if(t===1)return D.print;if(t===2)return D.stufftext;if(t===3)return D.sound;if(t===4)return D.nop;if(t===5)return D.disconnect;if(t===6)return D.reconnect;if(t===16)return D.temp_entity}return this.protocolVersion===Yg,t}parseMessage(){for(;this.stream.hasMore();){let t=this.stream.readByte();if(t===-1)break;let n=t;t=this.translateCommand(t);try{switch(t){case D.nop:break;case D.disconnect:this.handler&&this.handler.onDisconnect&&this.handler.onDisconnect();break;case D.reconnect:this.handler&&this.handler.onReconnect&&this.handler.onReconnect();break;case D.print:this.parsePrint();break;case D.serverdata:this.parseServerData();break;case D.configstring:this.parseConfigString();break;case D.spawnbaseline:this.parseSpawnBaseline();break;case D.centerprint:this.parseCenterPrint();break;case D.download:this.parseDownload();break;case D.frame:this.parseFrame();break;case D.packetentities:this.parsePacketEntities(!1);break;case D.deltapacketentities:this.parsePacketEntities(!0);break;case D.playerinfo:this.parsePlayerState();break;case D.stufftext:this.parseStuffText();break;case D.layout:this.parseLayout();break;case D.inventory:this.parseInventory();break;case D.sound:this.parseSound();break;case D.muzzleflash:this.parseMuzzleFlash();break;case D.muzzleflash2:this.parseMuzzleFlash2();break;case D.temp_entity:this.parseTempEntity();break;case D.splitclient:this.parseSplitClient();break;case D.configblast:this.parseConfigBlast();break;case D.spawnbaselineblast:this.parseSpawnBaselineBlast();break;case D.level_restart:this.handler&&this.handler.onLevelRestart&&this.handler.onLevelRestart();break;case D.damage:this.parseDamage();break;case D.locprint:this.parseLocPrint();break;case D.fog:this.parseFog();break;case D.waitingforplayers:this.parseWaitingForPlayers();break;case D.bot_chat:this.parseBotChat();break;case D.poi:this.parsePoi();break;case D.help_path:this.parseHelpPath();break;case D.muzzleflash3:this.parseMuzzleFlash3();break;case D.achievement:this.parseAchievement();break;default:console.warn(`Unknown server command: ${n} (translated: ${t}) at offset ${this.stream.getPosition()-1}`);return}}catch(i){console.warn(`Error parsing command ${t}: ${i.message}`);return}}}parsePrint(){let t=this.stream.readByte(),n=this.stream.readString();this.handler&&this.handler.onPrint(t,n)}parseStuffText(){let t=this.stream.readString();this.handler&&this.handler.onStuffText(t)}parseLayout(){let t=this.stream.readString();this.handler&&this.handler.onLayout(t)}parseCenterPrint(){let t=this.stream.readString();this.handler&&this.handler.onCenterPrint(t)}parseServerData(){this.protocolVersion=this.stream.readLong();let t=this.stream.readLong();this.isDemo=this.stream.readByte();let n=0,i=this.stream.readString(),r=this.stream.readShort(),a=this.stream.readString();this.handler?this.handler.onServerData(this.protocolVersion,t,n,i,r,a):console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${a}, GameDir ${i}`)}parseConfigString(){let t=this.stream.readShort(),n=this.stream.readString();this.handler&&this.handler.onConfigString(t,n)}parseSplitClient(){let t=this.stream.readByte();this.handler&&this.handler.onSplitClient&&this.handler.onSplitClient(t)}parseConfigBlast(){let t=this.stream.readShort(),n=this.stream.readShort(),i=this.stream.readData(t);try{let r=Hc.inflate(i);r.byteLength!==n&&console.warn(`svc_configblast: Decompressed size mismatch. Expected ${n}, got ${r.byteLength}`);let a=new _a(r.buffer);for(;a.hasMore();){let s=a.readUShort(),o=a.readString();this.handler&&this.handler.onConfigString(s,o)}}catch(r){console.error("svc_configblast: Failed to decompress data",r)}}parseSpawnBaselineBlast(){let t=this.stream.readShort(),n=this.stream.readShort(),i=this.stream.readData(t);try{let r=Hc.inflate(i);r.byteLength!==n&&console.warn(`svc_spawnbaselineblast: Decompressed size mismatch. Expected ${n}, got ${r.byteLength}`);let a=new _a(r.buffer),s=new Ol(a,this.handler);for(;a.hasMore();)s.parseSpawnBaseline()}catch(r){console.error("svc_spawnbaselineblast: Failed to decompress data",r)}}parseLocPrint(){let t=this.stream.readByte(),n=this.stream.readString(),i=this.stream.readByte(),r=[];for(let a=0;a<i;a++)r.push(this.stream.readString());this.handler&&this.handler.onLocPrint&&this.handler.onLocPrint(t,n)}parseWaitingForPlayers(){let t=this.stream.readByte();this.handler&&this.handler.onWaitingForPlayers&&this.handler.onWaitingForPlayers()}parseBotChat(){let t=this.stream.readString(),n=this.stream.readShort(),i=this.stream.readString();this.handler&&this.handler.onBotChat&&this.handler.onBotChat(i)}parsePoi(){let t=this.stream.readUShort(),n=this.stream.readUShort(),i={x:0,y:0,z:0};this.stream.readPos(i);let r=this.stream.readUShort(),a=this.stream.readByte(),s=this.stream.readByte();this.handler&&this.handler.onPoi&&this.handler.onPoi(s,i)}parseHelpPath(){let t=this.stream.readByte(),n={x:0,y:0,z:0};this.stream.readPos(n);let i={x:0,y:0,z:0};this.stream.readDir(i),this.handler&&this.handler.onHelpPath&&this.handler.onHelpPath(n)}parseAchievement(){let t=this.stream.readString()}parseDownload(){let t=this.stream.readShort(),n=this.stream.readByte(),i;t>0&&(i=this.stream.readData(t)),this.handler&&this.handler.onDownload(t,n,i)}parseInventory(){let n=new Array(256);for(let i=0;i<256;i++)n[i]=this.stream.readShort();this.handler&&this.handler.onInventory(n)}parseSound(){let t=this.stream.readByte(),n=this.stream.readByte(),i,r,a,s,o;if(t&1&&(i=this.stream.readByte()),t&2&&(r=this.stream.readByte()),t&16&&(a=this.stream.readByte()),t&8&&(s=this.stream.readShort()),t&4){let l={x:0,y:0,z:0};this.stream.readPos(l),o=l}this.handler&&this.handler.onSound(t,n,i,r,a,s,o)}parseMuzzleFlash(){let t=this.stream.readShort(),n=this.stream.readByte();this.handler&&this.handler.onMuzzleFlash(t,n)}parseMuzzleFlash2(){let t=this.stream.readShort(),n=this.stream.readByte();this.handler&&this.handler.onMuzzleFlash2(t,n)}parseMuzzleFlash3(){let t=this.stream.readShort(),n=this.stream.readShort();this.handler&&this.handler.onMuzzleFlash3&&this.handler.onMuzzleFlash3(t,n)}parseFog(){let t=this.stream.readByte();if(t&128){let i=this.stream.readByte();t|=i<<8}let n={};t&1&&(n.density=this.stream.readFloat(),n.skyfactor=this.stream.readByte()),t&2&&(n.red=this.stream.readByte()),t&4&&(n.green=this.stream.readByte()),t&8&&(n.blue=this.stream.readByte()),t&16&&(n.time=this.stream.readShort()),t&32&&(n.hf_falloff=this.stream.readFloat()),t&64&&(n.hf_density=this.stream.readFloat()),t&256&&(n.hf_start_r=this.stream.readByte()),t&512&&(n.hf_start_g=this.stream.readByte()),t&1024&&(n.hf_start_b=this.stream.readByte()),t&2048&&(n.hf_start_dist=this.stream.readLong()),t&4096&&(n.hf_end_r=this.stream.readByte()),t&8192&&(n.hf_end_g=this.stream.readByte()),t&16384&&(n.hf_end_b=this.stream.readByte()),t&32768&&(n.hf_end_dist=this.stream.readLong()),this.handler&&this.handler.onFog&&this.handler.onFog(n)}parseDamage(){let t=this.stream.readByte(),n=[];for(let i=0;i<t;i++){let r=this.stream.readByte(),a={x:0,y:0,z:0};this.stream.readDir(a);let s=r&31,o=(r&32)!==0,l=(r&64)!==0,c=(r&128)!==0;n.push({damage:s,health:o,armor:l,power:c,dir:a})}this.handler&&this.handler.onDamage&&this.handler.onDamage(n)}parseTempEntity(){let t=this.stream.readByte(),n={x:0,y:0,z:0},i={x:0,y:0,z:0},r={x:0,y:0,z:0},a,s,o,l,c;switch(t){case R.EXPLOSION1:case R.EXPLOSION2:case R.ROCKET_EXPLOSION:case R.GRENADE_EXPLOSION:case R.ROCKET_EXPLOSION_WATER:case R.GRENADE_EXPLOSION_WATER:case R.BFG_EXPLOSION:case R.BFG_BIGEXPLOSION:case R.BOSSTPORT:case R.PLASMA_EXPLOSION:case R.PLAIN_EXPLOSION:case R.CHAINFIST_SMOKE:case R.TRACKER_EXPLOSION:case R.TELEPORT_EFFECT:case R.DBALL_GOAL:case R.NUKEBLAST:case R.WIDOWSPLASH:case R.EXPLOSION1_BIG:case R.EXPLOSION1_NP:this.stream.readPos(n);break;case R.GUNSHOT:case R.BLOOD:case R.BLASTER:case R.SHOTGUN:case R.SPARKS:case R.BULLET_SPARKS:case R.SCREEN_SPARKS:case R.SHIELD_SPARKS:case R.BLASTER2:case R.FLECHETTE:case R.MOREBLOOD:case R.ELECTRIC_SPARKS:case R.HEATBEAM_SPARKS:case R.HEATBEAM_STEAM:this.stream.readPos(n),this.stream.readDir(r);break;case R.SPLASH:case R.LASER_SPARKS:case R.WELDING_SPARKS:case R.TUNNEL_SPARKS:a=this.stream.readByte(),this.stream.readPos(n),this.stream.readDir(r),s=this.stream.readByte();break;case R.BLUEHYPERBLASTER:this.protocolVersion>=32?(this.stream.readPos(n),this.stream.readPos(i)):(this.stream.readPos(n),this.stream.readDir(r));break;case R.GREENBLOOD:this.protocolVersion>=32?(this.stream.readPos(n),this.stream.readDir(r)):(this.stream.readPos(n),this.stream.readPos(i));break;case R.RAILTRAIL:case R.BUBBLETRAIL:case R.BFG_LASER:case R.DEBUGTRAIL:case R.BUBBLETRAIL2:this.stream.readPos(n),this.stream.readPos(i);break;case R.PARASITE_ATTACK:case R.MEDIC_CABLE_ATTACK:this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i);break;case R.GRAPPLE_CABLE:o=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i),this.stream.readPos(r);break;case R.LIGHTNING:l=this.stream.readShort(),c=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i);break;case R.FLASHLIGHT:this.stream.readPos(n),o=this.stream.readShort();break;case R.FORCEWALL:this.stream.readPos(n),this.stream.readPos(i),s=this.stream.readByte();break;case R.STEAM:let u=this.stream.readShort();a=this.stream.readByte(),this.stream.readPos(n),this.stream.readDir(r),s=this.stream.readByte(),this.stream.readShort(),u!==-1&&this.stream.readLong();break;case R.WIDOWBEAMOUT:this.stream.readShort();case R.HEATBEAM:case R.MONSTER_HEATBEAM:o=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i),this.stream.readPos(r);break;default:break}this.handler&&this.handler.onTempEntity(t,n,i,r,a,s,o,l,c)}parseSpawnBaseline(){let t=this.parseEntityBits(),n=Wt();this.parseDelta(Wt(),n,t.number,t.bits),this.handler&&this.handler.onSpawnBaseline(n)}parseFrame(){let t=this.stream.readLong(),n=this.stream.readLong(),i=this.stream.readByte(),r=this.stream.readByte(),a=this.stream.readData(r),s=this.stream.readByte();if(s!==D.playerinfo)throw new Error(`Expected svc_playerinfo after svc_frame, got ${s}`);let o=this.parsePlayerState();if(this.isDemo===tp){let l=this.stream.readByte();for(let c=0;c<l;c++)this.stream.readByte()}this.isDemo===ep&&this.stream.readLong(),this.handler&&this.handler.onFrame({serverFrame:t,deltaFrame:n,surpressCount:i,areaBytes:r,areaBits:a,playerState:o,packetEntities:{delta:!1,entities:[]}})}parsePlayerState(){let t=Vc(),n=this.stream.readShort();n&1&&(t.pm_type=this.stream.readByte()),n&2&&(t.origin.x=this.stream.readShort()*.125,t.origin.y=this.stream.readShort()*.125,t.origin.z=this.stream.readShort()*.125),n&4&&(t.velocity.x=this.stream.readShort()*.125,t.velocity.y=this.stream.readShort()*.125,t.velocity.z=this.stream.readShort()*.125),n&8&&(t.pm_time=this.stream.readByte()),n&16&&(t.pm_flags=this.stream.readByte()),n&32&&(t.gravity=this.stream.readShort()),n&64&&(t.delta_angles.x=this.stream.readShort()*(180/32768),t.delta_angles.y=this.stream.readShort()*(180/32768),t.delta_angles.z=this.stream.readShort()*(180/32768)),n&128&&(t.viewoffset.x=this.stream.readChar()*.25,t.viewoffset.y=this.stream.readChar()*.25,t.viewoffset.z=this.stream.readChar()*.25),n&256&&(t.viewangles.x=this.stream.readAngle16(),t.viewangles.y=this.stream.readAngle16(),t.viewangles.z=this.stream.readAngle16()),n&512&&(t.kick_angles.x=this.stream.readChar()*.25,t.kick_angles.y=this.stream.readChar()*.25,t.kick_angles.z=this.stream.readChar()*.25),n&4096&&(t.gun_index=this.stream.readByte()),n&8192&&(t.gun_frame=this.stream.readByte(),t.gun_offset.x=this.stream.readChar()*.25,t.gun_offset.y=this.stream.readChar()*.25,t.gun_offset.z=this.stream.readChar()*.25,t.gun_angles.x=this.stream.readChar()*.25,t.gun_angles.y=this.stream.readChar()*.25,t.gun_angles.z=this.stream.readChar()*.25),n&1024&&(t.blend[0]=this.stream.readByte(),t.blend[1]=this.stream.readByte(),t.blend[2]=this.stream.readByte(),t.blend[3]=this.stream.readByte()),n&2048&&(t.fov=this.stream.readByte()),n&16384&&(t.rdflags=this.stream.readByte());let i=this.stream.readLong();for(let r=0;r<32;r++)i&1<<r&&(t.stats[r]=this.stream.readShort());return t}parsePacketEntities(t){let n=this.collectPacketEntities();this.handler&&this.handler.onFrame({serverFrame:0,deltaFrame:0,surpressCount:0,areaBytes:0,areaBits:new Uint8Array,playerState:Vc(),packetEntities:{delta:t,entities:n}})}collectPacketEntities(){let t=[];for(;;){let n=this.parseEntityBits();if(n.number===0)break;let i=Wt();this.parseDelta(Wt(),i,n.number,n.bits),t.push(i)}return t}parseEntityBits(){let t=this.stream.readByte();t&Zg&&(t|=this.stream.readByte()<<8),t&qg&&(t|=this.stream.readByte()<<16),t&Jg&&(t|=this.stream.readByte()<<24);let n;return t&jg?n=this.stream.readShort():n=this.stream.readByte(),{number:n,bits:t}}parseDelta(t,n,i,r){n.number=t.number,n.modelindex=t.modelindex,n.modelindex2=t.modelindex2,n.modelindex3=t.modelindex3,n.modelindex4=t.modelindex4,n.frame=t.frame,n.skinnum=t.skinnum,n.effects=t.effects,n.renderfx=t.renderfx,n.origin.x=t.origin.x,n.origin.y=t.origin.y,n.origin.z=t.origin.z,n.old_origin.x=t.origin.x,n.old_origin.y=t.origin.y,n.old_origin.z=t.origin.z,n.angles.x=t.angles.x,n.angles.y=t.angles.y,n.angles.z=t.angles.z,n.sound=t.sound,n.event=t.event,n.solid=t.solid,n.number=i,n.bits=r,r&Va&&(n.modelindex=this.stream.readByte()),r&Ka&&(n.modelindex2=this.stream.readByte()),r&$a&&(n.modelindex3=this.stream.readByte()),r&Xa&&(n.modelindex4=this.stream.readByte()),r&Ua&&(n.frame=this.stream.readByte()),r&Wa&&(n.frame=this.stream.readShort()),r&Oi&&r&Pi?n.skinnum=this.stream.readLong():r&Oi?n.skinnum=this.stream.readByte():r&Pi&&(n.skinnum=this.stream.readShort()),r&Ni&&r&Ci?n.effects=this.stream.readLong():r&Ni?n.effects=this.stream.readByte():r&Ci&&(n.effects=this.stream.readShort()),r&Li&&r&Ii?n.renderfx=this.stream.readLong():r&Li?n.renderfx=this.stream.readByte():r&Ii&&(n.renderfx=this.stream.readShort()),r&Ca&&(n.origin.x=this.stream.readCoord()),r&Pa&&(n.origin.y=this.stream.readCoord()),r&Ga&&(n.origin.z=this.stream.readCoord()),r&Ha&&(n.angles.x=this.stream.readAngle()),r&Da&&(n.angles.y=this.stream.readAngle()),r&Fa&&(n.angles.z=this.stream.readAngle()),r&Ya&&this.stream.readPos(n.old_origin),r&Za&&(n.sound=this.stream.readByte()),r&Ba?n.event=this.stream.readByte():n.event=0,r&ja&&(n.solid=this.stream.readShort())}},qa=(e=>(e[e.Stopped=0]="Stopped",e[e.Playing=1]="Playing",e[e.Paused=2]="Paused",e[e.Finished=3]="Finished",e))(qa||{}),Il=class{constructor(){this.reader=null,this.state=0,this.playbackSpeed=1,this.accumulatedTime=0,this.frameDuration=100}setHandler(e){this.handler=e}loadDemo(e){this.reader=new jf(e),this.state=0,this.accumulatedTime=0}play(){this.reader&&(this.state=1)}pause(){this.state===1&&(this.state=2)}stop(){this.state=0,this.reader&&this.reader.reset(),this.accumulatedTime=0}update(e){if(!(this.state!==1||!this.reader))for(this.accumulatedTime+=e*1e3*this.playbackSpeed;this.accumulatedTime>=this.frameDuration;){if(!this.reader.hasMore()){this.state=3;return}let t=this.reader.readNextBlock();if(!t){this.state=3;return}new np(t.data,this.handler).parseMessage(),this.accumulatedTime-=this.frameDuration}}getState(){return this.state}};var ip=Object.defineProperty,Cl=(e,t)=>{for(var n in t)ip(e,n,{get:t[n],enumerable:!0})},ft={x:0,y:0,z:0};var u8=Math.PI/180;function Wn(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function Jt(e,t){return{x:e.x*t,y:e.y*t,z:e.z*t}}function Qt(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function rp(e){return Qt(e,e)}function Vi(e){return Math.sqrt(rp(e))}function Pl(e){let t=Vi(e);return t===0?e:Jt(e,1/t)}var Dl=0,Fl=1,Ul=2,ap=Math.PI/180,d8=180/Math.PI;function Ja(e,t){switch(t){case Dl:return e.x;case Fl:return e.y;case Ul:default:return e.z}}function Qa(e){return e*ap}function qt(e){let t=e%360;return t<0?360+t:t}function ts(e){let t=Qa(Ja(e,Fl)),n=Qa(Ja(e,Dl)),i=Qa(Ja(e,Ul)),r=Math.sin(t),a=Math.cos(t),s=Math.sin(n),o=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u={x:o*a,y:o*r,z:-s},m={x:-l*s*a-c*-r,y:-l*s*r-c*a,z:-l*o},d={x:c*s*a-l*-r,y:c*s*r-l*a,z:c*o};return{forward:u,right:m,up:d}}var Xe=1,_t=2;var ns=8,is=16,sp=32;var op=16384;var Wi=65536,Bl=1<<17,cp=1<<18,lp=1<<19,up=1<<20,dp=1<<21,mp=1<<22,hp=1<<23,m8=1<<24,Ki=1<<25,fp=1<<26,h8=1<<27,f8=1<<28,_8=1<<29,$i=1<<30,g8=1<<31;var p8=1<<25,v8=1<<28,y8=1<<29,w8=1<<30,x8=1<<31;var S8=Xe|_t,A8=Xe|Wi|_t|Ki|$i,E8=Xe|Wi|_t,k8=Xe|Bl|_t|Ki|$i,b8=sp|ns|is,T8=Xe|is|ns,_p=Xe|Ki|$i|_t|fp,M8=cp|lp|up|dp|mp|hp,R8=Xe|ns|is|Ki|$i,z8=Xe|Wi|_t,L8=Xe|_t,N8=Xe|Wi|_t|Bl,O8=_p|op;var I8=Number.MAX_SAFE_INTEGER-1;var Kn=(e=>(e[e.None=0]="None",e[e.Archive=1]="Archive",e[e.UserInfo=2]="UserInfo",e[e.ServerInfo=4]="ServerInfo",e[e.Latch=8]="Latch",e[e.Cheat=16]="Cheat",e))(Kn||{});var Gl=256;var gp=256,$n=8192,Xn=2048,Yn=512,pp=256,vp=Gl*2,yp=256,es=32;var re=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",e[e.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",e[e.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+$n]="Sounds",e[e.Images=e.Sounds+Xn]="Images",e[e.Lights=e.Images+Yn]="Lights",e[e.ShadowLights=e.Lights+gp]="ShadowLights",e[e.Items=e.ShadowLights+yp]="Items",e[e.PlayerSkins=e.Items+pp]="PlayerSkins",e[e.General=e.PlayerSkins+Gl]="General",e[e.WheelWeapons=e.General+vp]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+es]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+es]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+es]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(re||{}),C8=re.MaxConfigStrings;var wp={};Cl(wp,{addReplayFrame:()=>Ep,createReplaySession:()=>Ap,deserializeReplay:()=>Sp,serializeReplay:()=>xp});function xp(e){return JSON.stringify(e,null,2)}function Sp(e){let t=JSON.parse(e);if(!t.metadata||!Array.isArray(t.frames))throw new Error("Invalid replay format: missing metadata or frames");return t}function Ap(e,t){return{metadata:{map:e,date:new Date().toISOString(),version:"1.0",seed:t},frames:[]}}function Ep(e,t,n,i){e.frames.push({serverFrame:n,cmd:t,timestamp:Date.now()-i})}var It=(e=>(e[e.None=0]="None",e[e.Feet=1]="Feet",e[e.Waist=2]="Waist",e[e.Under=3]="Under",e))(It||{});var Ie=(e=>(e[e.Ducked=1]="Ducked",e[e.JumpHeld=2]="JumpHeld",e[e.OnGround=4]="OnGround",e[e.TimeWaterJump=8]="TimeWaterJump",e[e.TimeLand=16]="TimeLand",e[e.TimeTeleport=32]="TimeTeleport",e[e.NoPositionalPrediction=64]="NoPositionalPrediction",e[e.OnLadder=128]="OnLadder",e[e.NoAngularPrediction=256]="NoAngularPrediction",e[e.IgnorePlayerCollision=512]="IgnorePlayerCollision",e[e.TimeTrick=1024]="TimeTrick",e))(Ie||{});function it(e,t){return(e&t)!==0}var Xi=(e=>(e[e.Normal=0]="Normal",e[e.Grapple=1]="Grapple",e[e.NoClip=2]="NoClip",e[e.Spectator=3]="Spectator",e[e.Dead=4]="Dead",e[e.Gib=5]="Gib",e[e.Freeze=6]="Freeze",e))(Xi||{}),Ye=(e=>(e[e.None=0]="None",e[e.Attack=1]="Attack",e[e.Use=2]="Use",e[e.Holster=4]="Holster",e[e.Jump=8]="Jump",e[e.Crouch=16]="Crouch",e[e.Any=128]="Any",e))(Ye||{});function Hl(e){let{velocity:t,frametime:n,onGround:i,groundIsSlick:r,onLadder:a,waterlevel:s,pmFriction:o,pmStopSpeed:l,pmWaterFriction:c}=e,u=Vi(t);if(u<1)return{x:0,y:0,z:t.z};let m=0;if(i&&!r||a){let f=u<l?l:u;m+=f*o*n}s>0&&!a&&(m+=u*c*s*n);let d=u-m;if(d<0&&(d=0),d===u)return t;let h=d/u;return Jt(t,h)}function rs(e){let{velocity:t,wishdir:n,wishspeed:i,accel:r,frametime:a}=e,s=Qt(t,n),o=i-s;if(o<=0)return t;let l=r*a*i;return l>o&&(l=o),{x:t.x+n.x*l,y:t.y+n.y*l,z:t.z+n.z*l}}function Vl(e){let{velocity:t,wishdir:n,wishspeed:i,accel:r,frametime:a}=e,s=Math.min(i,30),o=Qt(t,n),l=s-o;if(l<=0)return t;let c=r*i*a;return c>l&&(c=l),{x:t.x+n.x*c,y:t.y+n.y*c,z:t.z+n.z*c}}function Wl(e){let{forward:t,right:n,cmd:i,maxSpeed:r}=e,a={x:t.x*i.forwardmove+n.x*i.sidemove,y:t.y*i.forwardmove+n.y*i.sidemove,z:0},s=Vi(a);if(s>r){let o=r/s;a=Jt(a,o),s=r}return{wishdir:s===0?a:Pl(a),wishspeed:s}}function Kl(e){let{forward:t,right:n,cmd:i,maxSpeed:r}=e,a={x:t.x*i.forwardmove+n.x*i.sidemove,y:t.y*i.forwardmove+n.y*i.sidemove,z:0};i.upmove>10?a=Wn(a,{x:0,y:0,z:i.upmove}):i.upmove<-10?a=Wn(a,{x:0,y:0,z:i.upmove}):a=Wn(a,{x:0,y:0,z:10});let s=Vi(a);if(s>r){let o=r/s;a=Jt(a,o),s=r}return s*=.5,{wishdir:s===0?a:Pl(a),wishspeed:s}}function kp(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function bp(e){return e>89&&e<180?89:e<271&&e>=180?271:e}function as(e){let{pmFlags:t,cmdAngles:n,deltaAngles:i}=e,r;(t&32)!==0?r={x:0,y:n.y+i.y,z:0}:(r=kp(n,i),r={...r,x:bp(r.x)});let a=ts(r);return{viewangles:r,...a}}var $l=200,Xl=200,Yl=200,Zl=140,jl=150,ql=3;function Tp(e){let t=qt(e);return t>89&&t<180?89:t<271&&t>=180?271:t}function Jl(e,t){return{x:Tp(e.x+t.x),y:qt(e.y+t.y),z:qt(e.z+t.z)}}function Ql(e,t){let n=t.sensitivityX??t.sensitivity,i=(t.sensitivityY??t.sensitivity)*(t.invertY?-1:1);return{x:e.deltaY*i,y:e.deltaX*n,z:0}}var eu=0,tu=1,nu=2,iu=3,ru=4,au=5,su=6,ou=7,cu=8;var lu=11,uu=12,du=13;function Mp(e,t,n){let i=Math.floor(n/2),r=n%2!==0,a=t+i,s=e[a]||0;if(r){let o=e[a+1]||0,l=s>>>8&255;return(o&255)<<8|l}else return s&65535}function Rp(e,t,n,i){let r=i*n,a=Math.floor(r/8),s=r%8,o=(1<<i)-1<<s;return(Mp(e,t,a)&o)>>>s}var ss=(e=>(e.QuadDamage="quad",e.Invulnerability="invulnerability",e.EnviroSuit="enviro_suit",e.Rebreather="rebreather",e.Silencer="silencer",e.PowerScreen="power_screen",e.PowerShield="power_shield",e.QuadFire="quad_fire",e.Invisibility="invisibility",e.Bandolier="bandolier",e.AmmoPack="ammo_pack",e.IRGoggles="ir_goggles",e.DoubleDamage="double_damage",e.SphereVengeance="sphere_vengeance",e.SphereHunter="sphere_hunter",e.SphereDefender="sphere_defender",e.Doppelganger="doppelganger",e.TagToken="tag_token",e.TechResistance="tech_resistance",e.TechStrength="tech_strength",e.TechHaste="tech_haste",e.TechRegeneration="tech_regeneration",e.Flashlight="flashlight",e.Compass="compass",e))(ss||{}),Pe=(e=>(e[e.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",e[e.STAT_HEALTH=1]="STAT_HEALTH",e[e.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",e[e.STAT_AMMO=3]="STAT_AMMO",e[e.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",e[e.STAT_ARMOR=5]="STAT_ARMOR",e[e.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",e[e.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",e[e.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",e[e.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",e[e.STAT_TIMER=10]="STAT_TIMER",e[e.STAT_HELPICON=11]="STAT_HELPICON",e[e.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",e[e.STAT_LAYOUTS=13]="STAT_LAYOUTS",e[e.STAT_FRAGS=14]="STAT_FRAGS",e[e.STAT_FLASHES=15]="STAT_FLASHES",e[e.STAT_CHASE=16]="STAT_CHASE",e[e.STAT_SPECTATOR=17]="STAT_SPECTATOR",e[e.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",e[e.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",e[e.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",e[e.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",e[e.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",e[e.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",e[e.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",e[e.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",e[e.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",e[e.STAT_CTF_TECH=27]="STAT_CTF_TECH",e[e.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",e[e.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",e[e.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",e[e.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",e[e.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",e[e.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",e[e.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",e[e.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",e[e.STAT_KEY_A=44]="STAT_KEY_A",e[e.STAT_KEY_B=45]="STAT_KEY_B",e[e.STAT_KEY_C=46]="STAT_KEY_C",e[e.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",e[e.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",e[e.STAT_LIVES=49]="STAT_LIVES",e[e.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",e[e.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",e[e.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",e[e.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",e[e.STAT_LAST=54]="STAT_LAST",e))(Pe||{}),zp=12,Lp=9,P8=Math.ceil(zp*Lp/16),mu=23,hu=2,D8=Math.ceil(mu*hu/16),Np={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,ir_goggles:11,double_damage:12,sphere_vengeance:13,sphere_hunter:14,sphere_defender:15,doppelganger:16,flashlight:17,compass:18,tech_resistance:19,tech_strength:20,tech_haste:21,tech_regeneration:22};function fu(e,t){let n;return typeof t=="number"?n=t:n=Np[t],n===void 0||n<0||n>=mu?0:Rp(e,41,n,hu)}var Op={};Cl(Op,{U_ANGLE1:()=>Bp,U_ANGLE2:()=>Gp,U_ANGLE3:()=>Hp,U_EFFECTS:()=>Kp,U_EVENT:()=>Yp,U_FRAME:()=>Vp,U_MODEL:()=>Cp,U_MODEL2:()=>jp,U_MODEL3:()=>qp,U_MODEL4:()=>Jp,U_MOREBITS:()=>Zp,U_NUMBER:()=>Ip,U_ORIGIN1:()=>Dp,U_ORIGIN2:()=>Fp,U_ORIGIN3:()=>Up,U_REMOVE:()=>Qp,U_RENDERFX:()=>$p,U_SKIN:()=>Wp,U_SOLID:()=>Xp,U_SOUND:()=>Pp});var Ip=1,Cp=2,Pp=4,Dp=8,Fp=16,Up=32,Bp=64,Gp=128,Hp=256,Vp=512,Wp=1024,Kp=2048,$p=4096,Xp=8192,Yp=16384,Zp=32768,jp=1,qp=2,Jp=4,Qp=32768;var _u=(e=>(e[e.Bullets=0]="Bullets",e[e.Shells=1]="Shells",e[e.Rockets=2]="Rockets",e[e.Grenades=3]="Grenades",e[e.Cells=4]="Cells",e[e.Slugs=5]="Slugs",e[e.MagSlugs=6]="MagSlugs",e[e.Trap=7]="Trap",e[e.Flechettes=8]="Flechettes",e[e.Tesla=9]="Tesla",e[e.Disruptor=10]="Disruptor",e[e.Prox=11]="Prox",e[e.Nuke=12]="Nuke",e[e.Rounds=13]="Rounds",e))(_u||{}),F8=Object.keys(_u).length/2;var ev=Object.defineProperty,tv=(e,t)=>{for(var n in t)ev(e,n,{get:t[n],enumerable:!0})},Zi=null,Yi=[1,1,1,1],gu=["ch1","ch2","ch3"],os=[null,null,null],nv=e=>{for(let t=0;t<gu.length;t++){let n=gu[t];try{os[t]=e.Draw_RegisterPic(`pics/${n}.pcx`)}catch{if(t===0)try{os[t]=e.Draw_RegisterPic("pics/crosshair.pcx")}catch{e.Com_Print(`Failed to load crosshair image
|
|
169
|
+
}`;var jc=class{constructor(){this._position=ee.create(),this._angles=ee.create(),this._bobAngles=ee.create(),this._bobOffset=ee.create(),this._kickAngles=ee.create(),this._rollAngle=0,this._fov=90,this._aspect=1,this._near=.1,this._far=1e3,this._viewMatrix=q.create(),this._projectionMatrix=q.create(),this._viewProjectionMatrix=q.create(),this._dirty=!0}get position(){return this._position}set position(e){ee.copy(this._position,e),this._dirty=!0}get angles(){return this._angles}set angles(e){ee.copy(this._angles,e),this._dirty=!0}get bobAngles(){return this._bobAngles}set bobAngles(e){ee.copy(this._bobAngles,e),this._dirty=!0}get kickAngles(){return this._kickAngles}set kickAngles(e){ee.copy(this._kickAngles,e),this._dirty=!0}get bobOffset(){return this._bobOffset}set bobOffset(e){ee.copy(this._bobOffset,e),this._dirty=!0}get rollAngle(){return this._rollAngle}set rollAngle(e){this._rollAngle=e,this._dirty=!0}get fov(){return this._fov}set fov(e){this._fov=e,this._dirty=!0}get aspect(){return this._aspect}set aspect(e){this._aspect=e,this._dirty=!0}get viewMatrix(){return this.updateMatrices(),this._viewMatrix}get projectionMatrix(){return this.updateMatrices(),this._projectionMatrix}get viewProjectionMatrix(){return this.updateMatrices(),this._viewProjectionMatrix}getViewmodelProjectionMatrix(e){let t=q.create();return q.perspective(t,e*kn,this._aspect,this._near,this._far),t}updateMatrices(){if(!this._dirty)return;q.perspective(this._projectionMatrix,this._fov*kn,this._aspect,this._near,this._far);let e=q.fromValues(0,-1,0,0,0,0,1,0,-1,0,0,0,0,0,0,1),t=this._angles[0]+this._bobAngles[0]+this._kickAngles[0],n=this._angles[1]+this._bobAngles[1]+this._kickAngles[1],i=this._angles[2]+this._bobAngles[2]+this._kickAngles[2]+this._rollAngle,r=t*kn,a=n*kn,s=i*kn,o=q.create();q.identity(o),q.rotateZ(o,o,-a),q.rotateY(o,o,-r),q.rotateX(o,o,-s);let l=q.create();q.multiply(l,e,o);let c=ee.add(ee.create(),this._position,this._bobOffset),u=ee.negate(ee.create(),c),m=ee.create();ee.transformMat4(m,u,o);let d=ee.fromValues(m[1]||0,m[2]||0,m[0]||0);q.copy(this._viewMatrix,l),this._viewMatrix[12]=d[0],this._viewMatrix[13]=d[1],this._viewMatrix[14]=d[2],q.multiply(this._viewProjectionMatrix,this._projectionMatrix,this._viewMatrix),this._dirty=!1}};var jf=class{constructor(e){this.buffer=e,this.view=new DataView(e),this.offset=0}hasMore(){return this.offset<this.buffer.byteLength}readNextBlock(){if(this.offset+4>this.buffer.byteLength)return null;let e=this.view.getInt32(this.offset,!0);if(this.offset+=4,e<0||e>262144)return console.warn(`DemoReader: Invalid block length ${e} at offset ${this.offset-4}`),null;if(this.offset+e>this.buffer.byteLength)return console.warn(`DemoReader: Incomplete block. Expected ${e} bytes, but only ${this.buffer.byteLength-this.offset} remain.`),null;let t=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,{length:e,data:new _a(t)}}reset(){this.offset=0}getOffset(){return this.offset}},qf=4,nc=0,ic=1,Jf=2;function Yt(e){let t=e.length;for(;--t>=0;)e[t]=0}var Qf=0,qc=1,e1=2,t1=3,n1=258,Ma=29,Bn=256,Nn=Bn+1+Ma,Kt=30,Ra=19,Jc=2*Nn+1,bt=15,ta=16,i1=7,za=256,Qc=16,el=17,tl=18,pa=new Uint8Array([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]),Ti=new Uint8Array([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]),r1=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),nl=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a1=512,tt=new Array((Nn+2)*2);Yt(tt);var Rn=new Array(Kt*2);Yt(Rn);var On=new Array(a1);Yt(On);var In=new Array(n1-t1+1);Yt(In);var La=new Array(Ma);Yt(La);var Mi=new Array(Kt);Yt(Mi);function na(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}var il,rl,al;function ia(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var sl=e=>e<256?On[e]:On[256+(e>>>7)],Cn=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Ae=(e,t,n)=>{e.bi_valid>ta-n?(e.bi_buf|=t<<e.bi_valid&65535,Cn(e,e.bi_buf),e.bi_buf=t>>ta-e.bi_valid,e.bi_valid+=n-ta):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},Ve=(e,t,n)=>{Ae(e,n[t*2],n[t*2+1])},ol=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},s1=e=>{e.bi_valid===16?(Cn(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},o1=(e,t)=>{let n=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,l=t.stat_desc.max_length,c,u,m,d,h,f,x=0;for(d=0;d<=bt;d++)e.bl_count[d]=0;for(n[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Jc;c++)u=e.heap[c],d=n[n[u*2+1]*2+1]+1,d>l&&(d=l,x++),n[u*2+1]=d,!(u>i)&&(e.bl_count[d]++,h=0,u>=o&&(h=s[u-o]),f=n[u*2],e.opt_len+=f*(d+h),a&&(e.static_len+=f*(r[u*2+1]+h)));if(x!==0){do{for(d=l-1;e.bl_count[d]===0;)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[l]--,x-=2}while(x>0);for(d=l;d!==0;d--)for(u=e.bl_count[d];u!==0;)m=e.heap[--c],!(m>i)&&(n[m*2+1]!==d&&(e.opt_len+=(d-n[m*2+1])*n[m*2],n[m*2+1]=d),u--)}},cl=(e,t,n)=>{let i=new Array(bt+1),r=0,a,s;for(a=1;a<=bt;a++)r=r+n[a-1]<<1,i[a]=r;for(s=0;s<=t;s++){let o=e[s*2+1];o!==0&&(e[s*2]=ol(i[o]++,o))}},c1=()=>{let e,t,n,i,r,a=new Array(bt+1);for(n=0,i=0;i<Ma-1;i++)for(La[i]=n,e=0;e<1<<pa[i];e++)In[n++]=i;for(In[n-1]=i,r=0,i=0;i<16;i++)for(Mi[i]=r,e=0;e<1<<Ti[i];e++)On[r++]=i;for(r>>=7;i<Kt;i++)for(Mi[i]=r<<7,e=0;e<1<<Ti[i]-7;e++)On[256+r++]=i;for(t=0;t<=bt;t++)a[t]=0;for(e=0;e<=143;)tt[e*2+1]=8,e++,a[8]++;for(;e<=255;)tt[e*2+1]=9,e++,a[9]++;for(;e<=279;)tt[e*2+1]=7,e++,a[7]++;for(;e<=287;)tt[e*2+1]=8,e++,a[8]++;for(cl(tt,Nn+1,a),e=0;e<Kt;e++)Rn[e*2+1]=5,Rn[e*2]=ol(e,5);il=new na(tt,pa,Bn+1,Nn,bt),rl=new na(Rn,Ti,0,Kt,bt),al=new na(new Array(0),r1,0,Ra,i1)},ll=e=>{let t;for(t=0;t<Nn;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Kt;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ra;t++)e.bl_tree[t*2]=0;e.dyn_ltree[za*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},ul=e=>{e.bi_valid>8?Cn(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},rc=(e,t,n,i)=>{let r=t*2,a=n*2;return e[r]<e[a]||e[r]===e[a]&&i[t]<=i[n]},ra=(e,t,n)=>{let i=e.heap[n],r=n<<1;for(;r<=e.heap_len&&(r<e.heap_len&&rc(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!rc(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i},ac=(e,t,n)=>{let i,r,a=0,s,o;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+a++]&255,i+=(e.pending_buf[e.sym_buf+a++]&255)<<8,r=e.pending_buf[e.sym_buf+a++],i===0?Ve(e,r,t):(s=In[r],Ve(e,s+Bn+1,t),o=pa[s],o!==0&&(r-=La[s],Ae(e,r,o)),i--,s=sl(i),Ve(e,s,n),o=Ti[s],o!==0&&(i-=Mi[s],Ae(e,i,o)));while(a<e.sym_next);Ve(e,za,t)},va=(e,t)=>{let n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,a=t.stat_desc.elems,s,o,l=-1,c;for(e.heap_len=0,e.heap_max=Jc,s=0;s<a;s++)n[s*2]!==0?(e.heap[++e.heap_len]=l=s,e.depth[s]=0):n[s*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=l<2?++l:0,n[c*2]=1,e.depth[c]=0,e.opt_len--,r&&(e.static_len-=i[c*2+1]);for(t.max_code=l,s=e.heap_len>>1;s>=1;s--)ra(e,n,s);c=a;do s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ra(e,n,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,n[c*2]=n[s*2]+n[o*2],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,n[s*2+1]=n[o*2+1]=c,e.heap[1]=c++,ra(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],o1(e,t),cl(n,l,e.bl_count)},sc=(e,t,n)=>{let i,r=-1,a,s=t[1],o=0,l=7,c=4;for(s===0&&(l=138,c=3),t[(n+1)*2+1]=65535,i=0;i<=n;i++)a=s,s=t[(i+1)*2+1],!(++o<l&&a===s)&&(o<c?e.bl_tree[a*2]+=o:a!==0?(a!==r&&e.bl_tree[a*2]++,e.bl_tree[Qc*2]++):o<=10?e.bl_tree[el*2]++:e.bl_tree[tl*2]++,o=0,r=a,s===0?(l=138,c=3):a===s?(l=6,c=3):(l=7,c=4))},oc=(e,t,n)=>{let i,r=-1,a,s=t[1],o=0,l=7,c=4;for(s===0&&(l=138,c=3),i=0;i<=n;i++)if(a=s,s=t[(i+1)*2+1],!(++o<l&&a===s)){if(o<c)do Ve(e,a,e.bl_tree);while(--o!==0);else a!==0?(a!==r&&(Ve(e,a,e.bl_tree),o--),Ve(e,Qc,e.bl_tree),Ae(e,o-3,2)):o<=10?(Ve(e,el,e.bl_tree),Ae(e,o-3,3)):(Ve(e,tl,e.bl_tree),Ae(e,o-11,7));o=0,r=a,s===0?(l=138,c=3):a===s?(l=6,c=3):(l=7,c=4)}},l1=e=>{let t;for(sc(e,e.dyn_ltree,e.l_desc.max_code),sc(e,e.dyn_dtree,e.d_desc.max_code),va(e,e.bl_desc),t=Ra-1;t>=3&&e.bl_tree[nl[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},u1=(e,t,n,i)=>{let r;for(Ae(e,t-257,5),Ae(e,n-1,5),Ae(e,i-4,4),r=0;r<i;r++)Ae(e,e.bl_tree[nl[r]*2+1],3);oc(e,e.dyn_ltree,t-1),oc(e,e.dyn_dtree,n-1)},d1=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return nc;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return ic;for(n=32;n<Bn;n++)if(e.dyn_ltree[n*2]!==0)return ic;return nc},cc=!1,m1=e=>{cc||(c1(),cc=!0),e.l_desc=new ia(e.dyn_ltree,il),e.d_desc=new ia(e.dyn_dtree,rl),e.bl_desc=new ia(e.bl_tree,al),e.bi_buf=0,e.bi_valid=0,ll(e)},dl=(e,t,n,i)=>{Ae(e,(Qf<<1)+(i?1:0),3),ul(e),Cn(e,n),Cn(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},h1=e=>{Ae(e,qc<<1,3),Ve(e,za,tt),s1(e)},f1=(e,t,n,i)=>{let r,a,s=0;e.level>0?(e.strm.data_type===Jf&&(e.strm.data_type=d1(e)),va(e,e.l_desc),va(e,e.d_desc),s=l1(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&t!==-1?dl(e,t,n,i):e.strategy===qf||a===r?(Ae(e,(qc<<1)+(i?1:0),3),ac(e,tt,Rn)):(Ae(e,(e1<<1)+(i?1:0),3),u1(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),ac(e,e.dyn_ltree,e.dyn_dtree)),ll(e),i&&ul(e)},_1=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(In[n]+Bn+1)*2]++,e.dyn_dtree[sl(t)*2]++),e.sym_next===e.sym_end),g1=m1,p1=dl,v1=f1,y1=_1,w1=h1,x1={_tr_init:g1,_tr_stored_block:p1,_tr_flush_block:v1,_tr_tally:y1,_tr_align:w1},S1=(e,t,n,i)=>{let r=e&65535|0,a=e>>>16&65535|0,s=0;for(;n!==0;){s=n>2e3?2e3:n,n-=s;do r=r+t[i++]|0,a=a+r|0;while(--s);r%=65521,a%=65521}return r|a<<16|0},Pn=S1,A1=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},E1=new Uint32Array(A1()),k1=(e,t,n,i)=>{let r=E1,a=i+n;e^=-1;for(let s=i;s<a;s++)e=e>>>8^r[(e^t[s])&255];return e^-1},_e=k1,Rt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Nt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:b1,_tr_stored_block:ya,_tr_flush_block:T1,_tr_tally:ut,_tr_align:M1}=x1,{Z_NO_FLUSH:dt,Z_PARTIAL_FLUSH:R1,Z_FULL_FLUSH:z1,Z_FINISH:Ne,Z_BLOCK:lc,Z_OK:ve,Z_STREAM_END:uc,Z_STREAM_ERROR:We,Z_DATA_ERROR:L1,Z_BUF_ERROR:aa,Z_DEFAULT_COMPRESSION:N1,Z_FILTERED:O1,Z_HUFFMAN_ONLY:Si,Z_RLE:I1,Z_FIXED:C1,Z_DEFAULT_STRATEGY:P1,Z_UNKNOWN:D1,Z_DEFLATED:Bi}=Nt,F1=9,U1=15,B1=8,G1=29,H1=256,wa=H1+1+G1,V1=30,W1=19,K1=2*wa+1,$1=15,W=3,lt=258,Ke=lt+W+1,X1=32,$t=42,Na=57,xa=69,Sa=73,Aa=91,Ea=103,Tt=113,Tn=666,we=1,Zt=2,zt=3,jt=4,Y1=3,Mt=(e,t)=>(e.msg=Rt[t],t),dc=e=>e*2-(e>4?9:0),ct=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Z1=e=>{let t,n,i,r=e.w_size;t=e.hash_size,i=t;do n=e.head[--i],e.head[i]=n>=r?n-r:0;while(--t);t=r,i=t;do n=e.prev[--i],e.prev[i]=n>=r?n-r:0;while(--t)},j1=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,mt=j1,be=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},Te=(e,t)=>{T1(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,be(e.strm)},X=(e,t)=>{e.pending_buf[e.pending++]=t},bn=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},ka=(e,t,n,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),n),e.state.wrap===1?e.adler=Pn(e.adler,t,r,n):e.state.wrap===2&&(e.adler=_e(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)},ml=(e,t)=>{let n=e.max_chain_length,i=e.strstart,r,a,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ke?e.strstart-(e.w_size-Ke):0,c=e.window,u=e.w_mask,m=e.prev,d=e.strstart+lt,h=c[i+s-1],f=c[i+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do if(r=t,!(c[r+s]!==f||c[r+s-1]!==h||c[r]!==c[i]||c[++r]!==c[i+1])){i+=2,r++;do;while(c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&i<d);if(a=lt-(d-i),i=d-lt,a>s){if(e.match_start=t,s=a,a>=o)break;h=c[i+s-1],f=c[i+s]}}while((t=m[t&u])>l&&--n!==0);return s<=e.lookahead?s:e.lookahead},Xt=e=>{let t=e.w_size,n,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ke)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Z1(e),i+=t),e.strm.avail_in===0)break;if(n=ka(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=n,e.lookahead+e.insert>=W)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=mt(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=mt(e,e.ins_h,e.window[r+W-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<Ke&&e.strm.avail_in!==0)},hl=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,a,s=0,o=e.strm.avail_in;do{if(i=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>a&&(i=a),i<n&&(i===0&&t!==Ne||t===dt||i!==r+e.strm.avail_in)))break;s=t===Ne&&i===r+e.strm.avail_in?1:0,ya(e,0,0,s),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,be(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(ka(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(s===0);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),s?jt:t!==dt&&t!==Ne&&e.strm.avail_in===0&&e.strstart===e.block_start?Zt:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(ka(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,r=e.strstart-e.block_start,(r>=n||(r||t===Ne)&&t!==dt&&e.strm.avail_in===0&&r<=a)&&(i=r>a?a:r,s=t===Ne&&e.strm.avail_in===0&&i===r?1:0,ya(e,e.block_start,i,s),e.block_start+=i,be(e.strm)),s?zt:we)},sa=(e,t)=>{let n,i;for(;;){if(e.lookahead<Ke){if(Xt(e),e.lookahead<Ke&&t===dt)return we;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-Ke&&(e.match_length=ml(e,n)),e.match_length>=W)if(i=ut(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=mt(e,e.ins_h,e.window[e.strstart+1]);else i=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=e.strstart<W-1?e.strstart:W-1,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},Ht=(e,t)=>{let n,i,r;for(;;){if(e.lookahead<Ke){if(Xt(e),e.lookahead<Ke&&t===dt)return we;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ke&&(e.match_length=ml(e,n),e.match_length<=5&&(e.strategy===O1||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-W,i=ut(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=mt(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,i&&(Te(e,!1),e.strm.avail_out===0))return we}else if(e.match_available){if(i=ut(e,0,e.window[e.strstart-1]),i&&Te(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return we}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=ut(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<W-1?e.strstart:W-1,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},q1=(e,t)=>{let n,i,r,a,s=e.window;for(;;){if(e.lookahead<=lt){if(Xt(e),e.lookahead<=lt&&t===dt)return we;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(r=e.strstart-1,i=s[r],i===s[++r]&&i===s[++r]&&i===s[++r])){a=e.strstart+lt;do;while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&r<a);e.match_length=lt-(a-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=ut(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=0,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt},J1=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(Xt(e),e.lookahead===0)){if(t===dt)return we;break}if(e.match_length=0,n=ut(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),e.strm.avail_out===0))return we}return e.insert=0,t===Ne?(Te(e,!0),e.strm.avail_out===0?zt:jt):e.sym_next&&(Te(e,!1),e.strm.avail_out===0)?we:Zt};function He(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}var Mn=[new He(0,0,0,0,hl),new He(4,4,8,4,sa),new He(4,5,16,8,sa),new He(4,6,32,32,sa),new He(4,4,16,16,Ht),new He(8,16,32,32,Ht),new He(8,16,128,128,Ht),new He(8,32,128,256,Ht),new He(32,128,258,1024,Ht),new He(32,258,258,4096,Ht)],Q1=e=>{e.window_size=2*e.w_size,ct(e.head),e.max_lazy_match=Mn[e.level].max_lazy,e.good_match=Mn[e.level].good_length,e.nice_match=Mn[e.level].nice_length,e.max_chain_length=Mn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0};function e_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Bi,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(K1*2),this.dyn_dtree=new Uint16Array((2*V1+1)*2),this.bl_tree=new Uint16Array((2*W1+1)*2),ct(this.dyn_ltree),ct(this.dyn_dtree),ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*wa+1),ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*wa+1),ct(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Gn=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==$t&&t.status!==Na&&t.status!==xa&&t.status!==Sa&&t.status!==Aa&&t.status!==Ea&&t.status!==Tt&&t.status!==Tn?1:0},fl=e=>{if(Gn(e))return Mt(e,We);e.total_in=e.total_out=0,e.data_type=D1;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Na:t.wrap?$t:Tt,e.adler=t.wrap===2?0:1,t.last_flush=-2,b1(t),ve},_l=e=>{let t=fl(e);return t===ve&&Q1(e.state),t},t_=(e,t)=>Gn(e)||e.state.wrap!==2?We:(e.state.gzhead=t,ve),gl=(e,t,n,i,r,a)=>{if(!e)return We;let s=1;if(t===N1&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>F1||n!==Bi||i<8||i>15||t<0||t>9||a<0||a>C1||i===8&&s!==1)return Mt(e,We);i===8&&(i=9);let o=new e_;return e.state=o,o.strm=e,o.status=$t,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=r+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+W-1)/W),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<r+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=t,o.strategy=a,o.method=n,_l(e)},n_=(e,t)=>gl(e,t,Bi,U1,B1,P1),i_=(e,t)=>{if(Gn(e)||t>lc||t<0)return e?Mt(e,We):We;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===Tn&&t!==Ne)return Mt(e,e.avail_out===0?aa:We);let i=n.last_flush;if(n.last_flush=t,n.pending!==0){if(be(e),e.avail_out===0)return n.last_flush=-1,ve}else if(e.avail_in===0&&dc(t)<=dc(i)&&t!==Ne)return Mt(e,aa);if(n.status===Tn&&e.avail_in!==0)return Mt(e,aa);if(n.status===$t&&n.wrap===0&&(n.status=Tt),n.status===$t){let r=Bi+(n.w_bits-8<<4)<<8,a=-1;if(n.strategy>=Si||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,r|=a<<6,n.strstart!==0&&(r|=X1),r+=31-r%31,bn(n,r),n.strstart!==0&&(bn(n,e.adler>>>16),bn(n,e.adler&65535)),e.adler=1,n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(n.status===Na){if(e.adler=0,X(n,31),X(n,139),X(n,8),n.gzhead)X(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),X(n,n.gzhead.time&255),X(n,n.gzhead.time>>8&255),X(n,n.gzhead.time>>16&255),X(n,n.gzhead.time>>24&255),X(n,n.level===9?2:n.strategy>=Si||n.level<2?4:0),X(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(X(n,n.gzhead.extra.length&255),X(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=_e(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=xa;else if(X(n,0),X(n,0),X(n,0),X(n,0),X(n,0),X(n,n.level===9?2:n.strategy>=Si||n.level<2?4:0),X(n,Y1),n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(n.status===xa){if(n.gzhead.extra){let r=n.pending,a=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+a>n.pending_buf_size;){let o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex+=o,be(e),n.pending!==0)return n.last_flush=-1,ve;r=0,a-=o}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending+=a,n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex=0}n.status=Sa}if(n.status===Sa){if(n.gzhead.name){let r=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),be(e),n.pending!==0)return n.last_flush=-1,ve;r=0}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,X(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex=0}n.status=Aa}if(n.status===Aa){if(n.gzhead.comment){let r=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r)),be(e),n.pending!==0)return n.last_flush=-1,ve;r=0}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,X(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>r&&(e.adler=_e(e.adler,n.pending_buf,n.pending-r,r))}n.status=Ea}if(n.status===Ea){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(be(e),n.pending!==0))return n.last_flush=-1,ve;X(n,e.adler&255),X(n,e.adler>>8&255),e.adler=0}if(n.status=Tt,be(e),n.pending!==0)return n.last_flush=-1,ve}if(e.avail_in!==0||n.lookahead!==0||t!==dt&&n.status!==Tn){let r=n.level===0?hl(n,t):n.strategy===Si?J1(n,t):n.strategy===I1?q1(n,t):Mn[n.level].func(n,t);if((r===zt||r===jt)&&(n.status=Tn),r===we||r===zt)return e.avail_out===0&&(n.last_flush=-1),ve;if(r===Zt&&(t===R1?M1(n):t!==lc&&(ya(n,0,0,!1),t===z1&&(ct(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),be(e),e.avail_out===0))return n.last_flush=-1,ve}return t!==Ne?ve:n.wrap<=0?uc:(n.wrap===2?(X(n,e.adler&255),X(n,e.adler>>8&255),X(n,e.adler>>16&255),X(n,e.adler>>24&255),X(n,e.total_in&255),X(n,e.total_in>>8&255),X(n,e.total_in>>16&255),X(n,e.total_in>>24&255)):(bn(n,e.adler>>>16),bn(n,e.adler&65535)),be(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ve:uc)},r_=e=>{if(Gn(e))return We;let t=e.state.status;return e.state=null,t===Tt?Mt(e,L1):ve},a_=(e,t)=>{let n=t.length;if(Gn(e))return We;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==$t||i.lookahead)return We;if(r===1&&(e.adler=Pn(e.adler,t,n,0)),i.wrap=0,n>=i.w_size){r===0&&(ct(i.head),i.strstart=0,i.block_start=0,i.insert=0);let l=new Uint8Array(i.w_size);l.set(t.subarray(n-i.w_size,n),0),t=l,n=i.w_size}let a=e.avail_in,s=e.next_in,o=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Xt(i);i.lookahead>=W;){let l=i.strstart,c=i.lookahead-(W-1);do i.ins_h=mt(i,i.ins_h,i.window[l+W-1]),i.prev[l&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=l,l++;while(--c);i.strstart=l,i.lookahead=W-1,Xt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=W-1,i.match_available=0,e.next_in=s,e.input=o,e.avail_in=a,i.wrap=r,ve},s_=n_,o_=gl,c_=_l,l_=fl,u_=t_,d_=i_,m_=r_,h_=a_,f_="pako deflate (from Nodeca project)",zn={deflateInit:s_,deflateInit2:o_,deflateReset:c_,deflateResetKeep:l_,deflateSetHeader:u_,deflate:d_,deflateEnd:m_,deflateSetDictionary:h_,deflateInfo:f_},__=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),g_=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(let i in n)__(n,i)&&(e[i]=n[i])}}return e},p_=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let n=new Uint8Array(t);for(let i=0,r=0,a=e.length;i<a;i++){let s=e[i];n.set(s,r),r+=s.length}return n},Gi={assign:g_,flattenChunks:p_},pl=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{pl=!1}var Dn=new Uint8Array(256);for(let e=0;e<256;e++)Dn[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Dn[254]=Dn[254]=1;var v_=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,i,r,a,s=e.length,o=0;for(r=0;r<s;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<s&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),o+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(o),a=0,r=0;a<o;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<s&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},y_=(e,t)=>{if(t<65534&&e.subarray&&pl)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n},w_=(e,t)=>{let n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,a=new Array(n*2);for(r=0,i=0;i<n;){let s=e[i++];if(s<128){a[r++]=s;continue}let o=Dn[s];if(o>4){a[r++]=65533,i+=o-1;continue}for(s&=o===2?31:o===3?15:7;o>1&&i<n;)s=s<<6|e[i++]&63,o--;if(o>1){a[r++]=65533;continue}s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|s&1023)}return y_(a,r)},x_=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Dn[e[n]]>t?n:t},Fn={string2buf:v_,buf2string:w_,utf8border:x_};function S_(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var vl=S_,yl=Object.prototype.toString,{Z_NO_FLUSH:A_,Z_SYNC_FLUSH:E_,Z_FULL_FLUSH:k_,Z_FINISH:b_,Z_OK:Ri,Z_STREAM_END:T_,Z_DEFAULT_COMPRESSION:M_,Z_DEFAULT_STRATEGY:R_,Z_DEFLATED:z_}=Nt;function Hn(e){this.options=Gi.assign({level:M_,method:z_,chunkSize:16384,windowBits:15,memLevel:8,strategy:R_},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vl,this.strm.avail_out=0;let n=zn.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Ri)throw new Error(Rt[n]);if(t.header&&zn.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Fn.string2buf(t.dictionary):yl.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,n=zn.deflateSetDictionary(this.strm,i),n!==Ri)throw new Error(Rt[n]);this._dict_set=!0}}Hn.prototype.push=function(e,t){let n=this.strm,i=this.options.chunkSize,r,a;if(this.ended)return!1;for(t===~~t?a=t:a=t===!0?b_:A_,typeof e=="string"?n.input=Fn.string2buf(e):yl.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(i),n.next_out=0,n.avail_out=i),(a===E_||a===k_)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(r=zn.deflate(n,a),r===T_)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),r=zn.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Ri;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};Hn.prototype.onData=function(e){this.chunks.push(e)};Hn.prototype.onEnd=function(e){e===Ri&&(this.result=Gi.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Oa(e,t){let n=new Hn(t);if(n.push(e,!0),n.err)throw n.msg||Rt[n.err];return n.result}function L_(e,t){return t=t||{},t.raw=!0,Oa(e,t)}function N_(e,t){return t=t||{},t.gzip=!0,Oa(e,t)}var O_=Hn,I_=Oa,C_=L_,P_=N_,D_=Nt,F_={Deflate:O_,deflate:I_,deflateRaw:C_,gzip:P_,constants:D_},Ai=16209,U_=16191,B_=function(t,n){let i,r,a,s,o,l,c,u,m,d,h,f,x,_,v,y,S,g,A,b,k,p,E,w,T=t.state;i=t.next_in,E=t.input,r=i+(t.avail_in-5),a=t.next_out,w=t.output,s=a-(n-t.avail_out),o=a+(t.avail_out-257),l=T.dmax,c=T.wsize,u=T.whave,m=T.wnext,d=T.window,h=T.hold,f=T.bits,x=T.lencode,_=T.distcode,v=(1<<T.lenbits)-1,y=(1<<T.distbits)-1;e:do{f<15&&(h+=E[i++]<<f,f+=8,h+=E[i++]<<f,f+=8),S=x[h&v];t:for(;;){if(g=S>>>24,h>>>=g,f-=g,g=S>>>16&255,g===0)w[a++]=S&65535;else if(g&16){A=S&65535,g&=15,g&&(f<g&&(h+=E[i++]<<f,f+=8),A+=h&(1<<g)-1,h>>>=g,f-=g),f<15&&(h+=E[i++]<<f,f+=8,h+=E[i++]<<f,f+=8),S=_[h&y];n:for(;;){if(g=S>>>24,h>>>=g,f-=g,g=S>>>16&255,g&16){if(b=S&65535,g&=15,f<g&&(h+=E[i++]<<f,f+=8,f<g&&(h+=E[i++]<<f,f+=8)),b+=h&(1<<g)-1,b>l){t.msg="invalid distance too far back",T.mode=Ai;break e}if(h>>>=g,f-=g,g=a-s,b>g){if(g=b-g,g>u&&T.sane){t.msg="invalid distance too far back",T.mode=Ai;break e}if(k=0,p=d,m===0){if(k+=c-g,g<A){A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}}else if(m<g){if(k+=c+m-g,g-=m,g<A){A-=g;do w[a++]=d[k++];while(--g);if(k=0,m<A){g=m,A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}}}else if(k+=m-g,g<A){A-=g;do w[a++]=d[k++];while(--g);k=a-b,p=w}for(;A>2;)w[a++]=p[k++],w[a++]=p[k++],w[a++]=p[k++],A-=3;A&&(w[a++]=p[k++],A>1&&(w[a++]=p[k++]))}else{k=a-b;do w[a++]=w[k++],w[a++]=w[k++],w[a++]=w[k++],A-=3;while(A>2);A&&(w[a++]=w[k++],A>1&&(w[a++]=w[k++]))}}else if((g&64)===0){S=_[(S&65535)+(h&(1<<g)-1)];continue n}else{t.msg="invalid distance code",T.mode=Ai;break e}break}}else if((g&64)===0){S=x[(S&65535)+(h&(1<<g)-1)];continue t}else if(g&32){T.mode=U_;break e}else{t.msg="invalid literal/length code",T.mode=Ai;break e}break}}while(i<r&&a<o);A=f>>3,i-=A,f-=A<<3,h&=(1<<f)-1,t.next_in=i,t.next_out=a,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=a<o?257+(o-a):257-(a-o),T.hold=h,T.bits=f},Vt=15,mc=852,hc=592,fc=0,oa=1,_c=2,G_=new Uint16Array([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]),H_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),V_=new Uint16Array([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,0,0]),W_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),K_=(e,t,n,i,r,a,s,o)=>{let l=o.bits,c=0,u=0,m=0,d=0,h=0,f=0,x=0,_=0,v=0,y=0,S,g,A,b,k,p=null,E,w=new Uint16Array(Vt+1),T=new Uint16Array(Vt+1),U=null,B,N,Q;for(c=0;c<=Vt;c++)w[c]=0;for(u=0;u<i;u++)w[t[n+u]]++;for(h=l,d=Vt;d>=1&&w[d]===0;d--);if(h>d&&(h=d),d===0)return r[a++]=1<<24|64<<16|0,r[a++]=1<<24|64<<16|0,o.bits=1,0;for(m=1;m<d&&w[m]===0;m++);for(h<m&&(h=m),_=1,c=1;c<=Vt;c++)if(_<<=1,_-=w[c],_<0)return-1;if(_>0&&(e===fc||d!==1))return-1;for(T[1]=0,c=1;c<Vt;c++)T[c+1]=T[c]+w[c];for(u=0;u<i;u++)t[n+u]!==0&&(s[T[t[n+u]]++]=u);if(e===fc?(p=U=s,E=20):e===oa?(p=G_,U=H_,E=257):(p=V_,U=W_,E=0),y=0,u=0,c=m,k=a,f=h,x=0,A=-1,v=1<<h,b=v-1,e===oa&&v>mc||e===_c&&v>hc)return 1;for(;;){B=c-x,s[u]+1<E?(N=0,Q=s[u]):s[u]>=E?(N=U[s[u]-E],Q=p[s[u]-E]):(N=96,Q=0),S=1<<c-x,g=1<<f,m=g;do g-=S,r[k+(y>>x)+g]=B<<24|N<<16|Q|0;while(g!==0);for(S=1<<c-1;y&S;)S>>=1;if(S!==0?(y&=S-1,y+=S):y=0,u++,--w[c]===0){if(c===d)break;c=t[n+s[u]]}if(c>h&&(y&b)!==A){for(x===0&&(x=h),k+=m,f=c-x,_=1<<f;f+x<d&&(_-=w[f+x],!(_<=0));)f++,_<<=1;if(v+=1<<f,e===oa&&v>mc||e===_c&&v>hc)return 1;A=y&b,r[A]=h<<24|f<<16|k-a|0}}return y!==0&&(r[k+y]=c-x<<24|64<<16|0),o.bits=h,0},Ln=K_,$_=0,wl=1,xl=2,{Z_FINISH:gc,Z_BLOCK:X_,Z_TREES:Ei,Z_OK:Lt,Z_STREAM_END:Y_,Z_NEED_DICT:Z_,Z_STREAM_ERROR:Oe,Z_DATA_ERROR:Sl,Z_MEM_ERROR:Al,Z_BUF_ERROR:j_,Z_DEFLATED:pc}=Nt,Hi=16180,vc=16181,yc=16182,wc=16183,xc=16184,Sc=16185,Ac=16186,Ec=16187,kc=16188,bc=16189,zi=16190,et=16191,ca=16192,Tc=16193,la=16194,Mc=16195,Rc=16196,zc=16197,Lc=16198,ki=16199,bi=16200,Nc=16201,Oc=16202,Ic=16203,Cc=16204,Pc=16205,ua=16206,Dc=16207,Fc=16208,te=16209,El=16210,kl=16211,q_=852,J_=592,Q_=15,eg=Q_,Uc=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function tg(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Ot=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<Hi||t.mode>kl?1:0},bl=e=>{if(Ot(e))return Oe;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Hi,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(q_),t.distcode=t.distdyn=new Int32Array(J_),t.sane=1,t.back=-1,Lt},Tl=e=>{if(Ot(e))return Oe;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,bl(e)},Ml=(e,t)=>{let n;if(Ot(e))return Oe;let i=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Oe:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,Tl(e))},Rl=(e,t)=>{if(!e)return Oe;let n=new tg;e.state=n,n.strm=e,n.window=null,n.mode=Hi;let i=Ml(e,t);return i!==Lt&&(e.state=null),i},ng=e=>Rl(e,eg),Bc=!0,da,ma,ig=e=>{if(Bc){da=new Int32Array(512),ma=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Ln(wl,e.lens,0,288,da,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Ln(xl,e.lens,0,32,ma,0,e.work,{bits:5}),Bc=!1}e.lencode=da,e.lenbits=9,e.distcode=ma,e.distbits=5},zl=(e,t,n,i)=>{let r,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),i>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>i&&(r=i),a.window.set(t.subarray(n-i,n-i+r),a.wnext),i-=r,i?(a.window.set(t.subarray(n-i,n),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0},rg=(e,t)=>{let n,i,r,a,s,o,l,c,u,m,d,h,f,x,_=0,v,y,S,g,A,b,k,p,E=new Uint8Array(4),w,T,U=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ot(e)||!e.output||!e.input&&e.avail_in!==0)return Oe;n=e.state,n.mode===et&&(n.mode=ca),s=e.next_out,r=e.output,l=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,c=n.hold,u=n.bits,m=o,d=l,p=Lt;e:for(;;)switch(n.mode){case Hi:if(n.wrap===0){n.mode=ca;break}for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&2&&c===35615){n.wbits===0&&(n.wbits=15),n.check=0,E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0),c=0,u=0,n.mode=vc;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=te;break}if((c&15)!==pc){e.msg="unknown compression method",n.mode=te;break}if(c>>>=4,u-=4,k=(c&15)+8,n.wbits===0&&(n.wbits=k),k>15||k>n.wbits){e.msg="invalid window size",n.mode=te;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=c&512?bc:et,c=0,u=0;break;case vc:for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.flags=c,(n.flags&255)!==pc){e.msg="unknown compression method",n.mode=te;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=te;break}n.head&&(n.head.text=c>>8&1),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0,n.mode=yc;case yc:for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.head&&(n.head.time=c),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,E[2]=c>>>16&255,E[3]=c>>>24&255,n.check=_e(n.check,E,4,0)),c=0,u=0,n.mode=wc;case wc:for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.head&&(n.head.xflags=c&255,n.head.os=c>>8),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0,n.mode=xc;case xc:if(n.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.length=c,n.head&&(n.head.extra_len=c),n.flags&512&&n.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,n.check=_e(n.check,E,2,0)),c=0,u=0}else n.head&&(n.head.extra=null);n.mode=Sc;case Sc:if(n.flags&1024&&(h=n.length,h>o&&(h=o),h&&(n.head&&(k=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(i.subarray(a,a+h),k)),n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,n.length-=h),n.length))break e;n.length=0,n.mode=Ac;case Ac:if(n.flags&2048){if(o===0)break e;h=0;do k=i[a+h++],n.head&&k&&n.length<65536&&(n.head.name+=String.fromCharCode(k));while(k&&h<o);if(n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,k)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Ec;case Ec:if(n.flags&4096){if(o===0)break e;h=0;do k=i[a+h++],n.head&&k&&n.length<65536&&(n.head.comment+=String.fromCharCode(k));while(k&&h<o);if(n.flags&512&&n.wrap&4&&(n.check=_e(n.check,i,h,a)),o-=h,a+=h,k)break e}else n.head&&(n.head.comment=null);n.mode=kc;case kc:if(n.flags&512){for(;u<16;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&4&&c!==(n.check&65535)){e.msg="header crc mismatch",n.mode=te;break}c=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=et;break;case bc:for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}e.adler=n.check=Uc(c),c=0,u=0,n.mode=zi;case zi:if(n.havedict===0)return e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,Z_;e.adler=n.check=1,n.mode=et;case et:if(t===X_||t===Ei)break e;case ca:if(n.last){c>>>=u&7,u-=u&7,n.mode=ua;break}for(;u<3;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}switch(n.last=c&1,c>>>=1,u-=1,c&3){case 0:n.mode=Tc;break;case 1:if(ig(n),n.mode=ki,t===Ei){c>>>=2,u-=2;break e}break;case 2:n.mode=Rc;break;case 3:e.msg="invalid block type",n.mode=te}c>>>=2,u-=2;break;case Tc:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=te;break}if(n.length=c&65535,c=0,u=0,n.mode=la,t===Ei)break e;case la:n.mode=Mc;case Mc:if(h=n.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;r.set(i.subarray(a,a+h),s),o-=h,a+=h,l-=h,s+=h,n.length-=h;break}n.mode=et;break;case Rc:for(;u<14;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.nlen=(c&31)+257,c>>>=5,u-=5,n.ndist=(c&31)+1,c>>>=5,u-=5,n.ncode=(c&15)+4,c>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=te;break}n.have=0,n.mode=zc;case zc:for(;n.have<n.ncode;){for(;u<3;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.lens[U[n.have++]]=c&7,c>>>=3,u-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,w={bits:n.lenbits},p=Ln($_,n.lens,0,19,n.lencode,0,n.work,w),n.lenbits=w.bits,p){e.msg="invalid code lengths set",n.mode=te;break}n.have=0,n.mode=Lc;case Lc:for(;n.have<n.nlen+n.ndist;){for(;_=n.lencode[c&(1<<n.lenbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(S<16)c>>>=v,u-=v,n.lens[n.have++]=S;else{if(S===16){for(T=v+2;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(c>>>=v,u-=v,n.have===0){e.msg="invalid bit length repeat",n.mode=te;break}k=n.lens[n.have-1],h=3+(c&3),c>>>=2,u-=2}else if(S===17){for(T=v+3;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=v,u-=v,k=0,h=3+(c&7),c>>>=3,u-=3}else{for(T=v+7;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=v,u-=v,k=0,h=11+(c&127),c>>>=7,u-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=te;break}for(;h--;)n.lens[n.have++]=k}}if(n.mode===te)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=te;break}if(n.lenbits=9,w={bits:n.lenbits},p=Ln(wl,n.lens,0,n.nlen,n.lencode,0,n.work,w),n.lenbits=w.bits,p){e.msg="invalid literal/lengths set",n.mode=te;break}if(n.distbits=6,n.distcode=n.distdyn,w={bits:n.distbits},p=Ln(xl,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,w),n.distbits=w.bits,p){e.msg="invalid distances set",n.mode=te;break}if(n.mode=ki,t===Ei)break e;case ki:n.mode=bi;case bi:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,B_(e,d),s=e.next_out,r=e.output,l=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,c=n.hold,u=n.bits,n.mode===et&&(n.back=-1);break}for(n.back=0;_=n.lencode[c&(1<<n.lenbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(y&&(y&240)===0){for(g=v,A=y,b=S;_=n.lencode[b+((c&(1<<g+A)-1)>>g)],v=_>>>24,y=_>>>16&255,S=_&65535,!(g+v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=g,u-=g,n.back+=g}if(c>>>=v,u-=v,n.back+=v,n.length=S,y===0){n.mode=Pc;break}if(y&32){n.back=-1,n.mode=et;break}if(y&64){e.msg="invalid literal/length code",n.mode=te;break}n.extra=y&15,n.mode=Nc;case Nc:if(n.extra){for(T=n.extra;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Oc;case Oc:for(;_=n.distcode[c&(1<<n.distbits)-1],v=_>>>24,y=_>>>16&255,S=_&65535,!(v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if((y&240)===0){for(g=v,A=y,b=S;_=n.distcode[b+((c&(1<<g+A)-1)>>g)],v=_>>>24,y=_>>>16&255,S=_&65535,!(g+v<=u);){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}c>>>=g,u-=g,n.back+=g}if(c>>>=v,u-=v,n.back+=v,y&64){e.msg="invalid distance code",n.mode=te;break}n.offset=S,n.extra=y&15,n.mode=Ic;case Ic:if(n.extra){for(T=n.extra;u<T;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=te;break}n.mode=Cc;case Cc:if(l===0)break e;if(h=d-l,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=te;break}h>n.wnext?(h-=n.wnext,f=n.wsize-h):f=n.wnext-h,h>n.length&&(h=n.length),x=n.window}else x=r,f=s-n.offset,h=n.length;h>l&&(h=l),l-=h,n.length-=h;do r[s++]=x[f++];while(--h);n.length===0&&(n.mode=bi);break;case Pc:if(l===0)break e;r[s++]=n.length,l--,n.mode=bi;break;case ua:if(n.wrap){for(;u<32;){if(o===0)break e;o--,c|=i[a++]<<u,u+=8}if(d-=l,e.total_out+=d,n.total+=d,n.wrap&4&&d&&(e.adler=n.check=n.flags?_e(n.check,r,d,s-d):Pn(n.check,r,d,s-d)),d=l,n.wrap&4&&(n.flags?c:Uc(c))!==n.check){e.msg="incorrect data check",n.mode=te;break}c=0,u=0}n.mode=Dc;case Dc:if(n.wrap&&n.flags){for(;u<32;){if(o===0)break e;o--,c+=i[a++]<<u,u+=8}if(n.wrap&4&&c!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=te;break}c=0,u=0}n.mode=Fc;case Fc:p=Y_;break e;case te:p=Sl;break e;case El:return Al;case kl:default:return Oe}return e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<te&&(n.mode<ua||t!==gc))&&zl(e,e.output,e.next_out,d-e.avail_out),m-=e.avail_in,d-=e.avail_out,e.total_in+=m,e.total_out+=d,n.total+=d,n.wrap&4&&d&&(e.adler=n.check=n.flags?_e(n.check,r,d,e.next_out-d):Pn(n.check,r,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===et?128:0)+(n.mode===ki||n.mode===la?256:0),(m===0&&d===0||t===gc)&&p===Lt&&(p=j_),p},ag=e=>{if(Ot(e))return Oe;let t=e.state;return t.window&&(t.window=null),e.state=null,Lt},sg=(e,t)=>{if(Ot(e))return Oe;let n=e.state;return(n.wrap&2)===0?Oe:(n.head=t,t.done=!1,Lt)},og=(e,t)=>{let n=t.length,i,r,a;return Ot(e)||(i=e.state,i.wrap!==0&&i.mode!==zi)?Oe:i.mode===zi&&(r=1,r=Pn(r,t,n,0),r!==i.check)?Sl:(a=zl(e,t,n,n),a?(i.mode=El,Al):(i.havedict=1,Lt))},cg=Tl,lg=Ml,ug=bl,dg=ng,mg=Rl,hg=rg,fg=ag,_g=sg,gg=og,pg="pako inflate (from Nodeca project)",nt={inflateReset:cg,inflateReset2:lg,inflateResetKeep:ug,inflateInit:dg,inflateInit2:mg,inflate:hg,inflateEnd:fg,inflateGetHeader:_g,inflateSetDictionary:gg,inflateInfo:pg};function vg(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var yg=vg,Ll=Object.prototype.toString,{Z_NO_FLUSH:wg,Z_FINISH:xg,Z_OK:Un,Z_STREAM_END:ha,Z_NEED_DICT:fa,Z_STREAM_ERROR:Sg,Z_DATA_ERROR:Gc,Z_MEM_ERROR:Ag}=Nt;function Vn(e){this.options=Gi.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new vl,this.strm.avail_out=0;let n=nt.inflateInit2(this.strm,t.windowBits);if(n!==Un)throw new Error(Rt[n]);if(this.header=new yg,nt.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Fn.string2buf(t.dictionary):Ll.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=nt.inflateSetDictionary(this.strm,t.dictionary),n!==Un)))throw new Error(Rt[n])}Vn.prototype.push=function(e,t){let n=this.strm,i=this.options.chunkSize,r=this.options.dictionary,a,s,o;if(this.ended)return!1;for(t===~~t?s=t:s=t===!0?xg:wg,Ll.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(i),n.next_out=0,n.avail_out=i),a=nt.inflate(n,s),a===fa&&r&&(a=nt.inflateSetDictionary(n,r),a===Un?a=nt.inflate(n,s):a===Gc&&(a=fa));n.avail_in>0&&a===ha&&n.state.wrap>0&&e[n.next_in]!==0;)nt.inflateReset(n),a=nt.inflate(n,s);switch(a){case Sg:case Gc:case fa:case Ag:return this.onEnd(a),this.ended=!0,!1}if(o=n.avail_out,n.next_out&&(n.avail_out===0||a===ha))if(this.options.to==="string"){let l=Fn.utf8border(n.output,n.next_out),c=n.next_out-l,u=Fn.buf2string(n.output,l);n.next_out=c,n.avail_out=i-c,c&&n.output.set(n.output.subarray(l,l+c),0),this.onData(u)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Un&&o===0)){if(a===ha)return a=nt.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0};Vn.prototype.onData=function(e){this.chunks.push(e)};Vn.prototype.onEnd=function(e){e===Un&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Gi.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Ia(e,t){let n=new Vn(t);if(n.push(e),n.err)throw n.msg||Rt[n.err];return n.result}function Eg(e,t){return t=t||{},t.raw=!0,Ia(e,t)}var kg=Vn,bg=Ia,Tg=Eg,Mg=Ia,Rg=Nt,zg={Inflate:kg,inflate:bg,inflateRaw:Tg,ungzip:Mg,constants:Rg},{Deflate:Lg,deflate:Ng,deflateRaw:Og,gzip:Ig}=F_,{Inflate:Cg,inflate:Pg,inflateRaw:Dg,ungzip:Fg}=zg,Ug=Lg,Bg=Ng,Gg=Og,Hg=Ig,Vg=Cg,Wg=Pg,Kg=Dg,$g=Fg,Xg=Nt,Hc={Deflate:Ug,deflate:Bg,deflateRaw:Gg,gzip:Hg,Inflate:Vg,inflate:Wg,inflateRaw:Kg,ungzip:$g,constants:Xg},Yg=2023,Ca=1,Pa=2,Da=4,Fa=8,Ua=16,Ba=32,Nl=64,Zg=128,jg=256,Ga=512,Ha=1024,Va=2048,Li=4096;var Ni=16384,qg=32768,Oi=65536,Wa=1<<17,Ii=1<<18,Ci=1<<19,Ka=1<<20,$a=1<<21,Xa=1<<22,Jg=1<<23,Ya=1<<24,Pi=1<<25,Za=1<<26,ja=1<<27,Qg=1,ep=2,tp=128,Wt=()=>({number:0,modelindex:0,modelindex2:0,modelindex3:0,modelindex4:0,frame:0,skinnum:0,effects:0,renderfx:0,origin:{x:0,y:0,z:0},old_origin:{x:0,y:0,z:0},angles:{x:0,y:0,z:0},sound:0,event:0,solid:0,bits:0,alpha:0,scale:0,instanceBits:0,loopVolume:0,loopAttenuation:0,owner:0,oldFrame:0}),Vc=()=>({pm_type:0,origin:{x:0,y:0,z:0},velocity:{x:0,y:0,z:0},pm_time:0,pm_flags:0,gravity:0,delta_angles:{x:0,y:0,z:0},viewoffset:{x:0,y:0,z:0},viewangles:{x:0,y:0,z:0},kick_angles:{x:0,y:0,z:0},gun_index:0,gun_frame:0,gun_offset:{x:0,y:0,z:0},gun_angles:{x:0,y:0,z:0},blend:[0,0,0,0],fov:0,rdflags:0,stats:new Array(32).fill(0),gunskin:0,gunrate:0,damage_blend:[0,0,0,0],team_id:0}),np=class Ol{constructor(t,n){this.protocolVersion=0,this.isDemo=Qg,this.stream=t,this.handler=n}translateCommand(t){if(this.protocolVersion===0&&(t===7||t===12))return D.serverdata;if(this.protocolVersion===25){if(t>=7&&t<=15)return t+5;if(t===1)return D.print;if(t===2)return D.stufftext;if(t===3)return D.sound;if(t===4)return D.nop;if(t===5)return D.disconnect;if(t===6)return D.reconnect;if(t===16)return D.temp_entity}return this.protocolVersion===Yg,t}parseMessage(){for(;this.stream.hasMore();){let t=this.stream.readByte();if(t===-1)break;let n=t;t=this.translateCommand(t);try{switch(t){case D.nop:break;case D.disconnect:this.handler&&this.handler.onDisconnect&&this.handler.onDisconnect();break;case D.reconnect:this.handler&&this.handler.onReconnect&&this.handler.onReconnect();break;case D.print:this.parsePrint();break;case D.serverdata:this.parseServerData();break;case D.configstring:this.parseConfigString();break;case D.spawnbaseline:this.parseSpawnBaseline();break;case D.centerprint:this.parseCenterPrint();break;case D.download:this.parseDownload();break;case D.frame:this.parseFrame();break;case D.packetentities:this.parsePacketEntities(!1);break;case D.deltapacketentities:this.parsePacketEntities(!0);break;case D.playerinfo:this.parsePlayerState();break;case D.stufftext:this.parseStuffText();break;case D.layout:this.parseLayout();break;case D.inventory:this.parseInventory();break;case D.sound:this.parseSound();break;case D.muzzleflash:this.parseMuzzleFlash();break;case D.muzzleflash2:this.parseMuzzleFlash2();break;case D.temp_entity:this.parseTempEntity();break;case D.splitclient:this.parseSplitClient();break;case D.configblast:this.parseConfigBlast();break;case D.spawnbaselineblast:this.parseSpawnBaselineBlast();break;case D.level_restart:this.handler&&this.handler.onLevelRestart&&this.handler.onLevelRestart();break;case D.damage:this.parseDamage();break;case D.locprint:this.parseLocPrint();break;case D.fog:this.parseFog();break;case D.waitingforplayers:this.parseWaitingForPlayers();break;case D.bot_chat:this.parseBotChat();break;case D.poi:this.parsePoi();break;case D.help_path:this.parseHelpPath();break;case D.muzzleflash3:this.parseMuzzleFlash3();break;case D.achievement:this.parseAchievement();break;default:console.warn(`Unknown server command: ${n} (translated: ${t}) at offset ${this.stream.getPosition()-1}`);return}}catch(i){console.warn(`Error parsing command ${t}: ${i.message}`);return}}}parsePrint(){let t=this.stream.readByte(),n=this.stream.readString();this.handler&&this.handler.onPrint(t,n)}parseStuffText(){let t=this.stream.readString();this.handler&&this.handler.onStuffText(t)}parseLayout(){let t=this.stream.readString();this.handler&&this.handler.onLayout(t)}parseCenterPrint(){let t=this.stream.readString();this.handler&&this.handler.onCenterPrint(t)}parseServerData(){this.protocolVersion=this.stream.readLong();let t=this.stream.readLong();this.isDemo=this.stream.readByte();let n=0,i=this.stream.readString(),r=this.stream.readShort(),a=this.stream.readString();this.handler?this.handler.onServerData(this.protocolVersion,t,n,i,r,a):console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${a}, GameDir ${i}`)}parseConfigString(){let t=this.stream.readShort(),n=this.stream.readString();this.handler&&this.handler.onConfigString(t,n)}parseSplitClient(){let t=this.stream.readByte();this.handler&&this.handler.onSplitClient&&this.handler.onSplitClient(t)}parseConfigBlast(){let t=this.stream.readShort(),n=this.stream.readShort(),i=this.stream.readData(t);try{let r=Hc.inflate(i);r.byteLength!==n&&console.warn(`svc_configblast: Decompressed size mismatch. Expected ${n}, got ${r.byteLength}`);let a=new _a(r.buffer);for(;a.hasMore();){let s=a.readUShort(),o=a.readString();this.handler&&this.handler.onConfigString(s,o)}}catch(r){console.error("svc_configblast: Failed to decompress data",r)}}parseSpawnBaselineBlast(){let t=this.stream.readShort(),n=this.stream.readShort(),i=this.stream.readData(t);try{let r=Hc.inflate(i);r.byteLength!==n&&console.warn(`svc_spawnbaselineblast: Decompressed size mismatch. Expected ${n}, got ${r.byteLength}`);let a=new _a(r.buffer),s=new Ol(a,this.handler);for(;a.hasMore();)s.parseSpawnBaseline()}catch(r){console.error("svc_spawnbaselineblast: Failed to decompress data",r)}}parseLocPrint(){let t=this.stream.readByte(),n=this.stream.readString(),i=this.stream.readByte(),r=[];for(let a=0;a<i;a++)r.push(this.stream.readString());this.handler&&this.handler.onLocPrint&&this.handler.onLocPrint(t,n)}parseWaitingForPlayers(){let t=this.stream.readByte();this.handler&&this.handler.onWaitingForPlayers&&this.handler.onWaitingForPlayers()}parseBotChat(){let t=this.stream.readString(),n=this.stream.readShort(),i=this.stream.readString();this.handler&&this.handler.onBotChat&&this.handler.onBotChat(i)}parsePoi(){let t=this.stream.readUShort(),n=this.stream.readUShort(),i={x:0,y:0,z:0};this.stream.readPos(i);let r=this.stream.readUShort(),a=this.stream.readByte(),s=this.stream.readByte();this.handler&&this.handler.onPoi&&this.handler.onPoi(s,i)}parseHelpPath(){let t=this.stream.readByte(),n={x:0,y:0,z:0};this.stream.readPos(n);let i={x:0,y:0,z:0};this.stream.readDir(i),this.handler&&this.handler.onHelpPath&&this.handler.onHelpPath(n)}parseAchievement(){let t=this.stream.readString()}parseDownload(){let t=this.stream.readShort(),n=this.stream.readByte(),i;t>0&&(i=this.stream.readData(t)),this.handler&&this.handler.onDownload(t,n,i)}parseInventory(){let n=new Array(256);for(let i=0;i<256;i++)n[i]=this.stream.readShort();this.handler&&this.handler.onInventory(n)}parseSound(){let t=this.stream.readByte(),n=this.stream.readByte(),i,r,a,s,o;if(t&1&&(i=this.stream.readByte()),t&2&&(r=this.stream.readByte()),t&16&&(a=this.stream.readByte()),t&8&&(s=this.stream.readShort()),t&4){let l={x:0,y:0,z:0};this.stream.readPos(l),o=l}this.handler&&this.handler.onSound(t,n,i,r,a,s,o)}parseMuzzleFlash(){let t=this.stream.readShort(),n=this.stream.readByte();this.handler&&this.handler.onMuzzleFlash(t,n)}parseMuzzleFlash2(){let t=this.stream.readShort(),n=this.stream.readByte();this.handler&&this.handler.onMuzzleFlash2(t,n)}parseMuzzleFlash3(){let t=this.stream.readShort(),n=this.stream.readShort();this.handler&&this.handler.onMuzzleFlash3&&this.handler.onMuzzleFlash3(t,n)}parseFog(){let t=this.stream.readByte();if(t&128){let i=this.stream.readByte();t|=i<<8}let n={};t&1&&(n.density=this.stream.readFloat(),n.skyfactor=this.stream.readByte()),t&2&&(n.red=this.stream.readByte()),t&4&&(n.green=this.stream.readByte()),t&8&&(n.blue=this.stream.readByte()),t&16&&(n.time=this.stream.readShort()),t&32&&(n.hf_falloff=this.stream.readFloat()),t&64&&(n.hf_density=this.stream.readFloat()),t&256&&(n.hf_start_r=this.stream.readByte()),t&512&&(n.hf_start_g=this.stream.readByte()),t&1024&&(n.hf_start_b=this.stream.readByte()),t&2048&&(n.hf_start_dist=this.stream.readLong()),t&4096&&(n.hf_end_r=this.stream.readByte()),t&8192&&(n.hf_end_g=this.stream.readByte()),t&16384&&(n.hf_end_b=this.stream.readByte()),t&32768&&(n.hf_end_dist=this.stream.readLong()),this.handler&&this.handler.onFog&&this.handler.onFog(n)}parseDamage(){let t=this.stream.readByte(),n=[];for(let i=0;i<t;i++){let r=this.stream.readByte(),a={x:0,y:0,z:0};this.stream.readDir(a);let s=r&31,o=(r&32)!==0,l=(r&64)!==0,c=(r&128)!==0;n.push({damage:s,health:o,armor:l,power:c,dir:a})}this.handler&&this.handler.onDamage&&this.handler.onDamage(n)}parseTempEntity(){let t=this.stream.readByte(),n={x:0,y:0,z:0},i={x:0,y:0,z:0},r={x:0,y:0,z:0},a,s,o,l,c;switch(t){case R.EXPLOSION1:case R.EXPLOSION2:case R.ROCKET_EXPLOSION:case R.GRENADE_EXPLOSION:case R.ROCKET_EXPLOSION_WATER:case R.GRENADE_EXPLOSION_WATER:case R.BFG_EXPLOSION:case R.BFG_BIGEXPLOSION:case R.BOSSTPORT:case R.PLASMA_EXPLOSION:case R.PLAIN_EXPLOSION:case R.CHAINFIST_SMOKE:case R.TRACKER_EXPLOSION:case R.TELEPORT_EFFECT:case R.DBALL_GOAL:case R.NUKEBLAST:case R.WIDOWSPLASH:case R.EXPLOSION1_BIG:case R.EXPLOSION1_NP:this.stream.readPos(n);break;case R.GUNSHOT:case R.BLOOD:case R.BLASTER:case R.SHOTGUN:case R.SPARKS:case R.BULLET_SPARKS:case R.SCREEN_SPARKS:case R.SHIELD_SPARKS:case R.BLASTER2:case R.FLECHETTE:case R.MOREBLOOD:case R.ELECTRIC_SPARKS:case R.HEATBEAM_SPARKS:case R.HEATBEAM_STEAM:this.stream.readPos(n),this.stream.readDir(r);break;case R.SPLASH:case R.LASER_SPARKS:case R.WELDING_SPARKS:case R.TUNNEL_SPARKS:a=this.stream.readByte(),this.stream.readPos(n),this.stream.readDir(r),s=this.stream.readByte();break;case R.BLUEHYPERBLASTER:this.protocolVersion>=32?(this.stream.readPos(n),this.stream.readPos(i)):(this.stream.readPos(n),this.stream.readDir(r));break;case R.GREENBLOOD:this.protocolVersion>=32?(this.stream.readPos(n),this.stream.readDir(r)):(this.stream.readPos(n),this.stream.readPos(i));break;case R.RAILTRAIL:case R.BUBBLETRAIL:case R.BFG_LASER:case R.DEBUGTRAIL:case R.BUBBLETRAIL2:this.stream.readPos(n),this.stream.readPos(i);break;case R.PARASITE_ATTACK:case R.MEDIC_CABLE_ATTACK:this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i);break;case R.GRAPPLE_CABLE:o=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i),this.stream.readPos(r);break;case R.LIGHTNING:l=this.stream.readShort(),c=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i);break;case R.FLASHLIGHT:this.stream.readPos(n),o=this.stream.readShort();break;case R.FORCEWALL:this.stream.readPos(n),this.stream.readPos(i),s=this.stream.readByte();break;case R.STEAM:let u=this.stream.readShort();a=this.stream.readByte(),this.stream.readPos(n),this.stream.readDir(r),s=this.stream.readByte(),this.stream.readShort(),u!==-1&&this.stream.readLong();break;case R.WIDOWBEAMOUT:this.stream.readShort();case R.HEATBEAM:case R.MONSTER_HEATBEAM:o=this.stream.readShort(),this.stream.readPos(n),this.stream.readPos(i),this.stream.readPos(r);break;default:break}this.handler&&this.handler.onTempEntity(t,n,i,r,a,s,o,l,c)}parseSpawnBaseline(){let t=this.parseEntityBits(),n=Wt();this.parseDelta(Wt(),n,t.number,t.bits),this.handler&&this.handler.onSpawnBaseline(n)}parseFrame(){let t=this.stream.readLong(),n=this.stream.readLong(),i=this.stream.readByte(),r=this.stream.readByte(),a=this.stream.readData(r),s=this.stream.readByte();if(s!==D.playerinfo)throw new Error(`Expected svc_playerinfo after svc_frame, got ${s}`);let o=this.parsePlayerState();if(this.isDemo===tp){let l=this.stream.readByte();for(let c=0;c<l;c++)this.stream.readByte()}this.isDemo===ep&&this.stream.readLong(),this.handler&&this.handler.onFrame({serverFrame:t,deltaFrame:n,surpressCount:i,areaBytes:r,areaBits:a,playerState:o,packetEntities:{delta:!1,entities:[]}})}parsePlayerState(){let t=Vc(),n=this.stream.readShort();n&1&&(t.pm_type=this.stream.readByte()),n&2&&(t.origin.x=this.stream.readShort()*.125,t.origin.y=this.stream.readShort()*.125,t.origin.z=this.stream.readShort()*.125),n&4&&(t.velocity.x=this.stream.readShort()*.125,t.velocity.y=this.stream.readShort()*.125,t.velocity.z=this.stream.readShort()*.125),n&8&&(t.pm_time=this.stream.readByte()),n&16&&(t.pm_flags=this.stream.readByte()),n&32&&(t.gravity=this.stream.readShort()),n&64&&(t.delta_angles.x=this.stream.readShort()*(180/32768),t.delta_angles.y=this.stream.readShort()*(180/32768),t.delta_angles.z=this.stream.readShort()*(180/32768)),n&128&&(t.viewoffset.x=this.stream.readChar()*.25,t.viewoffset.y=this.stream.readChar()*.25,t.viewoffset.z=this.stream.readChar()*.25),n&256&&(t.viewangles.x=this.stream.readAngle16(),t.viewangles.y=this.stream.readAngle16(),t.viewangles.z=this.stream.readAngle16()),n&512&&(t.kick_angles.x=this.stream.readChar()*.25,t.kick_angles.y=this.stream.readChar()*.25,t.kick_angles.z=this.stream.readChar()*.25),n&4096&&(t.gun_index=this.stream.readByte()),n&8192&&(t.gun_frame=this.stream.readByte(),t.gun_offset.x=this.stream.readChar()*.25,t.gun_offset.y=this.stream.readChar()*.25,t.gun_offset.z=this.stream.readChar()*.25,t.gun_angles.x=this.stream.readChar()*.25,t.gun_angles.y=this.stream.readChar()*.25,t.gun_angles.z=this.stream.readChar()*.25),n&1024&&(t.blend[0]=this.stream.readByte(),t.blend[1]=this.stream.readByte(),t.blend[2]=this.stream.readByte(),t.blend[3]=this.stream.readByte()),n&2048&&(t.fov=this.stream.readByte()),n&16384&&(t.rdflags=this.stream.readByte());let i=this.stream.readLong();for(let r=0;r<32;r++)i&1<<r&&(t.stats[r]=this.stream.readShort());return t}parsePacketEntities(t){let n=this.collectPacketEntities();this.handler&&this.handler.onFrame({serverFrame:0,deltaFrame:0,surpressCount:0,areaBytes:0,areaBits:new Uint8Array,playerState:Vc(),packetEntities:{delta:t,entities:n}})}collectPacketEntities(){let t=[];for(;;){let n=this.parseEntityBits();if(n.number===0)break;let i=Wt();this.parseDelta(Wt(),i,n.number,n.bits),t.push(i)}return t}parseEntityBits(){let t=this.stream.readByte();t&Zg&&(t|=this.stream.readByte()<<8),t&qg&&(t|=this.stream.readByte()<<16),t&Jg&&(t|=this.stream.readByte()<<24);let n;return t&jg?n=this.stream.readShort():n=this.stream.readByte(),{number:n,bits:t}}parseDelta(t,n,i,r){n.number=t.number,n.modelindex=t.modelindex,n.modelindex2=t.modelindex2,n.modelindex3=t.modelindex3,n.modelindex4=t.modelindex4,n.frame=t.frame,n.skinnum=t.skinnum,n.effects=t.effects,n.renderfx=t.renderfx,n.origin.x=t.origin.x,n.origin.y=t.origin.y,n.origin.z=t.origin.z,n.old_origin.x=t.origin.x,n.old_origin.y=t.origin.y,n.old_origin.z=t.origin.z,n.angles.x=t.angles.x,n.angles.y=t.angles.y,n.angles.z=t.angles.z,n.sound=t.sound,n.event=t.event,n.solid=t.solid,n.number=i,n.bits=r,r&Va&&(n.modelindex=this.stream.readByte()),r&Ka&&(n.modelindex2=this.stream.readByte()),r&$a&&(n.modelindex3=this.stream.readByte()),r&Xa&&(n.modelindex4=this.stream.readByte()),r&Ua&&(n.frame=this.stream.readByte()),r&Wa&&(n.frame=this.stream.readShort()),r&Oi&&r&Pi?n.skinnum=this.stream.readLong():r&Oi?n.skinnum=this.stream.readByte():r&Pi&&(n.skinnum=this.stream.readShort()),r&Ni&&r&Ci?n.effects=this.stream.readLong():r&Ni?n.effects=this.stream.readByte():r&Ci&&(n.effects=this.stream.readShort()),r&Li&&r&Ii?n.renderfx=this.stream.readLong():r&Li?n.renderfx=this.stream.readByte():r&Ii&&(n.renderfx=this.stream.readShort()),r&Ca&&(n.origin.x=this.stream.readCoord()),r&Pa&&(n.origin.y=this.stream.readCoord()),r&Ga&&(n.origin.z=this.stream.readCoord()),r&Ha&&(n.angles.x=this.stream.readAngle()),r&Da&&(n.angles.y=this.stream.readAngle()),r&Fa&&(n.angles.z=this.stream.readAngle()),r&Ya&&this.stream.readPos(n.old_origin),r&Za&&(n.sound=this.stream.readByte()),r&Ba?n.event=this.stream.readByte():n.event=0,r&ja&&(n.solid=this.stream.readShort())}},qa=(e=>(e[e.Stopped=0]="Stopped",e[e.Playing=1]="Playing",e[e.Paused=2]="Paused",e[e.Finished=3]="Finished",e))(qa||{}),Il=class{constructor(){this.reader=null,this.state=0,this.playbackSpeed=1,this.accumulatedTime=0,this.frameDuration=100}setHandler(e){this.handler=e}loadDemo(e){this.reader=new jf(e),this.state=0,this.accumulatedTime=0}play(){this.reader&&(this.state=1)}pause(){this.state===1&&(this.state=2)}stop(){this.state=0,this.reader&&this.reader.reset(),this.accumulatedTime=0}update(e){if(!(this.state!==1||!this.reader))for(this.accumulatedTime+=e*1e3*this.playbackSpeed;this.accumulatedTime>=this.frameDuration;){if(!this.reader.hasMore()){this.state=3;return}let t=this.reader.readNextBlock();if(!t){this.state=3;return}new np(t.data,this.handler).parseMessage(),this.accumulatedTime-=this.frameDuration}}getState(){return this.state}};var ip=Object.defineProperty,Cl=(e,t)=>{for(var n in t)ip(e,n,{get:t[n],enumerable:!0})},ft={x:0,y:0,z:0};var u8=Math.PI/180;function Wn(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function Jt(e,t){return{x:e.x*t,y:e.y*t,z:e.z*t}}function Qt(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function rp(e){return Qt(e,e)}function Vi(e){return Math.sqrt(rp(e))}function Pl(e){let t=Vi(e);return t===0?e:Jt(e,1/t)}var Dl=0,Fl=1,Ul=2,ap=Math.PI/180,d8=180/Math.PI;function Ja(e,t){switch(t){case Dl:return e.x;case Fl:return e.y;case Ul:default:return e.z}}function Qa(e){return e*ap}function qt(e){let t=e%360;return t<0?360+t:t}function ts(e){let t=Qa(Ja(e,Fl)),n=Qa(Ja(e,Dl)),i=Qa(Ja(e,Ul)),r=Math.sin(t),a=Math.cos(t),s=Math.sin(n),o=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u={x:o*a,y:o*r,z:-s},m={x:-l*s*a-c*-r,y:-l*s*r-c*a,z:-l*o},d={x:c*s*a-l*-r,y:c*s*r-l*a,z:c*o};return{forward:u,right:m,up:d}}var Xe=1,_t=2;var ns=8,is=16,sp=32;var op=16384;var Wi=65536,Bl=1<<17,cp=1<<18,lp=1<<19,up=1<<20,dp=1<<21,mp=1<<22,hp=1<<23,m8=1<<24,Ki=1<<25,fp=1<<26,h8=1<<27,f8=1<<28,_8=1<<29,$i=1<<30,g8=1<<31;var p8=1<<25,v8=1<<28,y8=1<<29,w8=1<<30,x8=1<<31;var S8=Xe|_t,A8=Xe|Wi|_t|Ki|$i,E8=Xe|Wi|_t,k8=Xe|Bl|_t|Ki|$i,b8=sp|ns|is,T8=Xe|is|ns,_p=Xe|Ki|$i|_t|fp,M8=cp|lp|up|dp|mp|hp,R8=Xe|ns|is|Ki|$i,z8=Xe|Wi|_t,L8=Xe|_t,N8=Xe|Wi|_t|Bl,O8=_p|op;var I8=Number.MAX_SAFE_INTEGER-1;var Kn=(e=>(e[e.None=0]="None",e[e.Archive=1]="Archive",e[e.UserInfo=2]="UserInfo",e[e.ServerInfo=4]="ServerInfo",e[e.Latch=8]="Latch",e[e.Cheat=16]="Cheat",e))(Kn||{});var Gl=256;var gp=256,$n=8192,Xn=2048,Yn=512,pp=256,vp=Gl*2,yp=256,es=32;var re=(e=>(e[e.Name=0]="Name",e[e.CdTrack=1]="CdTrack",e[e.Sky=2]="Sky",e[e.SkyAxis=3]="SkyAxis",e[e.SkyRotate=4]="SkyRotate",e[e.StatusBar=5]="StatusBar",e[e.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",e[e.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",e[e.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",e[e.AirAccel=59]="AirAccel",e[e.MaxClients=60]="MaxClients",e[e.MapChecksum=61]="MapChecksum",e[e.Models=62]="Models",e[e.Sounds=62+$n]="Sounds",e[e.Images=e.Sounds+Xn]="Images",e[e.Lights=e.Images+Yn]="Lights",e[e.ShadowLights=e.Lights+gp]="ShadowLights",e[e.Items=e.ShadowLights+yp]="Items",e[e.PlayerSkins=e.Items+pp]="PlayerSkins",e[e.General=e.PlayerSkins+Gl]="General",e[e.WheelWeapons=e.General+vp]="WheelWeapons",e[e.WheelAmmo=e.WheelWeapons+es]="WheelAmmo",e[e.WheelPowerups=e.WheelAmmo+es]="WheelPowerups",e[e.CdLoopCount=e.WheelPowerups+es]="CdLoopCount",e[e.GameStyle=e.CdLoopCount+1]="GameStyle",e[e.MaxConfigStrings=e.GameStyle+1]="MaxConfigStrings",e))(re||{}),C8=re.MaxConfigStrings;var wp={};Cl(wp,{addReplayFrame:()=>Ep,createReplaySession:()=>Ap,deserializeReplay:()=>Sp,serializeReplay:()=>xp});function xp(e){return JSON.stringify(e,null,2)}function Sp(e){let t=JSON.parse(e);if(!t.metadata||!Array.isArray(t.frames))throw new Error("Invalid replay format: missing metadata or frames");return t}function Ap(e,t){return{metadata:{map:e,date:new Date().toISOString(),version:"1.0",seed:t},frames:[]}}function Ep(e,t,n,i){e.frames.push({serverFrame:n,cmd:t,timestamp:Date.now()-i})}var It=(e=>(e[e.None=0]="None",e[e.Feet=1]="Feet",e[e.Waist=2]="Waist",e[e.Under=3]="Under",e))(It||{});var Ie=(e=>(e[e.Ducked=1]="Ducked",e[e.JumpHeld=2]="JumpHeld",e[e.OnGround=4]="OnGround",e[e.TimeWaterJump=8]="TimeWaterJump",e[e.TimeLand=16]="TimeLand",e[e.TimeTeleport=32]="TimeTeleport",e[e.NoPositionalPrediction=64]="NoPositionalPrediction",e[e.OnLadder=128]="OnLadder",e[e.NoAngularPrediction=256]="NoAngularPrediction",e[e.IgnorePlayerCollision=512]="IgnorePlayerCollision",e[e.TimeTrick=1024]="TimeTrick",e))(Ie||{});function it(e,t){return(e&t)!==0}var Xi=(e=>(e[e.Normal=0]="Normal",e[e.Grapple=1]="Grapple",e[e.NoClip=2]="NoClip",e[e.Spectator=3]="Spectator",e[e.Dead=4]="Dead",e[e.Gib=5]="Gib",e[e.Freeze=6]="Freeze",e))(Xi||{}),Ye=(e=>(e[e.None=0]="None",e[e.Attack=1]="Attack",e[e.Use=2]="Use",e[e.Holster=4]="Holster",e[e.Jump=8]="Jump",e[e.Crouch=16]="Crouch",e[e.Any=128]="Any",e))(Ye||{});function Hl(e){let{velocity:t,frametime:n,onGround:i,groundIsSlick:r,onLadder:a,waterlevel:s,pmFriction:o,pmStopSpeed:l,pmWaterFriction:c}=e,u=Vi(t);if(u<1)return{x:0,y:0,z:t.z};let m=0;if(i&&!r||a){let f=u<l?l:u;m+=f*o*n}s>0&&!a&&(m+=u*c*s*n);let d=u-m;if(d<0&&(d=0),d===u)return t;let h=d/u;return Jt(t,h)}function rs(e){let{velocity:t,wishdir:n,wishspeed:i,accel:r,frametime:a}=e,s=Qt(t,n),o=i-s;if(o<=0)return t;let l=r*a*i;return l>o&&(l=o),{x:t.x+n.x*l,y:t.y+n.y*l,z:t.z+n.z*l}}function Vl(e){let{velocity:t,wishdir:n,wishspeed:i,accel:r,frametime:a}=e,s=Math.min(i,30),o=Qt(t,n),l=s-o;if(l<=0)return t;let c=r*i*a;return c>l&&(c=l),{x:t.x+n.x*c,y:t.y+n.y*c,z:t.z+n.z*c}}function Wl(e){let{forward:t,right:n,cmd:i,maxSpeed:r}=e,a={x:t.x*i.forwardmove+n.x*i.sidemove,y:t.y*i.forwardmove+n.y*i.sidemove,z:0},s=Vi(a);if(s>r){let o=r/s;a=Jt(a,o),s=r}return{wishdir:s===0?a:Pl(a),wishspeed:s}}function Kl(e){let{forward:t,right:n,cmd:i,maxSpeed:r}=e,a={x:t.x*i.forwardmove+n.x*i.sidemove,y:t.y*i.forwardmove+n.y*i.sidemove,z:0};i.upmove>10?a=Wn(a,{x:0,y:0,z:i.upmove}):i.upmove<-10?a=Wn(a,{x:0,y:0,z:i.upmove}):a=Wn(a,{x:0,y:0,z:10});let s=Vi(a);if(s>r){let o=r/s;a=Jt(a,o),s=r}return s*=.5,{wishdir:s===0?a:Pl(a),wishspeed:s}}function kp(e,t){return{x:e.x+t.x,y:e.y+t.y,z:e.z+t.z}}function bp(e){return e>89&&e<180?89:e<271&&e>=180?271:e}function as(e){let{pmFlags:t,cmdAngles:n,deltaAngles:i}=e,r;(t&32)!==0?r={x:0,y:n.y+i.y,z:0}:(r=kp(n,i),r={...r,x:bp(r.x)});let a=ts(r);return{viewangles:r,...a}}var $l=200,Xl=200,Yl=200,Zl=140,jl=150,ql=3;function Tp(e){let t=qt(e);return t>89&&t<180?89:t<271&&t>=180?271:t}function Jl(e,t){return{x:Tp(e.x+t.x),y:qt(e.y+t.y),z:qt(e.z+t.z)}}function Ql(e,t){let n=t.sensitivityX??t.sensitivity,i=(t.sensitivityY??t.sensitivity)*(t.invertY?-1:1);return{x:e.deltaY*i,y:e.deltaX*n,z:0}}var eu=0,tu=1,nu=2,iu=3,ru=4,au=5,su=6,ou=7,cu=8;var lu=11,uu=12,du=13;function Mp(e,t,n){let i=Math.floor(n/2),r=n%2!==0,a=t+i,s=e[a]||0;if(r){let o=e[a+1]||0,l=s>>>8&255;return(o&255)<<8|l}else return s&65535}function Rp(e,t,n,i){let r=i*n,a=Math.floor(r/8),s=r%8,o=(1<<i)-1<<s;return(Mp(e,t,a)&o)>>>s}var ss=(e=>(e.QuadDamage="quad",e.Invulnerability="invulnerability",e.EnviroSuit="enviro_suit",e.Rebreather="rebreather",e.Silencer="silencer",e.PowerScreen="power_screen",e.PowerShield="power_shield",e.QuadFire="quad_fire",e.Invisibility="invisibility",e.Bandolier="bandolier",e.AmmoPack="ammo_pack",e.IRGoggles="ir_goggles",e.DoubleDamage="double_damage",e.SphereVengeance="sphere_vengeance",e.SphereHunter="sphere_hunter",e.SphereDefender="sphere_defender",e.Doppelganger="doppelganger",e.TagToken="tag_token",e.TechResistance="tech_resistance",e.TechStrength="tech_strength",e.TechHaste="tech_haste",e.TechRegeneration="tech_regeneration",e.Flashlight="flashlight",e.Compass="compass",e))(ss||{}),Pe=(e=>(e[e.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",e[e.STAT_HEALTH=1]="STAT_HEALTH",e[e.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",e[e.STAT_AMMO=3]="STAT_AMMO",e[e.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",e[e.STAT_ARMOR=5]="STAT_ARMOR",e[e.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",e[e.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",e[e.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",e[e.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",e[e.STAT_TIMER=10]="STAT_TIMER",e[e.STAT_HELPICON=11]="STAT_HELPICON",e[e.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",e[e.STAT_LAYOUTS=13]="STAT_LAYOUTS",e[e.STAT_FRAGS=14]="STAT_FRAGS",e[e.STAT_FLASHES=15]="STAT_FLASHES",e[e.STAT_CHASE=16]="STAT_CHASE",e[e.STAT_SPECTATOR=17]="STAT_SPECTATOR",e[e.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",e[e.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",e[e.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",e[e.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",e[e.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",e[e.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",e[e.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",e[e.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",e[e.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",e[e.STAT_CTF_TECH=27]="STAT_CTF_TECH",e[e.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",e[e.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",e[e.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",e[e.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",e[e.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",e[e.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",e[e.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",e[e.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",e[e.STAT_KEY_A=44]="STAT_KEY_A",e[e.STAT_KEY_B=45]="STAT_KEY_B",e[e.STAT_KEY_C=46]="STAT_KEY_C",e[e.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",e[e.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",e[e.STAT_LIVES=49]="STAT_LIVES",e[e.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",e[e.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",e[e.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",e[e.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",e[e.STAT_LAST=54]="STAT_LAST",e))(Pe||{}),zp=12,Lp=9,P8=Math.ceil(zp*Lp/16),mu=23,hu=2,D8=Math.ceil(mu*hu/16),Np={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,ir_goggles:11,double_damage:12,sphere_vengeance:13,sphere_hunter:14,sphere_defender:15,doppelganger:16,flashlight:17,compass:18,tech_resistance:19,tech_strength:20,tech_haste:21,tech_regeneration:22};function fu(e,t){let n;return typeof t=="number"?n=t:n=Np[t],n===void 0||n<0||n>=mu?0:Rp(e,41,n,hu)}var Op={};Cl(Op,{U_ANGLE1:()=>Bp,U_ANGLE2:()=>Gp,U_ANGLE3:()=>Hp,U_EFFECTS:()=>Kp,U_EVENT:()=>Yp,U_FRAME:()=>Vp,U_MODEL:()=>Cp,U_MODEL2:()=>jp,U_MODEL3:()=>qp,U_MODEL4:()=>Jp,U_MOREBITS:()=>Zp,U_NUMBER:()=>Ip,U_ORIGIN1:()=>Dp,U_ORIGIN2:()=>Fp,U_ORIGIN3:()=>Up,U_REMOVE:()=>Qp,U_RENDERFX:()=>$p,U_SKIN:()=>Wp,U_SOLID:()=>Xp,U_SOUND:()=>Pp});var Ip=1,Cp=2,Pp=4,Dp=8,Fp=16,Up=32,Bp=64,Gp=128,Hp=256,Vp=512,Wp=1024,Kp=2048,$p=4096,Xp=8192,Yp=16384,Zp=32768,jp=1,qp=2,Jp=4,Qp=32768;var _u=(e=>(e[e.Bullets=0]="Bullets",e[e.Shells=1]="Shells",e[e.Rockets=2]="Rockets",e[e.Grenades=3]="Grenades",e[e.Cells=4]="Cells",e[e.Slugs=5]="Slugs",e[e.MagSlugs=6]="MagSlugs",e[e.Trap=7]="Trap",e[e.Flechettes=8]="Flechettes",e[e.Tesla=9]="Tesla",e[e.Disruptor=10]="Disruptor",e[e.Prox=11]="Prox",e[e.Nuke=12]="Nuke",e[e.Rounds=13]="Rounds",e))(_u||{}),F8=Object.keys(_u).length/2;var ev=Object.defineProperty,tv=(e,t)=>{for(var n in t)ev(e,n,{get:t[n],enumerable:!0})},Zi=null,Yi=[1,1,1,1],gu=["ch1","ch2","ch3"],os=[null,null,null],nv=e=>{for(let t=0;t<gu.length;t++){let n=gu[t];try{os[t]=e.Draw_RegisterPic(`pics/${n}.pcx`)}catch{if(t===0)try{os[t]=e.Draw_RegisterPic("pics/crosshair.pcx")}catch{e.Com_Print(`Failed to load crosshair image
|
|
170
170
|
`)}}}Zi=os[0]},iv=(e,t,n)=>{if(Zi){let i=e.Draw_GetPicSize(Zi),r=(t-i.width)/2,a=(n-i.height)/2;e.SCR_DrawColorPic(r,a,Zi,{x:Yi[0],y:Yi[1],z:Yi[2]},Yi[3])}},Su=new Map,rv=["w_blaster","w_shotgun","w_sshotgun","w_machinegun","w_chaingun","w_glauncher","w_rlauncher","w_hyperblaster","w_railgun","w_bfg","w_grapple","a_grenades","a_bullets","a_cells","a_rockets","a_shells","a_slugs","p_quad","p_invulnerability","p_silencer","p_rebreather","p_envirosuit","p_adrenaline","p_megahealth","i_jacketarmor","i_combatarmor","i_bodyarmor","i_powerscreen","i_powershield","k_datacd","k_powercube","k_pyramid","k_dataspin","k_security","k_bluekey","k_redkey"],av=e=>{for(let t of rv)try{let n=e.Draw_RegisterPic(`pics/${t}.pcx`);Su.set(t,n)}catch{e.Com_Print(`Failed to load HUD image: pics/${t}.pcx
|
|
171
171
|
`)}},sv=new Map,ov=["d_left","d_right","d_up","d_down"],cv=e=>{for(let t of ov)try{let n=e.Draw_RegisterPic(`pics/${t}.pcx`);sv.set(t,n)}catch{e.Com_Print(`Failed to load HUD image: pics/${t}.pcx
|
|
172
172
|
`)}},lv=(e,t,n,i)=>{(!t.damageAlpha||t.damageAlpha<=0)&&(!t.damageIndicators||t.damageIndicators.length)},pu=3e3,vu=5e3,yu=4,uv=class{constructor(){this.centerPrintMsg=null,this.notifyMessages=[]}addCenterPrint(e,t){this.centerPrintMsg={text:e,startTime:t,duration:pu}}addNotify(e,t){this.notifyMessages.push({text:e,startTime:t,duration:vu}),this.notifyMessages.length>yu&&this.notifyMessages.shift()}setCenterPrint(e,t){this.centerPrintMsg={text:e,startTime:t,duration:pu}}addNotification(e,t,n){this.notifyMessages.push({text:e,startTime:n,duration:vu}),this.notifyMessages.length>yu&&this.notifyMessages.shift()}clearNotifications(){this.notifyMessages=[]}clearCenterPrint(){this.centerPrintMsg=null}drawCenterPrint(e,t,n){if(!this.centerPrintMsg)return;if(t>this.centerPrintMsg.startTime+this.centerPrintMsg.duration){this.centerPrintMsg=null;return}let i=n.CENTER_PRINT_Y;e.SCR_DrawCenterString(i,this.centerPrintMsg.text)}drawNotifications(e,t){for(;this.notifyMessages.length>0&&t>this.notifyMessages[0].startTime+this.notifyMessages[0].duration;)this.notifyMessages.shift();let n=10;for(let i of this.notifyMessages)e.SCR_DrawFontString(10,n,i.text),n+=10}},dv=3e3,mv=class{constructor(){this.subtitle=null}addSubtitle(e,t){this.subtitle={text:e,startTime:t,duration:dv}}drawSubtitles(e,t){if(!this.subtitle)return;if(t>this.subtitle.startTime+this.subtitle.duration){this.subtitle=null;return}e.SCR_DrawCenterString(200,this.subtitle.text)}},hv=(e,t,n,i)=>{if(!t.blend)return;let[r,a,s,o]=t.blend},fv=(e,t,n,i)=>{if(!t.pickupIcon)return;let r=Su.get(t.pickupIcon);if(r){let a=e.Draw_GetPicSize(r),s=n-a.width-10,o=i-a.height-10;e.SCR_DrawPic(s,o,r)}},cs=(e,t,n,i,r,a,s)=>{let o=Math.abs(i).toString();for(let l=0;l<o.length;l++){let c=parseInt(o[l]),u=r[c];u&&(s?e.SCR_DrawColorPic(t+l*a,n,u,{x:s[0],y:s[1],z:s[2]},s[3]):e.SCR_DrawPic(t+l*a,n,u))}},_v=(e,t,n,i,r,a)=>{let s=t.stats[Pe.STAT_HEALTH]||0,o=t.stats[Pe.STAT_ARMOR]||0,l=t.stats[Pe.STAT_AMMO]||0,c=t.stats[Pe.STAT_ARMOR_ICON]||0,u;if(s<=25&&(u=[1,0,0,1]),n.length>0&&(cs(e,a.HEALTH_X,a.HEALTH_Y,s,n,i,u),cs(e,a.ARMOR_X,a.ARMOR_Y,o,n,i),cs(e,a.AMMO_X,a.AMMO_Y,l,n,i)),c>0){let m=e.get_configstring(re.Images+c);if(m){let d=e.Draw_RegisterPic(m);d&&e.SCR_DrawPic(a.ARMOR_X-24,a.ARMOR_Y-2,d)}}if(t.pickupIcon){let m=e.Draw_RegisterPic(t.pickupIcon);m&&e.SCR_DrawPic(a.WEAPON_ICON_X,a.WEAPON_ICON_Y,m)}else{let m=t.stats[Pe.STAT_SELECTED_ICON]||0;if(m>0){let d=e.get_configstring(re.Images+m);if(d){let h=e.Draw_RegisterPic(d);h&&e.SCR_DrawPic(a.WEAPON_ICON_X,a.WEAPON_ICON_Y,h)}}}},ls=640,en=480,gv=(e,t)=>{let n=e/ls,i=t/en,r=Math.min(n,i);return{HEALTH_X:100*r,HEALTH_Y:t-(en-450)*r,ARMOR_X:200*r,ARMOR_Y:t-(en-450)*r,AMMO_X:e-(ls-540)*r,AMMO_Y:t-(en-450)*r,CENTER_PRINT_X:e/2,CENTER_PRINT_Y:100*r,WEAPON_ICON_X:10*r,WEAPON_ICON_Y:t-(en-450)*r,POWERUP_X:e-(ls-610)*r,POWERUP_Y:t-(en-450)*r,scale:r}},ue=null,hs=[],Au=0,fs=new uv,Eu=new mv;function pv(e){ue=e}function vv(){if(ue){hs.length=0;for(let e=0;e<10;e++)try{let t=ue.Draw_RegisterPic(`pics/hud/num_${e}.pcx`);hs.push(t),e===0&&(Au=ue.Draw_GetPicSize(t).width)}catch{ue.Com_Print(`Warning: Failed to load HUD image: pics/hud/num_${e}.pcx
|