quake2ts 0.0.263 → 0.0.268

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.
Files changed (53) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +13 -13
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +31 -18
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +31 -18
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/engine/dist/browser/index.global.js +6 -6
  10. package/packages/engine/dist/browser/index.global.js.map +1 -1
  11. package/packages/engine/dist/cjs/index.cjs +25 -12
  12. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  13. package/packages/engine/dist/esm/index.js +25 -12
  14. package/packages/engine/dist/esm/index.js.map +1 -1
  15. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  16. package/packages/engine/dist/types/demo/parser.d.ts +2 -0
  17. package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
  18. package/packages/engine/dist/types/demo/playback.d.ts +1 -0
  19. package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
  20. package/packages/game/dist/browser/index.global.js +3 -2
  21. package/packages/game/dist/browser/index.global.js.map +1 -1
  22. package/packages/game/dist/cjs/index.cjs +1234 -381
  23. package/packages/game/dist/cjs/index.cjs.map +1 -1
  24. package/packages/game/dist/esm/index.js +1234 -381
  25. package/packages/game/dist/esm/index.js.map +1 -1
  26. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  27. package/packages/game/dist/types/combat/weapons/animation.d.ts +9 -0
  28. package/packages/game/dist/types/combat/weapons/animation.d.ts.map +1 -1
  29. package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
  30. package/packages/game/dist/types/combat/weapons/switching.d.ts +1 -0
  31. package/packages/game/dist/types/combat/weapons/switching.d.ts.map +1 -1
  32. package/packages/game/dist/types/entities/entity.d.ts +2 -1
  33. package/packages/game/dist/types/entities/entity.d.ts.map +1 -1
  34. package/packages/game/dist/types/entities/monsters/actor.d.ts +6 -0
  35. package/packages/game/dist/types/entities/monsters/actor.d.ts.map +1 -0
  36. package/packages/game/dist/types/entities/monsters/index.d.ts.map +1 -1
  37. package/packages/game/dist/types/entities/monsters/jorg.d.ts.map +1 -1
  38. package/packages/game/dist/types/entities/monsters/makron.d.ts.map +1 -1
  39. package/packages/game/dist/types/entities/player.d.ts +2 -0
  40. package/packages/game/dist/types/entities/player.d.ts.map +1 -1
  41. package/packages/game/dist/types/entities/player_anim.d.ts +50 -0
  42. package/packages/game/dist/types/entities/player_anim.d.ts.map +1 -0
  43. package/packages/game/dist/types/entities/targets.d.ts.map +1 -1
  44. package/packages/game/dist/types/index.d.ts.map +1 -1
  45. package/packages/shared/dist/browser/index.global.js +1 -1
  46. package/packages/shared/dist/browser/index.global.js.map +1 -1
  47. package/packages/shared/dist/cjs/index.cjs +36 -12
  48. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  49. package/packages/shared/dist/esm/index.js +36 -12
  50. package/packages/shared/dist/esm/index.js.map +1 -1
  51. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  52. package/packages/shared/dist/types/pmove/apply.d.ts.map +1 -1
  53. package/packages/shared/dist/types/pmove/pmove.d.ts.map +1 -1
@@ -12,6 +12,15 @@ export declare function Weapon_AnimationTime(ent: Entity): number;
12
12
  * Source: p_weapon.cpp:878-950
13
13
  */
14
14
  export declare function Weapon_Generic(ent: Entity, FRAME_ACTIVATE_LAST: number, FRAME_FIRE_LAST: number, FRAME_IDLE_LAST: number, FRAME_DEACTIVATE_LAST: number, FRAME_WAIT: number, FRAME_NOOP: number, fire: (ent: Entity) => void, sys: EntitySystem): void;
