quake2ts 0.0.289 → 0.0.290
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 +11 -11
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs.map +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 +16 -16
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +33 -35
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +33 -35
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/audio/constants.d.ts +1 -23
- package/packages/engine/dist/types/audio/constants.d.ts.map +1 -1
- package/packages/game/dist/browser/index.global.js +3 -3
- package/packages/game/dist/browser/index.global.js.map +1 -1
- package/packages/game/dist/cjs/index.cjs +65 -19
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +65 -19
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/entities/monsters/actor.d.ts.map +1 -1
- package/packages/game/dist/types/entities/monsters/arachnid.d.ts.map +1 -1
- package/packages/game/dist/types/entities/system.d.ts +1 -0
- package/packages/game/dist/types/entities/system.d.ts.map +1 -1
- package/packages/game/dist/types/index.d.ts +2 -0
- package/packages/game/dist/types/index.d.ts.map +1 -1
- package/packages/shared/dist/browser/index.global.js +1 -1
- package/packages/shared/dist/browser/index.global.js.map +1 -1
- package/packages/shared/dist/cjs/index.cjs +53 -0
- package/packages/shared/dist/cjs/index.cjs.map +1 -1
- package/packages/shared/dist/esm/index.js +42 -0
- package/packages/shared/dist/esm/index.js.map +1 -1
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/shared/dist/types/audio/constants.d.ts +24 -0
- package/packages/shared/dist/types/audio/constants.d.ts.map +1 -0
- package/packages/shared/dist/types/index.d.ts +1 -0
- package/packages/shared/dist/types/index.d.ts.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqE,MAAM,cAAc,CAAC;AAGzG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqE,MAAM,cAAc,CAAC;AAGzG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoa1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QAqEhE;AAuFD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QAiClE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arachnid.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/arachnid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arachnid.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/arachnid.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,MAAM,EAQP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAwaxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QAqDtE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAE1D"}
|
|
@@ -68,6 +68,7 @@ export declare class EntitySystem {
|
|
|
68
68
|
free(entity: Entity): void;
|
|
69
69
|
freeImmediate(entity: Entity): void;
|
|
70
70
|
sound(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
|
|
71
|
+
soundIndex(sound: string): number;
|
|
71
72
|
modelIndex(model: string): number;
|
|
72
73
|
linkentity(ent: Entity): void;
|
|
73
74
|
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAEL,qBAAqB,EACrB,MAAM,EAKP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAA4B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiC/D,KAAK,gBAAgB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D,KAAK,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,KAAK,4BAA4B,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,KAAK,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAQ5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAuCD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAK;IAExB,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAG/C,eAAe,EAAE,MAAM,CAAK;IAC5B,cAAc,EAAE,MAAM,CAAK;IAE3B,IAAI,GAAG,+CAEN;IAED,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAO;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED,IAAI,aAAa,IAAI,qBAAqB,CAEzC;IAED,IAAI,IAAI,IAAI,GAAG,CAcd;gBAGC,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,OAAO,CAAC,EAAE,IAAI,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,OAAO;IA8DtB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAQvD,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS;IAShE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C,KAAK,IAAI,MAAM;IAMf,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM1B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIxF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAInF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI7D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOrC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOnC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAU5C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9C,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE;IAyB3C,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAiBpD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;IAYzD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqB7B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAkBjE,QAAQ,IAAI,IAAI;IAiDhB,cAAc,IAAI,oBAAoB;IAkDtC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAkFlF,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;CAmB5B"}
|
|
@@ -20,6 +20,7 @@ export { MulticastType } from './imports.js';
|
|
|
20
20
|
export interface GameEngine {
|
|
21
21
|
trace(start: Vec3, end: Vec3): unknown;
|
|
22
22
|
sound?(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
|
|
23
|
+
soundIndex?(sound: string): number;
|
|
23
24
|
centerprintf?(entity: Entity, message: string): void;
|
|
24
25
|
modelIndex?(model: string): number;
|
|
25
26
|
multicast?(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
@@ -69,6 +70,7 @@ export interface GameExports extends GameSimulation<GameStateSnapshot> {
|
|
|
69
70
|
spawnWorld(): void;
|
|
70
71
|
readonly entities: EntitySystem;
|
|
71
72
|
sound(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
|
|
73
|
+
soundIndex(sound: string): number;
|
|
72
74
|
centerprintf(entity: Entity, message: string): void;
|
|
73
75
|
readonly time: number;
|
|
74
76
|
readonly deathmatch: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Quake2Shared=(()=>{var Xe=Object.defineProperty;var gn=Object.getOwnPropertyDescriptor;var En=Object.getOwnPropertyNames;var Vn=Object.prototype.hasOwnProperty;var Je=(t,e)=>{for(var n in e)Xe(t,n,{get:e[n],enumerable:!0})},Cn=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of En(e))!Vn.call(t,r)&&r!==n&&Xe(t,r,{get:()=>e[r],enumerable:!(o=gn(e,r))||o.enumerable});return t};var Nn=t=>Cn(Xe({},"__esModule",{value:!0}),t);var _i={};Je(_i,{AMMO_MAX:()=>Ge,AMMO_TYPE_COUNT:()=>bi,ANORMS:()=>J,AmmoItemId:()=>_n,AmmoType:()=>Nt,BinaryStream:()=>Et,BinaryWriter:()=>_e,CGAME_EXPORT_KEYS:()=>Qo,CGAME_IMPORT_KEYS:()=>$o,CMD_BACKUP:()=>As,CONTENTS_AREAPORTAL:()=>Di,CONTENTS_AUX:()=>vi,CONTENTS_CURRENT_0:()=>oo,CONTENTS_CURRENT_180:()=>so,CONTENTS_CURRENT_270:()=>io,CONTENTS_CURRENT_90:()=>ro,CONTENTS_CURRENT_DOWN:()=>ao,CONTENTS_CURRENT_UP:()=>co,CONTENTS_DEADMONSTER:()=>Wi,CONTENTS_DETAIL:()=>ki,CONTENTS_LADDER:()=>Lt,CONTENTS_LAVA:()=>Pi,CONTENTS_MIST:()=>zi,CONTENTS_MONSTER:()=>Gi,CONTENTS_MONSTERCLIP:()=>Bi,CONTENTS_NONE:()=>Re,CONTENTS_NO_WATERJUMP:()=>no,CONTENTS_ORIGIN:()=>Ii,CONTENTS_PLAYER:()=>Ki,CONTENTS_PLAYERCLIP:()=>Ui,CONTENTS_PROJECTILE:()=>Xi,CONTENTS_PROJECTILECLIP:()=>Fi,CONTENTS_SLIME:()=>Li,CONTENTS_SOLID:()=>Oi,CONTENTS_TRANSLUCENT:()=>Hi,CONTENTS_TRIGGER:()=>to,CONTENTS_WATER:()=>wi,CONTENTS_WINDOW:()=>Mi,CS_MAX_STRING_LENGTH:()=>Pc,CS_MAX_STRING_LENGTH_OLD:()=>Lc,ClientCommand:()=>fn,CollisionEntityIndex:()=>Qe,ConfigStringIndex:()=>ae,CvarFlags:()=>Wt,DEFAULT_FORWARD_SPEED:()=>us,DEFAULT_MOUSE_SENSITIVITY:()=>ps,DEFAULT_PITCH_SPEED:()=>xs,DEFAULT_SIDE_SPEED:()=>ds,DEFAULT_UP_SPEED:()=>fs,DEFAULT_YAW_SPEED:()=>ms,DEG2RAD:()=>Kn,DIST_EPSILON:()=>Z,EntityFlags:()=>At,GAME_EXPORT_KEYS:()=>qo,GAME_IMPORT_KEYS:()=>Zo,G_GetAmmoStat:()=>ks,G_GetPowerupStat:()=>Ks,G_SetAmmoStat:()=>Ws,G_SetPowerupStat:()=>Hs,LAST_VISIBLE_CONTENTS:()=>Ji,LayoutFlags:()=>xn,MASK_ALL:()=>ac,MASK_BLOCK_SIGHT:()=>xc,MASK_CURRENT:()=>lo,MASK_DEADSOLID:()=>uc,MASK_LADDER_NAV_SOLID:()=>hc,MASK_MONSTERSOLID:()=>dc,MASK_NAV_SOLID:()=>pc,MASK_OPAQUE:()=>fc,MASK_PLAYERSOLID:()=>lc,MASK_PROJECTILE:()=>bc,MASK_SHOT:()=>mc,MASK_SOLID:()=>Ze,MASK_WALK_NAV_SOLID:()=>yc,MASK_WATER:()=>Oe,MAX_CHALLENGES:()=>Ss,MAX_CLIENTS:()=>wo,MAX_CONFIGSTRINGS:()=>Wo,MAX_EDICTS:()=>vc,MAX_GENERAL:()=>Io,MAX_IMAGES:()=>Uo,MAX_INFO_STRING:()=>gs,MAX_ITEMS:()=>Bo,MAX_LIGHTSTYLES:()=>zo,MAX_MODELS:()=>Fo,MAX_MSGLEN:()=>Es,MAX_OSPATH:()=>Mc,MAX_PACKET_ENTITIES:()=>Ts,MAX_QPATH:()=>Oc,MAX_SHADOW_LIGHTS:()=>Go,MAX_SOUNDS:()=>Do,MAX_STRING_CHARS:()=>Cc,MAX_STRING_TOKENS:()=>Nc,MAX_TOKEN_CHARS:()=>Rc,MAX_WHEEL_ITEMS:()=>rt,MZ_BFG:()=>Ds,MZ_BLASTER:()=>Vs,MZ_CHAINGUN1:()=>Rs,MZ_CHAINGUN2:()=>Os,MZ_CHAINGUN3:()=>Ms,MZ_GRENADE:()=>Ls,MZ_HYPERBLASTER:()=>Us,MZ_LOGIN:()=>ws,MZ_LOGOUT:()=>zs,MZ_MACHINEGUN:()=>Cs,MZ_RAILGUN:()=>vs,MZ_ROCKET:()=>Ps,MZ_SHOTGUN:()=>Ns,MZ_SSHOTGUN:()=>Fs,MersenneTwister19937:()=>Ce,NUM_AMMO_STATS:()=>Is,NUM_BITS_FOR_AMMO:()=>We,NUM_BITS_FOR_POWERUP:()=>He,NUM_POWERUP_STATS:()=>Gs,NetChan:()=>Ct,NetworkMessageBuilder:()=>Vt,PITCH:()=>Ee,POWERUP_MAX:()=>ke,PlaneSide:()=>zt,PlayerButton:()=>re,PlayerStat:()=>yn,PmFlag:()=>oe,PmType:()=>ue,PowerupId:()=>hn,RAD2DEG:()=>Xn,ROLL:()=>je,RandomGenerator:()=>Ne,RenderFx:()=>Sn,Replay:()=>st,SLIDEMOVE_BLOCKED_FLOOR:()=>Kt,SLIDEMOVE_BLOCKED_WALL:()=>Xt,STOP_EPSILON:()=>$,SURF_ALPHATEST:()=>oc,SURF_FLOWING:()=>tc,SURF_LIGHT:()=>ji,SURF_N64_SCROLL_FLIP:()=>cc,SURF_N64_SCROLL_X:()=>sc,SURF_N64_SCROLL_Y:()=>ic,SURF_N64_UV:()=>rc,SURF_NODRAW:()=>nc,SURF_NONE:()=>Yi,SURF_SKY:()=>qi,SURF_SLICK:()=>Zi,SURF_TRANS33:()=>Qi,SURF_TRANS66:()=>ec,SURF_WARP:()=>$i,ServerCommand:()=>dn,TempEntity:()=>mn,UPDATE_BACKUP:()=>_s,WEAPON_AMMO_MAP:()=>Ti,WEAPON_WHEEL_ORDER:()=>Si,WaterLevel:()=>le,WeaponId:()=>Tn,YAW:()=>Ve,ZERO_VEC3:()=>L,addBlendColor:()=>Zn,addContents:()=>mo,addPmFlag:()=>W,addPointToBounds:()=>Dn,addVec3:()=>O,addViewAngles:()=>ys,angleMod:()=>xe,angleVectors:()=>pe,applyPmove:()=>yi,applyPmoveAccelerate:()=>Y,applyPmoveAddCurrents:()=>Fe,applyPmoveAirAccelerate:()=>at,applyPmoveAirMove:()=>kr,applyPmoveFlyMove:()=>yr,applyPmoveFriction:()=>ct,applyPmoveWaterMove:()=>Hr,assertContract:()=>jo,boxContents:()=>No,boxOnPlaneSide:()=>Ao,boxesIntersect:()=>Un,buildAirGroundWish:()=>lt,buildCollisionModel:()=>To,buildWaterWish:()=>ut,categorizePosition:()=>Gr,checkDuckState:()=>Nr,checkJump:()=>Ar,checkSpecialMovement:()=>os,clampViewAngles:()=>ls,clipBoxToBrush:()=>tt,clipVelocityAgainstPlanes:()=>Bn,clipVelocityVec3:()=>te,closestPointToBox:()=>wn,combineSurfaceFlags:()=>ho,computePlaneSignBits:()=>et,computePlayerDimensions:()=>Ue,concatRotationMatrices:()=>Ye,configStringSize:()=>ko,copyVec3:()=>On,crc8:()=>Ys,createDefaultTrace:()=>Pe,createEmptyBounds3:()=>Fn,createMat4Identity:()=>Pt,createRandomGenerator:()=>qn,crossVec3:()=>ee,currentVectorFromContents:()=>pt,degToRad:()=>Ae,disableTraceDebug:()=>bo,distance:()=>Pn,distanceBetweenBoxesSquared:()=>zn,dotVec3:()=>F,enableTraceDebug:()=>yo,fixStuckObjectGeneric:()=>mt,getWaterLevel:()=>Se,goodPosition:()=>bt,groundCurrentVelocity:()=>nn,hasAllContents:()=>uo,hasAnyContents:()=>fo,hasPmFlag:()=>D,hasSurfaceFlags:()=>po,inPHS:()=>Oo,inPVS:()=>Ro,initialSnapPosition:()=>is,isAtLeastWaistDeep:()=>it,isUnderwater:()=>er,lengthSquaredVec3:()=>ie,lengthVec3:()=>I,lerpAngle:()=>Jn,mat4FromBasis:()=>eo,mouseDeltaToViewDelta:()=>bs,multiplyMat4:()=>$n,multiplyVec3:()=>Mn,negateVec3:()=>vn,normalizeVec3:()=>w,perpendicularVec3:()=>Ot,planeDistanceToPoint:()=>ne,pmoveCmdScale:()=>tr,pointContents:()=>Vo,pointContentsMany:()=>Co,pointInsideBrush:()=>Ft,pointOnPlaneSide:()=>_o,projectPointOnPlane:()=>Rt,projectSourceVec3:()=>Gn,projectSourceVec3WithUp:()=>Wn,radToDeg:()=>ge,removeContents:()=>xo,removePmFlag:()=>X,resolveSlideMove:()=>Jt,rotatePointAroundVector:()=>Hn,scaleVec3:()=>M,slerpVec3:()=>kn,slideClipVelocityVec3:()=>In,slideMove:()=>dt,snapPosition:()=>ss,stepSlideMove:()=>se,subtractVec3:()=>Q,testBoxInBrush:()=>Dt,traceBox:()=>Gt,traceDebugInfo:()=>K,transformPointMat4:()=>Qn,validateContract:()=>kt,vec3Equals:()=>Ln,vectorToAngles:()=>jn,vectorToYaw:()=>Yn,waterCurrentVelocity:()=>tn,writeUserCommand:()=>Xs});var L={x:0,y:0,z:0},$=.1,Rn=Math.PI/180;function On(t){return{x:t.x,y:t.y,z:t.z}}function O(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function Q(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function Mn(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function M(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function vn(t){return M(t,-1)}function F(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function ee(t,e){return{x:t.y*e.z-t.z*e.y,y:t.z*e.x-t.x*e.z,z:t.x*e.y-t.y*e.x}}function ie(t){return F(t,t)}function I(t){return Math.sqrt(ie(t))}function Pn(t,e){return I(Q(t,e))}function Ln(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function w(t){let e=I(t);return e===0?t:M(t,1/e)}function Rt(t,e){let n=1/F(e,e),o=F(e,t)*n;return Q(t,M(e,n*o))}function Ot(t){let e=0,n=Math.abs(t.x);return Math.abs(t.y)<n&&(e=1,n=Math.abs(t.y)),Math.abs(t.z)<n&&(e=2),w(Rt(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function wn(t,e,n){return{x:t.x<e.x?e.x:t.x>n.x?n.x:t.x,y:t.y<e.y?e.y:t.y>n.y?n.y:t.y,z:t.z<e.z?e.z:t.z>n.z?n.z:t.z}}function zn(t,e,n,o){let r=0;if(e.x<n.x){let s=e.x-n.x;r+=s*s}else if(t.x>o.x){let s=t.x-o.x;r+=s*s}if(e.y<n.y){let s=e.y-n.y;r+=s*s}else if(t.y>o.y){let s=t.y-o.y;r+=s*s}if(e.z<n.z){let s=e.z-n.z;r+=s*s}else if(t.z>o.z){let s=t.z-o.z;r+=s*s}return r}function Fn(){return{mins:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,z:Number.POSITIVE_INFINITY},maxs:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY,z:Number.NEGATIVE_INFINITY}}}function Dn(t,e){return{mins:{x:Math.min(e.mins.x,t.x),y:Math.min(e.mins.y,t.y),z:Math.min(e.mins.z,t.z)},maxs:{x:Math.max(e.maxs.x,t.x),y:Math.max(e.maxs.y,t.y),z:Math.max(e.maxs.z,t.z)}}}function Un(t,e){return t.mins.x<=e.maxs.x&&t.maxs.x>=e.mins.x&&t.mins.y<=e.maxs.y&&t.maxs.y>=e.mins.y&&t.mins.z<=e.maxs.z&&t.maxs.z>=e.mins.z}function te(t,e,n){let o=F(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-$&&r<$&&(r=0),s>-$&&s<$&&(s=0),i>-$&&i<$&&(i=0),{x:r,y:s,z:i}}function Bn(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=te(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&F(r,e[i])<0);i++);if(i===e.length)return o&&F(r,o)<=0?L:r}if(e.length===2){let s=ee(e[0],e[1]),i=F(s,t),c=M(s,i);return o&&F(c,o)<=0?L:c}return o&&F(r,o)<=0,L}function In(t,e,n){return te(t,e,n)}function Gn(t,e,n,o){return{x:t.x+n.x*e.x+o.x*e.y,y:t.y+n.y*e.x+o.y*e.y,z:t.z+n.z*e.x+o.z*e.y+e.z}}function Wn(t,e,n,o,r){return{x:t.x+n.x*e.x+o.x*e.y+r.x*e.z,y:t.y+n.y*e.x+o.y*e.y+r.y*e.z,z:t.z+n.z*e.x+o.z*e.y+r.z*e.z}}function kn(t,e,n){let o=F(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),l=Math.sin((1-n)*i),u=Math.sin(n*i);r=l/c,s=u/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function Ye(t,e){let n=r=>[t[r][0]*e[0][0]+t[r][1]*e[1][0]+t[r][2]*e[2][0],t[r][0]*e[0][1]+t[r][1]*e[1][1]+t[r][2]*e[2][1],t[r][0]*e[0][2]+t[r][1]*e[1][2]+t[r][2]*e[2][2]];return[n(0),n(1),n(2)]}function Hn(t,e,n){if(I(t)===0)return e;let r=w(t),s=Ot(r),i=ee(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],l=[[c[0][0],c[1][0],c[2][0]],[c[0][1],c[1][1],c[2][1]],[c[0][2],c[1][2],c[2][2]]],u=n*Rn,x=Math.cos(u),a=Math.sin(u),m=[[x,a,0],[-a,x,0],[0,0,1]],p=Ye(Ye(c,m),l);return{x:p[0][0]*e.x+p[0][1]*e.y+p[0][2]*e.z,y:p[1][0]*e.x+p[1][1]*e.y+p[1][2]*e.z,z:p[2][0]*e.x+p[2][1]*e.y+p[2][2]*e.z}}var Ee=0,Ve=1,je=2,Mt=Math.PI/180,vt=180/Math.PI,Kn=Mt,Xn=vt;function me(t,e){switch(e){case Ee:return t.x;case Ve:return t.y;case je:default:return t.z}}function Ae(t){return t*Mt}function ge(t){return t*vt}function Jn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function xe(t){let e=t%360;return e<0?360+e:e}function pe(t){let e=Ae(me(t,Ve)),n=Ae(me(t,Ee)),o=Ae(me(t,je)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),l=Math.sin(o),u=Math.cos(o),x={x:c*s,y:c*r,z:-i},a={x:-l*i*s-u*-r,y:-l*i*r-u*s,z:-l*c},m={x:u*i*s-l*-r,y:u*i*r-l*s,z:u*c};return{forward:x,right:a,up:m}}function Yn(t){let e=me(t,Ee),n=me(t,Ve);if(e===0)return n===0?0:n>0?90:270;let o=ge(Math.atan2(n,e));return o<0?o+360:o}function jn(t){let e=t.x,n=t.y,o=t.z;if(n===0&&e===0)return{x:o>0?-90:-270,y:0,z:0};let r;e?r=ge(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=ge(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var J=[[-.525731,0,.850651],[-.442863,.238856,.864188],[-.295242,0,.955423],[-.309017,.5,.809017],[-.16246,.262866,.951056],[0,0,1],[0,.850651,.525731],[-.147621,.716567,.681718],[.147621,.716567,.681718],[0,.525731,.850651],[.309017,.5,.809017],[.525731,0,.850651],[.295242,0,.955423],[.442863,.238856,.864188],[.16246,.262866,.951056],[-.681718,.147621,.716567],[-.809017,.309017,.5],[-.587785,.425325,.688191],[-.850651,.525731,0],[-.864188,.442863,.238856],[-.716567,.681718,.147621],[-.688191,.587785,.425325],[-.5,.809017,.309017],[-.238856,.864188,.442863],[-.425325,.688191,.587785],[-.716567,.681718,-.147621],[-.5,.809017,-.309017],[-.525731,.850651,0],[0,.850651,-.525731],[-.238856,.864188,-.442863],[0,.955423,-.295242],[-.262866,.951056,-.16246],[0,1,0],[0,.955423,.295242],[-.262866,.951056,.16246],[.238856,.864188,.442863],[.262866,.951056,.16246],[.5,.809017,.309017],[.238856,.864188,-.442863],[.262866,.951056,-.16246],[.5,.809017,-.309017],[.850651,.525731,0],[.716567,.681718,.147621],[.716567,.681718,-.147621],[.525731,.850651,0],[.425325,.688191,.587785],[.864188,.442863,.238856],[.688191,.587785,.425325],[.809017,.309017,.5],[.681718,.147621,.716567],[.587785,.425325,.688191],[.955423,.295242,0],[1,0,0],[.951056,.16246,.262866],[.850651,-.525731,0],[.955423,-.295242,0],[.864188,-.442863,.238856],[.951056,-.16246,.262866],[.809017,-.309017,.5],[.681718,-.147621,.716567],[.850651,0,.525731],[.864188,.442863,-.238856],[.809017,.309017,-.5],[.951056,.16246,-.262866],[.525731,0,-.850651],[.681718,.147621,-.716567],[.681718,-.147621,-.716567],[.850651,0,-.525731],[.809017,-.309017,-.5],[.864188,-.442863,-.238856],[.951056,-.16246,-.262866],[.147621,.716567,-.681718],[.309017,.5,-.809017],[.425325,.688191,-.587785],[.442863,.238856,-.864188],[.587785,.425325,-.688191],[.688191,.587785,-.425325],[-.147621,.716567,-.681718],[-.309017,.5,-.809017],[0,.525731,-.850651],[-.525731,0,-.850651],[-.442863,.238856,-.864188],[-.295242,0,-.955423],[-.16246,.262866,-.951056],[0,0,-1],[.295242,0,-.955423],[.16246,.262866,-.951056],[-.442863,-.238856,-.864188],[-.309017,-.5,-.809017],[-.16246,-.262866,-.951056],[0,-.850651,-.525731],[-.147621,-.716567,-.681718],[.147621,-.716567,-.681718],[0,-.525731,-.850651],[.309017,-.5,-.809017],[.442863,-.238856,-.864188],[.16246,-.262866,-.951056],[.238856,-.864188,-.442863],[.5,-.809017,-.309017],[.425325,-.688191,-.587785],[.716567,-.681718,-.147621],[.688191,-.587785,-.425325],[.587785,-.425325,-.688191],[0,-.955423,-.295242],[0,-1,0],[.262866,-.951056,-.16246],[0,-.850651,.525731],[0,-.955423,.295242],[.238856,-.864188,.442863],[.262866,-.951056,.16246],[.5,-.809017,.309017],[.716567,-.681718,.147621],[.525731,-.850651,0],[-.238856,-.864188,-.442863],[-.5,-.809017,-.309017],[-.262866,-.951056,-.16246],[-.850651,-.525731,0],[-.716567,-.681718,-.147621],[-.716567,-.681718,.147621],[-.525731,-.850651,0],[-.5,-.809017,.309017],[-.238856,-.864188,.442863],[-.262866,-.951056,.16246],[-.864188,-.442863,.238856],[-.809017,-.309017,.5],[-.688191,-.587785,.425325],[-.681718,-.147621,.716567],[-.442863,-.238856,.864188],[-.587785,-.425325,.688191],[-.309017,-.5,.809017],[-.147621,-.716567,.681718],[-.425325,-.688191,.587785],[-.16246,-.262866,.951056],[.442863,-.238856,.864188],[.16246,-.262866,.951056],[.309017,-.5,.809017],[.147621,-.716567,.681718],[0,-.525731,.850651],[.425325,-.688191,.587785],[.587785,-.425325,.688191],[.688191,-.587785,.425325],[-.955423,.295242,0],[-.951056,.16246,.262866],[-1,0,0],[-.850651,0,.525731],[-.955423,-.295242,0],[-.951056,-.16246,.262866],[-.864188,.442863,-.238856],[-.951056,.16246,-.262866],[-.809017,.309017,-.5],[-.864188,-.442863,-.238856],[-.951056,-.16246,-.262866],[-.809017,-.309017,-.5],[-.681718,.147621,-.716567],[-.681718,-.147621,-.716567],[-.850651,0,-.525731],[-.688191,.587785,-.425325],[-.587785,.425325,-.688191],[-.425325,.688191,-.587785],[-.425325,-.688191,-.587785],[-.587785,-.425325,-.688191],[-.688191,-.587785,-.425325]];function Zn(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],l=r[3],u=l+(1-l)*o;if(u<=0)return[0,0,0,0];let x=l/u,a=s*x+t*(1-x),m=i*x+e*(1-x),p=c*x+n*(1-x);return[a,m,p,u]}var Ce=class{constructor(e=5489){this.state=new Uint32Array(624);this.index=624;this.seed(e)}seed(e){this.state[0]=e>>>0;for(let n=1;n<624;n++){let o=this.state[n-1]^this.state[n-1]>>>30,r=Math.imul(o>>>0,1812433253)+n;this.state[n]=r>>>0}this.index=624}nextUint32(){this.index>=624&&this.twist();let e=this.state[this.index++];return e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}twist(){for(let e=0;e<624;e++){let n=this.state[e]&2147483648|this.state[(e+1)%624]&2147483647,o=this.state[(e+397)%624]^n>>>1;(n&1)!==0&&(o^=2567483615),this.state[e]=o>>>0}this.index=0}getState(){return{index:this.index,state:Array.from(this.state)}}setState(e){if(e.state.length!==624)throw new Error(`Expected 624 MT state values, received ${e.state.length}`);this.index=e.index,this.state=Uint32Array.from(e.state,n=>n>>>0)}},Ne=class{constructor(e={}){this.mt=new Ce(e.seed)}seed(e){this.mt.seed(e)}frandom(){return this.mt.nextUint32()/4294967296}frandomRange(e,n){return e+(n-e)*this.frandom()}frandomMax(e){return this.frandomRange(0,e)}crandom(){return this.frandomRange(-1,1)}crandomOpen(){let e=Number.EPSILON;return this.frandomRange(-1+e,1)}irandomUint32(){return this.mt.nextUint32()}irandomRange(e,n){if(n-e<=1)return e;let o=n-e,r=4294967296-4294967296%o,s;do s=this.mt.nextUint32();while(s>=r);return e+s%o}irandom(e){return e<=0?0:this.irandomRange(0,e)}randomTimeRange(e,n){return n<=e?e:this.irandomRange(e,n)}randomTime(e){return this.irandom(e)}randomIndex(e){return this.irandom(e.length)}getState(){return{mt:this.mt.getState()}}setState(e){this.mt.setState(e.mt)}};function qn(t){return new Ne(t)}function Pt(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function $n(t,e){let n=new Float32Array(16);for(let o=0;o<4;o+=1)for(let r=0;r<4;r+=1)n[r*4+o]=t[0+o]*e[r*4+0]+t[4+o]*e[r*4+1]+t[8+o]*e[r*4+2]+t[12+o]*e[r*4+3];return n}function Qn(t,e){let n=e.x,o=e.y,r=e.z;return{x:t[0]*n+t[4]*o+t[8]*r+t[12],y:t[1]*n+t[5]*o+t[9]*r+t[13],z:t[2]*n+t[6]*o+t[10]*r+t[14]}}function eo(t,e){let n=Pt();return n[0]=e[0].x,n[1]=e[0].y,n[2]=e[0].z,n[4]=e[1].x,n[5]=e[1].y,n[6]=e[1].z,n[8]=e[2].x,n[9]=e[2].y,n[10]=e[2].z,n[12]=t.x,n[13]=t.y,n[14]=t.z,n}var Re=0,Oi=1,Mi=2,vi=4,Pi=8,Li=16,wi=32,zi=64,to=1073741824,no=8192,Fi=16384,Di=32768,Ui=65536,Bi=131072,oo=262144,ro=524288,so=1048576,io=2097152,co=4194304,ao=8388608,Ii=16777216,Gi=33554432,Wi=67108864,ki=134217728,Hi=268435456,Lt=536870912,Ki=1073741824,Xi=-2147483648,Ji=64,Yi=0,ji=1,Zi=2,qi=4,$i=8,Qi=16,ec=32,tc=64,nc=128,oc=33554432,rc=268435456,sc=536870912,ic=1073741824,cc=-2147483648,ac=4294967295,Ze=3,lc=1107361795,uc=65539,dc=1107427331,Oe=56,fc=25,mc=1174405123,lo=16515072,xc=1107296281,pc=65539,hc=3,yc=196611,bc=1174421507;function uo(t,e){return(t&e)===e}function fo(t,e){return(t&e)!==0}function mo(t,e){return t|e}function xo(t,e){return t&~e}function po(t,e){return(t&e)===e}function ho(...t){let e=0;for(let n of t)e|=n;return e}function Me(t=0,e={x:-8192,y:-8192,z:-8192},n={x:8192,y:8192,z:8192}){if(t>=4)return{axis:-1,dist:0,children:null,items:new Set};let o=t%2,r=.5*(o===0?e.x+n.x:e.y+n.y),s={...e},i={...n},c={...e},l={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let u=Me(t+1,s,i),x=Me(t+1,c,l);return{axis:o,dist:r,children:[u,x],items:new Set}}function wt(t,e,n,o){let r=t;for(;r.axis!==-1&&r.children;){let s=r.axis,i=r.dist,c=s===0?n.x:n.y,l=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(l<i)r=r.children[0];else break}return r.items.add(e),r}function he(t,e,n,o){for(let l of t.items)o.add(l);if(t.axis===-1||!t.children)return;let r=t.axis,s=t.dist,i=r===0?e.x:e.y;(r===0?n.x:n.y)>s&&he(t.children[1],e,n,o),i<s&&he(t.children[0],e,n,o)}var zt=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(zt||{}),K=null;function yo(){K={nodesTraversed:0,leafsReached:0,brushesTested:0}}function bo(){K=null}var Z=.03125,So=Number.MAX_SAFE_INTEGER-1,ve=1;function To(t){let e=t.planes.map(i=>({...i,signbits:et(i.normal)})),n=t.nodes.map(i=>({plane:e[i.planenum],children:i.children})),o=t.brushes.map(i=>{let c=t.brushSides.slice(i.firstSide,i.firstSide+i.numSides).map(l=>({plane:e[l.planenum],surfaceFlags:l.surfaceFlags}));return{contents:i.contents,sides:c,checkcount:0}}),r=t.leaves.map(i=>({contents:i.contents,cluster:i.cluster,area:i.area,firstLeafBrush:i.firstLeafBrush,numLeafBrushes:i.numLeafBrushes})),s=t.bmodels.map(i=>({mins:i.mins,maxs:i.maxs,origin:i.origin,headnode:i.headnode}));return{planes:e,nodes:n,leaves:r,brushes:o,leafBrushes:t.leafBrushes,bmodels:s,visibility:t.visibility}}function et(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function ne(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function _o(t,e,n=0){let o=ne(t,e);return o>n?1:o<-n?2:3}function Ao(t,e,n,o=0){let r,s;switch(n.signbits){case 0:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z;break;case 1:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z;break;case 2:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z;break;case 3:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z;break;case 4:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z;break;case 5:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z;break;case 6:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z;break;default:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z;break}let i=0;return r-n.dist>=-o&&(i=1),s-n.dist<=o&&(i|=2),i}function Ft(t,e,n=Z){for(let o of e.sides)if(ne(o.plane,t)>n)return!1;return!0}function Dt(t,e,n,o){for(let r of o.sides){let s=r.plane.normal.x*(r.plane.normal.x<0?n.x:e.x)+r.plane.normal.y*(r.plane.normal.y<0?n.y:e.y)+r.plane.normal.z*(r.plane.normal.z<0?n.z:e.z),i=r.plane.dist-s;if(t.x*r.plane.normal.x+t.y*r.plane.normal.y+t.z*r.plane.normal.z-i>0)return{startsolid:!1,allsolid:!1,contents:0}}return{startsolid:!0,allsolid:!0,contents:o.contents}}function tt({start:t,end:e,mins:n,maxs:o,brush:r,trace:s}){if(r.sides.length===0)return;let i=n.x===0&&n.y===0&&n.z===0&&o.x===0&&o.y===0&&o.z===0,c=-1,l=1,u=null,x=null,a=!1,m=!1;for(let p of r.sides){let{plane:d}=p,A=d.dist;if(!i){let N=d.normal.x<0?o.x:n.x,b=d.normal.y<0?o.y:n.y,S=d.normal.z<0?o.z:n.z;A-=d.normal.x*N+d.normal.y*b+d.normal.z*S}let _=t.x*d.normal.x+t.y*d.normal.y+t.z*d.normal.z-A,g=e.x*d.normal.x+e.y*d.normal.y+e.z*d.normal.z-A;if(g>0&&(a=!0),_>0&&(m=!0),_>0&&g>=_)return;if(!(_<=0&&g<=0))if(_>g){let N=(_-Z)/(_-g);N>c&&(c=N,u=d,x=p)}else{let N=(_+Z)/(_-g);N<l&&(l=N)}}if(!m){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<l&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=u,s.contents=r.contents,s.surfaceFlags=x?.surfaceFlags??0)}function Pe(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function nt(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=ne(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function Ut(t,e,n){let o=t.leaves[e],r=o.contents,s=ot(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let l=i;l<c;l+=1){let u=t.leafBrushes[l],x=t.brushes[u];x.checkcount!==s&&(x.checkcount=s,x.sides.length!==0&&Ft(n,x)&&(r|=x.contents))}return r}function ot(){let t=ve;return ve+=1,ve>=So&&(ve=1),t}function go(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function Eo(t,e,n){return go(e,n)?0:t.normal.x*(t.normal.x<0?n.x:e.x)+t.normal.y*(t.normal.y<0?n.y:e.y)+t.normal.z*(t.normal.z<0?n.z:e.z)}function Bt(t,e,n){return Math.abs(Eo(t,e,n))}function qe(t,e,n){return O(t,M(Q(e,t),n))}function $e(t,e,n){let o=t.allsolid?0:t.fraction,r=qe(e,n,o);return{fraction:o,endpos:r,plane:t.plane,planeNormal:t.startsolid?void 0:t.plane?.normal,contents:t.contents,surfaceFlags:t.surfaceFlags,startsolid:t.startsolid,allsolid:t.allsolid}}function Le(t,e,n){let o=nt(t,e,n);return e.leaves[o]?.cluster??-1}function It(t,e,n,o){if(!t||t.numClusters===0)return!0;if(e<0||n<0||e>=t.clusters.length||n>=t.numClusters)return!1;let r=t.clusters[e],i=(o?r.phs:r.pvs)[n>>3];return i===void 0?!1:(i&1<<(n&7))!==0}function ye(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p}=t;if(m.fraction<=o)return;if(n<0){K&&K.leafsReached++;let U=-1-n,C=e.leaves[U],G=C.firstLeafBrush,j=G+C.numLeafBrushes;for(let B=G;B<j;B+=1){let H=e.leafBrushes[B],y=e.brushes[H];if((y.contents&a)!==0&&y.sides.length&&y.checkcount!==p&&(y.checkcount=p,K&&K.brushesTested++,tt({start:c,end:l,mins:u,maxs:x,brush:y,trace:m}),m.allsolid))return}return}K&&K.nodesTraversed++;let d=e.nodes[n],A=d.plane,_=Bt(A,u,x),g=ne(A,s),N=ne(A,i);if(g>=_&&N>=_){ye({model:e,nodeIndex:d.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p});return}if(g<-_&&N<-_){ye({model:e,nodeIndex:d.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p});return}let b=0,S=1/(g-N),R,E;g<N?(b=1,E=(g+_+Z)*S,R=(g-_+Z)*S):(b=0,E=(g-_-Z)*S,R=(g+_+Z)*S),R<0?R=0:R>1&&(R=1),E<0?E=0:E>1&&(E=1);let P=o+(r-o)*R,V=qe(s,i,R);if(ye({model:e,nodeIndex:d.children[b],startFraction:o,endFraction:P,start:s,end:V,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p}),m.fraction<=P)return;let T=o+(r-o)*E,v=qe(s,i,E);ye({model:e,nodeIndex:d.children[1-b],startFraction:T,endFraction:r,start:v,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p})}function Gt(t){let{model:e,start:n,end:o}=t,r=t.mins??L,s=t.maxs??L,i=t.contentMask??4294967295,c=t.headnode??0,l=Pe(),u=ot();return ye({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:l,brushCheckCount:u}),$e(l,n,o)}function Vo(t,e,n=0){let o=nt(t,e,n);return Ut(e,o,t)}function Co(t,e,n=0){let o=new Map;return t.map(r=>{let s=nt(r,e,n),i=e.leaves[s];if(i.numLeafBrushes===0){let c=o.get(s);return c!==void 0?c:(o.set(s,i.contents),i.contents)}return Ut(e,s,r)})}function No(t,e,n,o,r=0){let s=ot(),i=0;function c(l){if(l<0){K&&K.leafsReached++;let p=-1-l,d=o.leaves[p];i|=d.contents;let A=d.firstLeafBrush,_=A+d.numLeafBrushes;for(let g=A;g<_;g+=1){let N=o.leafBrushes[g],b=o.brushes[N];if(b.checkcount===s||(b.checkcount=s,b.sides.length===0))continue;let S=Dt(t,e,n,b);S.startsolid&&(i|=S.contents)}return}let u=o.nodes[l],x=u.plane,a=Bt(x,e,n),m=ne(x,t);if(a===0){c(m>=0?u.children[0]:u.children[1]);return}if(m>a){c(u.children[0]);return}if(m<-a){c(u.children[1]);return}c(u.children[0]),c(u.children[1])}return c(r),i}function Ro(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Le(t,n,o),i=Le(e,n,o);return It(r,s,i,!1)}function Oo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Le(t,n,o),i=Le(e,n,o);return It(r,s,i,!0)}function ce(t,e,n){return{normal:t,dist:e,type:n,signbits:et(t)}}function Mo(t){let e=t.surfaceFlags??0,n=t.origin.x+t.maxs.x,o=t.origin.x+t.mins.x,r=t.origin.y+t.maxs.y,s=t.origin.y+t.mins.y,i=t.origin.z+t.maxs.z,c=t.origin.z+t.mins.z,u=[ce({x:1,y:0,z:0},n,0),ce({x:-1,y:0,z:0},-o,0),ce({x:0,y:1,z:0},r,1),ce({x:0,y:-1,z:0},-s,1),ce({x:0,y:0,z:1},i,2),ce({x:0,y:0,z:-1},-c,2)].map(x=>({plane:x,surfaceFlags:e}));return{contents:t.contents,sides:u,checkcount:0}}function vo(t){let e=Mo(t);return{...t,brush:e,bounds:{mins:{x:t.origin.x+t.mins.x,y:t.origin.y+t.mins.y,z:t.origin.z+t.mins.z},maxs:{x:t.origin.x+t.maxs.x,y:t.origin.y+t.maxs.y,z:t.origin.z+t.maxs.z}}}}function Po(t,e){return!(t.mins.x>e.maxs.x||t.maxs.x<e.mins.x||t.mins.y>e.maxs.y||t.maxs.y<e.mins.y||t.mins.z>e.maxs.z||t.maxs.z<e.mins.z)}function Lo(t,e){return e.allsolid&&!t.allsolid||e.startsolid&&!t.startsolid?!0:e.fraction<t.fraction}var Qe=class{constructor(){this.entities=new Map;this.entityNodes=new Map;this.rootNode=Me()}link(e){let n=vo(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=wt(this.rootNode,e.id,n.bounds.mins,n.bounds.maxs);this.entityNodes.set(e.id,r)}unlink(e){this.entities.delete(e);let n=this.entityNodes.get(e);n&&(n.items.delete(e),this.entityNodes.delete(e))}trace(e){let{passId:n}=e,o=e.mins??L,r=e.maxs??L,s=e.contentMask??4294967295,i,c=null;e.model?i=Gt(e):i=$e(Pe(),e.start,e.end);let l={x:Math.min(e.start.x,e.end.x)+o.x,y:Math.min(e.start.y,e.end.y)+o.y,z:Math.min(e.start.z,e.end.z)+o.z},u={x:Math.max(e.start.x,e.end.x)+r.x,y:Math.max(e.start.y,e.end.y)+r.y,z:Math.max(e.start.z,e.end.z)+r.z},x=new Set;he(this.rootNode,l,u,x);for(let a of x){if(a===n)continue;let m=this.entities.get(a);if(!m||(m.contents&s)===0)continue;let p=Pe();if(tt({start:e.start,end:e.end,mins:o,maxs:r,brush:m.brush,trace:p}),p.contents===0&&(p.contents=m.contents),p.startsolid||p.allsolid||p.fraction<i.fraction){let d=$e(p,e.start,e.end);Lo(i,d)&&(i=d,c=m.id)}}return{...i,entityId:c}}gatherTriggerTouches(e,n,o,r=1073741824){let s=[],i={mins:O(e,n),maxs:O(e,o)},c=new Set;he(this.rootNode,i.mins,i.maxs,c);for(let l of c){let u=this.entities.get(l);u&&(u.contents&r)!==0&&Po(i,u.bounds)&&s.push(u.id)}return s}};var Wt=(i=>(i[i.None=0]="None",i[i.Archive=1]="Archive",i[i.UserInfo=2]="UserInfo",i[i.ServerInfo=4]="ServerInfo",i[i.Latch=8]="Latch",i[i.Cheat=16]="Cheat",i))(Wt||{});var Cc=1024,Nc=80,Rc=512,Oc=64,Mc=128,wo=256,vc=8192,zo=256,Fo=8192,Do=2048,Uo=512,Bo=256,Io=512,Go=256,rt=32,Pc=96,Lc=64,ae=(T=>(T[T.Name=0]="Name",T[T.CdTrack=1]="CdTrack",T[T.Sky=2]="Sky",T[T.SkyAxis=3]="SkyAxis",T[T.SkyRotate=4]="SkyRotate",T[T.StatusBar=5]="StatusBar",T[T.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",T[T.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",T[T.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",T[T.AirAccel=59]="AirAccel",T[T.MaxClients=60]="MaxClients",T[T.MapChecksum=61]="MapChecksum",T[T.Models=62]="Models",T[T.Sounds=62+Fo]="Sounds",T[T.Images=T.Sounds+Do]="Images",T[T.Lights=T.Images+Uo]="Lights",T[T.ShadowLights=T.Lights+zo]="ShadowLights",T[T.Items=T.ShadowLights+Go]="Items",T[T.PlayerSkins=T.Items+Bo]="PlayerSkins",T[T.General=T.PlayerSkins+wo]="General",T[T.WheelWeapons=T.General+Io]="WheelWeapons",T[T.WheelAmmo=T.WheelWeapons+rt]="WheelAmmo",T[T.WheelPowerups=T.WheelAmmo+rt]="WheelPowerups",T[T.CdLoopCount=T.WheelPowerups+rt]="CdLoopCount",T[T.GameStyle=T.CdLoopCount+1]="GameStyle",T[T.MaxConfigStrings=T.GameStyle+1]="MaxConfigStrings",T))(ae||{}),Wo=ae.MaxConfigStrings;function ko(t){return t>=5&&t<59?96*(59-t):t>=ae.General&&t<ae.WheelWeapons?96*(ae.MaxConfigStrings-t):96}var st={};Je(st,{addReplayFrame:()=>Jo,createReplaySession:()=>Xo,deserializeReplay:()=>Ko,serializeReplay:()=>Ho});function Ho(t){return JSON.stringify(t,null,2)}function Ko(t){let e=JSON.parse(t);if(!e.metadata||!Array.isArray(e.frames))throw new Error("Invalid replay format: missing metadata or frames");return e}function Xo(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function Jo(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function Yo(t){return t??{}}function kt(t,e,n={}){let o=Yo(t),r=[],s=[];for(let c of e){if(!(c in o)){r.push(c);continue}typeof o[c]!="function"&&s.push(c)}let i=n.allowExtra===!1?Object.keys(o).filter(c=>!e.includes(c)):[];return{missing:r,nonFunctions:s,extras:i}}function jo(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=kt(t,e,n);if(o.length===0&&r.length===0&&s.length===0)return;let i=[];o.length>0&&i.push(`missing: ${o.join(", ")}`),r.length>0&&i.push(`non-functions: ${r.join(", ")}`),s.length>0&&i.push(`extras: ${s.join(", ")}`);let c=n.name??"contract";throw new Error(`${c} validation failed (${i.join("; ")})`)}var Zo=["Broadcast_Print","Com_Print","Client_Print","Center_Print","sound","positioned_sound","local_sound","configstring","get_configstring","Com_Error","modelindex","soundindex","imageindex","setmodel","trace","clip","pointcontents","inPVS","inPHS","SetAreaPortalState","AreasConnected","linkentity","unlinkentity","BoxEdicts","multicast","unicast"],qo=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],$o=["Com_Print","get_configstring","Com_Error","TagMalloc","TagFree","AddCommandString","CL_FrameValid","CL_FrameTime","CL_ClientTime","CL_ServerFrame","Draw_RegisterPic","Draw_GetPicSize","SCR_DrawChar","SCR_DrawPic","SCR_DrawColorPic"],Qo=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var le=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(le||{});function it(t){return t>=2}function er(t){return t===3}var oe=(a=>(a[a.Ducked=1]="Ducked",a[a.JumpHeld=2]="JumpHeld",a[a.OnGround=4]="OnGround",a[a.TimeWaterJump=8]="TimeWaterJump",a[a.TimeLand=16]="TimeLand",a[a.TimeTeleport=32]="TimeTeleport",a[a.NoPositionalPrediction=64]="NoPositionalPrediction",a[a.OnLadder=128]="OnLadder",a[a.NoAngularPrediction=256]="NoAngularPrediction",a[a.IgnorePlayerCollision=512]="IgnorePlayerCollision",a[a.TimeTrick=1024]="TimeTrick",a))(oe||{});function D(t,e){return(t&e)!==0}function W(t,e){return t|e}function X(t,e){return t&~e}var ue=(c=>(c[c.Normal=0]="Normal",c[c.Grapple=1]="Grapple",c[c.NoClip=2]="NoClip",c[c.Spectator=3]="Spectator",c[c.Dead=4]="Dead",c[c.Gib=5]="Gib",c[c.Freeze=6]="Freeze",c))(ue||{}),re=(c=>(c[c.None=0]="None",c[c.Attack=1]="Attack",c[c.Use=2]="Use",c[c.Holster=4]="Holster",c[c.Jump=8]="Jump",c[c.Crouch=16]="Crouch",c[c.Any=128]="Any",c))(re||{});function ct(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:l,pmWaterFriction:u}=t,x=I(e);if(x<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let d=x<l?l:x;a+=d*c*n}i>0&&!s&&(a+=x*u*i*n);let m=x-a;if(m<0&&(m=0),m===x)return e;let p=m/x;return M(e,p)}function Y(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=F(e,n),c=o-i;if(c<=0)return e;let l=r*s*o;return l>c&&(l=c),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function at(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=F(e,n),l=i-c;if(l<=0)return e;let u=r*o*s;return u>l&&(u=l),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function tr(t,e){let n=Math.abs(t.forwardmove),o=Math.abs(t.sidemove),r=Math.abs(t.upmove),s=Math.max(n,o,r);if(s===0)return 0;let i=Math.sqrt(t.forwardmove*t.forwardmove+t.sidemove*t.sidemove+t.upmove*t.upmove);return e*s/(127*i)}function lt(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0},i=I(s);if(i>r){let c=r/i;s=M(s,c),i=r}return{wishdir:i===0?s:w(s),wishspeed:i}}function ut(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:e.z*o.forwardmove+n.z*o.sidemove};o.upmove>10?s=O(s,{x:0,y:0,z:o.upmove}):o.upmove<-10?s=O(s,{x:0,y:0,z:o.upmove}):Math.abs(o.forwardmove)<10&&Math.abs(o.sidemove)<10?s=O(s,{x:0,y:0,z:-60}):s=O(s,{x:0,y:0,z:10});let i=I(s);if(i>r){let c=r/i;s=M(s,c),i=r}return i*=.5,{wishdir:i===0?s:w(s),wishspeed:i}}var Ht=5,nr=4,or=18,rr=.7,Kt=1,Xt=2;function Jt(t,e,n,o=Ht,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let l of e){if(s.length>=o)return{velocity:L,planes:s,stopped:!0};if(s.find(m=>F(m,l)>.99))continue;s.push(l);let x,a=0;for(;a<s.length;a++){let m=te(i,s[a],n),p=0;for(;p<s.length&&!(p!==a&&F(m,s[p])<0);p++);if(p===s.length){x=m;break}}if(x)i=x;else{if(s.length!==2)return{velocity:L,planes:s,stopped:!0};let m=ee(s[0],s[1]),p=F(m,i);i=M(m,p)}if(F(i,r)<=0)return{velocity:L,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function dt(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=nr,maxClipPlanes:c=Ht,mins:l,maxs:u,hasTime:x=!1}=t,a=e,m=n,p=[],d=n,A=o,_=0;for(let N=0;N<i&&!(m.x===0&&m.y===0&&m.z===0);N++){let b=O(a,M(m,A)),S=s(a,b,l,u);if(S.allsolid){let E=x?d:L;return{origin:S.endpos,velocity:E,planes:p,stopped:!0,blocked:_}}if(S.startsolid){let E=x?d:L;return{origin:S.endpos,velocity:E,planes:p,stopped:!0,blocked:_}}if(S.fraction>0&&(a=S.endpos),S.fraction===1)break;if(!S.planeNormal)return{origin:a,velocity:x?d:L,planes:p,stopped:!0,blocked:_};S.planeNormal.z>.7&&(_|=Kt),S.planeNormal.z===0&&(_|=Xt),p.push(S.planeNormal),A-=A*S.fraction;let R=Jt(m,p,r,c,d);if(m=R.velocity,p.splice(0,p.length,...R.planes),d.z>0&&m.z<0&&(m={...m,z:0}),R.stopped)return{origin:a,velocity:x?d:m,planes:p,stopped:!0,blocked:_}}let g=x?d:m;return{origin:a,velocity:g,planes:p,stopped:g.x===0&&g.y===0&&g.z===0,blocked:_}}function se(t){let{mins:e,maxs:n,stepSize:o=or,...r}=t,s=t.origin,i=t.velocity,c=dt({...r,mins:e,maxs:n}),l=O(s,{x:0,y:0,z:o}),u=r.trace(s,l,e,n);if(u.allsolid)return{...c,stepped:!1,stepHeight:0};let x=u.endpos.z-s.z,a=dt({...r,origin:u.endpos,velocity:i,mins:e,maxs:n}),m=O(a.origin,{x:0,y:0,z:-x}),p=r.trace(a.origin,m,e,n),d=a.origin,A=p.planeNormal;p.allsolid||(d=p.endpos);let _=(E,P)=>(E.x-P.x)**2+(E.y-P.y)**2,g=_(c.origin,s),N=_(d,s);if(g>N||A&&A.z<rr)return{...c,stepped:!1,stepHeight:0};let b={...a.velocity,z:c.velocity.z},S=a.blocked,R=b.x===0&&b.y===0&&b.z===0;return{origin:d,velocity:b,planes:a.planes,blocked:S,stopped:R,stepped:!0,stepHeight:x,stepNormal:A}}var de=["x","y","z"],ft=[{normal:[0,0,1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[0,0,-1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[-1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[0,1,0],mins:[-1,0,-1],maxs:[1,0,1]},{normal:[0,-1,0],mins:[-1,0,-1],maxs:[1,0,1]}],Yt={x:0,y:0,z:0};function fe(t){return{x:t.x,y:t.y,z:t.z}}function sr(t){return{x:t[0],y:t[1],z:t[2]}}function be(t,e,n){if(n!==0)switch(e){case"x":t.x+=n;break;case"y":t.y+=n;break;case"z":t.z+=n;break}}function jt(t,e,n){switch(e){case"x":t.x=n;break;case"y":t.y=n;break;case"z":t.z=n;break}}function we(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Zt(t,e,n,o){return t===-1?we(n,e):t===1?we(o,e):0}function qt(t,e,n,o){let r=fe(t);for(let s=0;s<de.length;s++){let i=de[s],c=e.normal[s];c<0?be(r,i,we(n,i)):c>0&&be(r,i,we(o,i))}return r}function ir(t,e,n){let o=fe(Yt),r=fe(Yt);for(let s=0;s<de.length;s++){let i=de[s];jt(o,i,Zt(t.mins[s],i,e,n)),jt(r,i,Zt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function cr(t,e,n){if(!e||n===0)return t;let o=fe(t);return be(o,e,n),o}function ar(t,e,n){if(!e||n===0)return t;switch(e){case"x":return{...t,x:t.x+n};case"y":return{...t,y:t.y+n};case"z":default:return{...t,z:t.z+n}}}function mt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;if(!r(e,n,o,e).startsolid)return{result:"good-position",origin:{...e}};let i=[];for(let c=0;c<ft.length;c++){let l=ft[c],{mins:u,maxs:x}=ir(l,n,o),a=qt(e,l,n,o),m=r(a,u,x,a),p,d=0;if(m.startsolid)for(let E=0;E<de.length;E++){if(l.normal[E]!==0)continue;let P=de[E],V=fe(a);if(be(V,P,1),m=r(V,u,x,V),!m.startsolid){a=V,p=P,d=1;break}if(V=fe(a),be(V,P,-1),m=r(V,u,x,V),!m.startsolid){a=V,p=P,d=-1;break}}if(m.startsolid)continue;let A=ft[c^1],_=qt(e,A,n,o);if(_=cr(_,p,d),m=r(a,u,x,_),m.startsolid)continue;let g=sr(l.normal),N=O(m.endpos??_,M(g,.125)),b=Q(N,_),S=O(e,b);S=ar(S,p,d),!r(S,n,o,S).startsolid&&i.push({origin:S,distance:ie(b)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,l)=>c.distance-l.distance),{result:"fixed",origin:{...i[0].origin}})}var lr=100,xt=200,$t=150,ze=25,ur=15,dr=1,fr={x:0,y:0,z:1},mr=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function pt(t){let e=0,n=0,o=0;return t&262144&&(e+=1),t&524288&&(n+=1),t&1048576&&(e-=1),t&2097152&&(n-=1),t&4194304&&(o+=1),t&8388608&&(o-=1),e===0&&n===0&&o===0?L:{x:e,y:n,z:o}}function tn(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return L;let s=pt(e);if(s===L)return L;let i=r;return n===1&&o&&(i*=.5),M(s,i)}function nn(t){let{groundContents:e,scale:n=lr}=t,o=pt(e);return o===L?L:M(o,n)}function Fe(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:l,maxSpeed:u,ladderMod:x,waterSpeed:a,forward:m,origin:p,mins:d,maxs:A,trace:_=mr}=t,g=e;n&&(g=xr({wishVelocity:g,cmd:c,waterlevel:r,viewPitch:l,maxSpeed:u,ladderMod:x,onGround:o,forward:m,origin:p,mins:d,maxs:A,trace:_}));let N=tn({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(N!==L&&(g=O(g,N)),o){let b=nn({groundContents:i});b!==L&&(g=O(g,b))}return g}function xr(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:l,origin:u,mins:x,maxs:a,trace:m}=t,p=n.buttons??0,d={...e};if((p&24)!==0){let A=it(o)?s:xt;d={...d,z:p&8?A:-A}}else if(n.forwardmove){let A=Qt(n.forwardmove,-xt,xt);if(n.forwardmove>0){let _=r<ur?A:-A;d={...d,z:_}}else c||(d={...d,x:0,y:0}),d={...d,z:A}}else d={...d,z:0};if(!c)if(n.sidemove){let A=Qt(n.sidemove,-$t,$t);o<2&&(A*=i);let _=w({x:l.x,y:l.y,z:0});if(_.x!==0||_.y!==0){let g=O(u,M(_,dr)),N=m(u,g,x,a);if(N.fraction!==1&&!N.allsolid&&N.contents!==void 0&&(N.contents&536870912)!==0&&N.planeNormal){let b=ee(N.planeNormal,fr);d={...d,x:0,y:0},d=O(d,M(b,-A))}}}else d={...d,x:en(d.x),y:en(d.y)};return d}function Qt(t,e,n){return Math.max(e,Math.min(n,t))}function en(t){return t<-ze?-ze:t>ze?ze:t}var pr=1.5,on=.5,hr=1.01;function yr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:l,doclip:u,forward:x,right:a,mins:m,maxs:p,trace:d,overbounce:A=hr,stepSize:_,maxBumps:g,maxClipPlanes:N}=t,b=br({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),S=Sr({cmd:n,forward:x,right:a,pmMaxSpeed:i,pmWaterSpeed:l});if(S.wishspeed>0&&(b=Y({velocity:b,wishdir:S.wishdir,wishspeed:S.accelSpeed,accel:c,frametime:o})),!u){let R=M(b,o);return{origin:O(e,R),velocity:b,planes:[],blocked:0,stopped:b.x===0&&b.y===0&&b.z===0,stepped:!1,stepHeight:0}}if(!d||!m||!p)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return se({origin:e,velocity:b,frametime:o,overbounce:A,trace:d,mins:m,maxs:p,stepSize:_,maxBumps:g,maxClipPlanes:N})}function br(t){let{velocity:e,pmFriction:n,pmStopSpeed:o,frametime:r}=t,s=I(e);if(s<1)return{x:0,y:0,z:0};let i=n*pr,l=(s<o?o:s)*i*r,u=s-l;return u<0&&(u=0),u===s?e:M(e,u/s)}function Sr(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=w(n),c=w(o),u={x:i.x*e.forwardmove+c.x*e.sidemove,y:i.y*e.forwardmove+c.y*e.sidemove,z:i.z*e.forwardmove+c.z*e.sidemove},x=e.buttons??0;x&8&&(u=O(u,{x:0,y:0,z:s*on})),x&16&&(u=O(u,{x:0,y:0,z:-s*on}));let a=I(u),m=a===0?{x:0,y:0,z:0}:w(u);if(a>r){let d=r/a;u=M(u,d),a=r,m=a===0?{x:0,y:0,z:0}:w(u)}let p=a*2;return{wishdir:m,wishspeed:a,accelSpeed:p}}function Se(t){let{origin:e,mins:n,viewheight:o,pointContents:r}=t,s=o-n.z,i=s/2,c={x:e.x,y:e.y,z:e.z+n.z+1},l=r(c);if((l&56)===0)return{waterlevel:0,watertype:0};let u=l,x=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(l=r(a),(l&56)!==0){x=2;let m={x:c.x,y:c.y,z:e.z+n.z+s};l=r(m),(l&56)!==0&&(x=3)}return{waterlevel:x,watertype:u}}var Tr=270;function _r(t,e){return(t&e)!==0}function Ar(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=Tr}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let l=_r(o,8),u=e,x=s,a=!1,m=!1,p=i;if(!l)return u=X(u,2),{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(gr(u))return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(n===4)return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(r>=2)return x=!1,{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(!x)return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};u=W(u,2),u=X(u,4),x=!1,a=!0,m=!0;let d=i.z+c,A=d<c?c:d;return p={...i,z:A},{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m}}function gr(t){return(t&2)!==0}function De(t,e,n){return{x:t,y:e,z:n}}function Ue(t,e){let n=De(-16,-16,0),o=De(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=De(n.x,n.y,-24),i=De(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Er=4,Vr=32,Cr=8;function Nr(t){let{pmType:e}=t;if(e===5){let i=Ue(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:D(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?D(n,1)||(n=W(n,1),o=!0):Rr(t)?!D(n,1)&&!Or(t)&&(n=W(n,1),o=!0):D(n,1)&&!Mr(t)&&(n=X(n,1),o=!0);let r=Ue(e,n),s=e===4||D(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Rr(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!vr(t))}function Or(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:rn(t.maxs,Er),mask:3}).allsolid}function Mr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:rn(t.maxs,Vr),mask:3}).allsolid}function vr(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-Cr};return t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:3}).fraction<1?!1:t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:56}).fraction<1}function rn(t,e){return{x:t.x,y:t.y,z:e}}var Pr=.25,Lr=180,wr=100,zr=.7,Fr=.9,Dr=64,Ur=128,Br=1.01,Ir=1080;function Gr(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:l,trace:u,pointContents:x}=t,a=t.pmFlags,m=t.pmTime,p,d=D(a,4),A,_=0;if(o.z>Lr||e===1)a=X(a,4),d=!1;else{let S={x:s.x,y:s.y,z:s.z-Pr},R=u(s,S,i,c);A=R,_=R.contents??0;let E=R.planeNormal,P=R.fraction<1&&!!E&&E.z<zr;if(P&&E){let V=O(s,E),k=u(s,V,i,c);k.fraction<1&&!k.startsolid&&(P=!1)}if(R.fraction===1||!E||P&&!R.startsolid)a=X(a,4),d=!1;else{d=!0,D(a,8)&&(a&=~Ir,m=0);let V=D(a,4);if(!V){!n&&o.z>=wr&&E.z>=Fr&&!D(a,1)&&(a=W(a,1024),m=Dr);let k=te(o,E,Br);p=r.z-k.z}a=W(a,4),!V&&(n||D(a,1))&&(a=W(a,16),m=Ur)}}let{waterlevel:N,watertype:b}=Se({origin:s,mins:i,viewheight:l,pointContents:x});return{pmFlags:a,pmTime:m,onGround:D(a,4),groundTrace:A,groundContents:_,waterlevel:N,watertype:b,impactDelta:p}}var sn=1,Wr=60,ht=1.01;function kr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=ht,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x,forward:a,right:m,cmd:p,pmFlags:d,onGround:A,gravity:_,pmType:g,pmAccelerate:N,pmAirAccelerate:b=sn,pmMaxSpeed:S,pmDuckSpeed:R,onLadder:E,waterlevel:P,watertype:V,groundContents:k,viewPitch:T,ladderMod:v,pmWaterSpeed:U}=t,C={...t.velocity},G=Kr(a,m,p);G=Fe({wishVelocity:G,onLadder:E,onGround:A,waterlevel:P,watertype:V,groundContents:k,cmd:p,viewPitch:T,maxSpeed:D(d,1)?R:S,ladderMod:v,waterSpeed:U,forward:a,origin:e,mins:o,maxs:r,trace:s});let B=D(d,1)?R:S,H=G,y=I(H);if(y!==0&&(H=w(H)),y>B){let q=B/y;G=M(G,q),y=B,y!==0&&(H=w(G))}return E?(C=Y({velocity:C,wishdir:H,wishspeed:y,accel:N,frametime:n}),Math.abs(G.z)<Number.EPSILON&&(C=Yr(C,_,n)),Be({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})):A?(C={...C,z:0},C=Y({velocity:C,wishdir:H,wishspeed:y,accel:N,frametime:n}),_>0?C={...C,z:0}:C={...C,z:C.z-_*n},C.x===0&&C.y===0?{origin:e,velocity:C,planes:[],blocked:0,stopped:!0,stepped:!1,stepHeight:0}:Be({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})):(b>0?C=at({velocity:C,wishdir:H,wishspeed:y,accel:b,frametime:n}):C=Y({velocity:C,wishdir:H,wishspeed:y,accel:sn,frametime:n}),g!==1&&(C={...C,z:C.z-_*n}),Be({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x}))}function Hr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=ht,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x,forward:a,right:m,cmd:p,pmFlags:d,onGround:A,pmMaxSpeed:_,pmDuckSpeed:g,pmWaterAccelerate:N,pmWaterSpeed:b,onLadder:S,watertype:R,groundContents:E,waterlevel:P,viewPitch:V,ladderMod:k}=t,T={...t.velocity},v=Xr(a,m,p);Jr(p,A)?v={...v,z:v.z-Wr}:cn(p,16)?v=O(v,{x:0,y:0,z:-b*.5}):cn(p,8)&&(v=O(v,{x:0,y:0,z:b*.5})),v=Fe({wishVelocity:v,onLadder:S,onGround:A,waterlevel:P,watertype:R,groundContents:E,cmd:p,viewPitch:V,maxSpeed:D(d,1)?g:_,ladderMod:k,waterSpeed:b,forward:a,origin:e,mins:o,maxs:r,trace:s});let U=v,C=I(U);if(C!==0&&(U=w(U)),C>_){let j=_/C;v=M(v,j),C=_,C!==0&&(U=w(v))}if(C*=.5,D(d,1)&&C>g){let j=g/C;v=M(v,j),C=g,C!==0&&(U=w(v))}return T=Y({velocity:T,wishdir:U,wishspeed:C,accel:N,frametime:n}),Be({origin:e,velocity:T,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})}function Kr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:0}}function Xr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:t.z*n.forwardmove+e.z*n.sidemove}}function cn(t,e){return!!((t.buttons??0)&e)}function Jr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function Yr(t,e,n){let o=t.z,r=e*n;return o>0?(o-=r,o<0&&(o=0)):(o+=r,o>0&&(o=0)),{...t,z:o}}function Be(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=ht,stepSize:l,maxBumps:u,maxClipPlanes:x,hasTime:a}=t;return se({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:l,maxBumps:u,maxClipPlanes:x,hasTime:a})}var jr=1,Zr=40,Ie=50,an=350,qr=2048,ln=.1,$r=800,Qr=50,un=.7,es=18,ts=1.01,ns=2;function os(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:l,velocity:u,mins:x,maxs:a,viewheight:m,trace:p,pointContents:d,onGround:A,overbounce:_=ts,stepSize:g=es,maxBumps:N,maxClipPlanes:b}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:u,performedWaterJump:!1};let S=X(e,128),R=n,E=u,P=w({x:c.x,y:c.y,z:0}),V=ie(P)>0;if(o<2&&V){let y=O(l,M(P,jr)),q=p(l,y,x,a),An=q.contents??0;q.fraction<1&&(An&536870912)!==0&&(S=W(S,128))}if(s===0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(o!==2)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(!V)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let k=O(l,M(P,Zr)),T=p(l,k,x,a);if(T.fraction===1||!T.planeNormal||T.planeNormal.z>=un)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let v={x:P.x*Ie,y:P.y*Ie,z:an},U=l,C=!0,G=rs(s);for(let y=0;y<G;y++){v={x:v.x,y:v.y,z:v.z-s*ln},v.z<0&&(C=!1);let q=se({origin:U,velocity:v,frametime:ln,trace:p,mins:x,maxs:a,overbounce:_,stepSize:g,maxBumps:N,maxClipPlanes:b,hasTime:C});U=q.origin,v=q.velocity}let j=O(U,{x:0,y:0,z:-ns}),B=p(U,j,x,a);return B.fraction===1||!B.planeNormal||B.planeNormal.z<un||B.endpos.z<l.z?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:A&&Math.abs(l.z-B.endpos.z)<=g?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:Se({origin:B.endpos,mins:x,viewheight:m,pointContents:d}).waterlevel>=2?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:(S=W(S,8),R=qr,E={x:P.x*Ie,y:P.y*Ie,z:an},{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!0})}function rs(t){if(t===0)return 0;let e=Math.floor(10*($r/t));return e<=0?0:Math.min(Qr,e)}var yt=[0,-1,1];function bt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function ss(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(bt({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=mt({origin:e,mins:o,maxs:r,trace:(l,u,x,a)=>i(l,a,u,x)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function is(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of yt)for(let i of yt)for(let c of yt){let l={x:e.x+c,y:e.y+i,z:e.z+s};if(bt({origin:l,mins:n,maxs:o,trace:r}))return{origin:l,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function cs(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function as(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function ls(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=cs(n,o),r={...r,x:as(r.x)});let s=pe(r);return{viewangles:r,...s}}var us=200,ds=200,fs=200,ms=140,xs=150,ps=3;function hs(t){let e=xe(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function ys(t,e){return{x:hs(t.x+e.x),y:xe(t.y+e.y),z:xe(t.z+e.z)}}function bs(t,e){let n=e.sensitivityX??e.sensitivity,o=(e.sensitivityY??e.sensitivity)*(e.invertY?-1:1);return{x:t.deltaY*o,y:t.deltaX*n,z:0}}var dn=(y=>(y[y.bad=0]="bad",y[y.muzzleflash=1]="muzzleflash",y[y.muzzleflash2=2]="muzzleflash2",y[y.temp_entity=3]="temp_entity",y[y.layout=4]="layout",y[y.inventory=5]="inventory",y[y.nop=6]="nop",y[y.disconnect=7]="disconnect",y[y.reconnect=8]="reconnect",y[y.sound=9]="sound",y[y.print=10]="print",y[y.stufftext=11]="stufftext",y[y.serverdata=12]="serverdata",y[y.configstring=13]="configstring",y[y.spawnbaseline=14]="spawnbaseline",y[y.centerprint=15]="centerprint",y[y.download=16]="download",y[y.playerinfo=17]="playerinfo",y[y.packetentities=18]="packetentities",y[y.deltapacketentities=19]="deltapacketentities",y[y.frame=20]="frame",y[y.splitclient=21]="splitclient",y[y.configblast=22]="configblast",y[y.spawnbaselineblast=23]="spawnbaselineblast",y[y.level_restart=24]="level_restart",y[y.damage=25]="damage",y[y.locprint=26]="locprint",y[y.fog=27]="fog",y[y.waitingforplayers=28]="waitingforplayers",y[y.bot_chat=29]="bot_chat",y[y.poi=30]="poi",y[y.help_path=31]="help_path",y[y.muzzleflash3=32]="muzzleflash3",y[y.achievement=33]="achievement",y))(dn||{}),fn=(s=>(s[s.bad=0]="bad",s[s.nop=1]="nop",s[s.move=2]="move",s[s.userinfo=3]="userinfo",s[s.stringcmd=4]="stringcmd",s))(fn||{});var mn=(f=>(f[f.GUNSHOT=0]="GUNSHOT",f[f.BLOOD=1]="BLOOD",f[f.BLASTER=2]="BLASTER",f[f.RAILTRAIL=3]="RAILTRAIL",f[f.SHOTGUN=4]="SHOTGUN",f[f.EXPLOSION1=5]="EXPLOSION1",f[f.EXPLOSION2=6]="EXPLOSION2",f[f.ROCKET_EXPLOSION=7]="ROCKET_EXPLOSION",f[f.GRENADE_EXPLOSION=8]="GRENADE_EXPLOSION",f[f.SPARKS=9]="SPARKS",f[f.SPLASH=10]="SPLASH",f[f.BUBBLETRAIL=11]="BUBBLETRAIL",f[f.SCREEN_SPARKS=12]="SCREEN_SPARKS",f[f.SHIELD_SPARKS=13]="SHIELD_SPARKS",f[f.BULLET_SPARKS=14]="BULLET_SPARKS",f[f.LASER_SPARKS=15]="LASER_SPARKS",f[f.PARASITE_ATTACK=16]="PARASITE_ATTACK",f[f.ROCKET_EXPLOSION_WATER=17]="ROCKET_EXPLOSION_WATER",f[f.GRENADE_EXPLOSION_WATER=18]="GRENADE_EXPLOSION_WATER",f[f.MEDIC_CABLE_ATTACK=19]="MEDIC_CABLE_ATTACK",f[f.BFG_EXPLOSION=20]="BFG_EXPLOSION",f[f.BFG_BIGEXPLOSION=21]="BFG_BIGEXPLOSION",f[f.BOSSTPORT=22]="BOSSTPORT",f[f.BFG_LASER=23]="BFG_LASER",f[f.GRAPPLE_CABLE=24]="GRAPPLE_CABLE",f[f.WELDING_SPARKS=25]="WELDING_SPARKS",f[f.GREENBLOOD=26]="GREENBLOOD",f[f.BLUEHYPERBLASTER=27]="BLUEHYPERBLASTER",f[f.PLASMA_EXPLOSION=28]="PLASMA_EXPLOSION",f[f.TUNNEL_SPARKS=29]="TUNNEL_SPARKS",f[f.BLASTER2=30]="BLASTER2",f[f.RAILTRAIL2=31]="RAILTRAIL2",f[f.FLAME=32]="FLAME",f[f.LIGHTNING=33]="LIGHTNING",f[f.DEBUGTRAIL=34]="DEBUGTRAIL",f[f.PLAIN_EXPLOSION=35]="PLAIN_EXPLOSION",f[f.FLASHLIGHT=36]="FLASHLIGHT",f[f.FORCEWALL=37]="FORCEWALL",f[f.HEATBEAM=38]="HEATBEAM",f[f.MONSTER_HEATBEAM=39]="MONSTER_HEATBEAM",f[f.STEAM=40]="STEAM",f[f.BUBBLETRAIL2=41]="BUBBLETRAIL2",f[f.MOREBLOOD=42]="MOREBLOOD",f[f.HEATBEAM_SPARKS=43]="HEATBEAM_SPARKS",f[f.HEATBEAM_STEAM=44]="HEATBEAM_STEAM",f[f.CHAINFIST_SMOKE=45]="CHAINFIST_SMOKE",f[f.ELECTRIC_SPARKS=46]="ELECTRIC_SPARKS",f[f.TRACKER_EXPLOSION=47]="TRACKER_EXPLOSION",f[f.TELEPORT_EFFECT=48]="TELEPORT_EFFECT",f[f.DBALL_GOAL=49]="DBALL_GOAL",f[f.WIDOWBEAMOUT=50]="WIDOWBEAMOUT",f[f.NUKEBLAST=51]="NUKEBLAST",f[f.WIDOWSPLASH=52]="WIDOWSPLASH",f[f.EXPLOSION1_BIG=53]="EXPLOSION1_BIG",f[f.EXPLOSION1_NP=54]="EXPLOSION1_NP",f[f.FLECHETTE=55]="FLECHETTE",f[f.BLUEHYPERBLASTER_KEX=56]="BLUEHYPERBLASTER_KEX",f[f.BFG_ZAP=57]="BFG_ZAP",f[f.BERSERK_SLAM=58]="BERSERK_SLAM",f[f.GRAPPLE_CABLE_2=59]="GRAPPLE_CABLE_2",f[f.POWER_SPLASH=60]="POWER_SPLASH",f[f.LIGHTNING_BEAM=61]="LIGHTNING_BEAM",f[f.EXPLOSION1_NL=62]="EXPLOSION1_NL",f[f.EXPLOSION2_NL=63]="EXPLOSION2_NL",f))(mn||{});var Ss=1024,Ts=256,_s=16,As=64,gs=512,Es=1400,Vs=0,Cs=1,Ns=2,Rs=3,Os=4,Ms=5,vs=6,Ps=7,Ls=8,ws=9,zs=10,Fs=11,Ds=12,Us=13;var xn=(i=>(i[i.LAYOUTS_LAYOUT=1]="LAYOUTS_LAYOUT",i[i.LAYOUTS_INVENTORY=2]="LAYOUTS_INVENTORY",i[i.LAYOUTS_HIDE_HUD=4]="LAYOUTS_HIDE_HUD",i[i.LAYOUTS_INTERMISSION=8]="LAYOUTS_INTERMISSION",i[i.LAYOUTS_HELP=16]="LAYOUTS_HELP",i[i.LAYOUTS_HIDE_CROSSHAIR=32]="LAYOUTS_HIDE_CROSSHAIR",i))(xn||{});function St(t){return t<<16>>16}function pn(t,e,n){let o=Math.floor(n/2),r=n%2!==0,s=e+o,i=t[s]||0;if(r){let c=t[s+1]||0,l=i>>>8&255;return(c&255)<<8|l}else return i&65535}function Bs(t,e,n,o){let r=Math.floor(n/2),s=n%2!==0,i=e+r;if(t[i]===void 0&&(t[i]=0),!s)t[i]=St(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],l=t[i+1],u=o&255,x=c&255|u<<8;t[i]=St(x);let m=o>>>8&255|l&65280;t[i+1]=St(m)}}function Tt(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,l=(1<<r)-1<<c,x=pn(t,e,i)&~l|o<<c&l;Bs(t,e,i,x&65535)}function _t(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(pn(t,e,s)&c)>>>i}var hn=(V=>(V.QuadDamage="quad",V.Invulnerability="invulnerability",V.EnviroSuit="enviro_suit",V.Rebreather="rebreather",V.Silencer="silencer",V.PowerScreen="power_screen",V.PowerShield="power_shield",V.QuadFire="quad_fire",V.Invisibility="invisibility",V.Bandolier="bandolier",V.AmmoPack="ammo_pack",V.IRGoggles="ir_goggles",V.DoubleDamage="double_damage",V.SphereVengeance="sphere_vengeance",V.SphereHunter="sphere_hunter",V.SphereDefender="sphere_defender",V.Doppelganger="doppelganger",V.TagToken="tag_token",V.TechResistance="tech_resistance",V.TechStrength="tech_strength",V.TechHaste="tech_haste",V.TechRegeneration="tech_regeneration",V.Flashlight="flashlight",V.Compass="compass",V))(hn||{});var yn=(h=>(h[h.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",h[h.STAT_HEALTH=1]="STAT_HEALTH",h[h.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",h[h.STAT_AMMO=3]="STAT_AMMO",h[h.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",h[h.STAT_ARMOR=5]="STAT_ARMOR",h[h.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",h[h.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",h[h.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",h[h.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",h[h.STAT_TIMER=10]="STAT_TIMER",h[h.STAT_HELPICON=11]="STAT_HELPICON",h[h.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",h[h.STAT_LAYOUTS=13]="STAT_LAYOUTS",h[h.STAT_FRAGS=14]="STAT_FRAGS",h[h.STAT_FLASHES=15]="STAT_FLASHES",h[h.STAT_CHASE=16]="STAT_CHASE",h[h.STAT_SPECTATOR=17]="STAT_SPECTATOR",h[h.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",h[h.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",h[h.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",h[h.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",h[h.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",h[h.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",h[h.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",h[h.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",h[h.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",h[h.STAT_CTF_TECH=27]="STAT_CTF_TECH",h[h.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",h[h.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",h[h.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",h[h.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",h[h.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",h[h.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",h[h.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",h[h.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",h[h.STAT_KEY_A=44]="STAT_KEY_A",h[h.STAT_KEY_B=45]="STAT_KEY_B",h[h.STAT_KEY_C=46]="STAT_KEY_C",h[h.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",h[h.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",h[h.STAT_LIVES=49]="STAT_LIVES",h[h.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",h[h.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",h[h.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",h[h.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",h[h.STAT_LAST=54]="STAT_LAST",h))(yn||{}),Ge=12,We=9,Is=Math.ceil(Ge*We/16),ke=23,He=2,Gs=Math.ceil(ke*He/16),bn={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,bandolier:10,ammo_pack:10,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,tag_token:-1};function Ws(t,e,n){if(e<0||e>=Ge)return;let o=n;o>511&&(o=511),o<0&&(o=0),Tt(t,34,e,o,We)}function ks(t,e){return e<0||e>=Ge?0:_t(t,34,e,We)}function Hs(t,e,n){let o;if(typeof e=="number"?o=e:o=bn[e],o===void 0||o<0||o>=ke)return;let r=n;r>3&&(r=3),r<0&&(r=0),Tt(t,41,o,r,He)}function Ks(t,e){let n;return typeof e=="number"?n=e:n=bn[e],n===void 0||n<0||n>=ke?0:_t(t,41,n,He)}function Xs(t,e){t.writeByte(e.msec),t.writeByte(e.buttons),t.writeAngle16(e.angles.x),t.writeAngle16(e.angles.y),t.writeAngle16(e.angles.z),t.writeShort(e.forwardmove),t.writeShort(e.sidemove),t.writeShort(e.upmove),t.writeByte(0),t.writeByte(0)}var Sn=(b=>(b[b.MinLight=1]="MinLight",b[b.ViewerModel=2]="ViewerModel",b[b.WeaponModel=4]="WeaponModel",b[b.FullBright=8]="FullBright",b[b.DepthHack=16]="DepthHack",b[b.Translucent=32]="Translucent",b[b.FrameLerp=64]="FrameLerp",b[b.Beam=128]="Beam",b[b.CustomLight=256]="CustomLight",b[b.Glow=512]="Glow",b[b.ShellRed=1024]="ShellRed",b[b.ShellGreen=2048]="ShellGreen",b[b.ShellBlue=4096]="ShellBlue",b[b.IrVisible=32768]="IrVisible",b[b.ShellDouble=65536]="ShellDouble",b[b.ShellHalfDam=131072]="ShellHalfDam",b[b.MinLightPlus=262144]="MinLightPlus",b[b.ExtraLight=524288]="ExtraLight",b[b.BeamLightning=1048576]="BeamLightning",b))(Sn||{});var Js=[0,145,227,114,7,150,228,117,14,159,237,124,9,152,234,123,28,141,255,110,27,138,248,105,18,131,241,96,21,132,246,103,56,169,219,74,63,174,220,77,54,167,213,68,49,160,210,67,36,181,199,86,35,178,192,81,42,187,201,88,45,188,206,95,112,225,147,2,119,230,148,5,126,239,157,12,121,232,154,11,108,253,143,30,107,250,136,25,98,243,129,16,101,244,134,23,72,217,171,58,79,222,172,61,70,215,165,52,65,208,162,51,84,197,183,38,83,194,176,33,90,203,185,40,93,204,190,47,224,113,3,146,231,118,4,149,238,127,13,156,233,120,10,155,252,109,31,142,251,106,24,137,242,99,17,128,245,100,22,135,216,73,59,170,223,78,60,173,214,71,53,164,209,64,50,163,196,85,39,182,195,82,32,177,202,91,41,184,205,92,46,191,144,1,115,226,151,6,116,229,158,15,125,236,153,8,122,235,140,29,111,254,139,26,104,249,130,19,97,240,133,20,102,247,168,57,75,218,175,62,76,221,166,55,69,212,161,48,66,211,180,37,86,199,179,34,80,193,186,43,89,200,189,44,94,207];function Ys(t){let e=0;for(let n=0;n<t.length;n++)e=Js[(e^t[n])&255];return e}var At={};Je(At,{U_ANGLE1:()=>ti,U_ANGLE2:()=>ni,U_ANGLE3:()=>oi,U_EFFECTS:()=>ii,U_EVENT:()=>li,U_FRAME:()=>ri,U_MODEL:()=>Zs,U_MODEL2:()=>di,U_MODEL3:()=>fi,U_MODEL4:()=>mi,U_MOREBITS:()=>ui,U_NUMBER:()=>js,U_ORIGIN1:()=>$s,U_ORIGIN2:()=>Qs,U_ORIGIN3:()=>ei,U_REMOVE:()=>xi,U_RENDERFX:()=>ci,U_SKIN:()=>si,U_SOLID:()=>ai,U_SOUND:()=>qs});var js=1,Zs=2,qs=4,$s=8,Qs=16,ei=32,ti=64,ni=128,oi=256,ri=512,si=1024,ii=2048,ci=4096,ai=8192,li=16384,ui=32768,di=1,fi=2,mi=4,xi=32768;var Te=.025,gt=33554432,Ke={None:0,Feet:1,Waist:2,Under:3},pi=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},hi=(t,e)=>{let n={...t.origin},{mins:o,maxs:r}=t;if(n.z=t.origin.z+o.z+1,!(e(n)>))return{...t,waterLevel:Ke.None};let i=Ke.Feet,c=t.origin.z+(o.z+r.z)*.5;if(n.z=c,e(n)>){i=Ke.Waist;let u=t.origin.z+22;n.z=u,e(n)>&&(i=Ke.Under)}return{...t,waterLevel:i}},yi=(t,e,n,o)=>{let r={...t};r=pi(r,n),r=hi(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:l,viewAngles:u}=r,x=l>=2?u:{x:u.x>180?(u.x-360)/3:u.x/3,y:u.y,z:u.z},{forward:a,right:m}=pe(x),p=ct({velocity:i,frametime:Te,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:l,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),d=l>=2?ut({forward:a,right:m,cmd:e,maxSpeed:320}):lt({forward:a,right:m,cmd:e,maxSpeed:320}),A=Y({velocity:p,wishdir:d.wishdir,wishspeed:d.wishspeed,accel:c||l>=2?10:1,frametime:Te}),_=n(s,{x:s.x+A.x*Te,y:s.y+A.y*Te,z:s.z+A.z*Te});return{...r,origin:_.endpos,velocity:A}};var Et=class{constructor(e){e instanceof Uint8Array?this.view=new DataView(e.buffer,e.byteOffset,e.byteLength):this.view=new DataView(e),this.offset=0,this.length=this.view.byteLength}getPosition(){return this.offset}seek(e){if(e<0||e>this.length)throw new Error(`Seek out of bounds: ${e} (length: ${this.length})`);this.offset=e}hasMore(){return this.offset<this.length}readChar(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readByte(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readShort(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUShort(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readLong(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readULong(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readFloat(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readString(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0)break;e+=String.fromCharCode(n)}return e}readStringLine(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0||n===10)break;e+=String.fromCharCode(n)}return e}readCoord(){return this.readShort()*(1/8)}readAngle(){return this.readChar()*(360/256)}readAngle16(){return this.readShort()*360/65536}readData(e){if(this.offset+e>this.length)throw new Error(`Read out of bounds: ${this.offset+e} (length: ${this.length})`);let n=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,new Uint8Array(n)}readPos(e){e.x=this.readCoord(),e.y=this.readCoord(),e.z=this.readCoord()}readDir(e){let n=this.readByte();if(n>=162){e.x=0,e.y=0,e.z=0;return}let o=J[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var _e=class{constructor(e=1400){typeof e=="number"?(this.buffer=new Uint8Array(e),this.fixed=!1):(this.buffer=e,this.fixed=!0),this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.offset=0}ensureSpace(e){if(this.offset+e>this.buffer.byteLength){if(this.fixed)throw new Error(`Buffer overflow: capacity ${this.buffer.byteLength}, needed ${this.offset+e}`);let n=Math.max(this.buffer.byteLength*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength)}}writeByte(e){this.ensureSpace(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureSpace(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureSpace(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureSpace(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureSpace(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length;this.ensureSpace(n+1);for(let o=0;o<n;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+n,0),this.offset+=n+1}writeCoord(e){this.writeShort(Math.trunc(e*8))}writeAngle(e){this.writeByte(Math.trunc(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.trunc(e*65536/360)&65535)}writePos(e){this.writeCoord(e.x),this.writeCoord(e.y),this.writeCoord(e.z)}writeDir(e){let n=-1,o=0;if(e.x===0&&e.y===0&&e.z===0){this.writeByte(0);return}for(let r=0;r<J.length;r++){let s=J[r],i=e.x*s[0]+e.y*s[1]+e.z*s[2];i>n&&(n=i,o=r)}this.writeByte(o)}getData(){return this.buffer.slice(0,this.offset)}getBuffer(){return this.buffer}getOffset(){return this.offset}reset(){this.offset=0}};var Vt=class{constructor(e=1024){this.buffer=new Uint8Array(e),this.view=new DataView(this.buffer.buffer),this.offset=0}ensureCapacity(e){if(this.offset+e>this.buffer.length){let n=Math.max(this.buffer.length*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer)}}getData(){return this.buffer.slice(0,this.offset)}writeByte(e){this.ensureCapacity(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureCapacity(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureCapacity(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeUShort(e){this.ensureCapacity(2),this.view.setUint16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureCapacity(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureCapacity(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length+1;this.ensureCapacity(n);for(let o=0;o<e.length;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+e.length,0),this.offset+=n}writeData(e){this.ensureCapacity(e.length),this.buffer.set(e,this.offset),this.offset+=e.length}writeCoord(e){this.writeShort(Math.round(e*8))}writeAngle(e){this.writeByte(Math.round(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.round(e*65536/360))}writeDir(e,n,o){let r=0,s=-999999,i=Math.sqrt(e*e+n*n+o*o);if(i>0){e/=i,n/=i,o/=i;for(let c=0;c<162;c++){let l=e*J[c][0]+n*J[c][1]+o*J[c][2];l>s&&(s=l,r=c)}}this.writeByte(r)}};var z=class z{constructor(){this.qport=0;this.incomingSequence=0;this.outgoingSequence=0;this.incomingAcknowledged=0;this.incomingReliableAcknowledged=!1;this.incomingReliableSequence=0;this.outgoingReliableSequence=0;this.reliableLength=0;this.lastReceived=0;this.lastSent=0;this.remoteAddress=null;this.reliableMessage=new _e(z.MAX_MSGLEN);let e=Date.now();this.lastReceived=e,this.lastSent=e,this.qport=Math.floor(Math.random()*65536)}setup(e,n=null){this.qport=e,this.remoteAddress=n,this.reset()}reset(){this.incomingSequence=0,this.outgoingSequence=0,this.incomingAcknowledged=0,this.incomingReliableAcknowledged=!1,this.incomingReliableSequence=0,this.outgoingReliableSequence=0,this.reliableLength=0,this.reliableMessage.reset(),this.lastReceived=Date.now(),this.lastSent=Date.now()}transmit(e){this.outgoingSequence++,this.lastSent=Date.now();let n=z.PACKET_HEADER,o=this.reliableLength>0?this.reliableLength+2:0,r=e?e.length:0;n+o+r>z.MAX_MSGLEN&&(r=z.MAX_MSGLEN-n-o,r<0&&(r=0));let s=new ArrayBuffer(n+o+r),i=new DataView(s),c=new Uint8Array(s),l=this.outgoingSequence;this.reliableLength>0&&(l|=2147483648,(this.outgoingReliableSequence&1)!==0&&(l|=1073741824)),i.setUint32(0,l,!0);let u=this.incomingSequence;(this.incomingReliableSequence&1)!==0&&(u|=2147483648),i.setUint32(4,u,!0),i.setUint16(8,this.qport,!0);let x=n;if(this.reliableLength>0){i.setUint16(x,this.reliableLength,!0),x+=2;let m=this.reliableMessage.getBuffer().subarray(0,this.reliableLength);c.set(m,x),x+=this.reliableLength}if(e&&r>0){let a=e.slice(0,r);c.set(a,x)}return c}process(e){if(e.length<z.PACKET_HEADER)return null;this.lastReceived=Date.now();let n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=n.getUint32(0,!0),r=n.getUint32(4,!0),s=n.getUint16(8,!0);if(this.qport!==s)return null;let i=o&1073741823;if((i-this.incomingSequence|0)<=0)return null;this.incomingSequence=i;let c=r&2147483647,l=(r&2147483648)!==0;if(c>this.incomingAcknowledged&&(this.incomingAcknowledged=c),this.reliableLength>0){let d=l?1:0,A=this.outgoingReliableSequence&1;d!==A&&(this.reliableLength=0,this.reliableMessage.reset(),this.outgoingReliableSequence^=1)}let u=(o&2147483648)!==0,x=(o&1073741824)!==0?1:0,a=z.PACKET_HEADER,m=null;if(u){if(a+2>e.byteLength)return null;let d=n.getUint16(a,!0);a+=2;let A=this.incomingReliableSequence&1;if(x===A){if(this.incomingReliableSequence++,a+d>e.byteLength)return null;m=e.slice(a,a+d)}a+=d}let p=e.slice(a);if(m&&m.length>0){let d=m.length+p.length,A=new Uint8Array(d);return A.set(m,0),A.set(p,m.length),A}return p||new Uint8Array(0)}canSendReliable(){return this.reliableLength===0}writeReliableByte(e){if(this.reliableLength+1>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeByte(e),this.reliableLength++}writeReliableShort(e){if(this.reliableLength+2>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeShort(e),this.reliableLength+=2}writeReliableLong(e){if(this.reliableLength+4>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeLong(e),this.reliableLength+=4}writeReliableString(e){let n=e.length+1;if(this.reliableLength+n>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeString(e),this.reliableLength+=n}getReliableData(){return this.reliableLength===0?new Uint8Array(0):this.reliableMessage.getBuffer().subarray(0,this.reliableLength)}needsKeepalive(e){return e-this.lastSent>1e3}isTimedOut(e,n=3e4){return e-this.lastReceived>n}};z.MAX_MSGLEN=1400,z.FRAGMENT_SIZE=1024,z.PACKET_HEADER=10,z.HEADER_OVERHEAD=z.PACKET_HEADER+2;var Ct=z;var Tn=(S=>(S.Blaster="blaster",S.Shotgun="shotgun",S.SuperShotgun="supershotgun",S.Machinegun="machinegun",S.Chaingun="chaingun",S.HandGrenade="grenades",S.GrenadeLauncher="grenadelauncher",S.RocketLauncher="rocketlauncher",S.HyperBlaster="hyperblaster",S.Railgun="railgun",S.BFG10K="bfg10k",S.Grapple="grapple",S.ChainFist="chainfist",S.EtfRifle="etf_rifle",S.ProxLauncher="prox_launcher",S.IonRipper="ionripper",S.PlasmaBeam="plasmabeam",S.Phalanx="phalanx",S.Disruptor="disruptor",S.Trap="trap",S))(Tn||{});var Nt=(d=>(d[d.Bullets=0]="Bullets",d[d.Shells=1]="Shells",d[d.Rockets=2]="Rockets",d[d.Grenades=3]="Grenades",d[d.Cells=4]="Cells",d[d.Slugs=5]="Slugs",d[d.MagSlugs=6]="MagSlugs",d[d.Trap=7]="Trap",d[d.Flechettes=8]="Flechettes",d[d.Tesla=9]="Tesla",d[d.Disruptor=10]="Disruptor",d[d.Prox=11]="Prox",d[d.Nuke=12]="Nuke",d[d.Rounds=13]="Rounds",d))(Nt||{}),bi=Object.keys(Nt).length/2,_n=(m=>(m.Shells="ammo_shells",m.Bullets="ammo_bullets",m.Rockets="ammo_rockets",m.Grenades="ammo_grenades",m.Cells="ammo_cells",m.Slugs="ammo_slugs",m.MagSlugs="ammo_magslug",m.Flechettes="ammo_flechettes",m.Disruptor="ammo_disruptor",m.Tesla="ammo_tesla",m.Trap="ammo_trap",m.Prox="ammo_prox",m))(_n||{});var Si=["blaster","shotgun","supershotgun","machinegun","chaingun","grenadelauncher","rocketlauncher","grenades","hyperblaster","railgun","bfg10k"],Ti={blaster:null,shotgun:1,supershotgun:1,machinegun:0,chaingun:0,grenades:3,grenadelauncher:3,rocketlauncher:2,hyperblaster:4,railgun:5,bfg10k:4,grapple:null,chainfist:null,etf_rifle:8,prox_launcher:11,ionripper:4,plasmabeam:4,phalanx:6,disruptor:10,trap:7};return Nn(_i);})();
|
|
1
|
+
"use strict";var Quake2Shared=(()=>{var Xe=Object.defineProperty;var Vn=Object.getOwnPropertyDescriptor;var Nn=Object.getOwnPropertyNames;var Cn=Object.prototype.hasOwnProperty;var Je=(t,e)=>{for(var n in e)Xe(t,n,{get:e[n],enumerable:!0})},On=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Nn(e))!Cn.call(t,r)&&r!==n&&Xe(t,r,{get:()=>e[r],enumerable:!(o=Vn(e,r))||o.enumerable});return t};var Rn=t=>On(Xe({},"__esModule",{value:!0}),t);var Ei={};Je(Ei,{AMMO_MAX:()=>Ge,AMMO_TYPE_COUNT:()=>Si,ANORMS:()=>J,ATTN_IDLE:()=>il,ATTN_LOOP_NONE:()=>ol,ATTN_NONE:()=>rl,ATTN_NORM:()=>sl,ATTN_STATIC:()=>cl,AmmoItemId:()=>_n,AmmoType:()=>Ct,BinaryStream:()=>Et,BinaryWriter:()=>_e,CGAME_EXPORT_KEYS:()=>tr,CGAME_IMPORT_KEYS:()=>er,CMD_BACKUP:()=>Es,CONTENTS_AREAPORTAL:()=>Bi,CONTENTS_AUX:()=>wi,CONTENTS_CURRENT_0:()=>so,CONTENTS_CURRENT_180:()=>co,CONTENTS_CURRENT_270:()=>ao,CONTENTS_CURRENT_90:()=>io,CONTENTS_CURRENT_DOWN:()=>uo,CONTENTS_CURRENT_UP:()=>lo,CONTENTS_DEADMONSTER:()=>Ki,CONTENTS_DETAIL:()=>Xi,CONTENTS_LADDER:()=>Pt,CONTENTS_LAVA:()=>zi,CONTENTS_MIST:()=>Ui,CONTENTS_MONSTER:()=>Hi,CONTENTS_MONSTERCLIP:()=>Wi,CONTENTS_NONE:()=>Oe,CONTENTS_NO_WATERJUMP:()=>ro,CONTENTS_ORIGIN:()=>ki,CONTENTS_PLAYER:()=>Yi,CONTENTS_PLAYERCLIP:()=>Gi,CONTENTS_PROJECTILE:()=>ji,CONTENTS_PROJECTILECLIP:()=>Ii,CONTENTS_SLIME:()=>Fi,CONTENTS_SOLID:()=>Li,CONTENTS_TRANSLUCENT:()=>Ji,CONTENTS_TRIGGER:()=>oo,CONTENTS_WATER:()=>Di,CONTENTS_WINDOW:()=>Pi,CS_MAX_STRING_LENGTH:()=>zc,CS_MAX_STRING_LENGTH_OLD:()=>Fc,ClientCommand:()=>dn,CollisionEntityIndex:()=>Qe,ConfigStringIndex:()=>ae,CvarFlags:()=>Wt,DEFAULT_FORWARD_SPEED:()=>ds,DEFAULT_MOUSE_SENSITIVITY:()=>bs,DEFAULT_PITCH_SPEED:()=>hs,DEFAULT_SIDE_SPEED:()=>ms,DEFAULT_UP_SPEED:()=>xs,DEFAULT_YAW_SPEED:()=>ps,DEG2RAD:()=>Jn,DIST_EPSILON:()=>Z,EntityFlags:()=>At,GAME_EXPORT_KEYS:()=>Qo,GAME_IMPORT_KEYS:()=>$o,G_GetAmmoStat:()=>Ks,G_GetPowerupStat:()=>Js,G_SetAmmoStat:()=>Hs,G_SetPowerupStat:()=>Xs,LAST_VISIBLE_CONTENTS:()=>Zi,LayoutFlags:()=>xn,MASK_ALL:()=>fc,MASK_BLOCK_SIGHT:()=>bc,MASK_CURRENT:()=>fo,MASK_DEADSOLID:()=>mc,MASK_LADDER_NAV_SOLID:()=>Tc,MASK_MONSTERSOLID:()=>xc,MASK_NAV_SOLID:()=>yc,MASK_OPAQUE:()=>pc,MASK_PLAYERSOLID:()=>dc,MASK_PROJECTILE:()=>_c,MASK_SHOT:()=>hc,MASK_SOLID:()=>Ze,MASK_WALK_NAV_SOLID:()=>Sc,MASK_WATER:()=>Re,MAX_CHALLENGES:()=>_s,MAX_CLIENTS:()=>Fo,MAX_CONFIGSTRINGS:()=>Ho,MAX_EDICTS:()=>wc,MAX_GENERAL:()=>Wo,MAX_IMAGES:()=>Bo,MAX_INFO_STRING:()=>Vs,MAX_ITEMS:()=>Go,MAX_LIGHTSTYLES:()=>Do,MAX_MODELS:()=>Uo,MAX_MSGLEN:()=>Ns,MAX_OSPATH:()=>Pc,MAX_PACKET_ENTITIES:()=>As,MAX_QPATH:()=>Lc,MAX_SHADOW_LIGHTS:()=>ko,MAX_SOUNDS:()=>Io,MAX_SOUND_CHANNELS:()=>nl,MAX_STRING_CHARS:()=>Rc,MAX_STRING_TOKENS:()=>Mc,MAX_TOKEN_CHARS:()=>vc,MAX_WHEEL_ITEMS:()=>rt,MZ_BFG:()=>Is,MZ_BLASTER:()=>Cs,MZ_CHAINGUN1:()=>Ms,MZ_CHAINGUN2:()=>vs,MZ_CHAINGUN3:()=>Ls,MZ_GRENADE:()=>zs,MZ_HYPERBLASTER:()=>Bs,MZ_LOGIN:()=>Fs,MZ_LOGOUT:()=>Ds,MZ_MACHINEGUN:()=>Os,MZ_RAILGUN:()=>Ps,MZ_ROCKET:()=>ws,MZ_SHOTGUN:()=>Rs,MZ_SSHOTGUN:()=>Us,MersenneTwister19937:()=>Ne,NUM_AMMO_STATS:()=>Ws,NUM_BITS_FOR_AMMO:()=>We,NUM_BITS_FOR_POWERUP:()=>He,NUM_POWERUP_STATS:()=>ks,NetChan:()=>Nt,NetworkMessageBuilder:()=>Vt,PITCH:()=>Ee,POWERUP_MAX:()=>ke,PlaneSide:()=>zt,PlayerButton:()=>re,PlayerStat:()=>bn,PmFlag:()=>oe,PmType:()=>ue,PowerupId:()=>hn,RAD2DEG:()=>Yn,ROLL:()=>je,RandomGenerator:()=>Ce,RenderFx:()=>Tn,Replay:()=>st,SLIDEMOVE_BLOCKED_FLOOR:()=>Kt,SLIDEMOVE_BLOCKED_WALL:()=>Xt,SOUND_FULLVOLUME:()=>al,SOUND_LOOP_ATTENUATE:()=>ll,STOP_EPSILON:()=>$,SURF_ALPHATEST:()=>ic,SURF_FLOWING:()=>rc,SURF_LIGHT:()=>$i,SURF_N64_SCROLL_FLIP:()=>uc,SURF_N64_SCROLL_X:()=>ac,SURF_N64_SCROLL_Y:()=>lc,SURF_N64_UV:()=>cc,SURF_NODRAW:()=>sc,SURF_NONE:()=>qi,SURF_SKY:()=>ec,SURF_SLICK:()=>Qi,SURF_TRANS33:()=>nc,SURF_TRANS66:()=>oc,SURF_WARP:()=>tc,ServerCommand:()=>fn,SoundChannel:()=>An,TempEntity:()=>mn,UPDATE_BACKUP:()=>gs,WEAPON_AMMO_MAP:()=>Ai,WEAPON_WHEEL_ORDER:()=>_i,WaterLevel:()=>le,WeaponId:()=>Sn,YAW:()=>Ve,ZERO_VEC3:()=>P,addBlendColor:()=>$n,addContents:()=>po,addPmFlag:()=>W,addPointToBounds:()=>In,addVec3:()=>R,addViewAngles:()=>Ts,angleMod:()=>xe,angleVectors:()=>pe,applyPmove:()=>Ti,applyPmoveAccelerate:()=>Y,applyPmoveAddCurrents:()=>Fe,applyPmoveAirAccelerate:()=>at,applyPmoveAirMove:()=>Kr,applyPmoveFlyMove:()=>Tr,applyPmoveFriction:()=>ct,applyPmoveWaterMove:()=>Xr,assertContract:()=>qo,attenuationToDistanceMultiplier:()=>gn,boxContents:()=>Ro,boxOnPlaneSide:()=>Eo,boxesIntersect:()=>Bn,buildAirGroundWish:()=>lt,buildCollisionModel:()=>Ao,buildWaterWish:()=>ut,calculateMaxAudibleDistance:()=>gi,categorizePosition:()=>kr,checkDuckState:()=>Rr,checkJump:()=>Er,checkSpecialMovement:()=>ss,clampViewAngles:()=>fs,clipBoxToBrush:()=>tt,clipVelocityAgainstPlanes:()=>Gn,clipVelocityVec3:()=>te,closestPointToBox:()=>Fn,combineSurfaceFlags:()=>yo,computePlaneSignBits:()=>et,computePlayerDimensions:()=>Ue,concatRotationMatrices:()=>Ye,configStringSize:()=>Ko,copyVec3:()=>vn,crc8:()=>Zs,createDefaultTrace:()=>Le,createEmptyBounds3:()=>Un,createMat4Identity:()=>Lt,createRandomGenerator:()=>Qn,crossVec3:()=>ee,currentVectorFromContents:()=>pt,degToRad:()=>Ae,disableTraceDebug:()=>So,distance:()=>wn,distanceBetweenBoxesSquared:()=>Dn,dotVec3:()=>F,enableTraceDebug:()=>To,fixStuckObjectGeneric:()=>mt,getWaterLevel:()=>Te,goodPosition:()=>yt,groundCurrentVelocity:()=>nn,hasAllContents:()=>mo,hasAnyContents:()=>xo,hasPmFlag:()=>D,hasSurfaceFlags:()=>bo,inPHS:()=>vo,inPVS:()=>Mo,initialSnapPosition:()=>as,isAtLeastWaistDeep:()=>it,isUnderwater:()=>nr,lengthSquaredVec3:()=>ie,lengthVec3:()=>B,lerpAngle:()=>jn,mat4FromBasis:()=>no,mouseDeltaToViewDelta:()=>Ss,multiplyMat4:()=>eo,multiplyVec3:()=>Ln,negateVec3:()=>Pn,normalizeVec3:()=>w,perpendicularVec3:()=>Rt,planeDistanceToPoint:()=>ne,pmoveCmdScale:()=>or,pointContents:()=>Co,pointContentsMany:()=>Oo,pointInsideBrush:()=>Ft,pointOnPlaneSide:()=>go,projectPointOnPlane:()=>Ot,projectSourceVec3:()=>kn,projectSourceVec3WithUp:()=>Hn,radToDeg:()=>ge,removeContents:()=>ho,removePmFlag:()=>X,resolveSlideMove:()=>Jt,rotatePointAroundVector:()=>Xn,scaleVec3:()=>M,slerpVec3:()=>Kn,slideClipVelocityVec3:()=>Wn,slideMove:()=>ft,snapPosition:()=>cs,stepSlideMove:()=>se,subtractVec3:()=>Q,testBoxInBrush:()=>Dt,traceBox:()=>Gt,traceDebugInfo:()=>K,transformPointMat4:()=>to,validateContract:()=>kt,vec3Equals:()=>zn,vectorToAngles:()=>qn,vectorToYaw:()=>Zn,waterCurrentVelocity:()=>tn,writeUserCommand:()=>Ys});var P={x:0,y:0,z:0},$=.1,Mn=Math.PI/180;function vn(t){return{x:t.x,y:t.y,z:t.z}}function R(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function Q(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function Ln(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function M(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function Pn(t){return M(t,-1)}function F(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function ee(t,e){return{x:t.y*e.z-t.z*e.y,y:t.z*e.x-t.x*e.z,z:t.x*e.y-t.y*e.x}}function ie(t){return F(t,t)}function B(t){return Math.sqrt(ie(t))}function wn(t,e){return B(Q(t,e))}function zn(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function w(t){let e=B(t);return e===0?t:M(t,1/e)}function Ot(t,e){let n=1/F(e,e),o=F(e,t)*n;return Q(t,M(e,n*o))}function Rt(t){let e=0,n=Math.abs(t.x);return Math.abs(t.y)<n&&(e=1,n=Math.abs(t.y)),Math.abs(t.z)<n&&(e=2),w(Ot(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function Fn(t,e,n){return{x:t.x<e.x?e.x:t.x>n.x?n.x:t.x,y:t.y<e.y?e.y:t.y>n.y?n.y:t.y,z:t.z<e.z?e.z:t.z>n.z?n.z:t.z}}function Dn(t,e,n,o){let r=0;if(e.x<n.x){let s=e.x-n.x;r+=s*s}else if(t.x>o.x){let s=t.x-o.x;r+=s*s}if(e.y<n.y){let s=e.y-n.y;r+=s*s}else if(t.y>o.y){let s=t.y-o.y;r+=s*s}if(e.z<n.z){let s=e.z-n.z;r+=s*s}else if(t.z>o.z){let s=t.z-o.z;r+=s*s}return r}function Un(){return{mins:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,z:Number.POSITIVE_INFINITY},maxs:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY,z:Number.NEGATIVE_INFINITY}}}function In(t,e){return{mins:{x:Math.min(e.mins.x,t.x),y:Math.min(e.mins.y,t.y),z:Math.min(e.mins.z,t.z)},maxs:{x:Math.max(e.maxs.x,t.x),y:Math.max(e.maxs.y,t.y),z:Math.max(e.maxs.z,t.z)}}}function Bn(t,e){return t.mins.x<=e.maxs.x&&t.maxs.x>=e.mins.x&&t.mins.y<=e.maxs.y&&t.maxs.y>=e.mins.y&&t.mins.z<=e.maxs.z&&t.maxs.z>=e.mins.z}function te(t,e,n){let o=F(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-$&&r<$&&(r=0),s>-$&&s<$&&(s=0),i>-$&&i<$&&(i=0),{x:r,y:s,z:i}}function Gn(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=te(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&F(r,e[i])<0);i++);if(i===e.length)return o&&F(r,o)<=0?P:r}if(e.length===2){let s=ee(e[0],e[1]),i=F(s,t),c=M(s,i);return o&&F(c,o)<=0?P:c}return o&&F(r,o)<=0,P}function Wn(t,e,n){return te(t,e,n)}function kn(t,e,n,o){return{x:t.x+n.x*e.x+o.x*e.y,y:t.y+n.y*e.x+o.y*e.y,z:t.z+n.z*e.x+o.z*e.y+e.z}}function Hn(t,e,n,o,r){return{x:t.x+n.x*e.x+o.x*e.y+r.x*e.z,y:t.y+n.y*e.x+o.y*e.y+r.y*e.z,z:t.z+n.z*e.x+o.z*e.y+r.z*e.z}}function Kn(t,e,n){let o=F(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),l=Math.sin((1-n)*i),u=Math.sin(n*i);r=l/c,s=u/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function Ye(t,e){let n=r=>[t[r][0]*e[0][0]+t[r][1]*e[1][0]+t[r][2]*e[2][0],t[r][0]*e[0][1]+t[r][1]*e[1][1]+t[r][2]*e[2][1],t[r][0]*e[0][2]+t[r][1]*e[1][2]+t[r][2]*e[2][2]];return[n(0),n(1),n(2)]}function Xn(t,e,n){if(B(t)===0)return e;let r=w(t),s=Rt(r),i=ee(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],l=[[c[0][0],c[1][0],c[2][0]],[c[0][1],c[1][1],c[2][1]],[c[0][2],c[1][2],c[2][2]]],u=n*Mn,x=Math.cos(u),a=Math.sin(u),m=[[x,a,0],[-a,x,0],[0,0,1]],p=Ye(Ye(c,m),l);return{x:p[0][0]*e.x+p[0][1]*e.y+p[0][2]*e.z,y:p[1][0]*e.x+p[1][1]*e.y+p[1][2]*e.z,z:p[2][0]*e.x+p[2][1]*e.y+p[2][2]*e.z}}var Ee=0,Ve=1,je=2,Mt=Math.PI/180,vt=180/Math.PI,Jn=Mt,Yn=vt;function me(t,e){switch(e){case Ee:return t.x;case Ve:return t.y;case je:default:return t.z}}function Ae(t){return t*Mt}function ge(t){return t*vt}function jn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function xe(t){let e=t%360;return e<0?360+e:e}function pe(t){let e=Ae(me(t,Ve)),n=Ae(me(t,Ee)),o=Ae(me(t,je)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),l=Math.sin(o),u=Math.cos(o),x={x:c*s,y:c*r,z:-i},a={x:-l*i*s-u*-r,y:-l*i*r-u*s,z:-l*c},m={x:u*i*s-l*-r,y:u*i*r-l*s,z:u*c};return{forward:x,right:a,up:m}}function Zn(t){let e=me(t,Ee),n=me(t,Ve);if(e===0)return n===0?0:n>0?90:270;let o=ge(Math.atan2(n,e));return o<0?o+360:o}function qn(t){let e=t.x,n=t.y,o=t.z;if(n===0&&e===0)return{x:o>0?-90:-270,y:0,z:0};let r;e?r=ge(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=ge(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var J=[[-.525731,0,.850651],[-.442863,.238856,.864188],[-.295242,0,.955423],[-.309017,.5,.809017],[-.16246,.262866,.951056],[0,0,1],[0,.850651,.525731],[-.147621,.716567,.681718],[.147621,.716567,.681718],[0,.525731,.850651],[.309017,.5,.809017],[.525731,0,.850651],[.295242,0,.955423],[.442863,.238856,.864188],[.16246,.262866,.951056],[-.681718,.147621,.716567],[-.809017,.309017,.5],[-.587785,.425325,.688191],[-.850651,.525731,0],[-.864188,.442863,.238856],[-.716567,.681718,.147621],[-.688191,.587785,.425325],[-.5,.809017,.309017],[-.238856,.864188,.442863],[-.425325,.688191,.587785],[-.716567,.681718,-.147621],[-.5,.809017,-.309017],[-.525731,.850651,0],[0,.850651,-.525731],[-.238856,.864188,-.442863],[0,.955423,-.295242],[-.262866,.951056,-.16246],[0,1,0],[0,.955423,.295242],[-.262866,.951056,.16246],[.238856,.864188,.442863],[.262866,.951056,.16246],[.5,.809017,.309017],[.238856,.864188,-.442863],[.262866,.951056,-.16246],[.5,.809017,-.309017],[.850651,.525731,0],[.716567,.681718,.147621],[.716567,.681718,-.147621],[.525731,.850651,0],[.425325,.688191,.587785],[.864188,.442863,.238856],[.688191,.587785,.425325],[.809017,.309017,.5],[.681718,.147621,.716567],[.587785,.425325,.688191],[.955423,.295242,0],[1,0,0],[.951056,.16246,.262866],[.850651,-.525731,0],[.955423,-.295242,0],[.864188,-.442863,.238856],[.951056,-.16246,.262866],[.809017,-.309017,.5],[.681718,-.147621,.716567],[.850651,0,.525731],[.864188,.442863,-.238856],[.809017,.309017,-.5],[.951056,.16246,-.262866],[.525731,0,-.850651],[.681718,.147621,-.716567],[.681718,-.147621,-.716567],[.850651,0,-.525731],[.809017,-.309017,-.5],[.864188,-.442863,-.238856],[.951056,-.16246,-.262866],[.147621,.716567,-.681718],[.309017,.5,-.809017],[.425325,.688191,-.587785],[.442863,.238856,-.864188],[.587785,.425325,-.688191],[.688191,.587785,-.425325],[-.147621,.716567,-.681718],[-.309017,.5,-.809017],[0,.525731,-.850651],[-.525731,0,-.850651],[-.442863,.238856,-.864188],[-.295242,0,-.955423],[-.16246,.262866,-.951056],[0,0,-1],[.295242,0,-.955423],[.16246,.262866,-.951056],[-.442863,-.238856,-.864188],[-.309017,-.5,-.809017],[-.16246,-.262866,-.951056],[0,-.850651,-.525731],[-.147621,-.716567,-.681718],[.147621,-.716567,-.681718],[0,-.525731,-.850651],[.309017,-.5,-.809017],[.442863,-.238856,-.864188],[.16246,-.262866,-.951056],[.238856,-.864188,-.442863],[.5,-.809017,-.309017],[.425325,-.688191,-.587785],[.716567,-.681718,-.147621],[.688191,-.587785,-.425325],[.587785,-.425325,-.688191],[0,-.955423,-.295242],[0,-1,0],[.262866,-.951056,-.16246],[0,-.850651,.525731],[0,-.955423,.295242],[.238856,-.864188,.442863],[.262866,-.951056,.16246],[.5,-.809017,.309017],[.716567,-.681718,.147621],[.525731,-.850651,0],[-.238856,-.864188,-.442863],[-.5,-.809017,-.309017],[-.262866,-.951056,-.16246],[-.850651,-.525731,0],[-.716567,-.681718,-.147621],[-.716567,-.681718,.147621],[-.525731,-.850651,0],[-.5,-.809017,.309017],[-.238856,-.864188,.442863],[-.262866,-.951056,.16246],[-.864188,-.442863,.238856],[-.809017,-.309017,.5],[-.688191,-.587785,.425325],[-.681718,-.147621,.716567],[-.442863,-.238856,.864188],[-.587785,-.425325,.688191],[-.309017,-.5,.809017],[-.147621,-.716567,.681718],[-.425325,-.688191,.587785],[-.16246,-.262866,.951056],[.442863,-.238856,.864188],[.16246,-.262866,.951056],[.309017,-.5,.809017],[.147621,-.716567,.681718],[0,-.525731,.850651],[.425325,-.688191,.587785],[.587785,-.425325,.688191],[.688191,-.587785,.425325],[-.955423,.295242,0],[-.951056,.16246,.262866],[-1,0,0],[-.850651,0,.525731],[-.955423,-.295242,0],[-.951056,-.16246,.262866],[-.864188,.442863,-.238856],[-.951056,.16246,-.262866],[-.809017,.309017,-.5],[-.864188,-.442863,-.238856],[-.951056,-.16246,-.262866],[-.809017,-.309017,-.5],[-.681718,.147621,-.716567],[-.681718,-.147621,-.716567],[-.850651,0,-.525731],[-.688191,.587785,-.425325],[-.587785,.425325,-.688191],[-.425325,.688191,-.587785],[-.425325,-.688191,-.587785],[-.587785,-.425325,-.688191],[-.688191,-.587785,-.425325]];function $n(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],l=r[3],u=l+(1-l)*o;if(u<=0)return[0,0,0,0];let x=l/u,a=s*x+t*(1-x),m=i*x+e*(1-x),p=c*x+n*(1-x);return[a,m,p,u]}var Ne=class{constructor(e=5489){this.state=new Uint32Array(624);this.index=624;this.seed(e)}seed(e){this.state[0]=e>>>0;for(let n=1;n<624;n++){let o=this.state[n-1]^this.state[n-1]>>>30,r=Math.imul(o>>>0,1812433253)+n;this.state[n]=r>>>0}this.index=624}nextUint32(){this.index>=624&&this.twist();let e=this.state[this.index++];return e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}twist(){for(let e=0;e<624;e++){let n=this.state[e]&2147483648|this.state[(e+1)%624]&2147483647,o=this.state[(e+397)%624]^n>>>1;(n&1)!==0&&(o^=2567483615),this.state[e]=o>>>0}this.index=0}getState(){return{index:this.index,state:Array.from(this.state)}}setState(e){if(e.state.length!==624)throw new Error(`Expected 624 MT state values, received ${e.state.length}`);this.index=e.index,this.state=Uint32Array.from(e.state,n=>n>>>0)}},Ce=class{constructor(e={}){this.mt=new Ne(e.seed)}seed(e){this.mt.seed(e)}frandom(){return this.mt.nextUint32()/4294967296}frandomRange(e,n){return e+(n-e)*this.frandom()}frandomMax(e){return this.frandomRange(0,e)}crandom(){return this.frandomRange(-1,1)}crandomOpen(){let e=Number.EPSILON;return this.frandomRange(-1+e,1)}irandomUint32(){return this.mt.nextUint32()}irandomRange(e,n){if(n-e<=1)return e;let o=n-e,r=4294967296-4294967296%o,s;do s=this.mt.nextUint32();while(s>=r);return e+s%o}irandom(e){return e<=0?0:this.irandomRange(0,e)}randomTimeRange(e,n){return n<=e?e:this.irandomRange(e,n)}randomTime(e){return this.irandom(e)}randomIndex(e){return this.irandom(e.length)}getState(){return{mt:this.mt.getState()}}setState(e){this.mt.setState(e.mt)}};function Qn(t){return new Ce(t)}function Lt(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function eo(t,e){let n=new Float32Array(16);for(let o=0;o<4;o+=1)for(let r=0;r<4;r+=1)n[r*4+o]=t[0+o]*e[r*4+0]+t[4+o]*e[r*4+1]+t[8+o]*e[r*4+2]+t[12+o]*e[r*4+3];return n}function to(t,e){let n=e.x,o=e.y,r=e.z;return{x:t[0]*n+t[4]*o+t[8]*r+t[12],y:t[1]*n+t[5]*o+t[9]*r+t[13],z:t[2]*n+t[6]*o+t[10]*r+t[14]}}function no(t,e){let n=Lt();return n[0]=e[0].x,n[1]=e[0].y,n[2]=e[0].z,n[4]=e[1].x,n[5]=e[1].y,n[6]=e[1].z,n[8]=e[2].x,n[9]=e[2].y,n[10]=e[2].z,n[12]=t.x,n[13]=t.y,n[14]=t.z,n}var Oe=0,Li=1,Pi=2,wi=4,zi=8,Fi=16,Di=32,Ui=64,oo=1073741824,ro=8192,Ii=16384,Bi=32768,Gi=65536,Wi=131072,so=262144,io=524288,co=1048576,ao=2097152,lo=4194304,uo=8388608,ki=16777216,Hi=33554432,Ki=67108864,Xi=134217728,Ji=268435456,Pt=536870912,Yi=1073741824,ji=-2147483648,Zi=64,qi=0,$i=1,Qi=2,ec=4,tc=8,nc=16,oc=32,rc=64,sc=128,ic=33554432,cc=268435456,ac=536870912,lc=1073741824,uc=-2147483648,fc=4294967295,Ze=3,dc=1107361795,mc=65539,xc=1107427331,Re=56,pc=25,hc=1174405123,fo=16515072,bc=1107296281,yc=65539,Tc=3,Sc=196611,_c=1174421507;function mo(t,e){return(t&e)===e}function xo(t,e){return(t&e)!==0}function po(t,e){return t|e}function ho(t,e){return t&~e}function bo(t,e){return(t&e)===e}function yo(...t){let e=0;for(let n of t)e|=n;return e}function Me(t=0,e={x:-8192,y:-8192,z:-8192},n={x:8192,y:8192,z:8192}){if(t>=4)return{axis:-1,dist:0,children:null,items:new Set};let o=t%2,r=.5*(o===0?e.x+n.x:e.y+n.y),s={...e},i={...n},c={...e},l={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let u=Me(t+1,s,i),x=Me(t+1,c,l);return{axis:o,dist:r,children:[u,x],items:new Set}}function wt(t,e,n,o){let r=t;for(;r.axis!==-1&&r.children;){let s=r.axis,i=r.dist,c=s===0?n.x:n.y,l=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(l<i)r=r.children[0];else break}return r.items.add(e),r}function he(t,e,n,o){for(let l of t.items)o.add(l);if(t.axis===-1||!t.children)return;let r=t.axis,s=t.dist,i=r===0?e.x:e.y;(r===0?n.x:n.y)>s&&he(t.children[1],e,n,o),i<s&&he(t.children[0],e,n,o)}var zt=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(zt||{}),K=null;function To(){K={nodesTraversed:0,leafsReached:0,brushesTested:0}}function So(){K=null}var Z=.03125,_o=Number.MAX_SAFE_INTEGER-1,ve=1;function Ao(t){let e=t.planes.map(i=>({...i,signbits:et(i.normal)})),n=t.nodes.map(i=>({plane:e[i.planenum],children:i.children})),o=t.brushes.map(i=>{let c=t.brushSides.slice(i.firstSide,i.firstSide+i.numSides).map(l=>({plane:e[l.planenum],surfaceFlags:l.surfaceFlags}));return{contents:i.contents,sides:c,checkcount:0}}),r=t.leaves.map(i=>({contents:i.contents,cluster:i.cluster,area:i.area,firstLeafBrush:i.firstLeafBrush,numLeafBrushes:i.numLeafBrushes})),s=t.bmodels.map(i=>({mins:i.mins,maxs:i.maxs,origin:i.origin,headnode:i.headnode}));return{planes:e,nodes:n,leaves:r,brushes:o,leafBrushes:t.leafBrushes,bmodels:s,visibility:t.visibility}}function et(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function ne(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function go(t,e,n=0){let o=ne(t,e);return o>n?1:o<-n?2:3}function Eo(t,e,n,o=0){let r,s;switch(n.signbits){case 0:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z;break;case 1:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z;break;case 2:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z;break;case 3:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z;break;case 4:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z;break;case 5:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z;break;case 6:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z;break;default:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z;break}let i=0;return r-n.dist>=-o&&(i=1),s-n.dist<=o&&(i|=2),i}function Ft(t,e,n=Z){for(let o of e.sides)if(ne(o.plane,t)>n)return!1;return!0}function Dt(t,e,n,o){for(let r of o.sides){let s=r.plane.normal.x*(r.plane.normal.x<0?n.x:e.x)+r.plane.normal.y*(r.plane.normal.y<0?n.y:e.y)+r.plane.normal.z*(r.plane.normal.z<0?n.z:e.z),i=r.plane.dist-s;if(t.x*r.plane.normal.x+t.y*r.plane.normal.y+t.z*r.plane.normal.z-i>0)return{startsolid:!1,allsolid:!1,contents:0}}return{startsolid:!0,allsolid:!0,contents:o.contents}}function tt({start:t,end:e,mins:n,maxs:o,brush:r,trace:s}){if(r.sides.length===0)return;let i=n.x===0&&n.y===0&&n.z===0&&o.x===0&&o.y===0&&o.z===0,c=-1,l=1,u=null,x=null,a=!1,m=!1;for(let p of r.sides){let{plane:f}=p,A=f.dist;if(!i){let C=f.normal.x<0?o.x:n.x,y=f.normal.y<0?o.y:n.y,T=f.normal.z<0?o.z:n.z;A-=f.normal.x*C+f.normal.y*y+f.normal.z*T}let _=t.x*f.normal.x+t.y*f.normal.y+t.z*f.normal.z-A,g=e.x*f.normal.x+e.y*f.normal.y+e.z*f.normal.z-A;if(g>0&&(a=!0),_>0&&(m=!0),_>0&&g>=_)return;if(!(_<=0&&g<=0))if(_>g){let C=(_-Z)/(_-g);C>c&&(c=C,u=f,x=p)}else{let C=(_+Z)/(_-g);C<l&&(l=C)}}if(!m){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<l&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=u,s.contents=r.contents,s.surfaceFlags=x?.surfaceFlags??0)}function Le(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function nt(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=ne(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function Ut(t,e,n){let o=t.leaves[e],r=o.contents,s=ot(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let l=i;l<c;l+=1){let u=t.leafBrushes[l],x=t.brushes[u];x.checkcount!==s&&(x.checkcount=s,x.sides.length!==0&&Ft(n,x)&&(r|=x.contents))}return r}function ot(){let t=ve;return ve+=1,ve>=_o&&(ve=1),t}function Vo(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function No(t,e,n){return Vo(e,n)?0:t.normal.x*(t.normal.x<0?n.x:e.x)+t.normal.y*(t.normal.y<0?n.y:e.y)+t.normal.z*(t.normal.z<0?n.z:e.z)}function It(t,e,n){return Math.abs(No(t,e,n))}function qe(t,e,n){return R(t,M(Q(e,t),n))}function $e(t,e,n){let o=t.allsolid?0:t.fraction,r=qe(e,n,o);return{fraction:o,endpos:r,plane:t.plane,planeNormal:t.startsolid?void 0:t.plane?.normal,contents:t.contents,surfaceFlags:t.surfaceFlags,startsolid:t.startsolid,allsolid:t.allsolid}}function Pe(t,e,n){let o=nt(t,e,n);return e.leaves[o]?.cluster??-1}function Bt(t,e,n,o){if(!t||t.numClusters===0)return!0;if(e<0||n<0||e>=t.clusters.length||n>=t.numClusters)return!1;let r=t.clusters[e],i=(o?r.phs:r.pvs)[n>>3];return i===void 0?!1:(i&1<<(n&7))!==0}function be(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p}=t;if(m.fraction<=o)return;if(n<0){K&&K.leafsReached++;let U=-1-n,N=e.leaves[U],G=N.firstLeafBrush,j=G+N.numLeafBrushes;for(let I=G;I<j;I+=1){let H=e.leafBrushes[I],b=e.brushes[H];if((b.contents&a)!==0&&b.sides.length&&b.checkcount!==p&&(b.checkcount=p,K&&K.brushesTested++,tt({start:c,end:l,mins:u,maxs:x,brush:b,trace:m}),m.allsolid))return}return}K&&K.nodesTraversed++;let f=e.nodes[n],A=f.plane,_=It(A,u,x),g=ne(A,s),C=ne(A,i);if(g>=_&&C>=_){be({model:e,nodeIndex:f.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p});return}if(g<-_&&C<-_){be({model:e,nodeIndex:f.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p});return}let y=0,T=1/(g-C),O,E;g<C?(y=1,E=(g+_+Z)*T,O=(g-_+Z)*T):(y=0,E=(g-_-Z)*T,O=(g+_+Z)*T),O<0?O=0:O>1&&(O=1),E<0?E=0:E>1&&(E=1);let L=o+(r-o)*O,V=qe(s,i,O);if(be({model:e,nodeIndex:f.children[y],startFraction:o,endFraction:L,start:s,end:V,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p}),m.fraction<=L)return;let S=o+(r-o)*E,v=qe(s,i,E);be({model:e,nodeIndex:f.children[1-y],startFraction:S,endFraction:r,start:v,end:i,traceStart:c,traceEnd:l,mins:u,maxs:x,contentMask:a,trace:m,brushCheckCount:p})}function Gt(t){let{model:e,start:n,end:o}=t,r=t.mins??P,s=t.maxs??P,i=t.contentMask??4294967295,c=t.headnode??0,l=Le(),u=ot();return be({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:l,brushCheckCount:u}),$e(l,n,o)}function Co(t,e,n=0){let o=nt(t,e,n);return Ut(e,o,t)}function Oo(t,e,n=0){let o=new Map;return t.map(r=>{let s=nt(r,e,n),i=e.leaves[s];if(i.numLeafBrushes===0){let c=o.get(s);return c!==void 0?c:(o.set(s,i.contents),i.contents)}return Ut(e,s,r)})}function Ro(t,e,n,o,r=0){let s=ot(),i=0;function c(l){if(l<0){K&&K.leafsReached++;let p=-1-l,f=o.leaves[p];i|=f.contents;let A=f.firstLeafBrush,_=A+f.numLeafBrushes;for(let g=A;g<_;g+=1){let C=o.leafBrushes[g],y=o.brushes[C];if(y.checkcount===s||(y.checkcount=s,y.sides.length===0))continue;let T=Dt(t,e,n,y);T.startsolid&&(i|=T.contents)}return}let u=o.nodes[l],x=u.plane,a=It(x,e,n),m=ne(x,t);if(a===0){c(m>=0?u.children[0]:u.children[1]);return}if(m>a){c(u.children[0]);return}if(m<-a){c(u.children[1]);return}c(u.children[0]),c(u.children[1])}return c(r),i}function Mo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Pe(t,n,o),i=Pe(e,n,o);return Bt(r,s,i,!1)}function vo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Pe(t,n,o),i=Pe(e,n,o);return Bt(r,s,i,!0)}function ce(t,e,n){return{normal:t,dist:e,type:n,signbits:et(t)}}function Lo(t){let e=t.surfaceFlags??0,n=t.origin.x+t.maxs.x,o=t.origin.x+t.mins.x,r=t.origin.y+t.maxs.y,s=t.origin.y+t.mins.y,i=t.origin.z+t.maxs.z,c=t.origin.z+t.mins.z,u=[ce({x:1,y:0,z:0},n,0),ce({x:-1,y:0,z:0},-o,0),ce({x:0,y:1,z:0},r,1),ce({x:0,y:-1,z:0},-s,1),ce({x:0,y:0,z:1},i,2),ce({x:0,y:0,z:-1},-c,2)].map(x=>({plane:x,surfaceFlags:e}));return{contents:t.contents,sides:u,checkcount:0}}function Po(t){let e=Lo(t);return{...t,brush:e,bounds:{mins:{x:t.origin.x+t.mins.x,y:t.origin.y+t.mins.y,z:t.origin.z+t.mins.z},maxs:{x:t.origin.x+t.maxs.x,y:t.origin.y+t.maxs.y,z:t.origin.z+t.maxs.z}}}}function wo(t,e){return!(t.mins.x>e.maxs.x||t.maxs.x<e.mins.x||t.mins.y>e.maxs.y||t.maxs.y<e.mins.y||t.mins.z>e.maxs.z||t.maxs.z<e.mins.z)}function zo(t,e){return e.allsolid&&!t.allsolid||e.startsolid&&!t.startsolid?!0:e.fraction<t.fraction}var Qe=class{constructor(){this.entities=new Map;this.entityNodes=new Map;this.rootNode=Me()}link(e){let n=Po(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=wt(this.rootNode,e.id,n.bounds.mins,n.bounds.maxs);this.entityNodes.set(e.id,r)}unlink(e){this.entities.delete(e);let n=this.entityNodes.get(e);n&&(n.items.delete(e),this.entityNodes.delete(e))}trace(e){let{passId:n}=e,o=e.mins??P,r=e.maxs??P,s=e.contentMask??4294967295,i,c=null;e.model?i=Gt(e):i=$e(Le(),e.start,e.end);let l={x:Math.min(e.start.x,e.end.x)+o.x,y:Math.min(e.start.y,e.end.y)+o.y,z:Math.min(e.start.z,e.end.z)+o.z},u={x:Math.max(e.start.x,e.end.x)+r.x,y:Math.max(e.start.y,e.end.y)+r.y,z:Math.max(e.start.z,e.end.z)+r.z},x=new Set;he(this.rootNode,l,u,x);for(let a of x){if(a===n)continue;let m=this.entities.get(a);if(!m||(m.contents&s)===0)continue;let p=Le();if(tt({start:e.start,end:e.end,mins:o,maxs:r,brush:m.brush,trace:p}),p.contents===0&&(p.contents=m.contents),p.startsolid||p.allsolid||p.fraction<i.fraction){let f=$e(p,e.start,e.end);zo(i,f)&&(i=f,c=m.id)}}return{...i,entityId:c}}gatherTriggerTouches(e,n,o,r=1073741824){let s=[],i={mins:R(e,n),maxs:R(e,o)},c=new Set;he(this.rootNode,i.mins,i.maxs,c);for(let l of c){let u=this.entities.get(l);u&&(u.contents&r)!==0&&wo(i,u.bounds)&&s.push(u.id)}return s}};var Wt=(i=>(i[i.None=0]="None",i[i.Archive=1]="Archive",i[i.UserInfo=2]="UserInfo",i[i.ServerInfo=4]="ServerInfo",i[i.Latch=8]="Latch",i[i.Cheat=16]="Cheat",i))(Wt||{});var Rc=1024,Mc=80,vc=512,Lc=64,Pc=128,Fo=256,wc=8192,Do=256,Uo=8192,Io=2048,Bo=512,Go=256,Wo=512,ko=256,rt=32,zc=96,Fc=64,ae=(S=>(S[S.Name=0]="Name",S[S.CdTrack=1]="CdTrack",S[S.Sky=2]="Sky",S[S.SkyAxis=3]="SkyAxis",S[S.SkyRotate=4]="SkyRotate",S[S.StatusBar=5]="StatusBar",S[S.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",S[S.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",S[S.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",S[S.AirAccel=59]="AirAccel",S[S.MaxClients=60]="MaxClients",S[S.MapChecksum=61]="MapChecksum",S[S.Models=62]="Models",S[S.Sounds=62+Uo]="Sounds",S[S.Images=S.Sounds+Io]="Images",S[S.Lights=S.Images+Bo]="Lights",S[S.ShadowLights=S.Lights+Do]="ShadowLights",S[S.Items=S.ShadowLights+ko]="Items",S[S.PlayerSkins=S.Items+Go]="PlayerSkins",S[S.General=S.PlayerSkins+Fo]="General",S[S.WheelWeapons=S.General+Wo]="WheelWeapons",S[S.WheelAmmo=S.WheelWeapons+rt]="WheelAmmo",S[S.WheelPowerups=S.WheelAmmo+rt]="WheelPowerups",S[S.CdLoopCount=S.WheelPowerups+rt]="CdLoopCount",S[S.GameStyle=S.CdLoopCount+1]="GameStyle",S[S.MaxConfigStrings=S.GameStyle+1]="MaxConfigStrings",S))(ae||{}),Ho=ae.MaxConfigStrings;function Ko(t){return t>=5&&t<59?96*(59-t):t>=ae.General&&t<ae.WheelWeapons?96*(ae.MaxConfigStrings-t):96}var st={};Je(st,{addReplayFrame:()=>jo,createReplaySession:()=>Yo,deserializeReplay:()=>Jo,serializeReplay:()=>Xo});function Xo(t){return JSON.stringify(t,null,2)}function Jo(t){let e=JSON.parse(t);if(!e.metadata||!Array.isArray(e.frames))throw new Error("Invalid replay format: missing metadata or frames");return e}function Yo(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function jo(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function Zo(t){return t??{}}function kt(t,e,n={}){let o=Zo(t),r=[],s=[];for(let c of e){if(!(c in o)){r.push(c);continue}typeof o[c]!="function"&&s.push(c)}let i=n.allowExtra===!1?Object.keys(o).filter(c=>!e.includes(c)):[];return{missing:r,nonFunctions:s,extras:i}}function qo(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=kt(t,e,n);if(o.length===0&&r.length===0&&s.length===0)return;let i=[];o.length>0&&i.push(`missing: ${o.join(", ")}`),r.length>0&&i.push(`non-functions: ${r.join(", ")}`),s.length>0&&i.push(`extras: ${s.join(", ")}`);let c=n.name??"contract";throw new Error(`${c} validation failed (${i.join("; ")})`)}var $o=["Broadcast_Print","Com_Print","Client_Print","Center_Print","sound","positioned_sound","local_sound","configstring","get_configstring","Com_Error","modelindex","soundindex","imageindex","setmodel","trace","clip","pointcontents","inPVS","inPHS","SetAreaPortalState","AreasConnected","linkentity","unlinkentity","BoxEdicts","multicast","unicast"],Qo=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],er=["Com_Print","get_configstring","Com_Error","TagMalloc","TagFree","AddCommandString","CL_FrameValid","CL_FrameTime","CL_ClientTime","CL_ServerFrame","Draw_RegisterPic","Draw_GetPicSize","SCR_DrawChar","SCR_DrawPic","SCR_DrawColorPic"],tr=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var le=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(le||{});function it(t){return t>=2}function nr(t){return t===3}var oe=(a=>(a[a.Ducked=1]="Ducked",a[a.JumpHeld=2]="JumpHeld",a[a.OnGround=4]="OnGround",a[a.TimeWaterJump=8]="TimeWaterJump",a[a.TimeLand=16]="TimeLand",a[a.TimeTeleport=32]="TimeTeleport",a[a.NoPositionalPrediction=64]="NoPositionalPrediction",a[a.OnLadder=128]="OnLadder",a[a.NoAngularPrediction=256]="NoAngularPrediction",a[a.IgnorePlayerCollision=512]="IgnorePlayerCollision",a[a.TimeTrick=1024]="TimeTrick",a))(oe||{});function D(t,e){return(t&e)!==0}function W(t,e){return t|e}function X(t,e){return t&~e}var ue=(c=>(c[c.Normal=0]="Normal",c[c.Grapple=1]="Grapple",c[c.NoClip=2]="NoClip",c[c.Spectator=3]="Spectator",c[c.Dead=4]="Dead",c[c.Gib=5]="Gib",c[c.Freeze=6]="Freeze",c))(ue||{}),re=(c=>(c[c.None=0]="None",c[c.Attack=1]="Attack",c[c.Use=2]="Use",c[c.Holster=4]="Holster",c[c.Jump=8]="Jump",c[c.Crouch=16]="Crouch",c[c.Any=128]="Any",c))(re||{});function ct(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:l,pmWaterFriction:u}=t,x=B(e);if(x<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let f=x<l?l:x;a+=f*c*n}i>0&&!s&&(a+=x*u*i*n);let m=x-a;if(m<0&&(m=0),m===x)return e;let p=m/x;return M(e,p)}function Y(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=F(e,n),c=o-i;if(c<=0)return e;let l=r*s*o;return l>c&&(l=c),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function at(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=F(e,n),l=i-c;if(l<=0)return e;let u=r*o*s;return u>l&&(u=l),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function or(t,e){let n=Math.abs(t.forwardmove),o=Math.abs(t.sidemove),r=Math.abs(t.upmove),s=Math.max(n,o,r);if(s===0)return 0;let i=Math.sqrt(t.forwardmove*t.forwardmove+t.sidemove*t.sidemove+t.upmove*t.upmove);return e*s/(127*i)}function lt(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0},i=B(s);if(i>r){let c=r/i;s=M(s,c),i=r}return{wishdir:i===0?s:w(s),wishspeed:i}}function ut(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:e.z*o.forwardmove+n.z*o.sidemove};o.upmove>10?s=R(s,{x:0,y:0,z:o.upmove}):o.upmove<-10?s=R(s,{x:0,y:0,z:o.upmove}):Math.abs(o.forwardmove)<10&&Math.abs(o.sidemove)<10?s=R(s,{x:0,y:0,z:-60}):s=R(s,{x:0,y:0,z:10});let i=B(s);if(i>r){let c=r/i;s=M(s,c),i=r}return i*=.5,{wishdir:i===0?s:w(s),wishspeed:i}}var Ht=5,rr=4,sr=18,ir=.7,Kt=1,Xt=2;function Jt(t,e,n,o=Ht,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let l of e){if(s.length>=o)return{velocity:P,planes:s,stopped:!0};if(s.find(m=>F(m,l)>.99))continue;s.push(l);let x,a=0;for(;a<s.length;a++){let m=te(i,s[a],n),p=0;for(;p<s.length&&!(p!==a&&F(m,s[p])<0);p++);if(p===s.length){x=m;break}}if(x)i=x;else{if(s.length!==2)return{velocity:P,planes:s,stopped:!0};let m=ee(s[0],s[1]),p=F(m,i);i=M(m,p)}if(F(i,r)<=0)return{velocity:P,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function ft(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=rr,maxClipPlanes:c=Ht,mins:l,maxs:u,hasTime:x=!1}=t,a=e,m=n,p=[],f=n,A=o,_=0;for(let C=0;C<i&&!(m.x===0&&m.y===0&&m.z===0);C++){let y=R(a,M(m,A)),T=s(a,y,l,u);if(T.allsolid){let E=x?f:P;return{origin:T.endpos,velocity:E,planes:p,stopped:!0,blocked:_}}if(T.startsolid){let E=x?f:P;return{origin:T.endpos,velocity:E,planes:p,stopped:!0,blocked:_}}if(T.fraction>0&&(a=T.endpos),T.fraction===1)break;if(!T.planeNormal)return{origin:a,velocity:x?f:P,planes:p,stopped:!0,blocked:_};T.planeNormal.z>.7&&(_|=Kt),T.planeNormal.z===0&&(_|=Xt),p.push(T.planeNormal),A-=A*T.fraction;let O=Jt(m,p,r,c,f);if(m=O.velocity,p.splice(0,p.length,...O.planes),f.z>0&&m.z<0&&(m={...m,z:0}),O.stopped)return{origin:a,velocity:x?f:m,planes:p,stopped:!0,blocked:_}}let g=x?f:m;return{origin:a,velocity:g,planes:p,stopped:g.x===0&&g.y===0&&g.z===0,blocked:_}}function se(t){let{mins:e,maxs:n,stepSize:o=sr,...r}=t,s=t.origin,i=t.velocity,c=ft({...r,mins:e,maxs:n}),l=R(s,{x:0,y:0,z:o}),u=r.trace(s,l,e,n);if(u.allsolid)return{...c,stepped:!1,stepHeight:0};let x=u.endpos.z-s.z,a=ft({...r,origin:u.endpos,velocity:i,mins:e,maxs:n}),m=R(a.origin,{x:0,y:0,z:-x}),p=r.trace(a.origin,m,e,n),f=a.origin,A=p.planeNormal;p.allsolid||(f=p.endpos);let _=(E,L)=>(E.x-L.x)**2+(E.y-L.y)**2,g=_(c.origin,s),C=_(f,s);if(g>C||A&&A.z<ir)return{...c,stepped:!1,stepHeight:0};let y={...a.velocity,z:c.velocity.z},T=a.blocked,O=y.x===0&&y.y===0&&y.z===0;return{origin:f,velocity:y,planes:a.planes,blocked:T,stopped:O,stepped:!0,stepHeight:x,stepNormal:A}}var fe=["x","y","z"],dt=[{normal:[0,0,1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[0,0,-1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[-1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[0,1,0],mins:[-1,0,-1],maxs:[1,0,1]},{normal:[0,-1,0],mins:[-1,0,-1],maxs:[1,0,1]}],Yt={x:0,y:0,z:0};function de(t){return{x:t.x,y:t.y,z:t.z}}function cr(t){return{x:t[0],y:t[1],z:t[2]}}function ye(t,e,n){if(n!==0)switch(e){case"x":t.x+=n;break;case"y":t.y+=n;break;case"z":t.z+=n;break}}function jt(t,e,n){switch(e){case"x":t.x=n;break;case"y":t.y=n;break;case"z":t.z=n;break}}function we(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Zt(t,e,n,o){return t===-1?we(n,e):t===1?we(o,e):0}function qt(t,e,n,o){let r=de(t);for(let s=0;s<fe.length;s++){let i=fe[s],c=e.normal[s];c<0?ye(r,i,we(n,i)):c>0&&ye(r,i,we(o,i))}return r}function ar(t,e,n){let o=de(Yt),r=de(Yt);for(let s=0;s<fe.length;s++){let i=fe[s];jt(o,i,Zt(t.mins[s],i,e,n)),jt(r,i,Zt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function lr(t,e,n){if(!e||n===0)return t;let o=de(t);return ye(o,e,n),o}function ur(t,e,n){if(!e||n===0)return t;switch(e){case"x":return{...t,x:t.x+n};case"y":return{...t,y:t.y+n};case"z":default:return{...t,z:t.z+n}}}function mt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;if(!r(e,n,o,e).startsolid)return{result:"good-position",origin:{...e}};let i=[];for(let c=0;c<dt.length;c++){let l=dt[c],{mins:u,maxs:x}=ar(l,n,o),a=qt(e,l,n,o),m=r(a,u,x,a),p,f=0;if(m.startsolid)for(let E=0;E<fe.length;E++){if(l.normal[E]!==0)continue;let L=fe[E],V=de(a);if(ye(V,L,1),m=r(V,u,x,V),!m.startsolid){a=V,p=L,f=1;break}if(V=de(a),ye(V,L,-1),m=r(V,u,x,V),!m.startsolid){a=V,p=L,f=-1;break}}if(m.startsolid)continue;let A=dt[c^1],_=qt(e,A,n,o);if(_=lr(_,p,f),m=r(a,u,x,_),m.startsolid)continue;let g=cr(l.normal),C=R(m.endpos??_,M(g,.125)),y=Q(C,_),T=R(e,y);T=ur(T,p,f),!r(T,n,o,T).startsolid&&i.push({origin:T,distance:ie(y)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,l)=>c.distance-l.distance),{result:"fixed",origin:{...i[0].origin}})}var fr=100,xt=200,$t=150,ze=25,dr=15,mr=1,xr={x:0,y:0,z:1},pr=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function pt(t){let e=0,n=0,o=0;return t&262144&&(e+=1),t&524288&&(n+=1),t&1048576&&(e-=1),t&2097152&&(n-=1),t&4194304&&(o+=1),t&8388608&&(o-=1),e===0&&n===0&&o===0?P:{x:e,y:n,z:o}}function tn(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return P;let s=pt(e);if(s===P)return P;let i=r;return n===1&&o&&(i*=.5),M(s,i)}function nn(t){let{groundContents:e,scale:n=fr}=t,o=pt(e);return o===P?P:M(o,n)}function Fe(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:l,maxSpeed:u,ladderMod:x,waterSpeed:a,forward:m,origin:p,mins:f,maxs:A,trace:_=pr}=t,g=e;n&&(g=hr({wishVelocity:g,cmd:c,waterlevel:r,viewPitch:l,maxSpeed:u,ladderMod:x,onGround:o,forward:m,origin:p,mins:f,maxs:A,trace:_}));let C=tn({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(C!==P&&(g=R(g,C)),o){let y=nn({groundContents:i});y!==P&&(g=R(g,y))}return g}function hr(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:l,origin:u,mins:x,maxs:a,trace:m}=t,p=n.buttons??0,f={...e};if((p&24)!==0){let A=it(o)?s:xt;f={...f,z:p&8?A:-A}}else if(n.forwardmove){let A=Qt(n.forwardmove,-xt,xt);if(n.forwardmove>0){let _=r<dr?A:-A;f={...f,z:_}}else c||(f={...f,x:0,y:0}),f={...f,z:A}}else f={...f,z:0};if(!c)if(n.sidemove){let A=Qt(n.sidemove,-$t,$t);o<2&&(A*=i);let _=w({x:l.x,y:l.y,z:0});if(_.x!==0||_.y!==0){let g=R(u,M(_,mr)),C=m(u,g,x,a);if(C.fraction!==1&&!C.allsolid&&C.contents!==void 0&&(C.contents&536870912)!==0&&C.planeNormal){let y=ee(C.planeNormal,xr);f={...f,x:0,y:0},f=R(f,M(y,-A))}}}else f={...f,x:en(f.x),y:en(f.y)};return f}function Qt(t,e,n){return Math.max(e,Math.min(n,t))}function en(t){return t<-ze?-ze:t>ze?ze:t}var br=1.5,on=.5,yr=1.01;function Tr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:l,doclip:u,forward:x,right:a,mins:m,maxs:p,trace:f,overbounce:A=yr,stepSize:_,maxBumps:g,maxClipPlanes:C}=t,y=Sr({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),T=_r({cmd:n,forward:x,right:a,pmMaxSpeed:i,pmWaterSpeed:l});if(T.wishspeed>0&&(y=Y({velocity:y,wishdir:T.wishdir,wishspeed:T.accelSpeed,accel:c,frametime:o})),!u){let O=M(y,o);return{origin:R(e,O),velocity:y,planes:[],blocked:0,stopped:y.x===0&&y.y===0&&y.z===0,stepped:!1,stepHeight:0}}if(!f||!m||!p)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return se({origin:e,velocity:y,frametime:o,overbounce:A,trace:f,mins:m,maxs:p,stepSize:_,maxBumps:g,maxClipPlanes:C})}function Sr(t){let{velocity:e,pmFriction:n,pmStopSpeed:o,frametime:r}=t,s=B(e);if(s<1)return{x:0,y:0,z:0};let i=n*br,l=(s<o?o:s)*i*r,u=s-l;return u<0&&(u=0),u===s?e:M(e,u/s)}function _r(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=w(n),c=w(o),u={x:i.x*e.forwardmove+c.x*e.sidemove,y:i.y*e.forwardmove+c.y*e.sidemove,z:i.z*e.forwardmove+c.z*e.sidemove},x=e.buttons??0;x&8&&(u=R(u,{x:0,y:0,z:s*on})),x&16&&(u=R(u,{x:0,y:0,z:-s*on}));let a=B(u),m=a===0?{x:0,y:0,z:0}:w(u);if(a>r){let f=r/a;u=M(u,f),a=r,m=a===0?{x:0,y:0,z:0}:w(u)}let p=a*2;return{wishdir:m,wishspeed:a,accelSpeed:p}}function Te(t){let{origin:e,mins:n,viewheight:o,pointContents:r}=t,s=o-n.z,i=s/2,c={x:e.x,y:e.y,z:e.z+n.z+1},l=r(c);if((l&56)===0)return{waterlevel:0,watertype:0};let u=l,x=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(l=r(a),(l&56)!==0){x=2;let m={x:c.x,y:c.y,z:e.z+n.z+s};l=r(m),(l&56)!==0&&(x=3)}return{waterlevel:x,watertype:u}}var Ar=270;function gr(t,e){return(t&e)!==0}function Er(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=Ar}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let l=gr(o,8),u=e,x=s,a=!1,m=!1,p=i;if(!l)return u=X(u,2),{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(Vr(u))return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(n===4)return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(r>=2)return x=!1,{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};if(!x)return{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m};u=W(u,2),u=X(u,4),x=!1,a=!0,m=!0;let f=i.z+c,A=f<c?c:f;return p={...i,z:A},{pmFlags:u,onGround:x,velocity:p,jumpSound:a,jumped:m}}function Vr(t){return(t&2)!==0}function De(t,e,n){return{x:t,y:e,z:n}}function Ue(t,e){let n=De(-16,-16,0),o=De(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=De(n.x,n.y,-24),i=De(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Nr=4,Cr=32,Or=8;function Rr(t){let{pmType:e}=t;if(e===5){let i=Ue(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:D(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?D(n,1)||(n=W(n,1),o=!0):Mr(t)?!D(n,1)&&!vr(t)&&(n=W(n,1),o=!0):D(n,1)&&!Lr(t)&&(n=X(n,1),o=!0);let r=Ue(e,n),s=e===4||D(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Mr(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!Pr(t))}function vr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:rn(t.maxs,Nr),mask:3}).allsolid}function Lr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:rn(t.maxs,Cr),mask:3}).allsolid}function Pr(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-Or};return t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:3}).fraction<1?!1:t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:56}).fraction<1}function rn(t,e){return{x:t.x,y:t.y,z:e}}var wr=.25,zr=180,Fr=100,Dr=.7,Ur=.9,Ir=64,Br=128,Gr=1.01,Wr=1080;function kr(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:l,trace:u,pointContents:x}=t,a=t.pmFlags,m=t.pmTime,p,f=D(a,4),A,_=0;if(o.z>zr||e===1)a=X(a,4),f=!1;else{let T={x:s.x,y:s.y,z:s.z-wr},O=u(s,T,i,c);A=O,_=O.contents??0;let E=O.planeNormal,L=O.fraction<1&&!!E&&E.z<Dr;if(L&&E){let V=R(s,E),k=u(s,V,i,c);k.fraction<1&&!k.startsolid&&(L=!1)}if(O.fraction===1||!E||L&&!O.startsolid)a=X(a,4),f=!1;else{f=!0,D(a,8)&&(a&=~Wr,m=0);let V=D(a,4);if(!V){!n&&o.z>=Fr&&E.z>=Ur&&!D(a,1)&&(a=W(a,1024),m=Ir);let k=te(o,E,Gr);p=r.z-k.z}a=W(a,4),!V&&(n||D(a,1))&&(a=W(a,16),m=Br)}}let{waterlevel:C,watertype:y}=Te({origin:s,mins:i,viewheight:l,pointContents:x});return{pmFlags:a,pmTime:m,onGround:D(a,4),groundTrace:A,groundContents:_,waterlevel:C,watertype:y,impactDelta:p}}var sn=1,Hr=60,ht=1.01;function Kr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=ht,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x,forward:a,right:m,cmd:p,pmFlags:f,onGround:A,gravity:_,pmType:g,pmAccelerate:C,pmAirAccelerate:y=sn,pmMaxSpeed:T,pmDuckSpeed:O,onLadder:E,waterlevel:L,watertype:V,groundContents:k,viewPitch:S,ladderMod:v,pmWaterSpeed:U}=t,N={...t.velocity},G=Jr(a,m,p);G=Fe({wishVelocity:G,onLadder:E,onGround:A,waterlevel:L,watertype:V,groundContents:k,cmd:p,viewPitch:S,maxSpeed:D(f,1)?O:T,ladderMod:v,waterSpeed:U,forward:a,origin:e,mins:o,maxs:r,trace:s});let I=D(f,1)?O:T,H=G,b=B(H);if(b!==0&&(H=w(H)),b>I){let q=I/b;G=M(G,q),b=I,b!==0&&(H=w(G))}return E?(N=Y({velocity:N,wishdir:H,wishspeed:b,accel:C,frametime:n}),Math.abs(G.z)<Number.EPSILON&&(N=Zr(N,_,n)),Ie({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})):A?(N={...N,z:0},N=Y({velocity:N,wishdir:H,wishspeed:b,accel:C,frametime:n}),_>0?N={...N,z:0}:N={...N,z:N.z-_*n},N.x===0&&N.y===0?{origin:e,velocity:N,planes:[],blocked:0,stopped:!0,stepped:!1,stepHeight:0}:Ie({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})):(y>0?N=at({velocity:N,wishdir:H,wishspeed:b,accel:y,frametime:n}):N=Y({velocity:N,wishdir:H,wishspeed:b,accel:sn,frametime:n}),g!==1&&(N={...N,z:N.z-_*n}),Ie({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x}))}function Xr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=ht,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x,forward:a,right:m,cmd:p,pmFlags:f,onGround:A,pmMaxSpeed:_,pmDuckSpeed:g,pmWaterAccelerate:C,pmWaterSpeed:y,onLadder:T,watertype:O,groundContents:E,waterlevel:L,viewPitch:V,ladderMod:k}=t,S={...t.velocity},v=Yr(a,m,p);jr(p,A)?v={...v,z:v.z-Hr}:cn(p,16)?v=R(v,{x:0,y:0,z:-y*.5}):cn(p,8)&&(v=R(v,{x:0,y:0,z:y*.5})),v=Fe({wishVelocity:v,onLadder:T,onGround:A,waterlevel:L,watertype:O,groundContents:E,cmd:p,viewPitch:V,maxSpeed:D(f,1)?g:_,ladderMod:k,waterSpeed:y,forward:a,origin:e,mins:o,maxs:r,trace:s});let U=v,N=B(U);if(N!==0&&(U=w(U)),N>_){let j=_/N;v=M(v,j),N=_,N!==0&&(U=w(v))}if(N*=.5,D(f,1)&&N>g){let j=g/N;v=M(v,j),N=g,N!==0&&(U=w(v))}return S=Y({velocity:S,wishdir:U,wishspeed:N,accel:C,frametime:n}),Ie({origin:e,velocity:S,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:x})}function Jr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:0}}function Yr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:t.z*n.forwardmove+e.z*n.sidemove}}function cn(t,e){return!!((t.buttons??0)&e)}function jr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function Zr(t,e,n){let o=t.z,r=e*n;return o>0?(o-=r,o<0&&(o=0)):(o+=r,o>0&&(o=0)),{...t,z:o}}function Ie(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=ht,stepSize:l,maxBumps:u,maxClipPlanes:x,hasTime:a}=t;return se({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:l,maxBumps:u,maxClipPlanes:x,hasTime:a})}var qr=1,$r=40,Be=50,an=350,Qr=2048,ln=.1,es=800,ts=50,un=.7,ns=18,os=1.01,rs=2;function ss(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:l,velocity:u,mins:x,maxs:a,viewheight:m,trace:p,pointContents:f,onGround:A,overbounce:_=os,stepSize:g=ns,maxBumps:C,maxClipPlanes:y}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:u,performedWaterJump:!1};let T=X(e,128),O=n,E=u,L=w({x:c.x,y:c.y,z:0}),V=ie(L)>0;if(o<2&&V){let b=R(l,M(L,qr)),q=p(l,b,x,a),En=q.contents??0;q.fraction<1&&(En&536870912)!==0&&(T=W(T,128))}if(s===0)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};if(o!==2)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};if(!V)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};let k=R(l,M(L,$r)),S=p(l,k,x,a);if(S.fraction===1||!S.planeNormal||S.planeNormal.z>=un)return{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1};let v={x:L.x*Be,y:L.y*Be,z:an},U=l,N=!0,G=is(s);for(let b=0;b<G;b++){v={x:v.x,y:v.y,z:v.z-s*ln},v.z<0&&(N=!1);let q=se({origin:U,velocity:v,frametime:ln,trace:p,mins:x,maxs:a,overbounce:_,stepSize:g,maxBumps:C,maxClipPlanes:y,hasTime:N});U=q.origin,v=q.velocity}let j=R(U,{x:0,y:0,z:-rs}),I=p(U,j,x,a);return I.fraction===1||!I.planeNormal||I.planeNormal.z<un||I.endpos.z<l.z?{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1}:A&&Math.abs(l.z-I.endpos.z)<=g?{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1}:Te({origin:I.endpos,mins:x,viewheight:m,pointContents:f}).waterlevel>=2?{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!1}:(T=W(T,8),O=Qr,E={x:L.x*Be,y:L.y*Be,z:an},{pmFlags:T,pmTime:O,velocity:E,performedWaterJump:!0})}function is(t){if(t===0)return 0;let e=Math.floor(10*(es/t));return e<=0?0:Math.min(ts,e)}var bt=[0,-1,1];function yt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function cs(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(yt({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=mt({origin:e,mins:o,maxs:r,trace:(l,u,x,a)=>i(l,a,u,x)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function as(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of bt)for(let i of bt)for(let c of bt){let l={x:e.x+c,y:e.y+i,z:e.z+s};if(yt({origin:l,mins:n,maxs:o,trace:r}))return{origin:l,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function ls(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function us(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function fs(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=ls(n,o),r={...r,x:us(r.x)});let s=pe(r);return{viewangles:r,...s}}var ds=200,ms=200,xs=200,ps=140,hs=150,bs=3;function ys(t){let e=xe(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function Ts(t,e){return{x:ys(t.x+e.x),y:xe(t.y+e.y),z:xe(t.z+e.z)}}function Ss(t,e){let n=e.sensitivityX??e.sensitivity,o=(e.sensitivityY??e.sensitivity)*(e.invertY?-1:1);return{x:t.deltaY*o,y:t.deltaX*n,z:0}}var fn=(b=>(b[b.bad=0]="bad",b[b.muzzleflash=1]="muzzleflash",b[b.muzzleflash2=2]="muzzleflash2",b[b.temp_entity=3]="temp_entity",b[b.layout=4]="layout",b[b.inventory=5]="inventory",b[b.nop=6]="nop",b[b.disconnect=7]="disconnect",b[b.reconnect=8]="reconnect",b[b.sound=9]="sound",b[b.print=10]="print",b[b.stufftext=11]="stufftext",b[b.serverdata=12]="serverdata",b[b.configstring=13]="configstring",b[b.spawnbaseline=14]="spawnbaseline",b[b.centerprint=15]="centerprint",b[b.download=16]="download",b[b.playerinfo=17]="playerinfo",b[b.packetentities=18]="packetentities",b[b.deltapacketentities=19]="deltapacketentities",b[b.frame=20]="frame",b[b.splitclient=21]="splitclient",b[b.configblast=22]="configblast",b[b.spawnbaselineblast=23]="spawnbaselineblast",b[b.level_restart=24]="level_restart",b[b.damage=25]="damage",b[b.locprint=26]="locprint",b[b.fog=27]="fog",b[b.waitingforplayers=28]="waitingforplayers",b[b.bot_chat=29]="bot_chat",b[b.poi=30]="poi",b[b.help_path=31]="help_path",b[b.muzzleflash3=32]="muzzleflash3",b[b.achievement=33]="achievement",b))(fn||{}),dn=(s=>(s[s.bad=0]="bad",s[s.nop=1]="nop",s[s.move=2]="move",s[s.userinfo=3]="userinfo",s[s.stringcmd=4]="stringcmd",s))(dn||{});var mn=(d=>(d[d.GUNSHOT=0]="GUNSHOT",d[d.BLOOD=1]="BLOOD",d[d.BLASTER=2]="BLASTER",d[d.RAILTRAIL=3]="RAILTRAIL",d[d.SHOTGUN=4]="SHOTGUN",d[d.EXPLOSION1=5]="EXPLOSION1",d[d.EXPLOSION2=6]="EXPLOSION2",d[d.ROCKET_EXPLOSION=7]="ROCKET_EXPLOSION",d[d.GRENADE_EXPLOSION=8]="GRENADE_EXPLOSION",d[d.SPARKS=9]="SPARKS",d[d.SPLASH=10]="SPLASH",d[d.BUBBLETRAIL=11]="BUBBLETRAIL",d[d.SCREEN_SPARKS=12]="SCREEN_SPARKS",d[d.SHIELD_SPARKS=13]="SHIELD_SPARKS",d[d.BULLET_SPARKS=14]="BULLET_SPARKS",d[d.LASER_SPARKS=15]="LASER_SPARKS",d[d.PARASITE_ATTACK=16]="PARASITE_ATTACK",d[d.ROCKET_EXPLOSION_WATER=17]="ROCKET_EXPLOSION_WATER",d[d.GRENADE_EXPLOSION_WATER=18]="GRENADE_EXPLOSION_WATER",d[d.MEDIC_CABLE_ATTACK=19]="MEDIC_CABLE_ATTACK",d[d.BFG_EXPLOSION=20]="BFG_EXPLOSION",d[d.BFG_BIGEXPLOSION=21]="BFG_BIGEXPLOSION",d[d.BOSSTPORT=22]="BOSSTPORT",d[d.BFG_LASER=23]="BFG_LASER",d[d.GRAPPLE_CABLE=24]="GRAPPLE_CABLE",d[d.WELDING_SPARKS=25]="WELDING_SPARKS",d[d.GREENBLOOD=26]="GREENBLOOD",d[d.BLUEHYPERBLASTER=27]="BLUEHYPERBLASTER",d[d.PLASMA_EXPLOSION=28]="PLASMA_EXPLOSION",d[d.TUNNEL_SPARKS=29]="TUNNEL_SPARKS",d[d.BLASTER2=30]="BLASTER2",d[d.RAILTRAIL2=31]="RAILTRAIL2",d[d.FLAME=32]="FLAME",d[d.LIGHTNING=33]="LIGHTNING",d[d.DEBUGTRAIL=34]="DEBUGTRAIL",d[d.PLAIN_EXPLOSION=35]="PLAIN_EXPLOSION",d[d.FLASHLIGHT=36]="FLASHLIGHT",d[d.FORCEWALL=37]="FORCEWALL",d[d.HEATBEAM=38]="HEATBEAM",d[d.MONSTER_HEATBEAM=39]="MONSTER_HEATBEAM",d[d.STEAM=40]="STEAM",d[d.BUBBLETRAIL2=41]="BUBBLETRAIL2",d[d.MOREBLOOD=42]="MOREBLOOD",d[d.HEATBEAM_SPARKS=43]="HEATBEAM_SPARKS",d[d.HEATBEAM_STEAM=44]="HEATBEAM_STEAM",d[d.CHAINFIST_SMOKE=45]="CHAINFIST_SMOKE",d[d.ELECTRIC_SPARKS=46]="ELECTRIC_SPARKS",d[d.TRACKER_EXPLOSION=47]="TRACKER_EXPLOSION",d[d.TELEPORT_EFFECT=48]="TELEPORT_EFFECT",d[d.DBALL_GOAL=49]="DBALL_GOAL",d[d.WIDOWBEAMOUT=50]="WIDOWBEAMOUT",d[d.NUKEBLAST=51]="NUKEBLAST",d[d.WIDOWSPLASH=52]="WIDOWSPLASH",d[d.EXPLOSION1_BIG=53]="EXPLOSION1_BIG",d[d.EXPLOSION1_NP=54]="EXPLOSION1_NP",d[d.FLECHETTE=55]="FLECHETTE",d[d.BLUEHYPERBLASTER_KEX=56]="BLUEHYPERBLASTER_KEX",d[d.BFG_ZAP=57]="BFG_ZAP",d[d.BERSERK_SLAM=58]="BERSERK_SLAM",d[d.GRAPPLE_CABLE_2=59]="GRAPPLE_CABLE_2",d[d.POWER_SPLASH=60]="POWER_SPLASH",d[d.LIGHTNING_BEAM=61]="LIGHTNING_BEAM",d[d.EXPLOSION1_NL=62]="EXPLOSION1_NL",d[d.EXPLOSION2_NL=63]="EXPLOSION2_NL",d))(mn||{});var _s=1024,As=256,gs=16,Es=64,Vs=512,Ns=1400,Cs=0,Os=1,Rs=2,Ms=3,vs=4,Ls=5,Ps=6,ws=7,zs=8,Fs=9,Ds=10,Us=11,Is=12,Bs=13;var xn=(i=>(i[i.LAYOUTS_LAYOUT=1]="LAYOUTS_LAYOUT",i[i.LAYOUTS_INVENTORY=2]="LAYOUTS_INVENTORY",i[i.LAYOUTS_HIDE_HUD=4]="LAYOUTS_HIDE_HUD",i[i.LAYOUTS_INTERMISSION=8]="LAYOUTS_INTERMISSION",i[i.LAYOUTS_HELP=16]="LAYOUTS_HELP",i[i.LAYOUTS_HIDE_CROSSHAIR=32]="LAYOUTS_HIDE_CROSSHAIR",i))(xn||{});function Tt(t){return t<<16>>16}function pn(t,e,n){let o=Math.floor(n/2),r=n%2!==0,s=e+o,i=t[s]||0;if(r){let c=t[s+1]||0,l=i>>>8&255;return(c&255)<<8|l}else return i&65535}function Gs(t,e,n,o){let r=Math.floor(n/2),s=n%2!==0,i=e+r;if(t[i]===void 0&&(t[i]=0),!s)t[i]=Tt(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],l=t[i+1],u=o&255,x=c&255|u<<8;t[i]=Tt(x);let m=o>>>8&255|l&65280;t[i+1]=Tt(m)}}function St(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,l=(1<<r)-1<<c,x=pn(t,e,i)&~l|o<<c&l;Gs(t,e,i,x&65535)}function _t(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(pn(t,e,s)&c)>>>i}var hn=(V=>(V.QuadDamage="quad",V.Invulnerability="invulnerability",V.EnviroSuit="enviro_suit",V.Rebreather="rebreather",V.Silencer="silencer",V.PowerScreen="power_screen",V.PowerShield="power_shield",V.QuadFire="quad_fire",V.Invisibility="invisibility",V.Bandolier="bandolier",V.AmmoPack="ammo_pack",V.IRGoggles="ir_goggles",V.DoubleDamage="double_damage",V.SphereVengeance="sphere_vengeance",V.SphereHunter="sphere_hunter",V.SphereDefender="sphere_defender",V.Doppelganger="doppelganger",V.TagToken="tag_token",V.TechResistance="tech_resistance",V.TechStrength="tech_strength",V.TechHaste="tech_haste",V.TechRegeneration="tech_regeneration",V.Flashlight="flashlight",V.Compass="compass",V))(hn||{});var bn=(h=>(h[h.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",h[h.STAT_HEALTH=1]="STAT_HEALTH",h[h.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",h[h.STAT_AMMO=3]="STAT_AMMO",h[h.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",h[h.STAT_ARMOR=5]="STAT_ARMOR",h[h.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",h[h.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",h[h.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",h[h.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",h[h.STAT_TIMER=10]="STAT_TIMER",h[h.STAT_HELPICON=11]="STAT_HELPICON",h[h.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",h[h.STAT_LAYOUTS=13]="STAT_LAYOUTS",h[h.STAT_FRAGS=14]="STAT_FRAGS",h[h.STAT_FLASHES=15]="STAT_FLASHES",h[h.STAT_CHASE=16]="STAT_CHASE",h[h.STAT_SPECTATOR=17]="STAT_SPECTATOR",h[h.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",h[h.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",h[h.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",h[h.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",h[h.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",h[h.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",h[h.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",h[h.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",h[h.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",h[h.STAT_CTF_TECH=27]="STAT_CTF_TECH",h[h.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",h[h.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",h[h.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",h[h.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",h[h.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",h[h.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",h[h.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",h[h.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",h[h.STAT_KEY_A=44]="STAT_KEY_A",h[h.STAT_KEY_B=45]="STAT_KEY_B",h[h.STAT_KEY_C=46]="STAT_KEY_C",h[h.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",h[h.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",h[h.STAT_LIVES=49]="STAT_LIVES",h[h.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",h[h.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",h[h.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",h[h.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",h[h.STAT_LAST=54]="STAT_LAST",h))(bn||{}),Ge=12,We=9,Ws=Math.ceil(Ge*We/16),ke=23,He=2,ks=Math.ceil(ke*He/16),yn={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,bandolier:10,ammo_pack:10,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,tag_token:-1};function Hs(t,e,n){if(e<0||e>=Ge)return;let o=n;o>511&&(o=511),o<0&&(o=0),St(t,34,e,o,We)}function Ks(t,e){return e<0||e>=Ge?0:_t(t,34,e,We)}function Xs(t,e,n){let o;if(typeof e=="number"?o=e:o=yn[e],o===void 0||o<0||o>=ke)return;let r=n;r>3&&(r=3),r<0&&(r=0),St(t,41,o,r,He)}function Js(t,e){let n;return typeof e=="number"?n=e:n=yn[e],n===void 0||n<0||n>=ke?0:_t(t,41,n,He)}function Ys(t,e){t.writeByte(e.msec),t.writeByte(e.buttons),t.writeAngle16(e.angles.x),t.writeAngle16(e.angles.y),t.writeAngle16(e.angles.z),t.writeShort(e.forwardmove),t.writeShort(e.sidemove),t.writeShort(e.upmove),t.writeByte(0),t.writeByte(0)}var Tn=(y=>(y[y.MinLight=1]="MinLight",y[y.ViewerModel=2]="ViewerModel",y[y.WeaponModel=4]="WeaponModel",y[y.FullBright=8]="FullBright",y[y.DepthHack=16]="DepthHack",y[y.Translucent=32]="Translucent",y[y.FrameLerp=64]="FrameLerp",y[y.Beam=128]="Beam",y[y.CustomLight=256]="CustomLight",y[y.Glow=512]="Glow",y[y.ShellRed=1024]="ShellRed",y[y.ShellGreen=2048]="ShellGreen",y[y.ShellBlue=4096]="ShellBlue",y[y.IrVisible=32768]="IrVisible",y[y.ShellDouble=65536]="ShellDouble",y[y.ShellHalfDam=131072]="ShellHalfDam",y[y.MinLightPlus=262144]="MinLightPlus",y[y.ExtraLight=524288]="ExtraLight",y[y.BeamLightning=1048576]="BeamLightning",y))(Tn||{});var js=[0,145,227,114,7,150,228,117,14,159,237,124,9,152,234,123,28,141,255,110,27,138,248,105,18,131,241,96,21,132,246,103,56,169,219,74,63,174,220,77,54,167,213,68,49,160,210,67,36,181,199,86,35,178,192,81,42,187,201,88,45,188,206,95,112,225,147,2,119,230,148,5,126,239,157,12,121,232,154,11,108,253,143,30,107,250,136,25,98,243,129,16,101,244,134,23,72,217,171,58,79,222,172,61,70,215,165,52,65,208,162,51,84,197,183,38,83,194,176,33,90,203,185,40,93,204,190,47,224,113,3,146,231,118,4,149,238,127,13,156,233,120,10,155,252,109,31,142,251,106,24,137,242,99,17,128,245,100,22,135,216,73,59,170,223,78,60,173,214,71,53,164,209,64,50,163,196,85,39,182,195,82,32,177,202,91,41,184,205,92,46,191,144,1,115,226,151,6,116,229,158,15,125,236,153,8,122,235,140,29,111,254,139,26,104,249,130,19,97,240,133,20,102,247,168,57,75,218,175,62,76,221,166,55,69,212,161,48,66,211,180,37,86,199,179,34,80,193,186,43,89,200,189,44,94,207];function Zs(t){let e=0;for(let n=0;n<t.length;n++)e=js[(e^t[n])&255];return e}var At={};Je(At,{U_ANGLE1:()=>oi,U_ANGLE2:()=>ri,U_ANGLE3:()=>si,U_EFFECTS:()=>ai,U_EVENT:()=>fi,U_FRAME:()=>ii,U_MODEL:()=>$s,U_MODEL2:()=>mi,U_MODEL3:()=>xi,U_MODEL4:()=>pi,U_MOREBITS:()=>di,U_NUMBER:()=>qs,U_ORIGIN1:()=>ei,U_ORIGIN2:()=>ti,U_ORIGIN3:()=>ni,U_REMOVE:()=>hi,U_RENDERFX:()=>li,U_SKIN:()=>ci,U_SOLID:()=>ui,U_SOUND:()=>Qs});var qs=1,$s=2,Qs=4,ei=8,ti=16,ni=32,oi=64,ri=128,si=256,ii=512,ci=1024,ai=2048,li=4096,ui=8192,fi=16384,di=32768,mi=1,xi=2,pi=4,hi=32768;var Se=.025,gt=33554432,Ke={None:0,Feet:1,Waist:2,Under:3},bi=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},yi=(t,e)=>{let n={...t.origin},{mins:o,maxs:r}=t;if(n.z=t.origin.z+o.z+1,!(e(n)>))return{...t,waterLevel:Ke.None};let i=Ke.Feet,c=t.origin.z+(o.z+r.z)*.5;if(n.z=c,e(n)>){i=Ke.Waist;let u=t.origin.z+22;n.z=u,e(n)>&&(i=Ke.Under)}return{...t,waterLevel:i}},Ti=(t,e,n,o)=>{let r={...t};r=bi(r,n),r=yi(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:l,viewAngles:u}=r,x=l>=2?u:{x:u.x>180?(u.x-360)/3:u.x/3,y:u.y,z:u.z},{forward:a,right:m}=pe(x),p=ct({velocity:i,frametime:Se,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:l,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),f=l>=2?ut({forward:a,right:m,cmd:e,maxSpeed:320}):lt({forward:a,right:m,cmd:e,maxSpeed:320}),A=Y({velocity:p,wishdir:f.wishdir,wishspeed:f.wishspeed,accel:c||l>=2?10:1,frametime:Se}),_=n(s,{x:s.x+A.x*Se,y:s.y+A.y*Se,z:s.z+A.z*Se});return{...r,origin:_.endpos,velocity:A}};var Et=class{constructor(e){e instanceof Uint8Array?this.view=new DataView(e.buffer,e.byteOffset,e.byteLength):this.view=new DataView(e),this.offset=0,this.length=this.view.byteLength}getPosition(){return this.offset}seek(e){if(e<0||e>this.length)throw new Error(`Seek out of bounds: ${e} (length: ${this.length})`);this.offset=e}hasMore(){return this.offset<this.length}readChar(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readByte(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readShort(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUShort(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readLong(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readULong(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readFloat(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readString(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0)break;e+=String.fromCharCode(n)}return e}readStringLine(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0||n===10)break;e+=String.fromCharCode(n)}return e}readCoord(){return this.readShort()*(1/8)}readAngle(){return this.readChar()*(360/256)}readAngle16(){return this.readShort()*360/65536}readData(e){if(this.offset+e>this.length)throw new Error(`Read out of bounds: ${this.offset+e} (length: ${this.length})`);let n=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,new Uint8Array(n)}readPos(e){e.x=this.readCoord(),e.y=this.readCoord(),e.z=this.readCoord()}readDir(e){let n=this.readByte();if(n>=162){e.x=0,e.y=0,e.z=0;return}let o=J[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var _e=class{constructor(e=1400){typeof e=="number"?(this.buffer=new Uint8Array(e),this.fixed=!1):(this.buffer=e,this.fixed=!0),this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.offset=0}ensureSpace(e){if(this.offset+e>this.buffer.byteLength){if(this.fixed)throw new Error(`Buffer overflow: capacity ${this.buffer.byteLength}, needed ${this.offset+e}`);let n=Math.max(this.buffer.byteLength*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength)}}writeByte(e){this.ensureSpace(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureSpace(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureSpace(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureSpace(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureSpace(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length;this.ensureSpace(n+1);for(let o=0;o<n;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+n,0),this.offset+=n+1}writeCoord(e){this.writeShort(Math.trunc(e*8))}writeAngle(e){this.writeByte(Math.trunc(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.trunc(e*65536/360)&65535)}writePos(e){this.writeCoord(e.x),this.writeCoord(e.y),this.writeCoord(e.z)}writeDir(e){let n=-1,o=0;if(e.x===0&&e.y===0&&e.z===0){this.writeByte(0);return}for(let r=0;r<J.length;r++){let s=J[r],i=e.x*s[0]+e.y*s[1]+e.z*s[2];i>n&&(n=i,o=r)}this.writeByte(o)}getData(){return this.buffer.slice(0,this.offset)}getBuffer(){return this.buffer}getOffset(){return this.offset}reset(){this.offset=0}};var Vt=class{constructor(e=1024){this.buffer=new Uint8Array(e),this.view=new DataView(this.buffer.buffer),this.offset=0}ensureCapacity(e){if(this.offset+e>this.buffer.length){let n=Math.max(this.buffer.length*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer)}}getData(){return this.buffer.slice(0,this.offset)}writeByte(e){this.ensureCapacity(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureCapacity(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureCapacity(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeUShort(e){this.ensureCapacity(2),this.view.setUint16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureCapacity(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureCapacity(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length+1;this.ensureCapacity(n);for(let o=0;o<e.length;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+e.length,0),this.offset+=n}writeData(e){this.ensureCapacity(e.length),this.buffer.set(e,this.offset),this.offset+=e.length}writeCoord(e){this.writeShort(Math.round(e*8))}writeAngle(e){this.writeByte(Math.round(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.round(e*65536/360))}writeDir(e,n,o){let r=0,s=-999999,i=Math.sqrt(e*e+n*n+o*o);if(i>0){e/=i,n/=i,o/=i;for(let c=0;c<162;c++){let l=e*J[c][0]+n*J[c][1]+o*J[c][2];l>s&&(s=l,r=c)}}this.writeByte(r)}};var z=class z{constructor(){this.qport=0;this.incomingSequence=0;this.outgoingSequence=0;this.incomingAcknowledged=0;this.incomingReliableAcknowledged=!1;this.incomingReliableSequence=0;this.outgoingReliableSequence=0;this.reliableLength=0;this.lastReceived=0;this.lastSent=0;this.remoteAddress=null;this.reliableMessage=new _e(z.MAX_MSGLEN);let e=Date.now();this.lastReceived=e,this.lastSent=e,this.qport=Math.floor(Math.random()*65536)}setup(e,n=null){this.qport=e,this.remoteAddress=n,this.reset()}reset(){this.incomingSequence=0,this.outgoingSequence=0,this.incomingAcknowledged=0,this.incomingReliableAcknowledged=!1,this.incomingReliableSequence=0,this.outgoingReliableSequence=0,this.reliableLength=0,this.reliableMessage.reset(),this.lastReceived=Date.now(),this.lastSent=Date.now()}transmit(e){this.outgoingSequence++,this.lastSent=Date.now();let n=z.PACKET_HEADER,o=this.reliableLength>0?this.reliableLength+2:0,r=e?e.length:0;n+o+r>z.MAX_MSGLEN&&(r=z.MAX_MSGLEN-n-o,r<0&&(r=0));let s=new ArrayBuffer(n+o+r),i=new DataView(s),c=new Uint8Array(s),l=this.outgoingSequence;this.reliableLength>0&&(l|=2147483648,(this.outgoingReliableSequence&1)!==0&&(l|=1073741824)),i.setUint32(0,l,!0);let u=this.incomingSequence;(this.incomingReliableSequence&1)!==0&&(u|=2147483648),i.setUint32(4,u,!0),i.setUint16(8,this.qport,!0);let x=n;if(this.reliableLength>0){i.setUint16(x,this.reliableLength,!0),x+=2;let m=this.reliableMessage.getBuffer().subarray(0,this.reliableLength);c.set(m,x),x+=this.reliableLength}if(e&&r>0){let a=e.slice(0,r);c.set(a,x)}return c}process(e){if(e.length<z.PACKET_HEADER)return null;this.lastReceived=Date.now();let n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=n.getUint32(0,!0),r=n.getUint32(4,!0),s=n.getUint16(8,!0);if(this.qport!==s)return null;let i=o&1073741823;if((i-this.incomingSequence|0)<=0)return null;this.incomingSequence=i;let c=r&2147483647,l=(r&2147483648)!==0;if(c>this.incomingAcknowledged&&(this.incomingAcknowledged=c),this.reliableLength>0){let f=l?1:0,A=this.outgoingReliableSequence&1;f!==A&&(this.reliableLength=0,this.reliableMessage.reset(),this.outgoingReliableSequence^=1)}let u=(o&2147483648)!==0,x=(o&1073741824)!==0?1:0,a=z.PACKET_HEADER,m=null;if(u){if(a+2>e.byteLength)return null;let f=n.getUint16(a,!0);a+=2;let A=this.incomingReliableSequence&1;if(x===A){if(this.incomingReliableSequence++,a+f>e.byteLength)return null;m=e.slice(a,a+f)}a+=f}let p=e.slice(a);if(m&&m.length>0){let f=m.length+p.length,A=new Uint8Array(f);return A.set(m,0),A.set(p,m.length),A}return p||new Uint8Array(0)}canSendReliable(){return this.reliableLength===0}writeReliableByte(e){if(this.reliableLength+1>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeByte(e),this.reliableLength++}writeReliableShort(e){if(this.reliableLength+2>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeShort(e),this.reliableLength+=2}writeReliableLong(e){if(this.reliableLength+4>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeLong(e),this.reliableLength+=4}writeReliableString(e){let n=e.length+1;if(this.reliableLength+n>z.MAX_MSGLEN-z.HEADER_OVERHEAD)throw new Error("NetChan reliable buffer overflow");this.reliableMessage.writeString(e),this.reliableLength+=n}getReliableData(){return this.reliableLength===0?new Uint8Array(0):this.reliableMessage.getBuffer().subarray(0,this.reliableLength)}needsKeepalive(e){return e-this.lastSent>1e3}isTimedOut(e,n=3e4){return e-this.lastReceived>n}};z.MAX_MSGLEN=1400,z.FRAGMENT_SIZE=1024,z.PACKET_HEADER=10,z.HEADER_OVERHEAD=z.PACKET_HEADER+2;var Nt=z;var Sn=(T=>(T.Blaster="blaster",T.Shotgun="shotgun",T.SuperShotgun="supershotgun",T.Machinegun="machinegun",T.Chaingun="chaingun",T.HandGrenade="grenades",T.GrenadeLauncher="grenadelauncher",T.RocketLauncher="rocketlauncher",T.HyperBlaster="hyperblaster",T.Railgun="railgun",T.BFG10K="bfg10k",T.Grapple="grapple",T.ChainFist="chainfist",T.EtfRifle="etf_rifle",T.ProxLauncher="prox_launcher",T.IonRipper="ionripper",T.PlasmaBeam="plasmabeam",T.Phalanx="phalanx",T.Disruptor="disruptor",T.Trap="trap",T))(Sn||{});var Ct=(f=>(f[f.Bullets=0]="Bullets",f[f.Shells=1]="Shells",f[f.Rockets=2]="Rockets",f[f.Grenades=3]="Grenades",f[f.Cells=4]="Cells",f[f.Slugs=5]="Slugs",f[f.MagSlugs=6]="MagSlugs",f[f.Trap=7]="Trap",f[f.Flechettes=8]="Flechettes",f[f.Tesla=9]="Tesla",f[f.Disruptor=10]="Disruptor",f[f.Prox=11]="Prox",f[f.Nuke=12]="Nuke",f[f.Rounds=13]="Rounds",f))(Ct||{}),Si=Object.keys(Ct).length/2,_n=(m=>(m.Shells="ammo_shells",m.Bullets="ammo_bullets",m.Rockets="ammo_rockets",m.Grenades="ammo_grenades",m.Cells="ammo_cells",m.Slugs="ammo_slugs",m.MagSlugs="ammo_magslug",m.Flechettes="ammo_flechettes",m.Disruptor="ammo_disruptor",m.Tesla="ammo_tesla",m.Trap="ammo_trap",m.Prox="ammo_prox",m))(_n||{});var _i=["blaster","shotgun","supershotgun","machinegun","chaingun","grenadelauncher","rocketlauncher","grenades","hyperblaster","railgun","bfg10k"],Ai={blaster:null,shotgun:1,supershotgun:1,machinegun:0,chaingun:0,grenades:3,grenadelauncher:3,rocketlauncher:2,hyperblaster:4,railgun:5,bfg10k:4,grapple:null,chainfist:null,etf_rifle:8,prox_launcher:11,ionripper:4,plasmabeam:4,phalanx:6,disruptor:10,trap:7};var nl=32,An=(a=>(a[a.Auto=0]="Auto",a[a.Weapon=1]="Weapon",a[a.Voice=2]="Voice",a[a.Item=3]="Item",a[a.Body=4]="Body",a[a.Aux=5]="Aux",a[a.Footstep=6]="Footstep",a[a.Aux3=7]="Aux3",a[a.NoPhsAdd=8]="NoPhsAdd",a[a.Reliable=16]="Reliable",a[a.ForcePos=32]="ForcePos",a))(An||{}),ol=-1,rl=0,sl=1,il=2,cl=3,al=80,ll=.003;function gn(t){return t===3?t*.001:t*5e-4}function gi(t){let e=gn(t);return e<=0?Number.POSITIVE_INFINITY:80+1/e}return Rn(Ei);})();
|
|
2
2
|
//# sourceMappingURL=index.global.js.map
|