15
+ /**
16
+ * Weapon_Repeating - For automatic weapons (Chaingun, Hyperblaster)
17
+ * Source: p_weapon.cpp:952-978
18
+ */
19
+ export declare function Weapon_Repeating(ent: Entity, FRAME_FIRE_FRAME: number, // The frame where firing happens
20
+ FRAME_FIRE_LAST: number, // The last frame of firing sequence
21
+ FRAME_IDLE_LAST: number, // The last frame of idle sequence (used to reset)
22
+ FRAME_PAUSE: number, // Pause frames (not used in repeating logic usually)
23
+ FRAME_NOOP: number, fire: (ent: Entity) => void, sys: EntitySystem): void;
15
24
  /**
16
25
  * Throw_Generic - For throwable weapons like Grenades
17
26
  * Source: p_weapon.cpp:1013-1213
@@ -1 +1 @@
1
- {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/animation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOxD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,MAAM,EAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3B,GAAG,EAAE,YAAY,QA8IpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC1C,GAAG,EAAE,YAAY,QAyGpB"}
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/animation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOxD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,MAAM,EAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3B,GAAG,EAAE,YAAY,QA6EpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,EAAE,iCAAiC;AAC3D,eAAe,EAAE,MAAM,EAAG,oCAAoC;AAC9D,eAAe,EAAE,MAAM,EAAG,kDAAkD;AAC5E,WAAW,EAAE,MAAM,EAAO,qDAAqD;AAC/E,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3B,GAAG,EAAE,YAAY,QAiDpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC1C,GAAG,EAAE,YAAY,QAuFpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"firing.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/firing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAmB,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAqB/E,QAAA,MAAM,MAAM,4CAA0B,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;AA+MlC,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,QAuRzE"}
1
+ {"version":3,"file":"firing.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/firing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAmB,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AA0B/E,QAAA,MAAM,MAAM,4CAA0B,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;AA8NlC,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,QAuRzE"}
@@ -1,5 +1,6 @@
1
1
  import { Entity } from '../../entities/entity.js';
2
2
  import { WeaponId } from '../../inventory/playerInventory.js';
3
+ export declare function setInstantSwitch(enabled: boolean): void;
3
4
  /**
4
5
  * ChangeWeapon
5
6
  * Source: p_weapon.cpp:761-809
@@ -1 +1 @@
1
- {"version":3,"file":"switching.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/switching.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAmB,QAAQ,EAAgB,MAAM,oCAAoC,CAAC;AAK7F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,QA8D5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,QAQ7C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAuChD"}
1
+ {"version":3,"file":"switching.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/switching.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAmB,QAAQ,EAAgB,MAAM,oCAAoC,CAAC;AAQ7F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,QA+C5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,QAK7C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAsChD"}
@@ -53,6 +53,7 @@ export type UseCallback = (self: Entity, other: Entity | null, activator?: Entit
53
53
  export type BlockedCallback = (self: Entity, other: Entity | null) => void;
54
54
  export type PainCallback = (self: Entity, other: Entity | null, kick: number, damage: number) => void;
55
55
  export type DieCallback = (self: Entity, inflictor: Entity | null, attacker: Entity | null, damage: number, point: Vec3, mod: DamageMod) => void;
56
+ export type PlayerPainCallback = (self: Entity, damage: number) => void;
56
57
  export type EntityFieldType = 'int' | 'float' | 'string' | 'vec3' | 'boolean' | 'entity' | 'inventory' | 'callback';
57
58
  export interface EntityFieldDescriptor<K extends keyof Entity = keyof Entity> {
58
59
  readonly name: K;
@@ -198,7 +199,7 @@ export declare class Entity {
198
199
  touch?: TouchCallback;
199
200
  use?: UseCallback;
200
201
  blocked?: BlockedCallback;
201
- pain?: PainCallback;
202
+ pain?: PainCallback | PlayerPainCallback;
202
203
  die?: DieCallback;
203
204
  postthink?: ThinkCallback;
204
205
  activator: Entity | null;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/entities/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/entities/entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Entity } from '../entity.js';
2
+ import { SpawnContext, SpawnRegistry } from '../spawn.js';
3
+ export declare function SP_misc_actor(self: Entity, context: SpawnContext): void;
4
+ export declare function SP_target_actor(self: Entity, context: SpawnContext): void;
5
+ export declare function registerActorSpawns(registry: SpawnRegistry): void;
6
+ //# sourceMappingURL=actor.d.ts.map
@@ -0,0 +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;AAkZ1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QA4DhE;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":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyB5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAwBnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0B5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAyBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"jorg.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/jorg.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,MAAM,EAQP,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqP1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CA+CzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE"}
1
+ {"version":3,"file":"jorg.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/jorg.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,MAAM,EAQP,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsR1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CA+CzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"makron.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/makron.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,MAAM,EAOP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyQ1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAgD3E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"makron.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/makron.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,MAAM,EAOP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8U1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAgD3E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAElE"}
@@ -1,6 +1,8 @@
1
1
  import { Entity } from './entity.js';
2
2
  import { DamageMod } from '../combat/damageMods.js';
3
3
  import { EntitySystem } from './system.js';
4
+ export declare function P_PlayerThink(ent: Entity, sys: EntitySystem): void;
5
+ export declare function player_pain(self: Entity, damage: number): void;
4
6
  export declare function player_die(self: Entity, inflictor: Entity | null, attacker: Entity | null, damage: number, point: any, mod: DamageMod, sys?: EntitySystem): void;
5
7
  export declare function player_think(self: Entity, sys: EntitySystem): void;
6
8
  //# sourceMappingURL=player.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../../src/entities/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,YAAY,QAyBzJ;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QAmD3D"}
1
+ {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../../src/entities/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QAoE3D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QA2BvD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,YAAY,QAwCzJ;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QAsD3D"}
@@ -0,0 +1,50 @@
1
+ export declare const FRAME_stand01 = 0;
2
+ export declare const FRAME_stand40 = 39;
3
+ export declare const FRAME_run1 = 40;
4
+ export declare const FRAME_run6 = 45;
5
+ export declare const FRAME_attack1 = 46;
6
+ export declare const FRAME_attack8 = 53;
7
+ export declare const FRAME_pain101 = 54;
8
+ export declare const FRAME_pain104 = 57;
9
+ export declare const FRAME_pain201 = 58;
10
+ export declare const FRAME_pain204 = 61;
11
+ export declare const FRAME_pain301 = 62;
12
+ export declare const FRAME_pain304 = 65;
13
+ export declare const FRAME_death101 = 66;
14
+ export declare const FRAME_death106 = 71;
15
+ export declare const FRAME_death201 = 72;
16
+ export declare const FRAME_death206 = 77;
17
+ export declare const FRAME_death301 = 78;
18
+ export declare const FRAME_death306 = 83;
19
+ export declare const FRAME_crstnd01 = 84;
20
+ export declare const FRAME_crstnd19 = 102;
21
+ export declare const FRAME_crwalk1 = 103;
22
+ export declare const FRAME_crwalk6 = 108;
23
+ export declare const FRAME_crattak1 = 109;
24
+ export declare const FRAME_crattak3 = 111;
25
+ export declare const FRAME_crattak9 = 117;
26
+ export declare const FRAME_crpain1 = 118;
27
+ export declare const FRAME_crpain4 = 121;
28
+ export declare const FRAME_crdeath1 = 122;
29
+ export declare const FRAME_crdeath5 = 126;
30
+ export declare const FRAME_wave01 = 127;
31
+ export declare const FRAME_wave08 = 134;
32
+ export declare const FRAME_wave11 = 137;
33
+ export declare const FRAME_point01 = 138;
34
+ export declare const FRAME_point12 = 149;
35
+ export declare const FRAME_salute01 = 150;
36
+ export declare const FRAME_salute11 = 160;
37
+ export declare const FRAME_taunt01 = 161;
38
+ export declare const FRAME_taunt17 = 177;
39
+ export declare const FRAME_flip01 = 178;
40
+ export declare const FRAME_flip12 = 189;
41
+ export declare const FRAME_jump1 = 190;
42
+ export declare const FRAME_jump6 = 195;
43
+ export declare const FRAME_gun01 = 196;
44
+ export declare const FRAME_gun08 = 203;
45
+ export declare const ANIM_BASIC = 0;
46
+ export declare const ANIM_ATTACK = 1;
47
+ export declare const ANIM_PAIN = 2;
48
+ export declare const ANIM_DEATH = 3;
49
+ export declare const ANIM_REVERSE = 4;
50
+ //# sourceMappingURL=player_anim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player_anim.d.ts","sourceRoot":"","sources":["../../../src/entities/player_anim.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAG/B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,YAAY,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/entities/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0IhD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,QAgG3D"}
1
+ {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/entities/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkShD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,QAqG3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAiC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAI9B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,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,CAAC;IACnH,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1F,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrF,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAG1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAMD,OAAO,EAAE,WAAW,EAAgC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAgC,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACpE,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,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,CAAC;IAClH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;IAClI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACpF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,CAAC;IACvF,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC;IAC1C,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;CAClD;AAED,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAyB,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;AAG5B,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,iBAAiB,GACzB,WAAW,CA2Yb"}
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 ke=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var Tn=Object.getOwnPropertyNames;var _n=Object.prototype.hasOwnProperty;var He=(t,e)=>{for(var n in e)ke(t,n,{get:e[n],enumerable:!0})},Sn=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Tn(e))!_n.call(t,r)&&r!==n&&ke(t,r,{get:()=>e[r],enumerable:!(o=bn(e,r))||o.enumerable});return t};var An=t=>Sn(ke({},"__esModule",{value:!0}),t);var fi={};He(fi,{AMMO_MAX:()=>Ie,AMMO_TYPE_COUNT:()=>di,ANORMS:()=>X,AmmoItemId:()=>hn,AmmoType:()=>Vt,BinaryStream:()=>_t,BinaryWriter:()=>St,CGAME_EXPORT_KEYS:()=>Yo,CGAME_IMPORT_KEYS:()=>Jo,CMD_BACKUP:()=>ys,CONTENTS_AREAPORTAL:()=>Oi,CONTENTS_AUX:()=>Ai,CONTENTS_CURRENT_0:()=>$n,CONTENTS_CURRENT_180:()=>eo,CONTENTS_CURRENT_270:()=>to,CONTENTS_CURRENT_90:()=>Qn,CONTENTS_CURRENT_DOWN:()=>oo,CONTENTS_CURRENT_UP:()=>no,CONTENTS_DEADMONSTER:()=>Fi,CONTENTS_DETAIL:()=>Li,CONTENTS_LADDER:()=>Rt,CONTENTS_LAVA:()=>Vi,CONTENTS_MIST:()=>Ni,CONTENTS_MONSTER:()=>Pi,CONTENTS_MONSTERCLIP:()=>vi,CONTENTS_NONE:()=>Ne,CONTENTS_NO_WATERJUMP:()=>qn,CONTENTS_ORIGIN:()=>Mi,CONTENTS_PLAYER:()=>wi,CONTENTS_PLAYERCLIP:()=>Ri,CONTENTS_PROJECTILE:()=>Di,CONTENTS_PROJECTILECLIP:()=>gi,CONTENTS_SLIME:()=>Ci,CONTENTS_SOLID:()=>_i,CONTENTS_TRANSLUCENT:()=>zi,CONTENTS_TRIGGER:()=>Zn,CONTENTS_WATER:()=>Ei,CONTENTS_WINDOW:()=>Si,CS_MAX_STRING_LENGTH:()=>Vc,CS_MAX_STRING_LENGTH_OLD:()=>Cc,ClientCommand:()=>an,CollisionEntityIndex:()=>Ze,ConfigStringIndex:()=>ce,CvarFlags:()=>Ut,DEFAULT_FORWARD_SPEED:()=>ss,DEFAULT_MOUSE_SENSITIVITY:()=>us,DEFAULT_PITCH_SPEED:()=>ls,DEFAULT_SIDE_SPEED:()=>is,DEFAULT_UP_SPEED:()=>cs,DEFAULT_YAW_SPEED:()=>as,DEG2RAD:()=>Bn,DIST_EPSILON:()=>j,EntityFlags:()=>Tt,GAME_EXPORT_KEYS:()=>Xo,GAME_IMPORT_KEYS:()=>Ko,G_GetAmmoStat:()=>Us,G_GetPowerupStat:()=>Bs,G_SetAmmoStat:()=>Ds,G_SetPowerupStat:()=>Is,LAST_VISIBLE_CONTENTS:()=>Ui,LayoutFlags:()=>un,MASK_ALL:()=>Qi,MASK_BLOCK_SIGHT:()=>sc,MASK_CURRENT:()=>ro,MASK_DEADSOLID:()=>tc,MASK_LADDER_NAV_SOLID:()=>cc,MASK_MONSTERSOLID:()=>nc,MASK_NAV_SOLID:()=>ic,MASK_OPAQUE:()=>oc,MASK_PLAYERSOLID:()=>ec,MASK_PROJECTILE:()=>lc,MASK_SHOT:()=>rc,MASK_SOLID:()=>Je,MASK_WALK_NAV_SOLID:()=>ac,MASK_WATER:()=>ge,MAX_CHALLENGES:()=>ps,MAX_CLIENTS:()=>Ro,MAX_CONFIGSTRINGS:()=>Do,MAX_EDICTS:()=>Ac,MAX_GENERAL:()=>zo,MAX_IMAGES:()=>Fo,MAX_INFO_STRING:()=>bs,MAX_ITEMS:()=>Lo,MAX_LIGHTSTYLES:()=>vo,MAX_MODELS:()=>Mo,MAX_MSGLEN:()=>Ts,MAX_OSPATH:()=>Sc,MAX_PACKET_ENTITIES:()=>xs,MAX_QPATH:()=>_c,MAX_SHADOW_LIGHTS:()=>wo,MAX_SOUNDS:()=>Po,MAX_STRING_CHARS:()=>yc,MAX_STRING_TOKENS:()=>bc,MAX_TOKEN_CHARS:()=>Tc,MAX_WHEEL_ITEMS:()=>tt,MZ_BFG:()=>Ps,MZ_BLASTER:()=>_s,MZ_CHAINGUN1:()=>Vs,MZ_CHAINGUN2:()=>Cs,MZ_CHAINGUN3:()=>Es,MZ_GRENADE:()=>Os,MZ_HYPERBLASTER:()=>Fs,MZ_LOGIN:()=>Rs,MZ_LOGOUT:()=>vs,MZ_MACHINEGUN:()=>Ss,MZ_RAILGUN:()=>Ns,MZ_ROCKET:()=>gs,MZ_SHOTGUN:()=>As,MZ_SSHOTGUN:()=>Ms,MersenneTwister19937:()=>Ce,NUM_AMMO_STATS:()=>zs,NUM_BITS_FOR_AMMO:()=>Be,NUM_BITS_FOR_POWERUP:()=>Ge,NUM_POWERUP_STATS:()=>ws,NetworkMessageBuilder:()=>At,PITCH:()=>Ae,POWERUP_MAX:()=>We,PlaneSide:()=>Mt,PlayerButton:()=>oe,PlayerStat:()=>mn,PmFlag:()=>ne,PmType:()=>le,PowerupId:()=>fn,RAD2DEG:()=>Wn,ROLL:()=>Xe,RandomGenerator:()=>Ee,Replay:()=>nt,SLIDEMOVE_BLOCKED_FLOOR:()=>Wt,SLIDEMOVE_BLOCKED_WALL:()=>Gt,STOP_EPSILON:()=>q,SURF_ALPHATEST:()=>Yi,SURF_FLOWING:()=>Xi,SURF_LIGHT:()=>Bi,SURF_N64_SCROLL_FLIP:()=>$i,SURF_N64_SCROLL_X:()=>Zi,SURF_N64_SCROLL_Y:()=>qi,SURF_N64_UV:()=>ji,SURF_NODRAW:()=>Ji,SURF_NONE:()=>Ii,SURF_SKY:()=>Gi,SURF_SLICK:()=>Wi,SURF_TRANS33:()=>Hi,SURF_TRANS66:()=>Ki,SURF_WARP:()=>ki,ServerCommand:()=>cn,TempEntity:()=>ln,UPDATE_BACKUP:()=>hs,WaterLevel:()=>ae,WeaponId:()=>xn,YAW:()=>Ve,ZERO_VEC3:()=>F,addBlendColor:()=>Kn,addContents:()=>co,addPmFlag:()=>W,addPointToBounds:()=>Pn,addVec3:()=>R,addViewAngles:()=>fs,angleMod:()=>me,angleVectors:()=>pe,applyPmove:()=>ui,applyPmoveAccelerate:()=>J,applyPmoveAddCurrents:()=>Le,applyPmoveAirAccelerate:()=>st,applyPmoveAirMove:()=>Ur,applyPmoveFlyMove:()=>fr,applyPmoveFriction:()=>rt,applyPmoveWaterMove:()=>Ir,assertContract:()=>Ho,boxContents:()=>Ao,boxOnPlaneSide:()=>yo,boxesIntersect:()=>Fn,buildAirGroundWish:()=>it,buildCollisionModel:()=>xo,buildWaterWish:()=>ct,categorizePosition:()=>wr,checkDuckState:()=>Ar,checkJump:()=>yr,checkSpecialMovement:()=>$r,clampViewAngles:()=>rs,clipBoxToBrush:()=>$e,clipVelocityAgainstPlanes:()=>Ln,clipVelocityVec3:()=>ee,closestPointToBox:()=>Rn,combineSurfaceFlags:()=>uo,computePlaneSignBits:()=>qe,computePlayerDimensions:()=>we,concatRotationMatrices:()=>Ke,configStringSize:()=>Uo,copyVec3:()=>Cn,createDefaultTrace:()=>ve,createEmptyBounds3:()=>Mn,createMat4Identity:()=>Ot,createRandomGenerator:()=>Xn,crossVec3:()=>Q,currentVectorFromContents:()=>ft,degToRad:()=>_e,disableTraceDebug:()=>mo,distance:()=>gn,distanceBetweenBoxesSquared:()=>vn,dotVec3:()=>z,enableTraceDebug:()=>fo,fixStuckObjectGeneric:()=>ut,getWaterLevel:()=>be,goodPosition:()=>xt,groundCurrentVelocity:()=>$t,hasAllContents:()=>so,hasAnyContents:()=>io,hasPmFlag:()=>w,hasSurfaceFlags:()=>lo,inPHS:()=>Co,inPVS:()=>Vo,initialSnapPosition:()=>ts,isAtLeastWaistDeep:()=>ot,isUnderwater:()=>jo,lengthSquaredVec3:()=>se,lengthVec3:()=>I,lerpAngle:()=>Gn,mat4FromBasis:()=>jn,mouseDeltaToViewDelta:()=>ms,multiplyMat4:()=>Jn,multiplyVec3:()=>En,negateVec3:()=>Nn,normalizeVec3:()=>L,perpendicularVec3:()=>Et,planeDistanceToPoint:()=>te,pmoveCmdScale:()=>Zo,pointContents:()=>_o,pointContentsMany:()=>So,pointInsideBrush:()=>Pt,pointOnPlaneSide:()=>ho,projectPointOnPlane:()=>Ct,projectSourceVec3:()=>wn,projectSourceVec3WithUp:()=>Dn,radToDeg:()=>Se,removeContents:()=>ao,removePmFlag:()=>K,resolveSlideMove:()=>kt,rotatePointAroundVector:()=>In,scaleVec3:()=>v,slerpVec3:()=>Un,slideClipVelocityVec3:()=>zn,slideMove:()=>at,snapPosition:()=>es,stepSlideMove:()=>re,subtractVec3:()=>$,testBoxInBrush:()=>Ft,traceBox:()=>Dt,traceDebugInfo:()=>H,transformPointMat4:()=>Yn,validateContract:()=>It,vec3Equals:()=>On,vectorToAngles:()=>Hn,vectorToYaw:()=>kn,waterCurrentVelocity:()=>qt,writeUserCommand:()=>Ws});var F={x:0,y:0,z:0},q=.1,Vn=Math.PI/180;function Cn(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 $(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function En(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function v(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function Nn(t){return v(t,-1)}function z(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function Q(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 se(t){return z(t,t)}function I(t){return Math.sqrt(se(t))}function gn(t,e){return I($(t,e))}function On(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function L(t){let e=I(t);return e===0?t:v(t,1/e)}function Ct(t,e){let n=1/z(e,e),o=z(e,t)*n;return $(t,v(e,n*o))}function Et(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),L(Ct(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function Rn(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 vn(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 Mn(){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 Pn(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 Fn(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 ee(t,e,n){let o=z(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-q&&r<q&&(r=0),s>-q&&s<q&&(s=0),i>-q&&i<q&&(i=0),{x:r,y:s,z:i}}function Ln(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=ee(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&z(r,e[i])<0);i++);if(i===e.length)return o&&z(r,o)<=0?F:r}if(e.length===2){let s=Q(e[0],e[1]),i=z(s,t),c=v(s,i);return o&&z(c,o)<=0?F:c}return o&&z(r,o)<=0,F}function zn(t,e,n){return ee(t,e,n)}function wn(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 Dn(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 Un(t,e,n){let o=z(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),u=Math.sin((1-n)*i),l=Math.sin(n*i);r=u/c,s=l/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function Ke(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 In(t,e,n){if(I(t)===0)return e;let r=L(t),s=Et(r),i=Q(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],u=[[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]]],l=n*Vn,p=Math.cos(l),a=Math.sin(l),m=[[p,a,0],[-a,p,0],[0,0,1]],x=Ke(Ke(c,m),u);return{x:x[0][0]*e.x+x[0][1]*e.y+x[0][2]*e.z,y:x[1][0]*e.x+x[1][1]*e.y+x[1][2]*e.z,z:x[2][0]*e.x+x[2][1]*e.y+x[2][2]*e.z}}var Ae=0,Ve=1,Xe=2,Nt=Math.PI/180,gt=180/Math.PI,Bn=Nt,Wn=gt;function fe(t,e){switch(e){case Ae:return t.x;case Ve:return t.y;case Xe:default:return t.z}}function _e(t){return t*Nt}function Se(t){return t*gt}function Gn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function me(t){let e=t%360;return e<0?360+e:e}function pe(t){let e=_e(fe(t,Ve)),n=_e(fe(t,Ae)),o=_e(fe(t,Xe)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),u=Math.sin(o),l=Math.cos(o),p={x:c*s,y:c*r,z:-i},a={x:-u*i*s-l*-r,y:-u*i*r-l*s,z:-u*c},m={x:l*i*s-u*-r,y:l*i*r-u*s,z:l*c};return{forward:p,right:a,up:m}}function kn(t){let e=fe(t,Ae),n=fe(t,Ve);if(e===0)return n===0?0:n>0?90:270;let o=Se(Math.atan2(n,e));return o<0?o+360:o}function Hn(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=Se(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=Se(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var X=[[-.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 Kn(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],u=r[3],l=u+(1-u)*o;if(l<=0)return[0,0,0,0];let p=u/l,a=s*p+t*(1-p),m=i*p+e*(1-p),x=c*p+n*(1-p);return[a,m,x,l]}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)}},Ee=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 Xn(t){return new Ee(t)}function Ot(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function Jn(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 Yn(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 jn(t,e){let n=Ot();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 Ne=0,_i=1,Si=2,Ai=4,Vi=8,Ci=16,Ei=32,Ni=64,Zn=1073741824,qn=8192,gi=16384,Oi=32768,Ri=65536,vi=131072,$n=262144,Qn=524288,eo=1048576,to=2097152,no=4194304,oo=8388608,Mi=16777216,Pi=33554432,Fi=67108864,Li=134217728,zi=268435456,Rt=536870912,wi=1073741824,Di=-2147483648,Ui=64,Ii=0,Bi=1,Wi=2,Gi=4,ki=8,Hi=16,Ki=32,Xi=64,Ji=128,Yi=33554432,ji=268435456,Zi=536870912,qi=1073741824,$i=-2147483648,Qi=4294967295,Je=3,ec=1107361795,tc=65539,nc=1107427331,ge=56,oc=25,rc=1174405123,ro=16515072,sc=1107296281,ic=65539,cc=3,ac=196611,lc=1174421507;function so(t,e){return(t&e)===e}function io(t,e){return(t&e)!==0}function co(t,e){return t|e}function ao(t,e){return t&~e}function lo(t,e){return(t&e)===e}function uo(...t){let e=0;for(let n of t)e|=n;return e}function Oe(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},u={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let l=Oe(t+1,s,i),p=Oe(t+1,c,u);return{axis:o,dist:r,children:[l,p],items:new Set}}function vt(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,u=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(u<i)r=r.children[0];else break}return r.items.add(e),r}function xe(t,e,n,o){for(let u of t.items)o.add(u);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&&xe(t.children[1],e,n,o),i<s&&xe(t.children[0],e,n,o)}var Mt=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(Mt||{}),H=null;function fo(){H={nodesTraversed:0,leafsReached:0,brushesTested:0}}function mo(){H=null}var j=.03125,po=Number.MAX_SAFE_INTEGER-1,Re=1;function xo(t){let e=t.planes.map(i=>({...i,signbits:qe(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(u=>({plane:e[u.planenum],surfaceFlags:u.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 qe(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function te(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function ho(t,e,n=0){let o=te(t,e);return o>n?1:o<-n?2:3}function yo(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 Pt(t,e,n=j){for(let o of e.sides)if(te(o.plane,t)>n)return!1;return!0}function Ft(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 $e({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,u=1,l=null,p=null,a=!1,m=!1;for(let x of r.sides){let{plane:f}=x,A=f.dist;if(!i){let g=f.normal.x<0?o.x:n.x,T=f.normal.y<0?o.y:n.y,S=f.normal.z<0?o.z:n.z;A-=f.normal.x*g+f.normal.y*T+f.normal.z*S}let _=t.x*f.normal.x+t.y*f.normal.y+t.z*f.normal.z-A,V=e.x*f.normal.x+e.y*f.normal.y+e.z*f.normal.z-A;if(V>0&&(a=!0),_>0&&(m=!0),_>0&&V>=_)return;if(!(_<=0&&V<=0))if(_>V){let g=(_-j)/(_-V);g>c&&(c=g,l=f,p=x)}else{let g=(_+j)/(_-V);g<u&&(u=g)}}if(!m){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<u&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=l,s.contents=r.contents,s.surfaceFlags=p?.surfaceFlags??0)}function ve(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function Qe(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=te(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function Lt(t,e,n){let o=t.leaves[e],r=o.contents,s=et(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let u=i;u<c;u+=1){let l=t.leafBrushes[u],p=t.brushes[l];p.checkcount!==s&&(p.checkcount=s,p.sides.length!==0&&Pt(n,p)&&(r|=p.contents))}return r}function et(){let t=Re;return Re+=1,Re>=po&&(Re=1),t}function bo(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function To(t,e,n){return bo(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 zt(t,e,n){return Math.abs(To(t,e,n))}function Ye(t,e,n){return R(t,v($(e,t),n))}function je(t,e,n){let o=t.allsolid?0:t.fraction,r=Ye(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 Me(t,e,n){let o=Qe(t,e,n);return e.leaves[o]?.cluster??-1}function wt(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 he(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x}=t;if(m.fraction<=o)return;if(n<0){H&&H.leafsReached++;let D=-1-n,N=e.leaves[D],B=N.firstLeafBrush,Y=B+N.numLeafBrushes;for(let U=B;U<Y;U+=1){let k=e.leafBrushes[U],y=e.brushes[k];if((y.contents&a)!==0&&y.sides.length&&y.checkcount!==x&&(y.checkcount=x,H&&H.brushesTested++,$e({start:c,end:u,mins:l,maxs:p,brush:y,trace:m}),m.allsolid))return}return}H&&H.nodesTraversed++;let f=e.nodes[n],A=f.plane,_=zt(A,l,p),V=te(A,s),g=te(A,i);if(V>=_&&g>=_){he({model:e,nodeIndex:f.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x});return}if(V<-_&&g<-_){he({model:e,nodeIndex:f.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x});return}let T=0,S=1/(V-g),O,C;V<g?(T=1,C=(V+_+j)*S,O=(V-_+j)*S):(T=0,C=(V-_-j)*S,O=(V+_+j)*S),O<0?O=0:O>1&&(O=1),C<0?C=0:C>1&&(C=1);let P=o+(r-o)*O,E=Ye(s,i,O);if(he({model:e,nodeIndex:f.children[T],startFraction:o,endFraction:P,start:s,end:E,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x}),m.fraction<=P)return;let b=o+(r-o)*C,M=Ye(s,i,C);he({model:e,nodeIndex:f.children[1-T],startFraction:b,endFraction:r,start:M,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x})}function Dt(t){let{model:e,start:n,end:o}=t,r=t.mins??F,s=t.maxs??F,i=t.contentMask??4294967295,c=t.headnode??0,u=ve(),l=et();return he({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:u,brushCheckCount:l}),je(u,n,o)}function _o(t,e,n=0){let o=Qe(t,e,n);return Lt(e,o,t)}function So(t,e,n=0){let o=new Map;return t.map(r=>{let s=Qe(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 Lt(e,s,r)})}function Ao(t,e,n,o,r=0){let s=et(),i=0;function c(u){if(u<0){H&&H.leafsReached++;let x=-1-u,f=o.leaves[x];i|=f.contents;let A=f.firstLeafBrush,_=A+f.numLeafBrushes;for(let V=A;V<_;V+=1){let g=o.leafBrushes[V],T=o.brushes[g];if(T.checkcount===s||(T.checkcount=s,T.sides.length===0))continue;let S=Ft(t,e,n,T);S.startsolid&&(i|=S.contents)}return}let l=o.nodes[u],p=l.plane,a=zt(p,e,n),m=te(p,t);if(a===0){c(m>=0?l.children[0]:l.children[1]);return}if(m>a){c(l.children[0]);return}if(m<-a){c(l.children[1]);return}c(l.children[0]),c(l.children[1])}return c(r),i}function Vo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return wt(r,s,i,!1)}function Co(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return wt(r,s,i,!0)}function ie(t,e,n){return{normal:t,dist:e,type:n,signbits:qe(t)}}function Eo(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,l=[ie({x:1,y:0,z:0},n,0),ie({x:-1,y:0,z:0},-o,0),ie({x:0,y:1,z:0},r,1),ie({x:0,y:-1,z:0},-s,1),ie({x:0,y:0,z:1},i,2),ie({x:0,y:0,z:-1},-c,2)].map(p=>({plane:p,surfaceFlags:e}));return{contents:t.contents,sides:l,checkcount:0}}function No(t){let e=Eo(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 go(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 Oo(t,e){return e.allsolid&&!t.allsolid||e.startsolid&&!t.startsolid?!0:e.fraction<t.fraction}var Ze=class{constructor(){this.entities=new Map;this.entityNodes=new Map;this.rootNode=Oe()}link(e){let n=No(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=vt(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??F,r=e.maxs??F,s=e.contentMask??4294967295,i,c=null;e.model?i=Dt(e):i=je(ve(),e.start,e.end);let u={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},l={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},p=new Set;xe(this.rootNode,u,l,p);for(let a of p){if(a===n)continue;let m=this.entities.get(a);if(!m||(m.contents&s)===0)continue;let x=ve();if($e({start:e.start,end:e.end,mins:o,maxs:r,brush:m.brush,trace:x}),x.contents===0&&(x.contents=m.contents),x.startsolid||x.allsolid||x.fraction<i.fraction){let f=je(x,e.start,e.end);Oo(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;xe(this.rootNode,i.mins,i.maxs,c);for(let u of c){let l=this.entities.get(u);l&&(l.contents&r)!==0&&go(i,l.bounds)&&s.push(l.id)}return s}};var Ut=(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))(Ut||{});var yc=1024,bc=80,Tc=512,_c=64,Sc=128,Ro=256,Ac=8192,vo=256,Mo=8192,Po=2048,Fo=512,Lo=256,zo=512,wo=256,tt=32,Vc=96,Cc=64,ce=(b=>(b[b.Name=0]="Name",b[b.CdTrack=1]="CdTrack",b[b.Sky=2]="Sky",b[b.SkyAxis=3]="SkyAxis",b[b.SkyRotate=4]="SkyRotate",b[b.StatusBar=5]="StatusBar",b[b.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",b[b.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",b[b.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",b[b.AirAccel=59]="AirAccel",b[b.MaxClients=60]="MaxClients",b[b.MapChecksum=61]="MapChecksum",b[b.Models=62]="Models",b[b.Sounds=62+Mo]="Sounds",b[b.Images=b.Sounds+Po]="Images",b[b.Lights=b.Images+Fo]="Lights",b[b.ShadowLights=b.Lights+vo]="ShadowLights",b[b.Items=b.ShadowLights+wo]="Items",b[b.PlayerSkins=b.Items+Lo]="PlayerSkins",b[b.General=b.PlayerSkins+Ro]="General",b[b.WheelWeapons=b.General+zo]="WheelWeapons",b[b.WheelAmmo=b.WheelWeapons+tt]="WheelAmmo",b[b.WheelPowerups=b.WheelAmmo+tt]="WheelPowerups",b[b.CdLoopCount=b.WheelPowerups+tt]="CdLoopCount",b[b.GameStyle=b.CdLoopCount+1]="GameStyle",b[b.MaxConfigStrings=b.GameStyle+1]="MaxConfigStrings",b))(ce||{}),Do=ce.MaxConfigStrings;function Uo(t){return t>=5&&t<59?96*(59-t):t>=ce.General&&t<ce.WheelWeapons?96*(ce.MaxConfigStrings-t):96}var nt={};He(nt,{addReplayFrame:()=>Go,createReplaySession:()=>Wo,deserializeReplay:()=>Bo,serializeReplay:()=>Io});function Io(t){return JSON.stringify(t,null,2)}function Bo(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 Wo(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function Go(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function ko(t){return t??{}}function It(t,e,n={}){let o=ko(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 Ho(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=It(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 Ko=["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"],Xo=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],Jo=["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"],Yo=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var ae=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(ae||{});function ot(t){return t>=2}function jo(t){return t===3}var ne=(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))(ne||{});function w(t,e){return(t&e)!==0}function W(t,e){return t|e}function K(t,e){return t&~e}var le=(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))(le||{}),oe=(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))(oe||{});function rt(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:u,pmWaterFriction:l}=t,p=I(e);if(p<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let f=p<u?u:p;a+=f*c*n}i>0&&!s&&(a+=p*l*i*n);let m=p-a;if(m<0&&(m=0),m===p)return e;let x=m/p;return v(e,x)}function J(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=z(e,n),c=o-i;if(c<=0)return e;let u=r*s*o;return u>c&&(u=c),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function st(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=z(e,n),u=i-c;if(u<=0)return e;let l=r*o*s;return l>u&&(l=u),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function Zo(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 it(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=v(s,c),i=r}return{wishdir:i===0?s:L(s),wishspeed:i}}function ct(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};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}):s=R(s,{x:0,y:0,z:10});let i=I(s);if(i>r){let c=r/i;s=v(s,c),i=r}return i*=.5,{wishdir:i===0?s:L(s),wishspeed:i}}var Bt=5,qo=4,$o=18,Qo=.7,Wt=1,Gt=2;function kt(t,e,n,o=Bt,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let u of e){if(s.length>=o)return{velocity:F,planes:s,stopped:!0};if(s.find(m=>z(m,u)>.99))continue;s.push(u);let p,a=0;for(;a<s.length;a++){let m=ee(i,s[a],n),x=0;for(;x<s.length&&!(x!==a&&z(m,s[x])<0);x++);if(x===s.length){p=m;break}}if(p)i=p;else{if(s.length!==2)return{velocity:F,planes:s,stopped:!0};let m=Q(s[0],s[1]),x=z(m,i);i=v(m,x)}if(z(i,r)<=0)return{velocity:F,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function at(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=qo,maxClipPlanes:c=Bt,mins:u,maxs:l,hasTime:p=!1}=t,a=e,m=n,x=[],f=n,A=o,_=0;for(let g=0;g<i&&!(m.x===0&&m.y===0&&m.z===0);g++){let T=R(a,v(m,A)),S=s(a,T,u,l);if(S.allsolid){let C=p?f:F;return{origin:S.endpos,velocity:C,planes:x,stopped:!0,blocked:_}}if(S.startsolid){let C=p?f:F;return{origin:S.endpos,velocity:C,planes:x,stopped:!0,blocked:_}}if(S.fraction>0&&(a=S.endpos),S.fraction===1)break;if(!S.planeNormal)return{origin:a,velocity:p?f:F,planes:x,stopped:!0,blocked:_};S.planeNormal.z>.7&&(_|=Wt),S.planeNormal.z===0&&(_|=Gt),x.push(S.planeNormal),A-=A*S.fraction;let O=kt(m,x,r,c,f);if(m=O.velocity,x.splice(0,x.length,...O.planes),f.z>0&&m.z<0&&(m={...m,z:0}),O.stopped)return{origin:a,velocity:p?f:m,planes:x,stopped:!0,blocked:_}}let V=p?f:m;return{origin:a,velocity:V,planes:x,stopped:V.x===0&&V.y===0&&V.z===0,blocked:_}}function re(t){let{mins:e,maxs:n,stepSize:o=$o,...r}=t,s=t.origin,i=t.velocity,c=at({...r,mins:e,maxs:n}),u=R(s,{x:0,y:0,z:o}),l=r.trace(s,u,e,n);if(l.allsolid)return{...c,stepped:!1,stepHeight:0};let p=l.endpos.z-s.z,a=at({...r,origin:l.endpos,velocity:i,mins:e,maxs:n}),m=R(a.origin,{x:0,y:0,z:-p}),x=r.trace(a.origin,m,e,n),f=a.origin,A=x.planeNormal;x.allsolid||(f=x.endpos);let _=(C,P)=>(C.x-P.x)**2+(C.y-P.y)**2,V=_(c.origin,s),g=_(f,s);if(V>g||A&&A.z<Qo)return{...c,stepped:!1,stepHeight:0};let T={...a.velocity,z:c.velocity.z},S=a.blocked,O=T.x===0&&T.y===0&&T.z===0;return{origin:f,velocity:T,planes:a.planes,blocked:S,stopped:O,stepped:!0,stepHeight:p,stepNormal:A}}var ue=["x","y","z"],lt=[{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]}],Ht={x:0,y:0,z:0};function de(t){return{x:t.x,y:t.y,z:t.z}}function er(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 Kt(t,e,n){switch(e){case"x":t.x=n;break;case"y":t.y=n;break;case"z":t.z=n;break}}function Pe(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Xt(t,e,n,o){return t===-1?Pe(n,e):t===1?Pe(o,e):0}function Jt(t,e,n,o){let r=de(t);for(let s=0;s<ue.length;s++){let i=ue[s],c=e.normal[s];c<0?ye(r,i,Pe(n,i)):c>0&&ye(r,i,Pe(o,i))}return r}function tr(t,e,n){let o=de(Ht),r=de(Ht);for(let s=0;s<ue.length;s++){let i=ue[s];Kt(o,i,Xt(t.mins[s],i,e,n)),Kt(r,i,Xt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function nr(t,e,n){if(!e||n===0)return t;let o=de(t);return ye(o,e,n),o}function or(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 ut(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<lt.length;c++){let u=lt[c],{mins:l,maxs:p}=tr(u,n,o),a=Jt(e,u,n,o),m=r(a,l,p,a),x,f=0;if(m.startsolid)for(let C=0;C<ue.length;C++){if(u.normal[C]!==0)continue;let P=ue[C],E=de(a);if(ye(E,P,1),m=r(E,l,p,E),!m.startsolid){a=E,x=P,f=1;break}if(E=de(a),ye(E,P,-1),m=r(E,l,p,E),!m.startsolid){a=E,x=P,f=-1;break}}if(m.startsolid)continue;let A=lt[c^1],_=Jt(e,A,n,o);if(_=nr(_,x,f),m=r(a,l,p,_),m.startsolid)continue;let V=er(u.normal),g=R(m.endpos??_,v(V,.125)),T=$(g,_),S=R(e,T);S=or(S,x,f),!r(S,n,o,S).startsolid&&i.push({origin:S,distance:se(T)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,u)=>c.distance-u.distance),{result:"fixed",origin:{...i[0].origin}})}var rr=100,dt=200,Yt=150,Fe=25,sr=15,ir=1,cr={x:0,y:0,z:1},ar=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function ft(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?F:{x:e,y:n,z:o}}function qt(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return F;let s=ft(e);if(s===F)return F;let i=r;return n===1&&o&&(i*=.5),v(s,i)}function $t(t){let{groundContents:e,scale:n=rr}=t,o=ft(e);return o===F?F:v(o,n)}function Le(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:u,maxSpeed:l,ladderMod:p,waterSpeed:a,forward:m,origin:x,mins:f,maxs:A,trace:_=ar}=t,V=e;n&&(V=lr({wishVelocity:V,cmd:c,waterlevel:r,viewPitch:u,maxSpeed:l,ladderMod:p,onGround:o,forward:m,origin:x,mins:f,maxs:A,trace:_}));let g=qt({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(g!==F&&(V=R(V,g)),o){let T=$t({groundContents:i});T!==F&&(V=R(V,T))}return V}function lr(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:u,origin:l,mins:p,maxs:a,trace:m}=t,x=n.buttons??0,f={...e};if((x&24)!==0){let A=ot(o)?s:dt;f={...f,z:x&8?A:-A}}else if(n.forwardmove){let A=jt(n.forwardmove,-dt,dt);if(n.forwardmove>0){let _=r<sr?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=jt(n.sidemove,-Yt,Yt);o<2&&(A*=i);let _=L({x:u.x,y:u.y,z:0});if(_.x!==0||_.y!==0){let V=R(l,v(_,ir)),g=m(l,V,p,a);if(g.fraction!==1&&!g.allsolid&&g.contents!==void 0&&(g.contents&536870912)!==0&&g.planeNormal){let T=Q(g.planeNormal,cr);f={...f,x:0,y:0},f=R(f,v(T,-A))}}}else f={...f,x:Zt(f.x),y:Zt(f.y)};return f}function jt(t,e,n){return Math.max(e,Math.min(n,t))}function Zt(t){return t<-Fe?-Fe:t>Fe?Fe:t}var ur=1.5,Qt=.5,dr=1.01;function fr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:u,doclip:l,forward:p,right:a,mins:m,maxs:x,trace:f,overbounce:A=dr,stepSize:_,maxBumps:V,maxClipPlanes:g}=t,T=mr({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),S=pr({cmd:n,forward:p,right:a,pmMaxSpeed:i,pmWaterSpeed:u});if(S.wishspeed>0&&(T=J({velocity:T,wishdir:S.wishdir,wishspeed:S.accelSpeed,accel:c,frametime:o})),!l){let O=v(T,o);return{origin:R(e,O),velocity:T,planes:[],blocked:0,stopped:T.x===0&&T.y===0&&T.z===0,stepped:!1,stepHeight:0}}if(!f||!m||!x)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return re({origin:e,velocity:T,frametime:o,overbounce:A,trace:f,mins:m,maxs:x,stepSize:_,maxBumps:V,maxClipPlanes:g})}function mr(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*ur,u=(s<o?o:s)*i*r,l=s-u;return l<0&&(l=0),l===s?e:v(e,l/s)}function pr(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=L(n),c=L(o),l={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},p=e.buttons??0;p&8&&(l=R(l,{x:0,y:0,z:s*Qt})),p&16&&(l=R(l,{x:0,y:0,z:-s*Qt}));let a=I(l),m=a===0?{x:0,y:0,z:0}:L(l);if(a>r){let f=r/a;l=v(l,f),a=r,m=a===0?{x:0,y:0,z:0}:L(l)}let x=a*2;return{wishdir:m,wishspeed:a,accelSpeed:x}}function be(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},u=r(c);if((u&56)===0)return{waterlevel:0,watertype:0};let l=u,p=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(u=r(a),(u&56)!==0){p=2;let m={x:c.x,y:c.y,z:e.z+n.z+s};u=r(m),(u&56)!==0&&(p=3)}return{waterlevel:p,watertype:l}}var xr=270;function hr(t,e){return(t&e)!==0}function yr(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=xr}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let u=hr(o,8),l=e,p=s,a=!1,m=!1,x=i;if(!u)return l=K(l,2),{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(br(l))return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(n===4)return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(r>=2)return p=!1,{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(!p)return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};l=W(l,2),l=K(l,4),p=!1,a=!0,m=!0;let f=i.z+c,A=f<c?c:f;return x={...i,z:A},{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m}}function br(t){return(t&2)!==0}function ze(t,e,n){return{x:t,y:e,z:n}}function we(t,e){let n=ze(-16,-16,0),o=ze(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=ze(n.x,n.y,-24),i=ze(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Tr=4,_r=32,Sr=8;function Ar(t){let{pmType:e}=t;if(e===5){let i=we(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:w(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?w(n,1)||(n=W(n,1),o=!0):Vr(t)?!w(n,1)&&!Cr(t)&&(n=W(n,1),o=!0):w(n,1)&&!Er(t)&&(n=K(n,1),o=!0);let r=we(e,n),s=e===4||w(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Vr(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!Nr(t))}function Cr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:en(t.maxs,Tr),mask:3}).allsolid}function Er(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:en(t.maxs,_r),mask:3}).allsolid}function Nr(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-Sr};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 en(t,e){return{x:t.x,y:t.y,z:e}}var gr=.25,Or=180,Rr=100,vr=.7,Mr=.9,Pr=64,Fr=128,Lr=1.01,zr=1080;function wr(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:u,trace:l,pointContents:p}=t,a=t.pmFlags,m=t.pmTime,x,f=w(a,4),A,_=0;if(o.z>Or||e===1)a=K(a,4),f=!1;else{let S={x:s.x,y:s.y,z:s.z-gr},O=l(s,S,i,c);A=O,_=O.contents??0;let C=O.planeNormal,P=O.fraction<1&&!!C&&C.z<vr;if(P&&C){let E=R(s,C),G=l(s,E,i,c);G.fraction<1&&!G.startsolid&&(P=!1)}if(O.fraction===1||!C||P&&!O.startsolid)a=K(a,4),f=!1;else{f=!0,w(a,8)&&(a&=~zr,m=0);let E=w(a,4);if(!E){!n&&o.z>=Rr&&C.z>=Mr&&!w(a,1)&&(a=W(a,1024),m=Pr);let G=ee(o,C,Lr);x=r.z-G.z}a=W(a,4),!E&&(n||w(a,1))&&(a=W(a,16),m=Fr)}}let{waterlevel:g,watertype:T}=be({origin:s,mins:i,viewheight:u,pointContents:p});return{pmFlags:a,pmTime:m,onGround:w(a,4),groundTrace:A,groundContents:_,waterlevel:g,watertype:T,impactDelta:x}}var tn=1,Dr=60,mt=1.01;function Ur(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p,forward:a,right:m,cmd:x,pmFlags:f,onGround:A,gravity:_,pmType:V,pmAccelerate:g,pmAirAccelerate:T=tn,pmMaxSpeed:S,pmDuckSpeed:O,onLadder:C,waterlevel:P,watertype:E,groundContents:G,viewPitch:b,ladderMod:M,pmWaterSpeed:D}=t,N={...t.velocity},B=Br(a,m,x);B=Le({wishVelocity:B,onLadder:C,onGround:A,waterlevel:P,watertype:E,groundContents:G,cmd:x,viewPitch:b,maxSpeed:w(f,1)?O:S,ladderMod:M,waterSpeed:D,forward:a,origin:e,mins:o,maxs:r,trace:s});let U=w(f,1)?O:S,k=B,y=I(k);if(y!==0&&(k=L(k)),y>U){let Z=U/y;B=v(B,Z),y=U,y!==0&&(k=L(B))}return C?(N=J({velocity:N,wishdir:k,wishspeed:y,accel:g,frametime:n}),Math.abs(B.z)<Number.EPSILON&&(N=kr(N,_,n)),De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})):A?(N={...N,z:0},N=J({velocity:N,wishdir:k,wishspeed:y,accel:g,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}:De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})):(T>0?N=st({velocity:N,wishdir:k,wishspeed:y,accel:T,frametime:n}):N=J({velocity:N,wishdir:k,wishspeed:y,accel:tn,frametime:n}),V!==1&&(N={...N,z:N.z-_*n}),De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p}))}function Ir(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p,forward:a,right:m,cmd:x,pmFlags:f,onGround:A,pmMaxSpeed:_,pmDuckSpeed:V,pmWaterAccelerate:g,pmWaterSpeed:T,onLadder:S,watertype:O,groundContents:C,waterlevel:P,viewPitch:E,ladderMod:G}=t,b={...t.velocity},M=Wr(a,m,x);Gr(x,A)?M={...M,z:M.z-Dr}:nn(x,16)?M=R(M,{x:0,y:0,z:-T*.5}):nn(x,8)&&(M=R(M,{x:0,y:0,z:T*.5})),M=Le({wishVelocity:M,onLadder:S,onGround:A,waterlevel:P,watertype:O,groundContents:C,cmd:x,viewPitch:E,maxSpeed:w(f,1)?V:_,ladderMod:G,waterSpeed:T,forward:a,origin:e,mins:o,maxs:r,trace:s});let D=M,N=I(D);if(N!==0&&(D=L(D)),N>_){let Y=_/N;M=v(M,Y),N=_,N!==0&&(D=L(M))}if(N*=.5,w(f,1)&&N>V){let Y=V/N;M=v(M,Y),N=V,N!==0&&(D=L(M))}return b=J({velocity:b,wishdir:D,wishspeed:N,accel:g,frametime:n}),De({origin:e,velocity:b,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})}function Br(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 Wr(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 nn(t,e){return!!((t.buttons??0)&e)}function Gr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function kr(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 De(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=mt,stepSize:u,maxBumps:l,maxClipPlanes:p,hasTime:a}=t;return re({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:u,maxBumps:l,maxClipPlanes:p,hasTime:a})}var Hr=1,Kr=40,Ue=50,on=350,Xr=2048,rn=.1,Jr=800,Yr=50,sn=.7,jr=18,Zr=1.01,qr=2;function $r(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:u,velocity:l,mins:p,maxs:a,viewheight:m,trace:x,pointContents:f,onGround:A,overbounce:_=Zr,stepSize:V=jr,maxBumps:g,maxClipPlanes:T}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:l,performedWaterJump:!1};let S=K(e,128),O=n,C=l,P=L({x:c.x,y:c.y,z:0}),E=se(P)>0;if(o<2&&E){let y=R(u,v(P,Hr)),Z=x(u,y,p,a),yn=Z.contents??0;Z.fraction<1&&(yn&536870912)!==0&&(S=W(S,128))}if(s===0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(o!==2)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(!E)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};let G=R(u,v(P,Kr)),b=x(u,G,p,a);if(b.fraction===1||!b.planeNormal||b.planeNormal.z>=sn)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};let M={x:P.x*Ue,y:P.y*Ue,z:on},D=u,N=!0,B=Qr(s);for(let y=0;y<B;y++){M={x:M.x,y:M.y,z:M.z-s*rn},M.z<0&&(N=!1);let Z=re({origin:D,velocity:M,frametime:rn,trace:x,mins:p,maxs:a,overbounce:_,stepSize:V,maxBumps:g,maxClipPlanes:T,hasTime:N});D=Z.origin,M=Z.velocity}let Y=R(D,{x:0,y:0,z:-qr}),U=x(D,Y,p,a);return U.fraction===1||!U.planeNormal||U.planeNormal.z<sn||U.endpos.z<u.z?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:A&&Math.abs(u.z-U.endpos.z)<=V?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:be({origin:U.endpos,mins:p,viewheight:m,pointContents:f}).waterlevel>=2?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:(S=W(S,8),O=Xr,C={x:P.x*Ue,y:P.y*Ue,z:on},{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!0})}function Qr(t){if(t===0)return 0;let e=Math.floor(10*(Jr/t));return e<=0?0:Math.min(Yr,e)}var pt=[0,-1,1];function xt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function es(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(xt({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=ut({origin:e,mins:o,maxs:r,trace:(u,l,p,a)=>i(u,a,l,p)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function ts(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of pt)for(let i of pt)for(let c of pt){let u={x:e.x+c,y:e.y+i,z:e.z+s};if(xt({origin:u,mins:n,maxs:o,trace:r}))return{origin:u,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function ns(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function os(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function rs(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=ns(n,o),r={...r,x:os(r.x)});let s=pe(r);return{viewangles:r,...s}}var ss=200,is=200,cs=200,as=140,ls=150,us=3;function ds(t){let e=me(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function fs(t,e){return{x:ds(t.x+e.x),y:me(t.y+e.y),z:me(t.z+e.z)}}function ms(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 cn=(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))(cn||{}),an=(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))(an||{});var ln=(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))(ln||{});var ps=1024,xs=256,hs=16,ys=64,bs=512,Ts=1400,_s=0,Ss=1,As=2,Vs=3,Cs=4,Es=5,Ns=6,gs=7,Os=8,Rs=9,vs=10,Ms=11,Ps=12,Fs=13;var un=(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))(un||{});function ht(t){return t<<16>>16}function dn(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,u=i>>>8&255;return(c&255)<<8|u}else return i&65535}function Ls(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]=ht(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],u=t[i+1],l=o&255,p=c&255|l<<8;t[i]=ht(p);let m=o>>>8&255|u&65280;t[i+1]=ht(m)}}function yt(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,u=(1<<r)-1<<c,p=dn(t,e,i)&~u|o<<c&u;Ls(t,e,i,p&65535)}function bt(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(dn(t,e,s)&c)>>>i}var fn=(E=>(E.QuadDamage="quad",E.Invulnerability="invulnerability",E.EnviroSuit="enviro_suit",E.Rebreather="rebreather",E.Silencer="silencer",E.PowerScreen="power_screen",E.PowerShield="power_shield",E.QuadFire="quad_fire",E.Invisibility="invisibility",E.Bandolier="bandolier",E.AmmoPack="ammo_pack",E.IRGoggles="ir_goggles",E.DoubleDamage="double_damage",E.SphereVengeance="sphere_vengeance",E.SphereHunter="sphere_hunter",E.SphereDefender="sphere_defender",E.Doppelganger="doppelganger",E.TagToken="tag_token",E.TechResistance="tech_resistance",E.TechStrength="tech_strength",E.TechHaste="tech_haste",E.TechRegeneration="tech_regeneration",E.Flashlight="flashlight",E.Compass="compass",E))(fn||{});var mn=(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))(mn||{}),Ie=12,Be=9,zs=Math.ceil(Ie*Be/16),We=23,Ge=2,ws=Math.ceil(We*Ge/16),pn={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 Ds(t,e,n){if(e<0||e>=Ie)return;let o=n;o>511&&(o=511),o<0&&(o=0),yt(t,34,e,o,Be)}function Us(t,e){return e<0||e>=Ie?0:bt(t,34,e,Be)}function Is(t,e,n){let o;if(typeof e=="number"?o=e:o=pn[e],o===void 0||o<0||o>=We)return;let r=n;r>3&&(r=3),r<0&&(r=0),yt(t,41,o,r,Ge)}function Bs(t,e){let n;return typeof e=="number"?n=e:n=pn[e],n===void 0||n<0||n>=We?0:bt(t,41,n,Ge)}function Ws(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 Tt={};He(Tt,{U_ANGLE1:()=>Ys,U_ANGLE2:()=>js,U_ANGLE3:()=>Zs,U_EFFECTS:()=>Qs,U_EVENT:()=>ni,U_FRAME:()=>qs,U_MODEL:()=>ks,U_MODEL2:()=>ri,U_MODEL3:()=>si,U_MODEL4:()=>ii,U_MOREBITS:()=>oi,U_NUMBER:()=>Gs,U_ORIGIN1:()=>Ks,U_ORIGIN2:()=>Xs,U_ORIGIN3:()=>Js,U_REMOVE:()=>ci,U_RENDERFX:()=>ei,U_SKIN:()=>$s,U_SOLID:()=>ti,U_SOUND:()=>Hs});var Gs=1,ks=2,Hs=4,Ks=8,Xs=16,Js=32,Ys=64,js=128,Zs=256,qs=512,$s=1024,Qs=2048,ei=4096,ti=8192,ni=16384,oi=32768,ri=1,si=2,ii=4,ci=32768;var Te=.025,ai=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},li=(t,e)=>{let n={...t.origin};return n.z+=t.mins.z+1,e(n)&33554432?{...t,waterLevel:1}:{...t,waterLevel:0}},ui=(t,e,n,o)=>{let r={...t};r=ai(r,n),r=li(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:u,viewAngles:l}=r,p=u>=2?l:{x:l.x>180?(l.x-360)/3:l.x/3,y:l.y,z:l.z},{forward:a,right:m}=pe(p),x=rt({velocity:i,frametime:Te,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:u,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),f=u>=2?ct({forward:a,right:m,cmd:e,maxSpeed:320}):it({forward:a,right:m,cmd:e,maxSpeed:320}),A=J({velocity:x,wishdir:f.wishdir,wishspeed:f.wishspeed,accel:c?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 _t=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=X[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var St=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<X.length;r++){let s=X[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 At=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 u=e*X[c][0]+n*X[c][1]+o*X[c][2];u>s&&(s=u,r=c)}}this.writeByte(r)}};var xn=(T=>(T.Blaster="blaster",T.Shotgun="shotgun",T.SuperShotgun="super_shotgun",T.Machinegun="machinegun",T.Chaingun="chaingun",T.HandGrenade="hand_grenade",T.GrenadeLauncher="grenade_launcher",T.RocketLauncher="rocket_launcher",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))(xn||{});var Vt=(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))(Vt||{}),di=Object.keys(Vt).length/2,hn=(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))(hn||{});return An(fi);})();
1
+ "use strict";var Quake2Shared=(()=>{var He=Object.defineProperty;var _n=Object.getOwnPropertyDescriptor;var Sn=Object.getOwnPropertyNames;var An=Object.prototype.hasOwnProperty;var Ke=(t,e)=>{for(var n in e)He(t,n,{get:e[n],enumerable:!0})},Vn=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Sn(e))!An.call(t,r)&&r!==n&&He(t,r,{get:()=>e[r],enumerable:!(o=_n(e,r))||o.enumerable});return t};var Cn=t=>Vn(He({},"__esModule",{value:!0}),t);var pi={};Ke(pi,{AMMO_MAX:()=>Ie,AMMO_TYPE_COUNT:()=>mi,ANORMS:()=>X,AmmoItemId:()=>bn,AmmoType:()=>Et,BinaryStream:()=>At,BinaryWriter:()=>Vt,CGAME_EXPORT_KEYS:()=>Zo,CGAME_IMPORT_KEYS:()=>jo,CMD_BACKUP:()=>Ts,CONTENTS_AREAPORTAL:()=>vi,CONTENTS_AUX:()=>Ci,CONTENTS_CURRENT_0:()=>eo,CONTENTS_CURRENT_180:()=>no,CONTENTS_CURRENT_270:()=>oo,CONTENTS_CURRENT_90:()=>to,CONTENTS_CURRENT_DOWN:()=>so,CONTENTS_CURRENT_UP:()=>ro,CONTENTS_DEADMONSTER:()=>Li,CONTENTS_DETAIL:()=>wi,CONTENTS_LADDER:()=>Mt,CONTENTS_LAVA:()=>Ei,CONTENTS_MIST:()=>Oi,CONTENTS_MONSTER:()=>zi,CONTENTS_MONSTERCLIP:()=>Pi,CONTENTS_NONE:()=>Ne,CONTENTS_NO_WATERJUMP:()=>Qn,CONTENTS_ORIGIN:()=>Fi,CONTENTS_PLAYER:()=>Ui,CONTENTS_PLAYERCLIP:()=>Mi,CONTENTS_PROJECTILE:()=>Ii,CONTENTS_PROJECTILECLIP:()=>Ri,CONTENTS_SLIME:()=>Ni,CONTENTS_SOLID:()=>Ai,CONTENTS_TRANSLUCENT:()=>Di,CONTENTS_TRIGGER:()=>$n,CONTENTS_WATER:()=>gi,CONTENTS_WINDOW:()=>Vi,CS_MAX_STRING_LENGTH:()=>Ec,CS_MAX_STRING_LENGTH_OLD:()=>Nc,ClientCommand:()=>un,CollisionEntityIndex:()=>qe,ConfigStringIndex:()=>ce,CvarFlags:()=>Bt,DEFAULT_FORWARD_SPEED:()=>cs,DEFAULT_MOUSE_SENSITIVITY:()=>fs,DEFAULT_PITCH_SPEED:()=>ds,DEFAULT_SIDE_SPEED:()=>as,DEFAULT_UP_SPEED:()=>ls,DEFAULT_YAW_SPEED:()=>us,DEG2RAD:()=>Gn,DIST_EPSILON:()=>j,EntityFlags:()=>_t,GAME_EXPORT_KEYS:()=>Yo,GAME_IMPORT_KEYS:()=>Jo,G_GetAmmoStat:()=>Bs,G_GetPowerupStat:()=>Gs,G_SetAmmoStat:()=>Is,G_SetPowerupStat:()=>Ws,LAST_VISIBLE_CONTENTS:()=>Bi,LayoutFlags:()=>fn,MASK_ALL:()=>tc,MASK_BLOCK_SIGHT:()=>cc,MASK_CURRENT:()=>io,MASK_DEADSOLID:()=>oc,MASK_LADDER_NAV_SOLID:()=>lc,MASK_MONSTERSOLID:()=>rc,MASK_NAV_SOLID:()=>ac,MASK_OPAQUE:()=>sc,MASK_PLAYERSOLID:()=>nc,MASK_PROJECTILE:()=>dc,MASK_SHOT:()=>ic,MASK_SOLID:()=>Ye,MASK_WALK_NAV_SOLID:()=>uc,MASK_WATER:()=>ge,MAX_CHALLENGES:()=>hs,MAX_CLIENTS:()=>Mo,MAX_CONFIGSTRINGS:()=>Io,MAX_EDICTS:()=>Cc,MAX_GENERAL:()=>Do,MAX_IMAGES:()=>Lo,MAX_INFO_STRING:()=>_s,MAX_ITEMS:()=>wo,MAX_LIGHTSTYLES:()=>Po,MAX_MODELS:()=>Fo,MAX_MSGLEN:()=>Ss,MAX_OSPATH:()=>Vc,MAX_PACKET_ENTITIES:()=>ys,MAX_QPATH:()=>Ac,MAX_SHADOW_LIGHTS:()=>Uo,MAX_SOUNDS:()=>zo,MAX_STRING_CHARS:()=>Tc,MAX_STRING_TOKENS:()=>_c,MAX_TOKEN_CHARS:()=>Sc,MAX_WHEEL_ITEMS:()=>nt,MZ_BFG:()=>zs,MZ_BLASTER:()=>As,MZ_CHAINGUN1:()=>Es,MZ_CHAINGUN2:()=>Ns,MZ_CHAINGUN3:()=>gs,MZ_GRENADE:()=>vs,MZ_HYPERBLASTER:()=>Ls,MZ_LOGIN:()=>Ms,MZ_LOGOUT:()=>Ps,MZ_MACHINEGUN:()=>Vs,MZ_RAILGUN:()=>Os,MZ_ROCKET:()=>Rs,MZ_SHOTGUN:()=>Cs,MZ_SSHOTGUN:()=>Fs,MersenneTwister19937:()=>Ce,NUM_AMMO_STATS:()=>Ds,NUM_BITS_FOR_AMMO:()=>Be,NUM_BITS_FOR_POWERUP:()=>Ge,NUM_POWERUP_STATS:()=>Us,NetworkMessageBuilder:()=>Ct,PITCH:()=>Ae,POWERUP_MAX:()=>We,PlaneSide:()=>Ft,PlayerButton:()=>oe,PlayerStat:()=>xn,PmFlag:()=>ne,PmType:()=>le,PowerupId:()=>pn,RAD2DEG:()=>kn,ROLL:()=>Je,RandomGenerator:()=>Ee,Replay:()=>ot,SLIDEMOVE_BLOCKED_FLOOR:()=>kt,SLIDEMOVE_BLOCKED_WALL:()=>Ht,STOP_EPSILON:()=>q,SURF_ALPHATEST:()=>Zi,SURF_FLOWING:()=>Yi,SURF_LIGHT:()=>Gi,SURF_N64_SCROLL_FLIP:()=>ec,SURF_N64_SCROLL_X:()=>$i,SURF_N64_SCROLL_Y:()=>Qi,SURF_N64_UV:()=>qi,SURF_NODRAW:()=>ji,SURF_NONE:()=>Wi,SURF_SKY:()=>Hi,SURF_SLICK:()=>ki,SURF_TRANS33:()=>Xi,SURF_TRANS66:()=>Ji,SURF_WARP:()=>Ki,ServerCommand:()=>ln,TempEntity:()=>dn,UPDATE_BACKUP:()=>bs,WaterLevel:()=>ae,WeaponId:()=>yn,YAW:()=>Ve,ZERO_VEC3:()=>F,addBlendColor:()=>Jn,addContents:()=>lo,addPmFlag:()=>W,addPointToBounds:()=>zn,addVec3:()=>R,addViewAngles:()=>ps,angleMod:()=>me,angleVectors:()=>pe,applyPmove:()=>fi,applyPmoveAccelerate:()=>J,applyPmoveAddCurrents:()=>ze,applyPmoveAirAccelerate:()=>it,applyPmoveAirMove:()=>Br,applyPmoveFlyMove:()=>pr,applyPmoveFriction:()=>st,applyPmoveWaterMove:()=>Wr,assertContract:()=>Xo,boxContents:()=>Co,boxOnPlaneSide:()=>To,boxesIntersect:()=>Ln,buildAirGroundWish:()=>ct,buildCollisionModel:()=>yo,buildWaterWish:()=>at,categorizePosition:()=>Ur,checkDuckState:()=>Cr,checkJump:()=>Tr,checkSpecialMovement:()=>es,clampViewAngles:()=>is,clipBoxToBrush:()=>Qe,clipVelocityAgainstPlanes:()=>wn,clipVelocityVec3:()=>ee,closestPointToBox:()=>Mn,combineSurfaceFlags:()=>mo,computePlaneSignBits:()=>$e,computePlayerDimensions:()=>we,concatRotationMatrices:()=>Xe,configStringSize:()=>Bo,copyVec3:()=>Nn,createDefaultTrace:()=>ve,createEmptyBounds3:()=>Fn,createMat4Identity:()=>vt,createRandomGenerator:()=>Yn,crossVec3:()=>Q,currentVectorFromContents:()=>mt,degToRad:()=>_e,disableTraceDebug:()=>xo,distance:()=>Rn,distanceBetweenBoxesSquared:()=>Pn,dotVec3:()=>L,enableTraceDebug:()=>po,fixStuckObjectGeneric:()=>dt,getWaterLevel:()=>be,goodPosition:()=>ht,groundCurrentVelocity:()=>en,hasAllContents:()=>co,hasAnyContents:()=>ao,hasPmFlag:()=>w,hasSurfaceFlags:()=>fo,inPHS:()=>No,inPVS:()=>Eo,initialSnapPosition:()=>os,isAtLeastWaistDeep:()=>rt,isUnderwater:()=>qo,lengthSquaredVec3:()=>se,lengthVec3:()=>I,lerpAngle:()=>Hn,mat4FromBasis:()=>qn,mouseDeltaToViewDelta:()=>xs,multiplyMat4:()=>jn,multiplyVec3:()=>gn,negateVec3:()=>On,normalizeVec3:()=>z,perpendicularVec3:()=>gt,planeDistanceToPoint:()=>te,pmoveCmdScale:()=>$o,pointContents:()=>Ao,pointContentsMany:()=>Vo,pointInsideBrush:()=>zt,pointOnPlaneSide:()=>bo,projectPointOnPlane:()=>Nt,projectSourceVec3:()=>Un,projectSourceVec3WithUp:()=>In,radToDeg:()=>Se,removeContents:()=>uo,removePmFlag:()=>K,resolveSlideMove:()=>Kt,rotatePointAroundVector:()=>Wn,scaleVec3:()=>v,slerpVec3:()=>Bn,slideClipVelocityVec3:()=>Dn,slideMove:()=>lt,snapPosition:()=>ns,stepSlideMove:()=>re,subtractVec3:()=>$,testBoxInBrush:()=>Lt,traceBox:()=>It,traceDebugInfo:()=>H,transformPointMat4:()=>Zn,validateContract:()=>Wt,vec3Equals:()=>vn,vectorToAngles:()=>Xn,vectorToYaw:()=>Kn,waterCurrentVelocity:()=>Qt,writeUserCommand:()=>ks});var F={x:0,y:0,z:0},q=.1,En=Math.PI/180;function Nn(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 $(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function gn(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function v(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function On(t){return v(t,-1)}function L(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function Q(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 se(t){return L(t,t)}function I(t){return Math.sqrt(se(t))}function Rn(t,e){return I($(t,e))}function vn(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function z(t){let e=I(t);return e===0?t:v(t,1/e)}function Nt(t,e){let n=1/L(e,e),o=L(e,t)*n;return $(t,v(e,n*o))}function gt(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),z(Nt(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function Mn(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 Pn(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 zn(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 Ln(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 ee(t,e,n){let o=L(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-q&&r<q&&(r=0),s>-q&&s<q&&(s=0),i>-q&&i<q&&(i=0),{x:r,y:s,z:i}}function wn(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=ee(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&L(r,e[i])<0);i++);if(i===e.length)return o&&L(r,o)<=0?F:r}if(e.length===2){let s=Q(e[0],e[1]),i=L(s,t),c=v(s,i);return o&&L(c,o)<=0?F:c}return o&&L(r,o)<=0,F}function Dn(t,e,n){return ee(t,e,n)}function Un(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 In(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 Bn(t,e,n){let o=L(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),u=Math.sin((1-n)*i),l=Math.sin(n*i);r=u/c,s=l/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function Xe(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 Wn(t,e,n){if(I(t)===0)return e;let r=z(t),s=gt(r),i=Q(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],u=[[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]]],l=n*En,p=Math.cos(l),a=Math.sin(l),m=[[p,a,0],[-a,p,0],[0,0,1]],x=Xe(Xe(c,m),u);return{x:x[0][0]*e.x+x[0][1]*e.y+x[0][2]*e.z,y:x[1][0]*e.x+x[1][1]*e.y+x[1][2]*e.z,z:x[2][0]*e.x+x[2][1]*e.y+x[2][2]*e.z}}var Ae=0,Ve=1,Je=2,Ot=Math.PI/180,Rt=180/Math.PI,Gn=Ot,kn=Rt;function fe(t,e){switch(e){case Ae:return t.x;case Ve:return t.y;case Je:default:return t.z}}function _e(t){return t*Ot}function Se(t){return t*Rt}function Hn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function me(t){let e=t%360;return e<0?360+e:e}function pe(t){let e=_e(fe(t,Ve)),n=_e(fe(t,Ae)),o=_e(fe(t,Je)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),u=Math.sin(o),l=Math.cos(o),p={x:c*s,y:c*r,z:-i},a={x:-u*i*s-l*-r,y:-u*i*r-l*s,z:-u*c},m={x:l*i*s-u*-r,y:l*i*r-u*s,z:l*c};return{forward:p,right:a,up:m}}function Kn(t){let e=fe(t,Ae),n=fe(t,Ve);if(e===0)return n===0?0:n>0?90:270;let o=Se(Math.atan2(n,e));return o<0?o+360:o}function Xn(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=Se(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=Se(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var X=[[-.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 Jn(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],u=r[3],l=u+(1-u)*o;if(l<=0)return[0,0,0,0];let p=u/l,a=s*p+t*(1-p),m=i*p+e*(1-p),x=c*p+n*(1-p);return[a,m,x,l]}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)}},Ee=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 Yn(t){return new Ee(t)}function vt(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function jn(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 Zn(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 qn(t,e){let n=vt();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 Ne=0,Ai=1,Vi=2,Ci=4,Ei=8,Ni=16,gi=32,Oi=64,$n=1073741824,Qn=8192,Ri=16384,vi=32768,Mi=65536,Pi=131072,eo=262144,to=524288,no=1048576,oo=2097152,ro=4194304,so=8388608,Fi=16777216,zi=33554432,Li=67108864,wi=134217728,Di=268435456,Mt=536870912,Ui=1073741824,Ii=-2147483648,Bi=64,Wi=0,Gi=1,ki=2,Hi=4,Ki=8,Xi=16,Ji=32,Yi=64,ji=128,Zi=33554432,qi=268435456,$i=536870912,Qi=1073741824,ec=-2147483648,tc=4294967295,Ye=3,nc=1107361795,oc=65539,rc=1107427331,ge=56,sc=25,ic=1174405123,io=16515072,cc=1107296281,ac=65539,lc=3,uc=196611,dc=1174421507;function co(t,e){return(t&e)===e}function ao(t,e){return(t&e)!==0}function lo(t,e){return t|e}function uo(t,e){return t&~e}function fo(t,e){return(t&e)===e}function mo(...t){let e=0;for(let n of t)e|=n;return e}function Oe(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},u={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let l=Oe(t+1,s,i),p=Oe(t+1,c,u);return{axis:o,dist:r,children:[l,p],items:new Set}}function Pt(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,u=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(u<i)r=r.children[0];else break}return r.items.add(e),r}function xe(t,e,n,o){for(let u of t.items)o.add(u);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&&xe(t.children[1],e,n,o),i<s&&xe(t.children[0],e,n,o)}var Ft=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(Ft||{}),H=null;function po(){H={nodesTraversed:0,leafsReached:0,brushesTested:0}}function xo(){H=null}var j=.03125,ho=Number.MAX_SAFE_INTEGER-1,Re=1;function yo(t){let e=t.planes.map(i=>({...i,signbits:$e(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(u=>({plane:e[u.planenum],surfaceFlags:u.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 $e(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function te(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function bo(t,e,n=0){let o=te(t,e);return o>n?1:o<-n?2:3}function To(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 zt(t,e,n=j){for(let o of e.sides)if(te(o.plane,t)>n)return!1;return!0}function Lt(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 Qe({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,u=1,l=null,p=null,a=!1,m=!1;for(let x of r.sides){let{plane:f}=x,A=f.dist;if(!i){let g=f.normal.x<0?o.x:n.x,T=f.normal.y<0?o.y:n.y,S=f.normal.z<0?o.z:n.z;A-=f.normal.x*g+f.normal.y*T+f.normal.z*S}let _=t.x*f.normal.x+t.y*f.normal.y+t.z*f.normal.z-A,V=e.x*f.normal.x+e.y*f.normal.y+e.z*f.normal.z-A;if(V>0&&(a=!0),_>0&&(m=!0),_>0&&V>=_)return;if(!(_<=0&&V<=0))if(_>V){let g=(_-j)/(_-V);g>c&&(c=g,l=f,p=x)}else{let g=(_+j)/(_-V);g<u&&(u=g)}}if(!m){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<u&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=l,s.contents=r.contents,s.surfaceFlags=p?.surfaceFlags??0)}function ve(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function et(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=te(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function wt(t,e,n){let o=t.leaves[e],r=o.contents,s=tt(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let u=i;u<c;u+=1){let l=t.leafBrushes[u],p=t.brushes[l];p.checkcount!==s&&(p.checkcount=s,p.sides.length!==0&&zt(n,p)&&(r|=p.contents))}return r}function tt(){let t=Re;return Re+=1,Re>=ho&&(Re=1),t}function _o(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function So(t,e,n){return _o(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 Dt(t,e,n){return Math.abs(So(t,e,n))}function je(t,e,n){return R(t,v($(e,t),n))}function Ze(t,e,n){let o=t.allsolid?0:t.fraction,r=je(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 Me(t,e,n){let o=et(t,e,n);return e.leaves[o]?.cluster??-1}function Ut(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 he(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x}=t;if(m.fraction<=o)return;if(n<0){H&&H.leafsReached++;let D=-1-n,N=e.leaves[D],B=N.firstLeafBrush,Y=B+N.numLeafBrushes;for(let U=B;U<Y;U+=1){let k=e.leafBrushes[U],y=e.brushes[k];if((y.contents&a)!==0&&y.sides.length&&y.checkcount!==x&&(y.checkcount=x,H&&H.brushesTested++,Qe({start:c,end:u,mins:l,maxs:p,brush:y,trace:m}),m.allsolid))return}return}H&&H.nodesTraversed++;let f=e.nodes[n],A=f.plane,_=Dt(A,l,p),V=te(A,s),g=te(A,i);if(V>=_&&g>=_){he({model:e,nodeIndex:f.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x});return}if(V<-_&&g<-_){he({model:e,nodeIndex:f.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x});return}let T=0,S=1/(V-g),O,C;V<g?(T=1,C=(V+_+j)*S,O=(V-_+j)*S):(T=0,C=(V-_-j)*S,O=(V+_+j)*S),O<0?O=0:O>1&&(O=1),C<0?C=0:C>1&&(C=1);let P=o+(r-o)*O,E=je(s,i,O);if(he({model:e,nodeIndex:f.children[T],startFraction:o,endFraction:P,start:s,end:E,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x}),m.fraction<=P)return;let b=o+(r-o)*C,M=je(s,i,C);he({model:e,nodeIndex:f.children[1-T],startFraction:b,endFraction:r,start:M,end:i,traceStart:c,traceEnd:u,mins:l,maxs:p,contentMask:a,trace:m,brushCheckCount:x})}function It(t){let{model:e,start:n,end:o}=t,r=t.mins??F,s=t.maxs??F,i=t.contentMask??4294967295,c=t.headnode??0,u=ve(),l=tt();return he({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:u,brushCheckCount:l}),Ze(u,n,o)}function Ao(t,e,n=0){let o=et(t,e,n);return wt(e,o,t)}function Vo(t,e,n=0){let o=new Map;return t.map(r=>{let s=et(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 wt(e,s,r)})}function Co(t,e,n,o,r=0){let s=tt(),i=0;function c(u){if(u<0){H&&H.leafsReached++;let x=-1-u,f=o.leaves[x];i|=f.contents;let A=f.firstLeafBrush,_=A+f.numLeafBrushes;for(let V=A;V<_;V+=1){let g=o.leafBrushes[V],T=o.brushes[g];if(T.checkcount===s||(T.checkcount=s,T.sides.length===0))continue;let S=Lt(t,e,n,T);S.startsolid&&(i|=S.contents)}return}let l=o.nodes[u],p=l.plane,a=Dt(p,e,n),m=te(p,t);if(a===0){c(m>=0?l.children[0]:l.children[1]);return}if(m>a){c(l.children[0]);return}if(m<-a){c(l.children[1]);return}c(l.children[0]),c(l.children[1])}return c(r),i}function Eo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Ut(r,s,i,!1)}function No(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Ut(r,s,i,!0)}function ie(t,e,n){return{normal:t,dist:e,type:n,signbits:$e(t)}}function go(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,l=[ie({x:1,y:0,z:0},n,0),ie({x:-1,y:0,z:0},-o,0),ie({x:0,y:1,z:0},r,1),ie({x:0,y:-1,z:0},-s,1),ie({x:0,y:0,z:1},i,2),ie({x:0,y:0,z:-1},-c,2)].map(p=>({plane:p,surfaceFlags:e}));return{contents:t.contents,sides:l,checkcount:0}}function Oo(t){let e=go(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 Ro(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 vo(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=Oe()}link(e){let n=Oo(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=Pt(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??F,r=e.maxs??F,s=e.contentMask??4294967295,i,c=null;e.model?i=It(e):i=Ze(ve(),e.start,e.end);let u={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},l={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},p=new Set;xe(this.rootNode,u,l,p);for(let a of p){if(a===n)continue;let m=this.entities.get(a);if(!m||(m.contents&s)===0)continue;let x=ve();if(Qe({start:e.start,end:e.end,mins:o,maxs:r,brush:m.brush,trace:x}),x.contents===0&&(x.contents=m.contents),x.startsolid||x.allsolid||x.fraction<i.fraction){let f=Ze(x,e.start,e.end);vo(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;xe(this.rootNode,i.mins,i.maxs,c);for(let u of c){let l=this.entities.get(u);l&&(l.contents&r)!==0&&Ro(i,l.bounds)&&s.push(l.id)}return s}};var Bt=(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))(Bt||{});var Tc=1024,_c=80,Sc=512,Ac=64,Vc=128,Mo=256,Cc=8192,Po=256,Fo=8192,zo=2048,Lo=512,wo=256,Do=512,Uo=256,nt=32,Ec=96,Nc=64,ce=(b=>(b[b.Name=0]="Name",b[b.CdTrack=1]="CdTrack",b[b.Sky=2]="Sky",b[b.SkyAxis=3]="SkyAxis",b[b.SkyRotate=4]="SkyRotate",b[b.StatusBar=5]="StatusBar",b[b.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",b[b.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",b[b.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",b[b.AirAccel=59]="AirAccel",b[b.MaxClients=60]="MaxClients",b[b.MapChecksum=61]="MapChecksum",b[b.Models=62]="Models",b[b.Sounds=62+Fo]="Sounds",b[b.Images=b.Sounds+zo]="Images",b[b.Lights=b.Images+Lo]="Lights",b[b.ShadowLights=b.Lights+Po]="ShadowLights",b[b.Items=b.ShadowLights+Uo]="Items",b[b.PlayerSkins=b.Items+wo]="PlayerSkins",b[b.General=b.PlayerSkins+Mo]="General",b[b.WheelWeapons=b.General+Do]="WheelWeapons",b[b.WheelAmmo=b.WheelWeapons+nt]="WheelAmmo",b[b.WheelPowerups=b.WheelAmmo+nt]="WheelPowerups",b[b.CdLoopCount=b.WheelPowerups+nt]="CdLoopCount",b[b.GameStyle=b.CdLoopCount+1]="GameStyle",b[b.MaxConfigStrings=b.GameStyle+1]="MaxConfigStrings",b))(ce||{}),Io=ce.MaxConfigStrings;function Bo(t){return t>=5&&t<59?96*(59-t):t>=ce.General&&t<ce.WheelWeapons?96*(ce.MaxConfigStrings-t):96}var ot={};Ke(ot,{addReplayFrame:()=>Ho,createReplaySession:()=>ko,deserializeReplay:()=>Go,serializeReplay:()=>Wo});function Wo(t){return JSON.stringify(t,null,2)}function Go(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 ko(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function Ho(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function Ko(t){return t??{}}function Wt(t,e,n={}){let o=Ko(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 Xo(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=Wt(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 Jo=["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"],Yo=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],jo=["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"],Zo=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var ae=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(ae||{});function rt(t){return t>=2}function qo(t){return t===3}var ne=(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))(ne||{});function w(t,e){return(t&e)!==0}function W(t,e){return t|e}function K(t,e){return t&~e}var le=(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))(le||{}),oe=(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))(oe||{});function st(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:u,pmWaterFriction:l}=t,p=I(e);if(p<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let f=p<u?u:p;a+=f*c*n}i>0&&!s&&(a+=p*l*i*n);let m=p-a;if(m<0&&(m=0),m===p)return e;let x=m/p;return v(e,x)}function J(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=L(e,n),c=o-i;if(c<=0)return e;let u=r*s*o;return u>c&&(u=c),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function it(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=L(e,n),u=i-c;if(u<=0)return e;let l=r*o*s;return l>u&&(l=u),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function $o(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 ct(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=v(s,c),i=r}return{wishdir:i===0?s:z(s),wishspeed:i}}function at(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=I(s);if(i>r){let c=r/i;s=v(s,c),i=r}return i*=.5,{wishdir:i===0?s:z(s),wishspeed:i}}var Gt=5,Qo=4,er=18,tr=.7,kt=1,Ht=2;function Kt(t,e,n,o=Gt,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let u of e){if(s.length>=o)return{velocity:F,planes:s,stopped:!0};if(s.find(m=>L(m,u)>.99))continue;s.push(u);let p,a=0;for(;a<s.length;a++){let m=ee(i,s[a],n),x=0;for(;x<s.length&&!(x!==a&&L(m,s[x])<0);x++);if(x===s.length){p=m;break}}if(p)i=p;else{if(s.length!==2)return{velocity:F,planes:s,stopped:!0};let m=Q(s[0],s[1]),x=L(m,i);i=v(m,x)}if(L(i,r)<=0)return{velocity:F,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function lt(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=Qo,maxClipPlanes:c=Gt,mins:u,maxs:l,hasTime:p=!1}=t,a=e,m=n,x=[],f=n,A=o,_=0;for(let g=0;g<i&&!(m.x===0&&m.y===0&&m.z===0);g++){let T=R(a,v(m,A)),S=s(a,T,u,l);if(S.allsolid){let C=p?f:F;return{origin:S.endpos,velocity:C,planes:x,stopped:!0,blocked:_}}if(S.startsolid){let C=p?f:F;return{origin:S.endpos,velocity:C,planes:x,stopped:!0,blocked:_}}if(S.fraction>0&&(a=S.endpos),S.fraction===1)break;if(!S.planeNormal)return{origin:a,velocity:p?f:F,planes:x,stopped:!0,blocked:_};S.planeNormal.z>.7&&(_|=kt),S.planeNormal.z===0&&(_|=Ht),x.push(S.planeNormal),A-=A*S.fraction;let O=Kt(m,x,r,c,f);if(m=O.velocity,x.splice(0,x.length,...O.planes),f.z>0&&m.z<0&&(m={...m,z:0}),O.stopped)return{origin:a,velocity:p?f:m,planes:x,stopped:!0,blocked:_}}let V=p?f:m;return{origin:a,velocity:V,planes:x,stopped:V.x===0&&V.y===0&&V.z===0,blocked:_}}function re(t){let{mins:e,maxs:n,stepSize:o=er,...r}=t,s=t.origin,i=t.velocity,c=lt({...r,mins:e,maxs:n}),u=R(s,{x:0,y:0,z:o}),l=r.trace(s,u,e,n);if(l.allsolid)return{...c,stepped:!1,stepHeight:0};let p=l.endpos.z-s.z,a=lt({...r,origin:l.endpos,velocity:i,mins:e,maxs:n}),m=R(a.origin,{x:0,y:0,z:-p}),x=r.trace(a.origin,m,e,n),f=a.origin,A=x.planeNormal;x.allsolid||(f=x.endpos);let _=(C,P)=>(C.x-P.x)**2+(C.y-P.y)**2,V=_(c.origin,s),g=_(f,s);if(V>g||A&&A.z<tr)return{...c,stepped:!1,stepHeight:0};let T={...a.velocity,z:c.velocity.z},S=a.blocked,O=T.x===0&&T.y===0&&T.z===0;return{origin:f,velocity:T,planes:a.planes,blocked:S,stopped:O,stepped:!0,stepHeight:p,stepNormal:A}}var ue=["x","y","z"],ut=[{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]}],Xt={x:0,y:0,z:0};function de(t){return{x:t.x,y:t.y,z:t.z}}function nr(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 Pe(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Yt(t,e,n,o){return t===-1?Pe(n,e):t===1?Pe(o,e):0}function jt(t,e,n,o){let r=de(t);for(let s=0;s<ue.length;s++){let i=ue[s],c=e.normal[s];c<0?ye(r,i,Pe(n,i)):c>0&&ye(r,i,Pe(o,i))}return r}function or(t,e,n){let o=de(Xt),r=de(Xt);for(let s=0;s<ue.length;s++){let i=ue[s];Jt(o,i,Yt(t.mins[s],i,e,n)),Jt(r,i,Yt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function rr(t,e,n){if(!e||n===0)return t;let o=de(t);return ye(o,e,n),o}function sr(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 dt(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<ut.length;c++){let u=ut[c],{mins:l,maxs:p}=or(u,n,o),a=jt(e,u,n,o),m=r(a,l,p,a),x,f=0;if(m.startsolid)for(let C=0;C<ue.length;C++){if(u.normal[C]!==0)continue;let P=ue[C],E=de(a);if(ye(E,P,1),m=r(E,l,p,E),!m.startsolid){a=E,x=P,f=1;break}if(E=de(a),ye(E,P,-1),m=r(E,l,p,E),!m.startsolid){a=E,x=P,f=-1;break}}if(m.startsolid)continue;let A=ut[c^1],_=jt(e,A,n,o);if(_=rr(_,x,f),m=r(a,l,p,_),m.startsolid)continue;let V=nr(u.normal),g=R(m.endpos??_,v(V,.125)),T=$(g,_),S=R(e,T);S=sr(S,x,f),!r(S,n,o,S).startsolid&&i.push({origin:S,distance:se(T)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,u)=>c.distance-u.distance),{result:"fixed",origin:{...i[0].origin}})}var ir=100,ft=200,Zt=150,Fe=25,cr=15,ar=1,lr={x:0,y:0,z:1},ur=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function mt(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?F:{x:e,y:n,z:o}}function Qt(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return F;let s=mt(e);if(s===F)return F;let i=r;return n===1&&o&&(i*=.5),v(s,i)}function en(t){let{groundContents:e,scale:n=ir}=t,o=mt(e);return o===F?F:v(o,n)}function ze(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:u,maxSpeed:l,ladderMod:p,waterSpeed:a,forward:m,origin:x,mins:f,maxs:A,trace:_=ur}=t,V=e;n&&(V=dr({wishVelocity:V,cmd:c,waterlevel:r,viewPitch:u,maxSpeed:l,ladderMod:p,onGround:o,forward:m,origin:x,mins:f,maxs:A,trace:_}));let g=Qt({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(g!==F&&(V=R(V,g)),o){let T=en({groundContents:i});T!==F&&(V=R(V,T))}return V}function dr(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:u,origin:l,mins:p,maxs:a,trace:m}=t,x=n.buttons??0,f={...e};if((x&24)!==0){let A=rt(o)?s:ft;f={...f,z:x&8?A:-A}}else if(n.forwardmove){let A=qt(n.forwardmove,-ft,ft);if(n.forwardmove>0){let _=r<cr?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,-Zt,Zt);o<2&&(A*=i);let _=z({x:u.x,y:u.y,z:0});if(_.x!==0||_.y!==0){let V=R(l,v(_,ar)),g=m(l,V,p,a);if(g.fraction!==1&&!g.allsolid&&g.contents!==void 0&&(g.contents&536870912)!==0&&g.planeNormal){let T=Q(g.planeNormal,lr);f={...f,x:0,y:0},f=R(f,v(T,-A))}}}else f={...f,x:$t(f.x),y:$t(f.y)};return f}function qt(t,e,n){return Math.max(e,Math.min(n,t))}function $t(t){return t<-Fe?-Fe:t>Fe?Fe:t}var fr=1.5,tn=.5,mr=1.01;function pr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:u,doclip:l,forward:p,right:a,mins:m,maxs:x,trace:f,overbounce:A=mr,stepSize:_,maxBumps:V,maxClipPlanes:g}=t,T=xr({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),S=hr({cmd:n,forward:p,right:a,pmMaxSpeed:i,pmWaterSpeed:u});if(S.wishspeed>0&&(T=J({velocity:T,wishdir:S.wishdir,wishspeed:S.accelSpeed,accel:c,frametime:o})),!l){let O=v(T,o);return{origin:R(e,O),velocity:T,planes:[],blocked:0,stopped:T.x===0&&T.y===0&&T.z===0,stepped:!1,stepHeight:0}}if(!f||!m||!x)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return re({origin:e,velocity:T,frametime:o,overbounce:A,trace:f,mins:m,maxs:x,stepSize:_,maxBumps:V,maxClipPlanes:g})}function xr(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*fr,u=(s<o?o:s)*i*r,l=s-u;return l<0&&(l=0),l===s?e:v(e,l/s)}function hr(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=z(n),c=z(o),l={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},p=e.buttons??0;p&8&&(l=R(l,{x:0,y:0,z:s*tn})),p&16&&(l=R(l,{x:0,y:0,z:-s*tn}));let a=I(l),m=a===0?{x:0,y:0,z:0}:z(l);if(a>r){let f=r/a;l=v(l,f),a=r,m=a===0?{x:0,y:0,z:0}:z(l)}let x=a*2;return{wishdir:m,wishspeed:a,accelSpeed:x}}function be(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},u=r(c);if((u&56)===0)return{waterlevel:0,watertype:0};let l=u,p=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(u=r(a),(u&56)!==0){p=2;let m={x:c.x,y:c.y,z:e.z+n.z+s};u=r(m),(u&56)!==0&&(p=3)}return{waterlevel:p,watertype:l}}var yr=270;function br(t,e){return(t&e)!==0}function Tr(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=yr}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let u=br(o,8),l=e,p=s,a=!1,m=!1,x=i;if(!u)return l=K(l,2),{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(_r(l))return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(n===4)return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(r>=2)return p=!1,{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};if(!p)return{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m};l=W(l,2),l=K(l,4),p=!1,a=!0,m=!0;let f=i.z+c,A=f<c?c:f;return x={...i,z:A},{pmFlags:l,onGround:p,velocity:x,jumpSound:a,jumped:m}}function _r(t){return(t&2)!==0}function Le(t,e,n){return{x:t,y:e,z:n}}function we(t,e){let n=Le(-16,-16,0),o=Le(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=Le(n.x,n.y,-24),i=Le(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Sr=4,Ar=32,Vr=8;function Cr(t){let{pmType:e}=t;if(e===5){let i=we(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:w(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?w(n,1)||(n=W(n,1),o=!0):Er(t)?!w(n,1)&&!Nr(t)&&(n=W(n,1),o=!0):w(n,1)&&!gr(t)&&(n=K(n,1),o=!0);let r=we(e,n),s=e===4||w(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Er(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!Or(t))}function Nr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:nn(t.maxs,Sr),mask:3}).allsolid}function gr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:nn(t.maxs,Ar),mask:3}).allsolid}function Or(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-Vr};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 nn(t,e){return{x:t.x,y:t.y,z:e}}var Rr=.25,vr=180,Mr=100,Pr=.7,Fr=.9,zr=64,Lr=128,wr=1.01,Dr=1080;function Ur(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:u,trace:l,pointContents:p}=t,a=t.pmFlags,m=t.pmTime,x,f=w(a,4),A,_=0;if(o.z>vr||e===1)a=K(a,4),f=!1;else{let S={x:s.x,y:s.y,z:s.z-Rr},O=l(s,S,i,c);A=O,_=O.contents??0;let C=O.planeNormal,P=O.fraction<1&&!!C&&C.z<Pr;if(P&&C){let E=R(s,C),G=l(s,E,i,c);G.fraction<1&&!G.startsolid&&(P=!1)}if(O.fraction===1||!C||P&&!O.startsolid)a=K(a,4),f=!1;else{f=!0,w(a,8)&&(a&=~Dr,m=0);let E=w(a,4);if(!E){!n&&o.z>=Mr&&C.z>=Fr&&!w(a,1)&&(a=W(a,1024),m=zr);let G=ee(o,C,wr);x=r.z-G.z}a=W(a,4),!E&&(n||w(a,1))&&(a=W(a,16),m=Lr)}}let{waterlevel:g,watertype:T}=be({origin:s,mins:i,viewheight:u,pointContents:p});return{pmFlags:a,pmTime:m,onGround:w(a,4),groundTrace:A,groundContents:_,waterlevel:g,watertype:T,impactDelta:x}}var on=1,Ir=60,pt=1.01;function Br(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=pt,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p,forward:a,right:m,cmd:x,pmFlags:f,onGround:A,gravity:_,pmType:V,pmAccelerate:g,pmAirAccelerate:T=on,pmMaxSpeed:S,pmDuckSpeed:O,onLadder:C,waterlevel:P,watertype:E,groundContents:G,viewPitch:b,ladderMod:M,pmWaterSpeed:D}=t,N={...t.velocity},B=Gr(a,m,x);B=ze({wishVelocity:B,onLadder:C,onGround:A,waterlevel:P,watertype:E,groundContents:G,cmd:x,viewPitch:b,maxSpeed:w(f,1)?O:S,ladderMod:M,waterSpeed:D,forward:a,origin:e,mins:o,maxs:r,trace:s});let U=w(f,1)?O:S,k=B,y=I(k);if(y!==0&&(k=z(k)),y>U){let Z=U/y;B=v(B,Z),y=U,y!==0&&(k=z(B))}return C?(N=J({velocity:N,wishdir:k,wishspeed:y,accel:g,frametime:n}),Math.abs(B.z)<Number.EPSILON&&(N=Kr(N,_,n)),De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})):A?(N={...N,z:0},N=J({velocity:N,wishdir:k,wishspeed:y,accel:g,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}:De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})):(T>0?N=it({velocity:N,wishdir:k,wishspeed:y,accel:T,frametime:n}):N=J({velocity:N,wishdir:k,wishspeed:y,accel:on,frametime:n}),V!==1&&(N={...N,z:N.z-_*n}),De({origin:e,velocity:N,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p}))}function Wr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=pt,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p,forward:a,right:m,cmd:x,pmFlags:f,onGround:A,pmMaxSpeed:_,pmDuckSpeed:V,pmWaterAccelerate:g,pmWaterSpeed:T,onLadder:S,watertype:O,groundContents:C,waterlevel:P,viewPitch:E,ladderMod:G}=t,b={...t.velocity},M=kr(a,m,x);Hr(x,A)?M={...M,z:M.z-Ir}:rn(x,16)?M=R(M,{x:0,y:0,z:-T*.5}):rn(x,8)&&(M=R(M,{x:0,y:0,z:T*.5})),M=ze({wishVelocity:M,onLadder:S,onGround:A,waterlevel:P,watertype:O,groundContents:C,cmd:x,viewPitch:E,maxSpeed:w(f,1)?V:_,ladderMod:G,waterSpeed:T,forward:a,origin:e,mins:o,maxs:r,trace:s});let D=M,N=I(D);if(N!==0&&(D=z(D)),N>_){let Y=_/N;M=v(M,Y),N=_,N!==0&&(D=z(M))}if(N*=.5,w(f,1)&&N>V){let Y=V/N;M=v(M,Y),N=V,N!==0&&(D=z(M))}return b=J({velocity:b,wishdir:D,wishspeed:N,accel:g,frametime:n}),De({origin:e,velocity:b,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:u,maxClipPlanes:l,hasTime:p})}function Gr(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 kr(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 rn(t,e){return!!((t.buttons??0)&e)}function Hr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function Kr(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 De(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=pt,stepSize:u,maxBumps:l,maxClipPlanes:p,hasTime:a}=t;return re({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:u,maxBumps:l,maxClipPlanes:p,hasTime:a})}var Xr=1,Jr=40,Ue=50,sn=350,Yr=2048,cn=.1,jr=800,Zr=50,an=.7,qr=18,$r=1.01,Qr=2;function es(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:u,velocity:l,mins:p,maxs:a,viewheight:m,trace:x,pointContents:f,onGround:A,overbounce:_=$r,stepSize:V=qr,maxBumps:g,maxClipPlanes:T}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:l,performedWaterJump:!1};let S=K(e,128),O=n,C=l,P=z({x:c.x,y:c.y,z:0}),E=se(P)>0;if(o<2&&E){let y=R(u,v(P,Xr)),Z=x(u,y,p,a),Tn=Z.contents??0;Z.fraction<1&&(Tn&536870912)!==0&&(S=W(S,128))}if(s===0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(o!==2)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};if(!E)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};let G=R(u,v(P,Jr)),b=x(u,G,p,a);if(b.fraction===1||!b.planeNormal||b.planeNormal.z>=an)return{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1};let M={x:P.x*Ue,y:P.y*Ue,z:sn},D=u,N=!0,B=ts(s);for(let y=0;y<B;y++){M={x:M.x,y:M.y,z:M.z-s*cn},M.z<0&&(N=!1);let Z=re({origin:D,velocity:M,frametime:cn,trace:x,mins:p,maxs:a,overbounce:_,stepSize:V,maxBumps:g,maxClipPlanes:T,hasTime:N});D=Z.origin,M=Z.velocity}let Y=R(D,{x:0,y:0,z:-Qr}),U=x(D,Y,p,a);return U.fraction===1||!U.planeNormal||U.planeNormal.z<an||U.endpos.z<u.z?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:A&&Math.abs(u.z-U.endpos.z)<=V?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:be({origin:U.endpos,mins:p,viewheight:m,pointContents:f}).waterlevel>=2?{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!1}:(S=W(S,8),O=Yr,C={x:P.x*Ue,y:P.y*Ue,z:sn},{pmFlags:S,pmTime:O,velocity:C,performedWaterJump:!0})}function ts(t){if(t===0)return 0;let e=Math.floor(10*(jr/t));return e<=0?0:Math.min(Zr,e)}var xt=[0,-1,1];function ht(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function ns(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(ht({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=dt({origin:e,mins:o,maxs:r,trace:(u,l,p,a)=>i(u,a,l,p)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function os(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of xt)for(let i of xt)for(let c of xt){let u={x:e.x+c,y:e.y+i,z:e.z+s};if(ht({origin:u,mins:n,maxs:o,trace:r}))return{origin:u,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function rs(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function ss(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function is(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=rs(n,o),r={...r,x:ss(r.x)});let s=pe(r);return{viewangles:r,...s}}var cs=200,as=200,ls=200,us=140,ds=150,fs=3;function ms(t){let e=me(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function ps(t,e){return{x:ms(t.x+e.x),y:me(t.y+e.y),z:me(t.z+e.z)}}function xs(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 ln=(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))(ln||{}),un=(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))(un||{});var dn=(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))(dn||{});var hs=1024,ys=256,bs=16,Ts=64,_s=512,Ss=1400,As=0,Vs=1,Cs=2,Es=3,Ns=4,gs=5,Os=6,Rs=7,vs=8,Ms=9,Ps=10,Fs=11,zs=12,Ls=13;var fn=(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))(fn||{});function yt(t){return t<<16>>16}function mn(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,u=i>>>8&255;return(c&255)<<8|u}else return i&65535}function ws(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]=yt(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],u=t[i+1],l=o&255,p=c&255|l<<8;t[i]=yt(p);let m=o>>>8&255|u&65280;t[i+1]=yt(m)}}function bt(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,u=(1<<r)-1<<c,p=mn(t,e,i)&~u|o<<c&u;ws(t,e,i,p&65535)}function Tt(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(mn(t,e,s)&c)>>>i}var pn=(E=>(E.QuadDamage="quad",E.Invulnerability="invulnerability",E.EnviroSuit="enviro_suit",E.Rebreather="rebreather",E.Silencer="silencer",E.PowerScreen="power_screen",E.PowerShield="power_shield",E.QuadFire="quad_fire",E.Invisibility="invisibility",E.Bandolier="bandolier",E.AmmoPack="ammo_pack",E.IRGoggles="ir_goggles",E.DoubleDamage="double_damage",E.SphereVengeance="sphere_vengeance",E.SphereHunter="sphere_hunter",E.SphereDefender="sphere_defender",E.Doppelganger="doppelganger",E.TagToken="tag_token",E.TechResistance="tech_resistance",E.TechStrength="tech_strength",E.TechHaste="tech_haste",E.TechRegeneration="tech_regeneration",E.Flashlight="flashlight",E.Compass="compass",E))(pn||{});var xn=(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))(xn||{}),Ie=12,Be=9,Ds=Math.ceil(Ie*Be/16),We=23,Ge=2,Us=Math.ceil(We*Ge/16),hn={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 Is(t,e,n){if(e<0||e>=Ie)return;let o=n;o>511&&(o=511),o<0&&(o=0),bt(t,34,e,o,Be)}function Bs(t,e){return e<0||e>=Ie?0:Tt(t,34,e,Be)}function Ws(t,e,n){let o;if(typeof e=="number"?o=e:o=hn[e],o===void 0||o<0||o>=We)return;let r=n;r>3&&(r=3),r<0&&(r=0),bt(t,41,o,r,Ge)}function Gs(t,e){let n;return typeof e=="number"?n=e:n=hn[e],n===void 0||n<0||n>=We?0:Tt(t,41,n,Ge)}function ks(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 _t={};Ke(_t,{U_ANGLE1:()=>Zs,U_ANGLE2:()=>qs,U_ANGLE3:()=>$s,U_EFFECTS:()=>ti,U_EVENT:()=>ri,U_FRAME:()=>Qs,U_MODEL:()=>Ks,U_MODEL2:()=>ii,U_MODEL3:()=>ci,U_MODEL4:()=>ai,U_MOREBITS:()=>si,U_NUMBER:()=>Hs,U_ORIGIN1:()=>Js,U_ORIGIN2:()=>Ys,U_ORIGIN3:()=>js,U_REMOVE:()=>li,U_RENDERFX:()=>ni,U_SKIN:()=>ei,U_SOLID:()=>oi,U_SOUND:()=>Xs});var Hs=1,Ks=2,Xs=4,Js=8,Ys=16,js=32,Zs=64,qs=128,$s=256,Qs=512,ei=1024,ti=2048,ni=4096,oi=8192,ri=16384,si=32768,ii=1,ci=2,ai=4,li=32768;var Te=.025,St=33554432,ke={None:0,Feet:1,Waist:2,Under:3},ui=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},di=(t,e)=>{let n={...t.origin},{mins:o,maxs:r}=t;if(n.z=t.origin.z+o.z+1,!(e(n)&St))return{...t,waterLevel:ke.None};let i=ke.Feet,c=t.origin.z+(o.z+r.z)*.5;if(n.z=c,e(n)&St){i=ke.Waist;let l=t.origin.z+22;n.z=l,e(n)&St&&(i=ke.Under)}return{...t,waterLevel:i}},fi=(t,e,n,o)=>{let r={...t};r=ui(r,n),r=di(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:u,viewAngles:l}=r,p=u>=2?l:{x:l.x>180?(l.x-360)/3:l.x/3,y:l.y,z:l.z},{forward:a,right:m}=pe(p),x=st({velocity:i,frametime:Te,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:u,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),f=u>=2?at({forward:a,right:m,cmd:e,maxSpeed:320}):ct({forward:a,right:m,cmd:e,maxSpeed:320}),A=J({velocity:x,wishdir:f.wishdir,wishspeed:f.wishspeed,accel:c||u>=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 At=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=X[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var Vt=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<X.length;r++){let s=X[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 Ct=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 u=e*X[c][0]+n*X[c][1]+o*X[c][2];u>s&&(s=u,r=c)}}this.writeByte(r)}};var yn=(T=>(T.Blaster="blaster",T.Shotgun="shotgun",T.SuperShotgun="super_shotgun",T.Machinegun="machinegun",T.Chaingun="chaingun",T.HandGrenade="hand_grenade",T.GrenadeLauncher="grenade_launcher",T.RocketLauncher="rocket_launcher",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))(yn||{});var Et=(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))(Et||{}),mi=Object.keys(Et).length/2,bn=(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))(bn||{});return Cn(pi);})();
2
2
  //# sourceMappingURL=index.global.js.map